يتم إعطاؤك مقتطف التعليمات البرمجية الذي يحدد فئة تسمى "المخطط". تحتوي فئة "Schema" على عدة طرق تعالج قاموس الخيارات المخزنة في متغير مثيل يسمى "opts". يمثل القاموس "opts" خيارات التكوين لكائن "Schema".

الأساليب المحددة في فئة "المخطط" هي كما يلي:

1. `setType(self, type)`: تقوم هذه الطريقة بتعيين نوع كائن `Schema` إلى النوع المحدد.

2. `setEntry(self, name, val)`: تقوم هذه الطريقة بإضافة أو تحديث إدخال في قاموس `الإدخالات` لكائن `المخطط`. يحتوي قاموس "الإدخالات" على أزواج قيمة المفتاح حيث يكون المفتاح هو اسم الإدخال والقيمة هي قيمة الإدخال.

3. `setEntries(self, d)`: تأخذ هذه الطريقة قاموسًا `d` وتضبط قاموس `opts` لكائن `Schema` على `d`.

بالإضافة إلى الطرق المذكورة أعلاه، يوجد شرط `if` في مقتطف الشفرة الذي يزيل إدخالاً من قاموس `opts` إذا كان له قيمة افتراضية ولم يكن موجودًا في القائمة ``الإجبارية``.

مهمتك هي كتابة دالة `cleanup_options(opts, force)` التي تأخذ معلمتين:

- `opts`: قاموس يمثل الخيارات.
- `قسري`: قائمة بالمفاتيح التي لا ينبغي إزالتها من قاموس `الاختيارات`، حتى لو كانت تحتوي على قيم افتراضية.

يجب أن تقوم الوظيفة بإزالة أي إدخال من قاموس "الخيارات" له قيمة افتراضية وغير موجود في القائمة "الإجبارية".

قم بتنفيذ الوظيفة "cleanup_options(opts, force)".

** التوقيع الوظيفي **
```بيثون
def cleanup_options(opts: Dict[str, Any], force: List[str]) -> Dict[str, Any]:
    يمر
```

**مدخل**
- `opts` (1 <= len(opts) <= 10^4): قاموس يحتوي على مفاتيح السلسلة وأي قيم.
- `forced` (0 <= len(forced) <= len(opts)): قائمة مفاتيح السلسلة الموجودة في قاموس `opts`.

**انتاج**
- إرجاع القاموس الذي تم الحصول عليه عن طريق إزالة الإدخالات من "الخيارات" التي لها قيم افتراضية وغير موجودة في القائمة "الإجبارية".

**مثال**
```بيثون
الخيارات = {'أ': 1، 'ب': 2، 'ج': 3}
القسري = ['ب']

cleanup_options(opts, القسري)
```
انتاج:
`{'ب': 2}`

في المثال أعلاه، يحتوي قاموس `opts` في البداية على ثلاثة إدخالات: `a: 1` و`b: 2` و`c: 3`. الإدخال `a` له قيمة افتراضية هي 1. وبما أنه غير موجود في القائمة `الإجبارية`، فسيتم إزالته من القاموس. يحتوي القاموس النهائي على الإدخال `b` فقط.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}