payload-reserve 1.3.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +185 -4
- package/dist/collections/Reservations.js +47 -2
- package/dist/collections/Reservations.js.map +1 -1
- package/dist/collections/Resources.d.ts +16 -0
- package/dist/collections/Resources.js +35 -10
- package/dist/collections/Resources.js.map +1 -1
- package/dist/collections/Schedules.js +34 -0
- package/dist/collections/Schedules.js.map +1 -1
- package/dist/collections/Services.js +34 -1
- package/dist/collections/Services.js.map +1 -1
- package/dist/components/AvailabilityTimeField/AvailabilityTimeField.module.css +7 -0
- package/dist/components/AvailabilityTimeField/index.d.ts +2 -0
- package/dist/components/AvailabilityTimeField/index.js +109 -0
- package/dist/components/AvailabilityTimeField/index.js.map +1 -0
- package/dist/components/CalendarView/CalendarView.module.css +114 -0
- package/dist/components/CalendarView/LaneTimelineView.d.ts +12 -0
- package/dist/components/CalendarView/LaneTimelineView.js +116 -0
- package/dist/components/CalendarView/LaneTimelineView.js.map +1 -0
- package/dist/components/CalendarView/index.js +224 -22
- package/dist/components/CalendarView/index.js.map +1 -1
- package/dist/components/CalendarView/useResourceAvailability.d.ts +9 -0
- package/dist/components/CalendarView/useResourceAvailability.js +40 -0
- package/dist/components/CalendarView/useResourceAvailability.js.map +1 -0
- package/dist/defaults.d.ts +3 -0
- package/dist/defaults.js +53 -0
- package/dist/defaults.js.map +1 -1
- package/dist/endpoints/cancelBooking.js +34 -21
- package/dist/endpoints/cancelBooking.js.map +1 -1
- package/dist/endpoints/checkAvailability.js +16 -1
- package/dist/endpoints/checkAvailability.js.map +1 -1
- package/dist/endpoints/createBooking.js +4 -1
- package/dist/endpoints/createBooking.js.map +1 -1
- package/dist/endpoints/customerSearch.js +24 -5
- package/dist/endpoints/customerSearch.js.map +1 -1
- package/dist/endpoints/getSlots.js +16 -1
- package/dist/endpoints/getSlots.js.map +1 -1
- package/dist/endpoints/resourceAvailability.d.ts +43 -0
- package/dist/endpoints/resourceAvailability.js +214 -0
- package/dist/endpoints/resourceAvailability.js.map +1 -0
- package/dist/exports/client.d.ts +1 -0
- package/dist/exports/client.js +1 -0
- package/dist/exports/client.js.map +1 -1
- package/dist/hooks/reservations/calculateEndTime.js +21 -1
- package/dist/hooks/reservations/calculateEndTime.js.map +1 -1
- package/dist/hooks/reservations/expandRequiredResources.d.ts +9 -0
- package/dist/hooks/reservations/expandRequiredResources.js +81 -0
- package/dist/hooks/reservations/expandRequiredResources.js.map +1 -0
- package/dist/hooks/reservations/validateGuestBooking.d.ts +3 -0
- package/dist/hooks/reservations/validateGuestBooking.js +93 -0
- package/dist/hooks/reservations/validateGuestBooking.js.map +1 -0
- package/dist/hooks/reservations/validateStatusTransition.js +4 -2
- package/dist/hooks/reservations/validateStatusTransition.js.map +1 -1
- package/dist/hooks/users/provisionStaffResource.d.ts +15 -0
- package/dist/hooks/users/provisionStaffResource.js +88 -0
- package/dist/hooks/users/provisionStaffResource.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin.js +28 -3
- package/dist/plugin.js.map +1 -1
- package/dist/services/AvailabilityService.d.ts +7 -6
- package/dist/services/AvailabilityService.js +86 -60
- package/dist/services/AvailabilityService.js.map +1 -1
- package/dist/translations/ar.json +156 -0
- package/dist/translations/de.json +156 -0
- package/dist/translations/en.json +32 -1
- package/dist/translations/es.json +156 -0
- package/dist/translations/fa.json +156 -0
- package/dist/translations/fr.json +156 -0
- package/dist/translations/hi.json +156 -0
- package/dist/translations/id.json +156 -0
- package/dist/translations/index.js +44 -0
- package/dist/translations/index.js.map +1 -1
- package/dist/translations/pl.json +156 -0
- package/dist/translations/ru.json +156 -0
- package/dist/translations/tr.json +156 -0
- package/dist/translations/zh.json +156 -0
- package/dist/types.d.ts +46 -0
- package/dist/types.js.map +1 -1
- package/dist/utilities/computeSlotStates.d.ts +39 -0
- package/dist/utilities/computeSlotStates.js +49 -0
- package/dist/utilities/computeSlotStates.js.map +1 -0
- package/dist/utilities/guestBooking.d.ts +10 -0
- package/dist/utilities/guestBooking.js +16 -0
- package/dist/utilities/guestBooking.js.map +1 -0
- package/dist/utilities/resolveRequiredResources.d.ts +8 -0
- package/dist/utilities/resolveRequiredResources.js +27 -0
- package/dist/utilities/resolveRequiredResources.js.map +1 -0
- package/dist/utilities/resolveReservationItems.d.ts +3 -2
- package/dist/utilities/resolveReservationItems.js +19 -6
- package/dist/utilities/resolveReservationItems.js.map +1 -1
- package/dist/utilities/scheduleUtils.d.ts +3 -0
- package/dist/utilities/scheduleUtils.js +5 -3
- package/dist/utilities/scheduleUtils.js.map +1 -1
- package/dist/utilities/selectOptions.d.ts +8 -0
- package/dist/utilities/selectOptions.js +11 -0
- package/dist/utilities/selectOptions.js.map +1 -0
- package/dist/utilities/slotUtils.d.ts +19 -0
- package/dist/utilities/slotUtils.js +28 -0
- package/dist/utilities/slotUtils.js.map +1 -1
- package/dist/utilities/userRoles.d.ts +20 -0
- package/dist/utilities/userRoles.js +32 -0
- package/dist/utilities/userRoles.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionServices": "Prestations",
|
|
3
|
+
"collectionResources": "Ressources",
|
|
4
|
+
"collectionSchedules": "Plannings",
|
|
5
|
+
"collectionReservations": "Réservations",
|
|
6
|
+
"collectionCustomers": "Clients",
|
|
7
|
+
"collectionCustomer": "Client",
|
|
8
|
+
"fieldFirstName": "Prénom",
|
|
9
|
+
"fieldLastName": "Nom",
|
|
10
|
+
"fieldName": "Nom",
|
|
11
|
+
"fieldDescription": "Description",
|
|
12
|
+
"fieldImage": "Image",
|
|
13
|
+
"fieldPrice": "Prix",
|
|
14
|
+
"fieldActive": "Actif",
|
|
15
|
+
"fieldServices": "Prestations",
|
|
16
|
+
"fieldResource": "Ressource",
|
|
17
|
+
"fieldService": "Prestation",
|
|
18
|
+
"fieldCustomer": "Client",
|
|
19
|
+
"fieldStartTime": "Heure de début",
|
|
20
|
+
"fieldEndTime": "Heure de fin",
|
|
21
|
+
"fieldCancellationReason": "Motif d'annulation",
|
|
22
|
+
"fieldNotes": "Notes",
|
|
23
|
+
"fieldStatus": "Statut",
|
|
24
|
+
"fieldScheduleType": "Type de planning",
|
|
25
|
+
"fieldRecurringSlots": "Créneaux récurrents",
|
|
26
|
+
"fieldDay": "Jour",
|
|
27
|
+
"fieldManualSlots": "Créneaux manuels",
|
|
28
|
+
"fieldDate": "Date",
|
|
29
|
+
"fieldEndDate": "Date de fin",
|
|
30
|
+
"fieldExceptions": "Exceptions",
|
|
31
|
+
"fieldLeaveType": "Type",
|
|
32
|
+
"fieldReason": "Motif",
|
|
33
|
+
"fieldDurationMinutes": "Durée (minutes)",
|
|
34
|
+
"fieldBufferTimeBefore": "Temps tampon avant (minutes)",
|
|
35
|
+
"fieldBufferTimeAfter": "Temps tampon après (minutes)",
|
|
36
|
+
"fieldStartTimeHHmm": "Heure de début (HH:mm)",
|
|
37
|
+
"fieldEndTimeHHmm": "Heure de fin (HH:mm)",
|
|
38
|
+
"scheduleTypeRecurring": "Récurrent",
|
|
39
|
+
"scheduleTypeManual": "Manuel",
|
|
40
|
+
"dayMonday": "Lundi",
|
|
41
|
+
"dayTuesday": "Mardi",
|
|
42
|
+
"dayWednesday": "Mercredi",
|
|
43
|
+
"dayThursday": "Jeudi",
|
|
44
|
+
"dayFriday": "Vendredi",
|
|
45
|
+
"daySaturday": "Samedi",
|
|
46
|
+
"daySunday": "Dimanche",
|
|
47
|
+
"dayShortSun": "Dim",
|
|
48
|
+
"dayShortMon": "Lun",
|
|
49
|
+
"dayShortTue": "Mar",
|
|
50
|
+
"dayShortWed": "Mer",
|
|
51
|
+
"dayShortThu": "Jeu",
|
|
52
|
+
"dayShortFri": "Ven",
|
|
53
|
+
"dayShortSat": "Sam",
|
|
54
|
+
"statusPending": "En attente",
|
|
55
|
+
"statusConfirmed": "Confirmée",
|
|
56
|
+
"statusCompleted": "Terminée",
|
|
57
|
+
"statusCancelled": "Annulée",
|
|
58
|
+
"statusNoShow": "Absence",
|
|
59
|
+
"statusNoShowLabel": "Absent",
|
|
60
|
+
"errorInvalidCreateStatus": "Les nouvelles réservations doivent commencer avec le statut {{allowed}}.",
|
|
61
|
+
"errorInvalidTransition": "Impossible de passer de « {{from}} » à « {{to}} ».",
|
|
62
|
+
"errorCancellationNotice": "Les annulations nécessitent un préavis d'au moins {{period}} heures. Il ne reste que {{hours}} heures avant le rendez-vous.",
|
|
63
|
+
"errorConflict": "Ce créneau horaire est en conflit avec une réservation existante pour cette ressource.",
|
|
64
|
+
"calendarLoading": "Chargement des réservations...",
|
|
65
|
+
"calendarToday": "Aujourd'hui",
|
|
66
|
+
"calendarCreateNew": "Créer",
|
|
67
|
+
"calendarMonth": "Mois",
|
|
68
|
+
"calendarWeek": "Semaine",
|
|
69
|
+
"calendarDay": "Jour",
|
|
70
|
+
"calendarLanes": "Couloirs",
|
|
71
|
+
"calendarUnknownService": "Prestation inconnue",
|
|
72
|
+
"calendarUnknownCustomer": "Client inconnu",
|
|
73
|
+
"calendarUnknownResource": "Ressource inconnue",
|
|
74
|
+
"tooltipCustomer": "Client :",
|
|
75
|
+
"tooltipResource": "Ressource :",
|
|
76
|
+
"tooltipStatus": "Statut :",
|
|
77
|
+
"availabilityLoading": "Chargement des disponibilités...",
|
|
78
|
+
"availabilityTitle": "Aperçu des disponibilités",
|
|
79
|
+
"availabilityThisWeek": "Cette semaine",
|
|
80
|
+
"availabilityNoResources": "Aucune ressource active trouvée.",
|
|
81
|
+
"availabilityNotConfigured": "Plugin de réservation non configuré.",
|
|
82
|
+
"availabilityBooked": "Réservé",
|
|
83
|
+
"availabilityXofYBooked": "{{booked}}/{{total}} réservés",
|
|
84
|
+
"availabilityUnavailable": "Indisponible",
|
|
85
|
+
"availabilityResource": "Ressource",
|
|
86
|
+
"dashboardTitle": "Réservations du jour",
|
|
87
|
+
"dashboardTotal": "Total",
|
|
88
|
+
"dashboardActive": "Actives",
|
|
89
|
+
"dashboardUpcoming": "À venir",
|
|
90
|
+
"dashboardTerminal": "Clôturées",
|
|
91
|
+
"dashboardCompleted": "Terminées",
|
|
92
|
+
"dashboardCancelled": "Annulées",
|
|
93
|
+
"dashboardNextAppointment": "Prochain rendez-vous",
|
|
94
|
+
"dashboardTime": "Heure :",
|
|
95
|
+
"dashboardStatus": "Statut :",
|
|
96
|
+
"dashboardNoUpcoming": "Aucun rendez-vous à venir aujourd'hui.",
|
|
97
|
+
"fieldCustomerSearch": "Rechercher des clients...",
|
|
98
|
+
"fieldCustomerNoResults": "Aucun client trouvé",
|
|
99
|
+
"fieldCustomerCreateNew": "Créer un nouveau client",
|
|
100
|
+
"fieldCustomerClear": "Effacer la sélection",
|
|
101
|
+
"calendarPending": "En attente",
|
|
102
|
+
"pendingDateTime": "Date / Heure",
|
|
103
|
+
"pendingActions": "Actions",
|
|
104
|
+
"pendingSelectAll": "Tout sélectionner",
|
|
105
|
+
"pendingConfirmSelected": "Confirmer la sélection ({{count}})",
|
|
106
|
+
"pendingConfirming": "Confirmation...",
|
|
107
|
+
"pendingConfirm": "Confirmer",
|
|
108
|
+
"pendingCancel": "Annuler",
|
|
109
|
+
"pendingConfirmSuccess": "Réservation confirmée",
|
|
110
|
+
"pendingConfirmError": "Échec de la confirmation de la réservation",
|
|
111
|
+
"pendingCancelSuccess": "Réservation annulée",
|
|
112
|
+
"pendingCancelError": "Échec de l'annulation de la réservation",
|
|
113
|
+
"pendingBulkConfirmSuccess": "{{succeeded}} confirmées, {{failed}} échouées",
|
|
114
|
+
"pendingEmpty": "Aucune réservation en attente",
|
|
115
|
+
"fieldQuantity": "Quantité",
|
|
116
|
+
"fieldCapacityMode": "Mode de capacité",
|
|
117
|
+
"fieldTimezone": "Fuseau horaire",
|
|
118
|
+
"fieldDurationType": "Type de durée",
|
|
119
|
+
"capacityPerReservation": "Par réservation",
|
|
120
|
+
"capacityPerGuest": "Par participant",
|
|
121
|
+
"durationFixed": "Fixe",
|
|
122
|
+
"durationFlexible": "Flexible",
|
|
123
|
+
"durationFullDay": "Journée entière",
|
|
124
|
+
"fieldItems": "Éléments",
|
|
125
|
+
"fieldGuestCount": "Nombre de participants",
|
|
126
|
+
"filterAllResources": "Toutes les ressources",
|
|
127
|
+
"filterByResource": "Filtrer par ressource",
|
|
128
|
+
"fieldOwner": "Propriétaire",
|
|
129
|
+
"fieldResourceType": "Type de ressource",
|
|
130
|
+
"fieldRequiredResources": "Ressources requises",
|
|
131
|
+
"fieldRequiredResourcesDesc": "Pools de ressources supplémentaires occupés par chaque réservation de cette prestation (par ex. un fauteuil). Les réservations sont automatiquement étendues pour les inclure et sont bloquées si l'un des pools est complet.",
|
|
132
|
+
"fieldAllowGuestBooking": "Réservation invité",
|
|
133
|
+
"fieldAllowGuestBookingDesc": "Autoriser les réservations sans compte client. « Hériter » utilise la valeur par défaut définie au niveau du plugin.",
|
|
134
|
+
"guestBookingInherit": "Hériter de la valeur par défaut du plugin",
|
|
135
|
+
"guestBookingEnabled": "Activée",
|
|
136
|
+
"guestBookingDisabled": "Désactivée",
|
|
137
|
+
"fieldGuest": "Invité",
|
|
138
|
+
"fieldGuestDesc": "Coordonnées pour une réservation effectuée sans compte client. Laissez vide lorsqu'un client est défini.",
|
|
139
|
+
"fieldGuestName": "Nom de l'invité",
|
|
140
|
+
"fieldGuestEmail": "E-mail de l'invité",
|
|
141
|
+
"fieldGuestPhone": "Téléphone de l'invité",
|
|
142
|
+
"fieldItemsDesc": "Ressources incluses dans cette réservation. Laissez vide pour les réservations à ressource unique.",
|
|
143
|
+
"errorGuestOrCustomerRequired": "Une réservation nécessite soit un client, soit les coordonnées d'un invité.",
|
|
144
|
+
"errorGuestAndCustomer": "Une réservation ne peut pas avoir à la fois un client et les coordonnées d'un invité.",
|
|
145
|
+
"errorGuestNameRequired": "Les réservations invité nécessitent un nom.",
|
|
146
|
+
"errorGuestContactRequired": "Les réservations invité nécessitent un e-mail ou un numéro de téléphone.",
|
|
147
|
+
"errorGuestNotAllowed": "Les réservations invité ne sont pas autorisées pour cette prestation.",
|
|
148
|
+
"pickPrompt": "Sélectionnez une prestation et un membre du personnel pour voir les horaires disponibles.",
|
|
149
|
+
"pickLoading": "Chargement des horaires disponibles…",
|
|
150
|
+
"pickNone": "Aucun horaire disponible pour ce jour.",
|
|
151
|
+
"laneNoResources": "Aucune ressource active à afficher.",
|
|
152
|
+
"slotFree": "Libre",
|
|
153
|
+
"slotFull": "Complet",
|
|
154
|
+
"slotOffShift": "Hors service",
|
|
155
|
+
"slotTimeOff": "Congé"
|
|
156
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionServices": "सेवाएँ",
|
|
3
|
+
"collectionResources": "संसाधन",
|
|
4
|
+
"collectionSchedules": "शेड्यूल",
|
|
5
|
+
"collectionReservations": "आरक्षण",
|
|
6
|
+
"collectionCustomers": "ग्राहक",
|
|
7
|
+
"collectionCustomer": "ग्राहक",
|
|
8
|
+
"fieldFirstName": "पहला नाम",
|
|
9
|
+
"fieldLastName": "अंतिम नाम",
|
|
10
|
+
"fieldName": "नाम",
|
|
11
|
+
"fieldDescription": "विवरण",
|
|
12
|
+
"fieldImage": "छवि",
|
|
13
|
+
"fieldPrice": "मूल्य",
|
|
14
|
+
"fieldActive": "सक्रिय",
|
|
15
|
+
"fieldServices": "सेवाएँ",
|
|
16
|
+
"fieldResource": "संसाधन",
|
|
17
|
+
"fieldService": "सेवा",
|
|
18
|
+
"fieldCustomer": "ग्राहक",
|
|
19
|
+
"fieldStartTime": "आरंभ समय",
|
|
20
|
+
"fieldEndTime": "समाप्ति समय",
|
|
21
|
+
"fieldCancellationReason": "रद्दीकरण का कारण",
|
|
22
|
+
"fieldNotes": "टिप्पणियाँ",
|
|
23
|
+
"fieldStatus": "स्टेटस",
|
|
24
|
+
"fieldScheduleType": "शेड्यूल प्रकार",
|
|
25
|
+
"fieldRecurringSlots": "आवर्ती स्लॉट",
|
|
26
|
+
"fieldDay": "दिन",
|
|
27
|
+
"fieldManualSlots": "मैनुअल स्लॉट",
|
|
28
|
+
"fieldDate": "तारीख",
|
|
29
|
+
"fieldEndDate": "समाप्ति तारीख",
|
|
30
|
+
"fieldExceptions": "अपवाद",
|
|
31
|
+
"fieldLeaveType": "प्रकार",
|
|
32
|
+
"fieldReason": "कारण",
|
|
33
|
+
"fieldDurationMinutes": "अवधि (मिनट)",
|
|
34
|
+
"fieldBufferTimeBefore": "पहले बफर समय (मिनट)",
|
|
35
|
+
"fieldBufferTimeAfter": "बाद में बफर समय (मिनट)",
|
|
36
|
+
"fieldStartTimeHHmm": "आरंभ समय (HH:mm)",
|
|
37
|
+
"fieldEndTimeHHmm": "समाप्ति समय (HH:mm)",
|
|
38
|
+
"scheduleTypeRecurring": "आवर्ती",
|
|
39
|
+
"scheduleTypeManual": "मैनुअल",
|
|
40
|
+
"dayMonday": "सोमवार",
|
|
41
|
+
"dayTuesday": "मंगलवार",
|
|
42
|
+
"dayWednesday": "बुधवार",
|
|
43
|
+
"dayThursday": "गुरुवार",
|
|
44
|
+
"dayFriday": "शुक्रवार",
|
|
45
|
+
"daySaturday": "शनिवार",
|
|
46
|
+
"daySunday": "रविवार",
|
|
47
|
+
"dayShortSun": "रवि",
|
|
48
|
+
"dayShortMon": "सोम",
|
|
49
|
+
"dayShortTue": "मंगल",
|
|
50
|
+
"dayShortWed": "बुध",
|
|
51
|
+
"dayShortThu": "गुरु",
|
|
52
|
+
"dayShortFri": "शुक्र",
|
|
53
|
+
"dayShortSat": "शनि",
|
|
54
|
+
"statusPending": "लंबित",
|
|
55
|
+
"statusConfirmed": "पुष्ट",
|
|
56
|
+
"statusCompleted": "पूर्ण",
|
|
57
|
+
"statusCancelled": "रद्द",
|
|
58
|
+
"statusNoShow": "अनुपस्थित",
|
|
59
|
+
"statusNoShowLabel": "अनुपस्थित",
|
|
60
|
+
"errorInvalidCreateStatus": "नए आरक्षण {{allowed}} स्टेटस से ही शुरू होने चाहिए।",
|
|
61
|
+
"errorInvalidTransition": "\"{{from}}\" से \"{{to}}\" में नहीं बदला जा सकता।",
|
|
62
|
+
"errorCancellationNotice": "रद्दीकरण के लिए कम से कम {{period}} घंटे की सूचना आवश्यक है। अपॉइंटमेंट में केवल {{hours}} घंटे शेष हैं।",
|
|
63
|
+
"errorConflict": "यह समय स्लॉट इस संसाधन के किसी मौजूदा आरक्षण से टकराता है।",
|
|
64
|
+
"calendarLoading": "आरक्षण लोड हो रहे हैं...",
|
|
65
|
+
"calendarToday": "आज",
|
|
66
|
+
"calendarCreateNew": "नया बनाएँ",
|
|
67
|
+
"calendarMonth": "माह",
|
|
68
|
+
"calendarWeek": "सप्ताह",
|
|
69
|
+
"calendarDay": "दिन",
|
|
70
|
+
"calendarLanes": "लेन",
|
|
71
|
+
"calendarUnknownService": "अज्ञात सेवा",
|
|
72
|
+
"calendarUnknownCustomer": "अज्ञात ग्राहक",
|
|
73
|
+
"calendarUnknownResource": "अज्ञात संसाधन",
|
|
74
|
+
"tooltipCustomer": "ग्राहक:",
|
|
75
|
+
"tooltipResource": "संसाधन:",
|
|
76
|
+
"tooltipStatus": "स्टेटस:",
|
|
77
|
+
"availabilityLoading": "उपलब्धता लोड हो रही है...",
|
|
78
|
+
"availabilityTitle": "उपलब्धता अवलोकन",
|
|
79
|
+
"availabilityThisWeek": "इस सप्ताह",
|
|
80
|
+
"availabilityNoResources": "कोई सक्रिय संसाधन नहीं मिला।",
|
|
81
|
+
"availabilityNotConfigured": "आरक्षण प्लगइन कॉन्फ़िगर नहीं किया गया है।",
|
|
82
|
+
"availabilityBooked": "बुक किया गया",
|
|
83
|
+
"availabilityXofYBooked": "{{booked}}/{{total}} बुक किए गए",
|
|
84
|
+
"availabilityUnavailable": "अनुपलब्ध",
|
|
85
|
+
"availabilityResource": "संसाधन",
|
|
86
|
+
"dashboardTitle": "आज के आरक्षण",
|
|
87
|
+
"dashboardTotal": "कुल",
|
|
88
|
+
"dashboardActive": "सक्रिय",
|
|
89
|
+
"dashboardUpcoming": "आगामी",
|
|
90
|
+
"dashboardTerminal": "बंद",
|
|
91
|
+
"dashboardCompleted": "पूर्ण",
|
|
92
|
+
"dashboardCancelled": "रद्द",
|
|
93
|
+
"dashboardNextAppointment": "अगला अपॉइंटमेंट",
|
|
94
|
+
"dashboardTime": "समय:",
|
|
95
|
+
"dashboardStatus": "स्टेटस:",
|
|
96
|
+
"dashboardNoUpcoming": "आज कोई आगामी अपॉइंटमेंट नहीं है।",
|
|
97
|
+
"fieldCustomerSearch": "ग्राहक खोजें...",
|
|
98
|
+
"fieldCustomerNoResults": "कोई ग्राहक नहीं मिला",
|
|
99
|
+
"fieldCustomerCreateNew": "नया ग्राहक बनाएँ",
|
|
100
|
+
"fieldCustomerClear": "चयन हटाएँ",
|
|
101
|
+
"calendarPending": "लंबित",
|
|
102
|
+
"pendingDateTime": "तारीख / समय",
|
|
103
|
+
"pendingActions": "क्रियाएँ",
|
|
104
|
+
"pendingSelectAll": "सभी चुनें",
|
|
105
|
+
"pendingConfirmSelected": "चयनित की पुष्टि करें ({{count}})",
|
|
106
|
+
"pendingConfirming": "पुष्टि की जा रही है...",
|
|
107
|
+
"pendingConfirm": "पुष्टि करें",
|
|
108
|
+
"pendingCancel": "रद्द करें",
|
|
109
|
+
"pendingConfirmSuccess": "आरक्षण की पुष्टि हो गई",
|
|
110
|
+
"pendingConfirmError": "आरक्षण की पुष्टि करने में विफल",
|
|
111
|
+
"pendingCancelSuccess": "आरक्षण रद्द कर दिया गया",
|
|
112
|
+
"pendingCancelError": "आरक्षण रद्द करने में विफल",
|
|
113
|
+
"pendingBulkConfirmSuccess": "{{succeeded}} पुष्ट, {{failed}} विफल",
|
|
114
|
+
"pendingEmpty": "कोई लंबित आरक्षण नहीं",
|
|
115
|
+
"fieldQuantity": "मात्रा",
|
|
116
|
+
"fieldCapacityMode": "क्षमता मोड",
|
|
117
|
+
"fieldTimezone": "समय क्षेत्र",
|
|
118
|
+
"fieldDurationType": "अवधि प्रकार",
|
|
119
|
+
"capacityPerReservation": "प्रति आरक्षण",
|
|
120
|
+
"capacityPerGuest": "प्रति अतिथि",
|
|
121
|
+
"durationFixed": "निश्चित",
|
|
122
|
+
"durationFlexible": "लचीला",
|
|
123
|
+
"durationFullDay": "पूरा दिन",
|
|
124
|
+
"fieldItems": "आइटम",
|
|
125
|
+
"fieldGuestCount": "अतिथि संख्या",
|
|
126
|
+
"filterAllResources": "सभी संसाधन",
|
|
127
|
+
"filterByResource": "संसाधन के अनुसार फ़िल्टर करें",
|
|
128
|
+
"fieldOwner": "स्वामी",
|
|
129
|
+
"fieldResourceType": "संसाधन प्रकार",
|
|
130
|
+
"fieldRequiredResources": "आवश्यक संसाधन",
|
|
131
|
+
"fieldRequiredResourcesDesc": "अतिरिक्त संसाधन पूल जो इस सेवा की हर बुकिंग में उपयोग होते हैं (उदाहरण के लिए एक कुर्सी)। बुकिंग को इन्हें शामिल करने के लिए स्वतः विस्तारित किया जाता है और यदि कोई पूल भरा हो तो बुकिंग अवरुद्ध हो जाती है।",
|
|
132
|
+
"fieldAllowGuestBooking": "अतिथि बुकिंग",
|
|
133
|
+
"fieldAllowGuestBookingDesc": "ग्राहक खाते के बिना बुकिंग की अनुमति दें। \"इनहेरिट\" प्लगइन-स्तरीय डिफ़ॉल्ट का उपयोग करता है।",
|
|
134
|
+
"guestBookingInherit": "प्लगइन डिफ़ॉल्ट इनहेरिट करें",
|
|
135
|
+
"guestBookingEnabled": "सक्षम",
|
|
136
|
+
"guestBookingDisabled": "अक्षम",
|
|
137
|
+
"fieldGuest": "अतिथि",
|
|
138
|
+
"fieldGuestDesc": "ग्राहक खाते के बिना की गई बुकिंग के लिए संपर्क विवरण। जब ग्राहक सेट हो तो इसे खाली छोड़ें।",
|
|
139
|
+
"fieldGuestName": "अतिथि का नाम",
|
|
140
|
+
"fieldGuestEmail": "अतिथि का ईमेल",
|
|
141
|
+
"fieldGuestPhone": "अतिथि का फ़ोन",
|
|
142
|
+
"fieldItemsDesc": "इस बुकिंग में शामिल संसाधन। एकल-संसाधन बुकिंग के लिए इसे खाली छोड़ें।",
|
|
143
|
+
"errorGuestOrCustomerRequired": "आरक्षण के लिए या तो ग्राहक या अतिथि की संपर्क जानकारी आवश्यक है।",
|
|
144
|
+
"errorGuestAndCustomer": "आरक्षण में ग्राहक और अतिथि दोनों की संपर्क जानकारी नहीं हो सकती।",
|
|
145
|
+
"errorGuestNameRequired": "अतिथि बुकिंग के लिए नाम आवश्यक है।",
|
|
146
|
+
"errorGuestContactRequired": "अतिथि बुकिंग के लिए ईमेल या फ़ोन नंबर आवश्यक है।",
|
|
147
|
+
"errorGuestNotAllowed": "इस सेवा के लिए अतिथि बुकिंग की अनुमति नहीं है।",
|
|
148
|
+
"pickPrompt": "उपलब्ध समय देखने के लिए एक सेवा और स्टाफ़ चुनें।",
|
|
149
|
+
"pickLoading": "उपलब्ध समय लोड हो रहे हैं…",
|
|
150
|
+
"pickNone": "इस दिन के लिए कोई उपलब्ध समय नहीं है।",
|
|
151
|
+
"laneNoResources": "दिखाने के लिए कोई सक्रिय संसाधन नहीं है।",
|
|
152
|
+
"slotFree": "खाली",
|
|
153
|
+
"slotFull": "भरा हुआ",
|
|
154
|
+
"slotOffShift": "शिफ़्ट से बाहर",
|
|
155
|
+
"slotTimeOff": "अवकाश"
|
|
156
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionServices": "Layanan",
|
|
3
|
+
"collectionResources": "Sumber Daya",
|
|
4
|
+
"collectionSchedules": "Jadwal",
|
|
5
|
+
"collectionReservations": "Reservasi",
|
|
6
|
+
"collectionCustomers": "Pelanggan",
|
|
7
|
+
"collectionCustomer": "Pelanggan",
|
|
8
|
+
"fieldFirstName": "Nama Depan",
|
|
9
|
+
"fieldLastName": "Nama Belakang",
|
|
10
|
+
"fieldName": "Nama",
|
|
11
|
+
"fieldDescription": "Deskripsi",
|
|
12
|
+
"fieldImage": "Gambar",
|
|
13
|
+
"fieldPrice": "Harga",
|
|
14
|
+
"fieldActive": "Aktif",
|
|
15
|
+
"fieldServices": "Layanan",
|
|
16
|
+
"fieldResource": "Sumber Daya",
|
|
17
|
+
"fieldService": "Layanan",
|
|
18
|
+
"fieldCustomer": "Pelanggan",
|
|
19
|
+
"fieldStartTime": "Waktu Mulai",
|
|
20
|
+
"fieldEndTime": "Waktu Selesai",
|
|
21
|
+
"fieldCancellationReason": "Alasan Pembatalan",
|
|
22
|
+
"fieldNotes": "Catatan",
|
|
23
|
+
"fieldStatus": "Status",
|
|
24
|
+
"fieldScheduleType": "Tipe Jadwal",
|
|
25
|
+
"fieldRecurringSlots": "Slot Berulang",
|
|
26
|
+
"fieldDay": "Hari",
|
|
27
|
+
"fieldManualSlots": "Slot Manual",
|
|
28
|
+
"fieldDate": "Tanggal",
|
|
29
|
+
"fieldEndDate": "Tanggal selesai",
|
|
30
|
+
"fieldExceptions": "Pengecualian",
|
|
31
|
+
"fieldLeaveType": "Tipe",
|
|
32
|
+
"fieldReason": "Alasan",
|
|
33
|
+
"fieldDurationMinutes": "Durasi (menit)",
|
|
34
|
+
"fieldBufferTimeBefore": "Waktu Jeda Sebelum (menit)",
|
|
35
|
+
"fieldBufferTimeAfter": "Waktu Jeda Sesudah (menit)",
|
|
36
|
+
"fieldStartTimeHHmm": "Waktu Mulai (HH:mm)",
|
|
37
|
+
"fieldEndTimeHHmm": "Waktu Selesai (HH:mm)",
|
|
38
|
+
"scheduleTypeRecurring": "Berulang",
|
|
39
|
+
"scheduleTypeManual": "Manual",
|
|
40
|
+
"dayMonday": "Senin",
|
|
41
|
+
"dayTuesday": "Selasa",
|
|
42
|
+
"dayWednesday": "Rabu",
|
|
43
|
+
"dayThursday": "Kamis",
|
|
44
|
+
"dayFriday": "Jumat",
|
|
45
|
+
"daySaturday": "Sabtu",
|
|
46
|
+
"daySunday": "Minggu",
|
|
47
|
+
"dayShortSun": "Min",
|
|
48
|
+
"dayShortMon": "Sen",
|
|
49
|
+
"dayShortTue": "Sel",
|
|
50
|
+
"dayShortWed": "Rab",
|
|
51
|
+
"dayShortThu": "Kam",
|
|
52
|
+
"dayShortFri": "Jum",
|
|
53
|
+
"dayShortSat": "Sab",
|
|
54
|
+
"statusPending": "Menunggu",
|
|
55
|
+
"statusConfirmed": "Dikonfirmasi",
|
|
56
|
+
"statusCompleted": "Selesai",
|
|
57
|
+
"statusCancelled": "Dibatalkan",
|
|
58
|
+
"statusNoShow": "Tidak Hadir",
|
|
59
|
+
"statusNoShowLabel": "Tidak hadir",
|
|
60
|
+
"errorInvalidCreateStatus": "Reservasi baru harus dimulai dengan status {{allowed}}.",
|
|
61
|
+
"errorInvalidTransition": "Tidak dapat berpindah dari \"{{from}}\" ke \"{{to}}\".",
|
|
62
|
+
"errorCancellationNotice": "Pembatalan memerlukan pemberitahuan minimal {{period}} jam. Hanya tersisa {{hours}} jam sebelum janji temu.",
|
|
63
|
+
"errorConflict": "Slot waktu ini berbenturan dengan reservasi yang sudah ada untuk sumber daya ini.",
|
|
64
|
+
"calendarLoading": "Memuat reservasi...",
|
|
65
|
+
"calendarToday": "Hari Ini",
|
|
66
|
+
"calendarCreateNew": "Buat Baru",
|
|
67
|
+
"calendarMonth": "Bulan",
|
|
68
|
+
"calendarWeek": "Minggu",
|
|
69
|
+
"calendarDay": "Hari",
|
|
70
|
+
"calendarLanes": "Jalur",
|
|
71
|
+
"calendarUnknownService": "Layanan tidak diketahui",
|
|
72
|
+
"calendarUnknownCustomer": "Pelanggan tidak diketahui",
|
|
73
|
+
"calendarUnknownResource": "Sumber daya tidak diketahui",
|
|
74
|
+
"tooltipCustomer": "Pelanggan:",
|
|
75
|
+
"tooltipResource": "Sumber Daya:",
|
|
76
|
+
"tooltipStatus": "Status:",
|
|
77
|
+
"availabilityLoading": "Memuat ketersediaan...",
|
|
78
|
+
"availabilityTitle": "Ikhtisar Ketersediaan",
|
|
79
|
+
"availabilityThisWeek": "Minggu Ini",
|
|
80
|
+
"availabilityNoResources": "Tidak ada sumber daya aktif yang ditemukan.",
|
|
81
|
+
"availabilityNotConfigured": "Plugin reservasi belum dikonfigurasi.",
|
|
82
|
+
"availabilityBooked": "Dipesan",
|
|
83
|
+
"availabilityXofYBooked": "{{booked}}/{{total}} dipesan",
|
|
84
|
+
"availabilityUnavailable": "Tidak Tersedia",
|
|
85
|
+
"availabilityResource": "Sumber Daya",
|
|
86
|
+
"dashboardTitle": "Reservasi Hari Ini",
|
|
87
|
+
"dashboardTotal": "Total",
|
|
88
|
+
"dashboardActive": "Aktif",
|
|
89
|
+
"dashboardUpcoming": "Mendatang",
|
|
90
|
+
"dashboardTerminal": "Ditutup",
|
|
91
|
+
"dashboardCompleted": "Selesai",
|
|
92
|
+
"dashboardCancelled": "Dibatalkan",
|
|
93
|
+
"dashboardNextAppointment": "Janji Temu Berikutnya",
|
|
94
|
+
"dashboardTime": "Waktu:",
|
|
95
|
+
"dashboardStatus": "Status:",
|
|
96
|
+
"dashboardNoUpcoming": "Tidak ada janji temu mendatang hari ini.",
|
|
97
|
+
"fieldCustomerSearch": "Cari pelanggan...",
|
|
98
|
+
"fieldCustomerNoResults": "Tidak ada pelanggan ditemukan",
|
|
99
|
+
"fieldCustomerCreateNew": "Buat pelanggan baru",
|
|
100
|
+
"fieldCustomerClear": "Hapus pilihan",
|
|
101
|
+
"calendarPending": "Menunggu",
|
|
102
|
+
"pendingDateTime": "Tanggal / Waktu",
|
|
103
|
+
"pendingActions": "Tindakan",
|
|
104
|
+
"pendingSelectAll": "Pilih semua",
|
|
105
|
+
"pendingConfirmSelected": "Konfirmasi Terpilih ({{count}})",
|
|
106
|
+
"pendingConfirming": "Mengonfirmasi...",
|
|
107
|
+
"pendingConfirm": "Konfirmasi",
|
|
108
|
+
"pendingCancel": "Batalkan",
|
|
109
|
+
"pendingConfirmSuccess": "Reservasi dikonfirmasi",
|
|
110
|
+
"pendingConfirmError": "Gagal mengonfirmasi reservasi",
|
|
111
|
+
"pendingCancelSuccess": "Reservasi dibatalkan",
|
|
112
|
+
"pendingCancelError": "Gagal membatalkan reservasi",
|
|
113
|
+
"pendingBulkConfirmSuccess": "{{succeeded}} dikonfirmasi, {{failed}} gagal",
|
|
114
|
+
"pendingEmpty": "Tidak ada reservasi yang menunggu",
|
|
115
|
+
"fieldQuantity": "Jumlah",
|
|
116
|
+
"fieldCapacityMode": "Mode Kapasitas",
|
|
117
|
+
"fieldTimezone": "Zona Waktu",
|
|
118
|
+
"fieldDurationType": "Tipe Durasi",
|
|
119
|
+
"capacityPerReservation": "Per Reservasi",
|
|
120
|
+
"capacityPerGuest": "Per Tamu",
|
|
121
|
+
"durationFixed": "Tetap",
|
|
122
|
+
"durationFlexible": "Fleksibel",
|
|
123
|
+
"durationFullDay": "Sepanjang Hari",
|
|
124
|
+
"fieldItems": "Item",
|
|
125
|
+
"fieldGuestCount": "Jumlah Tamu",
|
|
126
|
+
"filterAllResources": "Semua Sumber Daya",
|
|
127
|
+
"filterByResource": "Filter berdasarkan sumber daya",
|
|
128
|
+
"fieldOwner": "Pemilik",
|
|
129
|
+
"fieldResourceType": "Tipe sumber daya",
|
|
130
|
+
"fieldRequiredResources": "Sumber daya yang dibutuhkan",
|
|
131
|
+
"fieldRequiredResourcesDesc": "Kumpulan sumber daya tambahan yang ditempati oleh setiap pemesanan layanan ini (mis. sebuah kursi). Pemesanan otomatis diperluas untuk menyertakan ini dan diblokir jika ada kumpulan yang penuh.",
|
|
132
|
+
"fieldAllowGuestBooking": "Pemesanan tamu",
|
|
133
|
+
"fieldAllowGuestBookingDesc": "Izinkan pemesanan tanpa akun pelanggan. \"Warisi\" menggunakan default tingkat plugin.",
|
|
134
|
+
"guestBookingInherit": "Warisi default plugin",
|
|
135
|
+
"guestBookingEnabled": "Diaktifkan",
|
|
136
|
+
"guestBookingDisabled": "Dinonaktifkan",
|
|
137
|
+
"fieldGuest": "Tamu",
|
|
138
|
+
"fieldGuestDesc": "Detail kontak untuk pemesanan yang dibuat tanpa akun pelanggan. Biarkan kosong jika pelanggan telah ditetapkan.",
|
|
139
|
+
"fieldGuestName": "Nama tamu",
|
|
140
|
+
"fieldGuestEmail": "Email tamu",
|
|
141
|
+
"fieldGuestPhone": "Telepon tamu",
|
|
142
|
+
"fieldItemsDesc": "Sumber daya yang termasuk dalam pemesanan ini. Biarkan kosong untuk pemesanan sumber daya tunggal.",
|
|
143
|
+
"errorGuestOrCustomerRequired": "Reservasi memerlukan informasi kontak pelanggan atau tamu.",
|
|
144
|
+
"errorGuestAndCustomer": "Reservasi tidak dapat memiliki informasi kontak pelanggan dan tamu sekaligus.",
|
|
145
|
+
"errorGuestNameRequired": "Pemesanan tamu memerlukan nama.",
|
|
146
|
+
"errorGuestContactRequired": "Pemesanan tamu memerlukan alamat email atau nomor telepon.",
|
|
147
|
+
"errorGuestNotAllowed": "Pemesanan tamu tidak diizinkan untuk layanan ini.",
|
|
148
|
+
"pickPrompt": "Pilih layanan dan staf untuk melihat waktu yang tersedia.",
|
|
149
|
+
"pickLoading": "Memuat waktu yang tersedia…",
|
|
150
|
+
"pickNone": "Tidak ada waktu tersedia untuk hari ini.",
|
|
151
|
+
"laneNoResources": "Tidak ada sumber daya aktif untuk ditampilkan.",
|
|
152
|
+
"slotFree": "Kosong",
|
|
153
|
+
"slotFull": "Penuh",
|
|
154
|
+
"slotOffShift": "Di luar jam kerja",
|
|
155
|
+
"slotTimeOff": "Cuti"
|
|
156
|
+
}
|
|
@@ -1,7 +1,51 @@
|
|
|
1
|
+
import ar from './ar.json';
|
|
2
|
+
import de from './de.json';
|
|
1
3
|
import en from './en.json';
|
|
4
|
+
import es from './es.json';
|
|
5
|
+
import fa from './fa.json';
|
|
6
|
+
import fr from './fr.json';
|
|
7
|
+
import hi from './hi.json';
|
|
8
|
+
import id from './id.json';
|
|
9
|
+
import pl from './pl.json';
|
|
10
|
+
import ru from './ru.json';
|
|
11
|
+
import tr from './tr.json';
|
|
12
|
+
import zh from './zh.json';
|
|
2
13
|
export const translations = {
|
|
14
|
+
id: {
|
|
15
|
+
reservation: id
|
|
16
|
+
},
|
|
17
|
+
ar: {
|
|
18
|
+
reservation: ar
|
|
19
|
+
},
|
|
20
|
+
de: {
|
|
21
|
+
reservation: de
|
|
22
|
+
},
|
|
3
23
|
en: {
|
|
4
24
|
reservation: en
|
|
25
|
+
},
|
|
26
|
+
es: {
|
|
27
|
+
reservation: es
|
|
28
|
+
},
|
|
29
|
+
fa: {
|
|
30
|
+
reservation: fa
|
|
31
|
+
},
|
|
32
|
+
fr: {
|
|
33
|
+
reservation: fr
|
|
34
|
+
},
|
|
35
|
+
hi: {
|
|
36
|
+
reservation: hi
|
|
37
|
+
},
|
|
38
|
+
pl: {
|
|
39
|
+
reservation: pl
|
|
40
|
+
},
|
|
41
|
+
ru: {
|
|
42
|
+
reservation: ru
|
|
43
|
+
},
|
|
44
|
+
tr: {
|
|
45
|
+
reservation: tr
|
|
46
|
+
},
|
|
47
|
+
zh: {
|
|
48
|
+
reservation: zh
|
|
5
49
|
}
|
|
6
50
|
};
|
|
7
51
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/translations/index.ts"],"sourcesContent":["import en from './en.json' with { type: 'json' }\n\nexport const translations: Record<string, Record<string, unknown>> = {\n en: { reservation: en },\n}\n\ntype EnKeys = keyof typeof en\n/** Union of all valid plugin translation keys, e.g. `\"reservation:fieldName\"` */\nexport type PluginTranslationKeys = `reservation:${EnKeys}`\n\n/** Helper type for plugin translation calls (bypasses DefaultTranslationKeys constraint) */\nexport type PluginT = (key: string, vars?: Record<string, unknown>) => string\n"],"names":["en","translations","reservation"],"mappings":"AAAA,OAAOA,QAAQ,YAAiC;AAEhD,OAAO,MAAMC,eAAwD;
|
|
1
|
+
{"version":3,"sources":["../../src/translations/index.ts"],"sourcesContent":["import ar from './ar.json' with { type: 'json' }\nimport de from './de.json' with { type: 'json' }\nimport en from './en.json' with { type: 'json' }\nimport es from './es.json' with { type: 'json' }\nimport fa from './fa.json' with { type: 'json' }\nimport fr from './fr.json' with { type: 'json' }\nimport hi from './hi.json' with { type: 'json' }\nimport id from './id.json' with { type: 'json' }\nimport pl from './pl.json' with { type: 'json' }\nimport ru from './ru.json' with { type: 'json' }\nimport tr from './tr.json' with { type: 'json' }\nimport zh from './zh.json' with { type: 'json' }\n\nexport const translations: Record<string, Record<string, unknown>> = {\n id: { reservation: id },\n ar: { reservation: ar },\n de: { reservation: de },\n en: { reservation: en },\n es: { reservation: es },\n fa: { reservation: fa },\n fr: { reservation: fr },\n hi: { reservation: hi },\n pl: { reservation: pl },\n ru: { reservation: ru },\n tr: { reservation: tr },\n zh: { reservation: zh },\n}\n\ntype EnKeys = keyof typeof en\n/** Union of all valid plugin translation keys, e.g. `\"reservation:fieldName\"` */\nexport type PluginTranslationKeys = `reservation:${EnKeys}`\n\n/** Helper type for plugin translation calls (bypasses DefaultTranslationKeys constraint) */\nexport type PluginT = (key: string, vars?: Record<string, unknown>) => string\n"],"names":["ar","de","en","es","fa","fr","hi","id","pl","ru","tr","zh","translations","reservation"],"mappings":"AAAA,OAAOA,QAAQ,YAAiC;AAChD,OAAOC,QAAQ,YAAiC;AAChD,OAAOC,QAAQ,YAAiC;AAChD,OAAOC,QAAQ,YAAiC;AAChD,OAAOC,QAAQ,YAAiC;AAChD,OAAOC,QAAQ,YAAiC;AAChD,OAAOC,QAAQ,YAAiC;AAChD,OAAOC,QAAQ,YAAiC;AAChD,OAAOC,QAAQ,YAAiC;AAChD,OAAOC,QAAQ,YAAiC;AAChD,OAAOC,QAAQ,YAAiC;AAChD,OAAOC,QAAQ,YAAiC;AAEhD,OAAO,MAAMC,eAAwD;IACnEL,IAAI;QAAEM,aAAaN;IAAG;IACtBP,IAAI;QAAEa,aAAab;IAAG;IACtBC,IAAI;QAAEY,aAAaZ;IAAG;IACtBC,IAAI;QAAEW,aAAaX;IAAG;IACtBC,IAAI;QAAEU,aAAaV;IAAG;IACtBC,IAAI;QAAES,aAAaT;IAAG;IACtBC,IAAI;QAAEQ,aAAaR;IAAG;IACtBC,IAAI;QAAEO,aAAaP;IAAG;IACtBE,IAAI;QAAEK,aAAaL;IAAG;IACtBC,IAAI;QAAEI,aAAaJ;IAAG;IACtBC,IAAI;QAAEG,aAAaH;IAAG;IACtBC,IAAI;QAAEE,aAAaF;IAAG;AACxB,EAAC"}
|