أنت تعمل على لعبة مغامرات نصية، وتحتاج إلى تنفيذ نظام المهام. في اللعبة، يمكن للاعبين بدء وإكمال المهام للتقدم في القصة. كل مهمة لها معرف فريد، وتوفر اللعبة طريقتين للتفاعل مع المهام:
1. `sm.startQuest(questID)`: تبدأ هذه الطريقة مهمة بالمعرف المحدد.
2. `sm.CompleteQuest(questID)`: تُكمل هذه الطريقة مهمة بالمعرف المحدد.

مهمتك هي كتابة دالة، `isQuestCompleted(parentID, questID)`، تحدد ما إذا كانت مهمة معينة، محددة بواسطة `questID`، قد اكتملت أم لا.

المعلمة `parentID` هي عدد صحيح يمثل معرف المهمة التي لا يمكن إكمالها إلا عند اكتمال `questID` المحدد. إذا كانت قيمة `parentID` هي -1، فهذا يعني أنه لا توجد مهمة أصل ويجب عليك تجاهل هذا الشرط.

يتعين عليك تنفيذ الدالة `isQuestCompleted` لإرجاع `true` في حالة اكتمال `questID` المحدد وإرجاع `false` فيما عدا ذلك، مع مراعاة الشروط التالية:
- إذا بدأت المهمة ذات "معرف المهمة" المحدد ولكن لم تكتمل، فيجب أن تعرض الدالة "خطأ".
- إذا اكتملت المهمة ذات "معرف المهمة" المحدد، فيجب أن تُرجع الدالة "صحيح".
- إذا لم تكتمل المهمة باستخدام "parentID" المحدد، فيجب أن تُرجع الدالة "خطأ".

** التوقيع الوظيفي: **
`الوظيفة مكتملة (parentID: number، questID: number): boolean`

**مدخل**
تأخذ الدالة معلمتين:
- `parentID` (1 <=parentID <= 1000) - عدد صحيح يمثل معرف المهمة الأصلية.
- `questID` (1 <= questID <= 1000) - عدد صحيح يمثل معرف المهمة المراد التحقق منها.

**انتاج**
يجب أن تعرض الدالة قيمة منطقية - `صحيح` إذا تم إكمال `معرف المهمة` المحدد، و`خطأ` بخلاف ذلك.

**ملحوظة**
- يمكنك افتراض أن الطريقتين `sm.startQuest` و`sm.CompleteQuest` قد تم تنفيذهما بالفعل وتعملان كما هو متوقع.
- يمكنك أيضًا افتراض أن معرفات المهمة فريدة ولا توجد تكرارات.

**مثال**
```
isQuestCompleted(5, 10) => صحيح
isQuestCompleted(5, 10) => خطأ
isQuestCompleted(-1, 5) => خطأ
```
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}