{"version":3,"sources":["../../src/data/governorates.ts","../../src/data/banks.ts","../../src/data/delegations.ts","../../src/data/landline.ts","../../src/data/postal-codes.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * All 24 Tunisian Governorates with French and Arabic names.\n * IDs 1-24 match the governorate_id used in DELEGATIONS.\n */\nexport interface Governorate {\n  id: number;\n  name_fr: string;\n  name_ar: string;\n}\n\nexport const GOVERNORATES: Governorate[] = [\n  { id: 1, name_fr: 'Tunis', name_ar: 'تونس' },\n  { id: 2, name_fr: 'Ariana', name_ar: 'أريانة' },\n  { id: 3, name_fr: 'Ben Arous', name_ar: 'بن عروس' },\n  { id: 4, name_fr: 'Manouba', name_ar: 'منوبة' },\n  { id: 5, name_fr: 'Nabeul', name_ar: 'نابل' },\n  { id: 6, name_fr: 'Zaghouan', name_ar: 'زغوان' },\n  { id: 7, name_fr: 'Bizerte', name_ar: 'بنزرت' },\n  { id: 8, name_fr: 'Béja', name_ar: 'باجة' },\n  { id: 9, name_fr: 'Jendouba', name_ar: 'جندوبة' },\n  { id: 10, name_fr: 'Le Kef', name_ar: 'الكاف' },\n  { id: 11, name_fr: 'Siliana', name_ar: 'سليانة' },\n  { id: 12, name_fr: 'Sousse', name_ar: 'سوسة' },\n  { id: 13, name_fr: 'Monastir', name_ar: 'المنستير' },\n  { id: 14, name_fr: 'Mahdia', name_ar: 'المهدية' },\n  { id: 15, name_fr: 'Sfax', name_ar: 'صفاقس' },\n  { id: 16, name_fr: 'Kairouan', name_ar: 'القيروان' },\n  { id: 17, name_fr: 'Kasserine', name_ar: 'القصرين' },\n  { id: 18, name_fr: 'Sidi Bouzid', name_ar: 'سيدي بوزيد' },\n  { id: 19, name_fr: 'Gabès', name_ar: 'قابس' },\n  { id: 20, name_fr: 'Médenine', name_ar: 'مدنين' },\n  { id: 21, name_fr: 'Tataouine', name_ar: 'تطاوين' },\n  { id: 22, name_fr: 'Gafsa', name_ar: 'قفصة' },\n  { id: 23, name_fr: 'Tozeur', name_ar: 'توزر' },\n  { id: 24, name_fr: 'Kebili', name_ar: 'قبلي' }\n];\n","/**\n * Tunisian bank codes mapping (first 2 digits of RIB).\n */\nexport interface Bank {\n  code: string;\n  name: string;\n  abbrev: string;\n}\n\nexport const BANKS: Bank[] = [\n  { code: '01', name: 'Arab Tunisian Bank', abbrev: 'ATB' },\n  { code: '02', name: 'Société Tunisienne de Banque', abbrev: 'STB' },\n  { code: '03', name: 'Banque Nationale Agricole', abbrev: 'BNA' },\n  { code: '04', name: \"Banque de l'Habitat\", abbrev: 'BH' },\n  { code: '05', name: 'Banque de Tunisie', abbrev: 'BT' },\n  { code: '07', name: 'Amen Bank', abbrev: 'AB' },\n  { code: '08', name: \"Union Bancaire pour le Commerce et l'Industrie\", abbrev: 'UBCI' },\n  { code: '10', name: 'Banque Internationale Arabe de Tunisie', abbrev: 'BIAT' },\n  { code: '11', name: 'Attijari Bank', abbrev: 'ATT' },\n  { code: '12', name: 'Union Internationale de Banques', abbrev: 'UIB' },\n  { code: '14', name: 'Banque de Tunisie et des Emirats', abbrev: 'BTE' },\n  { code: '16', name: 'Banque Tuniso-Koweitienne', abbrev: 'BTK' },\n  { code: '17', name: 'Banque de Financement des PME', abbrev: 'BFPME' },\n  { code: '20', name: 'La Poste Tunisienne', abbrev: 'LP' },\n  { code: '21', name: 'Banque Zitouna', abbrev: 'BZ' },\n  { code: '23', name: 'QNB Tunisia', abbrev: 'QNB' },\n  { code: '24', name: 'Al Baraka Bank Tunisia', abbrev: 'ABT' },\n  { code: '25', name: 'Wifak International Bank', abbrev: 'WIB' },\n  { code: '26', name: 'Banque Tuniso-Libyenne', abbrev: 'BTL' },\n  { code: '32', name: 'Citibank Tunisia', abbrev: 'CITI' },\n  { code: '47', name: 'Arab Banking Corporation', abbrev: 'ABC' },\n  { code: '48', name: 'Banque Tunisienne de Solidarité', abbrev: 'BTS' },\n  { code: '49', name: 'Tunisian Foreign Bank', abbrev: 'TFB' },\n  { code: '50', name: 'Tunis International Bank', abbrev: 'TIB' },\n  { code: '51', name: 'North Africa International Bank', abbrev: 'NAIB' },\n  { code: '52', name: 'Tunisian Saudi Bank', abbrev: 'TSB' },\n  { code: '53', name: 'BH Bank Tunisia', abbrev: 'BH' }\n];\n\n/**\n * Bank code to bank info lookup map\n */\nconst bankMap = new Map<string, Bank>(BANKS.map((b) => [b.code, b]));\n\n/**\n * Get bank information from a RIB number.\n * @param rib - The 20-digit RIB number\n * @returns Bank name or `null` if the code is not found\n */\nexport function getBankFromRIB(rib: string): string | null {\n  const cleaned = rib.replace(/\\s/g, '');\n  if (cleaned.length < 2) return null;\n\n  const code = cleaned.slice(0, 2);\n  const bank = bankMap.get(code);\n\n  return bank ? `${bank.name} (${bank.abbrev})` : null;\n}\n\n/**\n * Get bank information from a Tunisian IBAN.\n *\n * An IBAN has the shape `TN` + 2 check digits + a 20-digit RIB. The bank code\n * is therefore the first two digits of that RIB, i.e. IBAN characters 4–5.\n *\n * @param iban - The 24-character IBAN (optionally spaced)\n * @returns Bank name or `null` if the IBAN is invalid or the code is unknown\n */\nexport function getBankFromIBAN(iban: string): string | null {\n  const cleaned = iban.replace(/\\s/g, '').toUpperCase();\n  if (cleaned.length !== 24 || !cleaned.startsWith('TN')) return null;\n\n  const code = cleaned.slice(4, 6);\n  const bank = bankMap.get(code);\n\n  return bank ? `${bank.name} (${bank.abbrev})` : null;\n}\n","/**\n * Tunisian administrative delegations (Délégations).\n * Each governorate is divided into multiple delegations.\n */\nimport { GOVERNORATES, type Governorate } from './governorates.js';\n\nexport interface Delegation {\n  governorate_id: number;\n  name_fr: string;\n  name_ar: string;\n}\n\nexport const DELEGATIONS: Delegation[] = [\n  // Tunis (1)\n  { governorate_id: 1, name_fr: 'Tunis Ville', name_ar: 'مدينة تونس' },\n  { governorate_id: 1, name_fr: 'Le Bardo', name_ar: 'باردو' },\n  { governorate_id: 1, name_fr: 'La Goulette', name_ar: 'حلق الوادي' },\n  { governorate_id: 1, name_fr: 'Carthage', name_ar: 'قرطاج' },\n  { governorate_id: 1, name_fr: 'La Marsa', name_ar: 'المرسى' },\n  { governorate_id: 1, name_fr: 'Sidi Bou Said', name_ar: 'سيدي بوسعيد' },\n  { governorate_id: 1, name_fr: 'El Omrane', name_ar: 'العمران' },\n  { governorate_id: 1, name_fr: 'El Omrane Supérieur', name_ar: 'العمران الأعلى' },\n  { governorate_id: 1, name_fr: 'Ettahrir', name_ar: 'التحرير' },\n  { governorate_id: 1, name_fr: 'El Menzah', name_ar: 'المنزه' },\n  { governorate_id: 1, name_fr: 'Cité El Khadra', name_ar: 'حي الخضراء' },\n  { governorate_id: 1, name_fr: 'El Ouardia', name_ar: 'الوردية' },\n  { governorate_id: 1, name_fr: 'El Kabaria', name_ar: 'الكبارية' },\n  { governorate_id: 1, name_fr: 'Sidi Hassine', name_ar: 'سيدي حسين' },\n  { governorate_id: 1, name_fr: 'Ezzouhour', name_ar: 'الزهور' },\n  { governorate_id: 1, name_fr: 'El Hrairia', name_ar: 'الحرايرية' },\n  { governorate_id: 1, name_fr: 'Séjoumi', name_ar: 'سيجومي' },\n  { governorate_id: 1, name_fr: 'Jebel Jelloud', name_ar: 'جبل الجلود' },\n  { governorate_id: 1, name_fr: 'Sidi El Béchir', name_ar: 'سيدي البشير' },\n  { governorate_id: 1, name_fr: 'Bab El Bhar', name_ar: 'باب البحر' },\n  { governorate_id: 1, name_fr: 'Bab Souika', name_ar: 'باب سويقة' },\n\n  // Ariana (2)\n  { governorate_id: 2, name_fr: 'Ariana Ville', name_ar: 'أريانة المدينة' },\n  { governorate_id: 2, name_fr: 'La Soukra', name_ar: 'السكرة' },\n  { governorate_id: 2, name_fr: 'Raoued', name_ar: 'رواد' },\n  { governorate_id: 2, name_fr: 'Kalâat el-Andalous', name_ar: 'قلعة الأندلس' },\n  { governorate_id: 2, name_fr: 'Sidi Thabet', name_ar: 'سيدي ثابت' },\n  { governorate_id: 2, name_fr: 'Ettadhamen', name_ar: 'التضامن' },\n  { governorate_id: 2, name_fr: 'Mnihla', name_ar: 'المنيهلة' },\n\n  // Ben Arous (3)\n  { governorate_id: 3, name_fr: 'Ben Arous', name_ar: 'بن عروس' },\n  { governorate_id: 3, name_fr: 'Hammam Lif', name_ar: 'حمام الأنف' },\n  { governorate_id: 3, name_fr: 'Hammam Chott', name_ar: 'حمام الشط' },\n  { governorate_id: 3, name_fr: 'Radès', name_ar: 'رادس' },\n  { governorate_id: 3, name_fr: 'Mégrine', name_ar: 'المقرين' },\n  { governorate_id: 3, name_fr: 'Mourouj', name_ar: 'المروج' },\n  { governorate_id: 3, name_fr: 'Ezzahra', name_ar: 'الزهراء' },\n  { governorate_id: 3, name_fr: 'Bou Mhel El Bassatine', name_ar: 'بومهل البساتين' },\n  { governorate_id: 3, name_fr: 'Fouchana', name_ar: 'فوشانة' },\n  { governorate_id: 3, name_fr: 'Mornag', name_ar: 'مرناق' },\n  { governorate_id: 3, name_fr: 'Nouvelle Medina', name_ar: 'المدينة الجديدة' },\n  { governorate_id: 3, name_fr: 'El Mourouj', name_ar: 'المروج' },\n\n  // Manouba (4)\n  { governorate_id: 4, name_fr: 'Manouba', name_ar: 'منوبة' },\n  { governorate_id: 4, name_fr: 'Den Den', name_ar: 'الدندان' },\n  { governorate_id: 4, name_fr: 'Douar Hicher', name_ar: 'دوار هيشر' },\n  { governorate_id: 4, name_fr: 'Oued Ellil', name_ar: 'وادي الليل' },\n  { governorate_id: 4, name_fr: 'Tebourba', name_ar: 'طبربة' },\n  { governorate_id: 4, name_fr: 'El Battan', name_ar: 'البطان' },\n  { governorate_id: 4, name_fr: 'Jedaida', name_ar: 'الجديدة' },\n  { governorate_id: 4, name_fr: 'Mornaguia', name_ar: 'مرناقية' },\n  { governorate_id: 4, name_fr: 'Borj El Amri', name_ar: 'برج العامري' },\n\n  // Nabeul (5)\n  { governorate_id: 5, name_fr: 'Nabeul', name_ar: 'نابل' },\n  { governorate_id: 5, name_fr: 'Hammamet', name_ar: 'الحمامات' },\n  { governorate_id: 5, name_fr: 'Korba', name_ar: 'قربة' },\n  { governorate_id: 5, name_fr: 'Kelibia', name_ar: 'قليبية' },\n  { governorate_id: 5, name_fr: 'Grombalia', name_ar: 'قرنبالية' },\n  { governorate_id: 5, name_fr: 'Soliman', name_ar: 'سليمان' },\n  { governorate_id: 5, name_fr: 'Menzel Temime', name_ar: 'منزل تميم' },\n  { governorate_id: 5, name_fr: 'Dar Chaabane El Fehri', name_ar: 'دار شعبان الفهري' },\n  { governorate_id: 5, name_fr: 'Beni Khiar', name_ar: 'بني خيار' },\n  { governorate_id: 5, name_fr: 'El Haouaria', name_ar: 'الهوارية' },\n  { governorate_id: 5, name_fr: 'Takelsa', name_ar: 'تاكلسة' },\n  { governorate_id: 5, name_fr: 'Bou Argoub', name_ar: 'بوعرقوب' },\n  { governorate_id: 5, name_fr: 'El Mida', name_ar: 'الميدة' },\n  { governorate_id: 5, name_fr: 'Menzel Bouzelfa', name_ar: 'منزل بوزلفة' },\n  { governorate_id: 5, name_fr: 'Beni Khalled', name_ar: 'بني خلاد' },\n  { governorate_id: 5, name_fr: 'Hammam Ghezaz', name_ar: 'حمام الغزاز' },\n\n  // Zaghouan (6)\n  { governorate_id: 6, name_fr: 'Zaghouan', name_ar: 'زغوان' },\n  { governorate_id: 6, name_fr: 'Zriba', name_ar: 'الزريبة' },\n  { governorate_id: 6, name_fr: 'Bir Mcherga', name_ar: 'بئر مشارقة' },\n  { governorate_id: 6, name_fr: 'El Fahs', name_ar: 'الفحص' },\n  { governorate_id: 6, name_fr: 'Nadhour', name_ar: 'الناظور' },\n  { governorate_id: 6, name_fr: 'Saouaf', name_ar: 'الصواف' },\n\n  // Bizerte (7)\n  { governorate_id: 7, name_fr: 'Bizerte Nord', name_ar: 'بنزرت الشمالية' },\n  { governorate_id: 7, name_fr: 'Bizerte Sud', name_ar: 'بنزرت الجنوبية' },\n  { governorate_id: 7, name_fr: 'Menzel Bourguiba', name_ar: 'منزل بورقيبة' },\n  { governorate_id: 7, name_fr: 'Mateur', name_ar: 'ماطر' },\n  { governorate_id: 7, name_fr: 'Ras Jebel', name_ar: 'رأس الجبل' },\n  { governorate_id: 7, name_fr: 'Sejnane', name_ar: 'سجنان' },\n  { governorate_id: 7, name_fr: 'Joumine', name_ar: 'جومين' },\n  { governorate_id: 7, name_fr: 'Ghezala', name_ar: 'غزالة' },\n  { governorate_id: 7, name_fr: 'Menzel Jemil', name_ar: 'منزل جميل' },\n  { governorate_id: 7, name_fr: 'Tinja', name_ar: 'تينجة' },\n  { governorate_id: 7, name_fr: 'Utique', name_ar: 'أوتيك' },\n  { governorate_id: 7, name_fr: 'Ghar El Melh', name_ar: 'غار الملح' },\n  { governorate_id: 7, name_fr: 'El Alia', name_ar: 'العالية' },\n\n  // Béja (8)\n  { governorate_id: 8, name_fr: 'Béja Nord', name_ar: 'باجة الشمالية' },\n  { governorate_id: 8, name_fr: 'Béja Sud', name_ar: 'باجة الجنوبية' },\n  { governorate_id: 8, name_fr: 'Nefza', name_ar: 'نفزة' },\n  { governorate_id: 8, name_fr: 'Medjez El Bab', name_ar: 'مجاز الباب' },\n  { governorate_id: 8, name_fr: 'Testour', name_ar: 'تستور' },\n  { governorate_id: 8, name_fr: 'Teboursouk', name_ar: 'تبرسق' },\n  { governorate_id: 8, name_fr: 'Amdoun', name_ar: 'عمدون' },\n  { governorate_id: 8, name_fr: 'Goubellat', name_ar: 'قبلاط' },\n  { governorate_id: 8, name_fr: 'Thibar', name_ar: 'تيبار' },\n\n  // Jendouba (9)\n  { governorate_id: 9, name_fr: 'Jendouba', name_ar: 'جندوبة' },\n  { governorate_id: 9, name_fr: 'Jendouba Nord', name_ar: 'جندوبة الشمالية' },\n  { governorate_id: 9, name_fr: 'Bou Salem', name_ar: 'بوسالم' },\n  { governorate_id: 9, name_fr: 'Tabarka', name_ar: 'طبرقة' },\n  { governorate_id: 9, name_fr: 'Ain Draham', name_ar: 'عين دراهم' },\n  { governorate_id: 9, name_fr: 'Fernana', name_ar: 'فرنانة' },\n  { governorate_id: 9, name_fr: 'Ghardimaou', name_ar: 'غار الدماء' },\n  { governorate_id: 9, name_fr: 'Oued Meliz', name_ar: 'وادي مليز' },\n  { governorate_id: 9, name_fr: 'Balta Bou Aouane', name_ar: 'بلطة بوعوان' },\n\n  // Le Kef (10)\n  { governorate_id: 10, name_fr: 'Le Kef Ouest', name_ar: 'الكاف الغربية' },\n  { governorate_id: 10, name_fr: 'Le Kef Est', name_ar: 'الكاف الشرقية' },\n  { governorate_id: 10, name_fr: 'Nebeur', name_ar: 'نبر' },\n  { governorate_id: 10, name_fr: 'Sakiet Sidi Youssef', name_ar: 'ساقية سيدي يوسف' },\n  { governorate_id: 10, name_fr: 'Tajerouine', name_ar: 'تاجروين' },\n  { governorate_id: 10, name_fr: 'Kalaat Senan', name_ar: 'قلعة سنان' },\n  { governorate_id: 10, name_fr: 'Kalaat Khasba', name_ar: 'قلعة خصبة' },\n  { governorate_id: 10, name_fr: 'Jerissa', name_ar: 'الجريصة' },\n  { governorate_id: 10, name_fr: 'Ksour', name_ar: 'القصور' },\n  { governorate_id: 10, name_fr: 'Dahmani', name_ar: 'الدهماني' },\n  { governorate_id: 10, name_fr: 'Sers', name_ar: 'السرس' },\n\n  // Siliana (11)\n  { governorate_id: 11, name_fr: 'Siliana Nord', name_ar: 'سليانة الشمالية' },\n  { governorate_id: 11, name_fr: 'Siliana Sud', name_ar: 'سليانة الجنوبية' },\n  { governorate_id: 11, name_fr: 'Bou Arada', name_ar: 'بوعرادة' },\n  { governorate_id: 11, name_fr: 'Gaafour', name_ar: 'قعفور' },\n  { governorate_id: 11, name_fr: 'El Krib', name_ar: 'الكريب' },\n  { governorate_id: 11, name_fr: 'Sidi Bou Rouis', name_ar: 'سيدي بورويس' },\n  { governorate_id: 11, name_fr: 'Makthar', name_ar: 'مكثر' },\n  { governorate_id: 11, name_fr: 'Rouhia', name_ar: 'الروحية' },\n  { governorate_id: 11, name_fr: 'Kesra', name_ar: 'كسرى' },\n  { governorate_id: 11, name_fr: 'Bargou', name_ar: 'برقو' },\n  { governorate_id: 11, name_fr: 'El Aroussa', name_ar: 'العروسة' },\n\n  // Sousse (12)\n  { governorate_id: 12, name_fr: 'Sousse Ville', name_ar: 'مدينة سوسة' },\n  { governorate_id: 12, name_fr: 'Sousse Jawhara', name_ar: 'سوسة الجوهرة' },\n  { governorate_id: 12, name_fr: 'Sousse Riadh', name_ar: 'سوسة الرياض' },\n  { governorate_id: 12, name_fr: 'Sousse Sidi Abdelhamid', name_ar: 'سوسة سيدي عبد الحميد' },\n  { governorate_id: 12, name_fr: 'Hammam Sousse', name_ar: 'حمام سوسة' },\n  { governorate_id: 12, name_fr: 'Akouda', name_ar: 'عكودة' },\n  { governorate_id: 12, name_fr: 'Kalâa Kebira', name_ar: 'القلعة الكبرى' },\n  { governorate_id: 12, name_fr: 'Kalâa Seghira', name_ar: 'القلعة الصغرى' },\n  { governorate_id: 12, name_fr: 'Sidi Bou Ali', name_ar: 'سيدي بوعلي' },\n  { governorate_id: 12, name_fr: 'Hergla', name_ar: 'هرقلة' },\n  { governorate_id: 12, name_fr: 'Enfida', name_ar: 'النفيضة' },\n  { governorate_id: 12, name_fr: 'Bouficha', name_ar: 'بوفيشة' },\n  { governorate_id: 12, name_fr: 'Kondar', name_ar: 'كندار' },\n  { governorate_id: 12, name_fr: 'Sidi El Hani', name_ar: 'سيدي الهاني' },\n  { governorate_id: 12, name_fr: 'Msaken', name_ar: 'مساكن' },\n  { governorate_id: 12, name_fr: 'Zaouia Ksiba Thrayet', name_ar: 'الزاوية قصيبة الثريات' },\n\n  // Monastir (13)\n  { governorate_id: 13, name_fr: 'Monastir', name_ar: 'المنستير' },\n  { governorate_id: 13, name_fr: 'Ouerdanine', name_ar: 'الوردانين' },\n  { governorate_id: 13, name_fr: 'Sahline', name_ar: 'ساحلين' },\n  { governorate_id: 13, name_fr: 'Zeramdine', name_ar: 'زرمدين' },\n  { governorate_id: 13, name_fr: 'Beni Hassen', name_ar: 'بني حسان' },\n  { governorate_id: 13, name_fr: 'Jemmal', name_ar: 'جمال' },\n  { governorate_id: 13, name_fr: 'Bembla', name_ar: 'بنبلة' },\n  { governorate_id: 13, name_fr: 'Moknine', name_ar: 'المكنين' },\n  { governorate_id: 13, name_fr: 'Bekalta', name_ar: 'البقالطة' },\n  { governorate_id: 13, name_fr: 'Teboulba', name_ar: 'طبلبة' },\n  { governorate_id: 13, name_fr: 'Ksar Hellal', name_ar: 'قصر هلال' },\n  { governorate_id: 13, name_fr: 'Ksibet El Mediouni', name_ar: 'قصيبة المديوني' },\n  { governorate_id: 13, name_fr: 'Sayada Lamta Bou Hajar', name_ar: 'صيادة لمطة بوحجر' },\n\n  // Mahdia (14)\n  { governorate_id: 14, name_fr: 'Mahdia', name_ar: 'المهدية' },\n  { governorate_id: 14, name_fr: 'Bou Merdes', name_ar: 'بومرداس' },\n  { governorate_id: 14, name_fr: 'Ouled Chamekh', name_ar: 'أولاد الشامخ' },\n  { governorate_id: 14, name_fr: 'Chorbane', name_ar: 'شربان' },\n  { governorate_id: 14, name_fr: 'Hebira', name_ar: 'هبيرة' },\n  { governorate_id: 14, name_fr: 'Essouassi', name_ar: 'السواسي' },\n  { governorate_id: 14, name_fr: 'El Jem', name_ar: 'الجم' },\n  { governorate_id: 14, name_fr: 'Chebba', name_ar: 'الشابة' },\n  { governorate_id: 14, name_fr: 'Melloulèche', name_ar: 'ملولش' },\n  { governorate_id: 14, name_fr: 'Sidi Alouane', name_ar: 'سيدي علوان' },\n  { governorate_id: 14, name_fr: 'Ksour Essef', name_ar: 'قصور الساف' },\n\n  // Sfax (15)\n  { governorate_id: 15, name_fr: 'Sfax Ville', name_ar: 'مدينة صفاقس' },\n  { governorate_id: 15, name_fr: 'Sfax Ouest', name_ar: 'صفاقس الغربية' },\n  { governorate_id: 15, name_fr: 'Sfax Sud', name_ar: 'صفاقس الجنوبية' },\n  { governorate_id: 15, name_fr: 'Sakiet Ezzit', name_ar: 'ساقية الزيت' },\n  { governorate_id: 15, name_fr: 'Sakiet Eddaier', name_ar: 'ساقية الداير' },\n  { governorate_id: 15, name_fr: 'Thyna', name_ar: 'طينة' },\n  { governorate_id: 15, name_fr: 'Agareb', name_ar: 'العقارب' },\n  { governorate_id: 15, name_fr: 'Jebiniana', name_ar: 'جبنيانة' },\n  { governorate_id: 15, name_fr: 'El Amra', name_ar: 'العامرة' },\n  { governorate_id: 15, name_fr: 'El Hencha', name_ar: 'الحنشة' },\n  { governorate_id: 15, name_fr: 'Menzel Chaker', name_ar: 'منزل شاكر' },\n  { governorate_id: 15, name_fr: 'Ghraiba', name_ar: 'الغريبة' },\n  { governorate_id: 15, name_fr: 'Bir Ali Ben Khalifa', name_ar: 'بئر علي بن خليفة' },\n  { governorate_id: 15, name_fr: 'Skhira', name_ar: 'الصخيرة' },\n  { governorate_id: 15, name_fr: 'Mahres', name_ar: 'المحرس' },\n  { governorate_id: 15, name_fr: 'Kerkennah', name_ar: 'قرقنة' },\n\n  // Kairouan (16)\n  { governorate_id: 16, name_fr: 'Kairouan Nord', name_ar: 'القيروان الشمالية' },\n  { governorate_id: 16, name_fr: 'Kairouan Sud', name_ar: 'القيروان الجنوبية' },\n  { governorate_id: 16, name_fr: 'Echebika', name_ar: 'الشبيكة' },\n  { governorate_id: 16, name_fr: 'Sbikha', name_ar: 'السبيخة' },\n  { governorate_id: 16, name_fr: 'Oueslatia', name_ar: 'الوسلاتية' },\n  { governorate_id: 16, name_fr: 'Haffouz', name_ar: 'حفوز' },\n  { governorate_id: 16, name_fr: 'Ala', name_ar: 'العلا' },\n  { governorate_id: 16, name_fr: 'Hajeb El Ayoun', name_ar: 'حاجب العيون' },\n  { governorate_id: 16, name_fr: 'Nasrallah', name_ar: 'نصر الله' },\n  { governorate_id: 16, name_fr: 'Cherarda', name_ar: 'الشراردة' },\n  { governorate_id: 16, name_fr: 'Bou Hajla', name_ar: 'بوحجلة' },\n\n  // Kasserine (17)\n  { governorate_id: 17, name_fr: 'Kasserine Nord', name_ar: 'القصرين الشمالية' },\n  { governorate_id: 17, name_fr: 'Kasserine Sud', name_ar: 'القصرين الجنوبية' },\n  { governorate_id: 17, name_fr: 'Ezzouhour', name_ar: 'الزهور' },\n  { governorate_id: 17, name_fr: 'Hassi El Ferid', name_ar: 'حاسي الفريد' },\n  { governorate_id: 17, name_fr: 'Sbeitla', name_ar: 'سبيطلة' },\n  { governorate_id: 17, name_fr: 'Sbiba', name_ar: 'سبيبة' },\n  { governorate_id: 17, name_fr: 'Jedeliane', name_ar: 'جدليان' },\n  { governorate_id: 17, name_fr: 'El Ayoun', name_ar: 'العيون' },\n  { governorate_id: 17, name_fr: 'Thala', name_ar: 'تالة' },\n  { governorate_id: 17, name_fr: 'Hidra', name_ar: 'هيدرة' },\n  { governorate_id: 17, name_fr: 'Foussana', name_ar: 'فوسانة' },\n  { governorate_id: 17, name_fr: 'Feriana', name_ar: 'فريانة' },\n  { governorate_id: 17, name_fr: 'Majel Bel Abbes', name_ar: 'ماجل بلعباس' },\n\n  // Sidi Bouzid (18)\n  { governorate_id: 18, name_fr: 'Sidi Bouzid Ouest', name_ar: 'سيدي بوزيد الغربية' },\n  { governorate_id: 18, name_fr: 'Sidi Bouzid Est', name_ar: 'سيدي بوزيد الشرقية' },\n  { governorate_id: 18, name_fr: 'Jilma', name_ar: 'جلمة' },\n  { governorate_id: 18, name_fr: 'Cebalet Ouled Asker', name_ar: 'السبالة أولاد عسكر' },\n  { governorate_id: 18, name_fr: 'Bir El Hafey', name_ar: 'بئر الحفي' },\n  { governorate_id: 18, name_fr: 'Sidi Ali Ben Aoun', name_ar: 'سيدي علي بن عون' },\n  { governorate_id: 18, name_fr: 'Menzel Bouzaiane', name_ar: 'منزل بوزيان' },\n  { governorate_id: 18, name_fr: 'Meknassy', name_ar: 'المكناسي' },\n  { governorate_id: 18, name_fr: 'Souk Jedid', name_ar: 'سوق الجديد' },\n  { governorate_id: 18, name_fr: 'Mezzouna', name_ar: 'المزونة' },\n  { governorate_id: 18, name_fr: 'Regueb', name_ar: 'الرقاب' },\n  { governorate_id: 18, name_fr: 'Ouled Haffouz', name_ar: 'أولاد حفوز' },\n\n  // Gabès (19)\n  { governorate_id: 19, name_fr: 'Gabès Ville', name_ar: 'مدينة قابس' },\n  { governorate_id: 19, name_fr: 'Gabès Sud', name_ar: 'قابس الجنوبية' },\n  { governorate_id: 19, name_fr: 'Gabès Ouest', name_ar: 'قابس الغربية' },\n  { governorate_id: 19, name_fr: 'El Hamma', name_ar: 'الحامة' },\n  { governorate_id: 19, name_fr: 'Matmata', name_ar: 'مطماطة' },\n  { governorate_id: 19, name_fr: 'Nouvelle Matmata', name_ar: 'مطماطة الجديدة' },\n  { governorate_id: 19, name_fr: 'Mareth', name_ar: 'مارث' },\n  { governorate_id: 19, name_fr: 'Ghanouch', name_ar: 'غنوش' },\n  { governorate_id: 19, name_fr: 'Metouia', name_ar: 'المطوية' },\n  { governorate_id: 19, name_fr: 'Menzel El Habib', name_ar: 'منزل الحبيب' },\n\n  // Médenine (20)\n  { governorate_id: 20, name_fr: 'Médenine Nord', name_ar: 'مدنين الشمالية' },\n  { governorate_id: 20, name_fr: 'Médenine Sud', name_ar: 'مدنين الجنوبية' },\n  { governorate_id: 20, name_fr: 'Beni Khedache', name_ar: 'بني خداش' },\n  { governorate_id: 20, name_fr: 'Ben Guerdane', name_ar: 'بن قردان' },\n  { governorate_id: 20, name_fr: 'Zarzis', name_ar: 'جرجيس' },\n  { governorate_id: 20, name_fr: 'Djerba Houmt Souk', name_ar: 'جربة حومة السوق' },\n  { governorate_id: 20, name_fr: 'Djerba Midoun', name_ar: 'جربة ميدون' },\n  { governorate_id: 20, name_fr: 'Djerba Ajim', name_ar: 'جربة أجيم' },\n  { governorate_id: 20, name_fr: 'Sidi Makhlouf', name_ar: 'سيدي مخلوف' },\n\n  // Tataouine (21)\n  { governorate_id: 21, name_fr: 'Tataouine Nord', name_ar: 'تطاوين الشمالية' },\n  { governorate_id: 21, name_fr: 'Tataouine Sud', name_ar: 'تطاوين الجنوبية' },\n  { governorate_id: 21, name_fr: 'Smar', name_ar: 'الصمار' },\n  { governorate_id: 21, name_fr: 'Bir Lahmar', name_ar: 'بئر الأحمر' },\n  { governorate_id: 21, name_fr: 'Ghomrassen', name_ar: 'غمراسن' },\n  { governorate_id: 21, name_fr: 'Dhehiba', name_ar: 'ذهيبة' },\n  { governorate_id: 21, name_fr: 'Remada', name_ar: 'رمادة' },\n\n  // Gafsa (22)\n  { governorate_id: 22, name_fr: 'Gafsa Nord', name_ar: 'قفصة الشمالية' },\n  { governorate_id: 22, name_fr: 'Gafsa Sud', name_ar: 'قفصة الجنوبية' },\n  { governorate_id: 22, name_fr: 'Sidi Aich', name_ar: 'سيدي عيش' },\n  { governorate_id: 22, name_fr: 'El Ksar', name_ar: 'القصر' },\n  { governorate_id: 22, name_fr: 'Oum El Araies', name_ar: 'أم العرائس' },\n  { governorate_id: 22, name_fr: 'Redeyef', name_ar: 'الرديف' },\n  { governorate_id: 22, name_fr: 'Metlaoui', name_ar: 'المتلوي' },\n  { governorate_id: 22, name_fr: 'Mdhilla', name_ar: 'المظيلة' },\n  { governorate_id: 22, name_fr: 'El Guettar', name_ar: 'القطار' },\n  { governorate_id: 22, name_fr: 'Belkhir', name_ar: 'بلخير' },\n  { governorate_id: 22, name_fr: 'Sned', name_ar: 'السند' },\n\n  // Tozeur (23)\n  { governorate_id: 23, name_fr: 'Tozeur', name_ar: 'توزر' },\n  { governorate_id: 23, name_fr: 'Degache', name_ar: 'دقاش' },\n  { governorate_id: 23, name_fr: 'Tameghza', name_ar: 'تمغزة' },\n  { governorate_id: 23, name_fr: 'Nefta', name_ar: 'نفطة' },\n  { governorate_id: 23, name_fr: 'Hazoua', name_ar: 'حزوة' },\n\n  // Kebili (24)\n  { governorate_id: 24, name_fr: 'Kebili Nord', name_ar: 'قبلي الشمالية' },\n  { governorate_id: 24, name_fr: 'Kebili Sud', name_ar: 'قبلي الجنوبية' },\n  { governorate_id: 24, name_fr: 'Souk Lahad', name_ar: 'سوق الأحد' },\n  { governorate_id: 24, name_fr: 'Douz Nord', name_ar: 'دوز الشمالية' },\n  { governorate_id: 24, name_fr: 'Douz Sud', name_ar: 'دوز الجنوبية' },\n  { governorate_id: 24, name_fr: 'Faouar', name_ar: 'الفوار' }\n];\n\n/**\n * Gets delegations for a specific governorate.\n *\n * @param governorateId - The governorate ID (1-24)\n * @returns Array of delegations in the governorate\n */\nexport function getDelegationsByGovernorate(governorateId: number): Delegation[] {\n  return DELEGATIONS.filter((d) => d.governorate_id === governorateId);\n}\n\n/**\n * Resolve the governorate a delegation belongs to, by delegation name.\n *\n * Matches either the French or Arabic name (case-insensitive trim).\n *\n * @param name - The delegation name (e.g. `\"Tunis Ville\"` or `\"مدينة تونس\"`)\n * @returns The matching `Governorate`, or `null` if not found\n */\nexport function getGovernorateFromDelegation(name: string): Governorate | null {\n  if (typeof name !== 'string') return null;\n  const needle = name.trim().toLowerCase();\n\n  const delegation = DELEGATIONS.find(\n    (d) => d.name_fr.toLowerCase() === needle || d.name_ar === needle\n  );\n  if (!delegation) return null;\n\n  // governorate_id is always valid for a known delegation\n  /* v8 ignore next */\n  return GOVERNORATES.find((g) => g.id === delegation.governorate_id) ?? null;\n}\n\n/**\n * Find a delegation by its name (French or Arabic, case-insensitive).\n *\n * @param name - The delegation name\n * @returns The matching `Delegation`, or `undefined` if not found\n */\nexport function getDelegationByName(name: string): Delegation | undefined {\n  if (typeof name !== 'string') return undefined;\n  const needle = name.trim().toLowerCase();\n\n  return DELEGATIONS.find((d) => d.name_fr.toLowerCase() === needle || d.name_ar === needle);\n}\n","/**\n * Landline region prefixes for Tunisia.\n * Each prefix (71-78) corresponds to a specific geographic region.\n */\nexport interface LandlineRegion {\n  prefix: string;\n  name_fr: string;\n  name_ar: string;\n  governorates: string[];\n}\n\nexport const LANDLINE_REGIONS: LandlineRegion[] = [\n  {\n    prefix: '71',\n    name_fr: 'Grand Tunis',\n    name_ar: 'تونس الكبرى',\n    governorates: ['Tunis', 'Ariana', 'Ben Arous', 'Manouba']\n  },\n  {\n    prefix: '72',\n    name_fr: 'Nord-Est',\n    name_ar: 'الشمال الشرقي',\n    governorates: ['Nabeul', 'Zaghouan', 'Bizerte']\n  },\n  {\n    prefix: '73',\n    name_fr: 'Sahel',\n    name_ar: 'الساحل',\n    governorates: ['Sousse', 'Monastir', 'Mahdia']\n  },\n  {\n    prefix: '74',\n    name_fr: 'Sfax',\n    name_ar: 'صفاقس',\n    governorates: ['Sfax']\n  },\n  {\n    prefix: '75',\n    name_fr: 'Sud-Ouest',\n    name_ar: 'الجنوب الغربي',\n    governorates: ['Gafsa', 'Tozeur', 'Kebili']\n  },\n  {\n    prefix: '76',\n    name_fr: 'Sud-Est',\n    name_ar: 'الجنوب الشرقي',\n    governorates: ['Gabès', 'Médenine', 'Tataouine']\n  },\n  {\n    prefix: '77',\n    name_fr: 'Centre-Ouest',\n    name_ar: 'الوسط الغربي',\n    governorates: ['Kairouan', 'Kasserine', 'Sidi Bouzid']\n  },\n  {\n    prefix: '78',\n    name_fr: 'Nord-Ouest',\n    name_ar: 'الشمال الغربي',\n    governorates: ['Béja', 'Jendouba', 'Le Kef', 'Siliana']\n  },\n  {\n    prefix: '70',\n    name_fr: 'Grand Tunis',\n    name_ar: 'تونس الكبرى',\n    governorates: ['Tunis', 'Ariana', 'Ben Arous', 'Manouba']\n  },\n  {\n    prefix: '79',\n    name_fr: 'Grand Tunis',\n    name_ar: 'تونس الكبرى',\n    governorates: ['Tunis', 'Ariana', 'Ben Arous', 'Manouba']\n  }\n];\n\n/**\n * Gets the region information from a landline phone number.\n *\n * @param phone - The landline phone number (8 digits or with country code)\n * @returns The region information, or null if not found\n *\n * @example\n * getRegionFromLandline('71234567')\n * // Returns: { prefix: '71', name_fr: 'Grand Tunis', name_ar: 'تونس الكبرى', governorates: [...] }\n */\nexport function getRegionFromLandline(phone: string): LandlineRegion | null {\n  if (typeof phone !== 'string') return null;\n\n  // Remove spaces, dashes, and extract local number\n  let cleaned = phone.replace(/[\\s-]/g, '');\n\n  if (cleaned.startsWith('+216')) {\n    cleaned = cleaned.slice(4);\n  } else if (cleaned.startsWith('00216')) {\n    cleaned = cleaned.slice(5);\n  }\n\n  if (cleaned.length !== 8) return null;\n\n  const prefix = cleaned.substring(0, 2);\n  return LANDLINE_REGIONS.find((region) => region.prefix === prefix) || null;\n}\n","import { GOVERNORATES, type Governorate } from './governorates.js';\n\n/**\n * Compact, bundle-conscious Tunisian postal-code → governorate mapping.\n *\n * Tunisian postal codes are four digits. The first two digits denote the\n * governorate (see https://en.wikipedia.org/wiki/Postal_codes_in_Tunisia).\n * Because a few prefixes are shared by several governorates (notably `11xx`\n * and `20xx`), this lightweight table maps each 100-block to a\n * *representative* governorate and is intended for approximate grouping, not\n * authoritative address resolution.\n *\n * Tuple shape: `[minCode, maxCode, governorateId]`\n */\nexport const POSTAL_CODE_RANGES: ReadonlyArray<readonly [number, number, number]> = [\n  [1000, 1099, 1], // Tunis\n  [1100, 1199, 6], // Zaghouan (also Ben Arous / Manouba)\n  [1200, 1299, 17], // Kasserine\n  [2000, 2099, 1], // Tunis (also Ariana / Ben Arous / Manouba)\n  [2100, 2199, 22], // Gafsa\n  [2200, 2299, 23], // Tozeur\n  [3000, 3099, 15], // Sfax\n  [3100, 3199, 16], // Kairouan\n  [3200, 3299, 21], // Tataouine\n  [4000, 4099, 12], // Sousse\n  [4100, 4199, 20], // Médenine\n  [4200, 4299, 24], // Kebili\n  [5000, 5099, 13], // Monastir\n  [5100, 5199, 14], // Mahdia\n  [6000, 6099, 19], // Gabès\n  [6100, 6199, 11], // Siliana\n  [7000, 7099, 7], // Bizerte\n  [7100, 7199, 10], // Le Kef\n  [8000, 8099, 5], // Nabeul\n  [8100, 8199, 9], // Jendouba\n  [9000, 9099, 8], // Béja\n  [9100, 9199, 18] // Sidi Bouzid\n];\n\n/**\n * Resolve the governorate for a Tunisian postal code.\n *\n * @param code - A 4-digit postal code (string or number)\n * @returns The matching `Governorate`, or `null` if the code is invalid or\n *          falls outside any known range.\n */\nexport function getGovernorateFromPostalCode(code: string | number): Governorate | null {\n  const normalized = typeof code === 'number' ? String(code) : String(code).replace(/\\s/g, '');\n  if (!/^\\d{4}$/.test(normalized)) return null;\n\n  const value = parseInt(normalized, 10);\n  if (value < 1000 || value > 9299) return null;\n\n  const match = POSTAL_CODE_RANGES.find(([min, max]) => value >= min && value <= max);\n  if (!match) return null;\n\n  const governorateId = match[2];\n  // governorateId always maps to a real governorate\n  /* v8 ignore next */\n  return GOVERNORATES.find((g) => g.id === governorateId) ?? null;\n}\n"]}