Version Description
Download this release
Release Info
Developer | Ladela |
Plugin | WordPress Online Booking and Scheduling Plugin – Bookly |
Version | 18.9 |
Comparing to | |
See all releases |
Code changes from version 18.8 to 18.9
- backend/components/dialogs/appointment/delete/Ajax.php +3 -1
- backend/components/dialogs/appointment/edit/Ajax.php +149 -176
- backend/components/dialogs/appointment/edit/proxy/RecurringAppointments.php +1 -0
- backend/components/dialogs/appointment/edit/proxy/ServiceSchedule.php +15 -0
- backend/components/dialogs/appointment/edit/resources/js/ng-appointment.js +34 -5
- backend/components/dialogs/appointment/edit/templates/edit.php +43 -45
- backend/components/dialogs/customer/delete/Ajax.php +1 -0
- backend/components/dialogs/customer/edit/templates/edit.php +1 -1
- backend/components/dialogs/sms/templates/_settings.php +1 -1
- backend/components/dialogs/staff/edit/Ajax.php +22 -5
- backend/{modules/staff → components/dialogs/staff/edit}/forms/StaffSchedule.php +2 -2
- backend/components/dialogs/staff/edit/proxy/Locations.php +15 -0
- backend/components/dialogs/staff/edit/proxy/OutlookCalendar.php +15 -0
- backend/components/dialogs/staff/edit/proxy/Pro.php +1 -1
- backend/components/dialogs/staff/edit/proxy/Ratings.php +15 -0
- backend/components/dialogs/staff/edit/proxy/Shared.php +24 -0
- backend/components/dialogs/staff/edit/templates/details.php +4 -5
- backend/components/dialogs/staff/edit/templates/dialog_body.php +1 -1
- backend/components/dialogs/staff/edit/templates/schedule.php +1 -1
- backend/components/dialogs/staff/edit/templates/services.php +1 -1
- backend/components/notices/PoweredBy.php +1 -1
- backend/components/notices/PoweredByAjax.php +1 -1
- backend/modules/appointments/Ajax.php +2 -0
- backend/modules/calendar/Ajax.php +71 -67
- backend/modules/calendar/Page.php +1 -1
- backend/modules/calendar/proxy/Shared.php +1 -1
- backend/modules/calendar/resources/css/event-calendar.min.css +1 -1
- backend/modules/calendar/resources/js/calendar-common.js +7 -15
- backend/modules/calendar/resources/js/calendar.js +11 -4
- backend/modules/calendar/resources/js/event-calendar.min.js +1 -1
- backend/modules/cloud_settings/Ajax.php +9 -2
- backend/modules/cloud_settings/templates/index.php +2 -2
- backend/modules/debug/Ajax.php +10 -0
- backend/modules/debug/Page.php +8 -3
- backend/modules/debug/lib/QueryBuilder.php +10 -0
- backend/modules/debug/lib/tests/Session.php +2 -0
- backend/modules/debug/resources/js/debug.js +2 -1
- backend/modules/services/Ajax.php +7 -2
- backend/modules/services/proxy/Shared.php +1 -1
- backend/modules/settings/Ajax.php +51 -0
- backend/modules/settings/Page.php +19 -9
- backend/modules/settings/resources/js/settings.js +112 -1
- backend/modules/settings/templates/_generalForm.php +2 -2
- backend/modules/settings/templates/_logsForm.php +48 -0
- backend/modules/settings/templates/index.php +4 -0
- backend/modules/staff/Ajax.php +3 -35
- backend/modules/staff/proxy/Locations.php +2 -5
- backend/modules/staff/proxy/OutlookCalendar.php +2 -4
- backend/modules/staff/proxy/Pro.php +0 -3
- backend/modules/staff/proxy/Ratings.php +2 -4
- backend/modules/staff/proxy/Shared.php +0 -10
- backend/resources/js/angular.min.js +3 -3
- frontend/components/booking/InfoText.php +1 -1
- frontend/modules/booking/Ajax.php +1 -0
- frontend/modules/booking/templates/1_service_time.php +13 -2
- frontend/modules/booking/templates/6_details.php +1 -1
- frontend/modules/booking/templates/short_code.php +1 -1
- frontend/modules/stripe/Ajax.php +1 -0
- frontend/modules/stripe/Controller.php +4 -1
- frontend/modules/zapier/Ajax.php +2 -5
- frontend/resources/css/bookly-main.css +4 -4
- frontend/resources/js/bookly.js +94 -51
- frontend/resources/js/bookly.min.js +1 -1
- frontend/resources/js/src/components/ChainItem.svelte +10 -5
- frontend/resources/js/src/service_step.js +6 -1
- languages/bookly-de_DE.mo +0 -0
- languages/bookly-de_DE.po +555 -507
- languages/bookly-es_ES.mo +0 -0
- languages/bookly-es_ES.po +529 -480
- languages/bookly-fr_FR.mo +0 -0
- languages/bookly-fr_FR.po +586 -539
- languages/bookly-nl_NL.mo +0 -0
- languages/bookly-nl_NL.po +531 -483
- languages/bookly-pt_PT.mo +0 -0
- languages/bookly-pt_PT.po +533 -479
- languages/bookly-ru_RU.mo +0 -0
- languages/bookly-ru_RU.po +522 -474
- languages/bookly-zh_TW.mo +0 -0
- languages/bookly-zh_TW.po +111 -88
backend/components/dialogs/appointment/delete/Ajax.php
CHANGED
@@ -57,7 +57,9 @@ class Ajax extends Lib\Base\Ajax
|
|
57 |
}
|
58 |
}
|
59 |
|
60 |
-
Lib\Entities\Appointment::find( $appointment_id )
|
|
|
|
|
61 |
|
62 |
wp_send_json_success( compact( 'queue' ) );
|
63 |
}
|
57 |
}
|
58 |
}
|
59 |
|
60 |
+
$appointment = Lib\Entities\Appointment::find( $appointment_id );
|
61 |
+
Lib\Utils\Log::deleteEntity( $appointment, __METHOD__ );
|
62 |
+
$appointment->delete();
|
63 |
|
64 |
wp_send_json_success( compact( 'queue' ) );
|
65 |
}
|
backend/components/dialogs/appointment/edit/Ajax.php
CHANGED
@@ -369,6 +369,7 @@ class Ajax extends Lib\Base\Ajax
|
|
369 |
$end_date = self::parameter( 'end_date' );
|
370 |
$repeat = json_decode( self::parameter( 'repeat', '[]' ), true );
|
371 |
$schedule = self::parameter( 'schedule', array() );
|
|
|
372 |
$customers = json_decode( self::parameter( 'customers', '[]' ), true );
|
373 |
$notification = self::parameter( 'notification', false );
|
374 |
$internal_note = self::parameter( 'internal_note' );
|
@@ -516,6 +517,7 @@ class Ajax extends Lib\Base\Ajax
|
|
516 |
->setInternalNote( $internal_note )
|
517 |
->setExtrasDuration( $max_extras_duration )
|
518 |
->save();
|
|
|
519 |
}
|
520 |
|
521 |
if ( $appointment->getId() ) {
|
@@ -562,6 +564,12 @@ class Ajax extends Lib\Base\Ajax
|
|
562 |
if ( $appointment->getStaffId() != $staff_id ) {
|
563 |
$appointment->setStaffAny( 0 );
|
564 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
565 |
}
|
566 |
$appointment
|
567 |
->setLocationId( $location_id )
|
@@ -574,7 +582,18 @@ class Ajax extends Lib\Base\Ajax
|
|
574 |
->setInternalNote( $internal_note )
|
575 |
->setExtrasDuration( $max_extras_duration );
|
576 |
|
|
|
|
|
|
|
|
|
577 |
if ( $appointment->save() !== false ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
578 |
// Save customer appointments.
|
579 |
$ca_status_changed = $appointment->saveCustomerAppointments( $customers );
|
580 |
|
@@ -582,6 +601,38 @@ class Ajax extends Lib\Base\Ajax
|
|
582 |
if ( $customer['payment_create'] === true && $customer['series_id'] ) {
|
583 |
Proxy\RecurringAppointments::createBackendPayment( Lib\Entities\Series::find( $customer['series_id'] ), $customer );
|
584 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
585 |
}
|
586 |
|
587 |
// Online meeting.
|
@@ -594,9 +645,6 @@ class Ajax extends Lib\Base\Ajax
|
|
594 |
// Outlook Calendar.
|
595 |
Lib\Proxy\OutlookCalendar::syncEvent( $appointment );
|
596 |
|
597 |
-
$queue_changed_status = array();
|
598 |
-
$queue = array();
|
599 |
-
|
600 |
// Send notifications.
|
601 |
if ( $notification ) {
|
602 |
// Waiting list.
|
@@ -667,6 +715,7 @@ class Ajax extends Lib\Base\Ajax
|
|
667 |
}
|
668 |
}
|
669 |
}
|
|
|
670 |
if ( $start_date && $end_date ) {
|
671 |
$total_end_date = $end_date;
|
672 |
if ( $max_extras_duration > 0 ) {
|
@@ -677,201 +726,125 @@ class Ajax extends Lib\Base\Ajax
|
|
677 |
}
|
678 |
|
679 |
// Check if selected interval fit into staff schedule.
|
680 |
-
$
|
681 |
-
|
682 |
$staff = Lib\Entities\Staff::find( $staff_id );
|
683 |
|
684 |
// Check if interval is suitable for staff's hours limit
|
685 |
$result['staff_reaches_working_time_limit'] = Lib\Proxy\Pro::getWorkingTimeLimitError( $staff, $start_date, $end_date, $appointment_duration + $max_extras_duration, $appointment_id ) ?: false;
|
686 |
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
705 |
}
|
706 |
-
|
707 |
-
|
|
|
|
|
|
|
708 |
$interval_valid = false;
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
$
|
719 |
-
if (
|
720 |
-
// Check if interval
|
721 |
-
$
|
722 |
-
|
723 |
-
if (
|
724 |
-
$
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
->whereNot( 'start_time', null )
|
737 |
-
->whereLte( 'start_time', $day_start_time )
|
738 |
-
->whereGte( 'end_time', $day_end_time )
|
739 |
-
->fetchRow();
|
740 |
-
if ( $ssi ) {
|
741 |
-
// Check if interval not intercept with breaks.
|
742 |
-
if ( Lib\Entities\ScheduleItemBreak::query()
|
743 |
-
->where( 'staff_schedule_item_id', $ssi['id'] )
|
744 |
-
->whereLt( 'start_time', $day_end_time )
|
745 |
-
->whereGt( 'end_time', $day_start_time )
|
746 |
-
->count() == 0
|
747 |
-
) {
|
748 |
-
$interval_valid = true;
|
749 |
-
break;
|
750 |
}
|
751 |
}
|
752 |
-
|
753 |
-
}
|
754 |
-
}
|
755 |
-
}
|
756 |
-
}
|
757 |
-
if ( ! $interval_valid ) {
|
758 |
-
$result['interval_not_in_staff_schedule'] = true;
|
759 |
-
}
|
760 |
-
if ( $service ) {
|
761 |
-
if ( $service_duration >= DAY_IN_SECONDS ) {
|
762 |
-
// For services with duration 24+ hours check days off
|
763 |
-
$service_schedule = (array) Lib\Proxy\ServiceSchedule::getSchedule( $service_id );
|
764 |
-
$interval_valid = true;
|
765 |
-
|
766 |
-
// Check service schedule and service special days
|
767 |
-
for ( $day = 0; $day < $service_duration / DAY_IN_SECONDS; $day ++ ) {
|
768 |
-
$work_date = date_create( $start_date )->modify( sprintf( '%s days', $day ) );
|
769 |
-
$week_day = $work_date->format( 'w' ) + 1;
|
770 |
-
// Check service schedule for days off
|
771 |
-
$service_schedule_valid = true;
|
772 |
-
if ( Lib\Config::serviceScheduleActive() ) {
|
773 |
-
$service_schedule_valid = false;
|
774 |
-
foreach ( $service_schedule as $day_schedule ) {
|
775 |
-
if ( $day_schedule['day_index'] == $week_day && $day_schedule['start_time'] ) {
|
776 |
-
$service_schedule_valid = true;
|
777 |
-
break;
|
778 |
-
}
|
779 |
-
}
|
780 |
-
}
|
781 |
-
if ( ! $service_schedule_valid ) {
|
782 |
-
$interval_valid = false;
|
783 |
-
break;
|
784 |
-
}
|
785 |
-
// Check service special days for days off
|
786 |
-
$service_special_days_valid = true;
|
787 |
-
if ( Lib\Config::specialDaysActive() ) {
|
788 |
-
$special_days = (array) Lib\Proxy\SpecialDays::getServiceSchedule( $service_id, $work_date, $work_date );
|
789 |
-
if ( ! empty( $special_days ) ) {
|
790 |
-
$service_special_days_valid = false;
|
791 |
-
$schedule = current( $special_days );
|
792 |
-
if ( $schedule['start_time'] ) {
|
793 |
-
$service_special_days_valid = true;
|
794 |
-
}
|
795 |
-
}
|
796 |
-
}
|
797 |
-
if ( ! $service_special_days_valid ) {
|
798 |
-
$interval_valid = false;
|
799 |
-
break;
|
800 |
-
}
|
801 |
-
}
|
802 |
-
if ( ! $interval_valid ) {
|
803 |
-
$result['interval_not_in_service_schedule'] = true;
|
804 |
-
}
|
805 |
-
// Check staff schedule and staff special days
|
806 |
-
$interval_valid = true;
|
807 |
-
for ( $day = 0; $day < $service_duration / DAY_IN_SECONDS; $day ++ ) {
|
808 |
-
$work_date = date_create( $start_date )->modify( sprintf( '%s days', $day ) );
|
809 |
-
$week_day = $work_date->format( 'w' ) + 1;
|
810 |
-
if ( Lib\Entities\StaffScheduleItem::query()
|
811 |
-
->where( 'staff_id', $staff_id )
|
812 |
-
->where( 'day_index', $week_day )
|
813 |
-
->whereNot( 'start_time', null )
|
814 |
-
->count() == 0
|
815 |
-
) {
|
816 |
-
$interval_valid = false;
|
817 |
-
break;
|
818 |
-
}
|
819 |
-
}
|
820 |
-
if ( ! $interval_valid ) {
|
821 |
-
$result['interval_not_in_staff_schedule'] = true;
|
822 |
-
}
|
823 |
-
} else {
|
824 |
-
// Check if selected interval fit into service schedule.
|
825 |
-
$interval_valid = false;
|
826 |
-
// Check day before and current day to get night schedule from previous day.
|
827 |
-
for ( $day = 0; $day <= 1; $day ++ ) {
|
828 |
-
$day_start_date = date_create( $start_date )->modify( sprintf( '%s days', $day - 1 ) );
|
829 |
-
$day_end_date = date_create( $end_date )->modify( sprintf( '%s days', $day - 1 ) );
|
830 |
-
|
831 |
-
$day_start_hour = ( 1 - $day ) * 24 + $day_start_date->format( 'G' );
|
832 |
-
$day_end_hour = ( 1 - $day ) * 24 + $day_end_date->format( 'G' );
|
833 |
-
$day_start_time = sprintf( '%02d:%02d:00', $day_start_hour, $day_start_date->format( 'i' ) );
|
834 |
-
$day_end_time = sprintf( '%02d:%02d:00', $day_end_hour >= $day_start_hour ? $day_end_hour : $day_end_hour + 24, $day_end_date->format( 'i' ) );
|
835 |
-
|
836 |
-
$special_days = (array) Lib\Proxy\SpecialDays::getServiceSchedule( $service_id, $day_start_date, $day_start_date );
|
837 |
-
if ( ! empty( $special_days ) ) {
|
838 |
-
// Check if interval fit into special day schedule.
|
839 |
-
$special_day = current( $special_days );
|
840 |
-
if ( ( $special_day['start_time'] <= $day_start_time ) && ( $special_day['end_time'] >= $day_end_time ) ) {
|
841 |
-
if ( ! ( $special_day['break_start'] && ( $special_day['break_start'] < $day_end_time ) && ( $special_day['break_end'] > $day_start_time ) ) ) {
|
842 |
$interval_valid = true;
|
843 |
break;
|
844 |
}
|
845 |
}
|
846 |
} else {
|
847 |
-
//
|
848 |
-
$
|
849 |
-
if (
|
850 |
-
$
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
859 |
}
|
860 |
}
|
|
|
|
|
|
|
|
|
861 |
}
|
862 |
-
} else {
|
863 |
-
$interval_valid = true;
|
864 |
-
break;
|
865 |
}
|
866 |
}
|
|
|
867 |
}
|
868 |
-
if ( ! $interval_valid ) {
|
869 |
-
$result['interval_not_in_service_schedule'] = true;
|
870 |
-
}
|
871 |
-
// Service duration interval is not equal to.
|
872 |
-
$result['date_interval_warning'] = ! ( $appointment_duration >= $service->getMinDuration() && $appointment_duration <= $service->getMaxDuration() && ( $service_duration == 0 || $appointment_duration % $service_duration == 0 ) );
|
873 |
}
|
874 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
875 |
// Check customers for appointments limit
|
876 |
foreach ( $customers as $index => $customer ) {
|
877 |
if ( $service->appointmentsLimitReached( $customer['id'], array( $start_date ) ) ) {
|
369 |
$end_date = self::parameter( 'end_date' );
|
370 |
$repeat = json_decode( self::parameter( 'repeat', '[]' ), true );
|
371 |
$schedule = self::parameter( 'schedule', array() );
|
372 |
+
$reschedule_type = self::parameter( 'reschedule_type', 'current' );
|
373 |
$customers = json_decode( self::parameter( 'customers', '[]' ), true );
|
374 |
$notification = self::parameter( 'notification', false );
|
375 |
$internal_note = self::parameter( 'internal_note' );
|
517 |
->setInternalNote( $internal_note )
|
518 |
->setExtrasDuration( $max_extras_duration )
|
519 |
->save();
|
520 |
+
Lib\Utils\Log::createEntity( $appointment, __METHOD__ );
|
521 |
}
|
522 |
|
523 |
if ( $appointment->getId() ) {
|
564 |
if ( $appointment->getStaffId() != $staff_id ) {
|
565 |
$appointment->setStaffAny( 0 );
|
566 |
}
|
567 |
+
if ( $reschedule_type != 'current' ) {
|
568 |
+
$start_date_timestamp = strtotime( $start_date );
|
569 |
+
$days_offset = floor( $start_date_timestamp / DAY_IN_SECONDS ) - floor( strtotime( $appointment->getStartDate() ) / DAY_IN_SECONDS );
|
570 |
+
$reschedule_start_time = $start_date_timestamp % DAY_IN_SECONDS;
|
571 |
+
$current_start_date = $appointment->getStartDate();
|
572 |
+
}
|
573 |
}
|
574 |
$appointment
|
575 |
->setLocationId( $location_id )
|
582 |
->setInternalNote( $internal_note )
|
583 |
->setExtrasDuration( $max_extras_duration );
|
584 |
|
585 |
+
if ( $appointment_id ) {
|
586 |
+
Lib\Utils\Log::updateEntity( $appointment, __METHOD__ );
|
587 |
+
}
|
588 |
+
|
589 |
if ( $appointment->save() !== false ) {
|
590 |
+
|
591 |
+
$queue_changed_status = array();
|
592 |
+
$queue = array();
|
593 |
+
|
594 |
+
if ( ! $appointment_id ) {
|
595 |
+
Lib\Utils\Log::createEntity( $appointment, __METHOD__ );
|
596 |
+
}
|
597 |
// Save customer appointments.
|
598 |
$ca_status_changed = $appointment->saveCustomerAppointments( $customers );
|
599 |
|
601 |
if ( $customer['payment_create'] === true && $customer['series_id'] ) {
|
602 |
Proxy\RecurringAppointments::createBackendPayment( Lib\Entities\Series::find( $customer['series_id'] ), $customer );
|
603 |
}
|
604 |
+
// Reschedule all recurring appointments for $days_offset days and set it's time to $reschedule_start_time
|
605 |
+
$rescheduled_appointments = array( $appointment_id );
|
606 |
+
if ( $appointment_id && $reschedule_type != 'current' && $customer['series_id'] ) {
|
607 |
+
$query = Lib\Entities\Appointment::query( 'a' )
|
608 |
+
->leftJoin( 'CustomerAppointment', 'ca', 'ca.appointment_id = a.id' )
|
609 |
+
->where( 'ca.series_id', $customer['series_id'] )
|
610 |
+
->whereNotIn( 'a.id', $rescheduled_appointments );
|
611 |
+
if ( $reschedule_type == 'next' ) {
|
612 |
+
$query->whereGt( 'a.start_date', $current_start_date );
|
613 |
+
}
|
614 |
+
$reschedule_appointments = $query->find();
|
615 |
+
/** @var Lib\Entities\Appointment $reschedule_appointment */
|
616 |
+
foreach ( $reschedule_appointments as $reschedule_appointment ) {
|
617 |
+
$start_timestamp = strtotime( $reschedule_appointment->getStartDate() );
|
618 |
+
$duration = strtotime( $reschedule_appointment->getEndDate() ) - $start_timestamp;
|
619 |
+
$new_start_timestamp = ( (int) ( $start_timestamp / DAY_IN_SECONDS ) + $days_offset ) * DAY_IN_SECONDS + $reschedule_start_time;
|
620 |
+
$reschedule_appointment
|
621 |
+
->setStartDate( date( 'Y-m-d H:i:s', $new_start_timestamp ) )
|
622 |
+
->setEndDate( date( 'Y-m-d H:i:s', $new_start_timestamp + $duration ) );
|
623 |
+
|
624 |
+
Lib\Utils\Log::updateEntity( $reschedule_appointment, __METHOD__, 'Reschedule recurring appointment' );
|
625 |
+
|
626 |
+
$reschedule_appointment->save();
|
627 |
+
|
628 |
+
$rescheduled_appointments[] = $reschedule_appointment->getId();
|
629 |
+
if ( $notification ) {
|
630 |
+
foreach ( $reschedule_appointment->getCustomerAppointments( true ) as $ca ) {
|
631 |
+
Lib\Notifications\Booking\Sender::sendForCA( $ca, $appointment, array(), true, $queue );
|
632 |
+
}
|
633 |
+
}
|
634 |
+
}
|
635 |
+
}
|
636 |
}
|
637 |
|
638 |
// Online meeting.
|
645 |
// Outlook Calendar.
|
646 |
Lib\Proxy\OutlookCalendar::syncEvent( $appointment );
|
647 |
|
|
|
|
|
|
|
648 |
// Send notifications.
|
649 |
if ( $notification ) {
|
650 |
// Waiting list.
|
715 |
}
|
716 |
}
|
717 |
}
|
718 |
+
|
719 |
if ( $start_date && $end_date ) {
|
720 |
$total_end_date = $end_date;
|
721 |
if ( $max_extras_duration > 0 ) {
|
726 |
}
|
727 |
|
728 |
// Check if selected interval fit into staff schedule.
|
729 |
+
if ( $staff_id ) {
|
730 |
+
$interval_valid = true;
|
731 |
$staff = Lib\Entities\Staff::find( $staff_id );
|
732 |
|
733 |
// Check if interval is suitable for staff's hours limit
|
734 |
$result['staff_reaches_working_time_limit'] = Lib\Proxy\Pro::getWorkingTimeLimitError( $staff, $start_date, $end_date, $appointment_duration + $max_extras_duration, $appointment_id ) ?: false;
|
735 |
|
736 |
+
// Apply staff time zone if needed
|
737 |
+
$staff_tz = $staff->getTimeZone();
|
738 |
+
if ( $staff_tz ) {
|
739 |
+
$start_date = Lib\Utils\DateTime::convertTimeZone( $start_date, Lib\Config::getWPTimeZone(), $staff_tz );
|
740 |
+
$end_date = Lib\Utils\DateTime::convertTimeZone( $end_date, Lib\Config::getWPTimeZone(), $staff_tz );
|
741 |
+
}
|
742 |
+
|
743 |
+
$start = date_create( $start_date );
|
744 |
+
$end = date_create( $end_date );
|
745 |
+
$schedule_items = $staff->getScheduleItems( $location_id );
|
746 |
+
$special_days = array();
|
747 |
+
foreach ( (array) Lib\Proxy\SpecialDays::getSchedule( array( $staff_id ), $start, $end ) as $day ) {
|
748 |
+
$special_days[ $day['date'] ][] = $day;
|
749 |
+
}
|
750 |
+
|
751 |
+
// Check staff schedule for holidays and days off
|
752 |
+
$date = clone $start;
|
753 |
+
while ( $date < $end ) {
|
754 |
+
if (
|
755 |
+
! isset ( $special_days[ $date->format( 'Y-m-d' ) ] ) && (
|
756 |
+
$staff->isOnHoliday( $date ) ||
|
757 |
+
! $schedule_items[ $date->format( 'w' ) + 1 ]->getStartTime()
|
758 |
+
)
|
759 |
+
) {
|
760 |
+
$interval_valid = false;
|
761 |
+
break;
|
762 |
}
|
763 |
+
$date->modify( '+1 day' );
|
764 |
+
}
|
765 |
+
|
766 |
+
if ( $interval_valid && $service_duration < DAY_IN_SECONDS ) {
|
767 |
+
// For services with duration not in days check staff working hours
|
768 |
$interval_valid = false;
|
769 |
+
// Check start and previous day to get night schedule
|
770 |
+
$date = clone $start;
|
771 |
+
$date->modify( '-1 day' );
|
772 |
+
while ( $date <= $start ) {
|
773 |
+
$Ymd = $date->format( 'Y-m-d' );
|
774 |
+
$Ymd_secs = strtotime( $Ymd );
|
775 |
+
if ( isset ( $special_days[ $Ymd ] ) ) {
|
776 |
+
// Special day
|
777 |
+
$day_start = $Ymd . ' ' . $special_days[ $Ymd ][0]['start_time'];
|
778 |
+
$day_end = date( 'Y-m-d H:i:s', $Ymd_secs + Lib\Utils\DateTime::timeToSeconds( $special_days[ $Ymd ][0]['end_time'] ) );
|
779 |
+
if ( $day_start <= $start_date && $day_end >= $end_date ) {
|
780 |
+
// Check if interval does not intersect with breaks
|
781 |
+
$intersects = false;
|
782 |
+
foreach ( $special_days[ $Ymd ] as $break ) {
|
783 |
+
if ( $break['break_start'] ) {
|
784 |
+
$break_start = date(
|
785 |
+
'Y-m-d H:i:s',
|
786 |
+
$Ymd_secs + Lib\Utils\DateTime::timeToSeconds( $break['break_start'] )
|
787 |
+
);
|
788 |
+
$break_end = date(
|
789 |
+
'Y-m-d H:i:s',
|
790 |
+
$Ymd_secs + Lib\Utils\DateTime::timeToSeconds( $break['break_end'] )
|
791 |
+
);
|
792 |
+
if ( $break_start < $end_date && $break_end > $start_date ) {
|
793 |
+
$intersects = true;
|
794 |
+
break;
|
795 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
796 |
}
|
797 |
}
|
798 |
+
if ( ! $intersects ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
799 |
$interval_valid = true;
|
800 |
break;
|
801 |
}
|
802 |
}
|
803 |
} else {
|
804 |
+
// Regular schedule
|
805 |
+
$item = $schedule_items[ $date->format( 'w' ) + 1 ];
|
806 |
+
if ( $item->getStartTime() ) {
|
807 |
+
$day_start = $Ymd . ' ' . $item->getStartTime();
|
808 |
+
$day_end = date( 'Y-m-d H:i:s', $Ymd_secs + Lib\Utils\DateTime::timeToSeconds( $item->getEndTime() ) );
|
809 |
+
if ( $day_start <= $start_date && $day_end >= $end_date ) {
|
810 |
+
// Check if interval does not intersect with breaks
|
811 |
+
$intersects = false;
|
812 |
+
foreach ( $item->getBreaksList() as $break ) {
|
813 |
+
$break_start = date(
|
814 |
+
'Y-m-d H:i:s',
|
815 |
+
$Ymd_secs + Lib\Utils\DateTime::timeToSeconds( $break['start_time'] )
|
816 |
+
);
|
817 |
+
$break_end = date(
|
818 |
+
'Y-m-d H:i:s',
|
819 |
+
$Ymd_secs + Lib\Utils\DateTime::timeToSeconds( $break['end_time'] )
|
820 |
+
);
|
821 |
+
if ( $break_start < $end_date && $break_end > $start_date ) {
|
822 |
+
$intersects = true;
|
823 |
+
break;
|
824 |
}
|
825 |
}
|
826 |
+
if ( ! $intersects ) {
|
827 |
+
$interval_valid = true;
|
828 |
+
break;
|
829 |
+
}
|
830 |
}
|
|
|
|
|
|
|
831 |
}
|
832 |
}
|
833 |
+
$date->modify( '+1 day' );
|
834 |
}
|
|
|
|
|
|
|
|
|
|
|
835 |
}
|
836 |
|
837 |
+
if ( ! $interval_valid ) {
|
838 |
+
$result['interval_not_in_staff_schedule'] = true;
|
839 |
+
}
|
840 |
+
}
|
841 |
+
|
842 |
+
if ( $service ) {
|
843 |
+
$result = Proxy\ServiceSchedule::checkAppointmentErrors( $result, $start_date, $end_date, $service_id, $service_duration );
|
844 |
+
|
845 |
+
// Service duration interval is not equal to.
|
846 |
+
$result['date_interval_warning'] = ! ( $appointment_duration >= $service->getMinDuration() && $appointment_duration <= $service->getMaxDuration() && ( $service_duration == 0 || $appointment_duration % $service_duration == 0 ) );
|
847 |
+
|
848 |
// Check customers for appointments limit
|
849 |
foreach ( $customers as $index => $customer ) {
|
850 |
if ( $service->appointmentsLimitReached( $customer['id'], array( $start_date ) ) ) {
|
backend/components/dialogs/appointment/edit/proxy/RecurringAppointments.php
CHANGED
@@ -8,6 +8,7 @@ use Bookly\Lib;
|
|
8 |
* @package Bookly\Backend\Components\Dialogs\Appointment\Edit\Proxy
|
9 |
*
|
10 |
* @method static void createBackendPayment( Lib\Entities\Series $series, array $customer ) Create payment for series.
|
|
|
11 |
* @method static void renderSchedule() Render schedule in edit appointment dialog.
|
12 |
* @method static void renderSubForm() Add Recurring sub form in edit appointment dialog.
|
13 |
*/
|
8 |
* @package Bookly\Backend\Components\Dialogs\Appointment\Edit\Proxy
|
9 |
*
|
10 |
* @method static void createBackendPayment( Lib\Entities\Series $series, array $customer ) Create payment for series.
|
11 |
+
* @method static void renderReschedule() Render reschedule in edit appointment dialog.
|
12 |
* @method static void renderSchedule() Render schedule in edit appointment dialog.
|
13 |
* @method static void renderSubForm() Add Recurring sub form in edit appointment dialog.
|
14 |
*/
|
backend/components/dialogs/appointment/edit/proxy/ServiceSchedule.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Appointment\Edit\Proxy;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class ServiceSchedule
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\Appointment\Edit\Proxy
|
9 |
+
*
|
10 |
+
* @method static array checkAppointmentErrors( array $result, $start_date, $end_date, $service_id, $service_duration ) Check whether appointment settings produce errors
|
11 |
+
*/
|
12 |
+
abstract class ServiceSchedule extends Lib\Base\Proxy
|
13 |
+
{
|
14 |
+
|
15 |
+
}
|
backend/components/dialogs/appointment/edit/resources/js/ng-appointment.js
CHANGED
@@ -15,6 +15,7 @@
|
|
15 |
end_time : [],
|
16 |
app_start_time : null,
|
17 |
app_end_time : null,
|
|
|
18 |
time_interval : 900,
|
19 |
status : {
|
20 |
items: []
|
@@ -55,6 +56,7 @@
|
|
55 |
page : null,
|
56 |
another_time : []
|
57 |
},
|
|
|
58 |
customers : [],
|
59 |
notification : null,
|
60 |
series_id : null,
|
@@ -335,16 +337,18 @@
|
|
335 |
end_time = [0,0]
|
336 |
;
|
337 |
if (ds.form.service && ds.form.service.duration >= 86400) {
|
|
|
338 |
if (ds.form.end_time) {
|
339 |
var _start_time = ds.form.start_time.value.split(':');
|
340 |
var _end_time = ds.form.end_time.value.split(':');
|
341 |
var duration = Math.max(ds.form.service.duration, 60 * (_end_time[0] * 60 + parseInt(_end_time[1]) - _start_time[0] * 60 - parseInt(_start_time[1])));
|
342 |
-
|
343 |
} else if (ds.form.service && ds.form.service.units_max > 1) {
|
344 |
-
|
345 |
} else {
|
346 |
-
|
347 |
}
|
|
|
348 |
} else {
|
349 |
start_time = ds.form.start_time.value.split(':');
|
350 |
end_time = ds.form.end_time.value.split(':');
|
@@ -432,6 +436,7 @@
|
|
432 |
service = staff && staff.services.length == 2 ? staff.services[1] : null,
|
433 |
location = staff && staff.locations.length == 1 ? staff.locations[0] : null
|
434 |
;
|
|
|
435 |
$scope.dataSource.data.app_start_time = null;
|
436 |
$scope.dataSource.data.app_end_time = null;
|
437 |
jQuery.extend($scope.form, {
|
@@ -468,6 +473,7 @@
|
|
468 |
page : 0,
|
469 |
another_time : []
|
470 |
},
|
|
|
471 |
customers : [],
|
472 |
internal_note : null,
|
473 |
expand_customers_list : false,
|
@@ -503,6 +509,7 @@
|
|
503 |
staff = $scope.dataSource.findStaff(response.data.staff_id);
|
504 |
$scope.dataSource.data.app_start_time = response.data.start_time;
|
505 |
$scope.dataSource.data.app_end_time = response.data.end_time;
|
|
|
506 |
if ($scope.dataSource.data.customers_remote) {
|
507 |
jQuery.extend($scope.dataSource.data.customers, response.data.customers_data);
|
508 |
}
|
@@ -533,6 +540,7 @@
|
|
533 |
monthly : {on: 'day', day: '1', weekday: 'mon'},
|
534 |
until : start_date === null ? moment().add(1, 'month') : start_date.clone().add(1, 'month')
|
535 |
},
|
|
|
536 |
schedule : {
|
537 |
items : [],
|
538 |
edit : 0,
|
@@ -736,7 +744,6 @@
|
|
736 |
if ($scope.form.screen === 'queue') {
|
737 |
return $scope.queueSend();
|
738 |
}
|
739 |
-
$scope.loading = true;
|
740 |
|
741 |
$scope.errors = {};
|
742 |
|
@@ -745,6 +752,23 @@
|
|
745 |
customers = []
|
746 |
;
|
747 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
748 |
booklyAngular.forEach($scope.form.schedule.items, function (item) {
|
749 |
if (!item.deleted) {
|
750 |
schedule.push(item.slots);
|
@@ -798,6 +822,7 @@
|
|
798 |
customers : JSON.stringify(customers),
|
799 |
notification : $scope.form.notification,
|
800 |
internal_note : $scope.form.internal_note,
|
|
|
801 |
created_from : typeof BooklySCCalendarL10n !== 'undefined' ? 'staff-cabinet' : 'backend'
|
802 |
},
|
803 |
function (response) {
|
@@ -805,7 +830,11 @@
|
|
805 |
if (response.success) {
|
806 |
if (callback) {
|
807 |
// Call callback.
|
808 |
-
|
|
|
|
|
|
|
|
|
809 |
}
|
810 |
$scope.form.queue = response.queue;
|
811 |
if (response.queue.all.length || response.queue.changed_status.length) {
|
15 |
end_time : [],
|
16 |
app_start_time : null,
|
17 |
app_end_time : null,
|
18 |
+
start_date : null,
|
19 |
time_interval : 900,
|
20 |
status : {
|
21 |
items: []
|
56 |
page : null,
|
57 |
another_time : []
|
58 |
},
|
59 |
+
reschedule_type : 'current',
|
60 |
customers : [],
|
61 |
notification : null,
|
62 |
series_id : null,
|
337 |
end_time = [0,0]
|
338 |
;
|
339 |
if (ds.form.service && ds.form.service.duration >= 86400) {
|
340 |
+
let days;
|
341 |
if (ds.form.end_time) {
|
342 |
var _start_time = ds.form.start_time.value.split(':');
|
343 |
var _end_time = ds.form.end_time.value.split(':');
|
344 |
var duration = Math.max(ds.form.service.duration, 60 * (_end_time[0] * 60 + parseInt(_end_time[1]) - _start_time[0] * 60 - parseInt(_start_time[1])));
|
345 |
+
days = parseInt(duration / 86400);
|
346 |
} else if (ds.form.service && ds.form.service.units_max > 1) {
|
347 |
+
days = parseInt((ds.form.service.duration * ds.form.service.units_min) / 86400);
|
348 |
} else {
|
349 |
+
days = parseInt(ds.form.service.duration / 86400);
|
350 |
}
|
351 |
+
end_date.add(days, 'days');
|
352 |
} else {
|
353 |
start_time = ds.form.start_time.value.split(':');
|
354 |
end_time = ds.form.end_time.value.split(':');
|
436 |
service = staff && staff.services.length == 2 ? staff.services[1] : null,
|
437 |
location = staff && staff.locations.length == 1 ? staff.locations[0] : null
|
438 |
;
|
439 |
+
$scope.dataSource.loaded = false;
|
440 |
$scope.dataSource.data.app_start_time = null;
|
441 |
$scope.dataSource.data.app_end_time = null;
|
442 |
jQuery.extend($scope.form, {
|
473 |
page : 0,
|
474 |
another_time : []
|
475 |
},
|
476 |
+
reschedule_type : 'current',
|
477 |
customers : [],
|
478 |
internal_note : null,
|
479 |
expand_customers_list : false,
|
509 |
staff = $scope.dataSource.findStaff(response.data.staff_id);
|
510 |
$scope.dataSource.data.app_start_time = response.data.start_time;
|
511 |
$scope.dataSource.data.app_end_time = response.data.end_time;
|
512 |
+
$scope.dataSource.data.start_date = start_date ? start_date.clone().local() : null;
|
513 |
if ($scope.dataSource.data.customers_remote) {
|
514 |
jQuery.extend($scope.dataSource.data.customers, response.data.customers_data);
|
515 |
}
|
540 |
monthly : {on: 'day', day: '1', weekday: 'mon'},
|
541 |
until : start_date === null ? moment().add(1, 'month') : start_date.clone().add(1, 'month')
|
542 |
},
|
543 |
+
reschedule_type : 'current',
|
544 |
schedule : {
|
545 |
items : [],
|
546 |
edit : 0,
|
744 |
if ($scope.form.screen === 'queue') {
|
745 |
return $scope.queueSend();
|
746 |
}
|
|
|
747 |
|
748 |
$scope.errors = {};
|
749 |
|
752 |
customers = []
|
753 |
;
|
754 |
|
755 |
+
if ($scope.form.screen !== 'reschedule' && $scope.dataSource.loaded && dates.start_date !== null && $scope.dataSource.data.start_date !== null && dates.start_date != $scope.dataSource.data.start_date.format('YYYY-MM-DD HH:mm:00')) {
|
756 |
+
$scope.form.reschedule_time = moment(dates.start_date).format('HH:mm');
|
757 |
+
$scope.form.reschedule_delta_days = moment(dates.start_date, 'YYYY-MM-DD HH:mm:ss').startOf('day').diff($scope.dataSource.data.start_date.startOf('day'), 'days');
|
758 |
+
let show_reschedule = false;
|
759 |
+
booklyAngular.forEach($scope.form.customers, function (item) {
|
760 |
+
if (item.series_id) {
|
761 |
+
show_reschedule = true;
|
762 |
+
}
|
763 |
+
});
|
764 |
+
if (show_reschedule) {
|
765 |
+
$scope.form.screen = 'reschedule';
|
766 |
+
return false;
|
767 |
+
}
|
768 |
+
}
|
769 |
+
|
770 |
+
$scope.loading = true;
|
771 |
+
|
772 |
booklyAngular.forEach($scope.form.schedule.items, function (item) {
|
773 |
if (!item.deleted) {
|
774 |
schedule.push(item.slots);
|
822 |
customers : JSON.stringify(customers),
|
823 |
notification : $scope.form.notification,
|
824 |
internal_note : $scope.form.internal_note,
|
825 |
+
reschedule_type : $scope.form.reschedule_type,
|
826 |
created_from : typeof BooklySCCalendarL10n !== 'undefined' ? 'staff-cabinet' : 'backend'
|
827 |
},
|
828 |
function (response) {
|
830 |
if (response.success) {
|
831 |
if (callback) {
|
832 |
// Call callback.
|
833 |
+
if ($scope.form.reschedule_type !== 'current') {
|
834 |
+
callback('refresh');
|
835 |
+
} else {
|
836 |
+
callback(response.data);
|
837 |
+
}
|
838 |
}
|
839 |
$scope.form.queue = response.queue;
|
840 |
if (response.queue.all.length || response.queue.changed_status.length) {
|
backend/components/dialogs/appointment/edit/templates/edit.php
CHANGED
@@ -50,56 +50,53 @@ use Bookly\Lib\Entities\CustomerAppointment;
|
|
50 |
</div>
|
51 |
<?php endif ?>
|
52 |
|
53 |
-
|
54 |
-
|
55 |
-
<div
|
56 |
-
<div class="form-
|
57 |
-
<
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
<div
|
62 |
-
<
|
63 |
-
|
64 |
-
<div class="
|
65 |
-
<
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
<
|
74 |
-
|
75 |
-
|
76 |
-
ng-change=onEndTimeChange()></select>
|
77 |
-
</div>
|
78 |
</div>
|
79 |
-
<p class="text-success" my-slide-up=errors.date_interval_warning id=date_interval_warning_msg>
|
80 |
-
<?php esc_html_e( 'Selected period doesn\'t match service duration', 'bookly' ) ?>
|
81 |
-
</p>
|
82 |
-
<p class="text-success" my-slide-up="errors.time_interval" ng-bind="errors.time_interval"></p>
|
83 |
</div>
|
84 |
</div>
|
85 |
-
<div class="text-success col-sm-12" my-slide-up=errors.date_interval_not_available id=date_interval_not_available_msg>
|
86 |
-
<?php esc_html_e( 'The selected period is occupied by another appointment', 'bookly' ) ?>
|
87 |
-
</div>
|
88 |
</div>
|
89 |
-
<p class="text-success" my-slide-up=errors.interval_not_in_staff_schedule id=interval_not_in_staff_schedule_msg>
|
90 |
-
<?php esc_html_e( 'Selected period doesn\'t match provider\'s schedule', 'bookly' ) ?>
|
91 |
-
</p>
|
92 |
-
<p class="text-success" my-slide-up=errors.interval_not_in_service_schedule id=interval_not_in_service_schedule_msg>
|
93 |
-
<?php esc_html_e( 'Selected period doesn\'t match service schedule', 'bookly' ) ?>
|
94 |
-
</p>
|
95 |
-
<p class="text-success" my-slide-up=errors.staff_reaches_working_time_limit id=staff_reaches_working_time_limit_msg>
|
96 |
-
<?php is_admin()
|
97 |
-
? esc_html_e( 'Booking exceeds the working hours limit for staff member', 'bookly' )
|
98 |
-
: esc_html_e( 'Booking exceeds your working hours limit', 'bookly' ) ?>
|
99 |
-
</p>
|
100 |
-
|
101 |
-
<?php Proxy\RecurringAppointments::renderSubForm() ?>
|
102 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
</div>
|
104 |
<div class=form-group>
|
105 |
<label for="bookly-select2"><?php esc_html_e( 'Customers', 'bookly' ) ?>
|
@@ -233,6 +230,7 @@ use Bookly\Lib\Entities\CustomerAppointment;
|
|
233 |
</div>
|
234 |
</div>
|
235 |
<?php Proxy\RecurringAppointments::renderSchedule() ?>
|
|
|
236 |
<div ng-hide="loading || form.screen != 'main'" class="modal-body" style="margin-top: -30px;">
|
237 |
<?php Inputs::renderCheckBox( __( 'Send notifications', 'bookly' ), null, null, array(
|
238 |
'ng-model' => 'form.notification',
|
50 |
</div>
|
51 |
<?php endif ?>
|
52 |
|
53 |
+
<?php Proxy\Tasks::renderSkipDate() ?>
|
54 |
+
<div ng-hide="form.skip_date">
|
55 |
+
<div class="form-row">
|
56 |
+
<div class="col-sm-4 form-group">
|
57 |
+
<label for="bookly-date"><?php esc_html_e( 'Date', 'bookly' ) ?></label>
|
58 |
+
<input date-range-picker id="bookly-date" class="form-control" type="text" ng-model="form.date" options="{parentEl:'#bookly-appointment-dialog',singleDatePicker:true,showDropdowns:true, locale:datePickerOptions}" autocomplete="off">
|
59 |
+
</div>
|
60 |
+
<div class="col-sm-8 form-group">
|
61 |
+
<div ng-hide="form.service.duration >= 86400 && form.service.units_max == 1">
|
62 |
+
<label for="bookly-period"><?php esc_html_e( 'Period', 'bookly' ) ?></label>
|
63 |
+
<div class="form-row align-items-center">
|
64 |
+
<div class="col">
|
65 |
+
<select id="bookly-period" class="form-control custom-select" ng-model=form.start_time
|
66 |
+
ng-options="t.title for t in dataSource.getDataForStartTime()"
|
67 |
+
ng-change=onStartTimeChange()></select>
|
68 |
+
</div>
|
69 |
+
<div class="col-auto">
|
70 |
+
<?php esc_html_e( 'to', 'bookly' ) ?>
|
71 |
+
</div>
|
72 |
+
<div class="col">
|
73 |
+
<select class="form-control custom-select" ng-model=form.end_time
|
74 |
+
ng-options="t.title for t in form.end_time_data"
|
75 |
+
ng-change=onEndTimeChange()></select>
|
|
|
|
|
76 |
</div>
|
|
|
|
|
|
|
|
|
77 |
</div>
|
78 |
</div>
|
|
|
|
|
|
|
79 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
</div>
|
81 |
+
<div class="text-info form-group mt-n2" my-slide-up="errors.time_interval" ng-bind="errors.time_interval"></div>
|
82 |
+
<div class="text-info form-group mt-n2" my-slide-up="errors.date_interval_warning" id="date_interval_warning_msg">
|
83 |
+
<?php esc_html_e( 'Selected period doesn\'t match service duration', 'bookly' ) ?>
|
84 |
+
</div>
|
85 |
+
<div class="text-info form-group mt-n2" my-slide-up="errors.interval_not_in_staff_schedule" id="interval_not_in_staff_schedule_msg">
|
86 |
+
<?php esc_html_e( 'Selected period doesn\'t match provider\'s schedule', 'bookly' ) ?>
|
87 |
+
</div>
|
88 |
+
<div class="text-info form-group mt-n2" my-slide-up="errors.interval_not_in_service_schedule" id="interval_not_in_service_schedule_msg">
|
89 |
+
<?php esc_html_e( 'Selected period doesn\'t match service schedule', 'bookly' ) ?>
|
90 |
+
</div>
|
91 |
+
<div class="text-info form-group mt-n2" my-slide-up="errors.date_interval_not_available" id="date_interval_not_available_msg">
|
92 |
+
<?php esc_html_e( 'The selected period is occupied by another appointment', 'bookly' ) ?>
|
93 |
+
</div>
|
94 |
+
<div class="text-info form-group mt-n2" my-slide-up="errors.staff_reaches_working_time_limit" id="staff_reaches_working_time_limit_msg">
|
95 |
+
<?php is_admin()
|
96 |
+
? esc_html_e( 'Booking exceeds the working hours limit for staff member', 'bookly' )
|
97 |
+
: esc_html_e( 'Booking exceeds your working hours limit', 'bookly' ) ?>
|
98 |
+
</div>
|
99 |
+
<?php Proxy\RecurringAppointments::renderSubForm() ?>
|
100 |
</div>
|
101 |
<div class=form-group>
|
102 |
<label for="bookly-select2"><?php esc_html_e( 'Customers', 'bookly' ) ?>
|
230 |
</div>
|
231 |
</div>
|
232 |
<?php Proxy\RecurringAppointments::renderSchedule() ?>
|
233 |
+
<?php Proxy\RecurringAppointments::renderReschedule() ?>
|
234 |
<div ng-hide="loading || form.screen != 'main'" class="modal-body" style="margin-top: -30px;">
|
235 |
<?php Inputs::renderCheckBox( __( 'Send notifications', 'bookly' ), null, null, array(
|
236 |
'ng-model' => 'form.notification',
|
backend/components/dialogs/customer/delete/Ajax.php
CHANGED
@@ -58,6 +58,7 @@ class Ajax extends Lib\Base\Ajax
|
|
58 |
->setRaw( 'internal_note = CONCAT_WS(%s,internal_note,%s)', array( $appointment['internal_note'] == '' ? '' : PHP_EOL, $note ) )
|
59 |
->where( 'id', $appointment['id'] )
|
60 |
->execute();
|
|
|
61 |
$ca_list[ $appointment['ca_id'] ]->delete();
|
62 |
}
|
63 |
}
|
58 |
->setRaw( 'internal_note = CONCAT_WS(%s,internal_note,%s)', array( $appointment['internal_note'] == '' ? '' : PHP_EOL, $note ) )
|
59 |
->where( 'id', $appointment['id'] )
|
60 |
->execute();
|
61 |
+
Lib\Utils\Log::deleteEntity( $ca_list[ $appointment['ca_id'] ], __METHOD__ );
|
62 |
$ca_list[ $appointment['ca_id'] ]->delete();
|
63 |
}
|
64 |
}
|
backend/components/dialogs/customer/edit/templates/edit.php
CHANGED
@@ -45,7 +45,7 @@ use Bookly\Lib\Config;
|
|
45 |
</div>
|
46 |
<?php else : ?>
|
47 |
<div class="form-group">
|
48 |
-
<label for="full_name"><?php esc_html_e( '
|
49 |
<input class="form-control" type="text" ng-model="form.full_name" id="full_name" />
|
50 |
<span style="font-size: 11px;color: red" ng-show="errors.full_name.required"><?php esc_html_e( 'Required', 'bookly' ) ?></span>
|
51 |
</div>
|
45 |
</div>
|
46 |
<?php else : ?>
|
47 |
<div class="form-group">
|
48 |
+
<label for="full_name"><?php esc_html_e( 'Full name', 'bookly' ) ?></label>
|
49 |
<input class="form-control" type="text" ng-model="form.full_name" id="full_name" />
|
50 |
<span style="font-size: 11px;color: red" ng-show="errors.full_name.required"><?php esc_html_e( 'Required', 'bookly' ) ?></span>
|
51 |
</div>
|
backend/components/dialogs/sms/templates/_settings.php
CHANGED
@@ -127,7 +127,7 @@ $service_dropdown_data = \Bookly\Lib\Utils\Common::getServiceDataForDropDown( 's
|
|
127 |
</div>
|
128 |
</div>
|
129 |
|
130 |
-
<div class="row bookly-js-offset bookly-js-offset-before mb-3 border-left ml-4
|
131 |
<div class="col-md-12">
|
132 |
<div class="form-group">
|
133 |
<div class="d-flex flex-row">
|
127 |
</div>
|
128 |
</div>
|
129 |
|
130 |
+
<div class="row bookly-js-offset bookly-js-offset-before mb-3 border-left ml-4">
|
131 |
<div class="col-md-12">
|
132 |
<div class="form-group">
|
133 |
<div class="d-flex flex-row">
|
backend/components/dialogs/staff/edit/Ajax.php
CHANGED
@@ -3,7 +3,7 @@ namespace Bookly\Backend\Components\Dialogs\Staff\Edit;
|
|
3 |
|
4 |
use Bookly\Backend\Components\Schedule\BreakItem;
|
5 |
use Bookly\Backend\Components\Schedule\Component as ScheduleComponent;
|
6 |
-
use Bookly\Backend\
|
7 |
use Bookly\Lib;
|
8 |
|
9 |
/**
|
@@ -35,7 +35,7 @@ class Ajax extends Lib\Base\Ajax
|
|
35 |
*/
|
36 |
public static function getStaffData()
|
37 |
{
|
38 |
-
$data =
|
39 |
array( 'alert' => array( 'error' => array() ), 'tpl' => array() ),
|
40 |
self::$staff
|
41 |
);
|
@@ -109,15 +109,18 @@ class Ajax extends Lib\Base\Ajax
|
|
109 |
if ( ! $params['category_id'] ) {
|
110 |
$params['category_id'] = null;
|
111 |
}
|
|
|
|
|
|
|
112 |
if ( ! $params['working_time_limit'] ) {
|
113 |
$params['working_time_limit'] = null;
|
114 |
}
|
115 |
|
116 |
self::$staff->setFields( $params );
|
117 |
|
118 |
-
|
119 |
self::$staff->save();
|
120 |
-
|
121 |
|
122 |
wp_send_json_success( array( 'staff' => self::$staff->getFields() ) );
|
123 |
}
|
@@ -146,7 +149,7 @@ class Ajax extends Lib\Base\Ajax
|
|
146 |
$form->bind( self::postParameters() );
|
147 |
$form->save();
|
148 |
|
149 |
-
|
150 |
|
151 |
wp_send_json_success();
|
152 |
}
|
@@ -162,6 +165,20 @@ class Ajax extends Lib\Base\Ajax
|
|
162 |
wp_send_json_success( compact( 'html' ) );
|
163 |
}
|
164 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
/**
|
166 |
* Update staff holidays.
|
167 |
*/
|
3 |
|
4 |
use Bookly\Backend\Components\Schedule\BreakItem;
|
5 |
use Bookly\Backend\Components\Schedule\Component as ScheduleComponent;
|
6 |
+
use Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy;
|
7 |
use Bookly\Lib;
|
8 |
|
9 |
/**
|
35 |
*/
|
36 |
public static function getStaffData()
|
37 |
{
|
38 |
+
$data = Proxy\Shared::editStaff(
|
39 |
array( 'alert' => array( 'error' => array() ), 'tpl' => array() ),
|
40 |
self::$staff
|
41 |
);
|
109 |
if ( ! $params['category_id'] ) {
|
110 |
$params['category_id'] = null;
|
111 |
}
|
112 |
+
if ( ! $params['time_zone'] ) {
|
113 |
+
$params['time_zone'] = null;
|
114 |
+
}
|
115 |
if ( ! $params['working_time_limit'] ) {
|
116 |
$params['working_time_limit'] = null;
|
117 |
}
|
118 |
|
119 |
self::$staff->setFields( $params );
|
120 |
|
121 |
+
Proxy\Shared::preUpdateStaff( self::$staff, $params );
|
122 |
self::$staff->save();
|
123 |
+
Proxy\Shared::updateStaff( self::$staff, $params );
|
124 |
|
125 |
wp_send_json_success( array( 'staff' => self::$staff->getFields() ) );
|
126 |
}
|
149 |
$form->bind( self::postParameters() );
|
150 |
$form->save();
|
151 |
|
152 |
+
Proxy\Shared::updateStaffServices( self::postParameters() );
|
153 |
|
154 |
wp_send_json_success();
|
155 |
}
|
165 |
wp_send_json_success( compact( 'html' ) );
|
166 |
}
|
167 |
|
168 |
+
/**
|
169 |
+
* Update staff schedule.
|
170 |
+
*/
|
171 |
+
public static function staffScheduleUpdate()
|
172 |
+
{
|
173 |
+
$form = new Forms\StaffSchedule();
|
174 |
+
$form->bind( self::postParameters() );
|
175 |
+
$form->save();
|
176 |
+
|
177 |
+
Proxy\Shared::updateStaffSchedule( self::postParameters() );
|
178 |
+
|
179 |
+
wp_send_json_success();
|
180 |
+
}
|
181 |
+
|
182 |
/**
|
183 |
* Update staff holidays.
|
184 |
*/
|
backend/{modules/staff → components/dialogs/staff/edit}/forms/StaffSchedule.php
RENAMED
@@ -1,11 +1,11 @@
|
|
1 |
<?php
|
2 |
-
namespace Bookly\Backend\
|
3 |
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
* Class StaffSchedule
|
8 |
-
* @package Bookly\Backend\
|
9 |
*/
|
10 |
class StaffSchedule extends Lib\Base\Form
|
11 |
{
|
1 |
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Staff\Edit\Forms;
|
3 |
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
* Class StaffSchedule
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\Staff\Edit\Forms
|
9 |
*/
|
10 |
class StaffSchedule extends Lib\Base\Form
|
11 |
{
|
backend/components/dialogs/staff/edit/proxy/Locations.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class Locations
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy
|
9 |
+
*
|
10 |
+
* @method static void renderLocationSwitcher( int $staff_id, int $location_id, string $type ) Render location switcher.
|
11 |
+
*/
|
12 |
+
abstract class Locations extends Lib\Base\Proxy
|
13 |
+
{
|
14 |
+
|
15 |
+
}
|
backend/components/dialogs/staff/edit/proxy/OutlookCalendar.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class OutlookCalendar
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy
|
9 |
+
*
|
10 |
+
* @method static void renderCalendarSettings( array $tpl_data ) Render Outlook Calendar settings.
|
11 |
+
*/
|
12 |
+
abstract class OutlookCalendar extends Lib\Base\Proxy
|
13 |
+
{
|
14 |
+
|
15 |
+
}
|
backend/components/dialogs/staff/edit/proxy/Pro.php
CHANGED
@@ -5,10 +5,10 @@ use Bookly\Lib;
|
|
5 |
|
6 |
/**
|
7 |
* Class Pro
|
8 |
-
*
|
9 |
* @package Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy
|
10 |
*
|
11 |
* @method static string renderArchivingComponents()
|
|
|
12 |
*/
|
13 |
abstract class Pro extends Lib\Base\Proxy
|
14 |
{
|
5 |
|
6 |
/**
|
7 |
* Class Pro
|
|
|
8 |
* @package Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy
|
9 |
*
|
10 |
* @method static string renderArchivingComponents()
|
11 |
+
* @method static void renderGoogleCalendarSettings( array $tpl_data ) Render Google Calendar settings.
|
12 |
*/
|
13 |
abstract class Pro extends Lib\Base\Proxy
|
14 |
{
|
backend/components/dialogs/staff/edit/proxy/Ratings.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class Ratings
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy
|
9 |
+
*
|
10 |
+
* @method static void renderStaffServiceRating( int $staff_id, int $service_id, string $type ) Render rating.
|
11 |
+
*/
|
12 |
+
abstract class Ratings extends Lib\Base\Proxy
|
13 |
+
{
|
14 |
+
|
15 |
+
}
|
backend/components/dialogs/staff/edit/proxy/Shared.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class Shared
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy
|
9 |
+
*
|
10 |
+
* @method static array editStaff( array $data, Lib\Entities\Staff $staff ) Prepare edit staff form.
|
11 |
+
* @method static void preUpdateStaff( Lib\Entities\Staff $staff, array $params ) Do stuff before staff update.
|
12 |
+
* @method static void renderStaffDetails( Lib\Entities\Staff $staff ) Render Details tab of staff edit form.
|
13 |
+
* @method static void updateStaff( Lib\Entities\Staff $staff, array $params ) Update staff settings in add-ons.
|
14 |
+
* @method static void updateStaffSchedule( array $_post ) Update staff schedule settings in add-ons.
|
15 |
+
* @method static void updateStaffServices( array $_post ) Update staff services settings in add-ons.
|
16 |
+
* @method static void renderStaffServiceLabels() Render column header for controls on Services tab.
|
17 |
+
* @method static void renderStaffService( int $staff_id, Lib\Entities\Service $service, array $services_data, array $attributes = array() ) Render controls for staff on Services tab.
|
18 |
+
* @method static void renderStaffServiceTail( int $staff_id, Lib\Entities\Service $service, int $location_id, $attributes = array() ) Render controls for Staff on tab services.
|
19 |
+
* @method static void renderStaffTab( Lib\Entities\Staff $staff ) Render staff tab.
|
20 |
+
*/
|
21 |
+
abstract class Shared extends Lib\Base\Proxy
|
22 |
+
{
|
23 |
+
|
24 |
+
}
|
backend/components/dialogs/staff/edit/templates/details.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
use Bookly\Backend\Components\Controls\Inputs;
|
4 |
-
use Bookly\Backend\
|
5 |
use Bookly\Lib\Utils\Common;
|
6 |
use Bookly\Lib\Config;
|
7 |
/** @var Bookly\Lib\Entities\Staff $staff */
|
@@ -100,11 +100,10 @@ use Bookly\Lib\Config;
|
|
100 |
<small class="form-text text-muted"><?php esc_html_e( 'To make staff member invisible to your customers set the visibility to "Private".', 'bookly' ) ?></small>
|
101 |
</div>
|
102 |
|
103 |
-
<?php Proxy\
|
104 |
-
<?php Proxy\Shared::renderStaffForm( $staff ) ?>
|
105 |
<?php if ( $staff->getId() ) : ?>
|
106 |
-
|
107 |
-
|
108 |
<?php endif ?>
|
109 |
<input type="hidden" name="id" value="<?php echo $staff->getId() ?>">
|
110 |
<input type="hidden" name="attachment_id" value="<?php echo $staff->getAttachmentId() ?>">
|
1 |
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
use Bookly\Backend\Components\Controls\Inputs;
|
4 |
+
use Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy;
|
5 |
use Bookly\Lib\Utils\Common;
|
6 |
use Bookly\Lib\Config;
|
7 |
/** @var Bookly\Lib\Entities\Staff $staff */
|
100 |
<small class="form-text text-muted"><?php esc_html_e( 'To make staff member invisible to your customers set the visibility to "Private".', 'bookly' ) ?></small>
|
101 |
</div>
|
102 |
|
103 |
+
<?php Proxy\Shared::renderStaffDetails( $staff ) ?>
|
|
|
104 |
<?php if ( $staff->getId() ) : ?>
|
105 |
+
<?php Proxy\Pro::renderGoogleCalendarSettings( $tpl_data ) ?>
|
106 |
+
<?php Proxy\OutlookCalendar::renderCalendarSettings( $tpl_data ) ?>
|
107 |
<?php endif ?>
|
108 |
<input type="hidden" name="id" value="<?php echo $staff->getId() ?>">
|
109 |
<input type="hidden" name="attachment_id" value="<?php echo $staff->getAttachmentId() ?>">
|
backend/components/dialogs/staff/edit/templates/dialog_body.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
-
use Bookly\Backend\
|
3 |
/** @var Bookly\Lib\Entities\Staff $staff */
|
4 |
?>
|
5 |
<?php if ( $staff->getId() ) : ?>
|
1 |
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy;
|
3 |
/** @var Bookly\Lib\Entities\Staff $staff */
|
4 |
?>
|
5 |
<?php if ( $staff->getId() ) : ?>
|
backend/components/dialogs/staff/edit/templates/schedule.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
use Bookly\Backend\Components\Controls\Inputs;
|
4 |
-
use Bookly\Backend\
|
5 |
/**
|
6 |
* @var Bookly\Backend\Components\Schedule\Component $schedule
|
7 |
* @var array $ss_ids
|
1 |
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
use Bookly\Backend\Components\Controls\Inputs;
|
4 |
+
use Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy;
|
5 |
/**
|
6 |
* @var Bookly\Backend\Components\Schedule\Component $schedule
|
7 |
* @var array $ss_ids
|
backend/components/dialogs/staff/edit/templates/services.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
use Bookly\Backend\Components\Controls\Inputs;
|
4 |
use Bookly\Backend\Components\Dialogs;
|
5 |
-
use Bookly\Backend\
|
6 |
use Bookly\Lib\Utils\Common;
|
7 |
|
8 |
/** @var Dialogs\Staff\Edit\Forms\StaffServices $form */
|
2 |
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
use Bookly\Backend\Components\Controls\Inputs;
|
4 |
use Bookly\Backend\Components\Dialogs;
|
5 |
+
use Bookly\Backend\Components\Dialogs\Staff\Edit\Proxy;
|
6 |
use Bookly\Lib\Utils\Common;
|
7 |
|
8 |
/** @var Dialogs\Staff\Edit\Forms\StaffServices $form */
|
backend/components/notices/PoweredBy.php
CHANGED
@@ -15,7 +15,7 @@ class PoweredBy extends Lib\Base\Component
|
|
15 |
public static function render()
|
16 |
{
|
17 |
if ( Lib\Utils\Common::isCurrentUserAdmin()
|
18 |
-
&& ! get_option( '
|
19 |
&& ! get_user_meta( get_current_user_id(), 'bookly_dismiss_powered_by_notice', true )
|
20 |
) {
|
21 |
self::enqueueStyles( array(
|
15 |
public static function render()
|
16 |
{
|
17 |
if ( Lib\Utils\Common::isCurrentUserAdmin()
|
18 |
+
&& ! get_option( 'bookly_gen_show_powered_by' )
|
19 |
&& ! get_user_meta( get_current_user_id(), 'bookly_dismiss_powered_by_notice', true )
|
20 |
) {
|
21 |
self::enqueueStyles( array(
|
backend/components/notices/PoweredByAjax.php
CHANGED
@@ -24,7 +24,7 @@ class PoweredByAjax extends Lib\Base\Ajax
|
|
24 |
*/
|
25 |
public static function enableShowPoweredBy()
|
26 |
{
|
27 |
-
update_option( '
|
28 |
|
29 |
wp_send_json_success();
|
30 |
}
|
24 |
*/
|
25 |
public static function enableShowPoweredBy()
|
26 |
{
|
27 |
+
update_option( 'bookly_gen_show_powered_by', '1' );
|
28 |
|
29 |
wp_send_json_success();
|
30 |
}
|
backend/modules/appointments/Ajax.php
CHANGED
@@ -86,6 +86,7 @@ class Ajax extends Lib\Base\Ajax
|
|
86 |
$queue
|
87 |
);
|
88 |
}
|
|
|
89 |
$ca->deleteCascade();
|
90 |
}
|
91 |
|
@@ -93,6 +94,7 @@ class Ajax extends Lib\Base\Ajax
|
|
93 |
foreach ( Lib\Entities\Appointment::query()->whereIn( 'id', $appointments_list )->find() as $appointment ) {
|
94 |
$ca = $appointment->getCustomerAppointments();
|
95 |
if ( empty( $ca ) ) {
|
|
|
96 |
$appointment->delete();
|
97 |
}
|
98 |
}
|
86 |
$queue
|
87 |
);
|
88 |
}
|
89 |
+
Lib\Utils\Log::deleteEntity( $ca, __METHOD__ );
|
90 |
$ca->deleteCascade();
|
91 |
}
|
92 |
|
94 |
foreach ( Lib\Entities\Appointment::query()->whereIn( 'id', $appointments_list )->find() as $appointment ) {
|
95 |
$ca = $appointment->getCustomerAppointments();
|
96 |
if ( empty( $ca ) ) {
|
97 |
+
Lib\Utils\Log::deleteEntity( $appointment, __METHOD__ );
|
98 |
$appointment->delete();
|
99 |
}
|
100 |
}
|
backend/modules/calendar/Ajax.php
CHANGED
@@ -2,6 +2,8 @@
|
|
2 |
namespace Bookly\Backend\Modules\Calendar;
|
3 |
|
4 |
use Bookly\Lib;
|
|
|
|
|
5 |
|
6 |
/**
|
7 |
* Class Ajax
|
@@ -22,47 +24,49 @@ class Ajax extends Page
|
|
22 |
*/
|
23 |
public static function getStaffAppointments()
|
24 |
{
|
25 |
-
if ( Lib\Config::proActive() ) {
|
26 |
-
$staff_members = Lib\Utils\Common::isCurrentUserSupervisor()
|
27 |
-
? Lib\Entities\Staff::query()->sortBy( 'position' )->whereNot( 'visibility', 'archive' )->find()
|
28 |
-
: Lib\Entities\Staff::query()->where( 'wp_user_id', get_current_user_id() )->whereNot( 'visibility', 'archive' )->find();
|
29 |
-
} else {
|
30 |
-
$staff_members = array( Lib\Entities\Staff::query()->findOne() );
|
31 |
-
}
|
32 |
$result = array();
|
33 |
$one_day = new \DateInterval( 'P1D' );
|
34 |
$start_date = new \DateTime( substr( self::parameter( 'start' ), 0, 19 ) );
|
35 |
$end_date = new \DateTime( substr( self::parameter( 'end' ), 0, 19 ) );
|
36 |
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
}
|
44 |
} else {
|
45 |
-
$
|
46 |
-
}
|
47 |
-
// Load special days.
|
48 |
-
$special_days = array();
|
49 |
-
foreach ( (array) Lib\Proxy\SpecialDays::getSchedule( $staff_ids, $start_date, $end_date ) as $day ) {
|
50 |
-
$special_days[ $day['staff_id'] ][ $day['date'] ][] = $day;
|
51 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
-
if ( self::parameter( 'service_ids' ) && ( ! Lib\Config::locationsActive() || self::parameter( 'location_ids' ) ) ) {
|
54 |
foreach ( $staff_members as $staff ) {
|
55 |
-
/** @var Lib\Entities\Staff $staff */
|
56 |
$result = array_merge( $result, self::_getAppointmentsForCalendar( $staff->getId(), $start_date, $end_date ) );
|
57 |
|
58 |
-
// Schedule
|
|
|
59 |
$items = $staff->getScheduleItems();
|
60 |
$day = clone $start_date;
|
61 |
// Find previous day end time.
|
62 |
$last_end = clone $day;
|
63 |
$last_end->sub( $one_day );
|
64 |
-
$
|
65 |
-
$end_time = $items[ $w > 0 ? $w : 7 ]->getEndTime();
|
66 |
if ( $end_time !== null ) {
|
67 |
$end_time = explode( ':', $end_time );
|
68 |
$last_end->setTime( $end_time[0], $end_time[1] );
|
@@ -73,48 +77,43 @@ class Ajax extends Page
|
|
73 |
while ( $day < $end_date ) {
|
74 |
$start = $last_end->format( 'Y-m-d H:i:s' );
|
75 |
// Check if $day is Special Day for current staff.
|
76 |
-
if ( isset( $special_days[ $staff->getId() ][ $day->format( 'Y-m-d' ) ] ) ) {
|
77 |
$sp_days = $special_days[ $staff->getId() ][ $day->format( 'Y-m-d' ) ];
|
78 |
$end = $sp_days[0]['date'] . ' ' . $sp_days[0]['start_time'];
|
79 |
if ( $start < $end ) {
|
80 |
-
$
|
81 |
-
'start'
|
82 |
-
'end'
|
83 |
-
'display' => 'background',
|
84 |
-
'resourceId' => $staff->getId(),
|
85 |
);
|
86 |
}
|
87 |
// Breaks.
|
88 |
foreach ( $sp_days as $sp_day ) {
|
89 |
-
$break_start
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
}
|
104 |
$end_time = explode( ':', $sp_days[0]['end_time'] );
|
105 |
$last_end = clone $day;
|
106 |
$last_end->setTime( $end_time[0], $end_time[1] );
|
107 |
} else {
|
108 |
-
/** @var Lib\Entities\StaffScheduleItem $item */
|
109 |
$item = $items[ (int) $day->format( 'w' ) + 1 ];
|
110 |
if ( $item->getStartTime() && ! $staff->isOnHoliday( $day ) ) {
|
111 |
$end = $day->format( 'Y-m-d ' . $item->getStartTime() );
|
112 |
if ( $start < $end ) {
|
113 |
-
$
|
114 |
-
'start'
|
115 |
-
'end'
|
116 |
-
'display' => 'background',
|
117 |
-
'resourceId' => $staff->getId(),
|
118 |
);
|
119 |
}
|
120 |
$last_end = clone $day;
|
@@ -131,22 +130,11 @@ class Ajax extends Page
|
|
131 |
'Y-m-d H:i:s',
|
132 |
$day->getTimestamp() + Lib\Utils\DateTime::timeToSeconds( $break['end_time'] )
|
133 |
);
|
134 |
-
$
|
135 |
-
'start'
|
136 |
-
'end'
|
137 |
-
'display' => 'background',
|
138 |
-
'resourceId' => $staff->getId(),
|
139 |
);
|
140 |
}
|
141 |
-
} else {
|
142 |
-
$result[] = array(
|
143 |
-
'start' => $last_end->format( 'Y-m-d H:i:s' ),
|
144 |
-
'end' => $day->format( 'Y-m-d 24:00:00' ),
|
145 |
-
'display' => 'background',
|
146 |
-
'resourceId' => $staff->getId(),
|
147 |
-
);
|
148 |
-
$last_end = clone $day;
|
149 |
-
$last_end->setTime( 24, 0 );
|
150 |
}
|
151 |
}
|
152 |
|
@@ -154,9 +142,25 @@ class Ajax extends Page
|
|
154 |
}
|
155 |
|
156 |
if ( $last_end->format( 'Ymd' ) != $day->format( 'Ymd' ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
$result[] = array(
|
158 |
-
'start' => $
|
159 |
-
'end' => $
|
160 |
'display' => 'background',
|
161 |
'resourceId' => $staff->getId(),
|
162 |
);
|
@@ -211,7 +215,7 @@ class Ajax extends Page
|
|
211 |
}
|
212 |
}
|
213 |
|
214 |
-
Proxy\Shared::
|
215 |
|
216 |
return self::buildAppointmentsForCalendar( $staff_id, $query );
|
217 |
}
|
2 |
namespace Bookly\Backend\Modules\Calendar;
|
3 |
|
4 |
use Bookly\Lib;
|
5 |
+
use Bookly\Lib\Entities\Staff;
|
6 |
+
use Bookly\Lib\Utils\DateTime;
|
7 |
|
8 |
/**
|
9 |
* Class Ajax
|
24 |
*/
|
25 |
public static function getStaffAppointments()
|
26 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
$result = array();
|
28 |
$one_day = new \DateInterval( 'P1D' );
|
29 |
$start_date = new \DateTime( substr( self::parameter( 'start' ), 0, 19 ) );
|
30 |
$end_date = new \DateTime( substr( self::parameter( 'end' ), 0, 19 ) );
|
31 |
|
32 |
+
// Due to possibly different time zones of staff members expand start and end dates
|
33 |
+
// to provide 100% coverage of the requested date range
|
34 |
+
$start_date->sub( $one_day );
|
35 |
+
$end_date->add( $one_day );
|
36 |
+
|
37 |
+
// Load staff members
|
38 |
+
$query = Staff::query()->whereNot( 'visibility', 'archive' );
|
39 |
+
if ( Lib\Config::proActive() ) {
|
40 |
+
if ( Lib\Utils\Common::isCurrentUserSupervisor() ) {
|
41 |
+
$query->whereIn( 'id', explode( ',', self::parameter( 'staff_ids' ) ) );
|
42 |
+
} else {
|
43 |
+
$query->where( 'wp_user_id', get_current_user_id() );
|
44 |
}
|
45 |
} else {
|
46 |
+
$query->limit( 1 );
|
|
|
|
|
|
|
|
|
|
|
47 |
}
|
48 |
+
/** @var Staff[] $staff_members */
|
49 |
+
$staff_members = $query->find();
|
50 |
+
|
51 |
+
if ( ! empty ( $staff_members ) ) {
|
52 |
+
// Load special days.
|
53 |
+
$special_days = array();
|
54 |
+
$staff_ids = array_map( function ( $staff ) { return $staff->getId(); }, $staff_members );
|
55 |
+
foreach ( (array) Lib\Proxy\SpecialDays::getSchedule( $staff_ids, $start_date, $end_date ) as $day ) {
|
56 |
+
$special_days[ $day['staff_id'] ][ $day['date'] ][] = $day;
|
57 |
+
}
|
58 |
|
|
|
59 |
foreach ( $staff_members as $staff ) {
|
|
|
60 |
$result = array_merge( $result, self::_getAppointmentsForCalendar( $staff->getId(), $start_date, $end_date ) );
|
61 |
|
62 |
+
// Schedule
|
63 |
+
$schedule = array();
|
64 |
$items = $staff->getScheduleItems();
|
65 |
$day = clone $start_date;
|
66 |
// Find previous day end time.
|
67 |
$last_end = clone $day;
|
68 |
$last_end->sub( $one_day );
|
69 |
+
$end_time = $items[ (int) $last_end->format( 'w' ) + 1 ]->getEndTime();
|
|
|
70 |
if ( $end_time !== null ) {
|
71 |
$end_time = explode( ':', $end_time );
|
72 |
$last_end->setTime( $end_time[0], $end_time[1] );
|
77 |
while ( $day < $end_date ) {
|
78 |
$start = $last_end->format( 'Y-m-d H:i:s' );
|
79 |
// Check if $day is Special Day for current staff.
|
80 |
+
if ( isset ( $special_days[ $staff->getId() ][ $day->format( 'Y-m-d' ) ] ) ) {
|
81 |
$sp_days = $special_days[ $staff->getId() ][ $day->format( 'Y-m-d' ) ];
|
82 |
$end = $sp_days[0]['date'] . ' ' . $sp_days[0]['start_time'];
|
83 |
if ( $start < $end ) {
|
84 |
+
$schedule[] = array(
|
85 |
+
'start' => $start,
|
86 |
+
'end' => $end,
|
|
|
|
|
87 |
);
|
88 |
}
|
89 |
// Breaks.
|
90 |
foreach ( $sp_days as $sp_day ) {
|
91 |
+
if ( $sp_day['break_start'] ) {
|
92 |
+
$break_start = date(
|
93 |
+
'Y-m-d H:i:s',
|
94 |
+
strtotime( $sp_day['date'] ) + Lib\Utils\DateTime::timeToSeconds( $sp_day['break_start'] )
|
95 |
+
);
|
96 |
+
$break_end = date(
|
97 |
+
'Y-m-d H:i:s',
|
98 |
+
strtotime( $sp_day['date'] ) + Lib\Utils\DateTime::timeToSeconds( $sp_day['break_end'] )
|
99 |
+
);
|
100 |
+
$schedule[] = array(
|
101 |
+
'start' => $break_start,
|
102 |
+
'end' => $break_end,
|
103 |
+
);
|
104 |
+
}
|
105 |
}
|
106 |
$end_time = explode( ':', $sp_days[0]['end_time'] );
|
107 |
$last_end = clone $day;
|
108 |
$last_end->setTime( $end_time[0], $end_time[1] );
|
109 |
} else {
|
|
|
110 |
$item = $items[ (int) $day->format( 'w' ) + 1 ];
|
111 |
if ( $item->getStartTime() && ! $staff->isOnHoliday( $day ) ) {
|
112 |
$end = $day->format( 'Y-m-d ' . $item->getStartTime() );
|
113 |
if ( $start < $end ) {
|
114 |
+
$schedule[] = array(
|
115 |
+
'start' => $start,
|
116 |
+
'end' => $end,
|
|
|
|
|
117 |
);
|
118 |
}
|
119 |
$last_end = clone $day;
|
130 |
'Y-m-d H:i:s',
|
131 |
$day->getTimestamp() + Lib\Utils\DateTime::timeToSeconds( $break['end_time'] )
|
132 |
);
|
133 |
+
$schedule[] = array(
|
134 |
+
'start' => $break_start,
|
135 |
+
'end' => $break_end,
|
|
|
|
|
136 |
);
|
137 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
}
|
139 |
}
|
140 |
|
142 |
}
|
143 |
|
144 |
if ( $last_end->format( 'Ymd' ) != $day->format( 'Ymd' ) ) {
|
145 |
+
$schedule[] = array(
|
146 |
+
'start' => $last_end->format( 'Y-m-d H:i:s' ),
|
147 |
+
'end' => $day->format( 'Y-m-d 24:00:00' ),
|
148 |
+
);
|
149 |
+
}
|
150 |
+
|
151 |
+
// Add schedule to result,
|
152 |
+
// with appropriate time zone shift if needed
|
153 |
+
$staff_tz = $staff->getTimeZone();
|
154 |
+
$wp_tz = Lib\Config::getWPTimeZone();
|
155 |
+
$convert_tz = $staff_tz && $staff_tz !== $wp_tz;
|
156 |
+
foreach ( $schedule as $item ) {
|
157 |
+
if ( $convert_tz ) {
|
158 |
+
$item['start'] = DateTime::convertTimeZone( $item['start'], $staff_tz, $wp_tz );
|
159 |
+
$item['end'] = DateTime::convertTimeZone( $item['end'], $staff_tz, $wp_tz );
|
160 |
+
}
|
161 |
$result[] = array(
|
162 |
+
'start' => $item['start'],
|
163 |
+
'end' => $item['end'],
|
164 |
'display' => 'background',
|
165 |
'resourceId' => $staff->getId(),
|
166 |
);
|
215 |
}
|
216 |
}
|
217 |
|
218 |
+
Proxy\Shared::prepareAppointmentsQueryForCalendar( $query, $staff_id, $start_date, $end_date );
|
219 |
|
220 |
return self::buildAppointmentsForCalendar( $staff_id, $query );
|
221 |
}
|
backend/modules/calendar/Page.php
CHANGED
@@ -107,7 +107,7 @@ class Page extends Lib\Base\Ajax
|
|
107 |
'slotMinTime' => $min_time,
|
108 |
'slotMaxTime' => $max_time,
|
109 |
'scrollTime' => $scroll_time,
|
110 |
-
'locale' => Lib\Config::
|
111 |
'mjsTimeFormat' => Lib\Utils\DateTime::convertFormat( 'time', Lib\Utils\DateTime::FORMAT_MOMENT_JS ),
|
112 |
'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
|
113 |
'dateRange' => Lib\Utils\DateTime::dateRangeOptions(),
|
107 |
'slotMinTime' => $min_time,
|
108 |
'slotMaxTime' => $max_time,
|
109 |
'scrollTime' => $scroll_time,
|
110 |
+
'locale' => Lib\Config::getShortLocale(),
|
111 |
'mjsTimeFormat' => Lib\Utils\DateTime::convertFormat( 'time', Lib\Utils\DateTime::FORMAT_MOMENT_JS ),
|
112 |
'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
|
113 |
'dateRange' => Lib\Utils\DateTime::dateRangeOptions(),
|
backend/modules/calendar/proxy/Shared.php
CHANGED
@@ -8,7 +8,7 @@ use Bookly\Lib;
|
|
8 |
* @package Bookly\Backend\Modules\Calendar\Proxy
|
9 |
*
|
10 |
* @method static array prepareAppointmentCodesData( array $codes, array $appointment_data, string $participants ) Prepare codes data for appointment description displayed in calendar.
|
11 |
-
* @method static void
|
12 |
* @method static void renderAddOnsComponents() Render components on calendar page.
|
13 |
*/
|
14 |
abstract class Shared extends Lib\Base\Proxy
|
8 |
* @package Bookly\Backend\Modules\Calendar\Proxy
|
9 |
*
|
10 |
* @method static array prepareAppointmentCodesData( array $codes, array $appointment_data, string $participants ) Prepare codes data for appointment description displayed in calendar.
|
11 |
+
* @method static void prepareAppointmentsQueryForCalendar( Lib\Query $query, int $staff_id, \DateTime $start_date, \DateTime $end_date ) Prepare appointments query for full calendar
|
12 |
* @method static void renderAddOnsComponents() Render components on calendar page.
|
13 |
*/
|
14 |
abstract class Shared extends Lib\Base\Proxy
|
backend/modules/calendar/resources/css/event-calendar.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ec-flex{display:flex}.ec-body.ec-month, .ec-days, .ec-day, .ec-day-title, .ec-resource{flex:1 1 0%;min-width:0;max-width:100%}.ec{display:flex;flex-direction:column}.ec ::-webkit-scrollbar{background:#fff}.ec ::-webkit-scrollbar-thumb{border:4px solid #fff;box-shadow:none;background:#dadce0;border-radius:8px;min-height:40px}.ec :hover::-webkit-scrollbar-thumb{background:#bdc1c6}.ec-hidden-scroll{display:none;overflow-y:scroll;visibility:hidden;flex-shrink:0}.ec-
|
1 |
+
.ec-flex{display:flex}.ec-body.ec-month, .ec-days, .ec-day, .ec-day-title, .ec-resource{flex:1 1 0%;min-width:0;max-width:100%}.ec{display:flex;flex-direction:column}.ec ::-webkit-scrollbar{background:#fff}.ec ::-webkit-scrollbar-thumb{border:4px solid #fff;box-shadow:none;background:#dadce0;border-radius:8px;min-height:40px}.ec :hover::-webkit-scrollbar-thumb{background:#bdc1c6}.ec-hidden-scroll{display:none;overflow-y:scroll;visibility:hidden;flex-shrink:0}.ec-with-scroll .ec-hidden-scroll{display:block}.ec-toolbar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;margin-bottom:1em}.ec-toolbar > * > :not(:first-child){margin-left:.75em}.ec-title{margin:0}.ec-button{background-color:#fff;border:1px solid #ced4da;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem}.ec-button:not(:disabled){color:#212529;cursor:pointer}.ec-button:not(:disabled):hover, .ec-button.ec-active{background-color:#ececec;border-color:#b1bbc4}.ec-button-group{display:inline-block}.ec-button-group .ec-button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.ec-button-group .ec-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.ec-icon{display:inline-block;width:1em}.ec-icon.ec-prev:after, .ec-icon.ec-next:after{content:'';position:relative;width:.5em;height:.5em;border-top:2px solid #212529;border-right:2px solid #212529;display:inline-block}.ec-icon.ec-prev:after{transform:rotate(-135deg) translate(-2px, 2px)}.ec-icon.ec-next:after{transform:rotate(45deg) translate(-2px, 2px)}.ec-header, .ec-body, .ec-days, .ec-day{border:1px solid #dadce0}.ec-header{display:flex;flex-shrink:0}.ec-header .ec-resource{flex-direction:column}.ec-header .ec-days{border-bottom:none}.ec-header .ec-resource .ec-days{border-top-style:solid}.ec-header .ec-day{min-height:24px;line-height:24px;text-align:center}.ec-body{position:relative;overflow-x:hidden;overflow-y:auto}.ec-body:not(.ec-list){border-top:none}.ec-month.ec-body{flex-basis:auto}.ec-sidebar{flex:0 0 auto;width:auto;max-width:100%;padding:0 4px 0 8px}.ec-content{display:flex}.ec-month.ec-body .ec-content{flex-direction:column;height:100%}.ec-list.ec-body .ec-content{flex-direction:column}.ec-resource{display:flex}.ec-days{display:flex;border-style:none none solid}.ec-days:last-child{border-bottom:none}.ec-day{border-style:none none none solid}.ec-month.ec-body .ec-days, .ec-resource .ec-days{flex:1 0 auto}.ec-month.ec-body .ec-day{min-height:5em}.ec-month .ec-day:first-child{border-left:none}.ec-month .ec-day-head{text-align:right;padding:4px}.ec-list .ec-day{flex:1 0 auto;border-style:solid none;padding:8px 14px;font-weight:bold;position:sticky;top:0}.ec-list .ec-day:first-child{border-top:none}.ec-list .ec-day-side{float:right}.ec-day.ec-today{background-color:#fcf8e3}.ec-day.ec-other-month .ec-day-head{opacity:.3}.ec-day.ec-highlight{background-color:#e5f7fe}.ec-events{position:relative;margin:0 6px 0 0}.ec-event{position:absolute;display:flex;flex-direction:column;padding:2px;color:#fff;box-sizing:border-box;box-shadow:0 0 1px 0 #dadce0;background-color:#039be5;border-radius:3px;font-size:.85em;line-height:1.5;font-weight:400}.ec-month .ec-event, .ec-list .ec-event{position:static}.ec-list .ec-event{flex:1 0 auto;padding:8px 14px;color:inherit;background-color:transparent;border-radius:0;font-size:1em;flex-direction:row;align-items:baseline}.ec-event-time{overflow:hidden;white-space:nowrap;margin-bottom:1px;flex-shrink:0}.ec-list .ec-event-time{width:23ch;margin:0;text-overflow:ellipsis}.ec-list .ec-event-dot{display:inline-block;border-radius:50%;border:6px solid #039be5;margin:0 14px 0 10px}.ec-event-title{position:sticky;top:0;overflow:hidden}.ec-bg-events{position:relative}.ec-bg-event{position:absolute;background-color:#dadce0;opacity:0.3;width:100%}.ec-list .ec-no-events{text-align:center;padding:5em 0}.ec-hidden-times{visibility:hidden;overflow-y:hidden;height:0}.ec-time, .ec-line{height:24px}.ec-time{position:relative;line-height:24px;top:-12px;text-align:right;white-space:nowrap}.ec-lines{width:8px}.ec-line:not(:first-child):after{content:'';position:absolute;width:100%;border-bottom:1px solid #dadce0}.ec-body:not(.ec-compact) .ec-line:nth-child(even):after{border-bottom-style:dotted}
|
backend/modules/calendar/resources/js/calendar-common.js
CHANGED
@@ -68,16 +68,9 @@
|
|
68 |
return {
|
69 |
action: 'bookly_get_staff_appointments',
|
70 |
csrf_token: obj.options.l10n.csrf_token,
|
71 |
-
staff_ids: obj.options.
|
72 |
-
|
73 |
-
|
74 |
-
,
|
75 |
-
location_ids: obj.options.is_backend
|
76 |
-
? obj.options.getLocationIds()
|
77 |
-
: ['all'],
|
78 |
-
service_ids: obj.options.is_backend
|
79 |
-
? obj.options.getServiceIds()
|
80 |
-
: ['all']
|
81 |
};
|
82 |
}
|
83 |
}],
|
@@ -361,13 +354,12 @@
|
|
361 |
Calendar.prototype.options = {
|
362 |
calendar: {},
|
363 |
getCurrentStaffId: function () { return -1; },
|
364 |
-
getStaffMemberIds: function () { return []; },
|
365 |
-
getServiceIds: function () { return []; },
|
366 |
-
getLocationIds: function () { return []; },
|
367 |
refresh: function () {},
|
368 |
viewChanged: function () {},
|
369 |
-
l10n: {}
|
370 |
-
is_backend: true
|
371 |
};
|
372 |
|
373 |
window.BooklyCalendar = Calendar;
|
68 |
return {
|
69 |
action: 'bookly_get_staff_appointments',
|
70 |
csrf_token: obj.options.l10n.csrf_token,
|
71 |
+
staff_ids: obj.options.getStaffMemberIds(),
|
72 |
+
location_ids: obj.options.getLocationIds(),
|
73 |
+
service_ids: obj.options.getServiceIds()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
};
|
75 |
}
|
76 |
}],
|
354 |
Calendar.prototype.options = {
|
355 |
calendar: {},
|
356 |
getCurrentStaffId: function () { return -1; },
|
357 |
+
getStaffMemberIds: function () { return [this.getCurrentStaffId()]; },
|
358 |
+
getServiceIds: function () { return ['all']; },
|
359 |
+
getLocationIds: function () { return ['all']; },
|
360 |
refresh: function () {},
|
361 |
viewChanged: function () {},
|
362 |
+
l10n: {}
|
|
|
363 |
};
|
364 |
|
365 |
window.BooklyCalendar = Calendar;
|
backend/modules/calendar/resources/js/calendar.js
CHANGED
@@ -242,10 +242,17 @@ jQuery(function ($) {
|
|
242 |
return $staffLinks.filter('.active').data('staff_id');
|
243 |
},
|
244 |
getStaffMemberIds: function () {
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
|
250 |
return ids;
|
251 |
},
|
242 |
return $staffLinks.filter('.active').data('staff_id');
|
243 |
},
|
244 |
getStaffMemberIds: function () {
|
245 |
+
let ids = [],
|
246 |
+
staffId = this.getCurrentStaffId()
|
247 |
+
;
|
248 |
+
|
249 |
+
if (staffId == 0) {
|
250 |
+
staffMembers.forEach(function (staff) {
|
251 |
+
ids.push(staff.id);
|
252 |
+
});
|
253 |
+
} else {
|
254 |
+
ids.push(staffId);
|
255 |
+
}
|
256 |
|
257 |
return ids;
|
258 |
},
|
backend/modules/calendar/resources/js/event-calendar.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
var EventCalendar=function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,n,e){return t(e={path:n,exports:{},require:function(t,n){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==n&&e.path)}},e.exports),e.exports}var e,r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!u.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:u},s=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},l={}.toString,h=function(t){return l.call(t).slice(8,-1)},v="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==h(t)?v.call(t,""):Object(t)}:Object,p=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},y=function(t){return d(p(t))},g=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,n){if(!g(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!g(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!g(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!g(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},$=o.document,S=g($)&&g($.createElement),x=function(t){return S?$.createElement(t):{}},k=!a&&!i((function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a})),A=Object.getOwnPropertyDescriptor,E={f:a?A:function(t,n){if(t=y(t),n=m(n,!0),k)try{return A(t,n)}catch(t){}if(w(t,n))return s(!f.f.call(t,n),t[n])}},O=/#|\.prototype\./,T=function(t,n){var e=_[j(t)];return e==P||e!=D&&("function"==typeof n?i(n):!!n)},j=T.normalize=function(t){return String(t).replace(O,".").toLowerCase()},_=T.data={},D=T.NATIVE="N",P=T.POLYFILL="P",M=T,R={},C=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},L=function(t,n,e){if(C(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}},I=function(t){if(!g(t))throw TypeError(String(t)+" is not an object");return t},B=Object.defineProperty,F={f:a?B:function(t,n,e){if(I(t),n=m(n,!0),I(e),k)try{return B(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},U=a?function(t,n,e){return F.f(t,n,s(1,e))}:function(t,n,e){return t[n]=e,t},N=E.f,q=function(t){var n=function(n,e,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,e)}return new t(n,e,r)}return t.apply(this,arguments)};return n.prototype=t.prototype,n},z=function(t,n){var e,r,i,a,u,c,f,s,l=t.target,h=t.global,v=t.stat,d=t.proto,p=h?o:v?o[l]:(o[l]||{}).prototype,y=h?R:R[l]||(R[l]={}),g=y.prototype;for(i in n)e=!M(h?i:l+(v?".":"#")+i,t.forced)&&p&&w(p,i),u=y[i],e&&(c=t.noTargetGet?(s=N(p,i))&&s.value:p[i]),a=e&&c?c:n[i],e&&typeof u==typeof a||(f=t.bind&&e?L(a,o):t.wrap&&e?q(a):d&&"function"==typeof a?L(Function.call,a):a,(t.sham||a&&a.sham||u&&u.sham)&&U(f,"sham",!0),y[i]=f,d&&(w(R,r=l+"Prototype")||U(R,r,{}),R[r][i]=a,t.real&&g&&!g[i]&&U(g,i,a)))},G=function(t){return"function"==typeof t?t:void 0},H=function(t,n){return arguments.length<2?G(R[t])||G(o[t]):R[t]&&R[t][n]||o[t]&&o[t][n]},W=Math.ceil,V=Math.floor,J=function(t){return isNaN(t=+t)?0:(t>0?V:W)(t)},Y=Math.min,X=function(t){return t>0?Y(J(t),9007199254740991):0},K=Math.max,Q=Math.min,Z=function(t,n){var e=J(t);return e<0?K(e+n,0):Q(e,n)},tt=function(t){return function(n,e,r){var o,i=y(n),a=X(i.length),u=Z(r,a);if(t&&e!=e){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===e)return t||u||0;return!t&&-1}},nt={includes:tt(!0),indexOf:tt(!1)},et={},rt=nt.indexOf,ot=function(t,n){var e,r=y(t),o=0,i=[];for(e in r)!w(et,e)&&w(r,e)&&i.push(e);for(;n.length>o;)w(r,e=n[o++])&&(~rt(i,e)||i.push(e));return i},it=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],at=Object.keys||function(t){return ot(t,it)},ut=a?Object.defineProperties:function(t,n){I(t);for(var e,r=at(n),o=r.length,i=0;o>i;)F.f(t,e=r[i++],n[e]);return t},ct=H("document","documentElement"),ft=!0,st="__core-js_shared__",lt=o[st]||function(t,n){try{U(o,t,n)}catch(e){o[t]=n}return n}(st,{}),ht=n((function(t){(t.exports=function(t,n){return lt[t]||(lt[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.4",mode:"pure",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),vt=0,dt=Math.random(),pt=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++vt+dt).toString(36)},yt=ht("keys"),gt=function(t){return yt[t]||(yt[t]=pt(t))},mt=gt("IE_PROTO"),bt=function(){},wt=function(t){return"<script>"+t+"</"+"script>"},$t=function(){try{e=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;$t=e?function(t){t.write(wt("")),t.close();var n=t.parentWindow.Object;return t=null,n}(e):((n=x("iframe")).style.display="none",ct.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(wt("document.F=Object")),t.close(),t.F);for(var r=it.length;r--;)delete $t.prototype[it[r]];return $t()};et[mt]=!0;var St=Object.create||function(t,n){var e;return null!==t?(bt.prototype=I(t),e=new bt,bt.prototype=null,e[mt]=t):e=$t(),void 0===n?e:ut(e,n)},xt=[].slice,kt={},At=function(t,n,e){if(!(n in kt)){for(var r=[],o=0;o<n;o++)r[o]="a["+o+"]";kt[n]=Function("C,a","return new C("+r.join(",")+")")}return kt[n](t,e)},Et=Function.bind||function(t){var n=C(this),e=xt.call(arguments,1),r=function(){var o=e.concat(xt.call(arguments));return this instanceof r?At(n,o.length,o):n.apply(t,o)};return g(n.prototype)&&(r.prototype=n.prototype),r},Ot=H("Reflect","construct"),Tt=i((function(){function t(){}return!(Ot((function(){}),[],t)instanceof t)})),jt=!i((function(){Ot((function(){}))})),_t=Tt||jt;z({target:"Reflect",stat:!0,forced:_t,sham:_t},{construct:function(t,n){C(t),I(n);var e=arguments.length<3?t:C(arguments[2]);if(jt&&!Tt)return Ot(t,n,e);if(t==e){switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3])}var r=[null];return r.push.apply(r,n),new(Et.apply(t,r))}var o=e.prototype,i=St(g(o)?o:Object.prototype),a=Function.apply.call(t,i,n);return g(a)?a:i}});var Dt=R.Reflect.construct;function Pt(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}z({target:"Object",stat:!0,sham:!a},{create:St});var Mt=R.Object,Rt=function(t,n){return Mt.create(t,n)},Ct=Rt,Lt=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,r){return I(e),function(t){if(!g(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(r),n?t.call(e,r):e.__proto__=r,e}}():void 0);z({target:"Object",stat:!0},{setPrototypeOf:Lt});var It=R.Object.setPrototypeOf,Bt=It;function Ft(t,n){return(Ft=Bt||function(t,n){return t.__proto__=n,t})(t,n)}function Ut(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Ct(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&Ft(t,n)}var Nt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),qt=Nt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,zt=ht("wks"),Gt=o.Symbol,Ht=qt?Gt:Gt&&Gt.withoutSetter||pt,Wt=function(t){return w(zt,t)||(Nt&&w(Gt,t)?zt[t]=Gt[t]:zt[t]=Ht("Symbol."+t)),zt[t]},Vt={f:Wt},Jt=F.f,Yt=function(t){var n=R.Symbol||(R.Symbol={});w(n,t)||Jt(n,t,{value:Vt.f(t)})};Yt("iterator");var Xt=function(t){return function(n,e){var r,o,i=String(p(n)),a=J(e),u=i.length;return a<0||a>=u?t?"":void 0:(r=i.charCodeAt(a))<55296||r>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536}},Kt={codeAt:Xt(!1),charAt:Xt(!0)},Qt=Function.toString;"function"!=typeof lt.inspectSource&&(lt.inspectSource=function(t){return Qt.call(t)});var Zt,tn,nn,en=lt.inspectSource,rn=o.WeakMap,on="function"==typeof rn&&/native code/.test(en(rn)),an=o.WeakMap;if(on){var un=new an,cn=un.get,fn=un.has,sn=un.set;Zt=function(t,n){return sn.call(un,t,n),n},tn=function(t){return cn.call(un,t)||{}},nn=function(t){return fn.call(un,t)}}else{var ln=gt("state");et[ln]=!0,Zt=function(t,n){return U(t,ln,n),n},tn=function(t){return w(t,ln)?t[ln]:{}},nn=function(t){return w(t,ln)}}var hn,vn,dn,pn={set:Zt,get:tn,has:nn,enforce:function(t){return nn(t)?tn(t):Zt(t,{})},getterFor:function(t){return function(n){var e;if(!g(n)||(e=tn(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},yn=function(t){return Object(p(t))},gn=!i((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),mn=gt("IE_PROTO"),bn=Object.prototype,wn=gn?Object.getPrototypeOf:function(t){return t=yn(t),w(t,mn)?t[mn]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?bn:null},$n=(Wt("iterator"),!1);[].keys&&("next"in(dn=[].keys())?(vn=wn(wn(dn)))!==Object.prototype&&(hn=vn):$n=!0),null==hn&&(hn={});var Sn={IteratorPrototype:hn,BUGGY_SAFARI_ITERATORS:$n},xn={};xn[Wt("toStringTag")]="z";var kn="[object z]"===String(xn),An=Wt("toStringTag"),En="Arguments"==h(function(){return arguments}()),On=kn?h:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),An))?e:En?h(n):"Object"==(r=h(n))&&"function"==typeof n.callee?"Arguments":r},Tn=kn?{}.toString:function(){return"[object "+On(this)+"]"},jn=F.f,_n=Wt("toStringTag"),Dn=function(t,n,e,r){if(t){var o=e?t:t.prototype;w(o,_n)||jn(o,_n,{configurable:!0,value:n}),r&&!kn&&U(o,"toString",Tn)}},Pn={},Mn=Sn.IteratorPrototype,Rn=function(){return this},Cn=function(t,n,e){var r=n+" Iterator";return t.prototype=St(Mn,{next:s(1,e)}),Dn(t,r,!1,!0),Pn[r]=Rn,t},Ln=function(t,n,e,r){r&&r.enumerable?t[n]=e:U(t,n,e)},In=Sn.IteratorPrototype,Bn=Sn.BUGGY_SAFARI_ITERATORS,Fn=Wt("iterator"),Un="keys",Nn="values",qn="entries",zn=function(){return this},Gn=function(t,n,e,r,o,i,a){Cn(e,n,r);var u,c,f,s=function(t){if(t===o&&p)return p;if(!Bn&&t in v)return v[t];switch(t){case Un:case Nn:case qn:return function(){return new e(this,t)}}return function(){return new e(this)}},l=n+" Iterator",h=!1,v=t.prototype,d=v[Fn]||v["@@iterator"]||o&&v[o],p=!Bn&&d||s(o),y="Array"==n&&v.entries||d;if(y&&(u=wn(y.call(new t)),In!==Object.prototype&&u.next&&(Dn(u,l,!0,!0),Pn[l]=zn)),o==Nn&&d&&d.name!==Nn&&(h=!0,p=function(){return d.call(this)}),a&&v[Fn]!==p&&U(v,Fn,p),Pn[n]=p,o)if(c={values:s(Nn),keys:i?p:s(Un),entries:s(qn)},a)for(f in c)(Bn||h||!(f in v))&&Ln(v,f,c[f]);else z({target:n,proto:!0,forced:Bn||h},c);return c},Hn=Kt.charAt,Wn="String Iterator",Vn=pn.set,Jn=pn.getterFor(Wn);Gn(String,"String",(function(t){Vn(this,{type:Wn,string:String(t),index:0})}),(function(){var t,n=Jn(this),e=n.string,r=n.index;return r>=e.length?{value:void 0,done:!0}:(t=Hn(e,r),n.index+=t.length,{value:t,done:!1})}));var Yn="Array Iterator",Xn=pn.set,Kn=pn.getterFor(Yn);Gn(Array,"Array",(function(t,n){Xn(this,{type:Yn,target:y(t),index:0,kind:n})}),(function(){var t=Kn(this),n=t.target,e=t.kind,r=t.index++;return!n||r>=n.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==e?{value:r,done:!1}:"values"==e?{value:n[r],done:!1}:{value:[r,n[r]],done:!1}}),"values");Pn.Arguments=Pn.Array;var Qn=Wt("toStringTag");for(var Zn in{CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}){var te=o[Zn],ne=te&&te.prototype;ne&&On(ne)!==Qn&&U(ne,Qn,Zn),Pn[Zn]=Pn.Array}var ee,re,oe=Vt.f("iterator"),ie=oe,ae=Array.isArray||function(t){return"Array"==h(t)},ue=function(t,n,e){var r=m(n);r in t?F.f(t,r,s(0,e)):t[r]=e},ce=Wt("species"),fe=function(t,n){var e;return ae(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!ae(e.prototype)?g(e)&&null===(e=e[ce])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},se=H("navigator","userAgent")||"",le=o.process,he=le&&le.versions,ve=he&&he.v8;ve?re=(ee=ve.split("."))[0]+ee[1]:se&&(!(ee=se.match(/Edge\/(\d+)/))||ee[1]>=74)&&(ee=se.match(/Chrome\/(\d+)/))&&(re=ee[1]);var de=re&&+re,pe=Wt("species"),ye=function(t){return de>=51||!i((function(){var n=[];return(n.constructor={})[pe]=function(){return{foo:1}},1!==n[t](Boolean).foo}))},ge=Wt("isConcatSpreadable"),me=9007199254740991,be="Maximum allowed index exceeded",we=de>=51||!i((function(){var t=[];return t[ge]=!1,t.concat()[0]!==t})),$e=ye("concat"),Se=function(t){if(!g(t))return!1;var n=t[ge];return void 0!==n?!!n:ae(t)};z({target:"Array",proto:!0,forced:!we||!$e},{concat:function(t){var n,e,r,o,i,a=yn(this),u=fe(a,0),c=0;for(n=-1,r=arguments.length;n<r;n++)if(Se(i=-1===n?a:arguments[n])){if(c+(o=X(i.length))>me)throw TypeError(be);for(e=0;e<o;e++,c++)e in i&&ue(u,c,i[e])}else{if(c>=me)throw TypeError(be);ue(u,c++,i)}return u.length=c,u}});var xe=it.concat("length","prototype"),ke={f:Object.getOwnPropertyNames||function(t){return ot(t,xe)}},Ae=ke.f,Ee={}.toString,Oe="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Te={f:function(t){return Oe&&"[object Window]"==Ee.call(t)?function(t){try{return Ae(t)}catch(t){return Oe.slice()}}(t):Ae(y(t))}},je={f:Object.getOwnPropertySymbols},_e=[].push,De=function(t){var n=1==t,e=2==t,r=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,c,f,s){for(var l,h,v=yn(u),p=d(v),y=L(c,f,3),g=X(p.length),m=0,b=s||fe,w=n?b(u,g):e?b(u,0):void 0;g>m;m++)if((a||m in p)&&(h=y(l=p[m],m,v),t))if(n)w[m]=h;else if(h)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:_e.call(w,l)}else if(o)return!1;return i?-1:r||o?o:w}},Pe={forEach:De(0),map:De(1),filter:De(2),some:De(3),every:De(4),find:De(5),findIndex:De(6)},Me=Pe.forEach,Re=gt("hidden"),Ce="Symbol",Le=Wt("toPrimitive"),Ie=pn.set,Be=pn.getterFor(Ce),Fe=Object.prototype,Ue=o.Symbol,Ne=H("JSON","stringify"),qe=E.f,ze=F.f,Ge=Te.f,He=f.f,We=ht("symbols"),Ve=ht("op-symbols"),Je=ht("string-to-symbol-registry"),Ye=ht("symbol-to-string-registry"),Xe=ht("wks"),Ke=o.QObject,Qe=!Ke||!Ke.prototype||!Ke.prototype.findChild,Ze=a&&i((function(){return 7!=St(ze({},"a",{get:function(){return ze(this,"a",{value:7}).a}})).a}))?function(t,n,e){var r=qe(Fe,n);r&&delete Fe[n],ze(t,n,e),r&&t!==Fe&&ze(Fe,n,r)}:ze,tr=function(t,n){var e=We[t]=St(Ue.prototype);return Ie(e,{type:Ce,tag:t,description:n}),a||(e.description=n),e},nr=qt?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof Ue},er=function(t,n,e){t===Fe&&er(Ve,n,e),I(t);var r=m(n,!0);return I(e),w(We,r)?(e.enumerable?(w(t,Re)&&t[Re][r]&&(t[Re][r]=!1),e=St(e,{enumerable:s(0,!1)})):(w(t,Re)||ze(t,Re,s(1,{})),t[Re][r]=!0),Ze(t,r,e)):ze(t,r,e)},rr=function(t,n){I(t);var e=y(n),r=at(e).concat(ur(e));return Me(r,(function(n){a&&!or.call(e,n)||er(t,n,e[n])})),t},or=function(t){var n=m(t,!0),e=He.call(this,n);return!(this===Fe&&w(We,n)&&!w(Ve,n))&&(!(e||!w(this,n)||!w(We,n)||w(this,Re)&&this[Re][n])||e)},ir=function(t,n){var e=y(t),r=m(n,!0);if(e!==Fe||!w(We,r)||w(Ve,r)){var o=qe(e,r);return!o||!w(We,r)||w(e,Re)&&e[Re][r]||(o.enumerable=!0),o}},ar=function(t){var n=Ge(y(t)),e=[];return Me(n,(function(t){w(We,t)||w(et,t)||e.push(t)})),e},ur=function(t){var n=t===Fe,e=Ge(n?Ve:y(t)),r=[];return Me(e,(function(t){!w(We,t)||n&&!w(Fe,t)||r.push(We[t])})),r};if(Nt||(Ln((Ue=function(){if(this instanceof Ue)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,n=pt(t),e=function(t){this===Fe&&e.call(Ve,t),w(this,Re)&&w(this[Re],n)&&(this[Re][n]=!1),Ze(this,n,s(1,t))};return a&&Qe&&Ze(Fe,n,{configurable:!0,set:e}),tr(n,t)}).prototype,"toString",(function(){return Be(this).tag})),Ln(Ue,"withoutSetter",(function(t){return tr(pt(t),t)})),f.f=or,F.f=er,E.f=ir,ke.f=Te.f=ar,je.f=ur,Vt.f=function(t){return tr(Wt(t),t)},a&&ze(Ue.prototype,"description",{configurable:!0,get:function(){return Be(this).description}})),z({global:!0,wrap:!0,forced:!Nt,sham:!Nt},{Symbol:Ue}),Me(at(Xe),(function(t){Yt(t)})),z({target:Ce,stat:!0,forced:!Nt},{for:function(t){var n=String(t);if(w(Je,n))return Je[n];var e=Ue(n);return Je[n]=e,Ye[e]=n,e},keyFor:function(t){if(!nr(t))throw TypeError(t+" is not a symbol");if(w(Ye,t))return Ye[t]},useSetter:function(){Qe=!0},useSimple:function(){Qe=!1}}),z({target:"Object",stat:!0,forced:!Nt,sham:!a},{create:function(t,n){return void 0===n?St(t):rr(St(t),n)},defineProperty:er,defineProperties:rr,getOwnPropertyDescriptor:ir}),z({target:"Object",stat:!0,forced:!Nt},{getOwnPropertyNames:ar,getOwnPropertySymbols:ur}),z({target:"Object",stat:!0,forced:i((function(){je.f(1)}))},{getOwnPropertySymbols:function(t){return je.f(yn(t))}}),Ne){var cr=!Nt||i((function(){var t=Ue();return"[null]"!=Ne([t])||"{}"!=Ne({a:t})||"{}"!=Ne(Object(t))}));z({target:"JSON",stat:!0,forced:cr},{stringify:function(t,n,e){for(var r,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=n,(g(n)||void 0!==t)&&!nr(t))return ae(n)||(n=function(t,n){if("function"==typeof r&&(n=r.call(this,t,n)),!nr(n))return n}),o[1]=n,Ne.apply(null,o)}})}Ue.prototype[Le]||U(Ue.prototype,Le,Ue.prototype.valueOf),Dn(Ue,Ce),et[Re]=!0,Yt("asyncIterator"),Yt("hasInstance"),Yt("isConcatSpreadable"),Yt("match"),Yt("matchAll"),Yt("replace"),Yt("search"),Yt("species"),Yt("split"),Yt("toPrimitive"),Yt("toStringTag"),Yt("unscopables"),Dn(Math,"Math",!0),Dn(o.JSON,"JSON",!0);var fr=R.Symbol;Yt("asyncDispose"),Yt("dispose"),Yt("observable"),Yt("patternMatch"),Yt("replaceAll");var sr=fr;function lr(t){return(lr="function"==typeof sr&&"symbol"==typeof ie?function(t){return typeof t}:function(t){return t&&"function"==typeof sr&&t.constructor===sr&&t!==sr.prototype?"symbol":typeof t})(t)}function hr(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function vr(t,n){return!n||"object"!==lr(n)&&"function"!=typeof n?hr(t):n}var dr=i((function(){wn(1)}));z({target:"Object",stat:!0,forced:dr,sham:!gn},{getPrototypeOf:function(t){return wn(yn(t))}});var pr=R.Object.getPrototypeOf,yr=pr;function gr(t){return(gr=Bt?yr:function(t){return t.__proto__||yr(t)})(t)}var mr=function(t,n,e){for(var r in n)e&&e.unsafe&&t[r]?t[r]=n[r]:Ln(t,r,n[r],e);return t},br=!i((function(){return Object.isExtensible(Object.preventExtensions({}))})),wr=n((function(t){var n=F.f,e=pt("meta"),r=0,o=Object.isExtensible||function(){return!0},i=function(t){n(t,e,{value:{objectID:"O"+ ++r,weakData:{}}})},a=t.exports={REQUIRED:!1,fastKey:function(t,n){if(!g(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!w(t,e)){if(!o(t))return"F";if(!n)return"E";i(t)}return t[e].objectID},getWeakData:function(t,n){if(!w(t,e)){if(!o(t))return!0;if(!n)return!1;i(t)}return t[e].weakData},onFreeze:function(t){return br&&a.REQUIRED&&o(t)&&!w(t,e)&&i(t),t}};et[e]=!0})),$r=Wt("iterator"),Sr=Array.prototype,xr=function(t){return void 0!==t&&(Pn.Array===t||Sr[$r]===t)},kr=Wt("iterator"),Ar=function(t){if(null!=t)return t[kr]||t["@@iterator"]||Pn[On(t)]},Er=function(t,n,e,r){try{return r?n(I(e)[0],e[1]):n(e)}catch(n){var o=t.return;throw void 0!==o&&I(o.call(t)),n}},Or=n((function(t){var n=function(t,n){this.stopped=t,this.result=n};(t.exports=function(t,e,r,o,i){var a,u,c,f,s,l,h,v=L(e,r,o?2:1);if(i)a=t;else{if("function"!=typeof(u=Ar(t)))throw TypeError("Target is not iterable");if(xr(u)){for(c=0,f=X(t.length);f>c;c++)if((s=o?v(I(h=t[c])[0],h[1]):v(t[c]))&&s instanceof n)return s;return new n(!1)}a=u.call(t)}for(l=a.next;!(h=l.call(a)).done;)if("object"==typeof(s=Er(a,v,h.value,o))&&s&&s instanceof n)return s;return new n(!1)}).stop=function(t){return new n(!0,t)}})),Tr=function(t,n,e){if(!(t instanceof n))throw TypeError("Incorrect "+(e?e+" ":"")+"invocation");return t},jr=F.f,_r=Pe.forEach,Dr=pn.set,Pr=pn.getterFor,Mr=function(t,n,e){var r,u=-1!==t.indexOf("Map"),c=-1!==t.indexOf("Weak"),f=u?"set":"add",s=o[t],l=s&&s.prototype,h={};if(a&&"function"==typeof s&&(c||l.forEach&&!i((function(){(new s).entries().next()})))){r=n((function(n,e){Dr(Tr(n,r,t),{type:t,collection:new s}),null!=e&&Or(e,n[f],n,u)}));var v=Pr(t);_r(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(t){var n="add"==t||"set"==t;!(t in l)||c&&"clear"==t||U(r.prototype,t,(function(e,r){var o=v(this).collection;if(!n&&c&&!g(e))return"get"==t&&void 0;var i=o[t](0===e?0:e,r);return n?this:i}))})),c||jr(r.prototype,"size",{configurable:!0,get:function(){return v(this).collection.size}})}else r=e.getConstructor(n,t,u,f),wr.REQUIRED=!0;return Dn(r,t,!1,!0),h[t]=r,z({global:!0,forced:!0},h),c||e.setStrong(r,t,u),r},Rr=wr.getWeakData,Cr=pn.set,Lr=pn.getterFor,Ir=Pe.find,Br=Pe.findIndex,Fr=0,Ur=function(t){return t.frozen||(t.frozen=new Nr)},Nr=function(){this.entries=[]},qr=function(t,n){return Ir(t.entries,(function(t){return t[0]===n}))};Nr.prototype={get:function(t){var n=qr(this,t);if(n)return n[1]},has:function(t){return!!qr(this,t)},set:function(t,n){var e=qr(this,t);e?e[1]=n:this.entries.push([t,n])},delete:function(t){var n=Br(this.entries,(function(n){return n[0]===t}));return~n&&this.entries.splice(n,1),!!~n}};var zr={getConstructor:function(t,n,e,r){var o=t((function(t,i){Tr(t,o,n),Cr(t,{type:n,id:Fr++,frozen:void 0}),null!=i&&Or(i,t[r],t,e)})),i=Lr(n),a=function(t,n,e){var r=i(t),o=Rr(I(n),!0);return!0===o?Ur(r).set(n,e):o[r.id]=e,t};return mr(o.prototype,{delete:function(t){var n=i(this);if(!g(t))return!1;var e=Rr(t);return!0===e?Ur(n).delete(t):e&&w(e,n.id)&&delete e[n.id]},has:function(t){var n=i(this);if(!g(t))return!1;var e=Rr(t);return!0===e?Ur(n).has(t):e&&w(e,n.id)}}),mr(o.prototype,e?{get:function(t){var n=i(this);if(g(t)){var e=Rr(t);return!0===e?Ur(n).get(t):e?e[n.id]:void 0}},set:function(t,n){return a(this,t,n)}}:{add:function(t){return a(this,t,!0)}}),o}},Gr=(n((function(t){var n,e=pn.enforce,r=!o.ActiveXObject&&"ActiveXObject"in o,i=Object.isExtensible,a=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},u=t.exports=Mr("WeakMap",a,zr);if(on&&r){n=zr.getConstructor(a,"WeakMap",!0),wr.REQUIRED=!0;var c=u.prototype,f=c.delete,s=c.has,l=c.get,h=c.set;mr(c,{delete:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),f.call(this,t)||r.frozen.delete(t)}return f.call(this,t)},has:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),s.call(this,t)||r.frozen.has(t)}return s.call(this,t)},get:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),s.call(this,t)?l.call(this,t):r.frozen.get(t)}return l.call(this,t)},set:function(t,r){if(g(t)&&!i(t)){var o=e(this);o.frozen||(o.frozen=new n),s.call(this,t)?h.call(this,t,r):o.frozen.set(t,r)}else h.call(this,t,r);return this}})}})),R.WeakMap),Hr=function(t){var n=Ar(t);if("function"!=typeof n)throw TypeError(String(t)+" is not iterable");return I(n.call(t))},Wr=Hr;z({target:"Array",stat:!0},{isArray:ae});var Vr=R.Array.isArray,Jr=Vr,Yr=Ar,Xr=fr,Kr=function(t){var n,e,r,o,i,a,u=yn(t),c="function"==typeof this?this:Array,f=arguments.length,s=f>1?arguments[1]:void 0,l=void 0!==s,h=Ar(u),v=0;if(l&&(s=L(s,f>2?arguments[2]:void 0,2)),null==h||c==Array&&xr(h))for(e=new c(n=X(u.length));n>v;v++)a=l?s(u[v],v):u[v],ue(e,v,a);else for(i=(o=h.call(u)).next,e=new c;!(r=i.call(o)).done;v++)a=l?Er(o,s,[r.value,v],!0):r.value,ue(e,v,a);return e.length=v,e},Qr=Wt("iterator"),Zr=!1;try{var to=0,no={next:function(){return{done:!!to++}},return:function(){Zr=!0}};no[Qr]=function(){return this},Array.from(no,(function(){throw 2}))}catch(t){}var eo=function(t,n){if(!n&&!Zr)return!1;var e=!1;try{var r={};r[Qr]=function(){return{next:function(){return{done:e=!0}}}},t(r)}catch(t){}return e},ro=!eo((function(t){Array.from(t)}));z({target:"Array",stat:!0,forced:ro},{from:Kr});var oo=R.Array.from,io=oo;function ao(t,n){var e=n.get(t);if(!e)throw new TypeError("attempted to get private field on non-instance");return e.get?e.get.call(t):e.value}z({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperty:F.f});var uo=n((function(t){var n=R.Object,e=t.exports=function(t,e,r){return n.defineProperty(t,e,r)};n.defineProperty.sham&&(e.sham=!0)})),co=uo;function fo(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),co(t,r.key,r)}}function so(t,n,e){return n&&fo(t.prototype,n),e&&fo(t,e),t}var lo=Object.defineProperty,ho={},vo=function(t){throw t},po=function(t,n){if(w(ho,t))return ho[t];n||(n={});var e=[][t],r=!!w(n,"ACCESSORS")&&n.ACCESSORS,o=w(n,0)?n[0]:vo,u=w(n,1)?n[1]:void 0;return ho[t]=!!e&&!i((function(){if(r&&!a)return!0;var t={length:-1};r?lo(t,1,{enumerable:!0,get:vo}):t[1]=1,e.call(t,o,u)}))},yo=ye("slice"),go=po("slice",{ACCESSORS:!0,0:0,1:2}),mo=Wt("species"),bo=[].slice,wo=Math.max;z({target:"Array",proto:!0,forced:!yo||!go},{slice:function(t,n){var e,r,o,i=y(this),a=X(i.length),u=Z(t,a),c=Z(void 0===n?a:n,a);if(ae(i)&&("function"!=typeof(e=i.constructor)||e!==Array&&!ae(e.prototype)?g(e)&&null===(e=e[mo])&&(e=void 0):e=void 0,e===Array||void 0===e))return bo.call(i,u,c);for(r=new(void 0===e?Array:e)(wo(c-u,0)),o=0;u<c;u++,o++)u in i&&ue(r,o,i[u]);return r.length=o,r}});var $o=function(t){return R[t+"Prototype"]},So=$o("Array").slice,xo=Array.prototype,ko=function(t){var n=t.slice;return t===xo||t instanceof Array&&n===xo.slice?So:n},Ao=ko,Eo=uo;z({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperties:ut});var Oo=n((function(t){var n=R.Object,e=t.exports=function(t,e){return n.defineProperties(t,e)};n.defineProperties.sham&&(e.sham=!0)})),To=H("Reflect","ownKeys")||function(t){var n=ke.f(I(t)),e=je.f;return e?n.concat(e(t)):n};z({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(t){for(var n,e,r=y(t),o=E.f,i=To(r),a={},u=0;i.length>u;)void 0!==(e=o(r,n=i[u++]))&&ue(a,n,e);return a}});var jo=R.Object.getOwnPropertyDescriptors,_o=function(t,n){var e=[][t];return!!e&&i((function(){e.call(null,n||function(){throw 1},1)}))},Do=Pe.forEach,Po=_o("forEach"),Mo=po("forEach"),Ro=Po&&Mo?[].forEach:function(t){return Do(this,t,arguments.length>1?arguments[1]:void 0)};z({target:"Array",proto:!0,forced:[].forEach!=Ro},{forEach:Ro});var Co=$o("Array").forEach,Lo=Array.prototype,Io={DOMTokenList:!0,NodeList:!0},Bo=function(t){var n=t.forEach;return t===Lo||t instanceof Array&&n===Lo.forEach||Io.hasOwnProperty(On(t))?Co:n},Fo=E.f,Uo=i((function(){Fo(1)}));z({target:"Object",stat:!0,forced:!a||Uo,sham:!a},{getOwnPropertyDescriptor:function(t,n){return Fo(y(t),n)}});var No=n((function(t){var n=R.Object,e=t.exports=function(t,e){return n.getOwnPropertyDescriptor(t,e)};n.getOwnPropertyDescriptor.sham&&(e.sham=!0)})),qo=Pe.filter,zo=ye("filter"),Go=po("filter");z({target:"Array",proto:!0,forced:!zo||!Go},{filter:function(t){return qo(this,t,arguments.length>1?arguments[1]:void 0)}});var Ho=$o("Array").filter,Wo=Array.prototype,Vo=function(t){var n=t.filter;return t===Wo||t instanceof Array&&n===Wo.filter?Ho:n},Jo=R.Object.getOwnPropertySymbols,Yo=Jo;function Xo(t,n,e){return n in t?co(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}var Ko=nt.indexOf,Qo=[].indexOf,Zo=!!Qo&&1/[1].indexOf(1,-0)<0,ti=_o("indexOf"),ni=po("indexOf",{ACCESSORS:!0,1:0});z({target:"Array",proto:!0,forced:Zo||!ti||!ni},{indexOf:function(t){return Zo?Qo.apply(this,arguments)||0:Ko(this,t,arguments.length>1?arguments[1]:void 0)}});var ei=$o("Array").indexOf,ri=Array.prototype,oi=function(t){var n=t.indexOf;return t===ri||t instanceof Array&&n===ri.indexOf?ei:n},ii=oi,ai=Jo,ui=i((function(){at(1)}));z({target:"Object",stat:!0,forced:ui},{keys:function(t){return at(yn(t))}});var ci=R.Object.keys,fi=ci;function si(t,n){if(null==t)return{};var e,r,o=function(t,n){if(null==t)return{};var e,r,o={},i=fi(t);for(r=0;r<i.length;r++)e=i[r],ii(n).call(n,e)>=0||(o[e]=t[e]);return o}(t,n);if(ai){var i=ai(t);for(r=0;r<i.length;r++)e=i[r],ii(n).call(n,e)>=0||Object.prototype.propertyIsEnumerable.call(t,e)&&(o[e]=t[e])}return o}var li=ci,hi=$o("Array").keys,vi=Array.prototype,di={DOMTokenList:!0,NodeList:!0},pi=function(t){var n=t.keys;return t===vi||t instanceof Array&&n===vi.keys||di.hasOwnProperty(On(t))?hi:n},yi=$o("Array").concat,gi=Array.prototype,mi=function(t){var n=t.concat;return t===gi||t instanceof Array&&n===gi.concat?yi:n},bi=f.f,wi=function(t){return function(n){for(var e,r=y(n),o=at(r),i=o.length,u=0,c=[];i>u;)e=o[u++],a&&!bi.call(r,e)||c.push(t?[e,r[e]]:r[e]);return c}},$i={entries:wi(!0),values:wi(!1)}.entries;z({target:"Object",stat:!0},{entries:function(t){return $i(t)}});var Si=R.Object.entries,xi=nt.includes,ki=po("indexOf",{ACCESSORS:!0,1:0});z({target:"Array",proto:!0,forced:!ki},{includes:function(t){return xi(this,t,arguments.length>1?arguments[1]:void 0)}});var Ai=$o("Array").includes,Ei=Wt("match"),Oi=function(t){if(function(t){var n;return g(t)&&(void 0!==(n=t[Ei])?!!n:"RegExp"==h(t))}(t))throw TypeError("The method doesn't accept regular expressions");return t},Ti=Wt("match");z({target:"String",proto:!0,forced:!function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[Ti]=!1,"/./"[t](n)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~String(p(this)).indexOf(Oi(t),arguments.length>1?arguments[1]:void 0)}});var ji=$o("String").includes,_i=Array.prototype,Di=String.prototype,Pi=function(t){var n=t.includes;return t===_i||t instanceof Array&&n===_i.includes?Ai:"string"==typeof t||t===Di||t instanceof String&&n===Di.includes?ji:n},Mi=Vr;var Ri=Wt("iterator"),Ci=function(t){var n=Object(t);return void 0!==n[Ri]||"@@iterator"in n||Pn.hasOwnProperty(On(n))};var Li=oo,Ii=ko;function Bi(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Fi(t,n){var e;if(t){if("string"==typeof t)return Bi(t,n);var r=Ii(e=Object.prototype.toString.call(t)).call(e,8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Li(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Bi(t,n):void 0}}function Ui(t,n){return function(t){if(Mi(t))return t}(t)||function(t,n){if(void 0!==sr&&Ci(Object(t))){var e=[],r=!0,o=!1,i=void 0;try{for(var a,u=Wr(t);!(r=(a=u.next()).done)&&(e.push(a.value),!n||e.length!==n);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return e}}(t,n)||Fi(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Ni=Pe.map,qi=ye("map"),zi=po("map");z({target:"Array",proto:!0,forced:!qi||!zi},{map:function(t){return Ni(this,t,arguments.length>1?arguments[1]:void 0)}});var Gi=$o("Array").map,Hi=Array.prototype,Wi=function(t){var n=t.map;return t===Hi||t instanceof Array&&n===Hi.map?Gi:n},Vi=Wt("species"),Ji=function(t){var n=H(t),e=F.f;a&&n&&!n[Vi]&&e(n,Vi,{configurable:!0,get:function(){return this}})},Yi=F.f,Xi=wr.fastKey,Ki=pn.set,Qi=pn.getterFor,Zi={getConstructor:function(t,n,e,r){var o=t((function(t,i){Tr(t,o,n),Ki(t,{type:n,index:St(null),first:void 0,last:void 0,size:0}),a||(t.size=0),null!=i&&Or(i,t[r],t,e)})),i=Qi(n),u=function(t,n,e){var r,o,u=i(t),f=c(t,n);return f?f.value=e:(u.last=f={index:o=Xi(n,!0),key:n,value:e,previous:r=u.last,next:void 0,removed:!1},u.first||(u.first=f),r&&(r.next=f),a?u.size++:t.size++,"F"!==o&&(u.index[o]=f)),t},c=function(t,n){var e,r=i(t),o=Xi(n);if("F"!==o)return r.index[o];for(e=r.first;e;e=e.next)if(e.key==n)return e};return mr(o.prototype,{clear:function(){for(var t=i(this),n=t.index,e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=void 0),delete n[e.index],e=e.next;t.first=t.last=void 0,a?t.size=0:this.size=0},delete:function(t){var n=this,e=i(n),r=c(n,t);if(r){var o=r.next,u=r.previous;delete e.index[r.index],r.removed=!0,u&&(u.next=o),o&&(o.previous=u),e.first==r&&(e.first=o),e.last==r&&(e.last=u),a?e.size--:n.size--}return!!r},forEach:function(t){for(var n,e=i(this),r=L(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.next:e.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(t){return!!c(this,t)}}),mr(o.prototype,e?{get:function(t){var n=c(this,t);return n&&n.value},set:function(t,n){return u(this,0===t?0:t,n)}}:{add:function(t){return u(this,t=0===t?0:t,t)}}),a&&Yi(o.prototype,"size",{get:function(){return i(this).size}}),o},setStrong:function(t,n,e){var r=n+" Iterator",o=Qi(n),i=Qi(r);Gn(t,n,(function(t,n){Ki(this,{type:r,target:t,state:o(t),kind:n,last:void 0})}),(function(){for(var t=i(this),n=t.kind,e=t.last;e&&e.removed;)e=e.previous;return t.target&&(t.last=e=e?e.next:t.state.first)?"keys"==n?{value:e.key,done:!1}:"values"==n?{value:e.value,done:!1}:{value:[e.key,e.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),e?"entries":"values",!e,!0),Ji(n)}},ta=(Mr("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Zi),R.Set);function na(t){return function(t){if(Mi(t))return Bi(t)}(t)||function(t){if(void 0!==sr&&Ci(Object(t)))return Li(t)}(t)||Fi(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}z({target:"Reflect",stat:!0},{get:function t(n,e){var r,o,i=arguments.length<3?n:arguments[2];return I(n)===i?n[e]:(r=E.f(n,e))?w(r,"value")?r.value:void 0===r.get?void 0:r.get.call(i):g(o=wn(n))?t(o,e,i):void 0}});R.Reflect.get,Mr("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Zi);var ea=R.Map;z({target:"Map",stat:!0},{from:function(t){var n,e,r,o,i=arguments.length,a=i>1?arguments[1]:void 0;return C(this),(n=void 0!==a)&&C(a),null==t?new this:(e=[],n?(r=0,o=L(a,i>2?arguments[2]:void 0,2),Or(t,(function(t){e.push(o(t,r++))}))):Or(t,e.push,e),new this(e))}});z({target:"Map",stat:!0},{of:function(){for(var t=arguments.length,n=new Array(t);t--;)n[t]=arguments[t];return new this(n)}});var ra=function(){for(var t,n=I(this),e=C(n.delete),r=!0,o=0,i=arguments.length;o<i;o++)t=e.call(n,arguments[o]),r=r&&t;return!!r};z({target:"Map",proto:!0,real:!0,forced:ft},{deleteAll:function(){return ra.apply(this,arguments)}});var oa=Hr;z({target:"Map",proto:!0,real:!0,forced:ft},{every:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return!Or(e,(function(t,e){if(!r(e,t,n))return Or.stop()}),void 0,!0,!0).stopped}});var ia=Wt("species"),aa=function(t,n){var e,r=I(t).constructor;return void 0===r||null==(e=I(r)[ia])?n:C(e)};z({target:"Map",proto:!0,real:!0,forced:ft},{filter:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=C(o.set);return Or(e,(function(t,e){r(e,t,n)&&i.call(o,t,e)}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{find:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Or(e,(function(t,e){if(r(e,t,n))return Or.stop(e)}),void 0,!0,!0).result}}),z({target:"Map",proto:!0,real:!0,forced:ft},{findKey:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Or(e,(function(t,e){if(r(e,t,n))return Or.stop(t)}),void 0,!0,!0).result}}),z({target:"Map",stat:!0},{groupBy:function(t,n){var e=new this;C(n);var r=C(e.has),o=C(e.get),i=C(e.set);return Or(t,(function(t){var a=n(t);r.call(e,a)?o.call(e,a).push(t):i.call(e,a,[t])})),e}});z({target:"Map",proto:!0,real:!0,forced:ft},{includes:function(t){return Or(oa(I(this)),(function(n,e){if((r=e)===(o=t)||r!=r&&o!=o)return Or.stop();var r,o}),void 0,!0,!0).stopped}}),z({target:"Map",stat:!0},{keyBy:function(t,n){var e=new this;C(n);var r=C(e.set);return Or(t,(function(t){r.call(e,n(t),t)})),e}}),z({target:"Map",proto:!0,real:!0,forced:ft},{keyOf:function(t){return Or(oa(I(this)),(function(n,e){if(e===t)return Or.stop(n)}),void 0,!0,!0).result}}),z({target:"Map",proto:!0,real:!0,forced:ft},{mapKeys:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=C(o.set);return Or(e,(function(t,e){i.call(o,r(e,t,n),e)}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{mapValues:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=C(o.set);return Or(e,(function(t,e){i.call(o,t,r(e,t,n))}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{merge:function(t){for(var n=I(this),e=C(n.set),r=0;r<arguments.length;)Or(arguments[r++],e,n,!0);return n}}),z({target:"Map",proto:!0,real:!0,forced:ft},{reduce:function(t){var n=I(this),e=oa(n),r=arguments.length<2,o=r?void 0:arguments[1];if(C(t),Or(e,(function(e,i){r?(r=!1,o=i):o=t(o,i,e,n)}),void 0,!0,!0),r)throw TypeError("Reduce of empty map with no initial value");return o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{some:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Or(e,(function(t,e){if(r(e,t,n))return Or.stop()}),void 0,!0,!0).stopped}}),z({target:"Map",proto:!0,real:!0,forced:ft},{update:function(t,n){var e=I(this),r=arguments.length;C(n);var o=e.has(t);if(!o&&r<3)throw TypeError("Updating absent value");var i=o?e.get(t):C(r>2?arguments[2]:void 0)(t,e);return e.set(t,n(i,t,e)),e}});var ua=function(t,n){var e,r=I(this),o=arguments.length>2?arguments[2]:void 0;if("function"!=typeof n&&"function"!=typeof o)throw TypeError("At least one callback required");return r.has(t)?(e=r.get(t),"function"==typeof n&&(e=n(e),r.set(t,e))):"function"==typeof o&&(e=o(),r.set(t,e)),e};z({target:"Map",proto:!0,real:!0,forced:ft},{upsert:ua}),z({target:"Map",proto:!0,real:!0,forced:ft},{updateOrInsert:ua}),z({target:"Function",proto:!0},{bind:Et});$o("Function").bind;z({target:"Array",proto:!0},{fill:function(t){for(var n=yn(this),e=X(n.length),r=arguments.length,o=Z(r>1?arguments[1]:void 0,e),i=r>2?arguments[2]:void 0,a=void 0===i?e:Z(i,e);a>o;)n[o++]=t;return n}});var ca=$o("Array").fill,fa=Array.prototype,sa=function(t){var n=t.fill;return t===fa||t instanceof Array&&n===fa.fill?ca:n},la=H("JSON","stringify"),ha=/[\uD800-\uDFFF]/g,va=/^[\uD800-\uDBFF]$/,da=/^[\uDC00-\uDFFF]$/,pa=function(t,n,e){var r=e.charAt(n-1),o=e.charAt(n+1);return va.test(t)&&!da.test(o)||da.test(t)&&!va.test(r)?"\\u"+t.charCodeAt(0).toString(16):t},ya=i((function(){return'"\\udf06\\ud834"'!==la("\udf06\ud834")||'"\\udead"'!==la("\udead")}));la&&z({target:"JSON",stat:!0,forced:ya},{stringify:function(t,n,e){var r=la.apply(null,arguments);return"string"==typeof r?r.replace(ha,pa):r}}),R.JSON||(R.JSON={stringify:JSON.stringify});var ga=Object.assign,ma=Object.defineProperty,ba=!ga||i((function(){if(a&&1!==ga({b:1},ga(ma({},"a",{enumerable:!0,get:function(){ma(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},n={},e=Symbol(),r="abcdefghijklmnopqrst";return t[e]=7,r.split("").forEach((function(t){n[t]=t})),7!=ga({},t)[e]||at(ga({},n)).join("")!=r}))?function(t,n){for(var e=yn(t),r=arguments.length,o=1,i=je.f,u=f.f;r>o;)for(var c,s=d(arguments[o++]),l=i?at(s).concat(i(s)):at(s),h=l.length,v=0;h>v;)c=l[v++],a&&!u.call(s,c)||(e[c]=s[c]);return e}:ga;z({target:"Object",stat:!0,forced:Object.assign!==ba},{assign:ba});var wa=R.Object.assign,$a=ea,Sa="\t\n\v\f\r \u2028\u2029\ufeff",xa="["+Sa+"]",ka=RegExp("^"+xa+xa+"*"),Aa=RegExp(xa+xa+"*$"),Ea=function(t){return function(n){var e=String(p(n));return 1&t&&(e=e.replace(ka,"")),2&t&&(e=e.replace(Aa,"")),e}},Oa={start:Ea(1),end:Ea(2),trim:Ea(3)},Ta=Oa.trim,ja=o.parseInt,_a=/^[+-]?0[Xx]/,Da=8!==ja(Sa+"08")||22!==ja(Sa+"0x16")?function(t,n){var e=Ta(String(t));return ja(e,n>>>0||(_a.test(e)?16:10))}:ja;z({global:!0,forced:parseInt!=Da},{parseInt:Da});var Pa=R.parseInt,Ma=ye("splice"),Ra=po("splice",{ACCESSORS:!0,0:0,1:2}),Ca=Math.max,La=Math.min,Ia=9007199254740991,Ba="Maximum allowed length exceeded";z({target:"Array",proto:!0,forced:!Ma||!Ra},{splice:function(t,n){var e,r,o,i,a,u,c=yn(this),f=X(c.length),s=Z(t,f),l=arguments.length;if(0===l?e=r=0:1===l?(e=0,r=f-s):(e=l-2,r=La(Ca(J(n),0),f-s)),f+e-r>Ia)throw TypeError(Ba);for(o=fe(c,r),i=0;i<r;i++)(a=s+i)in c&&ue(o,i,c[a]);if(o.length=r,e<r){for(i=s;i<f-r;i++)u=i+e,(a=i+r)in c?c[u]=c[a]:delete c[u];for(i=f;i>f-r+e;i--)delete c[i-1]}else if(e>r)for(i=f-r;i>s;i--)u=i+e-1,(a=i+r-1)in c?c[u]=c[a]:delete c[u];for(i=0;i<e;i++)c[i+s]=arguments[i+2];return c.length=f-r+e,o}});var Fa,Ua,Na,qa=$o("Array").splice,za=Array.prototype,Ga=function(t){var n=t.splice;return t===za||t instanceof Array&&n===za.splice?qa:n},Ha=oi,Wa=o.Promise,Va=/(iphone|ipod|ipad).*applewebkit/i.test(se),Ja=o.location,Ya=o.setImmediate,Xa=o.clearImmediate,Ka=o.process,Qa=o.MessageChannel,Za=o.Dispatch,tu=0,nu={},eu="onreadystatechange",ru=function(t){if(nu.hasOwnProperty(t)){var n=nu[t];delete nu[t],n()}},ou=function(t){return function(){ru(t)}},iu=function(t){ru(t.data)},au=function(t){o.postMessage(t+"",Ja.protocol+"//"+Ja.host)};Ya&&Xa||(Ya=function(t){for(var n=[],e=1;arguments.length>e;)n.push(arguments[e++]);return nu[++tu]=function(){("function"==typeof t?t:Function(t)).apply(void 0,n)},Fa(tu),tu},Xa=function(t){delete nu[t]},"process"==h(Ka)?Fa=function(t){Ka.nextTick(ou(t))}:Za&&Za.now?Fa=function(t){Za.now(ou(t))}:Qa&&!Va?(Na=(Ua=new Qa).port2,Ua.port1.onmessage=iu,Fa=L(Na.postMessage,Na,1)):!o.addEventListener||"function"!=typeof postMessage||o.importScripts||i(au)||"file:"===Ja.protocol?Fa=eu in x("script")?function(t){ct.appendChild(x("script")).onreadystatechange=function(){ct.removeChild(this),ru(t)}}:function(t){setTimeout(ou(t),0)}:(Fa=au,o.addEventListener("message",iu,!1)));var uu,cu,fu,su,lu,hu,vu,du,pu={set:Ya,clear:Xa},yu=E.f,gu=pu.set,mu=o.MutationObserver||o.WebKitMutationObserver,bu=o.process,wu=o.Promise,$u="process"==h(bu),Su=yu(o,"queueMicrotask"),xu=Su&&Su.value;xu||(uu=function(){var t,n;for($u&&(t=bu.domain)&&t.exit();cu;){n=cu.fn,cu=cu.next;try{n()}catch(t){throw cu?su():fu=void 0,t}}fu=void 0,t&&t.enter()},$u?su=function(){bu.nextTick(uu)}:mu&&!Va?(lu=!0,hu=document.createTextNode(""),new mu(uu).observe(hu,{characterData:!0}),su=function(){hu.data=lu=!lu}):wu&&wu.resolve?(vu=wu.resolve(void 0),du=vu.then,su=function(){du.call(vu,uu)}):su=function(){gu.call(o,uu)});var ku,Au,Eu,Ou=xu||function(t){var n={fn:t,next:void 0};fu&&(fu.next=n),cu||(cu=n,su()),fu=n},Tu=function(t){var n,e;this.promise=new t((function(t,r){if(void 0!==n||void 0!==e)throw TypeError("Bad Promise constructor");n=t,e=r})),this.resolve=C(n),this.reject=C(e)},ju={f:function(t){return new Tu(t)}},_u=function(t,n){if(I(t),g(n)&&n.constructor===t)return n;var e=ju.f(t);return(0,e.resolve)(n),e.promise},Du=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Pu=pu.set,Mu=Wt("species"),Ru="Promise",Cu=pn.get,Lu=pn.set,Iu=pn.getterFor(Ru),Bu=Wa,Fu=o.TypeError,Uu=o.document,Nu=o.process,qu=(H("fetch"),ju.f),zu=qu,Gu="process"==h(Nu),Hu=!!(Uu&&Uu.createEvent&&o.dispatchEvent),Wu="unhandledrejection",Vu=M(Ru,(function(){if(!(en(Bu)!==String(Bu))){if(66===de)return!0;if(!Gu&&"function"!=typeof PromiseRejectionEvent)return!0}if(!Bu.prototype.finally)return!0;if(de>=51&&/native code/.test(Bu))return!1;var t=Bu.resolve(1),n=function(t){t((function(){}),(function(){}))};return(t.constructor={})[Mu]=n,!(t.then((function(){}))instanceof n)})),Ju=Vu||!eo((function(t){Bu.all(t).catch((function(){}))})),Yu=function(t){var n;return!(!g(t)||"function"!=typeof(n=t.then))&&n},Xu=function(t,n,e){if(!n.notified){n.notified=!0;var r=n.reactions;Ou((function(){for(var o=n.value,i=1==n.state,a=0;r.length>a;){var u,c,f,s=r[a++],l=i?s.ok:s.fail,h=s.resolve,v=s.reject,d=s.domain;try{l?(i||(2===n.rejection&&tc(t,n),n.rejection=1),!0===l?u=o:(d&&d.enter(),u=l(o),d&&(d.exit(),f=!0)),u===s.promise?v(Fu("Promise-chain cycle")):(c=Yu(u))?c.call(u,h,v):h(u)):v(o)}catch(t){d&&!f&&d.exit(),v(t)}}n.reactions=[],n.notified=!1,e&&!n.rejection&&Qu(t,n)}))}},Ku=function(t,n,e){var r,i;Hu?((r=Uu.createEvent("Event")).promise=n,r.reason=e,r.initEvent(t,!1,!0),o.dispatchEvent(r)):r={promise:n,reason:e},(i=o["on"+t])?i(r):t===Wu&&function(t,n){var e=o.console;e&&e.error&&(1===arguments.length?e.error(t):e.error(t,n))}("Unhandled promise rejection",e)},Qu=function(t,n){Pu.call(o,(function(){var e,r=n.value;if(Zu(n)&&(e=Du((function(){Gu?Nu.emit("unhandledRejection",r,t):Ku(Wu,t,r)})),n.rejection=Gu||Zu(n)?2:1,e.error))throw e.value}))},Zu=function(t){return 1!==t.rejection&&!t.parent},tc=function(t,n){Pu.call(o,(function(){Gu?Nu.emit("rejectionHandled",t):Ku("rejectionhandled",t,n.value)}))},nc=function(t,n,e,r){return function(o){t(n,e,o,r)}},ec=function(t,n,e,r){n.done||(n.done=!0,r&&(n=r),n.value=e,n.state=2,Xu(t,n,!0))},rc=function(t,n,e,r){if(!n.done){n.done=!0,r&&(n=r);try{if(t===e)throw Fu("Promise can't be resolved itself");var o=Yu(e);o?Ou((function(){var r={done:!1};try{o.call(e,nc(rc,t,r,n),nc(ec,t,r,n))}catch(e){ec(t,r,e,n)}})):(n.value=e,n.state=1,Xu(t,n,!1))}catch(e){ec(t,{done:!1},e,n)}}};Vu&&(Bu=function(t){Tr(this,Bu,Ru),C(t),ku.call(this);var n=Cu(this);try{t(nc(rc,this,n),nc(ec,this,n))}catch(t){ec(this,n,t)}},(ku=function(t){Lu(this,{type:Ru,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=mr(Bu.prototype,{then:function(t,n){var e=Iu(this),r=qu(aa(this,Bu));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=Gu?Nu.domain:void 0,e.parent=!0,e.reactions.push(r),0!=e.state&&Xu(this,e,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),Au=function(){var t=new ku,n=Cu(t);this.promise=t,this.resolve=nc(rc,t,n),this.reject=nc(ec,t,n)},ju.f=qu=function(t){return t===Bu||t===Eu?new Au(t):zu(t)}),z({global:!0,wrap:!0,forced:Vu},{Promise:Bu}),Dn(Bu,Ru,!1,!0),Ji(Ru),Eu=H(Ru),z({target:Ru,stat:!0,forced:Vu},{reject:function(t){var n=qu(this);return n.reject.call(void 0,t),n.promise}}),z({target:Ru,stat:!0,forced:ft},{resolve:function(t){return _u(this===Eu?Bu:this,t)}}),z({target:Ru,stat:!0,forced:Ju},{all:function(t){var n=this,e=qu(n),r=e.resolve,o=e.reject,i=Du((function(){var e=C(n.resolve),i=[],a=0,u=1;Or(t,(function(t){var c=a++,f=!1;i.push(void 0),u++,e.call(n,t).then((function(t){f||(f=!0,i[c]=t,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),e.promise},race:function(t){var n=this,e=qu(n),r=e.reject,o=Du((function(){var o=C(n.resolve);Or(t,(function(t){o.call(n,t).then(e.resolve,r)}))}));return o.error&&r(o.value),e.promise}}),z({target:"Promise",stat:!0},{allSettled:function(t){var n=this,e=ju.f(n),r=e.resolve,o=e.reject,i=Du((function(){var e=C(n.resolve),o=[],i=0,a=1;Or(t,(function(t){var u=i++,c=!1;o.push(void 0),a++,e.call(n,t).then((function(t){c||(c=!0,o[u]={status:"fulfilled",value:t},--a||r(o))}),(function(t){c||(c=!0,o[u]={status:"rejected",reason:t},--a||r(o))}))})),--a||r(o)}));return i.error&&o(i.value),e.promise}});var oc=!!Wa&&i((function(){Wa.prototype.finally.call({then:function(){}},(function(){}))}));z({target:"Promise",proto:!0,real:!0,forced:oc},{finally:function(t){var n=aa(this,H("Promise")),e="function"==typeof t;return this.then(e?function(e){return _u(n,t()).then((function(){return e}))}:t,e?function(e){return _u(n,t()).then((function(){throw e}))}:t)}});var ic=R.Promise;z({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}});var ac=R.Date.now,uc=Rt;function cc(){}function fc(t){return t()}function sc(){return uc(null)}function lc(t){Bo(t).call(t,fc)}function hc(t){return"function"==typeof t}function vc(t,n){return t!=t?n==n:t!==n||t&&"object"===lr(t)||"function"==typeof t}function dc(t){if(null==t)return cc;for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];var o=t.subscribe.apply(t,e);return o.unsubscribe?function(){return o.unsubscribe()}:o}function pc(t){var n;return dc(t,(function(t){return n=t}))(),n}function yc(t,n,e){t.$$.on_destroy.push(dc(n,e))}function gc(t,n,e,r){if(t){var o=mc(t,n,e,r);return t[0](o)}}function mc(t,n,e,r){var o;return t[1]&&r?function(t,n){for(var e in n)t[e]=n[e];return t}(Ao(o=e.ctx).call(o),t[1](r(n))):e.ctx}function bc(t,n,e,r,o,i,a){var u=function(t,n,e,r){if(t[2]&&r){var o=t[2](r(e));if(void 0===n.dirty)return o;if("object"===lr(o)){for(var i=[],a=Math.max(n.dirty.length,o.length),u=0;u<a;u+=1)i[u]=n.dirty[u]|o[u];return i}return n.dirty|o}return n.dirty}(n,r,o,i);if(u){var c=mc(n,e,r,a);t.p(c,u)}}function wc(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n;return t.set(e),n}function $c(t){return t&&hc(t.destroy)?t.destroy:cc}new ta;function Sc(t,n){t.appendChild(n)}function xc(t,n,e){t.insertBefore(n,e||null)}function kc(t){t.parentNode.removeChild(t)}function Ac(t,n){for(var e=0;e<t.length;e+=1)t[e]&&t[e].d(n)}function Ec(t){return document.createElement(t)}function Oc(t){return document.createTextNode(t)}function Tc(){return Oc(" ")}function jc(){return Oc("")}function _c(t,n,e,r){return t.addEventListener(n,e,r),function(){return t.removeEventListener(n,e,r)}}function Dc(t,n,e){null==e?t.removeAttribute(n):t.getAttribute(n)!==e&&t.setAttribute(n,e)}function Pc(t){return io(t.childNodes)}function Mc(t,n){n=""+n,t.wholeText!==n&&(t.data=n)}function Rc(t,n,e,r){t.style.setProperty(n,e,r?"important":"")}var Cc;new ta;function Lc(t){Cc=t}function Ic(){if(!Cc)throw new Error("Function called outside component initialization");return Cc}function Bc(t){Ic().$$.on_mount.push(t)}function Fc(t,n){Ic().$$.context.set(t,n)}function Uc(t){return Ic().$$.context.get(t)}var Nc=[],qc=[],zc=[],Gc=[],Hc=ic.resolve(),Wc=!1;function Vc(){Wc||(Wc=!0,Hc.then(Qc))}function Jc(){return Vc(),Hc}function Yc(t){zc.push(t)}var Xc=!1,Kc=new ta;function Qc(){if(!Xc){Xc=!0;do{for(var t=0;t<Nc.length;t+=1){var n=Nc[t];Lc(n),Zc(n.$$)}for(Lc(null),Nc.length=0;qc.length;)qc.pop()();for(var e=0;e<zc.length;e+=1){var r=zc[e];Kc.has(r)||(Kc.add(r),r())}zc.length=0}while(Nc.length);for(;Gc.length;)Gc.pop()();Wc=!1,Xc=!1,Kc.clear()}}function Zc(t){if(null!==t.fragment){var n;t.update(),lc(t.before_update);var e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),Bo(n=t.after_update).call(n,Yc)}}var tf,nf=new ta;function ef(){tf={r:0,c:[],p:tf}}function rf(){tf.r||lc(tf.c),tf=tf.p}function of(t,n){t&&t.i&&(nf.delete(t),t.i(n))}function af(t,n,e,r){if(t&&t.o){if(nf.has(t))return;nf.add(t),tf.c.push((function(){nf.delete(t),r&&(e&&t.d(1),r())})),t.o(n)}}new ta(["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]);function uf(t){t&&t.c()}function cf(t,n,e){var r=t.$$,o=r.fragment,i=r.on_mount,a=r.on_destroy,u=r.after_update;o&&o.m(n,e),Yc((function(){var n,e=Vo(n=Wi(i).call(i,fc)).call(n,hc);a?a.push.apply(a,na(e)):lc(e),t.$$.on_mount=[]})),Bo(u).call(u,Yc)}function ff(t,n){var e=t.$$;null!==e.fragment&&(lc(e.on_destroy),e.fragment&&e.fragment.d(n),e.on_destroy=e.fragment=null,e.ctx=[])}function sf(t,n){var e;-1===t.$$.dirty[0]&&(Nc.push(t),Vc(),sa(e=t.$$.dirty).call(e,0));t.$$.dirty[n/31|0]|=1<<n%31}function lf(t,n,e,r,o,i){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:[-1],u=Cc;Lc(t);var c=n.props||{},f=t.$$={fragment:null,ctx:null,props:i,update:cc,not_equal:o,bound:sc(),on_mount:[],on_destroy:[],before_update:[],after_update:[],context:new $a(u?u.$$.context:[]),callbacks:sc(),dirty:a,skip_bound:!1},s=!1;if(f.ctx=e?e(t,c,(function(n,e){var r=!(arguments.length<=2)&&arguments.length-2?arguments.length<=2?void 0:arguments[2]:e;return f.ctx&&o(f.ctx[n],f.ctx[n]=r)&&(!f.skip_bound&&f.bound[n]&&f.bound[n](r),s&&sf(t,n)),e})):[],f.update(),s=!0,lc(f.before_update),f.fragment=!!r&&r(f.ctx),n.target){if(n.hydrate){var l=Pc(n.target);f.fragment&&f.fragment.l(l),Bo(l).call(l,kc)}else f.fragment&&f.fragment.c();n.intro&&of(t.$$.fragment),cf(t,n.target,n.anchor),Qc()}Lc(u)}var hf=function(){function t(){Pt(this,t)}return so(t,[{key:"$destroy",value:function(){ff(this,1),this.$destroy=cc}},{key:"$on",value:function(t,n){var e=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return e.push(n),function(){var t=Ha(e).call(e,n);-1!==t&&Ga(e).call(e,t,1)}}},{key:"$set",value:function(t){this.$$set&&0!==li(t).length&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}]),t}(),vf=[];function df(t){var n,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:cc,r=[];function o(e){if(vc(t,e)&&(t=e,n)){for(var o=!vf.length,i=0;i<r.length;i+=1){var a=r[i];a[1](),vf.push(a,t)}if(o){for(var u=0;u<vf.length;u+=2)vf[u][0](vf[u+1]);vf.length=0}}}function i(n){o(n(t))}function a(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:cc,u=[i,a];return r.push(u),1===r.length&&(n=e(o)||cc),i(t),function(){var t=Ha(r).call(r,u);-1!==t&&Ga(r).call(r,t,1),0===r.length&&(n(),n=null)}}return{set:o,update:i,subscribe:a}}function pf(t,n,e){var r=!Jr(t),o=r?[t]:t,i=n.length<2;return{subscribe:df(e,(function(t){var e=!1,a=[],u=0,c=cc,f=function(){if(!u){c();var e=n(r?a[0]:a,t);i?t(e):c=hc(e)?e:cc}},s=Wi(o).call(o,(function(t,n){return dc(t,(function(t){a[n]=t,u&=~(1<<n),e&&f()}),(function(){u|=1<<n}))}));return e=!0,f(),function(){lc(s),c()}})).subscribe}}var yf=[],gf=yf.sort,mf=i((function(){yf.sort(void 0)})),bf=i((function(){yf.sort(null)})),wf=_o("sort");z({target:"Array",proto:!0,forced:mf||!bf||!wf},{sort:function(t){return void 0===t?gf.call(yn(this)):gf.call(yn(this),C(t))}});var $f=$o("Array").sort,Sf=Array.prototype,xf=function(t){var n=t.sort;return t===Sf||t instanceof Array&&n===Sf.sort?$f:n},kf=Wt("iterator"),Af=!i((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),n=t.searchParams,e="";return t.pathname="c%20d",n.forEach((function(t,r){n.delete("b"),e+=r+t})),!t.toJSON||!n.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==n.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!n[kf]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==e||"x"!==new URL("http://x",void 0).host})),Ef=2147483647,Of=/[^\0-\u007E]/,Tf=/[.\u3002\uFF0E\uFF61]/g,jf="Overflow: input needs wider integers to process",_f=Math.floor,Df=String.fromCharCode,Pf=function(t){return t+22+75*(t<26)},Mf=function(t,n,e){var r=0;for(t=e?_f(t/700):t>>1,t+=_f(t/n);t>455;r+=36)t=_f(t/35);return _f(r+36*t/(t+38))},Rf=function(t){var n,e,r=[],o=(t=function(t){for(var n=[],e=0,r=t.length;e<r;){var o=t.charCodeAt(e++);if(o>=55296&&o<=56319&&e<r){var i=t.charCodeAt(e++);56320==(64512&i)?n.push(((1023&o)<<10)+(1023&i)+65536):(n.push(o),e--)}else n.push(o)}return n}(t)).length,i=128,a=0,u=72;for(n=0;n<t.length;n++)(e=t[n])<128&&r.push(Df(e));var c=r.length,f=c;for(c&&r.push("-");f<o;){var s=Ef;for(n=0;n<t.length;n++)(e=t[n])>=i&&e<s&&(s=e);var l=f+1;if(s-i>_f((Ef-a)/l))throw RangeError(jf);for(a+=(s-i)*l,i=s,n=0;n<t.length;n++){if((e=t[n])<i&&++a>Ef)throw RangeError(jf);if(e==i){for(var h=a,v=36;;v+=36){var d=v<=u?1:v>=u+26?26:v-u;if(h<d)break;var p=h-d,y=36-d;r.push(Df(Pf(d+p%y))),h=_f(p/y)}r.push(Df(Pf(h))),u=Mf(a,l,f==c),a=0,++f}}++a,++i}return r.join("")},Cf=H("fetch"),Lf=H("Headers"),If=Wt("iterator"),Bf="URLSearchParams",Ff="URLSearchParamsIterator",Uf=pn.set,Nf=pn.getterFor(Bf),qf=pn.getterFor(Ff),zf=/\+/g,Gf=Array(4),Hf=function(t){return Gf[t-1]||(Gf[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},Wf=function(t){try{return decodeURIComponent(t)}catch(n){return t}},Vf=function(t){var n=t.replace(zf," "),e=4;try{return decodeURIComponent(n)}catch(t){for(;e;)n=n.replace(Hf(e--),Wf);return n}},Jf=/[!'()~]|%20/g,Yf={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Xf=function(t){return Yf[t]},Kf=function(t){return encodeURIComponent(t).replace(Jf,Xf)},Qf=function(t,n){if(n)for(var e,r,o=n.split("&"),i=0;i<o.length;)(e=o[i++]).length&&(r=e.split("="),t.push({key:Vf(r.shift()),value:Vf(r.join("="))}))},Zf=function(t){this.entries.length=0,Qf(this.entries,t)},ts=function(t,n){if(t<n)throw TypeError("Not enough arguments")},ns=Cn((function(t,n){Uf(this,{type:Ff,iterator:Hr(Nf(t).entries),kind:n})}),"Iterator",(function(){var t=qf(this),n=t.kind,e=t.iterator.next(),r=e.value;return e.done||(e.value="keys"===n?r.key:"values"===n?r.value:[r.key,r.value]),e})),es=function(){Tr(this,es,Bf);var t,n,e,r,o,i,a,u,c,f=arguments.length>0?arguments[0]:void 0,s=this,l=[];if(Uf(s,{type:Bf,entries:l,updateURL:function(){},updateSearchParams:Zf}),void 0!==f)if(g(f))if("function"==typeof(t=Ar(f)))for(e=(n=t.call(f)).next;!(r=e.call(n)).done;){if((a=(i=(o=Hr(I(r.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");l.push({key:a.value+"",value:u.value+""})}else for(c in f)w(f,c)&&l.push({key:c,value:f[c]+""});else Qf(l,"string"==typeof f?"?"===f.charAt(0)?f.slice(1):f:f+"")},rs=es.prototype;mr(rs,{append:function(t,n){ts(arguments.length,2);var e=Nf(this);e.entries.push({key:t+"",value:n+""}),e.updateURL()},delete:function(t){ts(arguments.length,1);for(var n=Nf(this),e=n.entries,r=t+"",o=0;o<e.length;)e[o].key===r?e.splice(o,1):o++;n.updateURL()},get:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=0;r<n.length;r++)if(n[r].key===e)return n[r].value;return null},getAll:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=[],o=0;o<n.length;o++)n[o].key===e&&r.push(n[o].value);return r},has:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=0;r<n.length;)if(n[r++].key===e)return!0;return!1},set:function(t,n){ts(arguments.length,1);for(var e,r=Nf(this),o=r.entries,i=!1,a=t+"",u=n+"",c=0;c<o.length;c++)(e=o[c]).key===a&&(i?o.splice(c--,1):(i=!0,e.value=u));i||o.push({key:a,value:u}),r.updateURL()},sort:function(){var t,n,e,r=Nf(this),o=r.entries,i=o.slice();for(o.length=0,e=0;e<i.length;e++){for(t=i[e],n=0;n<e;n++)if(o[n].key>t.key){o.splice(n,0,t);break}n===e&&o.push(t)}r.updateURL()},forEach:function(t){for(var n,e=Nf(this).entries,r=L(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<e.length;)r((n=e[o++]).value,n.key,this)},keys:function(){return new ns(this,"keys")},values:function(){return new ns(this,"values")},entries:function(){return new ns(this,"entries")}},{enumerable:!0}),Ln(rs,If,rs.entries),Ln(rs,"toString",(function(){for(var t,n=Nf(this).entries,e=[],r=0;r<n.length;)t=n[r++],e.push(Kf(t.key)+"="+Kf(t.value));return e.join("&")}),{enumerable:!0}),Dn(es,Bf),z({global:!0,forced:!Af},{URLSearchParams:es}),Af||"function"!=typeof Cf||"function"!=typeof Lf||z({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var n,e,r,o=[t];return arguments.length>1&&(g(n=arguments[1])&&(e=n.body,On(e)===Bf&&((r=n.headers?new Lf(n.headers):new Lf).has("content-type")||r.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),n=St(n,{body:s(0,String(e)),headers:s(0,r)}))),o.push(n)),Cf.apply(this,o)}});var os,is={URLSearchParams:es,getState:Nf},as=Kt.codeAt,us=o.URL,cs=is.URLSearchParams,fs=is.getState,ss=pn.set,ls=pn.getterFor("URL"),hs=Math.floor,vs=Math.pow,ds="Invalid scheme",ps="Invalid host",ys="Invalid port",gs=/[A-Za-z]/,ms=/[\d+-.A-Za-z]/,bs=/\d/,ws=/^(0x|0X)/,$s=/^[0-7]+$/,Ss=/^\d+$/,xs=/^[\dA-Fa-f]+$/,ks=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,As=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,Es=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,Os=/[\u0009\u000A\u000D]/g,Ts=function(t,n){var e,r,o;if("["==n.charAt(0)){if("]"!=n.charAt(n.length-1))return ps;if(!(e=_s(n.slice(1,-1))))return ps;t.host=e}else if(Bs(t)){if(n=function(t){var n,e,r=[],o=t.toLowerCase().replace(Tf,".").split(".");for(n=0;n<o.length;n++)e=o[n],r.push(Of.test(e)?"xn--"+Rf(e):e);return r.join(".")}(n),ks.test(n))return ps;if(null===(e=js(n)))return ps;t.host=e}else{if(As.test(n))return ps;for(e="",r=Kr(n),o=0;o<r.length;o++)e+=Ls(r[o],Ps);t.host=e}},js=function(t){var n,e,r,o,i,a,u,c=t.split(".");if(c.length&&""==c[c.length-1]&&c.pop(),(n=c.length)>4)return t;for(e=[],r=0;r<n;r++){if(""==(o=c[r]))return t;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=ws.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?Ss:8==i?$s:xs).test(o))return t;a=parseInt(o,i)}e.push(a)}for(r=0;r<n;r++)if(a=e[r],r==n-1){if(a>=vs(256,5-n))return null}else if(a>255)return null;for(u=e.pop(),r=0;r<e.length;r++)u+=e[r]*vs(256,3-r);return u},_s=function(t){var n,e,r,o,i,a,u,c=[0,0,0,0,0,0,0,0],f=0,s=null,l=0,h=function(){return t.charAt(l)};if(":"==h()){if(":"!=t.charAt(1))return;l+=2,s=++f}for(;h();){if(8==f)return;if(":"!=h()){for(n=e=0;e<4&&xs.test(h());)n=16*n+parseInt(h(),16),l++,e++;if("."==h()){if(0==e)return;if(l-=e,f>6)return;for(r=0;h();){if(o=null,r>0){if(!("."==h()&&r<4))return;l++}if(!bs.test(h()))return;for(;bs.test(h());){if(i=parseInt(h(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}c[f]=256*c[f]+o,2!=++r&&4!=r||f++}if(4!=r)return;break}if(":"==h()){if(l++,!h())return}else if(h())return;c[f++]=n}else{if(null!==s)return;l++,s=++f}}if(null!==s)for(a=f-s,f=7;0!=f&&a>0;)u=c[f],c[f--]=c[s+a-1],c[s+--a]=u;else if(8!=f)return;return c},Ds=function(t){var n,e,r,o;if("number"==typeof t){for(n=[],e=0;e<4;e++)n.unshift(t%256),t=hs(t/256);return n.join(".")}if("object"==typeof t){for(n="",r=function(t){for(var n=null,e=1,r=null,o=0,i=0;i<8;i++)0!==t[i]?(o>e&&(n=r,e=o),r=null,o=0):(null===r&&(r=i),++o);return o>e&&(n=r,e=o),n}(t),e=0;e<8;e++)o&&0===t[e]||(o&&(o=!1),r===e?(n+=e?":":"::",o=!0):(n+=t[e].toString(16),e<7&&(n+=":")));return"["+n+"]"}return t},Ps={},Ms=ba({},Ps,{" ":1,'"':1,"<":1,">":1,"`":1}),Rs=ba({},Ms,{"#":1,"?":1,"{":1,"}":1}),Cs=ba({},Rs,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Ls=function(t,n){var e=as(t,0);return e>32&&e<127&&!w(n,t)?t:encodeURIComponent(t)},Is={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Bs=function(t){return w(Is,t.scheme)},Fs=function(t){return""!=t.username||""!=t.password},Us=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},Ns=function(t,n){var e;return 2==t.length&&gs.test(t.charAt(0))&&(":"==(e=t.charAt(1))||!n&&"|"==e)},qs=function(t){var n;return t.length>1&&Ns(t.slice(0,2))&&(2==t.length||"/"===(n=t.charAt(2))||"\\"===n||"?"===n||"#"===n)},zs=function(t){var n=t.path,e=n.length;!e||"file"==t.scheme&&1==e&&Ns(n[0],!0)||n.pop()},Gs=function(t){return"."===t||"%2e"===t.toLowerCase()},Hs={},Ws={},Vs={},Js={},Ys={},Xs={},Ks={},Qs={},Zs={},tl={},nl={},el={},rl={},ol={},il={},al={},ul={},cl={},fl={},sl={},ll={},hl=function(t,n,e,r){var o,i,a,u,c,f=e||Hs,s=0,l="",h=!1,v=!1,d=!1;for(e||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,n=n.replace(Es,"")),n=n.replace(Os,""),o=Kr(n);s<=o.length;){switch(i=o[s],f){case Hs:if(!i||!gs.test(i)){if(e)return ds;f=Vs;continue}l+=i.toLowerCase(),f=Ws;break;case Ws:if(i&&(ms.test(i)||"+"==i||"-"==i||"."==i))l+=i.toLowerCase();else{if(":"!=i){if(e)return ds;l="",f=Vs,s=0;continue}if(e&&(Bs(t)!=w(Is,l)||"file"==l&&(Fs(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=l,e)return void(Bs(t)&&Is[t.scheme]==t.port&&(t.port=null));l="","file"==t.scheme?f=ol:Bs(t)&&r&&r.scheme==t.scheme?f=Js:Bs(t)?f=Qs:"/"==o[s+1]?(f=Ys,s++):(t.cannotBeABaseURL=!0,t.path.push(""),f=fl)}break;case Vs:if(!r||r.cannotBeABaseURL&&"#"!=i)return ds;if(r.cannotBeABaseURL&&"#"==i){t.scheme=r.scheme,t.path=r.path.slice(),t.query=r.query,t.fragment="",t.cannotBeABaseURL=!0,f=ll;break}f="file"==r.scheme?ol:Xs;continue;case Js:if("/"!=i||"/"!=o[s+1]){f=Xs;continue}f=Zs,s++;break;case Ys:if("/"==i){f=tl;break}f=cl;continue;case Xs:if(t.scheme=r.scheme,i==os)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query;else if("/"==i||"\\"==i&&Bs(t))f=Ks;else if("?"==i)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query="",f=sl;else{if("#"!=i){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.path.pop(),f=cl;continue}t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query,t.fragment="",f=ll}break;case Ks:if(!Bs(t)||"/"!=i&&"\\"!=i){if("/"!=i){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,f=cl;continue}f=tl}else f=Zs;break;case Qs:if(f=Zs,"/"!=i||"/"!=l.charAt(s+1))continue;s++;break;case Zs:if("/"!=i&&"\\"!=i){f=tl;continue}break;case tl:if("@"==i){h&&(l="%40"+l),h=!0,a=Kr(l);for(var p=0;p<a.length;p++){var y=a[p];if(":"!=y||d){var g=Ls(y,Cs);d?t.password+=g:t.username+=g}else d=!0}l=""}else if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Bs(t)){if(h&&""==l)return"Invalid authority";s-=Kr(l).length+1,l="",f=nl}else l+=i;break;case nl:case el:if(e&&"file"==t.scheme){f=al;continue}if(":"!=i||v){if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Bs(t)){if(Bs(t)&&""==l)return ps;if(e&&""==l&&(Fs(t)||null!==t.port))return;if(u=Ts(t,l))return u;if(l="",f=ul,e)return;continue}"["==i?v=!0:"]"==i&&(v=!1),l+=i}else{if(""==l)return ps;if(u=Ts(t,l))return u;if(l="",f=rl,e==el)return}break;case rl:if(!bs.test(i)){if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Bs(t)||e){if(""!=l){var m=parseInt(l,10);if(m>65535)return ys;t.port=Bs(t)&&m===Is[t.scheme]?null:m,l=""}if(e)return;f=ul;continue}return ys}l+=i;break;case ol:if(t.scheme="file","/"==i||"\\"==i)f=il;else{if(!r||"file"!=r.scheme){f=cl;continue}if(i==os)t.host=r.host,t.path=r.path.slice(),t.query=r.query;else if("?"==i)t.host=r.host,t.path=r.path.slice(),t.query="",f=sl;else{if("#"!=i){qs(o.slice(s).join(""))||(t.host=r.host,t.path=r.path.slice(),zs(t)),f=cl;continue}t.host=r.host,t.path=r.path.slice(),t.query=r.query,t.fragment="",f=ll}}break;case il:if("/"==i||"\\"==i){f=al;break}r&&"file"==r.scheme&&!qs(o.slice(s).join(""))&&(Ns(r.path[0],!0)?t.path.push(r.path[0]):t.host=r.host),f=cl;continue;case al:if(i==os||"/"==i||"\\"==i||"?"==i||"#"==i){if(!e&&Ns(l))f=cl;else if(""==l){if(t.host="",e)return;f=ul}else{if(u=Ts(t,l))return u;if("localhost"==t.host&&(t.host=""),e)return;l="",f=ul}continue}l+=i;break;case ul:if(Bs(t)){if(f=cl,"/"!=i&&"\\"!=i)continue}else if(e||"?"!=i)if(e||"#"!=i){if(i!=os&&(f=cl,"/"!=i))continue}else t.fragment="",f=ll;else t.query="",f=sl;break;case cl:if(i==os||"/"==i||"\\"==i&&Bs(t)||!e&&("?"==i||"#"==i)){if(".."===(c=(c=l).toLowerCase())||"%2e."===c||".%2e"===c||"%2e%2e"===c?(zs(t),"/"==i||"\\"==i&&Bs(t)||t.path.push("")):Gs(l)?"/"==i||"\\"==i&&Bs(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&Ns(l)&&(t.host&&(t.host=""),l=l.charAt(0)+":"),t.path.push(l)),l="","file"==t.scheme&&(i==os||"?"==i||"#"==i))for(;t.path.length>1&&""===t.path[0];)t.path.shift();"?"==i?(t.query="",f=sl):"#"==i&&(t.fragment="",f=ll)}else l+=Ls(i,Rs);break;case fl:"?"==i?(t.query="",f=sl):"#"==i?(t.fragment="",f=ll):i!=os&&(t.path[0]+=Ls(i,Ps));break;case sl:e||"#"!=i?i!=os&&("'"==i&&Bs(t)?t.query+="%27":t.query+="#"==i?"%23":Ls(i,Ps)):(t.fragment="",f=ll);break;case ll:i!=os&&(t.fragment+=Ls(i,Ms))}s++}},vl=function(t){var n,e,r=Tr(this,vl,"URL"),o=arguments.length>1?arguments[1]:void 0,i=String(t),u=ss(r,{type:"URL"});if(void 0!==o)if(o instanceof vl)n=ls(o);else if(e=hl(n={},String(o)))throw TypeError(e);if(e=hl(u,i,null,n))throw TypeError(e);var c=u.searchParams=new cs,f=fs(c);f.updateSearchParams(u.query),f.updateURL=function(){u.query=String(c)||null},a||(r.href=pl.call(r),r.origin=yl.call(r),r.protocol=gl.call(r),r.username=ml.call(r),r.password=bl.call(r),r.host=wl.call(r),r.hostname=$l.call(r),r.port=Sl.call(r),r.pathname=xl.call(r),r.search=kl.call(r),r.searchParams=Al.call(r),r.hash=El.call(r))},dl=vl.prototype,pl=function(){var t=ls(this),n=t.scheme,e=t.username,r=t.password,o=t.host,i=t.port,a=t.path,u=t.query,c=t.fragment,f=n+":";return null!==o?(f+="//",Fs(t)&&(f+=e+(r?":"+r:"")+"@"),f+=Ds(o),null!==i&&(f+=":"+i)):"file"==n&&(f+="//"),f+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(f+="?"+u),null!==c&&(f+="#"+c),f},yl=function(){var t=ls(this),n=t.scheme,e=t.port;if("blob"==n)try{return new URL(n.path[0]).origin}catch(t){return"null"}return"file"!=n&&Bs(t)?n+"://"+Ds(t.host)+(null!==e?":"+e:""):"null"},gl=function(){return ls(this).scheme+":"},ml=function(){return ls(this).username},bl=function(){return ls(this).password},wl=function(){var t=ls(this),n=t.host,e=t.port;return null===n?"":null===e?Ds(n):Ds(n)+":"+e},$l=function(){var t=ls(this).host;return null===t?"":Ds(t)},Sl=function(){var t=ls(this).port;return null===t?"":String(t)},xl=function(){var t=ls(this),n=t.path;return t.cannotBeABaseURL?n[0]:n.length?"/"+n.join("/"):""},kl=function(){var t=ls(this).query;return t?"?"+t:""},Al=function(){return ls(this).searchParams},El=function(){var t=ls(this).fragment;return t?"#"+t:""},Ol=function(t,n){return{get:t,set:n,configurable:!0,enumerable:!0}};if(a&&ut(dl,{href:Ol(pl,(function(t){var n=ls(this),e=String(t),r=hl(n,e);if(r)throw TypeError(r);fs(n.searchParams).updateSearchParams(n.query)})),origin:Ol(yl),protocol:Ol(gl,(function(t){var n=ls(this);hl(n,String(t)+":",Hs)})),username:Ol(ml,(function(t){var n=ls(this),e=Kr(String(t));if(!Us(n)){n.username="";for(var r=0;r<e.length;r++)n.username+=Ls(e[r],Cs)}})),password:Ol(bl,(function(t){var n=ls(this),e=Kr(String(t));if(!Us(n)){n.password="";for(var r=0;r<e.length;r++)n.password+=Ls(e[r],Cs)}})),host:Ol(wl,(function(t){var n=ls(this);n.cannotBeABaseURL||hl(n,String(t),nl)})),hostname:Ol($l,(function(t){var n=ls(this);n.cannotBeABaseURL||hl(n,String(t),el)})),port:Ol(Sl,(function(t){var n=ls(this);Us(n)||(""==(t=String(t))?n.port=null:hl(n,t,rl))})),pathname:Ol(xl,(function(t){var n=ls(this);n.cannotBeABaseURL||(n.path=[],hl(n,t+"",ul))})),search:Ol(kl,(function(t){var n=ls(this);""==(t=String(t))?n.query=null:("?"==t.charAt(0)&&(t=t.slice(1)),n.query="",hl(n,t,sl)),fs(n.searchParams).updateSearchParams(n.query)})),searchParams:Ol(Al),hash:Ol(El,(function(t){var n=ls(this);""!=(t=String(t))?("#"==t.charAt(0)&&(t=t.slice(1)),n.fragment="",hl(n,t,ll)):n.fragment=null}))}),Ln(dl,"toJSON",(function(){return pl.call(this)}),{enumerable:!0}),Ln(dl,"toString",(function(){return pl.call(this)}),{enumerable:!0}),us){var Tl=us.createObjectURL,jl=us.revokeObjectURL;Tl&&Ln(vl,"createObjectURL",(function(t){return Tl.apply(us,arguments)})),jl&&Ln(vl,"revokeObjectURL",(function(t){return jl.apply(us,arguments)}))}Dn(vl,"URL"),z({global:!0,forced:!Af,sham:!a},{URL:vl});var _l=R.URL;function Dl(t,n){var e=li(t);if(Yo){var r=Yo(t);n&&(r=Vo(r).call(r,(function(n){return No(t,n).enumerable}))),e.push.apply(e,r)}return e}function Pl(t){for(var n=1;n<arguments.length;n++){var e,r=null!=arguments[n]?arguments[n]:{};if(n%2)Bo(e=Dl(Object(r),!0)).call(e,(function(n){Xo(t,n,r[n])}));else if(jo)Oo(t,jo(r));else{var o;Bo(o=Dl(Object(r))).call(o,(function(n){Eo(t,n,No(r,n))}))}}return t}function Ml(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Rl(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Rl(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Rl(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var Cl=86400;function Ll(t){return void 0!==t?t instanceof Date?Bl(t):(n=t.match(/\d+/g),new Date(Number(n[0]),Number(n[1])-1,Number(n[2]),Number(n[3]||0),Number(n[4]||0),Number(n[5]||0))):new Date;var n}function Il(t){if("number"==typeof t)t={seconds:t};else if("string"==typeof t){var n,e=0,r=2,o=Ml(t.split(":",3));try{for(o.s();!(n=o.n()).done;){var i=n.value;e+=Pa(i,10)*Math.pow(60,r--)}}catch(t){o.e(t)}finally{o.f()}t={seconds:e}}else t instanceof Date&&(t={hours:t.getHours(),minutes:t.getMinutes(),seconds:t.getSeconds()});var a=t.weeks||t.week||0;return{years:t.years||t.year||0,months:t.months||t.month||0,days:7*a+(t.days||t.day||0),seconds:60*(t.hours||t.hour||0)*60+60*(t.minutes||t.minute||0)+(t.seconds||t.second||0),inWeeks:!!a}}function Bl(t){return new Date(t.getTime())}function Fl(t,n,e){return Vl(t,n,void 0===e?1:e)}function Ul(t){return Jl(t,1)}function Nl(t){return Jl(t,-1)}function ql(t){return t.setHours(0,0,0,0),t}function zl(t){var n=-t.getTimezoneOffset(),e=n>=0?"+":"-";return t.getFullYear()+"-"+Yl(t.getMonth()+1)+"-"+Yl(t.getDate())+"T"+Yl(t.getHours())+":"+Yl(t.getMinutes())+":"+Yl(t.getSeconds())+e+Yl(n/60)+":"+Yl(n%60)}function Gl(t,n,e){if(t.getFullYear()!==n.getFullYear())return e.format(t)+" - "+e.format(n);var r=[];if(t.getMonth()!==n.getMonth()&&r.push("month"),t.getDate()!==n.getDate()&&r.push("day"),!r.length)return e.format(t);for(var o=e.resolvedOptions(),i={},a=0,u=r;a<u.length;a++){var c=u[a];i[c]=o[c]}var f=new Intl.DateTimeFormat(o.locale,i),s=e.format(t),l=e.format(n),h=f.format(t),v=f.format(n),d=function(t,n,e,r){var o=0;for(;o<t.length;){var i=void 0,a=Ui(Xl(t,n,o),2);if(o=a[0],!(i=a[1]))break;for(var u=0;u<e.length;){var c=void 0,f=Ui(Xl(e,r,u),2);if(u=f[0],!(c=f[1]))break;if(i.head===c.head&&i.tail===c.tail)return i}}return null}(s,h,l,v);return d?d.head+h+" - "+v+d.tail:s+" - "+l}function Hl(t,n){return t.getTime()===n.getTime()}function Wl(t,n){var e=n-t.getDay();return t.setDate(t.getDate()+(e<=0?e:e-7)),t}function Vl(t,n,e){t.setFullYear(t.getFullYear()+e*n.years);var r=t.getMonth()+e*n.months;for(t.setMonth(r),(r%=12)<0&&(r+=12);t.getMonth()!==r;)Nl(t);return t.setDate(t.getDate()+e*n.days),t.setSeconds(t.getSeconds()+e*n.seconds),t}function Jl(t,n){return t.setDate(t.getDate()+n),t}function Yl(t){var n=Math.floor(Math.abs(t));return(n<10?"0":"")+n}function Xl(t,n,e){var r=Ha(t).call(t,n,e);if(r>=0){var o=r+n.length;return[o,{head:t.substr(0,r),tail:t.substr(o)}]}return[-1,null]}var Kl=1;function Ql(t){return Wi(t).call(t,(function(t){var n;return{id:"id"in t?String(t.id):"{generated-".concat(Kl++,"}"),resourceIds:Jr(t.resourceIds)?Wi(n=t.resourceIds).call(n,String):"resourceId"in t?[String(t.resourceId)]:[],start:Ll(t.start),end:Ll(t.end),title:t.title||"",display:t.display||"auto",extendedProps:t.extendedProps||{},backgroundColor:t.backgroundColor||t.color}}))}var Zl=new RegExp("^(?:[a-z]+:)?//","i"),th="http://a";function nh(t){return Wi(t).call(t,(function(t){return{url:new _l(t.url,th),urlFrom:Zl.test(t.url)?0:th.length,extraParams:t.extraParams||{}}}))}function eh(t,n,e){return{start:t.start>n?t.start:n,end:t.end<e?t.end:e,event:t}}function rh(t){xf(t).call(t,(function(t,n){return t.start<n.start?-1:t.start>n.start?1:0}))}function oh(t,n,e,r,o,i,a,u){var c,f,s,l,h=o.format(t.start);if(n&&(h+=" - ".concat(o.format(t.end))),e)"string"==typeof(l=hc(e)?e({event:t.event,timeText:h,view:i}):e)&&(l={html:l});else switch(t.event.display){case"background":l={html:""};break;default:l={html:mi(c='<div class="'.concat(r.eventTime,'">')).call(c,h,"</div>")+(a?mi(f='<div><div class="'.concat(r.eventDot,'"')).call(f,u?' style="border-color:'.concat(u,'"'):"","></div></div>"):"")+mi(s='<div class="'.concat(r.eventTitle,'">')).call(s,t.event.title,"</div>")}}return[h,l]}function ih(t,n,e){return Pl(Pl({},df(n?n(t):t,e)),{},{mutate:n})}function ah(t,n,e){var r=e,o=!1,i=n.length<2,a=pf(t,(function(t,e){return o=!0,i?(r=n(t,e),e(r)):n(t,(function(t){r=t,e(t)})),function(){o=!1}}),r);return Pl(Pl({},a),{},{get:function(){return o?r:pc(a)}})}function uh(t,n){return pf([t,n],(function(t){var n=Ui(t,2),e=n[0],r=n[1];return hc(r)?{format:r}:new Intl.DateTimeFormat(e,r)}))}function ch(){return wa.apply(Object,arguments)}function fh(t){return t.offsetWidth-t.clientWidth-2*t.clientLeft>0}function sh(t,n){var e={update:function(n){for(;t.firstChild;)t.removeChild(t.lastChild);if(n.domNodes){var e,r=Ml(n.domNodes);try{for(r.s();!(e=r.n()).done;){var o=e.value;t.appendChild(o)}}catch(t){r.e(t)}finally{r.f()}}else n.html&&(t.innerHTML=n.html)}};return e.update(n),e}function lh(t,n,e,r){return{type:t,title:n,currentStart:e.start,currentEnd:e.end,activeStart:r.start,activeEnd:r.end,calendar:void 0}}function hh(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function vh(t,n){var e=li(t);if(Yo){var r=Yo(t);n&&(r=Vo(r).call(r,(function(n){return No(t,n).enumerable}))),e.push.apply(e,r)}return e}function dh(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return ph(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ph(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function ph(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var yh=function t(n){var e,r=this;Pt(this,t);for(var o,i,a,u=n.plugins||[],c=function(t,n){var e,r={buttonText:{today:"today"},date:new Date,dateClick:void 0,dayHeaderFormat:{weekday:"short",month:"numeric",day:"numeric"},displayEventEnd:!0,duration:{weeks:1},events:[],eventBackgroundColor:void 0,eventClick:void 0,eventColor:void 0,eventContent:void 0,eventDidMount:void 0,eventMouseEnter:void 0,eventMouseLeave:void 0,eventSources:[],eventTimeFormat:{hour:"numeric",minute:"2-digit"},firstDay:0,flexibleSlotTimeLimits:!1,headerToolbar:{start:"title",center:"",end:"today prev,next"},height:"auto",hiddenDays:[],highlightedDates:[],lazyFetching:!0,loading:void 0,locale:void 0,monthMode:!1,scrollTime:"06:00:00",slotDuration:"00:30:00",slotLabelFormat:{hour:"numeric",minute:"2-digit"},slotMaxTime:"24:00:00",slotMinTime:"00:00:00",theme:{calendar:"ec",header:"ec-header",withScroll:"ec-with-scroll",hiddenScroll:"ec-hidden-scroll",body:"ec-body",compact:"ec-compact",toolbar:"ec-toolbar",sidebar:"ec-sidebar",content:"ec-content",lines:"ec-lines",line:"ec-line",days:"ec-days",day:"ec-day",dayHead:"ec-day-head",today:"ec-today",otherMonth:"ec-other-month",highlight:"ec-highlight",events:"ec-events",event:"ec-event",eventTime:"ec-event-time",eventDot:"ec-event-dot",eventTitle:"ec-event-title",bgEvents:"ec-bg-events",bgEvent:"ec-bg-event",hiddenTimes:"ec-hidden-times",time:"ec-time",button:"ec-button",buttonGroup:"ec-button-group",icon:"ec-icon",active:"ec-active",title:"ec-title"},titleFormat:{year:"numeric",month:"short",day:"numeric"},view:t.view||void 0,viewDidMount:void 0,views:{}},o=dh(n);try{for(o.s();!(e=o.n()).done;){var i=e.value;"createOptions"in i&&i.createOptions(r,t)}}catch(t){o.e(t)}finally{o.f()}return r}(n,u),f=function(t,n){var e,r={date:function(t){return ql(Ll(t))},duration:Il,events:Ql,eventSources:nh,hiddenDays:function(t){return na(new ta(t))},highlightedDates:function(t){return Wi(t).call(t,Ll)},scrollTime:Il,slotDuration:Il,slotMaxTime:Il,slotMinTime:Il,theme:function(n){return hc(n)?n(t.theme):n}},o=dh(n);try{for(o.s();!(e=o.n()).done;){var i=e.value;"createMutators"in i&&i.createMutators(r,t)}}catch(t){o.e(t)}finally{o.f()}return r}(c,u),s=0,l=Si(c);s<l.length;s++){var h=Ui(l[s],2),v=h[0],d=h[1];this[v]=ih(d,f[v])}this._currentRange=pf([(o=this).date,o.duration,o.monthMode,o.firstDay],(function(t){var n=Ui(t,4),e=n[0],r=n[1],o=n[2],i=n[3],a=Bl(e);return o?a.setDate(1):r.inWeeks&&Wl(a,i),{start:a,end:Fl(Bl(a),r)}})),this._activeRange=function(t){return pf([t._currentRange,t.firstDay,t.monthMode,t.slotMinTime,t.slotMaxTime],(function(t){var n,e,r=Ui(t,5),o=r[0],i=r[1],a=r[2],u=(r[3],r[4]),c=Bl(o.start),f=Bl(o.end);if(a)Wl(c,i),e=i-(n=f).getDay(),n.setDate(n.getDate()+(e>=0?e:e+7));else if(u.days||u.seconds>Cl){Fl(Nl(f),u);var s=Nl(Bl(f));s<c&&(c=s)}return{start:c,end:f}}))}(this),this._fetchedRange=df({start:void 0,end:void 0}),this._events=function(t){var n,e=df([]),r=0;return pf([t.events,t.eventSources,t._activeRange,t._fetchedRange,t.lazyFetching,t.loading],(function(t,e){return Jc().then((function(){var o=Ui(t,6),i=o[0],a=o[1],u=o[2],c=o[3],f=o[4],s=o[5];a.length?(!c.start||c.start>u.start||c.end<u.end||!f)&&function(){n&&n.abort(),n=new AbortController,hc(s)&&!r&&s(!0);var t,o=[],i=dh(a);try{for(i.s();!(t=i.n()).done;){var f,l=t.value,h=hc(l.extraParams)?l.extraParams():ch({},l.extraParams);h.start=zl(u.start),h.end=zl(u.end);var v,d=dh(pi(f=l.url.searchParams).call(f));try{for(d.s();!(v=d.n()).done;){var p=v.value;l.url.searchParams.delete(p)}}catch(t){d.e(t)}finally{d.f()}for(var y=0,g=Si(h);y<g.length;y++){var m=Ui(g[y],2),b=m[0],w=m[1];l.url.searchParams.set(b,w)}fetch(l.url.href.substr(l.urlFrom),{signal:n.signal,credentials:"same-origin"}).then((function(t){return t.json()})).then((function(t){o=mi(o).call(o,Ql(t)),e(o),0==--r&&hc(s)&&s(!1)})).catch((function(t){0==--r&&hc(s)&&s(!1)})),++r,c.start=u.start,c.end=u.end}}catch(t){i.e(t)}finally{i.f()}}():e(i)}))}),[]).subscribe(e.set),e}(this),this._intlEventTime=uh(this.locale,this.eventTimeFormat),this._intlSlotLabel=uh(this.locale,this.slotLabelFormat),this._intlDayHeader=uh(this.locale,this.dayHeaderFormat),this._titleIntlRange=(i=this.locale,a=this.titleFormat,pf([i,a],(function(t){var n=Ui(t,2),e=n[0],r=n[1];if(hc(r))return{format:r};var o=new Intl.DateTimeFormat(e,r);return{format:function(t,n){return Gl(t,n,o)}}}))),this._scrollable=df(!1),this._viewTitle=function(t){return pf([t.date,t._activeRange,t._titleIntlRange,t.monthMode],(function(t){var n=Ui(t,4),e=n[0],r=n[1],o=n[2];return n[3]?o.format(e,e):o.format(r.start,Nl(Bl(r.end)))}))}(this),this._viewDates=function(t){return ah([t._activeRange,t.hiddenDays],(function(n){for(var e=Ui(n,2),r=e[0],o=e[1],i=[],a=ql(Bl(r.start)),u=ql(Bl(r.end));a<u;)Pi(o).call(o,a.getDay())||i.push(Bl(a)),Ul(a);return!i.length&&o.length&&o.length<7&&(t.date.update((function(t){for(;Pi(o).call(o,t.getDay());)Ul(t);return t})),i=t._viewDates.get()),i}))}(this),this._view=function(t){return ah([t.view,t._viewTitle,t._currentRange,t._activeRange],(function(t){return lh.apply(void 0,na(t))}))}(this),this._viewComponent=df(void 0);var p,y=dh(u);try{for(y.s();!(p=y.n()).done;){var g=p.value;"createStores"in g&&g.createStores(this)}}catch(t){y.e(t)}finally{y.f()}var m,b=dh(new ta(mi(e=[]).call(e,na(li(c.views)),na(li(n.views||{})))));try{var w=function(){var t=m.value,e=ch({},c,c.views[t]||{},n,n.views&&n.views[t]||{});r.view.subscribe((function(n){n===t&&(r._viewComponent.set(e.component),hc(e.viewDidMount)&&Jc().then((function(){return e.viewDidMount(r._view.get())})))}));for(var o=function(){var n=a[i];if(r.hasOwnProperty(n)&&"_"!==n[0]){var o=r[n],u=o.set,c=o._set,f=o.mutate,s=si(o,["set","_set","mutate"]);c||(c=u),f&&(e[n]=f(e[n])),r[n]=function(t){for(var n=1;n<arguments.length;n++){var e,r=null!=arguments[n]?arguments[n]:{};if(n%2)Bo(e=vh(Object(r),!0)).call(e,(function(n){Xo(t,n,r[n])}));else if(jo)Oo(t,jo(r));else{var o;Bo(o=vh(Object(r))).call(o,(function(n){Eo(t,n,No(r,n))}))}}return t}({set:function(t){e[n]=t,u(t)},_set:c,mutate:f},s),r.view.subscribe((function(r){r===t&&c(e[n])}))}},i=0,a=li(e);i<a.length;i++)o()};for(b.s();!(m=b.n()).done;)w()}catch(t){b.e(t)}finally{b.f()}};function gh(t,n,e){var r=Ao(t).call(t);return r[24]=n[e],r}function mh(t){var n,e,r,o,i,a=t[5][t[24]]+"";function u(){for(var n,e,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return(n=t)[19].apply(n,mi(e=[t[24]]).call(e,o))}return{c:function(){n=Ec("button"),e=Oc(a),Dc(n,"class",r=t[3].button+(t[6]===t[24]?" "+t[3].active:"")+" ec-"+t[24])},m:function(t,r){xc(t,n,r),Sc(n,e),o||(i=_c(n,"click",u),o=!0)},p:function(o,i){t=o,33&i&&a!==(a=t[5][t[24]]+"")&&Mc(e,a),73&i&&r!==(r=t[3].button+(t[6]===t[24]?" "+t[3].active:"")+" ec-"+t[24])&&Dc(n,"class",r)},d:function(t){t&&kc(n),o=!1,i()}}}function bh(t){var n,e,r,o,i,a=t[5][t[24]]+"";return{c:function(){n=Ec("button"),e=Oc(a),Dc(n,"class",r=t[3].button+" ec-"+t[24]),n.disabled=t[1]},m:function(r,a){xc(r,n,a),Sc(n,e),o||(i=_c(n,"click",t[18]),o=!0)},p:function(t,o){33&o&&a!==(a=t[5][t[24]]+"")&&Mc(e,a),9&o&&r!==(r=t[3].button+" ec-"+t[24])&&Dc(n,"class",r),2&o&&(n.disabled=t[1])},d:function(t){t&&kc(n),o=!1,i()}}}function wh(t){var n,e,r,o,i,a;return{c:function(){n=Ec("button"),Dc(e=Ec("i"),"class",r=t[3].icon+" ec-"+t[24]),Dc(n,"class",o=t[3].button+" ec-"+t[24])},m:function(r,o){xc(r,n,o),Sc(n,e),i||(a=_c(n,"click",t[17]),i=!0)},p:function(t,i){9&i&&r!==(r=t[3].icon+" ec-"+t[24])&&Dc(e,"class",r),9&i&&o!==(o=t[3].button+" ec-"+t[24])&&Dc(n,"class",o)},d:function(t){t&&kc(n),i=!1,a()}}}function $h(t){var n,e,r,o,i,a;return{c:function(){n=Ec("button"),Dc(e=Ec("i"),"class",r=t[3].icon+" ec-"+t[24]),Dc(n,"class",o=t[3].button+" ec-"+t[24])},m:function(r,o){xc(r,n,o),Sc(n,e),i||(a=_c(n,"click",t[16]),i=!0)},p:function(t,i){9&i&&r!==(r=t[3].icon+" ec-"+t[24])&&Dc(e,"class",r),9&i&&o!==(o=t[3].button+" ec-"+t[24])&&Dc(n,"class",o)},d:function(t){t&&kc(n),i=!1,a()}}}function Sh(t){var n,e,r;return{c:function(){n=Ec("h2"),e=Oc(t[4]),Dc(n,"class",r=t[3].title)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,o){16&o&&Mc(e,t[4]),8&o&&r!==(r=t[3].title)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function xh(t){return{c:cc,m:cc,p:cc,d:cc}}function kh(t){var n;function e(t,n){return""==t[24]?xh:"title"==t[24]?Sh:"prev"==t[24]?$h:"next"===t[24]?wh:"today"===t[24]?bh:mh}var r=e(t),o=r(t);return{c:function(){o.c(),n=jc()},m:function(t,e){o.m(t,e),xc(t,n,e)},p:function(t,i){r===(r=e(t))&&o?o.p(t,i):(o.d(1),(o=r(t))&&(o.c(),o.m(n.parentNode,n)))},d:function(t){o.d(t),t&&kc(n)}}}function Ah(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=kh(gh(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);xc(t,n,e)},p:function(t,o){var i=Ui(o,1)[0];if(229503&i){var a;for(e=t[0],a=0;a<e.length;a+=1){var u=gh(t,e,a);r[a]?r[a].p(u,i):(r[a]=kh(u),r[a].c(),r[a].m(n.parentNode,n))}for(;a<r.length;a+=1)r[a].d(1);r.length=e.length}},i:cc,o:cc,d:function(t){Ac(r,t),t&&kc(n)}}}function Eh(t,n,e){var r,o,i,a,u,c,f,s,l=n.buttons,h=Uc("state"),v=h._currentRange,d=h._viewTitle,p=h.buttonText,y=h.date,g=h.duration,m=h.hiddenDays,b=(h.monthMode,h.theme),w=h.view;yc(t,v,(function(t){return e(20,r=t)})),yc(t,d,(function(t){return e(4,c=t)})),yc(t,p,(function(t){return e(5,f=t)})),yc(t,y,(function(t){return e(2,o=t)})),yc(t,g,(function(t){return e(21,i=t)})),yc(t,m,(function(t){return e(22,a=t)})),yc(t,b,(function(t){return e(3,u=t)})),yc(t,w,(function(t){return e(6,s=t)}));var $,S=ql(new Date);return t.$$set=function(t){"buttons"in t&&e(0,l=t.buttons)},t.$$.update=function(){1048576&t.$$.dirty&&e(1,$=S>=r.start&&S<r.end||null)},[l,$,o,u,c,f,s,v,d,p,y,g,m,b,w,S,function(){var t=function(t,n,e){return Vl(t,n,void 0===e?-1:e)}(o,i);if(a.length&&a.length<7)for(;Pi(a).call(a,t.getDay());)Nl(t);wc(y,o=t)},function(){wc(y,o=Fl(o,i))},function(){return wc(y,o=Bl(S))},function(t){return wc(w,s=t)}]}var Oh=function(t){Ut(e,t);var n=hh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Eh,Ah,vc,{buttons:0}),r}return e}(hf);function Th(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function jh(t,n,e){var r=Ao(t).call(t);return r[5]=n[e],r}function _h(t){var n,e;return n=new Oh({props:{buttons:t[8]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.buttons=t[8]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Dh(t){var n,e,r,o;return e=new Oh({props:{buttons:t[8]}}),{c:function(){n=Ec("div"),uf(e.$$.fragment),Dc(n,"class",r=t[1].buttonGroup)},m:function(t,r){xc(t,n,r),cf(e,n,null),o=!0},p:function(t,i){var a={};1&i&&(a.buttons=t[8]),e.$set(a),(!o||2&i&&r!==(r=t[1].buttonGroup))&&Dc(n,"class",r)},i:function(t){o||(of(e.$$.fragment,t),o=!0)},o:function(t){af(e.$$.fragment,t),o=!1},d:function(t){t&&kc(n),ff(e)}}}function Ph(t){var n,e,r,o,i=[Dh,_h],a=[];function u(t,n){return t[8].length>1?0:1}return n=u(t),e=a[n]=i[n](t),{c:function(){e.c(),r=jc()},m:function(t,e){a[n].m(t,e),xc(t,r,e),o=!0},p:function(t,o){var c=n;(n=u(t))===c?a[n].p(t,o):(ef(),af(a[c],1,1,(function(){a[c]=null})),rf(),(e=a[n])||(e=a[n]=i[n](t)).c(),of(e,1),e.m(r.parentNode,r))},i:function(t){o||(of(e),o=!0)},o:function(t){af(e),o=!1},d:function(t){a[n].d(t),t&&kc(r)}}}function Mh(t){for(var n,e,r,o=t[0][t[5]],i=[],a=0;a<o.length;a+=1)i[a]=Ph(Th(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var t=0;t<i.length;t+=1)i[t].c();e=Tc()},m:function(t,o){xc(t,n,o);for(var a=0;a<i.length;a+=1)i[a].m(n,null);Sc(n,e),r=!0},p:function(t,r){if(3&r){var a;for(o=t[0][t[5]],a=0;a<o.length;a+=1){var c=Th(t,o,a);i[a]?(i[a].p(c,r),of(i[a],1)):(i[a]=Ph(c),i[a].c(),of(i[a],1),i[a].m(n,e))}for(ef(),a=o.length;a<i.length;a+=1)u(a);rf()}},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&kc(n),Ac(i,t)}}}function Rh(t){for(var n,e,r,o=li(t[0]),i=[],a=0;a<o.length;a+=1)i[a]=Mh(jh(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var r=0;r<i.length;r+=1)i[r].c();Dc(n,"class",e=t[1].toolbar)},m:function(t,e){xc(t,n,e);for(var o=0;o<i.length;o+=1)i[o].m(n,null);r=!0},p:function(t,a){var c=Ui(a,1)[0];if(3&c){var f;for(o=li(t[0]),f=0;f<o.length;f+=1){var s=jh(t,o,f);i[f]?(i[f].p(s,c),of(i[f],1)):(i[f]=Mh(s),i[f].c(),of(i[f],1),i[f].m(n,null))}for(ef(),f=o.length;f<i.length;f+=1)u(f);rf()}(!r||2&c&&e!==(e=t[1].toolbar))&&Dc(n,"class",e)},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&kc(n),Ac(i,t)}}}function Ch(t,n,e){var r,o,i=Uc("state"),a=i.headerToolbar,u=i.theme;yc(t,a,(function(t){return e(4,r=t)})),yc(t,u,(function(t){return e(1,o=t)}));var c={start:[],center:[],end:[]};return t.$$.update=function(){if(17&t.$$.dirty)for(var n=0,o=li(c);n<o.length;n++){var i,a=o[n];e(0,c[a]=Wi(i=r[a].split(" ")).call(i,(function(t){return t.split(",")})),c)}},[c,o,a,u]}var Lh=function(t){Ut(e,t);var n=hh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Ch,Rh,vc,{}),r}return e}(hf);function Ih(t){var n,e,r,o,i,a;e=new Lh({});var u=t[2];return u&&(o=new u({})),{c:function(){n=Ec("div"),uf(e.$$.fragment),r=Tc(),o&&uf(o.$$.fragment),Dc(n,"class",i=t[0].calendar),Rc(n,"height",t[1])},m:function(t,i){xc(t,n,i),cf(e,n,null),Sc(n,r),o&&cf(o,n,null),a=!0},p:function(t,e){var r=Ui(e,1)[0];if(u!==(u=t[2])){if(o){ef();var c=o;af(c.$$.fragment,1,0,(function(){ff(c,1)})),rf()}u?(uf((o=new u({})).$$.fragment),of(o.$$.fragment,1),cf(o,n,null)):o=null}(!a||1&r&&i!==(i=t[0].calendar))&&Dc(n,"class",i),(!a||2&r)&&Rc(n,"height",t[1])},i:function(t){a||(of(e.$$.fragment,t),o&&of(o.$$.fragment,t),a=!0)},o:function(t){af(e.$$.fragment,t),o&&af(o.$$.fragment,t),a=!1},d:function(t){t&&kc(n),ff(e),o&&ff(o)}}}function Bh(t,n,e){var r,o,i,a=n.options,u=new yh(a);Fc("state",u);var c=u._viewComponent,f=u.height,s=u.theme;return yc(t,c,(function(t){return e(2,i=t)})),yc(t,f,(function(t){return e(1,o=t)})),yc(t,s,(function(t){return e(0,r=t)})),t.$$set=function(t){"options"in t&&e(6,a=t.options)},[r,o,i,c,f,s,a,function(t,n){u.hasOwnProperty(t)&&(u[t].mutate&&(n=u[t].mutate(n)),u[t].set(n))},function(t){return u.hasOwnProperty(t)?pc(u[t]):void 0},function(){u._fetchedRange.set({start:void 0,end:void 0})},function(t){var n,e=dh(pc(u._events));try{for(e.s();!(n=e.n()).done;){var r=n.value;if(r.id==t)return r}}catch(t){e.e(t)}finally{e.f()}return null},function(t){u._events.update((function(n){return mi(n).call(n,u.events.mutate([t]))}))},function(t){u._events.update((function(n){var e,r=dh(n);try{for(r.s();!(e=r.n()).done;){var o=e.value;if(o.id==t.id){ch(o,u.events.mutate([t])[0]);break}}}catch(t){r.e(t)}finally{r.f()}return n}))},function(t){u._events.update((function(n){return Vo(n).call(n,(function(n){return n.id!=t}))}))},function(){return u._view.get()}]}var Fh=function(t){Ut(e,t);var n=hh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Bh,Ih,vc,{options:6,setOption:7,getOption:8,refetchEvents:9,getEventById:10,addEvent:11,updateEvent:12,removeEvent:13,getView:14}),r}return so(e,[{key:"setOption",get:function(){return this.$$.ctx[7]}},{key:"getOption",get:function(){return this.$$.ctx[8]}},{key:"refetchEvents",get:function(){return this.$$.ctx[9]}},{key:"getEventById",get:function(){return this.$$.ctx[10]}},{key:"addEvent",get:function(){return this.$$.ctx[11]}},{key:"updateEvent",get:function(){return this.$$.ctx[12]}},{key:"removeEvent",get:function(){return this.$$.ctx[13]}},{key:"getView",get:function(){return this.$$.ctx[14]}}]),e}(hf),Uh=new Gr,Nh=function(){function t(n,e){Pt(this,t),Uh.set(this,{writable:!0,value:void 0}),function(t,n,e){var r=n.get(t);if(!r)throw new TypeError("attempted to set private field on non-instance");if(r.set)r.set.call(t,e);else{if(!r.writable)throw new TypeError("attempted to set read only private field");r.value=e}}(this,Uh,new Fh({target:n,props:{options:e}}))}return so(t,[{key:"setOption",value:function(t,n){return ao(this,Uh).setOption(t,n),this}},{key:"getOption",value:function(t){return ao(this,Uh).getOption(t)}},{key:"refetchEvents",value:function(){return ao(this,Uh).refetchEvents(),this}},{key:"addEvent",value:function(t){return ao(this,Uh).addEvent(t),this}},{key:"updateEvent",value:function(t,n){return ao(this,Uh).updateEvent(t,n),this}},{key:"removeEvent",value:function(t){return ao(this,Uh).removeEvent(t),this}},{key:"view",get:function(){return ao(this,Uh).getView()}}]),t}(),qh=Pe.some,zh=_o("some"),Gh=po("some");z({target:"Array",proto:!0,forced:!zh||!Gh},{some:function(t){return qh(this,t,arguments.length>1?arguments[1]:void 0)}});var Hh=$o("Array").some,Wh=Array.prototype,Vh=function(t){var n=t.some;return t===Wh||t instanceof Array&&n===Wh.some?Hh:n};function Jh(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Yh(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yh(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Yh(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Xh(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}var Kh=function t(n){Pt(this,t),this._days=function(t){return pf([t.date,t.firstDay,t.hiddenDays],(function(t){for(var n=Ui(t,3),e=n[0],r=n[1],o=n[2],i=[],a=Bl(e),u=7;a.getDay()!==r&&u;)Nl(a),--u;for(var c=0;c<7;++c)Pi(o).call(o,a.getDay())||i.push(Bl(a)),Ul(a);return i}))}(n)};function Qh(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function Zh(t){var n,e,r,o=t[3].format(t[8])+"";return{c:function(){n=Ec("div"),e=Oc(o),Dc(n,"class",r=t[0].day)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){12&i&&o!==(o=t[3].format(t[8])+"")&&Mc(e,o),1&i&&r!==(r=t[0].day)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function tv(t){for(var n,e,r,o,i,a,u,c=t[2],f=[],s=0;s<c.length;s+=1)f[s]=Zh(Qh(t,c,s));return{c:function(){n=Ec("div"),e=Ec("div");for(var c=0;c<f.length;c+=1)f[c].c();o=Tc(),i=Ec("div"),Dc(e,"class",r=t[0].days),Dc(i,"class",a=t[0].hiddenScroll),Dc(n,"class",u=t[0].header+" "+t[0].month+(t[1]?" "+t[0].withScroll:""))},m:function(t,r){xc(t,n,r),Sc(n,e);for(var a=0;a<f.length;a+=1)f[a].m(e,null);Sc(n,o),Sc(n,i)},p:function(t,o){var s=Ui(o,1)[0];if(13&s){var l;for(c=t[2],l=0;l<c.length;l+=1){var h=Qh(t,c,l);f[l]?f[l].p(h,s):(f[l]=Zh(h),f[l].c(),f[l].m(e,null))}for(;l<f.length;l+=1)f[l].d(1);f.length=c.length}1&s&&r!==(r=t[0].days)&&Dc(e,"class",r),1&s&&a!==(a=t[0].hiddenScroll)&&Dc(i,"class",a),3&s&&u!==(u=t[0].header+" "+t[0].month+(t[1]?" "+t[0].withScroll:""))&&Dc(n,"class",u)},i:cc,o:cc,d:function(t){t&&kc(n),Ac(f,t)}}}function nv(t,n,e){var r,o,i,a,u=Uc("state"),c=u.theme,f=u._intlDayHeader,s=u._scrollable;yc(t,c,(function(t){return e(0,r=t)})),yc(t,f,(function(t){return e(3,a=t)})),yc(t,s,(function(t){return e(1,o=t)}));var l=Uc("view-state")._days;return yc(t,l,(function(t){return e(2,i=t)})),[r,o,i,a,c,f,s,l]}var ev=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,nv,tv,vc,{}),r}return e}(hf);function rv(t){var n,e,r,o,i,a,u,c=t[7].default,f=gc(c,t,t[6],null);return{c:function(){n=Ec("div"),e=Ec("div"),f&&f.c(),Dc(e,"class",r=t[1].content),Dc(n,"class",o=t[1].body+" "+t[1].month)},m:function(r,o){xc(r,n,o),Sc(n,e),f&&f.m(e,null),t[8](n),i=!0,a||(u=_c(window,"resize",t[5]),a=!0)},p:function(t,a){var u=Ui(a,1)[0];f&&f.p&&64&u&&bc(f,c,t,t[6],u,null,null),(!i||2&u&&r!==(r=t[1].content))&&Dc(e,"class",r),(!i||2&u&&o!==(o=t[1].body+" "+t[1].month))&&Dc(n,"class",o)},i:function(t){i||(of(f,t),i=!0)},o:function(t){af(f,t),i=!1},d:function(e){e&&kc(n),f&&f.d(e),t[8](null),a=!1,u()}}}function ov(t,n,e){var r,o,i,a=n.$$slots,u=void 0===a?{}:a,c=n.$$scope,f=Uc("state"),s=f._events,l=f._scrollable,h=f.theme;function v(){wc(l,fh(i))}return yc(t,s,(function(t){return e(9,r=t)})),yc(t,l,(function(t){return e(10,t)})),yc(t,h,(function(t){return e(1,o=t)})),t.$$set=function(t){"$$scope"in t&&e(6,c=t.$$scope)},t.$$.update=function(){513&t.$$.dirty&&i&&r&&Jc().then(v)},[i,o,s,l,h,v,c,u,function(t){qc[t?"unshift":"push"]((function(){e(0,i=t)}))}]}var iv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,ov,rv,vc,{}),r}return e}(hf);function av(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[3].event),Dc(n,"style",t[1])},m:function(e,a){xc(e,n,a),t[23](n),o||(i=[_c(window,"resize",t[20]),$c(r=sh.call(null,n,t[2])),_c(n,"click",(function(){hc(t[19](t[4]))&&t[19](t[4]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[19](t[5]))&&t[19](t[5]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[19](t[6]))&&t[19](t[6]).apply(this,arguments)}))],o=!0)},p:function(o,i){t=o,8&i[0]&&e!==(e=t[3].event)&&Dc(n,"class",e),2&i[0]&&Dc(n,"style",t[1]),r&&hc(r.update)&&4&i[0]&&r.update.call(null,t[2])},i:cc,o:cc,d:function(e){e&&kc(n),t[23](null),o=!1,lc(i)}}}function uv(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y,g,m,b=n.chunk,w=n.longChunks,$=Uc("state"),S=$.displayEventEnd,x=$.eventBackgroundColor,k=$.eventClick,A=$.eventColor,E=$.eventContent,O=$.eventDidMount,T=$.eventMouseEnter,j=$.eventMouseLeave,_=$.theme,D=$._view,P=$._intlEventTime;yc(t,S,(function(t){return e(28,a=t)})),yc(t,x,(function(t){return e(25,r=t)})),yc(t,k,(function(t){return e(4,h=t)})),yc(t,A,(function(t){return e(26,o=t)})),yc(t,E,(function(t){return e(29,u=t)})),yc(t,O,(function(t){return e(32,l=t)})),yc(t,T,(function(t){return e(5,v=t)})),yc(t,j,(function(t){return e(6,d=t)})),yc(t,_,(function(t){return e(3,c=t)})),yc(t,D,(function(t){return e(31,s=t)})),yc(t,P,(function(t){return e(30,f=t)}));var M,R=df(1);function C(){if(p){var t=b;t.top=0,t.prev&&(t.top=t.prev.bottom+1),t.bottom=t.top+p.getBoundingClientRect().height;var n=t.date.getTime();if(w[n]){var e,r=1,o=Jh(w[n]);try{for(o.s();!(e=o.n()).done;){var a=e.value;if(t.top<a.bottom&&t.bottom>a.top){var u=a.bottom-t.top+1;r+=u,t.top+=u,t.bottom+=u}}}catch(t){o.e(t)}finally{o.f()}wc(R,i=r)}}}return yc(t,R,(function(t){return e(27,i=t)})),Bc((function(){hc(l)&&l({event:b.event,timeText:m,el:p,view:s})})),M=C,Ic().$$.after_update.push(M),t.$$set=function(t){"chunk"in t&&e(21,b=t.chunk),"longChunks"in t&&e(22,w=t.longChunks)},t.$$.update=function(){if(236978178&t.$$.dirty[0]){var n,l=b.event.backgroundColor||r||o;e(1,y=mi(n="width:calc(".concat(100*b.days,"% + ")).call(n,7*(b.days-1),"px);")+"margin-top:".concat(i,"px;")),l&&e(1,y+="background-color:".concat(l,";"))}var h,v;1881145352&t.$$.dirty[0]|1&t.$$.dirty[1]&&e(2,(v=Ui(h=oh(b,a,u,c,f,s),2),m=v[0],g=v[1],h),g)},[p,y,g,c,h,v,d,S,x,k,A,E,O,T,j,_,D,P,R,function(t){return function(n){hc(t)&&t({event:b.event,el:p,jsEvent:n,view:s})}},C,b,w,function(t){qc[t?"unshift":"push"]((function(){e(0,p=t)}))}]}var cv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,uv,av,vc,{chunk:21,longChunks:22},[-1,-1]),r}return e}(hf);function fv(t,n,e){var r=Ao(t).call(t);return r[19]=n[e],r}function sv(t){var n,e;return n=new cv({props:{chunk:t[19],longChunks:t[1]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.chunk=t[19]),2&e&&(r.longChunks=t[1]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function lv(t){for(var n,e,r,o,i,a,u,c,f,s,l,h=t[0].getDate()+"",v=t[2],d=[],p=0;p<v.length;p+=1)d[p]=sv(fv(t,v,p));var y=function(t){return af(d[t],1,1,(function(){d[t]=null}))};return{c:function(){n=Ec("div"),e=Ec("div"),r=Oc(h),i=Tc(),a=Ec("div");for(var f=0;f<d.length;f+=1)d[f].c();Dc(e,"class",o=t[6].dayHead),Dc(a,"class",u=t[6].events),Dc(n,"class",c=t[6].day+(t[3]?" "+t[6].today:"")+(t[4]?" "+t[6].otherMonth:"")+(t[5]?" "+t[6].highlight:""))},m:function(o,u){xc(o,n,u),Sc(n,e),Sc(e,r),Sc(n,i),Sc(n,a);for(var c=0;c<d.length;c+=1)d[c].m(a,null);f=!0,s||(l=_c(n,"click",t[12]),s=!0)},p:function(t,i){var s=Ui(i,1)[0];if((!f||1&s)&&h!==(h=t[0].getDate()+"")&&Mc(r,h),(!f||64&s&&o!==(o=t[6].dayHead))&&Dc(e,"class",o),6&s){var l;for(v=t[2],l=0;l<v.length;l+=1){var p=fv(t,v,l);d[l]?(d[l].p(p,s),of(d[l],1)):(d[l]=sv(p),d[l].c(),of(d[l],1),d[l].m(a,null))}for(ef(),l=v.length;l<d.length;l+=1)y(l);rf()}(!f||64&s&&u!==(u=t[6].events))&&Dc(a,"class",u),(!f||120&s&&c!==(c=t[6].day+(t[3]?" "+t[6].today:"")+(t[4]?" "+t[6].otherMonth:"")+(t[5]?" "+t[6].highlight:"")))&&Dc(n,"class",c)},i:function(t){if(!f){for(var n=0;n<v.length;n+=1)of(d[n]);f=!0}},o:function(t){d=Vo(d).call(d,Boolean);for(var n=0;n<d.length;n+=1)af(d[n]);f=!1},d:function(t){t&&kc(n),Ac(d,t),s=!1,l()}}}function hv(t,n,e){var r,o,i,a,u,c,f=n.date,s=n.chunks,l=n.longChunks,h=Uc("state"),v=h.date,d=h.dateClick,p=h.highlightedDates,y=h._view,g=h.theme;yc(t,v,(function(t){return e(14,r=t)})),yc(t,d,(function(t){return e(16,i=t)})),yc(t,p,(function(t){return e(15,o=t)})),yc(t,y,(function(t){return e(17,a=t)})),yc(t,g,(function(t){return e(6,u=t)}));var m,b,w,$=ql(new Date);return t.$$set=function(t){"date"in t&&e(0,f=t.date),"chunks"in t&&e(13,s=t.chunks),"longChunks"in t&&e(1,l=t.longChunks)},t.$$.update=function(){if(8197&t.$$.dirty){e(2,c=[]);var n,i=Jh(s);try{for(i.s();!(n=i.n()).done;){var a=n.value;Hl(a.date,f)&&c.push(a)}}catch(t){i.e(t)}finally{i.f()}}49153&t.$$.dirty&&(e(3,m=Hl(f,$)),e(4,b=f.getMonth()!==r.getMonth()),e(5,w=Vh(o).call(o,(function(t){return Hl(t,f)}))))},[f,l,c,m,b,w,u,v,d,p,y,g,function(t){hc(i)&&i({date:f,jsEvent:t,view:a})},s]}var vv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,hv,lv,vc,{date:0,chunks:13,longChunks:1}),r}return e}(hf);function dv(t,n,e){var r=Ao(t).call(t);return r[9]=n[e],r}function pv(t){var n,e;return n=new vv({props:{date:t[9],chunks:t[1],longChunks:t[2]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[9]),2&e&&(r.chunks=t[1]),4&e&&(r.longChunks=t[2]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function yv(t){for(var n,e,r,o=t[0],i=[],a=0;a<o.length;a+=1)i[a]=pv(dv(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var r=0;r<i.length;r+=1)i[r].c();Dc(n,"class",e=t[3].days)},m:function(t,e){xc(t,n,e);for(var o=0;o<i.length;o+=1)i[o].m(n,null);r=!0},p:function(t,a){var c=Ui(a,1)[0];if(7&c){var f;for(o=t[0],f=0;f<o.length;f+=1){var s=dv(t,o,f);i[f]?(i[f].p(s,c),of(i[f],1)):(i[f]=pv(s),i[f].c(),of(i[f],1),i[f].m(n,null))}for(ef(),f=o.length;f<i.length;f+=1)u(f);rf()}(!r||8&c&&e!==(e=t[3].days))&&Dc(n,"class",e)},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&kc(n),Ac(i,t)}}}function gv(t,n,e){var r,o,i,a,u,c=n.dates,f=Uc("state"),s=f._events,l=f.hiddenDays,h=f.theme;return yc(t,s,(function(t){return e(7,r=t)})),yc(t,l,(function(t){return e(8,o=t)})),yc(t,h,(function(t){return e(3,i=t)})),t.$$set=function(t){"dates"in t&&e(0,c=t.dates)},t.$$.update=function(){if(387&t.$$.dirty){e(1,a=[]);var n,i=c[0],f=Ul(Bl(c[c.length-1])),s=Jh(r);try{for(s.s();!(n=s.n()).done;){var l=n.value;if("auto"===l.display&&l.start<f&&l.end>i){var h=eh(l,i,f);a.push(h)}}}catch(t){s.e(t)}finally{s.f()}e(2,u=function(t,n){if(t.length){rh(t);var e,r,o={},i=Jh(t);try{for(i.s();!(r=i.n()).done;){for(var a=r.value;Pi(n).call(n,a.start.getDay());){var u=Ul(ql(Bl(a.start)));if(u>a.end)break;a.start=u}a.date=ql(Bl(a.start)),a.days=1;for(var c=Ul(Bl(a.date));a.end>c;){++a.days;var f=c.getTime();o[f]?o[f].push(a):o[f]=[a],Ul(c)}e&&Hl(e.date,a.date)&&(a.prev=e),e=a}}catch(t){i.e(t)}finally{i.f()}return o}}(a,o))}},[c,a,u,i,s,l,h]}var mv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,gv,yv,vc,{dates:0}),r}return e}(hf);function bv(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function wv(t){var n,e;return n=new mv({props:{dates:t[8]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.dates=t[8]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function $v(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=wv(bv(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(1&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=bv(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=wv(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function Sv(t){var n,e,r,o;return n=new ev({}),r=new iv({props:{$$slots:{default:[$v]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Tc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),xc(t,e,i),cf(r,t,i),o=!0},p:function(t,n){var e=Ui(n,1)[0],o={};2049&e&&(o.$$scope={dirty:e,ctx:t}),r.$set(o)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&kc(e),ff(r,t)}}}function xv(t,n,e){var r,o,i,a,u=Uc("state"),c=u._viewDates,f=u.hiddenDays;u.theme;return yc(t,c,(function(t){return e(5,o=t)})),yc(t,f,(function(t){return e(4,r=t)})),Fc("view-state",new Kh(Uc("state"))),t.$$.update=function(){if(57&t.$$.dirty){e(0,i=[]),e(3,a=7-r.length);for(var n=0;n<o.length/a;++n){for(var u=[],c=0;c<a;++c)u.push(o[n*a+c]);i.push(u)}}},[i,c,f]}var kv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,xv,Sv,vc,{}),r}return e}(hf),Av={createOptions:function(t){t.buttonText.dayGridMonth="month",t.theme.month="ec-month",t.view="dayGridMonth",t.views.dayGridMonth={component:kv,dayHeaderFormat:{weekday:"short"},displayEventEnd:!1,duration:{months:1},monthMode:!0,titleFormat:{year:"numeric",month:"long"}}}};function Ev(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Ov(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ov(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Ov(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Tv(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function jv(t){var n,e,r,o,i,a=t[3].default,u=gc(a,t,t[2],null);return{c:function(){n=Ec("div"),e=Ec("div"),u&&u.c(),Dc(e,"class",r=t[0].content),Dc(n,"class",o=t[0].body+" "+t[0].list)},m:function(t,r){xc(t,n,r),Sc(n,e),u&&u.m(e,null),i=!0},p:function(t,c){var f=Ui(c,1)[0];u&&u.p&&4&f&&bc(u,a,t,t[2],f,null,null),(!i||1&f&&r!==(r=t[0].content))&&Dc(e,"class",r),(!i||1&f&&o!==(o=t[0].body+" "+t[0].list))&&Dc(n,"class",o)},i:function(t){i||(of(u,t),i=!0)},o:function(t){af(u,t),i=!1},d:function(t){t&&kc(n),u&&u.d(t)}}}function _v(t,n,e){var r,o=n.$$slots,i=void 0===o?{}:o,a=n.$$scope,u=Uc("state").theme;return yc(t,u,(function(t){return e(0,r=t)})),t.$$set=function(t){"$$scope"in t&&e(2,a=t.$$scope)},[r,u,a,i]}var Dv=function(t){Ut(e,t);var n=Tv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,_v,jv,vc,{}),r}return e}(hf);function Pv(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[2].event)},m:function(e,a){xc(e,n,a),t[19](n),o||(i=[$c(r=sh.call(null,n,t[1])),_c(n,"click",(function(){hc(t[17](t[3]))&&t[17](t[3]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[17](t[4]))&&t[17](t[4]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[17](t[5]))&&t[17](t[5]).apply(this,arguments)}))],o=!0)},p:function(o,i){var a=Ui(i,1)[0];t=o,4&a&&e!==(e=t[2].event)&&Dc(n,"class",e),r&&hc(r.update)&&2&a&&r.update.call(null,t[1])},i:cc,o:cc,d:function(e){e&&kc(n),t[19](null),o=!1,lc(i)}}}function Mv(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y,g=n.chunk,m=Uc("state"),b=m.displayEventEnd,w=m.eventBackgroundColor,$=m.eventColor,S=m.eventContent,x=m.eventClick,k=m.eventDidMount,A=m.eventMouseEnter,E=m.eventMouseLeave,O=m.theme,T=m._view,j=m._intlEventTime;return yc(t,b,(function(t){return e(23,i=t)})),yc(t,w,(function(t){return e(21,r=t)})),yc(t,$,(function(t){return e(22,o=t)})),yc(t,S,(function(t){return e(24,a=t)})),yc(t,x,(function(t){return e(3,l=t)})),yc(t,k,(function(t){return e(27,s=t)})),yc(t,A,(function(t){return e(4,h=t)})),yc(t,E,(function(t){return e(5,v=t)})),yc(t,O,(function(t){return e(2,u=t)})),yc(t,T,(function(t){return e(26,f=t)})),yc(t,j,(function(t){return e(25,c=t)})),Bc((function(){hc(s)&&s({event:g.event,timeText:y,el:d,view:f})})),t.$$set=function(t){"chunk"in t&&e(18,g=t.chunk)},t.$$.update=function(){if(132382724&t.$$.dirty){var n,s,l=g.event.backgroundColor||r||o;e(1,(s=Ui(n=oh(g,i,a,u,c,f,!0,l),2),y=s[0],p=s[1],n),p)}},[d,p,u,l,h,v,b,w,$,S,x,k,A,E,O,T,j,function(t){return function(n){hc(t)&&t({event:g.event,el:d,jsEvent:n,view:f})}},g,function(t){qc[t?"unshift":"push"]((function(){e(0,d=t)}))}]}var Rv=function(t){Ut(e,t);var n=Tv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Mv,Pv,vc,{chunk:18}),r}return e}(hf);function Cv(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function Lv(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v=t[5].format(t[0])+"",d=t[6].format(t[0])+"",p=t[1],y=[],g=0;g<p.length;g+=1)y[g]=Iv(Cv(t,p,g));var m=function(t){return af(y[t],1,1,(function(){y[t]=null}))};return{c:function(){n=Ec("div"),e=Oc(v),r=Tc(),o=Ec("span"),i=Oc(d),c=Tc();for(var s=0;s<y.length;s+=1)y[s].c();f=jc(),Dc(o,"class",a=t[4].daySide),Dc(n,"class",u=t[4].day+(t[2]?" "+t[4].today:"")+(t[3]?" "+t[4].highlight:""))},m:function(a,u){xc(a,n,u),Sc(n,e),Sc(n,r),Sc(n,o),Sc(o,i),xc(a,c,u);for(var v=0;v<y.length;v+=1)y[v].m(a,u);xc(a,f,u),s=!0,l||(h=_c(n,"click",t[14]),l=!0)},p:function(t,r){if((!s||33&r)&&v!==(v=t[5].format(t[0])+"")&&Mc(e,v),(!s||65&r)&&d!==(d=t[6].format(t[0])+"")&&Mc(i,d),(!s||16&r&&a!==(a=t[4].daySide))&&Dc(o,"class",a),(!s||28&r&&u!==(u=t[4].day+(t[2]?" "+t[4].today:"")+(t[3]?" "+t[4].highlight:"")))&&Dc(n,"class",u),2&r){var c;for(p=t[1],c=0;c<p.length;c+=1){var l=Cv(t,p,c);y[c]?(y[c].p(l,r),of(y[c],1)):(y[c]=Iv(l),y[c].c(),of(y[c],1),y[c].m(f.parentNode,f))}for(ef(),c=p.length;c<y.length;c+=1)m(c);rf()}},i:function(t){if(!s){for(var n=0;n<p.length;n+=1)of(y[n]);s=!0}},o:function(t){y=Vo(y).call(y,Boolean);for(var n=0;n<y.length;n+=1)af(y[n]);s=!1},d:function(t){t&&kc(n),t&&kc(c),Ac(y,t),t&&kc(f),l=!1,h()}}}function Iv(t){var n,e;return n=new Rv({props:{chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};2&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Bv(t){var n,e,r=t[1].length&&Lv(t);return{c:function(){r&&r.c(),n=jc()},m:function(t,o){r&&r.m(t,o),xc(t,n,o),e=!0},p:function(t,e){var o=Ui(e,1)[0];t[1].length?r?(r.p(t,o),2&o&&of(r,1)):((r=Lv(t)).c(),of(r,1),r.m(n.parentNode,n)):r&&(ef(),af(r,1,1,(function(){r=null})),rf())},i:function(t){e||(of(r),e=!0)},o:function(t){af(r),e=!1},d:function(t){r&&r.d(t),t&&kc(n)}}}function Fv(t,n,e){var r,o,i,a,u,c,f,s=n.date,l=Uc("state"),h=l._events,v=(l._intlDayHeader,l._view),d=(l.date,l.dateClick),p=l.highlightedDates,y=l.theme;yc(t,h,(function(t){return e(15,r=t)})),yc(t,v,(function(t){return e(18,a=t)})),yc(t,d,(function(t){return e(17,i=t)})),yc(t,p,(function(t){return e(16,o=t)})),yc(t,y,(function(t){return e(4,u=t)}));var g,m=Uc("view-state"),b=m._intlListDayFormat,w=m._intlListDaySideFormat;yc(t,b,(function(t){return e(5,c=t)})),yc(t,w,(function(t){return e(6,f=t)}));var $,S,x=ql(new Date);return t.$$set=function(t){"date"in t&&e(0,s=t.date)},t.$$.update=function(){if(32771&t.$$.dirty){e(1,g=[]);var n,i=s,a=Ul(Bl(s)),u=Ev(r);try{for(u.s();!(n=u.n()).done;){var c=n.value;if("auto"===c.display&&c.start<a&&c.end>i){var f=eh(c,i,a);g.push(f)}}}catch(t){u.e(t)}finally{u.f()}rh(g)}65537&t.$$.dirty&&(e(2,$=Hl(s,x)),e(3,S=Vh(o).call(o,(function(t){return Hl(t,s)}))))},[s,g,$,S,u,c,f,h,v,d,p,y,b,w,function(t){hc(i)&&i({date:s,jsEvent:t,view:a})}]}var Uv=function(t){Ut(e,t);var n=Tv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Fv,Bv,vc,{date:0}),r}return e}(hf),Nv=function t(n){Pt(this,t),this._intlListDayFormat=uh(n.locale,n.listDayFormat),this._intlListDaySideFormat=uh(n.locale,n.listDaySideFormat)};function qv(t,n,e){var r=Ao(t).call(t);return r[16]=n[e],r}function zv(t){for(var n,e,r=t[2],o=[],i=0;i<r.length;i+=1)o[i]=Hv(qv(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(4&e){var i;for(r=t[2],i=0;i<r.length;i+=1){var u=qv(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Hv(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function Gv(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[3].noEvents)},m:function(e,a){xc(e,n,a),o||(i=[$c(r=sh.call(null,n,t[1])),_c(n,"click",t[10])],o=!0)},p:function(t,o){8&o&&e!==(e=t[3].noEvents)&&Dc(n,"class",e),r&&hc(r.update)&&2&o&&r.update.call(null,t[1])},i:cc,o:cc,d:function(t){t&&kc(n),o=!1,lc(i)}}}function Hv(t){var n,e;return n=new Uv({props:{date:t[16]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.date=t[16]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Wv(t){var n,e,r,o,i=[Gv,zv],a=[];function u(t,n){return t[0]?0:1}return n=u(t),e=a[n]=i[n](t),{c:function(){e.c(),r=jc()},m:function(t,e){a[n].m(t,e),xc(t,r,e),o=!0},p:function(t,o){var c=n;(n=u(t))===c?a[n].p(t,o):(ef(),af(a[c],1,1,(function(){a[c]=null})),rf(),(e=a[n])||(e=a[n]=i[n](t)).c(),of(e,1),e.m(r.parentNode,r))},i:function(t){o||(of(e),o=!0)},o:function(t){af(e),o=!1},d:function(t){a[n].d(t),t&&kc(r)}}}function Vv(t){var n,e;return n=new Dv({props:{$$slots:{default:[Wv]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r=Ui(e,1)[0],o={};524303&r&&(o.$$scope={dirty:r,ctx:t}),n.$set(o)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Jv(t,n,e){var r,o,i,a,u,c,f,s,l=Uc("state"),h=l._events,v=l._view,d=l._viewDates,p=l.noEventsClick,y=l.noEventsContent,g=l.theme;return yc(t,h,(function(t){return e(11,o=t)})),yc(t,v,(function(t){return e(14,u=t)})),yc(t,d,(function(t){return e(2,r=t)})),yc(t,p,(function(t){return e(13,a=t)})),yc(t,y,(function(t){return e(12,i=t)})),yc(t,g,(function(t){return e(3,c=t)})),Fc("view-state",new Nv(Uc("state"))),t.$$.update=function(){if(2052&t.$$.dirty){e(0,f=!0);var n,a=r[0],u=Ul(Bl(r[r.length-1])),c=Ev(o);try{for(c.s();!(n=c.n()).done;){var l=n.value;if("auto"===l.display&&l.start<u&&l.end>a){e(0,f=!1);break}}}catch(t){c.e(t)}finally{c.f()}}4098&t.$$.dirty&&(e(1,s=hc(i)?i():i),"string"==typeof s&&e(1,s={html:s}))},[f,s,r,c,h,v,d,p,y,g,function(t){hc(a)&&a({jsEvent:t,view:u})}]}var Yv=function(t){Ut(e,t);var n=Tv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Jv,Vv,vc,{}),r}return e}(hf),Xv={createOptions:function(t){t.buttonText.listDay="list",t.buttonText.listWeek="list",t.buttonText.listMonth="list",t.buttonText.listYear="list",t.listDayFormat={weekday:"long"},t.listDaySideFormat={year:"numeric",month:"long",day:"numeric"},t.noEventsClick=void 0,t.noEventsContent="No events",t.theme.daySide="ec-day-side",t.theme.list="ec-list",t.theme.noEvents="ec-no-events",t.view="listWeek",t.views.listDay={component:Yv,duration:{days:1}},t.views.listWeek={component:Yv,duration:{weeks:1}},t.views.listMonth={component:Yv,duration:{months:1}},t.views.listYear={component:Yv,duration:{years:1}}}};function Kv(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function Qv(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Zv(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Zv(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Zv(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var td=function t(n){Pt(this,t),this._slotTimeLimits=function(t){return pf([t._events,t._viewDates,t.flexibleSlotTimeLimits,t.slotMinTime,t.slotMaxTime],(function(t){var n=Ui(t,5),e=n[0],r=n[1],o=n[2],i=n[3],a=n[4],u=Il(i),c=Il(a);if(o){var f,s=Il(Math.min(u.seconds,Math.max(0,c.seconds-Cl))),l=Il(Math.max(c.seconds,s.seconds+Cl)),h=Qv(r);try{t:for(h.s();!(f=h.n()).done;){var v,d=f.value,p=Fl(Bl(d),u),y=Fl(Bl(d),c),g=Fl(Bl(d),s),m=Fl(Bl(d),l),b=Qv(e);try{for(b.s();!(v=b.n()).done;){var w=v.value;if("auto"===w.display&&w.start<m&&w.end>g){if(w.start<p){var $=Math.max((w.start-d)/1e3,s.seconds);$<u.seconds&&(u.seconds=$)}if(w.end>y){var S=Math.min((w.end-d)/1e3,l.seconds);S>c.seconds&&(c.seconds=S)}if(u.seconds===s.seconds&&c.seconds===l.seconds)break t}}}catch(t){b.e(t)}finally{b.f()}}}catch(t){h.e(t)}finally{h.f()}}return{min:u,max:c}}))}(n),this._times=function(t,n){return pf([n._slotTimeLimits,t._intlSlotLabel,t.slotDuration],(function(t){var n=Ui(t,3),e=n[0],r=n[1],o=n[2],i=o.seconds>=3600,a=[],u=Ll("2020-01-01"),c=Bl(u),f=1;for(Fl(u,e.min),Fl(c,e.max);u<c;)a.push(a.length&&(f||i)?r.format(u):""),Fl(u,o),f=1-f;return a}))}(n,this)};function nd(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function ed(t){var n,e,r,o=t[8]+"";return{c:function(){n=Ec("div"),e=Oc(o),Dc(n,"class",r=t[0].time)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){4&i&&o!==(o=t[8]+"")&&Mc(e,o),1&i&&r!==(r=t[0].time)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function rd(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v,d,p,y,g=t[2],m=[],b=0;b<g.length;b+=1)m[b]=ed(nd(t,g,b));var w=t[7].default,$=gc(w,t,t[6],null);return{c:function(){n=Ec("div"),e=Ec("div"),r=Ec("div");for(var y=0;y<m.length;y+=1)m[y].c();a=Tc(),u=Ec("div"),c=Ec("div"),s=Tc(),$&&$.c(),h=Tc(),v=Ec("div"),Dc(r,"class",o=t[0].hiddenTimes),Dc(e,"class",i=t[0].sidebar),Dc(c,"class",f=t[0].lines),Dc(u,"class",l=t[0].days),Dc(v,"class",d=t[0].hiddenScroll),Dc(n,"class",p=t[0].header+(t[1]?" "+t[0].withScroll:""))},m:function(t,o){xc(t,n,o),Sc(n,e),Sc(e,r);for(var i=0;i<m.length;i+=1)m[i].m(r,null);Sc(n,a),Sc(n,u),Sc(u,c),Sc(u,s),$&&$.m(u,null),Sc(n,h),Sc(n,v),y=!0},p:function(t,a){var s=Ui(a,1)[0];if(5&s){var h;for(g=t[2],h=0;h<g.length;h+=1){var b=nd(t,g,h);m[h]?m[h].p(b,s):(m[h]=ed(b),m[h].c(),m[h].m(r,null))}for(;h<m.length;h+=1)m[h].d(1);m.length=g.length}(!y||1&s&&o!==(o=t[0].hiddenTimes))&&Dc(r,"class",o),(!y||1&s&&i!==(i=t[0].sidebar))&&Dc(e,"class",i),(!y||1&s&&f!==(f=t[0].lines))&&Dc(c,"class",f),$&&$.p&&64&s&&bc($,w,t,t[6],s,null,null),(!y||1&s&&l!==(l=t[0].days))&&Dc(u,"class",l),(!y||1&s&&d!==(d=t[0].hiddenScroll))&&Dc(v,"class",d),(!y||3&s&&p!==(p=t[0].header+(t[1]?" "+t[0].withScroll:"")))&&Dc(n,"class",p)},i:function(t){y||(of($,t),y=!0)},o:function(t){af($,t),y=!1},d:function(t){t&&kc(n),Ac(m,t),$&&$.d(t)}}}function od(t,n,e){var r,o,i,a=n.$$slots,u=void 0===a?{}:a,c=n.$$scope,f=Uc("state"),s=f._scrollable,l=f.theme;yc(t,s,(function(t){return e(1,o=t)})),yc(t,l,(function(t){return e(0,r=t)}));var h=Uc("view-state")._times;return yc(t,h,(function(t){return e(2,i=t)})),t.$$set=function(t){"$$scope"in t&&e(6,c=t.$$scope)},[r,o,i,s,l,h,c,u]}var id=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,od,rd,vc,{}),r}return e}(hf);function ad(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function ud(t,n,e){var r=Ao(t).call(t);return r[25]=n[e],r}function cd(t){var n,e,r,o=t[25]+"";return{c:function(){n=Ec("div"),e=Oc(o),Dc(n,"class",r=t[4].time)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){8&i&&o!==(o=t[25]+"")&&Mc(e,o),16&i&&r!==(r=t[4].time)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function fd(t){var n,e;return{c:function(){Dc(n=Ec("div"),"class",e=t[4].line)},m:function(t,e){xc(t,n,e)},p:function(t,r){16&r&&e!==(e=t[4].line)&&Dc(n,"class",e)},d:function(t){t&&kc(n)}}}function sd(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v,d,p,y=t[3],g=[],m=0;m<y.length;m+=1)g[m]=cd(ud(t,y,m));for(var b=t[2],w=[],$=0;$<b.length;$+=1)w[$]=fd(ad(t,b,$));var S=t[14].default,x=gc(S,t,t[13],null);return{c:function(){n=Ec("div"),e=Ec("div"),r=Ec("div");for(var v=0;v<g.length;v+=1)g[v].c();i=Tc(),a=Ec("div"),u=Ec("div");for(var d=0;d<w.length;d+=1)w[d].c();f=Tc(),x&&x.c(),Dc(r,"class",o=t[4].sidebar),Dc(u,"class",c=t[4].lines),Dc(a,"class",s=t[4].days),Dc(e,"class",l=t[4].content),Dc(n,"class",h=t[4].body+(t[1]?" "+t[4].compact:""))},m:function(o,c){xc(o,n,c),Sc(n,e),Sc(e,r);for(var s=0;s<g.length;s+=1)g[s].m(r,null);Sc(e,i),Sc(e,a),Sc(a,u);for(var l=0;l<w.length;l+=1)w[l].m(u,null);Sc(a,f),x&&x.m(a,null),t[15](n),v=!0,d||(p=_c(window,"resize",t[12]),d=!0)},p:function(t,i){var f=Ui(i,1)[0];if(24&f){var d;for(y=t[3],d=0;d<y.length;d+=1){var p=ud(t,y,d);g[d]?g[d].p(p,f):(g[d]=cd(p),g[d].c(),g[d].m(r,null))}for(;d<g.length;d+=1)g[d].d(1);g.length=y.length}if((!v||16&f&&o!==(o=t[4].sidebar))&&Dc(r,"class",o),20&f){var m;for(b=t[2],m=0;m<b.length;m+=1){var $=ad(t,b,m);w[m]?w[m].p($,f):(w[m]=fd($),w[m].c(),w[m].m(u,null))}for(;m<w.length;m+=1)w[m].d(1);w.length=b.length}(!v||16&f&&c!==(c=t[4].lines))&&Dc(u,"class",c),x&&x.p&&8192&f&&bc(x,S,t,t[13],f,null,null),(!v||16&f&&s!==(s=t[4].days))&&Dc(a,"class",s),(!v||16&f&&l!==(l=t[4].content))&&Dc(e,"class",l),(!v||18&f&&h!==(h=t[4].body+(t[1]?" "+t[4].compact:"")))&&Dc(n,"class",h)},i:function(t){v||(of(x,t),v=!0)},o:function(t){af(x,t),v=!1},d:function(e){e&&kc(n),Ac(g,e),Ac(w,e),x&&x.d(e),t[15](null),d=!1,p()}}}function ld(t,n,e){var r,o,i,a,u,c,f=n.$$slots,s=void 0===f?{}:f,l=n.$$scope,h=Uc("state"),v=h.slotDuration,d=(h._intlSlotLabel,h._viewDates),p=h.scrollTime,y=h._scrollable,g=h.theme;yc(t,v,(function(t){return e(16,r=t)})),yc(t,d,(function(t){return e(17,i=t)})),yc(t,p,(function(t){return e(18,a=t)})),yc(t,y,(function(t){return e(20,t)})),yc(t,g,(function(t){return e(4,c=t)}));var m,b,w=Uc("view-state"),$=w._slotTimeLimits,S=w._times;yc(t,$,(function(t){return e(19,u=t)})),yc(t,S,(function(t){return e(3,o=t)}));var x=[];function k(){wc(y,fh(m))}return t.$$set=function(t){"$$scope"in t&&e(13,l=t.$$scope)},t.$$.update=function(){65544&t.$$.dirty&&(e(1,b=r.seconds>=3600),e(2,x.length=o.length,x)),983041&t.$$.dirty&&m&&i&&e(0,m.scrollTop=(a.seconds-u.min.seconds)/r.seconds*24-12,m),65545&t.$$.dirty&&m&&o&&r&&Jc().then(k)},[m,b,x,o,c,v,d,p,y,g,$,S,k,l,s,function(t){qc[t?"unshift":"push"]((function(){e(0,m=t),e(17,i),e(18,a),e(19,u),e(16,r)}))}]}var hd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,ld,sd,vc,{}),r}return e}(hf);function vd(t){var n,e,r,o;return{c:function(){Dc(n=Ec("div"),"class",t[1]),Dc(n,"style",t[2])},m:function(i,a){xc(i,n,a),t[23](n),r||(o=[$c(e=sh.call(null,n,t[3])),_c(n,"click",(function(){hc(t[20](t[4]))&&t[20](t[4]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[20](t[5]))&&t[20](t[5]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[20](t[6]))&&t[20](t[6]).apply(this,arguments)}))],r=!0)},p:function(r,o){t=r,2&o[0]&&Dc(n,"class",t[1]),4&o[0]&&Dc(n,"style",t[2]),e&&hc(e.update)&&8&o[0]&&e.update.call(null,t[3])},i:cc,o:cc,d:function(e){e&&kc(n),t[23](null),r=!1,lc(o)}}}function dd(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y=n.date,g=n.chunk,m=Uc("state"),b=m.displayEventEnd,w=m.eventBackgroundColor,$=m.eventColor,S=m.eventContent,x=m.eventClick,k=m.eventDidMount,A=m.eventMouseEnter,E=m.eventMouseLeave,O=m.slotDuration,T=m.theme,j=m._view,_=m._intlEventTime;yc(t,b,(function(t){return e(30,c=t)})),yc(t,w,(function(t){return e(27,i=t)})),yc(t,$,(function(t){return e(28,a=t)})),yc(t,S,(function(t){return e(31,f=t)})),yc(t,x,(function(t){return e(4,v=t)})),yc(t,k,(function(t){return e(34,h=t)})),yc(t,A,(function(t){return e(5,d=t)})),yc(t,E,(function(t){return e(6,p=t)})),yc(t,O,(function(t){return e(25,r=t)})),yc(t,T,(function(t){return e(29,u=t)})),yc(t,j,(function(t){return e(33,l=t)})),yc(t,_,(function(t){return e(32,s=t)}));var D,P,M,R,C,L=Uc("view-state")._slotTimeLimits;return yc(t,L,(function(t){return e(26,o=t)})),Bc((function(){hc(h)&&h({event:g.event,timeText:C,el:D,view:l})})),t.$$set=function(t){"date"in t&&e(21,y=t.date),"chunk"in t&&e(22,g=t.chunk)},t.$$.update=function(){if(2120220676&t.$$.dirty[0]|7&t.$$.dirty[1]){var n,h,v=r.seconds/60,d=o.min.seconds/60,p=(g.start-y)/1e3/60,m=(p-d)/v*24,b=((g.end-y)/1e3/60-p)/v*24,w=(o.max.seconds/60-p)/v*24,$=g.event.backgroundColor||i||a;switch(e(2,M="top:".concat(m,"px;")+"min-height:".concat(b,"px;")+"height:".concat(b,"px;")+"max-height:".concat(w,"px;")+"z-index:".concat(g.column+1,";")),$&&e(2,M+="background-color:".concat($,";")),g.event.display){case"background":e(1,P=u.bgEvent);break;default:e(1,P=u.event),e(2,M+="left:".concat(100/g.group.columns.length*g.column,"%;")+"width:".concat(100/g.group.columns.length*.5*(1+g.group.columns.length-g.column),"%;"))}e(3,(h=Ui(n=oh(g,c,f,u,s,l),2),C=h[0],R=h[1],n),R)}},[D,P,M,R,v,d,p,b,w,$,S,x,k,A,E,O,T,j,_,L,function(t){return function(n){hc(t)&&t({event:g.event,el:D,jsEvent:n,view:l})}},y,g,function(t){qc[t?"unshift":"push"]((function(){e(0,D=t)}))}]}var pd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,dd,vd,vc,{date:21,chunk:22},[-1,-1]),r}return e}(hf);function yd(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function gd(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function md(t){var n,e;return n=new pd({props:{date:t[0],chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[0]),4&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function bd(t){var n,e;return n=new pd({props:{date:t[0],chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[0]),2&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function wd(t){for(var n,e,r,o,i,a,u,c,f,s,l=t[2],h=[],v=0;v<l.length;v+=1)h[v]=md(gd(t,l,v));for(var d=function(t){return af(h[t],1,1,(function(){h[t]=null}))},p=t[1],y=[],g=0;g<p.length;g+=1)y[g]=bd(yd(t,p,g));var m=function(t){return af(y[t],1,1,(function(){y[t]=null}))};return{c:function(){n=Ec("div"),e=Ec("div");for(var c=0;c<h.length;c+=1)h[c].c();o=Tc(),i=Ec("div");for(var f=0;f<y.length;f+=1)y[f].c();Dc(e,"class",r=t[5].bgEvents),Dc(i,"class",a=t[5].events),Dc(n,"class",u=t[5].day+(t[3]?" "+t[5].today:"")+(t[4]?" "+t[5].highlight:""))},m:function(r,a){xc(r,n,a),Sc(n,e);for(var u=0;u<h.length;u+=1)h[u].m(e,null);Sc(n,o),Sc(n,i);for(var l=0;l<y.length;l+=1)y[l].m(i,null);c=!0,f||(s=_c(n,"click",t[13]),f=!0)},p:function(t,o){var f=Ui(o,1)[0];if(5&f){var s;for(l=t[2],s=0;s<l.length;s+=1){var v=gd(t,l,s);h[s]?(h[s].p(v,f),of(h[s],1)):(h[s]=md(v),h[s].c(),of(h[s],1),h[s].m(e,null))}for(ef(),s=l.length;s<h.length;s+=1)d(s);rf()}if((!c||32&f&&r!==(r=t[5].bgEvents))&&Dc(e,"class",r),3&f){var g;for(p=t[1],g=0;g<p.length;g+=1){var b=yd(t,p,g);y[g]?(y[g].p(b,f),of(y[g],1)):(y[g]=bd(b),y[g].c(),of(y[g],1),y[g].m(i,null))}for(ef(),g=p.length;g<y.length;g+=1)m(g);rf()}(!c||32&f&&a!==(a=t[5].events))&&Dc(i,"class",a),(!c||56&f&&u!==(u=t[5].day+(t[3]?" "+t[5].today:"")+(t[4]?" "+t[5].highlight:"")))&&Dc(n,"class",u)},i:function(t){if(!c){for(var n=0;n<l.length;n+=1)of(h[n]);for(var e=0;e<p.length;e+=1)of(y[e]);c=!0}},o:function(t){h=Vo(h).call(h,Boolean);for(var n=0;n<h.length;n+=1)af(h[n]);y=Vo(y).call(y,Boolean);for(var e=0;e<y.length;e+=1)af(y[e]);c=!1},d:function(t){t&&kc(n),Ac(h,t),Ac(y,t),f=!1,s()}}}function $d(t,n,e){var r,o,i,a,u,c,f,s=n.date,l=n.resource,h=void 0===l?void 0:l,v=Uc("state"),d=v._events,p=v.dateClick,y=v.highlightedDates,g=v.slotDuration,m=v._view,b=v.theme;yc(t,d,(function(t){return e(16,o=t)})),yc(t,p,(function(t){return e(18,a=t)})),yc(t,y,(function(t){return e(17,i=t)})),yc(t,g,(function(t){return e(19,u=t)})),yc(t,m,(function(t){return e(20,c=t)})),yc(t,b,(function(t){return e(5,f=t)}));var w,$,S=Uc("view-state")._slotTimeLimits;yc(t,S,(function(t){return e(15,r=t)}));var x,k,A=ql(new Date);return t.$$set=function(t){"date"in t&&e(0,s=t.date),"resource"in t&&e(14,h=t.resource)},t.$$.update=function(){if(114695&t.$$.dirty){e(1,w=[]),e(2,$=[]);var n,a=Fl(Bl(s),r.min),u=Fl(Bl(s),r.max),c=Qv(o);try{for(c.s();!(n=c.n()).done;){var f,l=n.value;if(l.start<u&&l.end>a&&(void 0===h||Pi(f=l.resourceIds).call(f,h.id))){var v=eh(l,a,u);switch(l.display){case"background":$.push(v);break;default:w.push(v)}}}}catch(t){c.e(t)}finally{c.f()}!function(t){if(t.length){rh(t);var n,e={columns:[],end:t[0].end},r=Qv(t);try{for(r.s();!(n=r.n()).done;){var o=n.value,i=0;if(o.start<e.end){for(;i<e.columns.length&&!(e.columns[i][e.columns[i].length-1].end<=o.start);++i);o.end>e.end&&(e.end=o.end)}else e={columns:[],end:o.end};e.columns.length<i+1&&e.columns.push([]),e.columns[i].push(o),o.group=e,o.column=i}}catch(t){r.e(t)}finally{r.f()}}}(w)}131073&t.$$.dirty&&(e(3,x=Hl(s,A)),e(4,k=Vh(i).call(i,(function(t){return Hl(t,s)}))))},[s,w,$,x,k,f,d,p,y,g,m,b,S,function(t){if(hc(a)){var n=t.currentTarget.getBoundingClientRect(),e=t.clientY-n.top,o=Fl(Bl(s),u,Math.floor(e/24+r.min.seconds/u.seconds));a({date:o,jsEvent:t,view:c,resource:h})}},h]}var Sd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,$d,wd,vc,{date:0,resource:14}),r}return e}(hf);function xd(t,n,e){var r=Ao(t).call(t);return r[7]=n[e],r}function kd(t,n,e){var r=Ao(t).call(t);return r[7]=n[e],r}function Ad(t){var n,e,r,o=t[2].format(t[7])+"";return{c:function(){n=Ec("div"),e=Oc(o),Dc(n,"class",r=t[1].day)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){5&i&&o!==(o=t[2].format(t[7])+"")&&Mc(e,o),2&i&&r!==(r=t[1].day)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function Ed(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=Ad(kd(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);xc(t,n,e)},p:function(t,o){if(7&o){var i;for(e=t[0],i=0;i<e.length;i+=1){var a=kd(t,e,i);r[i]?r[i].p(a,o):(r[i]=Ad(a),r[i].c(),r[i].m(n.parentNode,n))}for(;i<r.length;i+=1)r[i].d(1);r.length=e.length}},d:function(t){Ac(r,t),t&&kc(n)}}}function Od(t){var n,e;return n=new Sd({props:{date:t[7]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[7]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Td(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=Od(xd(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(1&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=xd(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Od(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function jd(t){var n,e,r,o;return n=new id({props:{$$slots:{default:[Ed]},$$scope:{ctx:t}}}),r=new hd({props:{$$slots:{default:[Td]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Tc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),xc(t,e,i),cf(r,t,i),o=!0},p:function(t,e){var o=Ui(e,1)[0],i={};4103&o&&(i.$$scope={dirty:o,ctx:t}),n.$set(i);var a={};4097&o&&(a.$$scope={dirty:o,ctx:t}),r.$set(a)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&kc(e),ff(r,t)}}}function _d(t,n,e){var r,o,i,a=Uc("state"),u=a._viewDates,c=a._intlDayHeader,f=a.theme;return yc(t,u,(function(t){return e(0,r=t)})),yc(t,c,(function(t){return e(2,i=t)})),yc(t,f,(function(t){return e(1,o=t)})),Fc("view-state",new td(Uc("state"))),[r,o,i,u,c,f]}var Dd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,_d,jd,vc,{}),r}return e}(hf),Pd={createOptions:function(t){t.buttonText.timeGridDay="day",t.buttonText.timeGridWeek="week",t.view="timeGridWeek",t.views.timeGridDay={component:Dd,dayHeaderFormat:{weekday:"long"},duration:{days:1},titleFormat:{year:"numeric",month:"long",day:"numeric"}},t.views.timeGridWeek={component:Dd,duration:{weeks:1}}}};function Md(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function Rd(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Cd(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Cd(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Cd(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Ld(t,n,e){var r=Ao(t).call(t);return r[19]=n[e],r}function Id(t,n,e){var r=Ao(t).call(t);return r[16]=n[e],r}function Bd(t,n,e){var r=Ao(t).call(t);return r[19]=n[e],r}function Fd(t,n,e){var r=Ao(t).call(t);return r[16]=n[e],r}function Ud(t){for(var n,e,r=t[2],o=[],i=0;i<r.length;i+=1)o[i]=Nd(Bd(t,r,i));return{c:function(){n=Ec("div");for(var r=0;r<o.length;r+=1)o[r].c();Dc(n,"class",e=t[1].days)},m:function(t,e){xc(t,n,e);for(var r=0;r<o.length;r+=1)o[r].m(n,null)},p:function(t,i){if(14&i){var a;for(r=t[2],a=0;a<r.length;a+=1){var u=Bd(t,r,a);o[a]?o[a].p(u,i):(o[a]=Nd(u),o[a].c(),o[a].m(n,null))}for(;a<o.length;a+=1)o[a].d(1);o.length=r.length}2&i&&e!==(e=t[1].days)&&Dc(n,"class",e)},d:function(t){t&&kc(n),Ac(o,t)}}}function Nd(t){var n,e,r,o=t[3].format(t[19])+"";return{c:function(){n=Ec("div"),e=Oc(o),Dc(n,"class",r=t[1].day)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){12&i&&o!==(o=t[3].format(t[19])+"")&&Mc(e,o),2&i&&r!==(r=t[1].day)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function qd(t){var n,e,r,o,i,a,u,c=t[16].title+"",f=t[2].length>1&&Ud(t);return{c:function(){n=Ec("div"),e=Ec("div"),r=Oc(c),i=Tc(),f&&f.c(),a=Tc(),Dc(e,"class",o=t[1].day),Dc(n,"class",u=t[1].resource)},m:function(t,o){xc(t,n,o),Sc(n,e),Sc(e,r),Sc(n,i),f&&f.m(n,null),Sc(n,a)},p:function(t,i){1&i&&c!==(c=t[16].title+"")&&Mc(r,c),2&i&&o!==(o=t[1].day)&&Dc(e,"class",o),t[2].length>1?f?f.p(t,i):((f=Ud(t)).c(),f.m(n,a)):f&&(f.d(1),f=null),2&i&&u!==(u=t[1].resource)&&Dc(n,"class",u)},d:function(t){t&&kc(n),f&&f.d()}}}function zd(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=qd(Fd(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);xc(t,n,e)},p:function(t,o){if(15&o){var i;for(e=t[0],i=0;i<e.length;i+=1){var a=Fd(t,e,i);r[i]?r[i].p(a,o):(r[i]=qd(a),r[i].c(),r[i].m(n.parentNode,n))}for(;i<r.length;i+=1)r[i].d(1);r.length=e.length}},d:function(t){Ac(r,t),t&&kc(n)}}}function Gd(t){var n,e;return n=new Sd({props:{date:t[19],resource:t[16]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.date=t[19]),1&e&&(r.resource=t[16]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Hd(t){for(var n,e,r,o,i=t[2],a=[],u=0;u<i.length;u+=1)a[u]=Gd(Ld(t,i,u));var c=function(t){return af(a[t],1,1,(function(){a[t]=null}))};return{c:function(){n=Ec("div");for(var o=0;o<a.length;o+=1)a[o].c();e=Tc(),Dc(n,"class",r=t[1].resource)},m:function(t,r){xc(t,n,r);for(var i=0;i<a.length;i+=1)a[i].m(n,null);Sc(n,e),o=!0},p:function(t,u){if(5&u){var f;for(i=t[2],f=0;f<i.length;f+=1){var s=Ld(t,i,f);a[f]?(a[f].p(s,u),of(a[f],1)):(a[f]=Gd(s),a[f].c(),of(a[f],1),a[f].m(n,e))}for(ef(),f=i.length;f<a.length;f+=1)c(f);rf()}(!o||2&u&&r!==(r=t[1].resource))&&Dc(n,"class",r)},i:function(t){if(!o){for(var n=0;n<i.length;n+=1)of(a[n]);o=!0}},o:function(t){a=Vo(a).call(a,Boolean);for(var n=0;n<a.length;n+=1)af(a[n]);o=!1},d:function(t){t&&kc(n),Ac(a,t)}}}function Wd(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=Hd(Id(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(7&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=Id(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Hd(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function Vd(t){var n,e,r,o;return n=new id({props:{$$slots:{default:[zd]},$$scope:{ctx:t}}}),r=new hd({props:{$$slots:{default:[Wd]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Tc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),xc(t,e,i),cf(r,t,i),o=!0},p:function(t,e){var o=Ui(e,1)[0],i={};67108879&o&&(i.$$scope={dirty:o,ctx:t}),n.$set(i);var a={};67108871&o&&(a.$$scope={dirty:o,ctx:t}),r.$set(a)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&kc(e),ff(r,t)}}}function Jd(t,n,e){var r,o,i,a,u,c,f,s=Uc("state"),l=s.resources,h=s.filterResourcesWithEvents,v=s._activeRange,d=s._events,p=s._viewDates,y=s._intlDayHeader,g=s.theme;yc(t,l,(function(t){return e(11,r=t)})),yc(t,h,(function(t){return e(12,o=t)})),yc(t,v,(function(t){return e(14,a=t)})),yc(t,d,(function(t){return e(13,i=t)})),yc(t,p,(function(t){return e(2,c=t)})),yc(t,y,(function(t){return e(3,f=t)})),yc(t,g,(function(t){return e(1,u=t)})),Fc("view-state",new td(Uc("state")));var m=r;return t.$$.update=function(){30721&t.$$.dirty&&(o&&e(0,m=Vo(r).call(r,(function(t){var n,e=Rd(i);try{for(e.s();!(n=e.n()).done;){var r,o=n.value;if("auto"===o.display&&Pi(r=o.resourceIds).call(r,t.id)&&o.start<a.end&&o.end>a.start)return!0}}catch(t){e.e(t)}finally{e.f()}return!1}))),m.length||e(0,m=l.mutate([{}])))},[m,u,c,f,l,h,v,d,p,y,g]}var Yd=function(t){Ut(e,t);var n=Md(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Jd,Vd,vc,{}),r}return e}(hf),Xd={createOptions:function(t){t.resources=[],t.filterResourcesWithEvents=!1,t.buttonText.resourceTimeGridDay="day",t.buttonText.resourceTimeGridWeek="week",t.theme.resource="ec-resource",t.theme.resourceTitle="ec-resource-title",t.view="resourceTimeGridWeek",t.views.resourceTimeGridDay={component:Yd,duration:{days:1}},t.views.resourceTimeGridWeek={component:Yd,duration:{weeks:1}}},createMutators:function(t,n){t.resources=Kd}};function Kd(t){return Wi(t).call(t,(function(t){return{id:String(t.id),title:t.title||""}}))}var Qd=[].slice,Zd=/MSIE .\./.test(se),tp=function(t){return function(n,e){var r=arguments.length>2,o=r?Qd.call(arguments,2):void 0;return t(r?function(){("function"==typeof n?n:Function(n)).apply(this,o)}:n,e)}};z({global:!0,bind:!0,forced:Zd},{setTimeout:tp(o.setTimeout),setInterval:tp(o.setInterval)});var np,ep=R.setTimeout,rp=Oa.trim;z({target:"String",proto:!0,forced:(np="trim",i((function(){return!!Sa[np]()||"
"!="
"[np]()||Sa[np].name!==np})))},{trim:function(){return rp(this)}});var op=$o("String").trim,ip=String.prototype,ap=function(t){var n=t.trim;return"string"==typeof t||t===ip||t instanceof String&&n===ip.trim?op:n},up=R.URLSearchParams,cp=$o("Array").entries,fp=Array.prototype,sp={DOMTokenList:!0,NodeList:!0},lp=function(t){var n=t.entries;return t===fp||t instanceof Array&&n===fp.entries||sp.hasOwnProperty(On(t))?cp:n},hp=Te.f,vp=i((function(){return!Object.getOwnPropertyNames(1)}));z({target:"Object",stat:!0,forced:vp},{getOwnPropertyNames:hp});var dp=R.Object,pp=function(t){return dp.getOwnPropertyNames(t)},yp=oe,gp="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==gp&&gp,mp="URLSearchParams"in gp,bp="Symbol"in gp&&"iterator"in Xr,wp="FileReader"in gp&&"Blob"in gp&&function(){try{return new Blob,!0}catch(t){return!1}}(),$p="FormData"in gp,Sp="ArrayBuffer"in gp;if(Sp)var xp=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],kp=ArrayBuffer.isView||function(t){return t&&Ha(xp).call(xp,Object.prototype.toString.call(t))>-1};function Ap(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function Ep(t){return"string"!=typeof t&&(t=String(t)),t}function Op(t){var n={next:function(){var n=t.shift();return{done:void 0===n,value:n}}};return bp&&(n[yp]=function(){return n}),n}function Tp(t){if(this.map={},t instanceof Tp)Bo(t).call(t,(function(t,n){this.append(n,t)}),this);else if(Jr(t))Bo(t).call(t,(function(t){this.append(t[0],t[1])}),this);else if(t){var n;Bo(n=pp(t)).call(n,(function(n){this.append(n,t[n])}),this)}}function jp(t){if(t.bodyUsed)return ic.reject(new TypeError("Already read"));t.bodyUsed=!0}function _p(t){return new ic((function(n,e){t.onload=function(){n(t.result)},t.onerror=function(){e(t.error)}}))}function Dp(t){var n=new FileReader,e=_p(n);return n.readAsArrayBuffer(t),e}function Pp(t){if(Ao(t))return Ao(t).call(t,0);var n=new Uint8Array(t.byteLength);return n.set(new Uint8Array(t)),n.buffer}function Mp(){return this.bodyUsed=!1,this._initBody=function(t){var n;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:wp&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:$p&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:mp&&up.prototype.isPrototypeOf(t)?this._bodyText=t.toString():Sp&&wp&&((n=t)&&DataView.prototype.isPrototypeOf(n))?(this._bodyArrayBuffer=Pp(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):Sp&&(ArrayBuffer.prototype.isPrototypeOf(t)||kp(t))?this._bodyArrayBuffer=Pp(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):mp&&up.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},wp&&(this.blob=function(){var t=jp(this);if(t)return t;if(this._bodyBlob)return ic.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return ic.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return ic.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t,n=jp(this);return n||(ArrayBuffer.isView(this._bodyArrayBuffer)?ic.resolve(Ao(t=this._bodyArrayBuffer.buffer).call(t,this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):ic.resolve(this._bodyArrayBuffer))}return this.blob().then(Dp)}),this.text=function(){var t=jp(this);if(t)return t;if(this._bodyBlob)return function(t){var n=new FileReader,e=_p(n);return n.readAsText(t),e}(this._bodyBlob);if(this._bodyArrayBuffer)return ic.resolve(function(t){for(var n=new Uint8Array(t),e=new Array(n.length),r=0;r<n.length;r++)e[r]=String.fromCharCode(n[r]);return e.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return ic.resolve(this._bodyText)},$p&&(this.formData=function(){return this.text().then(Lp)}),this.json=function(){return this.text().then(JSON.parse)},this}Tp.prototype.append=function(t,n){t=Ap(t),n=Ep(n);var e=Wi(this)[t];Wi(this)[t]=e?e+", "+n:n},Tp.prototype.delete=function(t){delete Wi(this)[Ap(t)]},Tp.prototype.get=function(t){return t=Ap(t),this.has(t)?Wi(this)[t]:null},Tp.prototype.has=function(t){return Wi(this).hasOwnProperty(Ap(t))},Tp.prototype.set=function(t,n){Wi(this)[Ap(t)]=Ep(n)},Tp.prototype.forEach=function(t,n){for(var e in Wi(this))Wi(this).hasOwnProperty(e)&&t.call(n,Wi(this)[e],e,this)},Tp.prototype.keys=function(){var t=[];return Bo(this).call(this,(function(n,e){t.push(e)})),Op(t)},Tp.prototype.values=function(){var t=[];return Bo(this).call(this,(function(n){t.push(n)})),Op(t)},Tp.prototype.entries=function(){var t=[];return Bo(this).call(this,(function(n,e){t.push([e,n])})),Op(t)},bp&&(Tp.prototype[yp]=lp(Tp.prototype));var Rp=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function Cp(t,n){if(!(this instanceof Cp))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var e,r,o=(n=n||{}).body;if(t instanceof Cp){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,n.headers||(this.headers=new Tp(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,o||null==t._bodyInit||(o=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=n.credentials||this.credentials||"same-origin",!n.headers&&this.headers||(this.headers=new Tp(n.headers)),this.method=(e=n.method||this.method||"GET",r=e.toUpperCase(),Ha(Rp).call(Rp,r)>-1?r:e),this.mode=n.mode||this.mode||null,this.signal=n.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(o),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==n.cache&&"no-cache"!==n.cache)){var i=/([?&])_=[^&]*/;if(i.test(this.url))this.url=this.url.replace(i,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function Lp(t){var n,e=new FormData;return Bo(n=ap(t).call(t).split("&")).call(n,(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}})),e}function Ip(t,n){if(!(this instanceof Ip))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');n||(n={}),this.type="default",this.status=void 0===n.status?200:n.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in n?n.statusText:"",this.headers=new Tp(n.headers),this.url=n.url||"",this._initBody(t)}Cp.prototype.clone=function(){return new Cp(this,{body:this._bodyInit})},Mp.call(Cp.prototype),Mp.call(Ip.prototype),Ip.prototype.clone=function(){return new Ip(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Tp(this.headers),url:this.url})},Ip.error=function(){var t=new Ip(null,{status:0,statusText:""});return t.type="error",t};var Bp=[301,302,303,307,308];Ip.redirect=function(t,n){if(-1===Ha(Bp).call(Bp,n))throw new RangeError("Invalid status code");return new Ip(null,{status:n,headers:{location:t}})};var Fp=gp.DOMException;try{new Fp}catch(t){(Fp=function(t,n){this.message=t,this.name=n;var e=Error(t);this.stack=e.stack}).prototype=uc(Error.prototype),Fp.prototype.constructor=Fp}function Up(t,n){return new ic((function(e,r){var o=new Cp(t,n);if(o.signal&&o.signal.aborted)return r(new Fp("Aborted","AbortError"));var i,a,u,c=new XMLHttpRequest;function f(){c.abort()}(c.onload=function(){var t,n,r,o,i={status:c.status,statusText:c.statusText,headers:(t=c.getAllResponseHeaders()||"",r=new Tp,o=t.replace(/\r?\n[\t ]+/g," "),Bo(n=o.split(/\r?\n/)).call(n,(function(t){var n,e=t.split(":"),o=ap(n=e.shift()).call(n);if(o){var i,a=ap(i=e.join(":")).call(i);r.append(o,a)}})),r)};i.url="responseURL"in c?c.responseURL:i.headers.get("X-Request-URL");var a="response"in c?c.response:c.responseText;ep((function(){e(new Ip(a,i))}),0)},c.onerror=function(){ep((function(){r(new TypeError("Network request failed"))}),0)},c.ontimeout=function(){ep((function(){r(new TypeError("Network request failed"))}),0)},c.onabort=function(){ep((function(){r(new Fp("Aborted","AbortError"))}),0)},c.open(o.method,function(t){try{return""===t&&gp.location.href?gp.location.href:t}catch(n){return t}}(o.url),!0),"include"===o.credentials?c.withCredentials=!0:"omit"===o.credentials&&(c.withCredentials=!1),"responseType"in c)&&(wp?c.responseType="blob":Sp&&o.headers.get("Content-Type")&&-1!==Ha(i=o.headers.get("Content-Type")).call(i,"application/octet-stream")&&(c.responseType="arraybuffer"));!n||"object"!==lr(n.headers)||n.headers instanceof Tp?Bo(a=o.headers).call(a,(function(t,n){c.setRequestHeader(n,t)})):Bo(u=pp(n.headers)).call(u,(function(t){c.setRequestHeader(t,Ep(n.headers[t]))}));o.signal&&(o.signal.addEventListener("abort",f),c.onreadystatechange=function(){4===c.readyState&&o.signal.removeEventListener("abort",f)}),c.send(void 0===o._bodyInit?null:o._bodyInit)}))}Up.polyfill=!0,gp.fetch||(gp.fetch=Up,gp.Headers=Tp,gp.Request=Cp,gp.Response=Ip);var Np=Vt.f("toStringTag"),qp=pr,zp=It,Gp=new Gr,Hp=new Gr;function Wp(t){var n=Gp.get(t);return console.assert(null!=n,"'this' is expected an Event object, but got",t),n}function Vp(t){null==t.passiveListener?t.event.cancelable&&(t.canceled=!0,"function"==typeof t.event.preventDefault&&t.event.preventDefault()):"undefined"!=typeof console&&"function"==typeof console.error&&console.error("Unable to preventDefault inside passive event listener invocation.",t.passiveListener)}function Jp(t,n){Gp.set(this,{eventTarget:t,event:n,eventPhase:2,currentTarget:t,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:n.timeStamp||ac()}),Eo(this,"isTrusted",{value:!1,enumerable:!0});for(var e=li(n),r=0;r<e.length;++r){var o=e[r];o in this||Eo(this,o,Yp(o))}}function Yp(t){return{get:function(){return Wp(this).event[t]},set:function(n){Wp(this).event[t]=n},configurable:!0,enumerable:!0}}function Xp(t){return{value:function(){var n=Wp(this).event;return n[t].apply(n,arguments)},configurable:!0,enumerable:!0}}function Kp(t){if(null==t||t===Object.prototype)return Jp;var n=Hp.get(t);return null==n&&(n=function(t,n){var e=li(n);if(0===e.length)return t;function r(n,e){t.call(this,n,e)}r.prototype=uc(t.prototype,{constructor:{value:r,configurable:!0,writable:!0}});for(var o=0;o<e.length;++o){var i=e[o];if(!(i in t.prototype)){var a="function"==typeof No(n,i).value;Eo(r.prototype,i,a?Xp(i):Yp(i))}}return r}(Kp(qp(t)),t),Hp.set(t,n)),n}function Qp(t){return Wp(t).immediateStopped}function Zp(t,n){Wp(t).passiveListener=n}Jp.prototype={get type(){return Wp(this).event.type},get target(){return Wp(this).eventTarget},get currentTarget(){return Wp(this).currentTarget},composedPath:function(){var t=Wp(this).currentTarget;return null==t?[]:[t]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return Wp(this).eventPhase},stopPropagation:function(){var t=Wp(this);t.stopped=!0,"function"==typeof t.event.stopPropagation&&t.event.stopPropagation()},stopImmediatePropagation:function(){var t=Wp(this);t.stopped=!0,t.immediateStopped=!0,"function"==typeof t.event.stopImmediatePropagation&&t.event.stopImmediatePropagation()},get bubbles(){return Boolean(Wp(this).event.bubbles)},get cancelable(){return Boolean(Wp(this).event.cancelable)},preventDefault:function(){Vp(Wp(this))},get defaultPrevented(){return Wp(this).canceled},get composed(){return Boolean(Wp(this).event.composed)},get timeStamp(){return Wp(this).timeStamp},get srcElement(){return Wp(this).eventTarget},get cancelBubble(){return Wp(this).stopped},set cancelBubble(t){if(t){var n=Wp(this);n.stopped=!0,"boolean"==typeof n.event.cancelBubble&&(n.event.cancelBubble=!0)}},get returnValue(){return!Wp(this).canceled},set returnValue(t){t||Vp(Wp(this))},initEvent:function(){}},Eo(Jp.prototype,"constructor",{value:Jp,configurable:!0,writable:!0}),"undefined"!=typeof window&&void 0!==window.Event&&(zp(Jp.prototype,window.Event.prototype),Hp.set(window.Event.prototype,Jp));var ty=new Gr;function ny(t){return null!==t&&"object"===lr(t)}function ey(t){var n=ty.get(t);if(null==n)throw new TypeError("'this' is expected an EventTarget object, but got another value.");return n}function ry(t,n){Eo(t,"on".concat(n),function(t){return{get:function(){for(var n=ey(this).get(t);null!=n;){if(3===n.listenerType)return n.listener;n=n.next}return null},set:function(n){"function"==typeof n||ny(n)||(n=null);for(var e=ey(this),r=null,o=e.get(t);null!=o;)3===o.listenerType?null!==r?r.next=o.next:null!==o.next?e.set(t,o.next):e.delete(t):r=o,o=o.next;if(null!==n){var i={listener:n,listenerType:3,passive:!1,once:!1,next:null};null===r?e.set(t,i):r.next=i}},configurable:!0,enumerable:!0}}(n))}function oy(t){function n(){iy.call(this)}n.prototype=uc(iy.prototype,{constructor:{value:n,configurable:!0,writable:!0}});for(var e=0;e<t.length;++e)ry(n.prototype,t[e]);return n}function iy(){if(!(this instanceof iy)){if(1===arguments.length&&Jr(arguments[0]))return oy(arguments[0]);if(arguments.length>0){for(var t=new Array(arguments.length),n=0;n<arguments.length;++n)t[n]=arguments[n];return oy(t)}throw new TypeError("Cannot call a class as a function")}ty.set(this,new $a)}function ay(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}iy.prototype={addEventListener:function(t,n,e){if(null!=n){if("function"!=typeof n&&!ny(n))throw new TypeError("'listener' should be a function or an object.");var r=ey(this),o=ny(e),i=(o?Boolean(e.capture):Boolean(e))?1:2,a={listener:n,listenerType:i,passive:o&&Boolean(e.passive),once:o&&Boolean(e.once),next:null},u=r.get(t);if(void 0!==u){for(var c=null;null!=u;){if(u.listener===n&&u.listenerType===i)return;c=u,u=u.next}c.next=a}else r.set(t,a)}},removeEventListener:function(t,n,e){if(null!=n)for(var r=ey(this),o=(ny(e)?Boolean(e.capture):Boolean(e))?1:2,i=null,a=r.get(t);null!=a;){if(a.listener===n&&a.listenerType===o)return void(null!==i?i.next=a.next:null!==a.next?r.set(t,a.next):r.delete(t));i=a,a=a.next}},dispatchEvent:function(t){if(null==t||"string"!=typeof t.type)throw new TypeError('"event.type" should be a string.');var n=ey(this),e=t.type,r=n.get(e);if(null==r)return!0;for(var o=function(t,n){return new(Kp(qp(n)))(t,n)}(this,t),i=null;null!=r;){if(r.once?null!==i?i.next=r.next:null!==r.next?n.set(e,r.next):n.delete(e):i=r,Zp(o,r.passive?r.listener:null),"function"==typeof r.listener)try{r.listener.call(this,o)}catch(t){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(t)}else 3!==r.listenerType&&"function"==typeof r.listener.handleEvent&&r.listener.handleEvent(o);if(Qp(o))break;r=r.next}return Zp(o,null),function(t,n){Wp(t).eventPhase=n}(o,0),function(t,n){Wp(t).currentTarget=n}(o,null),!o.defaultPrevented}},Eo(iy.prototype,"constructor",{value:iy,configurable:!0,writable:!0}),"undefined"!=typeof window&&void 0!==window.EventTarget&&zp(iy.prototype,window.EventTarget.prototype);var uy=function(t){Ut(e,t);var n=ay(e);function e(){throw Pt(this,e),n.call(this),new TypeError("AbortSignal cannot be constructed directly")}return so(e,[{key:"aborted",get:function(){var t=cy.get(this);if("boolean"!=typeof t)throw new TypeError("Expected 'this' to be an 'AbortSignal' object, but got ".concat(null===this?"null":lr(this)));return t}}]),e}(iy);ry(uy.prototype,"abort");var cy=new Gr;Oo(uy.prototype,{aborted:{enumerable:!0}}),"function"==typeof Xr&&"symbol"===lr(Np)&&Eo(uy.prototype,Np,{configurable:!0,value:"AbortSignal"});var fy=function(){function t(){var n;Pt(this,t),sy.set(this,(n=uc(uy.prototype),iy.call(n),cy.set(n,!1),n))}return so(t,[{key:"abort",value:function(){var t;t=ly(this),!1===cy.get(t)&&(cy.set(t,!0),t.dispatchEvent({type:"abort"}))}},{key:"signal",get:function(){return ly(this)}}]),t}(),sy=new Gr;function ly(t){var n=sy.get(t);if(null==n)throw new TypeError("Expected 'this' to be an 'AbortController' object, but got ".concat(null===t?"null":lr(t)));return n}Oo(fy.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),"function"==typeof Xr&&"symbol"===lr(Np)&&Eo(fy.prototype,Np,{configurable:!0,value:"AbortController"});var hy="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0;function vy(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}return hy&&(void 0===hy.AbortController&&(hy.AbortController=fy),void 0===hy.AbortSignal&&(hy.AbortSignal=uy)),function(t){Ut(e,t);var n=vy(e);function e(t,r){return Pt(this,e),r.plugins=r.plugins||[Av,Xv,Pd,Xd],n.call(this,t,r)}return e}(Nh)}();
|
1 |
+
var EventCalendar=function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,n,e){return t(e={path:n,exports:{},require:function(t,n){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==n&&e.path)}},e.exports),e.exports}var e,r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!u.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:u},s=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},l={}.toString,h=function(t){return l.call(t).slice(8,-1)},v="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==h(t)?v.call(t,""):Object(t)}:Object,p=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},y=function(t){return d(p(t))},g=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,n){if(!g(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!g(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!g(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!g(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},$=o.document,S=g($)&&g($.createElement),x=function(t){return S?$.createElement(t):{}},k=!a&&!i((function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a})),A=Object.getOwnPropertyDescriptor,E={f:a?A:function(t,n){if(t=y(t),n=m(n,!0),k)try{return A(t,n)}catch(t){}if(w(t,n))return s(!f.f.call(t,n),t[n])}},T=/#|\.prototype\./,O=function(t,n){var e=_[j(t)];return e==P||e!=D&&("function"==typeof n?i(n):!!n)},j=O.normalize=function(t){return String(t).replace(T,".").toLowerCase()},_=O.data={},D=O.NATIVE="N",P=O.POLYFILL="P",M=O,R={},C=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},L=function(t,n,e){if(C(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}},I=function(t){if(!g(t))throw TypeError(String(t)+" is not an object");return t},B=Object.defineProperty,F={f:a?B:function(t,n,e){if(I(t),n=m(n,!0),I(e),k)try{return B(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},U=a?function(t,n,e){return F.f(t,n,s(1,e))}:function(t,n,e){return t[n]=e,t},N=E.f,q=function(t){var n=function(n,e,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,e)}return new t(n,e,r)}return t.apply(this,arguments)};return n.prototype=t.prototype,n},z=function(t,n){var e,r,i,a,u,c,f,s,l=t.target,h=t.global,v=t.stat,d=t.proto,p=h?o:v?o[l]:(o[l]||{}).prototype,y=h?R:R[l]||(R[l]={}),g=y.prototype;for(i in n)e=!M(h?i:l+(v?".":"#")+i,t.forced)&&p&&w(p,i),u=y[i],e&&(c=t.noTargetGet?(s=N(p,i))&&s.value:p[i]),a=e&&c?c:n[i],e&&typeof u==typeof a||(f=t.bind&&e?L(a,o):t.wrap&&e?q(a):d&&"function"==typeof a?L(Function.call,a):a,(t.sham||a&&a.sham||u&&u.sham)&&U(f,"sham",!0),y[i]=f,d&&(w(R,r=l+"Prototype")||U(R,r,{}),R[r][i]=a,t.real&&g&&!g[i]&&U(g,i,a)))},G=function(t){return"function"==typeof t?t:void 0},H=function(t,n){return arguments.length<2?G(R[t])||G(o[t]):R[t]&&R[t][n]||o[t]&&o[t][n]},W=Math.ceil,V=Math.floor,J=function(t){return isNaN(t=+t)?0:(t>0?V:W)(t)},Y=Math.min,X=function(t){return t>0?Y(J(t),9007199254740991):0},K=Math.max,Q=Math.min,Z=function(t,n){var e=J(t);return e<0?K(e+n,0):Q(e,n)},tt=function(t){return function(n,e,r){var o,i=y(n),a=X(i.length),u=Z(r,a);if(t&&e!=e){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===e)return t||u||0;return!t&&-1}},nt={includes:tt(!0),indexOf:tt(!1)},et={},rt=nt.indexOf,ot=function(t,n){var e,r=y(t),o=0,i=[];for(e in r)!w(et,e)&&w(r,e)&&i.push(e);for(;n.length>o;)w(r,e=n[o++])&&(~rt(i,e)||i.push(e));return i},it=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],at=Object.keys||function(t){return ot(t,it)},ut=a?Object.defineProperties:function(t,n){I(t);for(var e,r=at(n),o=r.length,i=0;o>i;)F.f(t,e=r[i++],n[e]);return t},ct=H("document","documentElement"),ft=!0,st="__core-js_shared__",lt=o[st]||function(t,n){try{U(o,t,n)}catch(e){o[t]=n}return n}(st,{}),ht=n((function(t){(t.exports=function(t,n){return lt[t]||(lt[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.4",mode:"pure",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),vt=0,dt=Math.random(),pt=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++vt+dt).toString(36)},yt=ht("keys"),gt=function(t){return yt[t]||(yt[t]=pt(t))},mt=gt("IE_PROTO"),bt=function(){},wt=function(t){return"<script>"+t+"</"+"script>"},$t=function(){try{e=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;$t=e?function(t){t.write(wt("")),t.close();var n=t.parentWindow.Object;return t=null,n}(e):((n=x("iframe")).style.display="none",ct.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(wt("document.F=Object")),t.close(),t.F);for(var r=it.length;r--;)delete $t.prototype[it[r]];return $t()};et[mt]=!0;var St=Object.create||function(t,n){var e;return null!==t?(bt.prototype=I(t),e=new bt,bt.prototype=null,e[mt]=t):e=$t(),void 0===n?e:ut(e,n)},xt=[].slice,kt={},At=function(t,n,e){if(!(n in kt)){for(var r=[],o=0;o<n;o++)r[o]="a["+o+"]";kt[n]=Function("C,a","return new C("+r.join(",")+")")}return kt[n](t,e)},Et=Function.bind||function(t){var n=C(this),e=xt.call(arguments,1),r=function(){var o=e.concat(xt.call(arguments));return this instanceof r?At(n,o.length,o):n.apply(t,o)};return g(n.prototype)&&(r.prototype=n.prototype),r},Tt=H("Reflect","construct"),Ot=i((function(){function t(){}return!(Tt((function(){}),[],t)instanceof t)})),jt=!i((function(){Tt((function(){}))})),_t=Ot||jt;z({target:"Reflect",stat:!0,forced:_t,sham:_t},{construct:function(t,n){C(t),I(n);var e=arguments.length<3?t:C(arguments[2]);if(jt&&!Ot)return Tt(t,n,e);if(t==e){switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3])}var r=[null];return r.push.apply(r,n),new(Et.apply(t,r))}var o=e.prototype,i=St(g(o)?o:Object.prototype),a=Function.apply.call(t,i,n);return g(a)?a:i}});var Dt=R.Reflect.construct;function Pt(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}z({target:"Object",stat:!0,sham:!a},{create:St});var Mt=R.Object,Rt=function(t,n){return Mt.create(t,n)},Ct=Rt,Lt=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,r){return I(e),function(t){if(!g(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(r),n?t.call(e,r):e.__proto__=r,e}}():void 0);z({target:"Object",stat:!0},{setPrototypeOf:Lt});var It=R.Object.setPrototypeOf,Bt=It;function Ft(t,n){return(Ft=Bt||function(t,n){return t.__proto__=n,t})(t,n)}function Ut(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Ct(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&Ft(t,n)}var Nt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),qt=Nt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,zt=ht("wks"),Gt=o.Symbol,Ht=qt?Gt:Gt&&Gt.withoutSetter||pt,Wt=function(t){return w(zt,t)||(Nt&&w(Gt,t)?zt[t]=Gt[t]:zt[t]=Ht("Symbol."+t)),zt[t]},Vt={f:Wt},Jt=F.f,Yt=function(t){var n=R.Symbol||(R.Symbol={});w(n,t)||Jt(n,t,{value:Vt.f(t)})};Yt("iterator");var Xt=function(t){return function(n,e){var r,o,i=String(p(n)),a=J(e),u=i.length;return a<0||a>=u?t?"":void 0:(r=i.charCodeAt(a))<55296||r>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536}},Kt={codeAt:Xt(!1),charAt:Xt(!0)},Qt=Function.toString;"function"!=typeof lt.inspectSource&&(lt.inspectSource=function(t){return Qt.call(t)});var Zt,tn,nn,en=lt.inspectSource,rn=o.WeakMap,on="function"==typeof rn&&/native code/.test(en(rn)),an=o.WeakMap;if(on){var un=new an,cn=un.get,fn=un.has,sn=un.set;Zt=function(t,n){return sn.call(un,t,n),n},tn=function(t){return cn.call(un,t)||{}},nn=function(t){return fn.call(un,t)}}else{var ln=gt("state");et[ln]=!0,Zt=function(t,n){return U(t,ln,n),n},tn=function(t){return w(t,ln)?t[ln]:{}},nn=function(t){return w(t,ln)}}var hn,vn,dn,pn={set:Zt,get:tn,has:nn,enforce:function(t){return nn(t)?tn(t):Zt(t,{})},getterFor:function(t){return function(n){var e;if(!g(n)||(e=tn(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},yn=function(t){return Object(p(t))},gn=!i((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),mn=gt("IE_PROTO"),bn=Object.prototype,wn=gn?Object.getPrototypeOf:function(t){return t=yn(t),w(t,mn)?t[mn]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?bn:null},$n=(Wt("iterator"),!1);[].keys&&("next"in(dn=[].keys())?(vn=wn(wn(dn)))!==Object.prototype&&(hn=vn):$n=!0),null==hn&&(hn={});var Sn={IteratorPrototype:hn,BUGGY_SAFARI_ITERATORS:$n},xn={};xn[Wt("toStringTag")]="z";var kn="[object z]"===String(xn),An=Wt("toStringTag"),En="Arguments"==h(function(){return arguments}()),Tn=kn?h:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),An))?e:En?h(n):"Object"==(r=h(n))&&"function"==typeof n.callee?"Arguments":r},On=kn?{}.toString:function(){return"[object "+Tn(this)+"]"},jn=F.f,_n=Wt("toStringTag"),Dn=function(t,n,e,r){if(t){var o=e?t:t.prototype;w(o,_n)||jn(o,_n,{configurable:!0,value:n}),r&&!kn&&U(o,"toString",On)}},Pn={},Mn=Sn.IteratorPrototype,Rn=function(){return this},Cn=function(t,n,e){var r=n+" Iterator";return t.prototype=St(Mn,{next:s(1,e)}),Dn(t,r,!1,!0),Pn[r]=Rn,t},Ln=function(t,n,e,r){r&&r.enumerable?t[n]=e:U(t,n,e)},In=Sn.IteratorPrototype,Bn=Sn.BUGGY_SAFARI_ITERATORS,Fn=Wt("iterator"),Un="keys",Nn="values",qn="entries",zn=function(){return this},Gn=function(t,n,e,r,o,i,a){Cn(e,n,r);var u,c,f,s=function(t){if(t===o&&p)return p;if(!Bn&&t in v)return v[t];switch(t){case Un:case Nn:case qn:return function(){return new e(this,t)}}return function(){return new e(this)}},l=n+" Iterator",h=!1,v=t.prototype,d=v[Fn]||v["@@iterator"]||o&&v[o],p=!Bn&&d||s(o),y="Array"==n&&v.entries||d;if(y&&(u=wn(y.call(new t)),In!==Object.prototype&&u.next&&(Dn(u,l,!0,!0),Pn[l]=zn)),o==Nn&&d&&d.name!==Nn&&(h=!0,p=function(){return d.call(this)}),a&&v[Fn]!==p&&U(v,Fn,p),Pn[n]=p,o)if(c={values:s(Nn),keys:i?p:s(Un),entries:s(qn)},a)for(f in c)(Bn||h||!(f in v))&&Ln(v,f,c[f]);else z({target:n,proto:!0,forced:Bn||h},c);return c},Hn=Kt.charAt,Wn="String Iterator",Vn=pn.set,Jn=pn.getterFor(Wn);Gn(String,"String",(function(t){Vn(this,{type:Wn,string:String(t),index:0})}),(function(){var t,n=Jn(this),e=n.string,r=n.index;return r>=e.length?{value:void 0,done:!0}:(t=Hn(e,r),n.index+=t.length,{value:t,done:!1})}));var Yn="Array Iterator",Xn=pn.set,Kn=pn.getterFor(Yn);Gn(Array,"Array",(function(t,n){Xn(this,{type:Yn,target:y(t),index:0,kind:n})}),(function(){var t=Kn(this),n=t.target,e=t.kind,r=t.index++;return!n||r>=n.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==e?{value:r,done:!1}:"values"==e?{value:n[r],done:!1}:{value:[r,n[r]],done:!1}}),"values");Pn.Arguments=Pn.Array;var Qn=Wt("toStringTag");for(var Zn in{CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}){var te=o[Zn],ne=te&&te.prototype;ne&&Tn(ne)!==Qn&&U(ne,Qn,Zn),Pn[Zn]=Pn.Array}var ee,re,oe=Vt.f("iterator"),ie=oe,ae=Array.isArray||function(t){return"Array"==h(t)},ue=function(t,n,e){var r=m(n);r in t?F.f(t,r,s(0,e)):t[r]=e},ce=Wt("species"),fe=function(t,n){var e;return ae(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!ae(e.prototype)?g(e)&&null===(e=e[ce])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},se=H("navigator","userAgent")||"",le=o.process,he=le&&le.versions,ve=he&&he.v8;ve?re=(ee=ve.split("."))[0]+ee[1]:se&&(!(ee=se.match(/Edge\/(\d+)/))||ee[1]>=74)&&(ee=se.match(/Chrome\/(\d+)/))&&(re=ee[1]);var de=re&&+re,pe=Wt("species"),ye=function(t){return de>=51||!i((function(){var n=[];return(n.constructor={})[pe]=function(){return{foo:1}},1!==n[t](Boolean).foo}))},ge=Wt("isConcatSpreadable"),me=9007199254740991,be="Maximum allowed index exceeded",we=de>=51||!i((function(){var t=[];return t[ge]=!1,t.concat()[0]!==t})),$e=ye("concat"),Se=function(t){if(!g(t))return!1;var n=t[ge];return void 0!==n?!!n:ae(t)};z({target:"Array",proto:!0,forced:!we||!$e},{concat:function(t){var n,e,r,o,i,a=yn(this),u=fe(a,0),c=0;for(n=-1,r=arguments.length;n<r;n++)if(Se(i=-1===n?a:arguments[n])){if(c+(o=X(i.length))>me)throw TypeError(be);for(e=0;e<o;e++,c++)e in i&&ue(u,c,i[e])}else{if(c>=me)throw TypeError(be);ue(u,c++,i)}return u.length=c,u}});var xe=it.concat("length","prototype"),ke={f:Object.getOwnPropertyNames||function(t){return ot(t,xe)}},Ae=ke.f,Ee={}.toString,Te="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Oe={f:function(t){return Te&&"[object Window]"==Ee.call(t)?function(t){try{return Ae(t)}catch(t){return Te.slice()}}(t):Ae(y(t))}},je={f:Object.getOwnPropertySymbols},_e=[].push,De=function(t){var n=1==t,e=2==t,r=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,c,f,s){for(var l,h,v=yn(u),p=d(v),y=L(c,f,3),g=X(p.length),m=0,b=s||fe,w=n?b(u,g):e?b(u,0):void 0;g>m;m++)if((a||m in p)&&(h=y(l=p[m],m,v),t))if(n)w[m]=h;else if(h)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:_e.call(w,l)}else if(o)return!1;return i?-1:r||o?o:w}},Pe={forEach:De(0),map:De(1),filter:De(2),some:De(3),every:De(4),find:De(5),findIndex:De(6)},Me=Pe.forEach,Re=gt("hidden"),Ce="Symbol",Le=Wt("toPrimitive"),Ie=pn.set,Be=pn.getterFor(Ce),Fe=Object.prototype,Ue=o.Symbol,Ne=H("JSON","stringify"),qe=E.f,ze=F.f,Ge=Oe.f,He=f.f,We=ht("symbols"),Ve=ht("op-symbols"),Je=ht("string-to-symbol-registry"),Ye=ht("symbol-to-string-registry"),Xe=ht("wks"),Ke=o.QObject,Qe=!Ke||!Ke.prototype||!Ke.prototype.findChild,Ze=a&&i((function(){return 7!=St(ze({},"a",{get:function(){return ze(this,"a",{value:7}).a}})).a}))?function(t,n,e){var r=qe(Fe,n);r&&delete Fe[n],ze(t,n,e),r&&t!==Fe&&ze(Fe,n,r)}:ze,tr=function(t,n){var e=We[t]=St(Ue.prototype);return Ie(e,{type:Ce,tag:t,description:n}),a||(e.description=n),e},nr=qt?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof Ue},er=function(t,n,e){t===Fe&&er(Ve,n,e),I(t);var r=m(n,!0);return I(e),w(We,r)?(e.enumerable?(w(t,Re)&&t[Re][r]&&(t[Re][r]=!1),e=St(e,{enumerable:s(0,!1)})):(w(t,Re)||ze(t,Re,s(1,{})),t[Re][r]=!0),Ze(t,r,e)):ze(t,r,e)},rr=function(t,n){I(t);var e=y(n),r=at(e).concat(ur(e));return Me(r,(function(n){a&&!or.call(e,n)||er(t,n,e[n])})),t},or=function(t){var n=m(t,!0),e=He.call(this,n);return!(this===Fe&&w(We,n)&&!w(Ve,n))&&(!(e||!w(this,n)||!w(We,n)||w(this,Re)&&this[Re][n])||e)},ir=function(t,n){var e=y(t),r=m(n,!0);if(e!==Fe||!w(We,r)||w(Ve,r)){var o=qe(e,r);return!o||!w(We,r)||w(e,Re)&&e[Re][r]||(o.enumerable=!0),o}},ar=function(t){var n=Ge(y(t)),e=[];return Me(n,(function(t){w(We,t)||w(et,t)||e.push(t)})),e},ur=function(t){var n=t===Fe,e=Ge(n?Ve:y(t)),r=[];return Me(e,(function(t){!w(We,t)||n&&!w(Fe,t)||r.push(We[t])})),r};if(Nt||(Ln((Ue=function(){if(this instanceof Ue)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,n=pt(t),e=function(t){this===Fe&&e.call(Ve,t),w(this,Re)&&w(this[Re],n)&&(this[Re][n]=!1),Ze(this,n,s(1,t))};return a&&Qe&&Ze(Fe,n,{configurable:!0,set:e}),tr(n,t)}).prototype,"toString",(function(){return Be(this).tag})),Ln(Ue,"withoutSetter",(function(t){return tr(pt(t),t)})),f.f=or,F.f=er,E.f=ir,ke.f=Oe.f=ar,je.f=ur,Vt.f=function(t){return tr(Wt(t),t)},a&&ze(Ue.prototype,"description",{configurable:!0,get:function(){return Be(this).description}})),z({global:!0,wrap:!0,forced:!Nt,sham:!Nt},{Symbol:Ue}),Me(at(Xe),(function(t){Yt(t)})),z({target:Ce,stat:!0,forced:!Nt},{for:function(t){var n=String(t);if(w(Je,n))return Je[n];var e=Ue(n);return Je[n]=e,Ye[e]=n,e},keyFor:function(t){if(!nr(t))throw TypeError(t+" is not a symbol");if(w(Ye,t))return Ye[t]},useSetter:function(){Qe=!0},useSimple:function(){Qe=!1}}),z({target:"Object",stat:!0,forced:!Nt,sham:!a},{create:function(t,n){return void 0===n?St(t):rr(St(t),n)},defineProperty:er,defineProperties:rr,getOwnPropertyDescriptor:ir}),z({target:"Object",stat:!0,forced:!Nt},{getOwnPropertyNames:ar,getOwnPropertySymbols:ur}),z({target:"Object",stat:!0,forced:i((function(){je.f(1)}))},{getOwnPropertySymbols:function(t){return je.f(yn(t))}}),Ne){var cr=!Nt||i((function(){var t=Ue();return"[null]"!=Ne([t])||"{}"!=Ne({a:t})||"{}"!=Ne(Object(t))}));z({target:"JSON",stat:!0,forced:cr},{stringify:function(t,n,e){for(var r,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=n,(g(n)||void 0!==t)&&!nr(t))return ae(n)||(n=function(t,n){if("function"==typeof r&&(n=r.call(this,t,n)),!nr(n))return n}),o[1]=n,Ne.apply(null,o)}})}Ue.prototype[Le]||U(Ue.prototype,Le,Ue.prototype.valueOf),Dn(Ue,Ce),et[Re]=!0,Yt("asyncIterator"),Yt("hasInstance"),Yt("isConcatSpreadable"),Yt("match"),Yt("matchAll"),Yt("replace"),Yt("search"),Yt("species"),Yt("split"),Yt("toPrimitive"),Yt("toStringTag"),Yt("unscopables"),Dn(Math,"Math",!0),Dn(o.JSON,"JSON",!0);var fr=R.Symbol;Yt("asyncDispose"),Yt("dispose"),Yt("observable"),Yt("patternMatch"),Yt("replaceAll");var sr=fr;function lr(t){return(lr="function"==typeof sr&&"symbol"==typeof ie?function(t){return typeof t}:function(t){return t&&"function"==typeof sr&&t.constructor===sr&&t!==sr.prototype?"symbol":typeof t})(t)}function hr(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function vr(t,n){return!n||"object"!==lr(n)&&"function"!=typeof n?hr(t):n}var dr=i((function(){wn(1)}));z({target:"Object",stat:!0,forced:dr,sham:!gn},{getPrototypeOf:function(t){return wn(yn(t))}});var pr=R.Object.getPrototypeOf,yr=pr;function gr(t){return(gr=Bt?yr:function(t){return t.__proto__||yr(t)})(t)}var mr=function(t,n,e){for(var r in n)e&&e.unsafe&&t[r]?t[r]=n[r]:Ln(t,r,n[r],e);return t},br=!i((function(){return Object.isExtensible(Object.preventExtensions({}))})),wr=n((function(t){var n=F.f,e=pt("meta"),r=0,o=Object.isExtensible||function(){return!0},i=function(t){n(t,e,{value:{objectID:"O"+ ++r,weakData:{}}})},a=t.exports={REQUIRED:!1,fastKey:function(t,n){if(!g(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!w(t,e)){if(!o(t))return"F";if(!n)return"E";i(t)}return t[e].objectID},getWeakData:function(t,n){if(!w(t,e)){if(!o(t))return!0;if(!n)return!1;i(t)}return t[e].weakData},onFreeze:function(t){return br&&a.REQUIRED&&o(t)&&!w(t,e)&&i(t),t}};et[e]=!0})),$r=Wt("iterator"),Sr=Array.prototype,xr=function(t){return void 0!==t&&(Pn.Array===t||Sr[$r]===t)},kr=Wt("iterator"),Ar=function(t){if(null!=t)return t[kr]||t["@@iterator"]||Pn[Tn(t)]},Er=function(t,n,e,r){try{return r?n(I(e)[0],e[1]):n(e)}catch(n){var o=t.return;throw void 0!==o&&I(o.call(t)),n}},Tr=n((function(t){var n=function(t,n){this.stopped=t,this.result=n};(t.exports=function(t,e,r,o,i){var a,u,c,f,s,l,h,v=L(e,r,o?2:1);if(i)a=t;else{if("function"!=typeof(u=Ar(t)))throw TypeError("Target is not iterable");if(xr(u)){for(c=0,f=X(t.length);f>c;c++)if((s=o?v(I(h=t[c])[0],h[1]):v(t[c]))&&s instanceof n)return s;return new n(!1)}a=u.call(t)}for(l=a.next;!(h=l.call(a)).done;)if("object"==typeof(s=Er(a,v,h.value,o))&&s&&s instanceof n)return s;return new n(!1)}).stop=function(t){return new n(!0,t)}})),Or=function(t,n,e){if(!(t instanceof n))throw TypeError("Incorrect "+(e?e+" ":"")+"invocation");return t},jr=F.f,_r=Pe.forEach,Dr=pn.set,Pr=pn.getterFor,Mr=function(t,n,e){var r,u=-1!==t.indexOf("Map"),c=-1!==t.indexOf("Weak"),f=u?"set":"add",s=o[t],l=s&&s.prototype,h={};if(a&&"function"==typeof s&&(c||l.forEach&&!i((function(){(new s).entries().next()})))){r=n((function(n,e){Dr(Or(n,r,t),{type:t,collection:new s}),null!=e&&Tr(e,n[f],n,u)}));var v=Pr(t);_r(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(t){var n="add"==t||"set"==t;!(t in l)||c&&"clear"==t||U(r.prototype,t,(function(e,r){var o=v(this).collection;if(!n&&c&&!g(e))return"get"==t&&void 0;var i=o[t](0===e?0:e,r);return n?this:i}))})),c||jr(r.prototype,"size",{configurable:!0,get:function(){return v(this).collection.size}})}else r=e.getConstructor(n,t,u,f),wr.REQUIRED=!0;return Dn(r,t,!1,!0),h[t]=r,z({global:!0,forced:!0},h),c||e.setStrong(r,t,u),r},Rr=wr.getWeakData,Cr=pn.set,Lr=pn.getterFor,Ir=Pe.find,Br=Pe.findIndex,Fr=0,Ur=function(t){return t.frozen||(t.frozen=new Nr)},Nr=function(){this.entries=[]},qr=function(t,n){return Ir(t.entries,(function(t){return t[0]===n}))};Nr.prototype={get:function(t){var n=qr(this,t);if(n)return n[1]},has:function(t){return!!qr(this,t)},set:function(t,n){var e=qr(this,t);e?e[1]=n:this.entries.push([t,n])},delete:function(t){var n=Br(this.entries,(function(n){return n[0]===t}));return~n&&this.entries.splice(n,1),!!~n}};var zr={getConstructor:function(t,n,e,r){var o=t((function(t,i){Or(t,o,n),Cr(t,{type:n,id:Fr++,frozen:void 0}),null!=i&&Tr(i,t[r],t,e)})),i=Lr(n),a=function(t,n,e){var r=i(t),o=Rr(I(n),!0);return!0===o?Ur(r).set(n,e):o[r.id]=e,t};return mr(o.prototype,{delete:function(t){var n=i(this);if(!g(t))return!1;var e=Rr(t);return!0===e?Ur(n).delete(t):e&&w(e,n.id)&&delete e[n.id]},has:function(t){var n=i(this);if(!g(t))return!1;var e=Rr(t);return!0===e?Ur(n).has(t):e&&w(e,n.id)}}),mr(o.prototype,e?{get:function(t){var n=i(this);if(g(t)){var e=Rr(t);return!0===e?Ur(n).get(t):e?e[n.id]:void 0}},set:function(t,n){return a(this,t,n)}}:{add:function(t){return a(this,t,!0)}}),o}},Gr=(n((function(t){var n,e=pn.enforce,r=!o.ActiveXObject&&"ActiveXObject"in o,i=Object.isExtensible,a=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},u=t.exports=Mr("WeakMap",a,zr);if(on&&r){n=zr.getConstructor(a,"WeakMap",!0),wr.REQUIRED=!0;var c=u.prototype,f=c.delete,s=c.has,l=c.get,h=c.set;mr(c,{delete:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),f.call(this,t)||r.frozen.delete(t)}return f.call(this,t)},has:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),s.call(this,t)||r.frozen.has(t)}return s.call(this,t)},get:function(t){if(g(t)&&!i(t)){var r=e(this);return r.frozen||(r.frozen=new n),s.call(this,t)?l.call(this,t):r.frozen.get(t)}return l.call(this,t)},set:function(t,r){if(g(t)&&!i(t)){var o=e(this);o.frozen||(o.frozen=new n),s.call(this,t)?h.call(this,t,r):o.frozen.set(t,r)}else h.call(this,t,r);return this}})}})),R.WeakMap),Hr=function(t){var n=Ar(t);if("function"!=typeof n)throw TypeError(String(t)+" is not iterable");return I(n.call(t))},Wr=Hr;z({target:"Array",stat:!0},{isArray:ae});var Vr=R.Array.isArray,Jr=Vr,Yr=Ar,Xr=fr,Kr=function(t){var n,e,r,o,i,a,u=yn(t),c="function"==typeof this?this:Array,f=arguments.length,s=f>1?arguments[1]:void 0,l=void 0!==s,h=Ar(u),v=0;if(l&&(s=L(s,f>2?arguments[2]:void 0,2)),null==h||c==Array&&xr(h))for(e=new c(n=X(u.length));n>v;v++)a=l?s(u[v],v):u[v],ue(e,v,a);else for(i=(o=h.call(u)).next,e=new c;!(r=i.call(o)).done;v++)a=l?Er(o,s,[r.value,v],!0):r.value,ue(e,v,a);return e.length=v,e},Qr=Wt("iterator"),Zr=!1;try{var to=0,no={next:function(){return{done:!!to++}},return:function(){Zr=!0}};no[Qr]=function(){return this},Array.from(no,(function(){throw 2}))}catch(t){}var eo=function(t,n){if(!n&&!Zr)return!1;var e=!1;try{var r={};r[Qr]=function(){return{next:function(){return{done:e=!0}}}},t(r)}catch(t){}return e},ro=!eo((function(t){Array.from(t)}));z({target:"Array",stat:!0,forced:ro},{from:Kr});var oo=R.Array.from,io=oo;function ao(t,n){var e=n.get(t);if(!e)throw new TypeError("attempted to get private field on non-instance");return e.get?e.get.call(t):e.value}z({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperty:F.f});var uo=n((function(t){var n=R.Object,e=t.exports=function(t,e,r){return n.defineProperty(t,e,r)};n.defineProperty.sham&&(e.sham=!0)})),co=uo;function fo(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),co(t,r.key,r)}}function so(t,n,e){return n&&fo(t.prototype,n),e&&fo(t,e),t}var lo=Object.defineProperty,ho={},vo=function(t){throw t},po=function(t,n){if(w(ho,t))return ho[t];n||(n={});var e=[][t],r=!!w(n,"ACCESSORS")&&n.ACCESSORS,o=w(n,0)?n[0]:vo,u=w(n,1)?n[1]:void 0;return ho[t]=!!e&&!i((function(){if(r&&!a)return!0;var t={length:-1};r?lo(t,1,{enumerable:!0,get:vo}):t[1]=1,e.call(t,o,u)}))},yo=ye("slice"),go=po("slice",{ACCESSORS:!0,0:0,1:2}),mo=Wt("species"),bo=[].slice,wo=Math.max;z({target:"Array",proto:!0,forced:!yo||!go},{slice:function(t,n){var e,r,o,i=y(this),a=X(i.length),u=Z(t,a),c=Z(void 0===n?a:n,a);if(ae(i)&&("function"!=typeof(e=i.constructor)||e!==Array&&!ae(e.prototype)?g(e)&&null===(e=e[mo])&&(e=void 0):e=void 0,e===Array||void 0===e))return bo.call(i,u,c);for(r=new(void 0===e?Array:e)(wo(c-u,0)),o=0;u<c;u++,o++)u in i&&ue(r,o,i[u]);return r.length=o,r}});var $o=function(t){return R[t+"Prototype"]},So=$o("Array").slice,xo=Array.prototype,ko=function(t){var n=t.slice;return t===xo||t instanceof Array&&n===xo.slice?So:n},Ao=ko,Eo=uo;z({target:"Object",stat:!0,forced:!a,sham:!a},{defineProperties:ut});var To=n((function(t){var n=R.Object,e=t.exports=function(t,e){return n.defineProperties(t,e)};n.defineProperties.sham&&(e.sham=!0)})),Oo=H("Reflect","ownKeys")||function(t){var n=ke.f(I(t)),e=je.f;return e?n.concat(e(t)):n};z({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(t){for(var n,e,r=y(t),o=E.f,i=Oo(r),a={},u=0;i.length>u;)void 0!==(e=o(r,n=i[u++]))&&ue(a,n,e);return a}});var jo=R.Object.getOwnPropertyDescriptors,_o=function(t,n){var e=[][t];return!!e&&i((function(){e.call(null,n||function(){throw 1},1)}))},Do=Pe.forEach,Po=_o("forEach"),Mo=po("forEach"),Ro=Po&&Mo?[].forEach:function(t){return Do(this,t,arguments.length>1?arguments[1]:void 0)};z({target:"Array",proto:!0,forced:[].forEach!=Ro},{forEach:Ro});var Co=$o("Array").forEach,Lo=Array.prototype,Io={DOMTokenList:!0,NodeList:!0},Bo=function(t){var n=t.forEach;return t===Lo||t instanceof Array&&n===Lo.forEach||Io.hasOwnProperty(Tn(t))?Co:n},Fo=E.f,Uo=i((function(){Fo(1)}));z({target:"Object",stat:!0,forced:!a||Uo,sham:!a},{getOwnPropertyDescriptor:function(t,n){return Fo(y(t),n)}});var No=n((function(t){var n=R.Object,e=t.exports=function(t,e){return n.getOwnPropertyDescriptor(t,e)};n.getOwnPropertyDescriptor.sham&&(e.sham=!0)})),qo=Pe.filter,zo=ye("filter"),Go=po("filter");z({target:"Array",proto:!0,forced:!zo||!Go},{filter:function(t){return qo(this,t,arguments.length>1?arguments[1]:void 0)}});var Ho=$o("Array").filter,Wo=Array.prototype,Vo=function(t){var n=t.filter;return t===Wo||t instanceof Array&&n===Wo.filter?Ho:n},Jo=R.Object.getOwnPropertySymbols,Yo=Jo;function Xo(t,n,e){return n in t?co(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}var Ko=nt.indexOf,Qo=[].indexOf,Zo=!!Qo&&1/[1].indexOf(1,-0)<0,ti=_o("indexOf"),ni=po("indexOf",{ACCESSORS:!0,1:0});z({target:"Array",proto:!0,forced:Zo||!ti||!ni},{indexOf:function(t){return Zo?Qo.apply(this,arguments)||0:Ko(this,t,arguments.length>1?arguments[1]:void 0)}});var ei=$o("Array").indexOf,ri=Array.prototype,oi=function(t){var n=t.indexOf;return t===ri||t instanceof Array&&n===ri.indexOf?ei:n},ii=oi,ai=Jo,ui=i((function(){at(1)}));z({target:"Object",stat:!0,forced:ui},{keys:function(t){return at(yn(t))}});var ci=R.Object.keys,fi=ci;function si(t,n){if(null==t)return{};var e,r,o=function(t,n){if(null==t)return{};var e,r,o={},i=fi(t);for(r=0;r<i.length;r++)e=i[r],ii(n).call(n,e)>=0||(o[e]=t[e]);return o}(t,n);if(ai){var i=ai(t);for(r=0;r<i.length;r++)e=i[r],ii(n).call(n,e)>=0||Object.prototype.propertyIsEnumerable.call(t,e)&&(o[e]=t[e])}return o}var li=ci,hi=$o("Array").keys,vi=Array.prototype,di={DOMTokenList:!0,NodeList:!0},pi=function(t){var n=t.keys;return t===vi||t instanceof Array&&n===vi.keys||di.hasOwnProperty(Tn(t))?hi:n},yi=$o("Array").concat,gi=Array.prototype,mi=function(t){var n=t.concat;return t===gi||t instanceof Array&&n===gi.concat?yi:n},bi=f.f,wi=function(t){return function(n){for(var e,r=y(n),o=at(r),i=o.length,u=0,c=[];i>u;)e=o[u++],a&&!bi.call(r,e)||c.push(t?[e,r[e]]:r[e]);return c}},$i={entries:wi(!0),values:wi(!1)}.entries;z({target:"Object",stat:!0},{entries:function(t){return $i(t)}});var Si=R.Object.entries,xi=nt.includes,ki=po("indexOf",{ACCESSORS:!0,1:0});z({target:"Array",proto:!0,forced:!ki},{includes:function(t){return xi(this,t,arguments.length>1?arguments[1]:void 0)}});var Ai=$o("Array").includes,Ei=Wt("match"),Ti=function(t){if(function(t){var n;return g(t)&&(void 0!==(n=t[Ei])?!!n:"RegExp"==h(t))}(t))throw TypeError("The method doesn't accept regular expressions");return t},Oi=Wt("match");z({target:"String",proto:!0,forced:!function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[Oi]=!1,"/./"[t](n)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~String(p(this)).indexOf(Ti(t),arguments.length>1?arguments[1]:void 0)}});var ji=$o("String").includes,_i=Array.prototype,Di=String.prototype,Pi=function(t){var n=t.includes;return t===_i||t instanceof Array&&n===_i.includes?Ai:"string"==typeof t||t===Di||t instanceof String&&n===Di.includes?ji:n},Mi=Vr;var Ri=Wt("iterator"),Ci=function(t){var n=Object(t);return void 0!==n[Ri]||"@@iterator"in n||Pn.hasOwnProperty(Tn(n))};var Li=oo,Ii=ko;function Bi(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Fi(t,n){var e;if(t){if("string"==typeof t)return Bi(t,n);var r=Ii(e=Object.prototype.toString.call(t)).call(e,8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Li(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Bi(t,n):void 0}}function Ui(t,n){return function(t){if(Mi(t))return t}(t)||function(t,n){if(void 0!==sr&&Ci(Object(t))){var e=[],r=!0,o=!1,i=void 0;try{for(var a,u=Wr(t);!(r=(a=u.next()).done)&&(e.push(a.value),!n||e.length!==n);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return e}}(t,n)||Fi(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Ni=Pe.map,qi=ye("map"),zi=po("map");z({target:"Array",proto:!0,forced:!qi||!zi},{map:function(t){return Ni(this,t,arguments.length>1?arguments[1]:void 0)}});var Gi=$o("Array").map,Hi=Array.prototype,Wi=function(t){var n=t.map;return t===Hi||t instanceof Array&&n===Hi.map?Gi:n},Vi=Wt("species"),Ji=function(t){var n=H(t),e=F.f;a&&n&&!n[Vi]&&e(n,Vi,{configurable:!0,get:function(){return this}})},Yi=F.f,Xi=wr.fastKey,Ki=pn.set,Qi=pn.getterFor,Zi={getConstructor:function(t,n,e,r){var o=t((function(t,i){Or(t,o,n),Ki(t,{type:n,index:St(null),first:void 0,last:void 0,size:0}),a||(t.size=0),null!=i&&Tr(i,t[r],t,e)})),i=Qi(n),u=function(t,n,e){var r,o,u=i(t),f=c(t,n);return f?f.value=e:(u.last=f={index:o=Xi(n,!0),key:n,value:e,previous:r=u.last,next:void 0,removed:!1},u.first||(u.first=f),r&&(r.next=f),a?u.size++:t.size++,"F"!==o&&(u.index[o]=f)),t},c=function(t,n){var e,r=i(t),o=Xi(n);if("F"!==o)return r.index[o];for(e=r.first;e;e=e.next)if(e.key==n)return e};return mr(o.prototype,{clear:function(){for(var t=i(this),n=t.index,e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=void 0),delete n[e.index],e=e.next;t.first=t.last=void 0,a?t.size=0:this.size=0},delete:function(t){var n=this,e=i(n),r=c(n,t);if(r){var o=r.next,u=r.previous;delete e.index[r.index],r.removed=!0,u&&(u.next=o),o&&(o.previous=u),e.first==r&&(e.first=o),e.last==r&&(e.last=u),a?e.size--:n.size--}return!!r},forEach:function(t){for(var n,e=i(this),r=L(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.next:e.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(t){return!!c(this,t)}}),mr(o.prototype,e?{get:function(t){var n=c(this,t);return n&&n.value},set:function(t,n){return u(this,0===t?0:t,n)}}:{add:function(t){return u(this,t=0===t?0:t,t)}}),a&&Yi(o.prototype,"size",{get:function(){return i(this).size}}),o},setStrong:function(t,n,e){var r=n+" Iterator",o=Qi(n),i=Qi(r);Gn(t,n,(function(t,n){Ki(this,{type:r,target:t,state:o(t),kind:n,last:void 0})}),(function(){for(var t=i(this),n=t.kind,e=t.last;e&&e.removed;)e=e.previous;return t.target&&(t.last=e=e?e.next:t.state.first)?"keys"==n?{value:e.key,done:!1}:"values"==n?{value:e.value,done:!1}:{value:[e.key,e.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),e?"entries":"values",!e,!0),Ji(n)}},ta=(Mr("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Zi),R.Set);function na(t){return function(t){if(Mi(t))return Bi(t)}(t)||function(t){if(void 0!==sr&&Ci(Object(t)))return Li(t)}(t)||Fi(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}z({target:"Reflect",stat:!0},{get:function t(n,e){var r,o,i=arguments.length<3?n:arguments[2];return I(n)===i?n[e]:(r=E.f(n,e))?w(r,"value")?r.value:void 0===r.get?void 0:r.get.call(i):g(o=wn(n))?t(o,e,i):void 0}});R.Reflect.get,Mr("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Zi);var ea=R.Map;z({target:"Map",stat:!0},{from:function(t){var n,e,r,o,i=arguments.length,a=i>1?arguments[1]:void 0;return C(this),(n=void 0!==a)&&C(a),null==t?new this:(e=[],n?(r=0,o=L(a,i>2?arguments[2]:void 0,2),Tr(t,(function(t){e.push(o(t,r++))}))):Tr(t,e.push,e),new this(e))}});z({target:"Map",stat:!0},{of:function(){for(var t=arguments.length,n=new Array(t);t--;)n[t]=arguments[t];return new this(n)}});var ra=function(){for(var t,n=I(this),e=C(n.delete),r=!0,o=0,i=arguments.length;o<i;o++)t=e.call(n,arguments[o]),r=r&&t;return!!r};z({target:"Map",proto:!0,real:!0,forced:ft},{deleteAll:function(){return ra.apply(this,arguments)}});var oa=Hr;z({target:"Map",proto:!0,real:!0,forced:ft},{every:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return!Tr(e,(function(t,e){if(!r(e,t,n))return Tr.stop()}),void 0,!0,!0).stopped}});var ia=Wt("species"),aa=function(t,n){var e,r=I(t).constructor;return void 0===r||null==(e=I(r)[ia])?n:C(e)};z({target:"Map",proto:!0,real:!0,forced:ft},{filter:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=C(o.set);return Tr(e,(function(t,e){r(e,t,n)&&i.call(o,t,e)}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{find:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Tr(e,(function(t,e){if(r(e,t,n))return Tr.stop(e)}),void 0,!0,!0).result}}),z({target:"Map",proto:!0,real:!0,forced:ft},{findKey:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Tr(e,(function(t,e){if(r(e,t,n))return Tr.stop(t)}),void 0,!0,!0).result}}),z({target:"Map",stat:!0},{groupBy:function(t,n){var e=new this;C(n);var r=C(e.has),o=C(e.get),i=C(e.set);return Tr(t,(function(t){var a=n(t);r.call(e,a)?o.call(e,a).push(t):i.call(e,a,[t])})),e}});z({target:"Map",proto:!0,real:!0,forced:ft},{includes:function(t){return Tr(oa(I(this)),(function(n,e){if((r=e)===(o=t)||r!=r&&o!=o)return Tr.stop();var r,o}),void 0,!0,!0).stopped}}),z({target:"Map",stat:!0},{keyBy:function(t,n){var e=new this;C(n);var r=C(e.set);return Tr(t,(function(t){r.call(e,n(t),t)})),e}}),z({target:"Map",proto:!0,real:!0,forced:ft},{keyOf:function(t){return Tr(oa(I(this)),(function(n,e){if(e===t)return Tr.stop(n)}),void 0,!0,!0).result}}),z({target:"Map",proto:!0,real:!0,forced:ft},{mapKeys:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=C(o.set);return Tr(e,(function(t,e){i.call(o,r(e,t,n),e)}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{mapValues:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3),o=new(aa(n,H("Map"))),i=C(o.set);return Tr(e,(function(t,e){i.call(o,t,r(e,t,n))}),void 0,!0,!0),o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{merge:function(t){for(var n=I(this),e=C(n.set),r=0;r<arguments.length;)Tr(arguments[r++],e,n,!0);return n}}),z({target:"Map",proto:!0,real:!0,forced:ft},{reduce:function(t){var n=I(this),e=oa(n),r=arguments.length<2,o=r?void 0:arguments[1];if(C(t),Tr(e,(function(e,i){r?(r=!1,o=i):o=t(o,i,e,n)}),void 0,!0,!0),r)throw TypeError("Reduce of empty map with no initial value");return o}}),z({target:"Map",proto:!0,real:!0,forced:ft},{some:function(t){var n=I(this),e=oa(n),r=L(t,arguments.length>1?arguments[1]:void 0,3);return Tr(e,(function(t,e){if(r(e,t,n))return Tr.stop()}),void 0,!0,!0).stopped}}),z({target:"Map",proto:!0,real:!0,forced:ft},{update:function(t,n){var e=I(this),r=arguments.length;C(n);var o=e.has(t);if(!o&&r<3)throw TypeError("Updating absent value");var i=o?e.get(t):C(r>2?arguments[2]:void 0)(t,e);return e.set(t,n(i,t,e)),e}});var ua=function(t,n){var e,r=I(this),o=arguments.length>2?arguments[2]:void 0;if("function"!=typeof n&&"function"!=typeof o)throw TypeError("At least one callback required");return r.has(t)?(e=r.get(t),"function"==typeof n&&(e=n(e),r.set(t,e))):"function"==typeof o&&(e=o(),r.set(t,e)),e};z({target:"Map",proto:!0,real:!0,forced:ft},{upsert:ua}),z({target:"Map",proto:!0,real:!0,forced:ft},{updateOrInsert:ua}),z({target:"Function",proto:!0},{bind:Et});$o("Function").bind;z({target:"Array",proto:!0},{fill:function(t){for(var n=yn(this),e=X(n.length),r=arguments.length,o=Z(r>1?arguments[1]:void 0,e),i=r>2?arguments[2]:void 0,a=void 0===i?e:Z(i,e);a>o;)n[o++]=t;return n}});var ca=$o("Array").fill,fa=Array.prototype,sa=function(t){var n=t.fill;return t===fa||t instanceof Array&&n===fa.fill?ca:n},la=H("JSON","stringify"),ha=/[\uD800-\uDFFF]/g,va=/^[\uD800-\uDBFF]$/,da=/^[\uDC00-\uDFFF]$/,pa=function(t,n,e){var r=e.charAt(n-1),o=e.charAt(n+1);return va.test(t)&&!da.test(o)||da.test(t)&&!va.test(r)?"\\u"+t.charCodeAt(0).toString(16):t},ya=i((function(){return'"\\udf06\\ud834"'!==la("\udf06\ud834")||'"\\udead"'!==la("\udead")}));la&&z({target:"JSON",stat:!0,forced:ya},{stringify:function(t,n,e){var r=la.apply(null,arguments);return"string"==typeof r?r.replace(ha,pa):r}}),R.JSON||(R.JSON={stringify:JSON.stringify});var ga=Object.assign,ma=Object.defineProperty,ba=!ga||i((function(){if(a&&1!==ga({b:1},ga(ma({},"a",{enumerable:!0,get:function(){ma(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},n={},e=Symbol(),r="abcdefghijklmnopqrst";return t[e]=7,r.split("").forEach((function(t){n[t]=t})),7!=ga({},t)[e]||at(ga({},n)).join("")!=r}))?function(t,n){for(var e=yn(t),r=arguments.length,o=1,i=je.f,u=f.f;r>o;)for(var c,s=d(arguments[o++]),l=i?at(s).concat(i(s)):at(s),h=l.length,v=0;h>v;)c=l[v++],a&&!u.call(s,c)||(e[c]=s[c]);return e}:ga;z({target:"Object",stat:!0,forced:Object.assign!==ba},{assign:ba});var wa=R.Object.assign,$a=ea,Sa="\t\n\v\f\r \u2028\u2029\ufeff",xa="["+Sa+"]",ka=RegExp("^"+xa+xa+"*"),Aa=RegExp(xa+xa+"*$"),Ea=function(t){return function(n){var e=String(p(n));return 1&t&&(e=e.replace(ka,"")),2&t&&(e=e.replace(Aa,"")),e}},Ta={start:Ea(1),end:Ea(2),trim:Ea(3)},Oa=Ta.trim,ja=o.parseInt,_a=/^[+-]?0[Xx]/,Da=8!==ja(Sa+"08")||22!==ja(Sa+"0x16")?function(t,n){var e=Oa(String(t));return ja(e,n>>>0||(_a.test(e)?16:10))}:ja;z({global:!0,forced:parseInt!=Da},{parseInt:Da});var Pa=R.parseInt,Ma=ye("splice"),Ra=po("splice",{ACCESSORS:!0,0:0,1:2}),Ca=Math.max,La=Math.min,Ia=9007199254740991,Ba="Maximum allowed length exceeded";z({target:"Array",proto:!0,forced:!Ma||!Ra},{splice:function(t,n){var e,r,o,i,a,u,c=yn(this),f=X(c.length),s=Z(t,f),l=arguments.length;if(0===l?e=r=0:1===l?(e=0,r=f-s):(e=l-2,r=La(Ca(J(n),0),f-s)),f+e-r>Ia)throw TypeError(Ba);for(o=fe(c,r),i=0;i<r;i++)(a=s+i)in c&&ue(o,i,c[a]);if(o.length=r,e<r){for(i=s;i<f-r;i++)u=i+e,(a=i+r)in c?c[u]=c[a]:delete c[u];for(i=f;i>f-r+e;i--)delete c[i-1]}else if(e>r)for(i=f-r;i>s;i--)u=i+e-1,(a=i+r-1)in c?c[u]=c[a]:delete c[u];for(i=0;i<e;i++)c[i+s]=arguments[i+2];return c.length=f-r+e,o}});var Fa,Ua,Na,qa=$o("Array").splice,za=Array.prototype,Ga=function(t){var n=t.splice;return t===za||t instanceof Array&&n===za.splice?qa:n},Ha=oi,Wa=o.Promise,Va=/(iphone|ipod|ipad).*applewebkit/i.test(se),Ja=o.location,Ya=o.setImmediate,Xa=o.clearImmediate,Ka=o.process,Qa=o.MessageChannel,Za=o.Dispatch,tu=0,nu={},eu="onreadystatechange",ru=function(t){if(nu.hasOwnProperty(t)){var n=nu[t];delete nu[t],n()}},ou=function(t){return function(){ru(t)}},iu=function(t){ru(t.data)},au=function(t){o.postMessage(t+"",Ja.protocol+"//"+Ja.host)};Ya&&Xa||(Ya=function(t){for(var n=[],e=1;arguments.length>e;)n.push(arguments[e++]);return nu[++tu]=function(){("function"==typeof t?t:Function(t)).apply(void 0,n)},Fa(tu),tu},Xa=function(t){delete nu[t]},"process"==h(Ka)?Fa=function(t){Ka.nextTick(ou(t))}:Za&&Za.now?Fa=function(t){Za.now(ou(t))}:Qa&&!Va?(Na=(Ua=new Qa).port2,Ua.port1.onmessage=iu,Fa=L(Na.postMessage,Na,1)):!o.addEventListener||"function"!=typeof postMessage||o.importScripts||i(au)||"file:"===Ja.protocol?Fa=eu in x("script")?function(t){ct.appendChild(x("script")).onreadystatechange=function(){ct.removeChild(this),ru(t)}}:function(t){setTimeout(ou(t),0)}:(Fa=au,o.addEventListener("message",iu,!1)));var uu,cu,fu,su,lu,hu,vu,du,pu={set:Ya,clear:Xa},yu=E.f,gu=pu.set,mu=o.MutationObserver||o.WebKitMutationObserver,bu=o.process,wu=o.Promise,$u="process"==h(bu),Su=yu(o,"queueMicrotask"),xu=Su&&Su.value;xu||(uu=function(){var t,n;for($u&&(t=bu.domain)&&t.exit();cu;){n=cu.fn,cu=cu.next;try{n()}catch(t){throw cu?su():fu=void 0,t}}fu=void 0,t&&t.enter()},$u?su=function(){bu.nextTick(uu)}:mu&&!Va?(lu=!0,hu=document.createTextNode(""),new mu(uu).observe(hu,{characterData:!0}),su=function(){hu.data=lu=!lu}):wu&&wu.resolve?(vu=wu.resolve(void 0),du=vu.then,su=function(){du.call(vu,uu)}):su=function(){gu.call(o,uu)});var ku,Au,Eu,Tu=xu||function(t){var n={fn:t,next:void 0};fu&&(fu.next=n),cu||(cu=n,su()),fu=n},Ou=function(t){var n,e;this.promise=new t((function(t,r){if(void 0!==n||void 0!==e)throw TypeError("Bad Promise constructor");n=t,e=r})),this.resolve=C(n),this.reject=C(e)},ju={f:function(t){return new Ou(t)}},_u=function(t,n){if(I(t),g(n)&&n.constructor===t)return n;var e=ju.f(t);return(0,e.resolve)(n),e.promise},Du=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Pu=pu.set,Mu=Wt("species"),Ru="Promise",Cu=pn.get,Lu=pn.set,Iu=pn.getterFor(Ru),Bu=Wa,Fu=o.TypeError,Uu=o.document,Nu=o.process,qu=(H("fetch"),ju.f),zu=qu,Gu="process"==h(Nu),Hu=!!(Uu&&Uu.createEvent&&o.dispatchEvent),Wu="unhandledrejection",Vu=M(Ru,(function(){if(!(en(Bu)!==String(Bu))){if(66===de)return!0;if(!Gu&&"function"!=typeof PromiseRejectionEvent)return!0}if(!Bu.prototype.finally)return!0;if(de>=51&&/native code/.test(Bu))return!1;var t=Bu.resolve(1),n=function(t){t((function(){}),(function(){}))};return(t.constructor={})[Mu]=n,!(t.then((function(){}))instanceof n)})),Ju=Vu||!eo((function(t){Bu.all(t).catch((function(){}))})),Yu=function(t){var n;return!(!g(t)||"function"!=typeof(n=t.then))&&n},Xu=function(t,n,e){if(!n.notified){n.notified=!0;var r=n.reactions;Tu((function(){for(var o=n.value,i=1==n.state,a=0;r.length>a;){var u,c,f,s=r[a++],l=i?s.ok:s.fail,h=s.resolve,v=s.reject,d=s.domain;try{l?(i||(2===n.rejection&&tc(t,n),n.rejection=1),!0===l?u=o:(d&&d.enter(),u=l(o),d&&(d.exit(),f=!0)),u===s.promise?v(Fu("Promise-chain cycle")):(c=Yu(u))?c.call(u,h,v):h(u)):v(o)}catch(t){d&&!f&&d.exit(),v(t)}}n.reactions=[],n.notified=!1,e&&!n.rejection&&Qu(t,n)}))}},Ku=function(t,n,e){var r,i;Hu?((r=Uu.createEvent("Event")).promise=n,r.reason=e,r.initEvent(t,!1,!0),o.dispatchEvent(r)):r={promise:n,reason:e},(i=o["on"+t])?i(r):t===Wu&&function(t,n){var e=o.console;e&&e.error&&(1===arguments.length?e.error(t):e.error(t,n))}("Unhandled promise rejection",e)},Qu=function(t,n){Pu.call(o,(function(){var e,r=n.value;if(Zu(n)&&(e=Du((function(){Gu?Nu.emit("unhandledRejection",r,t):Ku(Wu,t,r)})),n.rejection=Gu||Zu(n)?2:1,e.error))throw e.value}))},Zu=function(t){return 1!==t.rejection&&!t.parent},tc=function(t,n){Pu.call(o,(function(){Gu?Nu.emit("rejectionHandled",t):Ku("rejectionhandled",t,n.value)}))},nc=function(t,n,e,r){return function(o){t(n,e,o,r)}},ec=function(t,n,e,r){n.done||(n.done=!0,r&&(n=r),n.value=e,n.state=2,Xu(t,n,!0))},rc=function(t,n,e,r){if(!n.done){n.done=!0,r&&(n=r);try{if(t===e)throw Fu("Promise can't be resolved itself");var o=Yu(e);o?Tu((function(){var r={done:!1};try{o.call(e,nc(rc,t,r,n),nc(ec,t,r,n))}catch(e){ec(t,r,e,n)}})):(n.value=e,n.state=1,Xu(t,n,!1))}catch(e){ec(t,{done:!1},e,n)}}};Vu&&(Bu=function(t){Or(this,Bu,Ru),C(t),ku.call(this);var n=Cu(this);try{t(nc(rc,this,n),nc(ec,this,n))}catch(t){ec(this,n,t)}},(ku=function(t){Lu(this,{type:Ru,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=mr(Bu.prototype,{then:function(t,n){var e=Iu(this),r=qu(aa(this,Bu));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=Gu?Nu.domain:void 0,e.parent=!0,e.reactions.push(r),0!=e.state&&Xu(this,e,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),Au=function(){var t=new ku,n=Cu(t);this.promise=t,this.resolve=nc(rc,t,n),this.reject=nc(ec,t,n)},ju.f=qu=function(t){return t===Bu||t===Eu?new Au(t):zu(t)}),z({global:!0,wrap:!0,forced:Vu},{Promise:Bu}),Dn(Bu,Ru,!1,!0),Ji(Ru),Eu=H(Ru),z({target:Ru,stat:!0,forced:Vu},{reject:function(t){var n=qu(this);return n.reject.call(void 0,t),n.promise}}),z({target:Ru,stat:!0,forced:ft},{resolve:function(t){return _u(this===Eu?Bu:this,t)}}),z({target:Ru,stat:!0,forced:Ju},{all:function(t){var n=this,e=qu(n),r=e.resolve,o=e.reject,i=Du((function(){var e=C(n.resolve),i=[],a=0,u=1;Tr(t,(function(t){var c=a++,f=!1;i.push(void 0),u++,e.call(n,t).then((function(t){f||(f=!0,i[c]=t,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),e.promise},race:function(t){var n=this,e=qu(n),r=e.reject,o=Du((function(){var o=C(n.resolve);Tr(t,(function(t){o.call(n,t).then(e.resolve,r)}))}));return o.error&&r(o.value),e.promise}}),z({target:"Promise",stat:!0},{allSettled:function(t){var n=this,e=ju.f(n),r=e.resolve,o=e.reject,i=Du((function(){var e=C(n.resolve),o=[],i=0,a=1;Tr(t,(function(t){var u=i++,c=!1;o.push(void 0),a++,e.call(n,t).then((function(t){c||(c=!0,o[u]={status:"fulfilled",value:t},--a||r(o))}),(function(t){c||(c=!0,o[u]={status:"rejected",reason:t},--a||r(o))}))})),--a||r(o)}));return i.error&&o(i.value),e.promise}});var oc=!!Wa&&i((function(){Wa.prototype.finally.call({then:function(){}},(function(){}))}));z({target:"Promise",proto:!0,real:!0,forced:oc},{finally:function(t){var n=aa(this,H("Promise")),e="function"==typeof t;return this.then(e?function(e){return _u(n,t()).then((function(){return e}))}:t,e?function(e){return _u(n,t()).then((function(){throw e}))}:t)}});var ic=R.Promise;z({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}});var ac=R.Date.now,uc=Rt;function cc(){}function fc(t){return t()}function sc(){return uc(null)}function lc(t){Bo(t).call(t,fc)}function hc(t){return"function"==typeof t}function vc(t,n){return t!=t?n==n:t!==n||t&&"object"===lr(t)||"function"==typeof t}function dc(t){if(null==t)return cc;for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];var o=t.subscribe.apply(t,e);return o.unsubscribe?function(){return o.unsubscribe()}:o}function pc(t){var n;return dc(t,(function(t){return n=t}))(),n}function yc(t,n,e){t.$$.on_destroy.push(dc(n,e))}function gc(t,n,e,r){if(t){var o=mc(t,n,e,r);return t[0](o)}}function mc(t,n,e,r){var o;return t[1]&&r?function(t,n){for(var e in n)t[e]=n[e];return t}(Ao(o=e.ctx).call(o),t[1](r(n))):e.ctx}function bc(t,n,e,r,o,i,a){var u=function(t,n,e,r){if(t[2]&&r){var o=t[2](r(e));if(void 0===n.dirty)return o;if("object"===lr(o)){for(var i=[],a=Math.max(n.dirty.length,o.length),u=0;u<a;u+=1)i[u]=n.dirty[u]|o[u];return i}return n.dirty|o}return n.dirty}(n,r,o,i);if(u){var c=mc(n,e,r,a);t.p(c,u)}}function wc(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n;return t.set(e),n}function $c(t){return t&&hc(t.destroy)?t.destroy:cc}new ta;function Sc(t,n){t.appendChild(n)}function xc(t,n,e){t.insertBefore(n,e||null)}function kc(t){t.parentNode.removeChild(t)}function Ac(t,n){for(var e=0;e<t.length;e+=1)t[e]&&t[e].d(n)}function Ec(t){return document.createElement(t)}function Tc(t){return document.createTextNode(t)}function Oc(){return Tc(" ")}function jc(){return Tc("")}function _c(t,n,e,r){return t.addEventListener(n,e,r),function(){return t.removeEventListener(n,e,r)}}function Dc(t,n,e){null==e?t.removeAttribute(n):t.getAttribute(n)!==e&&t.setAttribute(n,e)}function Pc(t){return io(t.childNodes)}function Mc(t,n){n=""+n,t.wholeText!==n&&(t.data=n)}function Rc(t,n,e,r){t.style.setProperty(n,e,r?"important":"")}var Cc;new ta;function Lc(t){Cc=t}function Ic(){if(!Cc)throw new Error("Function called outside component initialization");return Cc}function Bc(t){Ic().$$.on_mount.push(t)}function Fc(t,n){Ic().$$.context.set(t,n)}function Uc(t){return Ic().$$.context.get(t)}var Nc=[],qc=[],zc=[],Gc=[],Hc=ic.resolve(),Wc=!1;function Vc(){Wc||(Wc=!0,Hc.then(Qc))}function Jc(){return Vc(),Hc}function Yc(t){zc.push(t)}var Xc=!1,Kc=new ta;function Qc(){if(!Xc){Xc=!0;do{for(var t=0;t<Nc.length;t+=1){var n=Nc[t];Lc(n),Zc(n.$$)}for(Lc(null),Nc.length=0;qc.length;)qc.pop()();for(var e=0;e<zc.length;e+=1){var r=zc[e];Kc.has(r)||(Kc.add(r),r())}zc.length=0}while(Nc.length);for(;Gc.length;)Gc.pop()();Wc=!1,Xc=!1,Kc.clear()}}function Zc(t){if(null!==t.fragment){var n;t.update(),lc(t.before_update);var e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),Bo(n=t.after_update).call(n,Yc)}}var tf,nf=new ta;function ef(){tf={r:0,c:[],p:tf}}function rf(){tf.r||lc(tf.c),tf=tf.p}function of(t,n){t&&t.i&&(nf.delete(t),t.i(n))}function af(t,n,e,r){if(t&&t.o){if(nf.has(t))return;nf.add(t),tf.c.push((function(){nf.delete(t),r&&(e&&t.d(1),r())})),t.o(n)}}new ta(["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]);function uf(t){t&&t.c()}function cf(t,n,e){var r=t.$$,o=r.fragment,i=r.on_mount,a=r.on_destroy,u=r.after_update;o&&o.m(n,e),Yc((function(){var n,e=Vo(n=Wi(i).call(i,fc)).call(n,hc);a?a.push.apply(a,na(e)):lc(e),t.$$.on_mount=[]})),Bo(u).call(u,Yc)}function ff(t,n){var e=t.$$;null!==e.fragment&&(lc(e.on_destroy),e.fragment&&e.fragment.d(n),e.on_destroy=e.fragment=null,e.ctx=[])}function sf(t,n){var e;-1===t.$$.dirty[0]&&(Nc.push(t),Vc(),sa(e=t.$$.dirty).call(e,0));t.$$.dirty[n/31|0]|=1<<n%31}function lf(t,n,e,r,o,i){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:[-1],u=Cc;Lc(t);var c=n.props||{},f=t.$$={fragment:null,ctx:null,props:i,update:cc,not_equal:o,bound:sc(),on_mount:[],on_destroy:[],before_update:[],after_update:[],context:new $a(u?u.$$.context:[]),callbacks:sc(),dirty:a,skip_bound:!1},s=!1;if(f.ctx=e?e(t,c,(function(n,e){var r=!(arguments.length<=2)&&arguments.length-2?arguments.length<=2?void 0:arguments[2]:e;return f.ctx&&o(f.ctx[n],f.ctx[n]=r)&&(!f.skip_bound&&f.bound[n]&&f.bound[n](r),s&&sf(t,n)),e})):[],f.update(),s=!0,lc(f.before_update),f.fragment=!!r&&r(f.ctx),n.target){if(n.hydrate){var l=Pc(n.target);f.fragment&&f.fragment.l(l),Bo(l).call(l,kc)}else f.fragment&&f.fragment.c();n.intro&&of(t.$$.fragment),cf(t,n.target,n.anchor),Qc()}Lc(u)}var hf=function(){function t(){Pt(this,t)}return so(t,[{key:"$destroy",value:function(){ff(this,1),this.$destroy=cc}},{key:"$on",value:function(t,n){var e=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return e.push(n),function(){var t=Ha(e).call(e,n);-1!==t&&Ga(e).call(e,t,1)}}},{key:"$set",value:function(t){this.$$set&&0!==li(t).length&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}]),t}(),vf=[];function df(t){var n,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:cc,r=[];function o(e){if(vc(t,e)&&(t=e,n)){for(var o=!vf.length,i=0;i<r.length;i+=1){var a=r[i];a[1](),vf.push(a,t)}if(o){for(var u=0;u<vf.length;u+=2)vf[u][0](vf[u+1]);vf.length=0}}}function i(n){o(n(t))}function a(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:cc,u=[i,a];return r.push(u),1===r.length&&(n=e(o)||cc),i(t),function(){var t=Ha(r).call(r,u);-1!==t&&Ga(r).call(r,t,1),0===r.length&&(n(),n=null)}}return{set:o,update:i,subscribe:a}}function pf(t,n,e){var r=!Jr(t),o=r?[t]:t,i=n.length<2;return{subscribe:df(e,(function(t){var e=!1,a=[],u=0,c=cc,f=function(){if(!u){c();var e=n(r?a[0]:a,t);i?t(e):c=hc(e)?e:cc}},s=Wi(o).call(o,(function(t,n){return dc(t,(function(t){a[n]=t,u&=~(1<<n),e&&f()}),(function(){u|=1<<n}))}));return e=!0,f(),function(){lc(s),c()}})).subscribe}}var yf=[],gf=yf.sort,mf=i((function(){yf.sort(void 0)})),bf=i((function(){yf.sort(null)})),wf=_o("sort");z({target:"Array",proto:!0,forced:mf||!bf||!wf},{sort:function(t){return void 0===t?gf.call(yn(this)):gf.call(yn(this),C(t))}});var $f=$o("Array").sort,Sf=Array.prototype,xf=function(t){var n=t.sort;return t===Sf||t instanceof Array&&n===Sf.sort?$f:n},kf=Wt("iterator"),Af=!i((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),n=t.searchParams,e="";return t.pathname="c%20d",n.forEach((function(t,r){n.delete("b"),e+=r+t})),!t.toJSON||!n.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==n.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!n[kf]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==e||"x"!==new URL("http://x",void 0).host})),Ef=2147483647,Tf=/[^\0-\u007E]/,Of=/[.\u3002\uFF0E\uFF61]/g,jf="Overflow: input needs wider integers to process",_f=Math.floor,Df=String.fromCharCode,Pf=function(t){return t+22+75*(t<26)},Mf=function(t,n,e){var r=0;for(t=e?_f(t/700):t>>1,t+=_f(t/n);t>455;r+=36)t=_f(t/35);return _f(r+36*t/(t+38))},Rf=function(t){var n,e,r=[],o=(t=function(t){for(var n=[],e=0,r=t.length;e<r;){var o=t.charCodeAt(e++);if(o>=55296&&o<=56319&&e<r){var i=t.charCodeAt(e++);56320==(64512&i)?n.push(((1023&o)<<10)+(1023&i)+65536):(n.push(o),e--)}else n.push(o)}return n}(t)).length,i=128,a=0,u=72;for(n=0;n<t.length;n++)(e=t[n])<128&&r.push(Df(e));var c=r.length,f=c;for(c&&r.push("-");f<o;){var s=Ef;for(n=0;n<t.length;n++)(e=t[n])>=i&&e<s&&(s=e);var l=f+1;if(s-i>_f((Ef-a)/l))throw RangeError(jf);for(a+=(s-i)*l,i=s,n=0;n<t.length;n++){if((e=t[n])<i&&++a>Ef)throw RangeError(jf);if(e==i){for(var h=a,v=36;;v+=36){var d=v<=u?1:v>=u+26?26:v-u;if(h<d)break;var p=h-d,y=36-d;r.push(Df(Pf(d+p%y))),h=_f(p/y)}r.push(Df(Pf(h))),u=Mf(a,l,f==c),a=0,++f}}++a,++i}return r.join("")},Cf=H("fetch"),Lf=H("Headers"),If=Wt("iterator"),Bf="URLSearchParams",Ff="URLSearchParamsIterator",Uf=pn.set,Nf=pn.getterFor(Bf),qf=pn.getterFor(Ff),zf=/\+/g,Gf=Array(4),Hf=function(t){return Gf[t-1]||(Gf[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},Wf=function(t){try{return decodeURIComponent(t)}catch(n){return t}},Vf=function(t){var n=t.replace(zf," "),e=4;try{return decodeURIComponent(n)}catch(t){for(;e;)n=n.replace(Hf(e--),Wf);return n}},Jf=/[!'()~]|%20/g,Yf={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Xf=function(t){return Yf[t]},Kf=function(t){return encodeURIComponent(t).replace(Jf,Xf)},Qf=function(t,n){if(n)for(var e,r,o=n.split("&"),i=0;i<o.length;)(e=o[i++]).length&&(r=e.split("="),t.push({key:Vf(r.shift()),value:Vf(r.join("="))}))},Zf=function(t){this.entries.length=0,Qf(this.entries,t)},ts=function(t,n){if(t<n)throw TypeError("Not enough arguments")},ns=Cn((function(t,n){Uf(this,{type:Ff,iterator:Hr(Nf(t).entries),kind:n})}),"Iterator",(function(){var t=qf(this),n=t.kind,e=t.iterator.next(),r=e.value;return e.done||(e.value="keys"===n?r.key:"values"===n?r.value:[r.key,r.value]),e})),es=function(){Or(this,es,Bf);var t,n,e,r,o,i,a,u,c,f=arguments.length>0?arguments[0]:void 0,s=this,l=[];if(Uf(s,{type:Bf,entries:l,updateURL:function(){},updateSearchParams:Zf}),void 0!==f)if(g(f))if("function"==typeof(t=Ar(f)))for(e=(n=t.call(f)).next;!(r=e.call(n)).done;){if((a=(i=(o=Hr(I(r.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");l.push({key:a.value+"",value:u.value+""})}else for(c in f)w(f,c)&&l.push({key:c,value:f[c]+""});else Qf(l,"string"==typeof f?"?"===f.charAt(0)?f.slice(1):f:f+"")},rs=es.prototype;mr(rs,{append:function(t,n){ts(arguments.length,2);var e=Nf(this);e.entries.push({key:t+"",value:n+""}),e.updateURL()},delete:function(t){ts(arguments.length,1);for(var n=Nf(this),e=n.entries,r=t+"",o=0;o<e.length;)e[o].key===r?e.splice(o,1):o++;n.updateURL()},get:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=0;r<n.length;r++)if(n[r].key===e)return n[r].value;return null},getAll:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=[],o=0;o<n.length;o++)n[o].key===e&&r.push(n[o].value);return r},has:function(t){ts(arguments.length,1);for(var n=Nf(this).entries,e=t+"",r=0;r<n.length;)if(n[r++].key===e)return!0;return!1},set:function(t,n){ts(arguments.length,1);for(var e,r=Nf(this),o=r.entries,i=!1,a=t+"",u=n+"",c=0;c<o.length;c++)(e=o[c]).key===a&&(i?o.splice(c--,1):(i=!0,e.value=u));i||o.push({key:a,value:u}),r.updateURL()},sort:function(){var t,n,e,r=Nf(this),o=r.entries,i=o.slice();for(o.length=0,e=0;e<i.length;e++){for(t=i[e],n=0;n<e;n++)if(o[n].key>t.key){o.splice(n,0,t);break}n===e&&o.push(t)}r.updateURL()},forEach:function(t){for(var n,e=Nf(this).entries,r=L(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<e.length;)r((n=e[o++]).value,n.key,this)},keys:function(){return new ns(this,"keys")},values:function(){return new ns(this,"values")},entries:function(){return new ns(this,"entries")}},{enumerable:!0}),Ln(rs,If,rs.entries),Ln(rs,"toString",(function(){for(var t,n=Nf(this).entries,e=[],r=0;r<n.length;)t=n[r++],e.push(Kf(t.key)+"="+Kf(t.value));return e.join("&")}),{enumerable:!0}),Dn(es,Bf),z({global:!0,forced:!Af},{URLSearchParams:es}),Af||"function"!=typeof Cf||"function"!=typeof Lf||z({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var n,e,r,o=[t];return arguments.length>1&&(g(n=arguments[1])&&(e=n.body,Tn(e)===Bf&&((r=n.headers?new Lf(n.headers):new Lf).has("content-type")||r.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),n=St(n,{body:s(0,String(e)),headers:s(0,r)}))),o.push(n)),Cf.apply(this,o)}});var os,is={URLSearchParams:es,getState:Nf},as=Kt.codeAt,us=o.URL,cs=is.URLSearchParams,fs=is.getState,ss=pn.set,ls=pn.getterFor("URL"),hs=Math.floor,vs=Math.pow,ds="Invalid scheme",ps="Invalid host",ys="Invalid port",gs=/[A-Za-z]/,ms=/[\d+-.A-Za-z]/,bs=/\d/,ws=/^(0x|0X)/,$s=/^[0-7]+$/,Ss=/^\d+$/,xs=/^[\dA-Fa-f]+$/,ks=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,As=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,Es=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,Ts=/[\u0009\u000A\u000D]/g,Os=function(t,n){var e,r,o;if("["==n.charAt(0)){if("]"!=n.charAt(n.length-1))return ps;if(!(e=_s(n.slice(1,-1))))return ps;t.host=e}else if(Bs(t)){if(n=function(t){var n,e,r=[],o=t.toLowerCase().replace(Of,".").split(".");for(n=0;n<o.length;n++)e=o[n],r.push(Tf.test(e)?"xn--"+Rf(e):e);return r.join(".")}(n),ks.test(n))return ps;if(null===(e=js(n)))return ps;t.host=e}else{if(As.test(n))return ps;for(e="",r=Kr(n),o=0;o<r.length;o++)e+=Ls(r[o],Ps);t.host=e}},js=function(t){var n,e,r,o,i,a,u,c=t.split(".");if(c.length&&""==c[c.length-1]&&c.pop(),(n=c.length)>4)return t;for(e=[],r=0;r<n;r++){if(""==(o=c[r]))return t;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=ws.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?Ss:8==i?$s:xs).test(o))return t;a=parseInt(o,i)}e.push(a)}for(r=0;r<n;r++)if(a=e[r],r==n-1){if(a>=vs(256,5-n))return null}else if(a>255)return null;for(u=e.pop(),r=0;r<e.length;r++)u+=e[r]*vs(256,3-r);return u},_s=function(t){var n,e,r,o,i,a,u,c=[0,0,0,0,0,0,0,0],f=0,s=null,l=0,h=function(){return t.charAt(l)};if(":"==h()){if(":"!=t.charAt(1))return;l+=2,s=++f}for(;h();){if(8==f)return;if(":"!=h()){for(n=e=0;e<4&&xs.test(h());)n=16*n+parseInt(h(),16),l++,e++;if("."==h()){if(0==e)return;if(l-=e,f>6)return;for(r=0;h();){if(o=null,r>0){if(!("."==h()&&r<4))return;l++}if(!bs.test(h()))return;for(;bs.test(h());){if(i=parseInt(h(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}c[f]=256*c[f]+o,2!=++r&&4!=r||f++}if(4!=r)return;break}if(":"==h()){if(l++,!h())return}else if(h())return;c[f++]=n}else{if(null!==s)return;l++,s=++f}}if(null!==s)for(a=f-s,f=7;0!=f&&a>0;)u=c[f],c[f--]=c[s+a-1],c[s+--a]=u;else if(8!=f)return;return c},Ds=function(t){var n,e,r,o;if("number"==typeof t){for(n=[],e=0;e<4;e++)n.unshift(t%256),t=hs(t/256);return n.join(".")}if("object"==typeof t){for(n="",r=function(t){for(var n=null,e=1,r=null,o=0,i=0;i<8;i++)0!==t[i]?(o>e&&(n=r,e=o),r=null,o=0):(null===r&&(r=i),++o);return o>e&&(n=r,e=o),n}(t),e=0;e<8;e++)o&&0===t[e]||(o&&(o=!1),r===e?(n+=e?":":"::",o=!0):(n+=t[e].toString(16),e<7&&(n+=":")));return"["+n+"]"}return t},Ps={},Ms=ba({},Ps,{" ":1,'"':1,"<":1,">":1,"`":1}),Rs=ba({},Ms,{"#":1,"?":1,"{":1,"}":1}),Cs=ba({},Rs,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Ls=function(t,n){var e=as(t,0);return e>32&&e<127&&!w(n,t)?t:encodeURIComponent(t)},Is={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Bs=function(t){return w(Is,t.scheme)},Fs=function(t){return""!=t.username||""!=t.password},Us=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},Ns=function(t,n){var e;return 2==t.length&&gs.test(t.charAt(0))&&(":"==(e=t.charAt(1))||!n&&"|"==e)},qs=function(t){var n;return t.length>1&&Ns(t.slice(0,2))&&(2==t.length||"/"===(n=t.charAt(2))||"\\"===n||"?"===n||"#"===n)},zs=function(t){var n=t.path,e=n.length;!e||"file"==t.scheme&&1==e&&Ns(n[0],!0)||n.pop()},Gs=function(t){return"."===t||"%2e"===t.toLowerCase()},Hs={},Ws={},Vs={},Js={},Ys={},Xs={},Ks={},Qs={},Zs={},tl={},nl={},el={},rl={},ol={},il={},al={},ul={},cl={},fl={},sl={},ll={},hl=function(t,n,e,r){var o,i,a,u,c,f=e||Hs,s=0,l="",h=!1,v=!1,d=!1;for(e||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,n=n.replace(Es,"")),n=n.replace(Ts,""),o=Kr(n);s<=o.length;){switch(i=o[s],f){case Hs:if(!i||!gs.test(i)){if(e)return ds;f=Vs;continue}l+=i.toLowerCase(),f=Ws;break;case Ws:if(i&&(ms.test(i)||"+"==i||"-"==i||"."==i))l+=i.toLowerCase();else{if(":"!=i){if(e)return ds;l="",f=Vs,s=0;continue}if(e&&(Bs(t)!=w(Is,l)||"file"==l&&(Fs(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=l,e)return void(Bs(t)&&Is[t.scheme]==t.port&&(t.port=null));l="","file"==t.scheme?f=ol:Bs(t)&&r&&r.scheme==t.scheme?f=Js:Bs(t)?f=Qs:"/"==o[s+1]?(f=Ys,s++):(t.cannotBeABaseURL=!0,t.path.push(""),f=fl)}break;case Vs:if(!r||r.cannotBeABaseURL&&"#"!=i)return ds;if(r.cannotBeABaseURL&&"#"==i){t.scheme=r.scheme,t.path=r.path.slice(),t.query=r.query,t.fragment="",t.cannotBeABaseURL=!0,f=ll;break}f="file"==r.scheme?ol:Xs;continue;case Js:if("/"!=i||"/"!=o[s+1]){f=Xs;continue}f=Zs,s++;break;case Ys:if("/"==i){f=tl;break}f=cl;continue;case Xs:if(t.scheme=r.scheme,i==os)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query;else if("/"==i||"\\"==i&&Bs(t))f=Ks;else if("?"==i)t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query="",f=sl;else{if("#"!=i){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.path.pop(),f=cl;continue}t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,t.path=r.path.slice(),t.query=r.query,t.fragment="",f=ll}break;case Ks:if(!Bs(t)||"/"!=i&&"\\"!=i){if("/"!=i){t.username=r.username,t.password=r.password,t.host=r.host,t.port=r.port,f=cl;continue}f=tl}else f=Zs;break;case Qs:if(f=Zs,"/"!=i||"/"!=l.charAt(s+1))continue;s++;break;case Zs:if("/"!=i&&"\\"!=i){f=tl;continue}break;case tl:if("@"==i){h&&(l="%40"+l),h=!0,a=Kr(l);for(var p=0;p<a.length;p++){var y=a[p];if(":"!=y||d){var g=Ls(y,Cs);d?t.password+=g:t.username+=g}else d=!0}l=""}else if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Bs(t)){if(h&&""==l)return"Invalid authority";s-=Kr(l).length+1,l="",f=nl}else l+=i;break;case nl:case el:if(e&&"file"==t.scheme){f=al;continue}if(":"!=i||v){if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Bs(t)){if(Bs(t)&&""==l)return ps;if(e&&""==l&&(Fs(t)||null!==t.port))return;if(u=Os(t,l))return u;if(l="",f=ul,e)return;continue}"["==i?v=!0:"]"==i&&(v=!1),l+=i}else{if(""==l)return ps;if(u=Os(t,l))return u;if(l="",f=rl,e==el)return}break;case rl:if(!bs.test(i)){if(i==os||"/"==i||"?"==i||"#"==i||"\\"==i&&Bs(t)||e){if(""!=l){var m=parseInt(l,10);if(m>65535)return ys;t.port=Bs(t)&&m===Is[t.scheme]?null:m,l=""}if(e)return;f=ul;continue}return ys}l+=i;break;case ol:if(t.scheme="file","/"==i||"\\"==i)f=il;else{if(!r||"file"!=r.scheme){f=cl;continue}if(i==os)t.host=r.host,t.path=r.path.slice(),t.query=r.query;else if("?"==i)t.host=r.host,t.path=r.path.slice(),t.query="",f=sl;else{if("#"!=i){qs(o.slice(s).join(""))||(t.host=r.host,t.path=r.path.slice(),zs(t)),f=cl;continue}t.host=r.host,t.path=r.path.slice(),t.query=r.query,t.fragment="",f=ll}}break;case il:if("/"==i||"\\"==i){f=al;break}r&&"file"==r.scheme&&!qs(o.slice(s).join(""))&&(Ns(r.path[0],!0)?t.path.push(r.path[0]):t.host=r.host),f=cl;continue;case al:if(i==os||"/"==i||"\\"==i||"?"==i||"#"==i){if(!e&&Ns(l))f=cl;else if(""==l){if(t.host="",e)return;f=ul}else{if(u=Os(t,l))return u;if("localhost"==t.host&&(t.host=""),e)return;l="",f=ul}continue}l+=i;break;case ul:if(Bs(t)){if(f=cl,"/"!=i&&"\\"!=i)continue}else if(e||"?"!=i)if(e||"#"!=i){if(i!=os&&(f=cl,"/"!=i))continue}else t.fragment="",f=ll;else t.query="",f=sl;break;case cl:if(i==os||"/"==i||"\\"==i&&Bs(t)||!e&&("?"==i||"#"==i)){if(".."===(c=(c=l).toLowerCase())||"%2e."===c||".%2e"===c||"%2e%2e"===c?(zs(t),"/"==i||"\\"==i&&Bs(t)||t.path.push("")):Gs(l)?"/"==i||"\\"==i&&Bs(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&Ns(l)&&(t.host&&(t.host=""),l=l.charAt(0)+":"),t.path.push(l)),l="","file"==t.scheme&&(i==os||"?"==i||"#"==i))for(;t.path.length>1&&""===t.path[0];)t.path.shift();"?"==i?(t.query="",f=sl):"#"==i&&(t.fragment="",f=ll)}else l+=Ls(i,Rs);break;case fl:"?"==i?(t.query="",f=sl):"#"==i?(t.fragment="",f=ll):i!=os&&(t.path[0]+=Ls(i,Ps));break;case sl:e||"#"!=i?i!=os&&("'"==i&&Bs(t)?t.query+="%27":t.query+="#"==i?"%23":Ls(i,Ps)):(t.fragment="",f=ll);break;case ll:i!=os&&(t.fragment+=Ls(i,Ms))}s++}},vl=function(t){var n,e,r=Or(this,vl,"URL"),o=arguments.length>1?arguments[1]:void 0,i=String(t),u=ss(r,{type:"URL"});if(void 0!==o)if(o instanceof vl)n=ls(o);else if(e=hl(n={},String(o)))throw TypeError(e);if(e=hl(u,i,null,n))throw TypeError(e);var c=u.searchParams=new cs,f=fs(c);f.updateSearchParams(u.query),f.updateURL=function(){u.query=String(c)||null},a||(r.href=pl.call(r),r.origin=yl.call(r),r.protocol=gl.call(r),r.username=ml.call(r),r.password=bl.call(r),r.host=wl.call(r),r.hostname=$l.call(r),r.port=Sl.call(r),r.pathname=xl.call(r),r.search=kl.call(r),r.searchParams=Al.call(r),r.hash=El.call(r))},dl=vl.prototype,pl=function(){var t=ls(this),n=t.scheme,e=t.username,r=t.password,o=t.host,i=t.port,a=t.path,u=t.query,c=t.fragment,f=n+":";return null!==o?(f+="//",Fs(t)&&(f+=e+(r?":"+r:"")+"@"),f+=Ds(o),null!==i&&(f+=":"+i)):"file"==n&&(f+="//"),f+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(f+="?"+u),null!==c&&(f+="#"+c),f},yl=function(){var t=ls(this),n=t.scheme,e=t.port;if("blob"==n)try{return new URL(n.path[0]).origin}catch(t){return"null"}return"file"!=n&&Bs(t)?n+"://"+Ds(t.host)+(null!==e?":"+e:""):"null"},gl=function(){return ls(this).scheme+":"},ml=function(){return ls(this).username},bl=function(){return ls(this).password},wl=function(){var t=ls(this),n=t.host,e=t.port;return null===n?"":null===e?Ds(n):Ds(n)+":"+e},$l=function(){var t=ls(this).host;return null===t?"":Ds(t)},Sl=function(){var t=ls(this).port;return null===t?"":String(t)},xl=function(){var t=ls(this),n=t.path;return t.cannotBeABaseURL?n[0]:n.length?"/"+n.join("/"):""},kl=function(){var t=ls(this).query;return t?"?"+t:""},Al=function(){return ls(this).searchParams},El=function(){var t=ls(this).fragment;return t?"#"+t:""},Tl=function(t,n){return{get:t,set:n,configurable:!0,enumerable:!0}};if(a&&ut(dl,{href:Tl(pl,(function(t){var n=ls(this),e=String(t),r=hl(n,e);if(r)throw TypeError(r);fs(n.searchParams).updateSearchParams(n.query)})),origin:Tl(yl),protocol:Tl(gl,(function(t){var n=ls(this);hl(n,String(t)+":",Hs)})),username:Tl(ml,(function(t){var n=ls(this),e=Kr(String(t));if(!Us(n)){n.username="";for(var r=0;r<e.length;r++)n.username+=Ls(e[r],Cs)}})),password:Tl(bl,(function(t){var n=ls(this),e=Kr(String(t));if(!Us(n)){n.password="";for(var r=0;r<e.length;r++)n.password+=Ls(e[r],Cs)}})),host:Tl(wl,(function(t){var n=ls(this);n.cannotBeABaseURL||hl(n,String(t),nl)})),hostname:Tl($l,(function(t){var n=ls(this);n.cannotBeABaseURL||hl(n,String(t),el)})),port:Tl(Sl,(function(t){var n=ls(this);Us(n)||(""==(t=String(t))?n.port=null:hl(n,t,rl))})),pathname:Tl(xl,(function(t){var n=ls(this);n.cannotBeABaseURL||(n.path=[],hl(n,t+"",ul))})),search:Tl(kl,(function(t){var n=ls(this);""==(t=String(t))?n.query=null:("?"==t.charAt(0)&&(t=t.slice(1)),n.query="",hl(n,t,sl)),fs(n.searchParams).updateSearchParams(n.query)})),searchParams:Tl(Al),hash:Tl(El,(function(t){var n=ls(this);""!=(t=String(t))?("#"==t.charAt(0)&&(t=t.slice(1)),n.fragment="",hl(n,t,ll)):n.fragment=null}))}),Ln(dl,"toJSON",(function(){return pl.call(this)}),{enumerable:!0}),Ln(dl,"toString",(function(){return pl.call(this)}),{enumerable:!0}),us){var Ol=us.createObjectURL,jl=us.revokeObjectURL;Ol&&Ln(vl,"createObjectURL",(function(t){return Ol.apply(us,arguments)})),jl&&Ln(vl,"revokeObjectURL",(function(t){return jl.apply(us,arguments)}))}Dn(vl,"URL"),z({global:!0,forced:!Af,sham:!a},{URL:vl});var _l=R.URL;function Dl(t,n){var e=li(t);if(Yo){var r=Yo(t);n&&(r=Vo(r).call(r,(function(n){return No(t,n).enumerable}))),e.push.apply(e,r)}return e}function Pl(t){for(var n=1;n<arguments.length;n++){var e,r=null!=arguments[n]?arguments[n]:{};if(n%2)Bo(e=Dl(Object(r),!0)).call(e,(function(n){Xo(t,n,r[n])}));else if(jo)To(t,jo(r));else{var o;Bo(o=Dl(Object(r))).call(o,(function(n){Eo(t,n,No(r,n))}))}}return t}function Ml(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Rl(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Rl(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Rl(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var Cl=86400;function Ll(t){return void 0!==t?t instanceof Date?Bl(t):(n=t.match(/\d+/g),new Date(Number(n[0]),Number(n[1])-1,Number(n[2]),Number(n[3]||0),Number(n[4]||0),Number(n[5]||0))):new Date;var n}function Il(t){if("number"==typeof t)t={seconds:t};else if("string"==typeof t){var n,e=0,r=2,o=Ml(t.split(":",3));try{for(o.s();!(n=o.n()).done;){var i=n.value;e+=Pa(i,10)*Math.pow(60,r--)}}catch(t){o.e(t)}finally{o.f()}t={seconds:e}}else t instanceof Date&&(t={hours:t.getHours(),minutes:t.getMinutes(),seconds:t.getSeconds()});var a=t.weeks||t.week||0;return{years:t.years||t.year||0,months:t.months||t.month||0,days:7*a+(t.days||t.day||0),seconds:60*(t.hours||t.hour||0)*60+60*(t.minutes||t.minute||0)+(t.seconds||t.second||0),inWeeks:!!a}}function Bl(t){return new Date(t.getTime())}function Fl(t,n,e){return Vl(t,n,void 0===e?1:e)}function Ul(t){return Jl(t,1)}function Nl(t){return Jl(t,-1)}function ql(t){return t.setHours(0,0,0,0),t}function zl(t){var n=-t.getTimezoneOffset(),e=n>=0?"+":"-";return t.getFullYear()+"-"+Yl(t.getMonth()+1)+"-"+Yl(t.getDate())+"T"+Yl(t.getHours())+":"+Yl(t.getMinutes())+":"+Yl(t.getSeconds())+e+Yl(n/60)+":"+Yl(n%60)}function Gl(t,n,e){if(t.getFullYear()!==n.getFullYear())return e.format(t)+" - "+e.format(n);var r=[];if(t.getMonth()!==n.getMonth()&&r.push("month"),t.getDate()!==n.getDate()&&r.push("day"),!r.length)return e.format(t);for(var o=e.resolvedOptions(),i={},a=0,u=r;a<u.length;a++){var c=u[a];i[c]=o[c]}var f=new Intl.DateTimeFormat(o.locale,i),s=e.format(t),l=e.format(n),h=f.format(t),v=f.format(n),d=function(t,n,e,r){var o=0;for(;o<t.length;){var i=void 0,a=Ui(Xl(t,n,o),2);if(o=a[0],!(i=a[1]))break;for(var u=0;u<e.length;){var c=void 0,f=Ui(Xl(e,r,u),2);if(u=f[0],!(c=f[1]))break;if(i.head===c.head&&i.tail===c.tail)return i}}return null}(s,h,l,v);return d?d.head+h+" - "+v+d.tail:s+" - "+l}function Hl(t,n){return t.getTime()===n.getTime()}function Wl(t,n){var e=n-t.getDay();return t.setDate(t.getDate()+(e<=0?e:e-7)),t}function Vl(t,n,e){t.setFullYear(t.getFullYear()+e*n.years);var r=t.getMonth()+e*n.months;for(t.setMonth(r),(r%=12)<0&&(r+=12);t.getMonth()!==r;)Nl(t);return t.setDate(t.getDate()+e*n.days),t.setSeconds(t.getSeconds()+e*n.seconds),t}function Jl(t,n){return t.setDate(t.getDate()+n),t}function Yl(t){var n=Math.floor(Math.abs(t));return(n<10?"0":"")+n}function Xl(t,n,e){var r=Ha(t).call(t,n,e);if(r>=0){var o=r+n.length;return[o,{head:t.substr(0,r),tail:t.substr(o)}]}return[-1,null]}var Kl=1;function Ql(t){return Wi(t).call(t,(function(t){var n;return{id:"id"in t?String(t.id):"{generated-".concat(Kl++,"}"),resourceIds:Jr(t.resourceIds)?Wi(n=t.resourceIds).call(n,String):"resourceId"in t?[String(t.resourceId)]:[],start:Ll(t.start),end:Ll(t.end),title:t.title||"",display:t.display||"auto",extendedProps:t.extendedProps||{},backgroundColor:t.backgroundColor||t.color}}))}var Zl=new RegExp("^(?:[a-z]+:)?//","i"),th="http://a";function nh(t){return Wi(t).call(t,(function(t){return{url:new _l(t.url,th),urlFrom:Zl.test(t.url)?0:th.length,extraParams:t.extraParams||{}}}))}function eh(t,n,e){return{start:t.start>n?t.start:n,end:t.end<e?t.end:e,event:t}}function rh(t){xf(t).call(t,(function(t,n){return t.start<n.start?-1:t.start>n.start?1:0}))}function oh(t,n,e,r,o,i,a,u){var c,f,s,l,h=o.format(t.start);if(n&&(h+=" - ".concat(o.format(t.end))),e)"string"==typeof(l=hc(e)?e({event:t.event,timeText:h,view:i}):e)&&(l={html:l});else switch(t.event.display){case"background":l={html:""};break;default:l={html:mi(c='<div class="'.concat(r.eventTime,'">')).call(c,h,"</div>")+(a?mi(f='<div><div class="'.concat(r.eventDot,'"')).call(f,u?' style="border-color:'.concat(u,'"'):"","></div></div>"):"")+mi(s='<div class="'.concat(r.eventTitle,'">')).call(s,t.event.title,"</div>")}}return[h,l]}function ih(t,n,e){return Pl(Pl({},df(n?n(t):t,e)),{},{mutate:n})}function ah(t,n,e){var r=e,o=!1,i=n.length<2,a=pf(t,(function(t,e){return o=!0,i?(r=n(t,e),e(r)):n(t,(function(t){r=t,e(t)})),function(){o=!1}}),r);return Pl(Pl({},a),{},{get:function(){return o?r:pc(a)}})}function uh(t,n){return pf([t,n],(function(t){var n=Ui(t,2),e=n[0],r=n[1];return hc(r)?{format:r}:new Intl.DateTimeFormat(e,r)}))}function ch(){return wa.apply(Object,arguments)}function fh(t){return t.offsetWidth-t.clientWidth-2*t.clientLeft>0}function sh(t,n){var e={update:function(n){for(;t.firstChild;)t.removeChild(t.lastChild);if(n.domNodes){var e,r=Ml(n.domNodes);try{for(r.s();!(e=r.n()).done;){var o=e.value;t.appendChild(o)}}catch(t){r.e(t)}finally{r.f()}}else n.html&&(t.innerHTML=n.html)}};return e.update(n),e}function lh(t,n,e,r){return{type:t,title:n,currentStart:e.start,currentEnd:e.end,activeStart:r.start,activeEnd:r.end,calendar:void 0}}function hh(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function vh(t,n){var e=li(t);if(Yo){var r=Yo(t);n&&(r=Vo(r).call(r,(function(n){return No(t,n).enumerable}))),e.push.apply(e,r)}return e}function dh(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return ph(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ph(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function ph(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var yh=function t(n){var e,r=this;Pt(this,t);for(var o,i,a,u=n.plugins||[],c=function(t,n){var e,r={buttonText:{today:"today"},date:new Date,dateClick:void 0,dayHeaderFormat:{weekday:"short",month:"numeric",day:"numeric"},displayEventEnd:!0,duration:{weeks:1},events:[],eventBackgroundColor:void 0,eventClick:void 0,eventColor:void 0,eventContent:void 0,eventDidMount:void 0,eventMouseEnter:void 0,eventMouseLeave:void 0,eventSources:[],eventTimeFormat:{hour:"numeric",minute:"2-digit"},firstDay:0,flexibleSlotTimeLimits:!1,headerToolbar:{start:"title",center:"",end:"today prev,next"},height:"auto",hiddenDays:[],highlightedDates:[],lazyFetching:!0,loading:void 0,locale:void 0,monthMode:!1,scrollTime:"06:00:00",slotDuration:"00:30:00",slotLabelFormat:{hour:"numeric",minute:"2-digit"},slotMaxTime:"24:00:00",slotMinTime:"00:00:00",theme:{calendar:"ec",header:"ec-header",withScroll:"ec-with-scroll",hiddenScroll:"ec-hidden-scroll",body:"ec-body",compact:"ec-compact",toolbar:"ec-toolbar",sidebar:"ec-sidebar",content:"ec-content",lines:"ec-lines",line:"ec-line",days:"ec-days",day:"ec-day",dayHead:"ec-day-head",today:"ec-today",otherMonth:"ec-other-month",highlight:"ec-highlight",events:"ec-events",event:"ec-event",eventTime:"ec-event-time",eventDot:"ec-event-dot",eventTitle:"ec-event-title",bgEvents:"ec-bg-events",bgEvent:"ec-bg-event",hiddenTimes:"ec-hidden-times",time:"ec-time",button:"ec-button",buttonGroup:"ec-button-group",icon:"ec-icon",active:"ec-active",title:"ec-title"},titleFormat:{year:"numeric",month:"short",day:"numeric"},view:t.view||void 0,viewDidMount:void 0,views:{}},o=dh(n);try{for(o.s();!(e=o.n()).done;){var i=e.value;"createOptions"in i&&i.createOptions(r,t)}}catch(t){o.e(t)}finally{o.f()}return r}(n,u),f=function(t,n){var e,r={buttonText:function(n){return hc(n)?n(t.buttonText):n},date:function(t){return ql(Ll(t))},duration:Il,events:Ql,eventSources:nh,hiddenDays:function(t){return na(new ta(t))},highlightedDates:function(t){return Wi(t).call(t,Ll)},scrollTime:Il,slotDuration:Il,slotMaxTime:Il,slotMinTime:Il,theme:function(n){return hc(n)?n(t.theme):n}},o=dh(n);try{for(o.s();!(e=o.n()).done;){var i=e.value;"createMutators"in i&&i.createMutators(r,t)}}catch(t){o.e(t)}finally{o.f()}return r}(c,u),s=0,l=Si(c);s<l.length;s++){var h=Ui(l[s],2),v=h[0],d=h[1];this[v]=ih(d,f[v])}this._currentRange=pf([(o=this).date,o.duration,o.monthMode,o.firstDay],(function(t){var n=Ui(t,4),e=n[0],r=n[1],o=n[2],i=n[3],a=Bl(e);return o?a.setDate(1):r.inWeeks&&Wl(a,i),{start:a,end:Fl(Bl(a),r)}})),this._activeRange=function(t){return pf([t._currentRange,t.firstDay,t.monthMode,t.slotMinTime,t.slotMaxTime],(function(t){var n,e,r=Ui(t,5),o=r[0],i=r[1],a=r[2],u=(r[3],r[4]),c=Bl(o.start),f=Bl(o.end);if(a)Wl(c,i),e=i-(n=f).getDay(),n.setDate(n.getDate()+(e>=0?e:e+7));else if(u.days||u.seconds>Cl){Fl(Nl(f),u);var s=Nl(Bl(f));s<c&&(c=s)}return{start:c,end:f}}))}(this),this._fetchedRange=df({start:void 0,end:void 0}),this._events=function(t){var n,e=df([]),r=0;return pf([t.events,t.eventSources,t._activeRange,t._fetchedRange,t.lazyFetching,t.loading],(function(t,e){return Jc().then((function(){var o=Ui(t,6),i=o[0],a=o[1],u=o[2],c=o[3],f=o[4],s=o[5];a.length?(!c.start||c.start>u.start||c.end<u.end||!f)&&function(){n&&n.abort(),n=new AbortController,hc(s)&&!r&&s(!0);var t,o=[],i=dh(a);try{for(i.s();!(t=i.n()).done;){var f,l=t.value,h=hc(l.extraParams)?l.extraParams():ch({},l.extraParams);h.start=zl(u.start),h.end=zl(u.end);var v,d=dh(pi(f=l.url.searchParams).call(f));try{for(d.s();!(v=d.n()).done;){var p=v.value;l.url.searchParams.delete(p)}}catch(t){d.e(t)}finally{d.f()}for(var y=0,g=Si(h);y<g.length;y++){var m=Ui(g[y],2),b=m[0],w=m[1];l.url.searchParams.set(b,w)}fetch(l.url.href.substr(l.urlFrom),{signal:n.signal,credentials:"same-origin"}).then((function(t){return t.json()})).then((function(t){o=mi(o).call(o,Ql(t)),e(o),0==--r&&hc(s)&&s(!1)})).catch((function(t){0==--r&&hc(s)&&s(!1)})),++r,c.start=u.start,c.end=u.end}}catch(t){i.e(t)}finally{i.f()}}():e(i)}))}),[]).subscribe(e.set),e}(this),this._intlEventTime=uh(this.locale,this.eventTimeFormat),this._intlSlotLabel=uh(this.locale,this.slotLabelFormat),this._intlDayHeader=uh(this.locale,this.dayHeaderFormat),this._titleIntlRange=(i=this.locale,a=this.titleFormat,pf([i,a],(function(t){var n=Ui(t,2),e=n[0],r=n[1];if(hc(r))return{format:r};var o=new Intl.DateTimeFormat(e,r);return{format:function(t,n){return Gl(t,n,o)}}}))),this._scrollable=df(!1),this._viewTitle=function(t){return pf([t.date,t._activeRange,t._titleIntlRange,t.monthMode],(function(t){var n=Ui(t,4),e=n[0],r=n[1],o=n[2];return n[3]?o.format(e,e):o.format(r.start,Nl(Bl(r.end)))}))}(this),this._viewDates=function(t){return ah([t._activeRange,t.hiddenDays],(function(n){for(var e=Ui(n,2),r=e[0],o=e[1],i=[],a=ql(Bl(r.start)),u=ql(Bl(r.end));a<u;)Pi(o).call(o,a.getDay())||i.push(Bl(a)),Ul(a);return!i.length&&o.length&&o.length<7&&(t.date.update((function(t){for(;Pi(o).call(o,t.getDay());)Ul(t);return t})),i=t._viewDates.get()),i}))}(this),this._view=function(t){return ah([t.view,t._viewTitle,t._currentRange,t._activeRange],(function(t){return lh.apply(void 0,na(t))}))}(this),this._viewComponent=df(void 0);var p,y=dh(u);try{for(y.s();!(p=y.n()).done;){var g=p.value;"createStores"in g&&g.createStores(this)}}catch(t){y.e(t)}finally{y.f()}var m,b=dh(new ta(mi(e=[]).call(e,na(li(c.views)),na(li(n.views||{})))));try{var w=function(){var t=m.value,e=ch({},c,c.views[t]||{},n,n.views&&n.views[t]||{});r.view.subscribe((function(n){n===t&&(r._viewComponent.set(e.component),hc(e.viewDidMount)&&Jc().then((function(){return e.viewDidMount(r._view.get())})))}));for(var o=function(){var n=a[i];if(r.hasOwnProperty(n)&&"_"!==n[0]){var o=r[n],u=o.set,c=o._set,f=o.mutate,s=si(o,["set","_set","mutate"]);c||(c=u),f&&(e[n]=f(e[n])),r[n]=function(t){for(var n=1;n<arguments.length;n++){var e,r=null!=arguments[n]?arguments[n]:{};if(n%2)Bo(e=vh(Object(r),!0)).call(e,(function(n){Xo(t,n,r[n])}));else if(jo)To(t,jo(r));else{var o;Bo(o=vh(Object(r))).call(o,(function(n){Eo(t,n,No(r,n))}))}}return t}({set:function(t){e[n]=t,u(t)},_set:c,mutate:f},s),r.view.subscribe((function(r){r===t&&c(e[n])}))}},i=0,a=li(e);i<a.length;i++)o()};for(b.s();!(m=b.n()).done;)w()}catch(t){b.e(t)}finally{b.f()}};function gh(t,n,e){var r=Ao(t).call(t);return r[24]=n[e],r}function mh(t){var n,e,r,o,i,a=t[5][t[24]]+"";function u(){for(var n,e,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return(n=t)[19].apply(n,mi(e=[t[24]]).call(e,o))}return{c:function(){n=Ec("button"),e=Tc(a),Dc(n,"class",r=t[3].button+(t[6]===t[24]?" "+t[3].active:"")+" ec-"+t[24])},m:function(t,r){xc(t,n,r),Sc(n,e),o||(i=_c(n,"click",u),o=!0)},p:function(o,i){t=o,33&i&&a!==(a=t[5][t[24]]+"")&&Mc(e,a),73&i&&r!==(r=t[3].button+(t[6]===t[24]?" "+t[3].active:"")+" ec-"+t[24])&&Dc(n,"class",r)},d:function(t){t&&kc(n),o=!1,i()}}}function bh(t){var n,e,r,o,i,a=t[5][t[24]]+"";return{c:function(){n=Ec("button"),e=Tc(a),Dc(n,"class",r=t[3].button+" ec-"+t[24]),n.disabled=t[1]},m:function(r,a){xc(r,n,a),Sc(n,e),o||(i=_c(n,"click",t[18]),o=!0)},p:function(t,o){33&o&&a!==(a=t[5][t[24]]+"")&&Mc(e,a),9&o&&r!==(r=t[3].button+" ec-"+t[24])&&Dc(n,"class",r),2&o&&(n.disabled=t[1])},d:function(t){t&&kc(n),o=!1,i()}}}function wh(t){var n,e,r,o,i,a;return{c:function(){n=Ec("button"),Dc(e=Ec("i"),"class",r=t[3].icon+" ec-"+t[24]),Dc(n,"class",o=t[3].button+" ec-"+t[24])},m:function(r,o){xc(r,n,o),Sc(n,e),i||(a=_c(n,"click",t[17]),i=!0)},p:function(t,i){9&i&&r!==(r=t[3].icon+" ec-"+t[24])&&Dc(e,"class",r),9&i&&o!==(o=t[3].button+" ec-"+t[24])&&Dc(n,"class",o)},d:function(t){t&&kc(n),i=!1,a()}}}function $h(t){var n,e,r,o,i,a;return{c:function(){n=Ec("button"),Dc(e=Ec("i"),"class",r=t[3].icon+" ec-"+t[24]),Dc(n,"class",o=t[3].button+" ec-"+t[24])},m:function(r,o){xc(r,n,o),Sc(n,e),i||(a=_c(n,"click",t[16]),i=!0)},p:function(t,i){9&i&&r!==(r=t[3].icon+" ec-"+t[24])&&Dc(e,"class",r),9&i&&o!==(o=t[3].button+" ec-"+t[24])&&Dc(n,"class",o)},d:function(t){t&&kc(n),i=!1,a()}}}function Sh(t){var n,e,r;return{c:function(){n=Ec("h2"),e=Tc(t[4]),Dc(n,"class",r=t[3].title)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,o){16&o&&Mc(e,t[4]),8&o&&r!==(r=t[3].title)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function xh(t){return{c:cc,m:cc,p:cc,d:cc}}function kh(t){var n;function e(t,n){return""==t[24]?xh:"title"==t[24]?Sh:"prev"==t[24]?$h:"next"===t[24]?wh:"today"===t[24]?bh:mh}var r=e(t),o=r(t);return{c:function(){o.c(),n=jc()},m:function(t,e){o.m(t,e),xc(t,n,e)},p:function(t,i){r===(r=e(t))&&o?o.p(t,i):(o.d(1),(o=r(t))&&(o.c(),o.m(n.parentNode,n)))},d:function(t){o.d(t),t&&kc(n)}}}function Ah(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=kh(gh(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);xc(t,n,e)},p:function(t,o){var i=Ui(o,1)[0];if(229503&i){var a;for(e=t[0],a=0;a<e.length;a+=1){var u=gh(t,e,a);r[a]?r[a].p(u,i):(r[a]=kh(u),r[a].c(),r[a].m(n.parentNode,n))}for(;a<r.length;a+=1)r[a].d(1);r.length=e.length}},i:cc,o:cc,d:function(t){Ac(r,t),t&&kc(n)}}}function Eh(t,n,e){var r,o,i,a,u,c,f,s,l=n.buttons,h=Uc("state"),v=h._currentRange,d=h._viewTitle,p=h.buttonText,y=h.date,g=h.duration,m=h.hiddenDays,b=(h.monthMode,h.theme),w=h.view;yc(t,v,(function(t){return e(20,r=t)})),yc(t,d,(function(t){return e(4,c=t)})),yc(t,p,(function(t){return e(5,f=t)})),yc(t,y,(function(t){return e(2,o=t)})),yc(t,g,(function(t){return e(21,i=t)})),yc(t,m,(function(t){return e(22,a=t)})),yc(t,b,(function(t){return e(3,u=t)})),yc(t,w,(function(t){return e(6,s=t)}));var $,S=ql(new Date);return t.$$set=function(t){"buttons"in t&&e(0,l=t.buttons)},t.$$.update=function(){1048576&t.$$.dirty&&e(1,$=S>=r.start&&S<r.end||null)},[l,$,o,u,c,f,s,v,d,p,y,g,m,b,w,S,function(){var t=function(t,n,e){return Vl(t,n,void 0===e?-1:e)}(o,i);if(a.length&&a.length<7)for(;Pi(a).call(a,t.getDay());)Nl(t);wc(y,o=t)},function(){wc(y,o=Fl(o,i))},function(){return wc(y,o=Bl(S))},function(t){return wc(w,s=t)}]}var Th=function(t){Ut(e,t);var n=hh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Eh,Ah,vc,{buttons:0}),r}return e}(hf);function Oh(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function jh(t,n,e){var r=Ao(t).call(t);return r[5]=n[e],r}function _h(t){var n,e;return n=new Th({props:{buttons:t[8]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.buttons=t[8]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Dh(t){var n,e,r,o;return e=new Th({props:{buttons:t[8]}}),{c:function(){n=Ec("div"),uf(e.$$.fragment),Dc(n,"class",r=t[1].buttonGroup)},m:function(t,r){xc(t,n,r),cf(e,n,null),o=!0},p:function(t,i){var a={};1&i&&(a.buttons=t[8]),e.$set(a),(!o||2&i&&r!==(r=t[1].buttonGroup))&&Dc(n,"class",r)},i:function(t){o||(of(e.$$.fragment,t),o=!0)},o:function(t){af(e.$$.fragment,t),o=!1},d:function(t){t&&kc(n),ff(e)}}}function Ph(t){var n,e,r,o,i=[Dh,_h],a=[];function u(t,n){return t[8].length>1?0:1}return n=u(t),e=a[n]=i[n](t),{c:function(){e.c(),r=jc()},m:function(t,e){a[n].m(t,e),xc(t,r,e),o=!0},p:function(t,o){var c=n;(n=u(t))===c?a[n].p(t,o):(ef(),af(a[c],1,1,(function(){a[c]=null})),rf(),(e=a[n])||(e=a[n]=i[n](t)).c(),of(e,1),e.m(r.parentNode,r))},i:function(t){o||(of(e),o=!0)},o:function(t){af(e),o=!1},d:function(t){a[n].d(t),t&&kc(r)}}}function Mh(t){for(var n,e,r,o=t[0][t[5]],i=[],a=0;a<o.length;a+=1)i[a]=Ph(Oh(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var t=0;t<i.length;t+=1)i[t].c();e=Oc()},m:function(t,o){xc(t,n,o);for(var a=0;a<i.length;a+=1)i[a].m(n,null);Sc(n,e),r=!0},p:function(t,r){if(3&r){var a;for(o=t[0][t[5]],a=0;a<o.length;a+=1){var c=Oh(t,o,a);i[a]?(i[a].p(c,r),of(i[a],1)):(i[a]=Ph(c),i[a].c(),of(i[a],1),i[a].m(n,e))}for(ef(),a=o.length;a<i.length;a+=1)u(a);rf()}},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&kc(n),Ac(i,t)}}}function Rh(t){for(var n,e,r,o=li(t[0]),i=[],a=0;a<o.length;a+=1)i[a]=Mh(jh(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var r=0;r<i.length;r+=1)i[r].c();Dc(n,"class",e=t[1].toolbar)},m:function(t,e){xc(t,n,e);for(var o=0;o<i.length;o+=1)i[o].m(n,null);r=!0},p:function(t,a){var c=Ui(a,1)[0];if(3&c){var f;for(o=li(t[0]),f=0;f<o.length;f+=1){var s=jh(t,o,f);i[f]?(i[f].p(s,c),of(i[f],1)):(i[f]=Mh(s),i[f].c(),of(i[f],1),i[f].m(n,null))}for(ef(),f=o.length;f<i.length;f+=1)u(f);rf()}(!r||2&c&&e!==(e=t[1].toolbar))&&Dc(n,"class",e)},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&kc(n),Ac(i,t)}}}function Ch(t,n,e){var r,o,i=Uc("state"),a=i.headerToolbar,u=i.theme;yc(t,a,(function(t){return e(4,r=t)})),yc(t,u,(function(t){return e(1,o=t)}));var c={start:[],center:[],end:[]};return t.$$.update=function(){if(17&t.$$.dirty)for(var n=0,o=li(c);n<o.length;n++){var i,a=o[n];e(0,c[a]=Wi(i=r[a].split(" ")).call(i,(function(t){return t.split(",")})),c)}},[c,o,a,u]}var Lh=function(t){Ut(e,t);var n=hh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Ch,Rh,vc,{}),r}return e}(hf);function Ih(t){var n,e,r,o,i,a;e=new Lh({});var u=t[2];return u&&(o=new u({})),{c:function(){n=Ec("div"),uf(e.$$.fragment),r=Oc(),o&&uf(o.$$.fragment),Dc(n,"class",i=t[0].calendar),Rc(n,"height",t[1])},m:function(t,i){xc(t,n,i),cf(e,n,null),Sc(n,r),o&&cf(o,n,null),a=!0},p:function(t,e){var r=Ui(e,1)[0];if(u!==(u=t[2])){if(o){ef();var c=o;af(c.$$.fragment,1,0,(function(){ff(c,1)})),rf()}u?(uf((o=new u({})).$$.fragment),of(o.$$.fragment,1),cf(o,n,null)):o=null}(!a||1&r&&i!==(i=t[0].calendar))&&Dc(n,"class",i),(!a||2&r)&&Rc(n,"height",t[1])},i:function(t){a||(of(e.$$.fragment,t),o&&of(o.$$.fragment,t),a=!0)},o:function(t){af(e.$$.fragment,t),o&&af(o.$$.fragment,t),a=!1},d:function(t){t&&kc(n),ff(e),o&&ff(o)}}}function Bh(t,n,e){var r,o,i,a=n.options,u=new yh(a);Fc("state",u);var c=u._viewComponent,f=u.height,s=u.theme;return yc(t,c,(function(t){return e(2,i=t)})),yc(t,f,(function(t){return e(1,o=t)})),yc(t,s,(function(t){return e(0,r=t)})),t.$$set=function(t){"options"in t&&e(6,a=t.options)},[r,o,i,c,f,s,a,function(t,n){u.hasOwnProperty(t)&&(u[t].mutate&&(n=u[t].mutate(n)),u[t].set(n))},function(t){return u.hasOwnProperty(t)?pc(u[t]):void 0},function(){u._fetchedRange.set({start:void 0,end:void 0})},function(t){var n,e=dh(pc(u._events));try{for(e.s();!(n=e.n()).done;){var r=n.value;if(r.id==t)return r}}catch(t){e.e(t)}finally{e.f()}return null},function(t){u._events.update((function(n){return mi(n).call(n,u.events.mutate([t]))}))},function(t){u._events.update((function(n){var e,r=dh(n);try{for(r.s();!(e=r.n()).done;){var o=e.value;if(o.id==t.id){ch(o,u.events.mutate([t])[0]);break}}}catch(t){r.e(t)}finally{r.f()}return n}))},function(t){u._events.update((function(n){return Vo(n).call(n,(function(n){return n.id!=t}))}))},function(){return u._view.get()}]}var Fh=function(t){Ut(e,t);var n=hh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Bh,Ih,vc,{options:6,setOption:7,getOption:8,refetchEvents:9,getEventById:10,addEvent:11,updateEvent:12,removeEvent:13,getView:14}),r}return so(e,[{key:"setOption",get:function(){return this.$$.ctx[7]}},{key:"getOption",get:function(){return this.$$.ctx[8]}},{key:"refetchEvents",get:function(){return this.$$.ctx[9]}},{key:"getEventById",get:function(){return this.$$.ctx[10]}},{key:"addEvent",get:function(){return this.$$.ctx[11]}},{key:"updateEvent",get:function(){return this.$$.ctx[12]}},{key:"removeEvent",get:function(){return this.$$.ctx[13]}},{key:"getView",get:function(){return this.$$.ctx[14]}}]),e}(hf),Uh=new Gr,Nh=function(){function t(n,e){Pt(this,t),Uh.set(this,{writable:!0,value:void 0}),function(t,n,e){var r=n.get(t);if(!r)throw new TypeError("attempted to set private field on non-instance");if(r.set)r.set.call(t,e);else{if(!r.writable)throw new TypeError("attempted to set read only private field");r.value=e}}(this,Uh,new Fh({target:n,props:{options:e}}))}return so(t,[{key:"setOption",value:function(t,n){return ao(this,Uh).setOption(t,n),this}},{key:"getOption",value:function(t){return ao(this,Uh).getOption(t)}},{key:"refetchEvents",value:function(){return ao(this,Uh).refetchEvents(),this}},{key:"addEvent",value:function(t){return ao(this,Uh).addEvent(t),this}},{key:"updateEvent",value:function(t,n){return ao(this,Uh).updateEvent(t,n),this}},{key:"removeEvent",value:function(t){return ao(this,Uh).removeEvent(t),this}},{key:"view",get:function(){return ao(this,Uh).getView()}}]),t}(),qh=Pe.some,zh=_o("some"),Gh=po("some");z({target:"Array",proto:!0,forced:!zh||!Gh},{some:function(t){return qh(this,t,arguments.length>1?arguments[1]:void 0)}});var Hh=$o("Array").some,Wh=Array.prototype,Vh=function(t){var n=t.some;return t===Wh||t instanceof Array&&n===Wh.some?Hh:n};function Jh(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Yh(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yh(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Yh(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Xh(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}var Kh=function t(n){Pt(this,t),this._days=function(t){return pf([t.date,t.firstDay,t.hiddenDays],(function(t){for(var n=Ui(t,3),e=n[0],r=n[1],o=n[2],i=[],a=Bl(e),u=7;a.getDay()!==r&&u;)Nl(a),--u;for(var c=0;c<7;++c)Pi(o).call(o,a.getDay())||i.push(Bl(a)),Ul(a);return i}))}(n)};function Qh(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function Zh(t){var n,e,r,o=t[3].format(t[8])+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[0].day)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){12&i&&o!==(o=t[3].format(t[8])+"")&&Mc(e,o),1&i&&r!==(r=t[0].day)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function tv(t){for(var n,e,r,o,i,a,u,c=t[2],f=[],s=0;s<c.length;s+=1)f[s]=Zh(Qh(t,c,s));return{c:function(){n=Ec("div"),e=Ec("div");for(var c=0;c<f.length;c+=1)f[c].c();o=Oc(),i=Ec("div"),Dc(e,"class",r=t[0].days),Dc(i,"class",a=t[0].hiddenScroll),Dc(n,"class",u=t[0].header+" "+t[0].month+(t[1]?" "+t[0].withScroll:""))},m:function(t,r){xc(t,n,r),Sc(n,e);for(var a=0;a<f.length;a+=1)f[a].m(e,null);Sc(n,o),Sc(n,i)},p:function(t,o){var s=Ui(o,1)[0];if(13&s){var l;for(c=t[2],l=0;l<c.length;l+=1){var h=Qh(t,c,l);f[l]?f[l].p(h,s):(f[l]=Zh(h),f[l].c(),f[l].m(e,null))}for(;l<f.length;l+=1)f[l].d(1);f.length=c.length}1&s&&r!==(r=t[0].days)&&Dc(e,"class",r),1&s&&a!==(a=t[0].hiddenScroll)&&Dc(i,"class",a),3&s&&u!==(u=t[0].header+" "+t[0].month+(t[1]?" "+t[0].withScroll:""))&&Dc(n,"class",u)},i:cc,o:cc,d:function(t){t&&kc(n),Ac(f,t)}}}function nv(t,n,e){var r,o,i,a,u=Uc("state"),c=u.theme,f=u._intlDayHeader,s=u._scrollable;yc(t,c,(function(t){return e(0,r=t)})),yc(t,f,(function(t){return e(3,a=t)})),yc(t,s,(function(t){return e(1,o=t)}));var l=Uc("view-state")._days;return yc(t,l,(function(t){return e(2,i=t)})),[r,o,i,a,c,f,s,l]}var ev=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,nv,tv,vc,{}),r}return e}(hf);function rv(t){var n,e,r,o,i,a,u,c=t[7].default,f=gc(c,t,t[6],null);return{c:function(){n=Ec("div"),e=Ec("div"),f&&f.c(),Dc(e,"class",r=t[1].content),Dc(n,"class",o=t[1].body+" "+t[1].month)},m:function(r,o){xc(r,n,o),Sc(n,e),f&&f.m(e,null),t[8](n),i=!0,a||(u=_c(window,"resize",t[5]),a=!0)},p:function(t,a){var u=Ui(a,1)[0];f&&f.p&&64&u&&bc(f,c,t,t[6],u,null,null),(!i||2&u&&r!==(r=t[1].content))&&Dc(e,"class",r),(!i||2&u&&o!==(o=t[1].body+" "+t[1].month))&&Dc(n,"class",o)},i:function(t){i||(of(f,t),i=!0)},o:function(t){af(f,t),i=!1},d:function(e){e&&kc(n),f&&f.d(e),t[8](null),a=!1,u()}}}function ov(t,n,e){var r,o,i,a=n.$$slots,u=void 0===a?{}:a,c=n.$$scope,f=Uc("state"),s=f._events,l=f._scrollable,h=f.theme;function v(){wc(l,fh(i))}return yc(t,s,(function(t){return e(9,r=t)})),yc(t,l,(function(t){return e(10,t)})),yc(t,h,(function(t){return e(1,o=t)})),t.$$set=function(t){"$$scope"in t&&e(6,c=t.$$scope)},t.$$.update=function(){513&t.$$.dirty&&i&&r&&Jc().then(v)},[i,o,s,l,h,v,c,u,function(t){qc[t?"unshift":"push"]((function(){e(0,i=t)}))}]}var iv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,ov,rv,vc,{}),r}return e}(hf);function av(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[3].event),Dc(n,"style",t[1])},m:function(e,a){xc(e,n,a),t[23](n),o||(i=[_c(window,"resize",t[20]),$c(r=sh.call(null,n,t[2])),_c(n,"click",(function(){hc(t[19](t[4]))&&t[19](t[4]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[19](t[5]))&&t[19](t[5]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[19](t[6]))&&t[19](t[6]).apply(this,arguments)}))],o=!0)},p:function(o,i){t=o,8&i[0]&&e!==(e=t[3].event)&&Dc(n,"class",e),2&i[0]&&Dc(n,"style",t[1]),r&&hc(r.update)&&4&i[0]&&r.update.call(null,t[2])},i:cc,o:cc,d:function(e){e&&kc(n),t[23](null),o=!1,lc(i)}}}function uv(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y,g,m,b=n.chunk,w=n.longChunks,$=Uc("state"),S=$.displayEventEnd,x=$.eventBackgroundColor,k=$.eventClick,A=$.eventColor,E=$.eventContent,T=$.eventDidMount,O=$.eventMouseEnter,j=$.eventMouseLeave,_=$.theme,D=$._view,P=$._intlEventTime;yc(t,S,(function(t){return e(28,a=t)})),yc(t,x,(function(t){return e(25,r=t)})),yc(t,k,(function(t){return e(4,h=t)})),yc(t,A,(function(t){return e(26,o=t)})),yc(t,E,(function(t){return e(29,u=t)})),yc(t,T,(function(t){return e(32,l=t)})),yc(t,O,(function(t){return e(5,v=t)})),yc(t,j,(function(t){return e(6,d=t)})),yc(t,_,(function(t){return e(3,c=t)})),yc(t,D,(function(t){return e(31,s=t)})),yc(t,P,(function(t){return e(30,f=t)}));var M,R=df(1);function C(){if(p){var t=b;t.top=0,t.prev&&(t.top=t.prev.bottom+1),t.bottom=t.top+p.getBoundingClientRect().height;var n=t.date.getTime();if(w[n]){var e,r=1,o=Jh(w[n]);try{for(o.s();!(e=o.n()).done;){var a=e.value;if(t.top<a.bottom&&t.bottom>a.top){var u=a.bottom-t.top+1;r+=u,t.top+=u,t.bottom+=u}}}catch(t){o.e(t)}finally{o.f()}wc(R,i=r)}}}return yc(t,R,(function(t){return e(27,i=t)})),Bc((function(){hc(l)&&l({event:b.event,timeText:m,el:p,view:s})})),M=C,Ic().$$.after_update.push(M),t.$$set=function(t){"chunk"in t&&e(21,b=t.chunk),"longChunks"in t&&e(22,w=t.longChunks)},t.$$.update=function(){if(236978178&t.$$.dirty[0]){var n,l=b.event.backgroundColor||r||o;e(1,y=mi(n="width:calc(".concat(100*b.days,"% + ")).call(n,7*(b.days-1),"px);")+"margin-top:".concat(i,"px;")),l&&e(1,y+="background-color:".concat(l,";"))}var h,v;1881145352&t.$$.dirty[0]|1&t.$$.dirty[1]&&e(2,(v=Ui(h=oh(b,a,u,c,f,s),2),m=v[0],g=v[1],h),g)},[p,y,g,c,h,v,d,S,x,k,A,E,T,O,j,_,D,P,R,function(t){return function(n){hc(t)&&t({event:b.event,el:p,jsEvent:n,view:s})}},C,b,w,function(t){qc[t?"unshift":"push"]((function(){e(0,p=t)}))}]}var cv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,uv,av,vc,{chunk:21,longChunks:22},[-1,-1]),r}return e}(hf);function fv(t,n,e){var r=Ao(t).call(t);return r[19]=n[e],r}function sv(t){var n,e;return n=new cv({props:{chunk:t[19],longChunks:t[1]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.chunk=t[19]),2&e&&(r.longChunks=t[1]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function lv(t){for(var n,e,r,o,i,a,u,c,f,s,l,h=t[0].getDate()+"",v=t[2],d=[],p=0;p<v.length;p+=1)d[p]=sv(fv(t,v,p));var y=function(t){return af(d[t],1,1,(function(){d[t]=null}))};return{c:function(){n=Ec("div"),e=Ec("div"),r=Tc(h),i=Oc(),a=Ec("div");for(var f=0;f<d.length;f+=1)d[f].c();Dc(e,"class",o=t[6].dayHead),Dc(a,"class",u=t[6].events),Dc(n,"class",c=t[6].day+(t[3]?" "+t[6].today:"")+(t[4]?" "+t[6].otherMonth:"")+(t[5]?" "+t[6].highlight:""))},m:function(o,u){xc(o,n,u),Sc(n,e),Sc(e,r),Sc(n,i),Sc(n,a);for(var c=0;c<d.length;c+=1)d[c].m(a,null);f=!0,s||(l=_c(n,"click",t[12]),s=!0)},p:function(t,i){var s=Ui(i,1)[0];if((!f||1&s)&&h!==(h=t[0].getDate()+"")&&Mc(r,h),(!f||64&s&&o!==(o=t[6].dayHead))&&Dc(e,"class",o),6&s){var l;for(v=t[2],l=0;l<v.length;l+=1){var p=fv(t,v,l);d[l]?(d[l].p(p,s),of(d[l],1)):(d[l]=sv(p),d[l].c(),of(d[l],1),d[l].m(a,null))}for(ef(),l=v.length;l<d.length;l+=1)y(l);rf()}(!f||64&s&&u!==(u=t[6].events))&&Dc(a,"class",u),(!f||120&s&&c!==(c=t[6].day+(t[3]?" "+t[6].today:"")+(t[4]?" "+t[6].otherMonth:"")+(t[5]?" "+t[6].highlight:"")))&&Dc(n,"class",c)},i:function(t){if(!f){for(var n=0;n<v.length;n+=1)of(d[n]);f=!0}},o:function(t){d=Vo(d).call(d,Boolean);for(var n=0;n<d.length;n+=1)af(d[n]);f=!1},d:function(t){t&&kc(n),Ac(d,t),s=!1,l()}}}function hv(t,n,e){var r,o,i,a,u,c,f=n.date,s=n.chunks,l=n.longChunks,h=Uc("state"),v=h.date,d=h.dateClick,p=h.highlightedDates,y=h._view,g=h.theme;yc(t,v,(function(t){return e(14,r=t)})),yc(t,d,(function(t){return e(16,i=t)})),yc(t,p,(function(t){return e(15,o=t)})),yc(t,y,(function(t){return e(17,a=t)})),yc(t,g,(function(t){return e(6,u=t)}));var m,b,w,$=ql(new Date);return t.$$set=function(t){"date"in t&&e(0,f=t.date),"chunks"in t&&e(13,s=t.chunks),"longChunks"in t&&e(1,l=t.longChunks)},t.$$.update=function(){if(8197&t.$$.dirty){e(2,c=[]);var n,i=Jh(s);try{for(i.s();!(n=i.n()).done;){var a=n.value;Hl(a.date,f)&&c.push(a)}}catch(t){i.e(t)}finally{i.f()}}49153&t.$$.dirty&&(e(3,m=Hl(f,$)),e(4,b=f.getMonth()!==r.getMonth()),e(5,w=Vh(o).call(o,(function(t){return Hl(t,f)}))))},[f,l,c,m,b,w,u,v,d,p,y,g,function(t){hc(i)&&i({date:f,jsEvent:t,view:a})},s]}var vv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,hv,lv,vc,{date:0,chunks:13,longChunks:1}),r}return e}(hf);function dv(t,n,e){var r=Ao(t).call(t);return r[9]=n[e],r}function pv(t){var n,e;return n=new vv({props:{date:t[9],chunks:t[1],longChunks:t[2]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[9]),2&e&&(r.chunks=t[1]),4&e&&(r.longChunks=t[2]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function yv(t){for(var n,e,r,o=t[0],i=[],a=0;a<o.length;a+=1)i[a]=pv(dv(t,o,a));var u=function(t){return af(i[t],1,1,(function(){i[t]=null}))};return{c:function(){n=Ec("div");for(var r=0;r<i.length;r+=1)i[r].c();Dc(n,"class",e=t[3].days)},m:function(t,e){xc(t,n,e);for(var o=0;o<i.length;o+=1)i[o].m(n,null);r=!0},p:function(t,a){var c=Ui(a,1)[0];if(7&c){var f;for(o=t[0],f=0;f<o.length;f+=1){var s=dv(t,o,f);i[f]?(i[f].p(s,c),of(i[f],1)):(i[f]=pv(s),i[f].c(),of(i[f],1),i[f].m(n,null))}for(ef(),f=o.length;f<i.length;f+=1)u(f);rf()}(!r||8&c&&e!==(e=t[3].days))&&Dc(n,"class",e)},i:function(t){if(!r){for(var n=0;n<o.length;n+=1)of(i[n]);r=!0}},o:function(t){i=Vo(i).call(i,Boolean);for(var n=0;n<i.length;n+=1)af(i[n]);r=!1},d:function(t){t&&kc(n),Ac(i,t)}}}function gv(t,n,e){var r,o,i,a,u,c=n.dates,f=Uc("state"),s=f._events,l=f.hiddenDays,h=f.theme;return yc(t,s,(function(t){return e(7,r=t)})),yc(t,l,(function(t){return e(8,o=t)})),yc(t,h,(function(t){return e(3,i=t)})),t.$$set=function(t){"dates"in t&&e(0,c=t.dates)},t.$$.update=function(){if(387&t.$$.dirty){e(1,a=[]);var n,i=c[0],f=Ul(Bl(c[c.length-1])),s=Jh(r);try{for(s.s();!(n=s.n()).done;){var l=n.value;if("auto"===l.display&&l.start<f&&l.end>i){var h=eh(l,i,f);a.push(h)}}}catch(t){s.e(t)}finally{s.f()}e(2,u=function(t,n){if(t.length){rh(t);var e,r,o={},i=Jh(t);try{for(i.s();!(r=i.n()).done;){for(var a=r.value;Pi(n).call(n,a.start.getDay());){var u=Ul(ql(Bl(a.start)));if(u>a.end)break;a.start=u}a.date=ql(Bl(a.start)),a.days=1;for(var c=Ul(Bl(a.date));a.end>c;){++a.days;var f=c.getTime();o[f]?o[f].push(a):o[f]=[a],Ul(c)}e&&Hl(e.date,a.date)&&(a.prev=e),e=a}}catch(t){i.e(t)}finally{i.f()}return o}}(a,o))}},[c,a,u,i,s,l,h]}var mv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,gv,yv,vc,{dates:0}),r}return e}(hf);function bv(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function wv(t){var n,e;return n=new mv({props:{dates:t[8]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.dates=t[8]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function $v(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=wv(bv(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(1&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=bv(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=wv(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function Sv(t){var n,e,r,o;return n=new ev({}),r=new iv({props:{$$slots:{default:[$v]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Oc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),xc(t,e,i),cf(r,t,i),o=!0},p:function(t,n){var e=Ui(n,1)[0],o={};2049&e&&(o.$$scope={dirty:e,ctx:t}),r.$set(o)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&kc(e),ff(r,t)}}}function xv(t,n,e){var r,o,i,a,u=Uc("state"),c=u._viewDates,f=u.hiddenDays;u.theme;return yc(t,c,(function(t){return e(5,o=t)})),yc(t,f,(function(t){return e(4,r=t)})),Fc("view-state",new Kh(Uc("state"))),t.$$.update=function(){if(57&t.$$.dirty){e(0,i=[]),e(3,a=7-r.length);for(var n=0;n<o.length/a;++n){for(var u=[],c=0;c<a;++c)u.push(o[n*a+c]);i.push(u)}}},[i,c,f]}var kv=function(t){Ut(e,t);var n=Xh(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,xv,Sv,vc,{}),r}return e}(hf),Av={createOptions:function(t){t.buttonText.dayGridMonth="month",t.theme.month="ec-month",t.view="dayGridMonth",t.views.dayGridMonth={component:kv,dayHeaderFormat:{weekday:"short"},displayEventEnd:!1,duration:{months:1},monthMode:!0,titleFormat:{year:"numeric",month:"long"}}}};function Ev(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Tv(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Tv(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Tv(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Ov(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function jv(t){var n,e,r,o,i,a=t[3].default,u=gc(a,t,t[2],null);return{c:function(){n=Ec("div"),e=Ec("div"),u&&u.c(),Dc(e,"class",r=t[0].content),Dc(n,"class",o=t[0].body+" "+t[0].list)},m:function(t,r){xc(t,n,r),Sc(n,e),u&&u.m(e,null),i=!0},p:function(t,c){var f=Ui(c,1)[0];u&&u.p&&4&f&&bc(u,a,t,t[2],f,null,null),(!i||1&f&&r!==(r=t[0].content))&&Dc(e,"class",r),(!i||1&f&&o!==(o=t[0].body+" "+t[0].list))&&Dc(n,"class",o)},i:function(t){i||(of(u,t),i=!0)},o:function(t){af(u,t),i=!1},d:function(t){t&&kc(n),u&&u.d(t)}}}function _v(t,n,e){var r,o=n.$$slots,i=void 0===o?{}:o,a=n.$$scope,u=Uc("state").theme;return yc(t,u,(function(t){return e(0,r=t)})),t.$$set=function(t){"$$scope"in t&&e(2,a=t.$$scope)},[r,u,a,i]}var Dv=function(t){Ut(e,t);var n=Ov(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,_v,jv,vc,{}),r}return e}(hf);function Pv(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[2].event)},m:function(e,a){xc(e,n,a),t[19](n),o||(i=[$c(r=sh.call(null,n,t[1])),_c(n,"click",(function(){hc(t[17](t[3]))&&t[17](t[3]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[17](t[4]))&&t[17](t[4]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[17](t[5]))&&t[17](t[5]).apply(this,arguments)}))],o=!0)},p:function(o,i){var a=Ui(i,1)[0];t=o,4&a&&e!==(e=t[2].event)&&Dc(n,"class",e),r&&hc(r.update)&&2&a&&r.update.call(null,t[1])},i:cc,o:cc,d:function(e){e&&kc(n),t[19](null),o=!1,lc(i)}}}function Mv(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y,g=n.chunk,m=Uc("state"),b=m.displayEventEnd,w=m.eventBackgroundColor,$=m.eventColor,S=m.eventContent,x=m.eventClick,k=m.eventDidMount,A=m.eventMouseEnter,E=m.eventMouseLeave,T=m.theme,O=m._view,j=m._intlEventTime;return yc(t,b,(function(t){return e(23,i=t)})),yc(t,w,(function(t){return e(21,r=t)})),yc(t,$,(function(t){return e(22,o=t)})),yc(t,S,(function(t){return e(24,a=t)})),yc(t,x,(function(t){return e(3,l=t)})),yc(t,k,(function(t){return e(27,s=t)})),yc(t,A,(function(t){return e(4,h=t)})),yc(t,E,(function(t){return e(5,v=t)})),yc(t,T,(function(t){return e(2,u=t)})),yc(t,O,(function(t){return e(26,f=t)})),yc(t,j,(function(t){return e(25,c=t)})),Bc((function(){hc(s)&&s({event:g.event,timeText:y,el:d,view:f})})),t.$$set=function(t){"chunk"in t&&e(18,g=t.chunk)},t.$$.update=function(){if(132382724&t.$$.dirty){var n,s,l=g.event.backgroundColor||r||o;e(1,(s=Ui(n=oh(g,i,a,u,c,f,!0,l),2),y=s[0],p=s[1],n),p)}},[d,p,u,l,h,v,b,w,$,S,x,k,A,E,T,O,j,function(t){return function(n){hc(t)&&t({event:g.event,el:d,jsEvent:n,view:f})}},g,function(t){qc[t?"unshift":"push"]((function(){e(0,d=t)}))}]}var Rv=function(t){Ut(e,t);var n=Ov(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Mv,Pv,vc,{chunk:18}),r}return e}(hf);function Cv(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function Lv(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v=t[5].format(t[0])+"",d=t[6].format(t[0])+"",p=t[1],y=[],g=0;g<p.length;g+=1)y[g]=Iv(Cv(t,p,g));var m=function(t){return af(y[t],1,1,(function(){y[t]=null}))};return{c:function(){n=Ec("div"),e=Tc(v),r=Oc(),o=Ec("span"),i=Tc(d),c=Oc();for(var s=0;s<y.length;s+=1)y[s].c();f=jc(),Dc(o,"class",a=t[4].daySide),Dc(n,"class",u=t[4].day+(t[2]?" "+t[4].today:"")+(t[3]?" "+t[4].highlight:""))},m:function(a,u){xc(a,n,u),Sc(n,e),Sc(n,r),Sc(n,o),Sc(o,i),xc(a,c,u);for(var v=0;v<y.length;v+=1)y[v].m(a,u);xc(a,f,u),s=!0,l||(h=_c(n,"click",t[14]),l=!0)},p:function(t,r){if((!s||33&r)&&v!==(v=t[5].format(t[0])+"")&&Mc(e,v),(!s||65&r)&&d!==(d=t[6].format(t[0])+"")&&Mc(i,d),(!s||16&r&&a!==(a=t[4].daySide))&&Dc(o,"class",a),(!s||28&r&&u!==(u=t[4].day+(t[2]?" "+t[4].today:"")+(t[3]?" "+t[4].highlight:"")))&&Dc(n,"class",u),2&r){var c;for(p=t[1],c=0;c<p.length;c+=1){var l=Cv(t,p,c);y[c]?(y[c].p(l,r),of(y[c],1)):(y[c]=Iv(l),y[c].c(),of(y[c],1),y[c].m(f.parentNode,f))}for(ef(),c=p.length;c<y.length;c+=1)m(c);rf()}},i:function(t){if(!s){for(var n=0;n<p.length;n+=1)of(y[n]);s=!0}},o:function(t){y=Vo(y).call(y,Boolean);for(var n=0;n<y.length;n+=1)af(y[n]);s=!1},d:function(t){t&&kc(n),t&&kc(c),Ac(y,t),t&&kc(f),l=!1,h()}}}function Iv(t){var n,e;return n=new Rv({props:{chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};2&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Bv(t){var n,e,r=t[1].length&&Lv(t);return{c:function(){r&&r.c(),n=jc()},m:function(t,o){r&&r.m(t,o),xc(t,n,o),e=!0},p:function(t,e){var o=Ui(e,1)[0];t[1].length?r?(r.p(t,o),2&o&&of(r,1)):((r=Lv(t)).c(),of(r,1),r.m(n.parentNode,n)):r&&(ef(),af(r,1,1,(function(){r=null})),rf())},i:function(t){e||(of(r),e=!0)},o:function(t){af(r),e=!1},d:function(t){r&&r.d(t),t&&kc(n)}}}function Fv(t,n,e){var r,o,i,a,u,c,f,s=n.date,l=Uc("state"),h=l._events,v=(l._intlDayHeader,l._view),d=(l.date,l.dateClick),p=l.highlightedDates,y=l.theme;yc(t,h,(function(t){return e(15,r=t)})),yc(t,v,(function(t){return e(18,a=t)})),yc(t,d,(function(t){return e(17,i=t)})),yc(t,p,(function(t){return e(16,o=t)})),yc(t,y,(function(t){return e(4,u=t)}));var g,m=Uc("view-state"),b=m._intlListDayFormat,w=m._intlListDaySideFormat;yc(t,b,(function(t){return e(5,c=t)})),yc(t,w,(function(t){return e(6,f=t)}));var $,S,x=ql(new Date);return t.$$set=function(t){"date"in t&&e(0,s=t.date)},t.$$.update=function(){if(32771&t.$$.dirty){e(1,g=[]);var n,i=s,a=Ul(Bl(s)),u=Ev(r);try{for(u.s();!(n=u.n()).done;){var c=n.value;if("auto"===c.display&&c.start<a&&c.end>i){var f=eh(c,i,a);g.push(f)}}}catch(t){u.e(t)}finally{u.f()}rh(g)}65537&t.$$.dirty&&(e(2,$=Hl(s,x)),e(3,S=Vh(o).call(o,(function(t){return Hl(t,s)}))))},[s,g,$,S,u,c,f,h,v,d,p,y,b,w,function(t){hc(i)&&i({date:s,jsEvent:t,view:a})}]}var Uv=function(t){Ut(e,t);var n=Ov(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Fv,Bv,vc,{date:0}),r}return e}(hf),Nv=function t(n){Pt(this,t),this._intlListDayFormat=uh(n.locale,n.listDayFormat),this._intlListDaySideFormat=uh(n.locale,n.listDaySideFormat)};function qv(t,n,e){var r=Ao(t).call(t);return r[16]=n[e],r}function zv(t){for(var n,e,r=t[2],o=[],i=0;i<r.length;i+=1)o[i]=Hv(qv(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(4&e){var i;for(r=t[2],i=0;i<r.length;i+=1){var u=qv(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Hv(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function Gv(t){var n,e,r,o,i;return{c:function(){Dc(n=Ec("div"),"class",e=t[3].noEvents)},m:function(e,a){xc(e,n,a),o||(i=[$c(r=sh.call(null,n,t[1])),_c(n,"click",t[10])],o=!0)},p:function(t,o){8&o&&e!==(e=t[3].noEvents)&&Dc(n,"class",e),r&&hc(r.update)&&2&o&&r.update.call(null,t[1])},i:cc,o:cc,d:function(t){t&&kc(n),o=!1,lc(i)}}}function Hv(t){var n,e;return n=new Uv({props:{date:t[16]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.date=t[16]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Wv(t){var n,e,r,o,i=[Gv,zv],a=[];function u(t,n){return t[0]?0:1}return n=u(t),e=a[n]=i[n](t),{c:function(){e.c(),r=jc()},m:function(t,e){a[n].m(t,e),xc(t,r,e),o=!0},p:function(t,o){var c=n;(n=u(t))===c?a[n].p(t,o):(ef(),af(a[c],1,1,(function(){a[c]=null})),rf(),(e=a[n])||(e=a[n]=i[n](t)).c(),of(e,1),e.m(r.parentNode,r))},i:function(t){o||(of(e),o=!0)},o:function(t){af(e),o=!1},d:function(t){a[n].d(t),t&&kc(r)}}}function Vv(t){var n,e;return n=new Dv({props:{$$slots:{default:[Wv]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r=Ui(e,1)[0],o={};524303&r&&(o.$$scope={dirty:r,ctx:t}),n.$set(o)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Jv(t,n,e){var r,o,i,a,u,c,f,s,l=Uc("state"),h=l._events,v=l._view,d=l._viewDates,p=l.noEventsClick,y=l.noEventsContent,g=l.theme;return yc(t,h,(function(t){return e(11,o=t)})),yc(t,v,(function(t){return e(14,u=t)})),yc(t,d,(function(t){return e(2,r=t)})),yc(t,p,(function(t){return e(13,a=t)})),yc(t,y,(function(t){return e(12,i=t)})),yc(t,g,(function(t){return e(3,c=t)})),Fc("view-state",new Nv(Uc("state"))),t.$$.update=function(){if(2052&t.$$.dirty){e(0,f=!0);var n,a=r[0],u=Ul(Bl(r[r.length-1])),c=Ev(o);try{for(c.s();!(n=c.n()).done;){var l=n.value;if("auto"===l.display&&l.start<u&&l.end>a){e(0,f=!1);break}}}catch(t){c.e(t)}finally{c.f()}}4098&t.$$.dirty&&(e(1,s=hc(i)?i():i),"string"==typeof s&&e(1,s={html:s}))},[f,s,r,c,h,v,d,p,y,g,function(t){hc(a)&&a({jsEvent:t,view:u})}]}var Yv=function(t){Ut(e,t);var n=Ov(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Jv,Vv,vc,{}),r}return e}(hf),Xv={createOptions:function(t){t.buttonText.listDay="list",t.buttonText.listWeek="list",t.buttonText.listMonth="list",t.buttonText.listYear="list",t.listDayFormat={weekday:"long"},t.listDaySideFormat={year:"numeric",month:"long",day:"numeric"},t.noEventsClick=void 0,t.noEventsContent="No events",t.theme.daySide="ec-day-side",t.theme.list="ec-list",t.theme.noEvents="ec-no-events",t.view="listWeek",t.views.listDay={component:Yv,duration:{days:1}},t.views.listWeek={component:Yv,duration:{weeks:1}},t.views.listMonth={component:Yv,duration:{months:1}},t.views.listYear={component:Yv,duration:{years:1}}}};function Kv(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function Qv(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Zv(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Zv(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Zv(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var td=function t(n){Pt(this,t),this._slotTimeLimits=function(t){return pf([t._events,t._viewDates,t.flexibleSlotTimeLimits,t.slotMinTime,t.slotMaxTime],(function(t){var n=Ui(t,5),e=n[0],r=n[1],o=n[2],i=n[3],a=n[4],u=Il(i),c=Il(a);if(o){var f,s=Il(Math.min(u.seconds,Math.max(0,c.seconds-Cl))),l=Il(Math.max(c.seconds,s.seconds+Cl)),h=Qv(r);try{t:for(h.s();!(f=h.n()).done;){var v,d=f.value,p=Fl(Bl(d),u),y=Fl(Bl(d),c),g=Fl(Bl(d),s),m=Fl(Bl(d),l),b=Qv(e);try{for(b.s();!(v=b.n()).done;){var w=v.value;if("auto"===w.display&&w.start<m&&w.end>g){if(w.start<p){var $=Math.max((w.start-d)/1e3,s.seconds);$<u.seconds&&(u.seconds=$)}if(w.end>y){var S=Math.min((w.end-d)/1e3,l.seconds);S>c.seconds&&(c.seconds=S)}if(u.seconds===s.seconds&&c.seconds===l.seconds)break t}}}catch(t){b.e(t)}finally{b.f()}}}catch(t){h.e(t)}finally{h.f()}}return{min:u,max:c}}))}(n),this._times=function(t,n){return pf([n._slotTimeLimits,t._intlSlotLabel,t.slotDuration],(function(t){var n=Ui(t,3),e=n[0],r=n[1],o=n[2],i=o.seconds>=3600,a=[],u=Ll("2020-01-01"),c=Bl(u),f=1;for(Fl(u,e.min),Fl(c,e.max);u<c;)a.push(a.length&&(f||i)?r.format(u):""),Fl(u,o),f=1-f;return a}))}(n,this)};function nd(t,n,e){var r=Ao(t).call(t);return r[8]=n[e],r}function ed(t){var n,e,r,o=t[8]+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[0].time)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){4&i&&o!==(o=t[8]+"")&&Mc(e,o),1&i&&r!==(r=t[0].time)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function rd(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v,d,p,y,g=t[2],m=[],b=0;b<g.length;b+=1)m[b]=ed(nd(t,g,b));var w=t[7].default,$=gc(w,t,t[6],null);return{c:function(){n=Ec("div"),e=Ec("div"),r=Ec("div");for(var y=0;y<m.length;y+=1)m[y].c();a=Oc(),u=Ec("div"),c=Ec("div"),s=Oc(),$&&$.c(),h=Oc(),v=Ec("div"),Dc(r,"class",o=t[0].hiddenTimes),Dc(e,"class",i=t[0].sidebar),Dc(c,"class",f=t[0].lines),Dc(u,"class",l=t[0].days),Dc(v,"class",d=t[0].hiddenScroll),Dc(n,"class",p=t[0].header+(t[1]?" "+t[0].withScroll:""))},m:function(t,o){xc(t,n,o),Sc(n,e),Sc(e,r);for(var i=0;i<m.length;i+=1)m[i].m(r,null);Sc(n,a),Sc(n,u),Sc(u,c),Sc(u,s),$&&$.m(u,null),Sc(n,h),Sc(n,v),y=!0},p:function(t,a){var s=Ui(a,1)[0];if(5&s){var h;for(g=t[2],h=0;h<g.length;h+=1){var b=nd(t,g,h);m[h]?m[h].p(b,s):(m[h]=ed(b),m[h].c(),m[h].m(r,null))}for(;h<m.length;h+=1)m[h].d(1);m.length=g.length}(!y||1&s&&o!==(o=t[0].hiddenTimes))&&Dc(r,"class",o),(!y||1&s&&i!==(i=t[0].sidebar))&&Dc(e,"class",i),(!y||1&s&&f!==(f=t[0].lines))&&Dc(c,"class",f),$&&$.p&&64&s&&bc($,w,t,t[6],s,null,null),(!y||1&s&&l!==(l=t[0].days))&&Dc(u,"class",l),(!y||1&s&&d!==(d=t[0].hiddenScroll))&&Dc(v,"class",d),(!y||3&s&&p!==(p=t[0].header+(t[1]?" "+t[0].withScroll:"")))&&Dc(n,"class",p)},i:function(t){y||(of($,t),y=!0)},o:function(t){af($,t),y=!1},d:function(t){t&&kc(n),Ac(m,t),$&&$.d(t)}}}function od(t,n,e){var r,o,i,a=n.$$slots,u=void 0===a?{}:a,c=n.$$scope,f=Uc("state"),s=f._scrollable,l=f.theme;yc(t,s,(function(t){return e(1,o=t)})),yc(t,l,(function(t){return e(0,r=t)}));var h=Uc("view-state")._times;return yc(t,h,(function(t){return e(2,i=t)})),t.$$set=function(t){"$$scope"in t&&e(6,c=t.$$scope)},[r,o,i,s,l,h,c,u]}var id=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,od,rd,vc,{}),r}return e}(hf);function ad(t,n,e){var r=Ao(t).call(t);return r[23]=n[e],r}function ud(t,n,e){var r=Ao(t).call(t);return r[26]=n[e],r}function cd(t){var n,e,r,o=t[26]+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[4].time)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){8&i&&o!==(o=t[26]+"")&&Mc(e,o),16&i&&r!==(r=t[4].time)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function fd(t){var n,e;return{c:function(){Dc(n=Ec("div"),"class",e=t[4].line)},m:function(t,e){xc(t,n,e)},p:function(t,r){16&r&&e!==(e=t[4].line)&&Dc(n,"class",e)},d:function(t){t&&kc(n)}}}function sd(t){for(var n,e,r,o,i,a,u,c,f,s,l,h,v,d,p,y=t[3],g=[],m=0;m<y.length;m+=1)g[m]=cd(ud(t,y,m));for(var b=t[2],w=[],$=0;$<b.length;$+=1)w[$]=fd(ad(t,b,$));var S=t[14].default,x=gc(S,t,t[13],null);return{c:function(){n=Ec("div"),e=Ec("div"),r=Ec("div");for(var v=0;v<g.length;v+=1)g[v].c();i=Oc(),a=Ec("div"),u=Ec("div");for(var d=0;d<w.length;d+=1)w[d].c();f=Oc(),x&&x.c(),Dc(r,"class",o=t[4].sidebar),Dc(u,"class",c=t[4].lines),Dc(a,"class",s=t[4].days),Dc(e,"class",l=t[4].content),Dc(n,"class",h=t[4].body+(t[1]?" "+t[4].compact:""))},m:function(o,c){xc(o,n,c),Sc(n,e),Sc(e,r);for(var s=0;s<g.length;s+=1)g[s].m(r,null);Sc(e,i),Sc(e,a),Sc(a,u);for(var l=0;l<w.length;l+=1)w[l].m(u,null);Sc(a,f),x&&x.m(a,null),t[15](n),v=!0,d||(p=_c(window,"resize",t[12]),d=!0)},p:function(t,i){var f=Ui(i,1)[0];if(24&f){var d;for(y=t[3],d=0;d<y.length;d+=1){var p=ud(t,y,d);g[d]?g[d].p(p,f):(g[d]=cd(p),g[d].c(),g[d].m(r,null))}for(;d<g.length;d+=1)g[d].d(1);g.length=y.length}if((!v||16&f&&o!==(o=t[4].sidebar))&&Dc(r,"class",o),20&f){var m;for(b=t[2],m=0;m<b.length;m+=1){var $=ad(t,b,m);w[m]?w[m].p($,f):(w[m]=fd($),w[m].c(),w[m].m(u,null))}for(;m<w.length;m+=1)w[m].d(1);w.length=b.length}(!v||16&f&&c!==(c=t[4].lines))&&Dc(u,"class",c),x&&x.p&&8192&f&&bc(x,S,t,t[13],f,null,null),(!v||16&f&&s!==(s=t[4].days))&&Dc(a,"class",s),(!v||16&f&&l!==(l=t[4].content))&&Dc(e,"class",l),(!v||18&f&&h!==(h=t[4].body+(t[1]?" "+t[4].compact:"")))&&Dc(n,"class",h)},i:function(t){v||(of(x,t),v=!0)},o:function(t){af(x,t),v=!1},d:function(e){e&&kc(n),Ac(g,e),Ac(w,e),x&&x.d(e),t[15](null),d=!1,p()}}}function ld(t,n,e){var r,o,i,a,u,c,f=n.$$slots,s=void 0===f?{}:f,l=n.$$scope,h=Uc("state"),v=h.slotDuration,d=(h._intlSlotLabel,h._viewDates),p=h.scrollTime,y=h._scrollable,g=h.theme;yc(t,v,(function(t){return e(17,r=t)})),yc(t,d,(function(t){return e(19,a=t)})),yc(t,p,(function(t){return e(20,u=t)})),yc(t,y,(function(t){return e(21,t)})),yc(t,g,(function(t){return e(4,c=t)}));var m,b,w=Uc("view-state"),$=w._slotTimeLimits,S=w._times;yc(t,$,(function(t){return e(18,i=t)})),yc(t,S,(function(t){return e(3,o=t)}));var x,k=[];function A(){wc(y,fh(m))}return t.$$set=function(t){"$$scope"in t&&e(13,l=t.$$scope)},t.$$.update=function(){393224&t.$$.dirty&&(e(1,b=r.seconds>=3600),e(2,k.length=o.length,k),e(16,x=i.min.seconds)),1769473&t.$$.dirty&&m&&a&&e(0,m.scrollTop=(u.seconds-x)/r.seconds*24-12,m),131081&t.$$.dirty&&m&&o&&r&&Jc().then(A)},[m,b,k,o,c,v,d,p,y,g,$,S,A,l,s,function(t){qc[t?"unshift":"push"]((function(){e(0,m=t),e(19,a),e(20,u),e(16,x),e(17,r),e(3,o),e(18,i)}))}]}var hd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,ld,sd,vc,{}),r}return e}(hf);function vd(t){var n,e,r,o;return{c:function(){Dc(n=Ec("div"),"class",t[1]),Dc(n,"style",t[2])},m:function(i,a){xc(i,n,a),t[23](n),r||(o=[$c(e=sh.call(null,n,t[3])),_c(n,"click",(function(){hc(t[20](t[4]))&&t[20](t[4]).apply(this,arguments)})),_c(n,"mouseenter",(function(){hc(t[20](t[5]))&&t[20](t[5]).apply(this,arguments)})),_c(n,"mouseleave",(function(){hc(t[20](t[6]))&&t[20](t[6]).apply(this,arguments)}))],r=!0)},p:function(r,o){t=r,2&o[0]&&Dc(n,"class",t[1]),4&o[0]&&Dc(n,"style",t[2]),e&&hc(e.update)&&8&o[0]&&e.update.call(null,t[3])},i:cc,o:cc,d:function(e){e&&kc(n),t[23](null),r=!1,lc(o)}}}function dd(t,n,e){var r,o,i,a,u,c,f,s,l,h,v,d,p,y=n.date,g=n.chunk,m=Uc("state"),b=m.displayEventEnd,w=m.eventBackgroundColor,$=m.eventColor,S=m.eventContent,x=m.eventClick,k=m.eventDidMount,A=m.eventMouseEnter,E=m.eventMouseLeave,T=m.slotDuration,O=m.theme,j=m._view,_=m._intlEventTime;yc(t,b,(function(t){return e(30,c=t)})),yc(t,w,(function(t){return e(27,i=t)})),yc(t,$,(function(t){return e(28,a=t)})),yc(t,S,(function(t){return e(31,f=t)})),yc(t,x,(function(t){return e(4,v=t)})),yc(t,k,(function(t){return e(34,h=t)})),yc(t,A,(function(t){return e(5,d=t)})),yc(t,E,(function(t){return e(6,p=t)})),yc(t,T,(function(t){return e(25,r=t)})),yc(t,O,(function(t){return e(29,u=t)})),yc(t,j,(function(t){return e(33,l=t)})),yc(t,_,(function(t){return e(32,s=t)}));var D,P,M,R,C,L=Uc("view-state")._slotTimeLimits;return yc(t,L,(function(t){return e(26,o=t)})),Bc((function(){hc(h)&&h({event:g.event,timeText:C,el:D,view:l})})),t.$$set=function(t){"date"in t&&e(21,y=t.date),"chunk"in t&&e(22,g=t.chunk)},t.$$.update=function(){if(2120220676&t.$$.dirty[0]|7&t.$$.dirty[1]){var n,h,v=r.seconds/60,d=o.min.seconds/60,p=(g.start-y)/1e3/60,m=(p-d)/v*24,b=((g.end-y)/1e3/60-p)/v*24,w=(o.max.seconds/60-p)/v*24,$=g.event.backgroundColor||i||a;switch(e(2,M="top:".concat(m,"px;")+"min-height:".concat(b,"px;")+"height:".concat(b,"px;")+"max-height:".concat(w,"px;")+"z-index:".concat(g.column+1,";")),$&&e(2,M+="background-color:".concat($,";")),g.event.display){case"background":e(1,P=u.bgEvent);break;default:e(1,P=u.event),e(2,M+="left:".concat(100/g.group.columns.length*g.column,"%;")+"width:".concat(100/g.group.columns.length*.5*(1+g.group.columns.length-g.column),"%;"))}e(3,(h=Ui(n=oh(g,c,f,u,s,l),2),C=h[0],R=h[1],n),R)}},[D,P,M,R,v,d,p,b,w,$,S,x,k,A,E,T,O,j,_,L,function(t){return function(n){hc(t)&&t({event:g.event,el:D,jsEvent:n,view:l})}},y,g,function(t){qc[t?"unshift":"push"]((function(){e(0,D=t)}))}]}var pd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,dd,vd,vc,{date:21,chunk:22},[-1,-1]),r}return e}(hf);function yd(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function gd(t,n,e){var r=Ao(t).call(t);return r[22]=n[e],r}function md(t){var n,e;return n=new pd({props:{date:t[0],chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[0]),4&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function bd(t){var n,e;return n=new pd({props:{date:t[0],chunk:t[22]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[0]),2&e&&(r.chunk=t[22]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function wd(t){for(var n,e,r,o,i,a,u,c,f,s,l=t[2],h=[],v=0;v<l.length;v+=1)h[v]=md(gd(t,l,v));for(var d=function(t){return af(h[t],1,1,(function(){h[t]=null}))},p=t[1],y=[],g=0;g<p.length;g+=1)y[g]=bd(yd(t,p,g));var m=function(t){return af(y[t],1,1,(function(){y[t]=null}))};return{c:function(){n=Ec("div"),e=Ec("div");for(var c=0;c<h.length;c+=1)h[c].c();o=Oc(),i=Ec("div");for(var f=0;f<y.length;f+=1)y[f].c();Dc(e,"class",r=t[5].bgEvents),Dc(i,"class",a=t[5].events),Dc(n,"class",u=t[5].day+(t[3]?" "+t[5].today:"")+(t[4]?" "+t[5].highlight:""))},m:function(r,a){xc(r,n,a),Sc(n,e);for(var u=0;u<h.length;u+=1)h[u].m(e,null);Sc(n,o),Sc(n,i);for(var l=0;l<y.length;l+=1)y[l].m(i,null);c=!0,f||(s=_c(n,"click",t[13]),f=!0)},p:function(t,o){var f=Ui(o,1)[0];if(5&f){var s;for(l=t[2],s=0;s<l.length;s+=1){var v=gd(t,l,s);h[s]?(h[s].p(v,f),of(h[s],1)):(h[s]=md(v),h[s].c(),of(h[s],1),h[s].m(e,null))}for(ef(),s=l.length;s<h.length;s+=1)d(s);rf()}if((!c||32&f&&r!==(r=t[5].bgEvents))&&Dc(e,"class",r),3&f){var g;for(p=t[1],g=0;g<p.length;g+=1){var b=yd(t,p,g);y[g]?(y[g].p(b,f),of(y[g],1)):(y[g]=bd(b),y[g].c(),of(y[g],1),y[g].m(i,null))}for(ef(),g=p.length;g<y.length;g+=1)m(g);rf()}(!c||32&f&&a!==(a=t[5].events))&&Dc(i,"class",a),(!c||56&f&&u!==(u=t[5].day+(t[3]?" "+t[5].today:"")+(t[4]?" "+t[5].highlight:"")))&&Dc(n,"class",u)},i:function(t){if(!c){for(var n=0;n<l.length;n+=1)of(h[n]);for(var e=0;e<p.length;e+=1)of(y[e]);c=!0}},o:function(t){h=Vo(h).call(h,Boolean);for(var n=0;n<h.length;n+=1)af(h[n]);y=Vo(y).call(y,Boolean);for(var e=0;e<y.length;e+=1)af(y[e]);c=!1},d:function(t){t&&kc(n),Ac(h,t),Ac(y,t),f=!1,s()}}}function $d(t,n,e){var r,o,i,a,u,c,f,s=n.date,l=n.resource,h=void 0===l?void 0:l,v=Uc("state"),d=v._events,p=v.dateClick,y=v.highlightedDates,g=v.slotDuration,m=v._view,b=v.theme;yc(t,d,(function(t){return e(16,o=t)})),yc(t,p,(function(t){return e(18,a=t)})),yc(t,y,(function(t){return e(17,i=t)})),yc(t,g,(function(t){return e(19,u=t)})),yc(t,m,(function(t){return e(20,c=t)})),yc(t,b,(function(t){return e(5,f=t)}));var w,$,S=Uc("view-state")._slotTimeLimits;yc(t,S,(function(t){return e(15,r=t)}));var x,k,A=ql(new Date);return t.$$set=function(t){"date"in t&&e(0,s=t.date),"resource"in t&&e(14,h=t.resource)},t.$$.update=function(){if(114695&t.$$.dirty){e(1,w=[]),e(2,$=[]);var n,a=Fl(Bl(s),r.min),u=Fl(Bl(s),r.max),c=Qv(o);try{for(c.s();!(n=c.n()).done;){var f,l=n.value;if(l.start<u&&l.end>a&&(void 0===h||Pi(f=l.resourceIds).call(f,h.id))){var v=eh(l,a,u);switch(l.display){case"background":$.push(v);break;default:w.push(v)}}}}catch(t){c.e(t)}finally{c.f()}!function(t){if(t.length){rh(t);var n,e={columns:[],end:t[0].end},r=Qv(t);try{for(r.s();!(n=r.n()).done;){var o=n.value,i=0;if(o.start<e.end){for(;i<e.columns.length&&!(e.columns[i][e.columns[i].length-1].end<=o.start);++i);o.end>e.end&&(e.end=o.end)}else e={columns:[],end:o.end};e.columns.length<i+1&&e.columns.push([]),e.columns[i].push(o),o.group=e,o.column=i}}catch(t){r.e(t)}finally{r.f()}}}(w)}131073&t.$$.dirty&&(e(3,x=Hl(s,A)),e(4,k=Vh(i).call(i,(function(t){return Hl(t,s)}))))},[s,w,$,x,k,f,d,p,y,g,m,b,S,function(t){if(hc(a)){var n=t.currentTarget.getBoundingClientRect(),e=t.clientY-n.top,o=Fl(Bl(s),u,Math.floor(e/24+r.min.seconds/u.seconds));a({date:o,jsEvent:t,view:c,resource:h})}},h]}var Sd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,$d,wd,vc,{date:0,resource:14}),r}return e}(hf);function xd(t,n,e){var r=Ao(t).call(t);return r[7]=n[e],r}function kd(t,n,e){var r=Ao(t).call(t);return r[7]=n[e],r}function Ad(t){var n,e,r,o=t[2].format(t[7])+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[1].day)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){5&i&&o!==(o=t[2].format(t[7])+"")&&Mc(e,o),2&i&&r!==(r=t[1].day)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function Ed(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=Ad(kd(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);xc(t,n,e)},p:function(t,o){if(7&o){var i;for(e=t[0],i=0;i<e.length;i+=1){var a=kd(t,e,i);r[i]?r[i].p(a,o):(r[i]=Ad(a),r[i].c(),r[i].m(n.parentNode,n))}for(;i<r.length;i+=1)r[i].d(1);r.length=e.length}},d:function(t){Ac(r,t),t&&kc(n)}}}function Td(t){var n,e;return n=new Sd({props:{date:t[7]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};1&e&&(r.date=t[7]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Od(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=Td(xd(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(1&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=xd(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Td(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function jd(t){var n,e,r,o;return n=new id({props:{$$slots:{default:[Ed]},$$scope:{ctx:t}}}),r=new hd({props:{$$slots:{default:[Od]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Oc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),xc(t,e,i),cf(r,t,i),o=!0},p:function(t,e){var o=Ui(e,1)[0],i={};4103&o&&(i.$$scope={dirty:o,ctx:t}),n.$set(i);var a={};4097&o&&(a.$$scope={dirty:o,ctx:t}),r.$set(a)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&kc(e),ff(r,t)}}}function _d(t,n,e){var r,o,i,a=Uc("state"),u=a._viewDates,c=a._intlDayHeader,f=a.theme;return yc(t,u,(function(t){return e(0,r=t)})),yc(t,c,(function(t){return e(2,i=t)})),yc(t,f,(function(t){return e(1,o=t)})),Fc("view-state",new td(Uc("state"))),[r,o,i,u,c,f]}var Dd=function(t){Ut(e,t);var n=Kv(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,_d,jd,vc,{}),r}return e}(hf),Pd={createOptions:function(t){t.buttonText.timeGridDay="day",t.buttonText.timeGridWeek="week",t.view="timeGridWeek",t.views.timeGridDay={component:Dd,dayHeaderFormat:{weekday:"long"},duration:{days:1},titleFormat:{year:"numeric",month:"long",day:"numeric"}},t.views.timeGridWeek={component:Dd,duration:{weeks:1}}}};function Md(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}function Rd(t,n){var e;if(void 0===Xr||null==Yr(t)){if(Jr(t)||(e=function(t,n){var e;if(!t)return;if("string"==typeof t)return Cd(t,n);var r=Ao(e=Object.prototype.toString.call(t)).call(e,8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return io(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Cd(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=Wr(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function Cd(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}function Ld(t,n,e){var r=Ao(t).call(t);return r[19]=n[e],r}function Id(t,n,e){var r=Ao(t).call(t);return r[16]=n[e],r}function Bd(t,n,e){var r=Ao(t).call(t);return r[19]=n[e],r}function Fd(t,n,e){var r=Ao(t).call(t);return r[16]=n[e],r}function Ud(t){for(var n,e,r=t[2],o=[],i=0;i<r.length;i+=1)o[i]=Nd(Bd(t,r,i));return{c:function(){n=Ec("div");for(var r=0;r<o.length;r+=1)o[r].c();Dc(n,"class",e=t[1].days)},m:function(t,e){xc(t,n,e);for(var r=0;r<o.length;r+=1)o[r].m(n,null)},p:function(t,i){if(14&i){var a;for(r=t[2],a=0;a<r.length;a+=1){var u=Bd(t,r,a);o[a]?o[a].p(u,i):(o[a]=Nd(u),o[a].c(),o[a].m(n,null))}for(;a<o.length;a+=1)o[a].d(1);o.length=r.length}2&i&&e!==(e=t[1].days)&&Dc(n,"class",e)},d:function(t){t&&kc(n),Ac(o,t)}}}function Nd(t){var n,e,r,o=t[3].format(t[19])+"";return{c:function(){n=Ec("div"),e=Tc(o),Dc(n,"class",r=t[1].day)},m:function(t,r){xc(t,n,r),Sc(n,e)},p:function(t,i){12&i&&o!==(o=t[3].format(t[19])+"")&&Mc(e,o),2&i&&r!==(r=t[1].day)&&Dc(n,"class",r)},d:function(t){t&&kc(n)}}}function qd(t){var n,e,r,o,i,a,u,c=t[16].title+"",f=t[2].length>1&&Ud(t);return{c:function(){n=Ec("div"),e=Ec("div"),r=Tc(c),i=Oc(),f&&f.c(),a=Oc(),Dc(e,"class",o=t[1].day),Dc(n,"class",u=t[1].resource)},m:function(t,o){xc(t,n,o),Sc(n,e),Sc(e,r),Sc(n,i),f&&f.m(n,null),Sc(n,a)},p:function(t,i){1&i&&c!==(c=t[16].title+"")&&Mc(r,c),2&i&&o!==(o=t[1].day)&&Dc(e,"class",o),t[2].length>1?f?f.p(t,i):((f=Ud(t)).c(),f.m(n,a)):f&&(f.d(1),f=null),2&i&&u!==(u=t[1].resource)&&Dc(n,"class",u)},d:function(t){t&&kc(n),f&&f.d()}}}function zd(t){for(var n,e=t[0],r=[],o=0;o<e.length;o+=1)r[o]=qd(Fd(t,e,o));return{c:function(){for(var t=0;t<r.length;t+=1)r[t].c();n=jc()},m:function(t,e){for(var o=0;o<r.length;o+=1)r[o].m(t,e);xc(t,n,e)},p:function(t,o){if(15&o){var i;for(e=t[0],i=0;i<e.length;i+=1){var a=Fd(t,e,i);r[i]?r[i].p(a,o):(r[i]=qd(a),r[i].c(),r[i].m(n.parentNode,n))}for(;i<r.length;i+=1)r[i].d(1);r.length=e.length}},d:function(t){Ac(r,t),t&&kc(n)}}}function Gd(t){var n,e;return n=new Sd({props:{date:t[19],resource:t[16]}}),{c:function(){uf(n.$$.fragment)},m:function(t,r){cf(n,t,r),e=!0},p:function(t,e){var r={};4&e&&(r.date=t[19]),1&e&&(r.resource=t[16]),n.$set(r)},i:function(t){e||(of(n.$$.fragment,t),e=!0)},o:function(t){af(n.$$.fragment,t),e=!1},d:function(t){ff(n,t)}}}function Hd(t){for(var n,e,r,o,i=t[2],a=[],u=0;u<i.length;u+=1)a[u]=Gd(Ld(t,i,u));var c=function(t){return af(a[t],1,1,(function(){a[t]=null}))};return{c:function(){n=Ec("div");for(var o=0;o<a.length;o+=1)a[o].c();e=Oc(),Dc(n,"class",r=t[1].resource)},m:function(t,r){xc(t,n,r);for(var i=0;i<a.length;i+=1)a[i].m(n,null);Sc(n,e),o=!0},p:function(t,u){if(5&u){var f;for(i=t[2],f=0;f<i.length;f+=1){var s=Ld(t,i,f);a[f]?(a[f].p(s,u),of(a[f],1)):(a[f]=Gd(s),a[f].c(),of(a[f],1),a[f].m(n,e))}for(ef(),f=i.length;f<a.length;f+=1)c(f);rf()}(!o||2&u&&r!==(r=t[1].resource))&&Dc(n,"class",r)},i:function(t){if(!o){for(var n=0;n<i.length;n+=1)of(a[n]);o=!0}},o:function(t){a=Vo(a).call(a,Boolean);for(var n=0;n<a.length;n+=1)af(a[n]);o=!1},d:function(t){t&&kc(n),Ac(a,t)}}}function Wd(t){for(var n,e,r=t[0],o=[],i=0;i<r.length;i+=1)o[i]=Hd(Id(t,r,i));var a=function(t){return af(o[t],1,1,(function(){o[t]=null}))};return{c:function(){for(var t=0;t<o.length;t+=1)o[t].c();n=jc()},m:function(t,r){for(var i=0;i<o.length;i+=1)o[i].m(t,r);xc(t,n,r),e=!0},p:function(t,e){if(7&e){var i;for(r=t[0],i=0;i<r.length;i+=1){var u=Id(t,r,i);o[i]?(o[i].p(u,e),of(o[i],1)):(o[i]=Hd(u),o[i].c(),of(o[i],1),o[i].m(n.parentNode,n))}for(ef(),i=r.length;i<o.length;i+=1)a(i);rf()}},i:function(t){if(!e){for(var n=0;n<r.length;n+=1)of(o[n]);e=!0}},o:function(t){o=Vo(o).call(o,Boolean);for(var n=0;n<o.length;n+=1)af(o[n]);e=!1},d:function(t){Ac(o,t),t&&kc(n)}}}function Vd(t){var n,e,r,o;return n=new id({props:{$$slots:{default:[zd]},$$scope:{ctx:t}}}),r=new hd({props:{$$slots:{default:[Wd]},$$scope:{ctx:t}}}),{c:function(){uf(n.$$.fragment),e=Oc(),uf(r.$$.fragment)},m:function(t,i){cf(n,t,i),xc(t,e,i),cf(r,t,i),o=!0},p:function(t,e){var o=Ui(e,1)[0],i={};67108879&o&&(i.$$scope={dirty:o,ctx:t}),n.$set(i);var a={};67108871&o&&(a.$$scope={dirty:o,ctx:t}),r.$set(a)},i:function(t){o||(of(n.$$.fragment,t),of(r.$$.fragment,t),o=!0)},o:function(t){af(n.$$.fragment,t),af(r.$$.fragment,t),o=!1},d:function(t){ff(n,t),t&&kc(e),ff(r,t)}}}function Jd(t,n,e){var r,o,i,a,u,c,f,s=Uc("state"),l=s.resources,h=s.filterResourcesWithEvents,v=s._activeRange,d=s._events,p=s._viewDates,y=s._intlDayHeader,g=s.theme;yc(t,l,(function(t){return e(11,r=t)})),yc(t,h,(function(t){return e(12,o=t)})),yc(t,v,(function(t){return e(14,a=t)})),yc(t,d,(function(t){return e(13,i=t)})),yc(t,p,(function(t){return e(2,c=t)})),yc(t,y,(function(t){return e(3,f=t)})),yc(t,g,(function(t){return e(1,u=t)})),Fc("view-state",new td(Uc("state")));var m=r;return t.$$.update=function(){30721&t.$$.dirty&&(o&&e(0,m=Vo(r).call(r,(function(t){var n,e=Rd(i);try{for(e.s();!(n=e.n()).done;){var r,o=n.value;if("auto"===o.display&&Pi(r=o.resourceIds).call(r,t.id)&&o.start<a.end&&o.end>a.start)return!0}}catch(t){e.e(t)}finally{e.f()}return!1}))),m.length||e(0,m=l.mutate([{}])))},[m,u,c,f,l,h,v,d,p,y,g]}var Yd=function(t){Ut(e,t);var n=Md(e);function e(t){var r;return Pt(this,e),lf(hr(r=n.call(this)),t,Jd,Vd,vc,{}),r}return e}(hf),Xd={createOptions:function(t){t.resources=[],t.filterResourcesWithEvents=!1,t.buttonText.resourceTimeGridDay="day",t.buttonText.resourceTimeGridWeek="week",t.theme.resource="ec-resource",t.theme.resourceTitle="ec-resource-title",t.view="resourceTimeGridWeek",t.views.resourceTimeGridDay={component:Yd,duration:{days:1}},t.views.resourceTimeGridWeek={component:Yd,duration:{weeks:1}}},createMutators:function(t,n){t.resources=Kd}};function Kd(t){return Wi(t).call(t,(function(t){return{id:String(t.id),title:t.title||""}}))}var Qd=[].slice,Zd=/MSIE .\./.test(se),tp=function(t){return function(n,e){var r=arguments.length>2,o=r?Qd.call(arguments,2):void 0;return t(r?function(){("function"==typeof n?n:Function(n)).apply(this,o)}:n,e)}};z({global:!0,bind:!0,forced:Zd},{setTimeout:tp(o.setTimeout),setInterval:tp(o.setInterval)});var np,ep=R.setTimeout,rp=Ta.trim;z({target:"String",proto:!0,forced:(np="trim",i((function(){return!!Sa[np]()||"
"!="
"[np]()||Sa[np].name!==np})))},{trim:function(){return rp(this)}});var op=$o("String").trim,ip=String.prototype,ap=function(t){var n=t.trim;return"string"==typeof t||t===ip||t instanceof String&&n===ip.trim?op:n},up=R.URLSearchParams,cp=$o("Array").entries,fp=Array.prototype,sp={DOMTokenList:!0,NodeList:!0},lp=function(t){var n=t.entries;return t===fp||t instanceof Array&&n===fp.entries||sp.hasOwnProperty(Tn(t))?cp:n},hp=Oe.f,vp=i((function(){return!Object.getOwnPropertyNames(1)}));z({target:"Object",stat:!0,forced:vp},{getOwnPropertyNames:hp});var dp=R.Object,pp=function(t){return dp.getOwnPropertyNames(t)},yp=oe,gp="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==gp&&gp,mp="URLSearchParams"in gp,bp="Symbol"in gp&&"iterator"in Xr,wp="FileReader"in gp&&"Blob"in gp&&function(){try{return new Blob,!0}catch(t){return!1}}(),$p="FormData"in gp,Sp="ArrayBuffer"in gp;if(Sp)var xp=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],kp=ArrayBuffer.isView||function(t){return t&&Ha(xp).call(xp,Object.prototype.toString.call(t))>-1};function Ap(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function Ep(t){return"string"!=typeof t&&(t=String(t)),t}function Tp(t){var n={next:function(){var n=t.shift();return{done:void 0===n,value:n}}};return bp&&(n[yp]=function(){return n}),n}function Op(t){if(this.map={},t instanceof Op)Bo(t).call(t,(function(t,n){this.append(n,t)}),this);else if(Jr(t))Bo(t).call(t,(function(t){this.append(t[0],t[1])}),this);else if(t){var n;Bo(n=pp(t)).call(n,(function(n){this.append(n,t[n])}),this)}}function jp(t){if(t.bodyUsed)return ic.reject(new TypeError("Already read"));t.bodyUsed=!0}function _p(t){return new ic((function(n,e){t.onload=function(){n(t.result)},t.onerror=function(){e(t.error)}}))}function Dp(t){var n=new FileReader,e=_p(n);return n.readAsArrayBuffer(t),e}function Pp(t){if(Ao(t))return Ao(t).call(t,0);var n=new Uint8Array(t.byteLength);return n.set(new Uint8Array(t)),n.buffer}function Mp(){return this.bodyUsed=!1,this._initBody=function(t){var n;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:wp&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:$p&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:mp&&up.prototype.isPrototypeOf(t)?this._bodyText=t.toString():Sp&&wp&&((n=t)&&DataView.prototype.isPrototypeOf(n))?(this._bodyArrayBuffer=Pp(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):Sp&&(ArrayBuffer.prototype.isPrototypeOf(t)||kp(t))?this._bodyArrayBuffer=Pp(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):mp&&up.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},wp&&(this.blob=function(){var t=jp(this);if(t)return t;if(this._bodyBlob)return ic.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return ic.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return ic.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t,n=jp(this);return n||(ArrayBuffer.isView(this._bodyArrayBuffer)?ic.resolve(Ao(t=this._bodyArrayBuffer.buffer).call(t,this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):ic.resolve(this._bodyArrayBuffer))}return this.blob().then(Dp)}),this.text=function(){var t=jp(this);if(t)return t;if(this._bodyBlob)return function(t){var n=new FileReader,e=_p(n);return n.readAsText(t),e}(this._bodyBlob);if(this._bodyArrayBuffer)return ic.resolve(function(t){for(var n=new Uint8Array(t),e=new Array(n.length),r=0;r<n.length;r++)e[r]=String.fromCharCode(n[r]);return e.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return ic.resolve(this._bodyText)},$p&&(this.formData=function(){return this.text().then(Lp)}),this.json=function(){return this.text().then(JSON.parse)},this}Op.prototype.append=function(t,n){t=Ap(t),n=Ep(n);var e=Wi(this)[t];Wi(this)[t]=e?e+", "+n:n},Op.prototype.delete=function(t){delete Wi(this)[Ap(t)]},Op.prototype.get=function(t){return t=Ap(t),this.has(t)?Wi(this)[t]:null},Op.prototype.has=function(t){return Wi(this).hasOwnProperty(Ap(t))},Op.prototype.set=function(t,n){Wi(this)[Ap(t)]=Ep(n)},Op.prototype.forEach=function(t,n){for(var e in Wi(this))Wi(this).hasOwnProperty(e)&&t.call(n,Wi(this)[e],e,this)},Op.prototype.keys=function(){var t=[];return Bo(this).call(this,(function(n,e){t.push(e)})),Tp(t)},Op.prototype.values=function(){var t=[];return Bo(this).call(this,(function(n){t.push(n)})),Tp(t)},Op.prototype.entries=function(){var t=[];return Bo(this).call(this,(function(n,e){t.push([e,n])})),Tp(t)},bp&&(Op.prototype[yp]=lp(Op.prototype));var Rp=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function Cp(t,n){if(!(this instanceof Cp))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var e,r,o=(n=n||{}).body;if(t instanceof Cp){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,n.headers||(this.headers=new Op(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,o||null==t._bodyInit||(o=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=n.credentials||this.credentials||"same-origin",!n.headers&&this.headers||(this.headers=new Op(n.headers)),this.method=(e=n.method||this.method||"GET",r=e.toUpperCase(),Ha(Rp).call(Rp,r)>-1?r:e),this.mode=n.mode||this.mode||null,this.signal=n.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(o),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==n.cache&&"no-cache"!==n.cache)){var i=/([?&])_=[^&]*/;if(i.test(this.url))this.url=this.url.replace(i,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function Lp(t){var n,e=new FormData;return Bo(n=ap(t).call(t).split("&")).call(n,(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}})),e}function Ip(t,n){if(!(this instanceof Ip))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');n||(n={}),this.type="default",this.status=void 0===n.status?200:n.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in n?n.statusText:"",this.headers=new Op(n.headers),this.url=n.url||"",this._initBody(t)}Cp.prototype.clone=function(){return new Cp(this,{body:this._bodyInit})},Mp.call(Cp.prototype),Mp.call(Ip.prototype),Ip.prototype.clone=function(){return new Ip(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Op(this.headers),url:this.url})},Ip.error=function(){var t=new Ip(null,{status:0,statusText:""});return t.type="error",t};var Bp=[301,302,303,307,308];Ip.redirect=function(t,n){if(-1===Ha(Bp).call(Bp,n))throw new RangeError("Invalid status code");return new Ip(null,{status:n,headers:{location:t}})};var Fp=gp.DOMException;try{new Fp}catch(t){(Fp=function(t,n){this.message=t,this.name=n;var e=Error(t);this.stack=e.stack}).prototype=uc(Error.prototype),Fp.prototype.constructor=Fp}function Up(t,n){return new ic((function(e,r){var o=new Cp(t,n);if(o.signal&&o.signal.aborted)return r(new Fp("Aborted","AbortError"));var i,a,u,c=new XMLHttpRequest;function f(){c.abort()}(c.onload=function(){var t,n,r,o,i={status:c.status,statusText:c.statusText,headers:(t=c.getAllResponseHeaders()||"",r=new Op,o=t.replace(/\r?\n[\t ]+/g," "),Bo(n=o.split(/\r?\n/)).call(n,(function(t){var n,e=t.split(":"),o=ap(n=e.shift()).call(n);if(o){var i,a=ap(i=e.join(":")).call(i);r.append(o,a)}})),r)};i.url="responseURL"in c?c.responseURL:i.headers.get("X-Request-URL");var a="response"in c?c.response:c.responseText;ep((function(){e(new Ip(a,i))}),0)},c.onerror=function(){ep((function(){r(new TypeError("Network request failed"))}),0)},c.ontimeout=function(){ep((function(){r(new TypeError("Network request failed"))}),0)},c.onabort=function(){ep((function(){r(new Fp("Aborted","AbortError"))}),0)},c.open(o.method,function(t){try{return""===t&&gp.location.href?gp.location.href:t}catch(n){return t}}(o.url),!0),"include"===o.credentials?c.withCredentials=!0:"omit"===o.credentials&&(c.withCredentials=!1),"responseType"in c)&&(wp?c.responseType="blob":Sp&&o.headers.get("Content-Type")&&-1!==Ha(i=o.headers.get("Content-Type")).call(i,"application/octet-stream")&&(c.responseType="arraybuffer"));!n||"object"!==lr(n.headers)||n.headers instanceof Op?Bo(a=o.headers).call(a,(function(t,n){c.setRequestHeader(n,t)})):Bo(u=pp(n.headers)).call(u,(function(t){c.setRequestHeader(t,Ep(n.headers[t]))}));o.signal&&(o.signal.addEventListener("abort",f),c.onreadystatechange=function(){4===c.readyState&&o.signal.removeEventListener("abort",f)}),c.send(void 0===o._bodyInit?null:o._bodyInit)}))}Up.polyfill=!0,gp.fetch||(gp.fetch=Up,gp.Headers=Op,gp.Request=Cp,gp.Response=Ip);var Np=Vt.f("toStringTag"),qp=pr,zp=It,Gp=new Gr,Hp=new Gr;function Wp(t){var n=Gp.get(t);return console.assert(null!=n,"'this' is expected an Event object, but got",t),n}function Vp(t){null==t.passiveListener?t.event.cancelable&&(t.canceled=!0,"function"==typeof t.event.preventDefault&&t.event.preventDefault()):"undefined"!=typeof console&&"function"==typeof console.error&&console.error("Unable to preventDefault inside passive event listener invocation.",t.passiveListener)}function Jp(t,n){Gp.set(this,{eventTarget:t,event:n,eventPhase:2,currentTarget:t,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:n.timeStamp||ac()}),Eo(this,"isTrusted",{value:!1,enumerable:!0});for(var e=li(n),r=0;r<e.length;++r){var o=e[r];o in this||Eo(this,o,Yp(o))}}function Yp(t){return{get:function(){return Wp(this).event[t]},set:function(n){Wp(this).event[t]=n},configurable:!0,enumerable:!0}}function Xp(t){return{value:function(){var n=Wp(this).event;return n[t].apply(n,arguments)},configurable:!0,enumerable:!0}}function Kp(t){if(null==t||t===Object.prototype)return Jp;var n=Hp.get(t);return null==n&&(n=function(t,n){var e=li(n);if(0===e.length)return t;function r(n,e){t.call(this,n,e)}r.prototype=uc(t.prototype,{constructor:{value:r,configurable:!0,writable:!0}});for(var o=0;o<e.length;++o){var i=e[o];if(!(i in t.prototype)){var a="function"==typeof No(n,i).value;Eo(r.prototype,i,a?Xp(i):Yp(i))}}return r}(Kp(qp(t)),t),Hp.set(t,n)),n}function Qp(t){return Wp(t).immediateStopped}function Zp(t,n){Wp(t).passiveListener=n}Jp.prototype={get type(){return Wp(this).event.type},get target(){return Wp(this).eventTarget},get currentTarget(){return Wp(this).currentTarget},composedPath:function(){var t=Wp(this).currentTarget;return null==t?[]:[t]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return Wp(this).eventPhase},stopPropagation:function(){var t=Wp(this);t.stopped=!0,"function"==typeof t.event.stopPropagation&&t.event.stopPropagation()},stopImmediatePropagation:function(){var t=Wp(this);t.stopped=!0,t.immediateStopped=!0,"function"==typeof t.event.stopImmediatePropagation&&t.event.stopImmediatePropagation()},get bubbles(){return Boolean(Wp(this).event.bubbles)},get cancelable(){return Boolean(Wp(this).event.cancelable)},preventDefault:function(){Vp(Wp(this))},get defaultPrevented(){return Wp(this).canceled},get composed(){return Boolean(Wp(this).event.composed)},get timeStamp(){return Wp(this).timeStamp},get srcElement(){return Wp(this).eventTarget},get cancelBubble(){return Wp(this).stopped},set cancelBubble(t){if(t){var n=Wp(this);n.stopped=!0,"boolean"==typeof n.event.cancelBubble&&(n.event.cancelBubble=!0)}},get returnValue(){return!Wp(this).canceled},set returnValue(t){t||Vp(Wp(this))},initEvent:function(){}},Eo(Jp.prototype,"constructor",{value:Jp,configurable:!0,writable:!0}),"undefined"!=typeof window&&void 0!==window.Event&&(zp(Jp.prototype,window.Event.prototype),Hp.set(window.Event.prototype,Jp));var ty=new Gr;function ny(t){return null!==t&&"object"===lr(t)}function ey(t){var n=ty.get(t);if(null==n)throw new TypeError("'this' is expected an EventTarget object, but got another value.");return n}function ry(t,n){Eo(t,"on".concat(n),function(t){return{get:function(){for(var n=ey(this).get(t);null!=n;){if(3===n.listenerType)return n.listener;n=n.next}return null},set:function(n){"function"==typeof n||ny(n)||(n=null);for(var e=ey(this),r=null,o=e.get(t);null!=o;)3===o.listenerType?null!==r?r.next=o.next:null!==o.next?e.set(t,o.next):e.delete(t):r=o,o=o.next;if(null!==n){var i={listener:n,listenerType:3,passive:!1,once:!1,next:null};null===r?e.set(t,i):r.next=i}},configurable:!0,enumerable:!0}}(n))}function oy(t){function n(){iy.call(this)}n.prototype=uc(iy.prototype,{constructor:{value:n,configurable:!0,writable:!0}});for(var e=0;e<t.length;++e)ry(n.prototype,t[e]);return n}function iy(){if(!(this instanceof iy)){if(1===arguments.length&&Jr(arguments[0]))return oy(arguments[0]);if(arguments.length>0){for(var t=new Array(arguments.length),n=0;n<arguments.length;++n)t[n]=arguments[n];return oy(t)}throw new TypeError("Cannot call a class as a function")}ty.set(this,new $a)}function ay(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}iy.prototype={addEventListener:function(t,n,e){if(null!=n){if("function"!=typeof n&&!ny(n))throw new TypeError("'listener' should be a function or an object.");var r=ey(this),o=ny(e),i=(o?Boolean(e.capture):Boolean(e))?1:2,a={listener:n,listenerType:i,passive:o&&Boolean(e.passive),once:o&&Boolean(e.once),next:null},u=r.get(t);if(void 0!==u){for(var c=null;null!=u;){if(u.listener===n&&u.listenerType===i)return;c=u,u=u.next}c.next=a}else r.set(t,a)}},removeEventListener:function(t,n,e){if(null!=n)for(var r=ey(this),o=(ny(e)?Boolean(e.capture):Boolean(e))?1:2,i=null,a=r.get(t);null!=a;){if(a.listener===n&&a.listenerType===o)return void(null!==i?i.next=a.next:null!==a.next?r.set(t,a.next):r.delete(t));i=a,a=a.next}},dispatchEvent:function(t){if(null==t||"string"!=typeof t.type)throw new TypeError('"event.type" should be a string.');var n=ey(this),e=t.type,r=n.get(e);if(null==r)return!0;for(var o=function(t,n){return new(Kp(qp(n)))(t,n)}(this,t),i=null;null!=r;){if(r.once?null!==i?i.next=r.next:null!==r.next?n.set(e,r.next):n.delete(e):i=r,Zp(o,r.passive?r.listener:null),"function"==typeof r.listener)try{r.listener.call(this,o)}catch(t){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(t)}else 3!==r.listenerType&&"function"==typeof r.listener.handleEvent&&r.listener.handleEvent(o);if(Qp(o))break;r=r.next}return Zp(o,null),function(t,n){Wp(t).eventPhase=n}(o,0),function(t,n){Wp(t).currentTarget=n}(o,null),!o.defaultPrevented}},Eo(iy.prototype,"constructor",{value:iy,configurable:!0,writable:!0}),"undefined"!=typeof window&&void 0!==window.EventTarget&&zp(iy.prototype,window.EventTarget.prototype);var uy=function(t){Ut(e,t);var n=ay(e);function e(){throw Pt(this,e),n.call(this),new TypeError("AbortSignal cannot be constructed directly")}return so(e,[{key:"aborted",get:function(){var t=cy.get(this);if("boolean"!=typeof t)throw new TypeError("Expected 'this' to be an 'AbortSignal' object, but got ".concat(null===this?"null":lr(this)));return t}}]),e}(iy);ry(uy.prototype,"abort");var cy=new Gr;To(uy.prototype,{aborted:{enumerable:!0}}),"function"==typeof Xr&&"symbol"===lr(Np)&&Eo(uy.prototype,Np,{configurable:!0,value:"AbortSignal"});var fy=function(){function t(){var n;Pt(this,t),sy.set(this,(n=uc(uy.prototype),iy.call(n),cy.set(n,!1),n))}return so(t,[{key:"abort",value:function(){var t;t=ly(this),!1===cy.get(t)&&(cy.set(t,!0),t.dispatchEvent({type:"abort"}))}},{key:"signal",get:function(){return ly(this)}}]),t}(),sy=new Gr;function ly(t){var n=sy.get(t);if(null==n)throw new TypeError("Expected 'this' to be an 'AbortController' object, but got ".concat(null===t?"null":lr(t)));return n}To(fy.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),"function"==typeof Xr&&"symbol"===lr(Np)&&Eo(fy.prototype,Np,{configurable:!0,value:"AbortController"});var hy="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0;function vy(t){var n=function(){if("undefined"==typeof Reflect||!Dt)return!1;if(Dt.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Dt(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var e,r=gr(t);if(n){var o=gr(this).constructor;e=Dt(r,arguments,o)}else e=r.apply(this,arguments);return vr(this,e)}}return hy&&(void 0===hy.AbortController&&(hy.AbortController=fy),void 0===hy.AbortSignal&&(hy.AbortSignal=uy)),function(t){Ut(e,t);var n=vy(e);function e(t,r){return Pt(this,e),r.plugins=r.plugins||[Av,Xv,Pd,Xd],n.call(this,t,r)}return e}(Nh)}();
|
backend/modules/cloud_settings/Ajax.php
CHANGED
@@ -28,8 +28,15 @@ class Ajax extends Lib\Base\Ajax
|
|
28 |
*/
|
29 |
public static function adminNotify()
|
30 |
{
|
31 |
-
|
32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
}
|
34 |
wp_send_json_success();
|
35 |
}
|
28 |
*/
|
29 |
public static function adminNotify()
|
30 |
{
|
31 |
+
switch ( self::parameter( 'option_name' ) ) {
|
32 |
+
case 'notify_summary':
|
33 |
+
self::parameter( 'value' )
|
34 |
+
? Lib\Cloud\API::getInstance()->account->enableSendingWeeklySummary()
|
35 |
+
: Lib\Cloud\API::getInstance()->account->disableSendingWeeklySummary();
|
36 |
+
break;
|
37 |
+
case 'bookly_cloud_notify_low_balance':
|
38 |
+
update_option( self::parameter( 'option_name' ), self::parameter( 'value' ) );
|
39 |
+
break;
|
40 |
}
|
41 |
wp_send_json_success();
|
42 |
}
|
backend/modules/cloud_settings/templates/index.php
CHANGED
@@ -103,8 +103,8 @@ $invoice = $cloud->account->getInvoiceData();
|
|
103 |
</div>
|
104 |
</div>
|
105 |
<div class="custom-control custom-checkbox">
|
106 |
-
<input class="custom-control-input" type="checkbox" id="
|
107 |
-
<label class="custom-control-label" for="
|
108 |
</div>
|
109 |
</div>
|
110 |
<div class="tab-pane" id="bookly-country-tab" style="min-height: 200px;">
|
103 |
</div>
|
104 |
</div>
|
105 |
<div class="custom-control custom-checkbox">
|
106 |
+
<input class="custom-control-input" type="checkbox" id="notify_summary" name="notify_summary" <?php checked( $cloud->account->getNotifySummary() ) ?>>
|
107 |
+
<label class="custom-control-label" for="notify_summary"><span><?php esc_html_e( 'Send weekly summary', 'bookly' ) ?></span></label>
|
108 |
</div>
|
109 |
</div>
|
110 |
<div class="tab-pane" id="bookly-country-tab" style="min-height: 200px;">
|
backend/modules/debug/Ajax.php
CHANGED
@@ -306,6 +306,15 @@ class Ajax extends Lib\Base\Ajax
|
|
306 |
'bookly_locations.name' => "varchar(255) null default ''",
|
307 |
'bookly_locations.info' => "text null default null",
|
308 |
'bookly_locations.position' => "int not null default '9999'",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
309 |
'bookly_messages.id' => "int unsigned not null auto_increment primary key",
|
310 |
'bookly_messages.message_id' => "int unsigned not null",
|
311 |
'bookly_messages.type' => "varchar(255) not null",
|
@@ -449,6 +458,7 @@ class Ajax extends Lib\Base\Ajax
|
|
449 |
'bookly_staff.full_name' => "varchar(255) null default null",
|
450 |
'bookly_staff.email' => "varchar(255) null default null",
|
451 |
'bookly_staff.phone' => "varchar(255) null default null",
|
|
|
452 |
'bookly_staff.info' => "text null default null",
|
453 |
'bookly_staff.working_time_limit' => "int unsigned null default null",
|
454 |
'bookly_staff.visibility' => "enum('public','private','archive') not null default 'public'",
|
306 |
'bookly_locations.name' => "varchar(255) null default ''",
|
307 |
'bookly_locations.info' => "text null default null",
|
308 |
'bookly_locations.position' => "int not null default '9999'",
|
309 |
+
'bookly_log.id' => "int unsigned not null auto_increment primary key",
|
310 |
+
'bookly_log.action' => "enum('create','update','delete') null default null",
|
311 |
+
'bookly_log.target' => "varchar(255) null default null",
|
312 |
+
'bookly_log.target_id' => "int unsigned null default null",
|
313 |
+
'bookly_log.author' => "varchar(255) null default null",
|
314 |
+
'bookly_log.details' => "text null default null",
|
315 |
+
'bookly_log.ref' => "varchar(255) null default null",
|
316 |
+
'bookly_log.comment' => "varchar(255) null default null",
|
317 |
+
'bookly_log.created_at' => "datetime not null",
|
318 |
'bookly_messages.id' => "int unsigned not null auto_increment primary key",
|
319 |
'bookly_messages.message_id' => "int unsigned not null",
|
320 |
'bookly_messages.type' => "varchar(255) not null",
|
458 |
'bookly_staff.full_name' => "varchar(255) null default null",
|
459 |
'bookly_staff.email' => "varchar(255) null default null",
|
460 |
'bookly_staff.phone' => "varchar(255) null default null",
|
461 |
+
'bookly_staff.time_zone' => "varchar(255) null default null",
|
462 |
'bookly_staff.info' => "text null default null",
|
463 |
'bookly_staff.working_time_limit' => "int unsigned null default null",
|
464 |
'bookly_staff.visibility' => "enum('public','private','archive') not null default 'public'",
|
backend/modules/debug/Page.php
CHANGED
@@ -31,15 +31,18 @@ class Page extends Lib\Base\Component
|
|
31 |
) );
|
32 |
|
33 |
self::enqueueScripts( array(
|
34 |
-
'backend'
|
35 |
'bootstrap/js/bootstrap.min.js' => array( 'jquery' ),
|
36 |
-
'js/
|
|
|
|
|
|
|
37 |
),
|
38 |
'frontend' => array(
|
39 |
'js/spin.min.js' => array( 'jquery', ),
|
40 |
'js/ladda.min.js' => array( 'jquery', ),
|
41 |
),
|
42 |
-
'module'
|
43 |
) );
|
44 |
|
45 |
$debug = array();
|
@@ -121,6 +124,8 @@ class Page extends Lib\Base\Component
|
|
121 |
wp_localize_script( 'bookly-debug.js', 'BooklyL10n', array(
|
122 |
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
123 |
'tests' => $tests,
|
|
|
|
|
124 |
'charsetCollate' => $wpdb->has_cap( 'collation' )
|
125 |
? $wpdb->get_charset_collate()
|
126 |
: 'DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci'
|
31 |
) );
|
32 |
|
33 |
self::enqueueScripts( array(
|
34 |
+
'backend' => array(
|
35 |
'bootstrap/js/bootstrap.min.js' => array( 'jquery' ),
|
36 |
+
'js/datatables.min.js' => array( 'jquery' ),
|
37 |
+
'js/moment.min.js',
|
38 |
+
'js/daterangepicker.js' => array( 'jquery' ),
|
39 |
+
'js/alert.js' => array( 'jquery' ),
|
40 |
),
|
41 |
'frontend' => array(
|
42 |
'js/spin.min.js' => array( 'jquery', ),
|
43 |
'js/ladda.min.js' => array( 'jquery', ),
|
44 |
),
|
45 |
+
'module' => array( 'js/debug.js' => array( 'jquery' ) ),
|
46 |
) );
|
47 |
|
48 |
$debug = array();
|
124 |
wp_localize_script( 'bookly-debug.js', 'BooklyL10n', array(
|
125 |
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
126 |
'tests' => $tests,
|
127 |
+
'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
|
128 |
+
'dateRange' => Lib\Utils\DateTime::dateRangeOptions( array( 'lastMonth' => __( 'Last month', 'bookly' ), ) ),
|
129 |
'charsetCollate' => $wpdb->has_cap( 'collation' )
|
130 |
? $wpdb->get_charset_collate()
|
131 |
: 'DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci'
|
backend/modules/debug/lib/QueryBuilder.php
CHANGED
@@ -266,6 +266,15 @@ class QueryBuilder
|
|
266 |
'bookly_locations.name' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => "", 'key' => "" ),
|
267 |
'bookly_locations.info' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
268 |
'bookly_locations.position' => array( 'type' => "int", 'is_nullabe' => 0, 'extra' => "", 'default' => "9999", 'key' => "" ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
269 |
'bookly_messages.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
|
270 |
'bookly_messages.message_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
|
271 |
'bookly_messages.type' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
|
@@ -409,6 +418,7 @@ class QueryBuilder
|
|
409 |
'bookly_staff.full_name' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
410 |
'bookly_staff.email' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
411 |
'bookly_staff.phone' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
|
|
412 |
'bookly_staff.info' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
413 |
'bookly_staff.working_time_limit' => array( 'type' => "int unsigned", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
414 |
'bookly_staff.visibility' => array( 'type' => "enum('public','private','archive')", 'is_nullabe' => 0, 'extra' => "", 'default' => "public", 'key' => "" ),
|
266 |
'bookly_locations.name' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => "", 'key' => "" ),
|
267 |
'bookly_locations.info' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
268 |
'bookly_locations.position' => array( 'type' => "int", 'is_nullabe' => 0, 'extra' => "", 'default' => "9999", 'key' => "" ),
|
269 |
+
'bookly_log.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
|
270 |
+
'bookly_log.action' => array( 'type' => "enum('create','update','delete')", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
271 |
+
'bookly_log.target' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
272 |
+
'bookly_log.target_id' => array( 'type' => "int unsigned", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
273 |
+
'bookly_log.author' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
274 |
+
'bookly_log.details' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
275 |
+
'bookly_log.ref' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
276 |
+
'bookly_log.comment' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
277 |
+
'bookly_log.created_at' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
|
278 |
'bookly_messages.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
|
279 |
'bookly_messages.message_id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
|
280 |
'bookly_messages.type' => array( 'type' => "varchar(255)", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
|
418 |
'bookly_staff.full_name' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
419 |
'bookly_staff.email' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
420 |
'bookly_staff.phone' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
421 |
+
'bookly_staff.time_zone' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
422 |
'bookly_staff.info' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
423 |
'bookly_staff.working_time_limit' => array( 'type' => "int unsigned", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
424 |
'bookly_staff.visibility' => array( 'type' => "enum('public','private','archive')", 'is_nullabe' => 0, 'extra' => "", 'default' => "public", 'key' => "" ),
|
backend/modules/debug/lib/tests/Session.php
CHANGED
@@ -39,9 +39,11 @@ class Session extends Base
|
|
39 |
$this->addError( 'Failed' );
|
40 |
return false;
|
41 |
} elseif ( $this->data === 'init' ) {
|
|
|
42 |
$_SESSION['bookly-test-session'] = 2;
|
43 |
wp_send_json_success();
|
44 |
} elseif ( $this->data === 'check' ) {
|
|
|
45 |
$_SESSION['bookly-test-session'] === 2
|
46 |
? wp_send_json_success()
|
47 |
: wp_send_json_error();
|
39 |
$this->addError( 'Failed' );
|
40 |
return false;
|
41 |
} elseif ( $this->data === 'init' ) {
|
42 |
+
@session_start();
|
43 |
$_SESSION['bookly-test-session'] = 2;
|
44 |
wp_send_json_success();
|
45 |
} elseif ( $this->data === 'check' ) {
|
46 |
+
@session_start();
|
47 |
$_SESSION['bookly-test-session'] === 2
|
48 |
? wp_send_json_success()
|
49 |
: wp_send_json_error();
|
backend/modules/debug/resources/js/debug.js
CHANGED
@@ -6,7 +6,8 @@ jQuery(function($) {
|
|
6 |
$tools = $('.bookly-js-tools'),
|
7 |
$toolsDropDown = $('#tools-dropdown'),
|
8 |
$status,
|
9 |
-
$buttonAction
|
|
|
10 |
|
11 |
$('.collapse').collapse('hide');
|
12 |
|
6 |
$tools = $('.bookly-js-tools'),
|
7 |
$toolsDropDown = $('#tools-dropdown'),
|
8 |
$status,
|
9 |
+
$buttonAction
|
10 |
+
;
|
11 |
|
12 |
$('.collapse').collapse('hide');
|
13 |
|
backend/modules/services/Ajax.php
CHANGED
@@ -215,9 +215,14 @@ class Ajax extends Page
|
|
215 |
if ( self::parameter( 'force_delete', false ) ) {
|
216 |
if ( is_array( $service_ids ) && ! empty ( $service_ids ) ) {
|
217 |
foreach ( $service_ids as $service_id ) {
|
218 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
219 |
}
|
220 |
-
Lib\Entities\Service::query( 's' )->delete()->whereIn( 's.id', $service_ids )->execute();
|
221 |
}
|
222 |
} else {
|
223 |
$appointment = Lib\Entities\Appointment::query( 'a' )
|
215 |
if ( self::parameter( 'force_delete', false ) ) {
|
216 |
if ( is_array( $service_ids ) && ! empty ( $service_ids ) ) {
|
217 |
foreach ( $service_ids as $service_id ) {
|
218 |
+
if ( $service = Lib\Entities\Service::find( $service_id ) ) {
|
219 |
+
Proxy\Shared::serviceDeleted( $service );
|
220 |
+
foreach ( Lib\Entities\Appointment::query( 'a' )->where( 'a.service_id', $service_id )->find() as $appointment ) {
|
221 |
+
Lib\Utils\Log::deleteEntity( $appointment, __METHOD__, 'Delete service: ' . $service->getTitle() );
|
222 |
+
}
|
223 |
+
$service->delete();
|
224 |
+
}
|
225 |
}
|
|
|
226 |
}
|
227 |
} else {
|
228 |
$appointment = Lib\Entities\Appointment::query( 'a' )
|
backend/modules/services/proxy/Shared.php
CHANGED
@@ -16,7 +16,7 @@ use Bookly\Lib;
|
|
16 |
* @method static array prepareUpdateServiceResponse( array $response, Lib\Entities\Service $service, array $_post ) Prepare response for updated service.
|
17 |
* @method static string prepareAfterServiceList( string $html, array $service_collection ) Render content after services forms.
|
18 |
* @method static array serviceCreated( Lib\Entities\Service $service, array $_post ) Service created.
|
19 |
-
* @method static void serviceDeleted(
|
20 |
* @method static array updateService( array $alert, Lib\Entities\Service $service, array $_post ) Update service settings in add-ons.
|
21 |
*/
|
22 |
abstract class Shared extends Lib\Base\Proxy
|
16 |
* @method static array prepareUpdateServiceResponse( array $response, Lib\Entities\Service $service, array $_post ) Prepare response for updated service.
|
17 |
* @method static string prepareAfterServiceList( string $html, array $service_collection ) Render content after services forms.
|
18 |
* @method static array serviceCreated( Lib\Entities\Service $service, array $_post ) Service created.
|
19 |
+
* @method static void serviceDeleted( Lib\Entities\Service $service ) Service deleted.
|
20 |
* @method static array updateService( array $alert, Lib\Entities\Service $service, array $_post ) Update service settings in add-ons.
|
21 |
*/
|
22 |
abstract class Shared extends Lib\Base\Proxy
|
backend/modules/settings/Ajax.php
CHANGED
@@ -71,4 +71,55 @@ class Ajax extends Page
|
|
71 |
|
72 |
wp_send_json_success( self::_getHolidays() );
|
73 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
}
|
71 |
|
72 |
wp_send_json_success( self::_getHolidays() );
|
73 |
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Get logs.
|
77 |
+
*/
|
78 |
+
public static function getLogs()
|
79 |
+
{
|
80 |
+
$filter = self::parameter( 'filter' );
|
81 |
+
$columns = self::parameter( 'columns' );
|
82 |
+
$order = self::parameter( 'order', array() );
|
83 |
+
|
84 |
+
$query = Lib\Entities\Log::query( 'l' )
|
85 |
+
->select( 'l.*' );
|
86 |
+
|
87 |
+
// Filters.
|
88 |
+
list ( $start, $end ) = explode( ' - ', $filter['created_at'], 2 );
|
89 |
+
$end = date( 'Y-m-d', strtotime( '+1 day', strtotime( $end ) ) );
|
90 |
+
|
91 |
+
$query->whereBetween( 'l.created_at', $start, $end );
|
92 |
+
|
93 |
+
$filtered = $query->count();
|
94 |
+
|
95 |
+
if ( self::parameter( 'length' ) ) {
|
96 |
+
$query->limit( self::parameter( 'length' ) )->offset( self::parameter( 'start' ) );
|
97 |
+
}
|
98 |
+
|
99 |
+
foreach ( $order as $sort_by ) {
|
100 |
+
$query->sortBy( str_replace( '.', '_', $columns[ $sort_by['column'] ]['data'] ) )
|
101 |
+
->order( $sort_by['dir'] == 'desc' ? Lib\Query::ORDER_DESCENDING : Lib\Query::ORDER_ASCENDING );
|
102 |
+
}
|
103 |
+
|
104 |
+
$logs = $query->fetchArray();
|
105 |
+
|
106 |
+
wp_send_json( array(
|
107 |
+
'draw' => ( int ) self::parameter( 'draw' ),
|
108 |
+
'recordsTotal' => count( $logs ),
|
109 |
+
'recordsFiltered' => $filtered,
|
110 |
+
'data' => $logs,
|
111 |
+
) );
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Delete all logs
|
116 |
+
*/
|
117 |
+
public static function deleteLogs()
|
118 |
+
{
|
119 |
+
Lib\Entities\Log::query()
|
120 |
+
->delete()
|
121 |
+
->execute();
|
122 |
+
|
123 |
+
wp_send_json_success();
|
124 |
+
}
|
125 |
}
|
backend/modules/settings/Page.php
CHANGED
@@ -28,17 +28,20 @@ class Page extends Lib\Base\Ajax
|
|
28 |
self::enqueueScripts( array(
|
29 |
'backend' => array(
|
30 |
'bootstrap/js/bootstrap.min.js' => array( 'jquery' ),
|
31 |
-
'js/
|
32 |
-
'js/
|
33 |
-
'js/
|
34 |
-
'js/
|
|
|
|
|
|
|
35 |
),
|
36 |
'module' => array( 'js/settings.js' => array( 'jquery', 'bookly-intlTelInput.min.js', 'bookly-sortable.min.js', 'bookly-range-tools.js' ) ),
|
37 |
'frontend' => array(
|
38 |
'js/intlTelInput.min.js' => array( 'jquery' ),
|
39 |
-
'js/spin.min.js'
|
40 |
-
'js/ladda.min.js'
|
41 |
-
)
|
42 |
) );
|
43 |
|
44 |
$current_tab = self::hasParameter( 'tab' ) ? self::parameter( 'tab' ) : 'general';
|
@@ -87,8 +90,8 @@ class Page extends Lib\Base\Ajax
|
|
87 |
update_option( 'bookly_gen_max_days_for_booking', (int) self::parameter( 'bookly_gen_max_days_for_booking' ) );
|
88 |
update_option( 'bookly_gen_use_client_time_zone', (int) self::parameter( 'bookly_gen_use_client_time_zone' ) );
|
89 |
update_option( 'bookly_gen_collect_stats', self::parameter( 'bookly_gen_collect_stats' ) );
|
90 |
-
update_option( '
|
91 |
-
update_option( '
|
92 |
$alert['success'][] = __( 'Settings saved.', 'bookly' );
|
93 |
break;
|
94 |
case 'url': // URL settings form.
|
@@ -122,6 +125,10 @@ class Page extends Lib\Base\Ajax
|
|
122 |
update_option( 'bookly_co_website', self::parameter( 'bookly_co_website' ) );
|
123 |
$alert['success'][] = __( 'Settings saved.', 'bookly' );
|
124 |
break;
|
|
|
|
|
|
|
|
|
125 |
}
|
126 |
|
127 |
// Let Add-ons save their settings.
|
@@ -156,6 +163,9 @@ class Page extends Lib\Base\Ajax
|
|
156 |
'repeat' => __( 'Repeat every year', 'bookly' ),
|
157 |
'we_are_not_working' => __( 'We are not working on this day', 'bookly' ),
|
158 |
'sample_price' => number_format_i18n( 10, 3 ),
|
|
|
|
|
|
|
159 |
) );
|
160 |
$values = array();
|
161 |
foreach ( array( 5, 10, 12, 15, 20, 30, 45, 60, 90, 120, 180, 240, 360 ) as $duration ) {
|
28 |
self::enqueueScripts( array(
|
29 |
'backend' => array(
|
30 |
'bootstrap/js/bootstrap.min.js' => array( 'jquery' ),
|
31 |
+
'js/datatables.min.js' => array( 'jquery' ),
|
32 |
+
'js/moment.min.js',
|
33 |
+
'js/daterangepicker.js' => array( 'jquery' ),
|
34 |
+
'js/sortable.min.js' => array( 'jquery' ),
|
35 |
+
'js/jCal.js' => array( 'jquery' ),
|
36 |
+
'js/alert.js' => array( 'jquery' ),
|
37 |
+
'js/range-tools.js' => array( 'jquery' ),
|
38 |
),
|
39 |
'module' => array( 'js/settings.js' => array( 'jquery', 'bookly-intlTelInput.min.js', 'bookly-sortable.min.js', 'bookly-range-tools.js' ) ),
|
40 |
'frontend' => array(
|
41 |
'js/intlTelInput.min.js' => array( 'jquery' ),
|
42 |
+
'js/spin.min.js' => array( 'jquery' ),
|
43 |
+
'js/ladda.min.js' => array( 'jquery' ),
|
44 |
+
),
|
45 |
) );
|
46 |
|
47 |
$current_tab = self::hasParameter( 'tab' ) ? self::parameter( 'tab' ) : 'general';
|
90 |
update_option( 'bookly_gen_max_days_for_booking', (int) self::parameter( 'bookly_gen_max_days_for_booking' ) );
|
91 |
update_option( 'bookly_gen_use_client_time_zone', (int) self::parameter( 'bookly_gen_use_client_time_zone' ) );
|
92 |
update_option( 'bookly_gen_collect_stats', self::parameter( 'bookly_gen_collect_stats' ) );
|
93 |
+
update_option( 'bookly_gen_show_powered_by', self::parameter( 'bookly_gen_show_powered_by' ) );
|
94 |
+
update_option( 'bookly_gen_prevent_caching', (int) self::parameter( 'bookly_gen_prevent_caching' ) );
|
95 |
$alert['success'][] = __( 'Settings saved.', 'bookly' );
|
96 |
break;
|
97 |
case 'url': // URL settings form.
|
125 |
update_option( 'bookly_co_website', self::parameter( 'bookly_co_website' ) );
|
126 |
$alert['success'][] = __( 'Settings saved.', 'bookly' );
|
127 |
break;
|
128 |
+
case 'logs': // Logs form.
|
129 |
+
update_option( 'bookly_logs_enabled', self::parameter( 'bookly_logs_enabled' ) );
|
130 |
+
$alert['success'][] = __( 'Settings saved.', 'bookly' );
|
131 |
+
break;
|
132 |
}
|
133 |
|
134 |
// Let Add-ons save their settings.
|
163 |
'repeat' => __( 'Repeat every year', 'bookly' ),
|
164 |
'we_are_not_working' => __( 'We are not working on this day', 'bookly' ),
|
165 |
'sample_price' => number_format_i18n( 10, 3 ),
|
166 |
+
'are_you_sure' => __( 'Are you sure?', 'bookly' ),
|
167 |
+
'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
|
168 |
+
'dateRange' => Lib\Utils\DateTime::dateRangeOptions( array( 'lastMonth' => __( 'Last month', 'bookly' ), ) ),
|
169 |
) );
|
170 |
$values = array();
|
171 |
foreach ( array( 5, 10, 12, 15, 20, 30, 45, 60, 90, 120, 180, 240, 360 ) as $duration ) {
|
backend/modules/settings/resources/js/settings.js
CHANGED
@@ -17,7 +17,9 @@ jQuery(function ($) {
|
|
17 |
$ocFullSyncOffset = $('#bookly_oc_full_sync_offset_days_before'),
|
18 |
$ocFullSyncTitles = $('#bookly_oc_full_sync_titles'),
|
19 |
$currency = $('#bookly_pmt_currency'),
|
20 |
-
$formats = $('#bookly_pmt_price_format')
|
|
|
|
|
21 |
;
|
22 |
|
23 |
booklyAlert(BooklyL10n.alert);
|
@@ -267,4 +269,113 @@ jQuery(function ($) {
|
|
267 |
|
268 |
// Activate tab.
|
269 |
$('a[href="#bookly_settings_' + BooklyL10n.current_tab + '"]').booklyTab('show');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
});
|
17 |
$ocFullSyncOffset = $('#bookly_oc_full_sync_offset_days_before'),
|
18 |
$ocFullSyncTitles = $('#bookly_oc_full_sync_titles'),
|
19 |
$currency = $('#bookly_pmt_currency'),
|
20 |
+
$formats = $('#bookly_pmt_price_format'),
|
21 |
+
$logsDateFilter = $('#bookly-logs-date-filter'),
|
22 |
+
$logsTable = $('#bookly-logs-table')
|
23 |
;
|
24 |
|
25 |
booklyAlert(BooklyL10n.alert);
|
269 |
|
270 |
// Activate tab.
|
271 |
$('a[href="#bookly_settings_' + BooklyL10n.current_tab + '"]').booklyTab('show');
|
272 |
+
|
273 |
+
// Logs
|
274 |
+
$('#bookly_logs_enabled').on('change', function() {
|
275 |
+
$('#bookly-logs-table-wrap').toggle($(this).find('option:selected').val() === '1');
|
276 |
+
}).trigger('change');
|
277 |
+
|
278 |
+
$('#bookly-delete-logs').on('click', function (){
|
279 |
+
if (confirm(BooklyL10n.are_you_sure)) {
|
280 |
+
var ladda = Ladda.create(this);
|
281 |
+
ladda.start();
|
282 |
+
$.ajax({
|
283 |
+
url : ajaxurl,
|
284 |
+
type : 'POST',
|
285 |
+
data : {
|
286 |
+
action : 'bookly_delete_logs',
|
287 |
+
csrf_token : BooklyL10n.csrf_token,
|
288 |
+
},
|
289 |
+
dataType : 'json',
|
290 |
+
success : function() {
|
291 |
+
ladda.stop();
|
292 |
+
dt.ajax.reload();
|
293 |
+
}
|
294 |
+
});
|
295 |
+
}
|
296 |
+
});
|
297 |
+
|
298 |
+
let pickers = {
|
299 |
+
dateFormat: 'YYYY-MM-DD',
|
300 |
+
creationDate: {
|
301 |
+
startDate: moment().subtract(30, 'days'),
|
302 |
+
endDate : moment(),
|
303 |
+
},
|
304 |
+
};
|
305 |
+
var picker_ranges = {};
|
306 |
+
picker_ranges[BooklyL10n.dateRange.yesterday] = [moment().subtract(1, 'days'), moment().subtract(1, 'days')];
|
307 |
+
picker_ranges[BooklyL10n.dateRange.today] = [moment(), moment()];
|
308 |
+
picker_ranges[BooklyL10n.dateRange.last_7] = [moment().subtract(7, 'days'), moment()];
|
309 |
+
picker_ranges[BooklyL10n.dateRange.last_30] = [moment().subtract(30, 'days'), moment()];
|
310 |
+
picker_ranges[BooklyL10n.dateRange.thisMonth] = [moment().startOf('month'), moment().endOf('month')];
|
311 |
+
picker_ranges[BooklyL10n.dateRange.lastMonth] = [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')];
|
312 |
+
|
313 |
+
$logsDateFilter.daterangepicker({
|
314 |
+
parentEl : $logsDateFilter.closest('.card-body'),
|
315 |
+
startDate : pickers.creationDate.startDate,
|
316 |
+
endDate : pickers.creationDate.endDate,
|
317 |
+
ranges : picker_ranges,
|
318 |
+
showDropdowns : true,
|
319 |
+
linkedCalendars: false,
|
320 |
+
autoUpdateInput: false,
|
321 |
+
locale : $.extend({}, BooklyL10n.dateRange, BooklyL10n.datePicker)
|
322 |
+
},
|
323 |
+
function (start, end) {
|
324 |
+
$logsDateFilter
|
325 |
+
.data('date', start.format(pickers.dateFormat) + ' - ' + end.format(pickers.dateFormat))
|
326 |
+
.find('span')
|
327 |
+
.html(start.format(BooklyL10n.dateRange.format) + ' - ' + end.format(BooklyL10n.dateRange.format));
|
328 |
+
}
|
329 |
+
);
|
330 |
+
|
331 |
+
var dt = $logsTable.DataTable({
|
332 |
+
order: [0],
|
333 |
+
info: false,
|
334 |
+
paging : true,
|
335 |
+
searching: false,
|
336 |
+
lengthChange: false,
|
337 |
+
processing: true,
|
338 |
+
responsive: true,
|
339 |
+
pageLength: 25,
|
340 |
+
pagingType: 'numbers',
|
341 |
+
serverSide: true,
|
342 |
+
ajax: {
|
343 |
+
url: ajaxurl,
|
344 |
+
type: 'POST',
|
345 |
+
data: function (d) {
|
346 |
+
return $.extend({action: 'bookly_get_logs', csrf_token: BooklyL10n.csrf_token}, {
|
347 |
+
filter: {
|
348 |
+
created_at: $logsDateFilter.data('date'),
|
349 |
+
}
|
350 |
+
}, d);
|
351 |
+
}
|
352 |
+
},
|
353 |
+
columns: [
|
354 |
+
{data: 'created_at'},
|
355 |
+
{data: 'action'},
|
356 |
+
{data: 'target'},
|
357 |
+
{data: 'target_id'},
|
358 |
+
{data: 'author'},
|
359 |
+
{
|
360 |
+
data: 'details',
|
361 |
+
render: function (data, type, row, meta) {
|
362 |
+
try {
|
363 |
+
return JSON.stringify(JSON.parse(data), null, 2).replace(/\n/g, "<br/>");
|
364 |
+
} catch (e) {
|
365 |
+
return data;
|
366 |
+
}
|
367 |
+
},
|
368 |
+
className: 'none'
|
369 |
+
},
|
370 |
+
{data: 'comment'},
|
371 |
+
{data: 'ref', className: 'none'},
|
372 |
+
],
|
373 |
+
dom: "<'row'<'col-sm-12'tr>><'row float-left mt-3'<'col-sm-12'p>>",
|
374 |
+
language: {
|
375 |
+
zeroRecords: BooklyL10n.zeroRecords,
|
376 |
+
processing: BooklyL10n.processing
|
377 |
+
}
|
378 |
+
});
|
379 |
+
|
380 |
+
$logsDateFilter.on('apply.daterangepicker', function () { dt.ajax.reload(); });
|
381 |
});
|
backend/modules/settings/templates/_generalForm.php
CHANGED
@@ -18,8 +18,8 @@ use Bookly\Backend\Modules\Settings\Proxy;
|
|
18 |
Selects::renderSingle( 'bookly_gen_allow_staff_edit_profile', __( 'Allow staff members to edit their profiles', 'bookly' ), __( 'If this option is enabled then all staff members who are associated with WordPress users will be able to edit their own profiles, services, schedule and days off.', 'bookly' ) );
|
19 |
Selects::renderSingle( 'bookly_gen_link_assets_method', __( 'Method to include Bookly JavaScript and CSS files on the page', 'bookly' ), __( 'With "Enqueue" method the JavaScript and CSS files of Bookly will be included on all pages of your website. This method should work with all themes. With "Print" method the files will be included only on the pages which contain Bookly booking form. This method may not work with all themes.', 'bookly' ), array( array( 'enqueue', 'Enqueue' ), array( 'print', 'Print' ) ) );
|
20 |
Selects::renderSingle( 'bookly_gen_collect_stats', __( 'Help us improve Bookly by sending anonymous usage stats', 'bookly' ) );
|
21 |
-
Selects::renderSingle( '
|
22 |
-
Selects::renderSingle( '
|
23 |
?>
|
24 |
</div>
|
25 |
<div class="card-footer bg-transparent d-flex justify-content-end">
|
18 |
Selects::renderSingle( 'bookly_gen_allow_staff_edit_profile', __( 'Allow staff members to edit their profiles', 'bookly' ), __( 'If this option is enabled then all staff members who are associated with WordPress users will be able to edit their own profiles, services, schedule and days off.', 'bookly' ) );
|
19 |
Selects::renderSingle( 'bookly_gen_link_assets_method', __( 'Method to include Bookly JavaScript and CSS files on the page', 'bookly' ), __( 'With "Enqueue" method the JavaScript and CSS files of Bookly will be included on all pages of your website. This method should work with all themes. With "Print" method the files will be included only on the pages which contain Bookly booking form. This method may not work with all themes.', 'bookly' ), array( array( 'enqueue', 'Enqueue' ), array( 'print', 'Print' ) ) );
|
20 |
Selects::renderSingle( 'bookly_gen_collect_stats', __( 'Help us improve Bookly by sending anonymous usage stats', 'bookly' ) );
|
21 |
+
Selects::renderSingle( 'bookly_gen_show_powered_by', __( 'Powered by Bookly' ), __( 'Allow the plugin to set a Powered by Bookly notice on the booking widget to spread information about the plugin. This will allow the team to improve the product and enhance its functionality', 'bookly' ) );
|
22 |
+
Selects::renderSingle( 'bookly_gen_prevent_caching', __( 'Prevent caching of pages with booking form', 'bookly' ), __( 'Select "Enabled" if you want Bookly to prevent caching by third-party caching plugins by adding a DONOTCACHEPAGE constant on pages with booking form', 'bookly' ) );
|
23 |
?>
|
24 |
</div>
|
25 |
<div class="card-footer bg-transparent d-flex justify-content-end">
|
backend/modules/settings/templates/_logsForm.php
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
+
use Bookly\Backend\Components\Controls\Inputs as ControlsInputs;
|
4 |
+
use Bookly\Backend\Components\Settings\Selects;
|
5 |
+
use Bookly\Lib\Utils\DateTime;
|
6 |
+
?>
|
7 |
+
<form method="post" action="<?php echo esc_url( add_query_arg( 'tab', 'logs' ) ) ?>">
|
8 |
+
<div class="card-body">
|
9 |
+
<?php
|
10 |
+
Selects::renderSingle( 'bookly_logs_enabled', __( 'Debug logs', 'bookly' ), __( 'If this setting is enabled then all actions with appointments will be recorded in a log table. We recommend enabling this setting as it will be helpful for our support team in case of unpredictable issues with appointments.', 'bookly' ) );
|
11 |
+
?>
|
12 |
+
<div id="bookly-logs-table-wrap">
|
13 |
+
<div class="form-row">
|
14 |
+
<div class="col-auto">
|
15 |
+
<button type="button" class="btn btn-default w-100 mb-3 text-truncate text-left" id="bookly-logs-date-filter" data-date="<?php echo date( 'Y-m-d', strtotime( 'first day of' ) ) ?> - <?php echo date( 'Y-m-d', strtotime( 'last day of' ) ) ?>">
|
16 |
+
<i class="far fa-calendar-alt mr-1"></i>
|
17 |
+
<span>
|
18 |
+
<?php echo DateTime::formatDate( 'first day of this month' ) ?> - <?php echo DateTime::formatDate( 'last day of this month' ) ?>
|
19 |
+
</span>
|
20 |
+
</button>
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
<div class="table-responsive">
|
24 |
+
<table id="bookly-logs-table" class="table table-striped table-hover nowrap w-100">
|
25 |
+
<thead>
|
26 |
+
<tr>
|
27 |
+
<th><?php esc_html_e( 'Date', 'bookly' ) ?></th>
|
28 |
+
<th><?php esc_html_e( 'Action', 'bookly' ) ?></th>
|
29 |
+
<th><?php esc_html_e( 'Target', 'bookly' ) ?></th>
|
30 |
+
<th><?php esc_html_e( 'Target ID', 'bookly' ) ?></th>
|
31 |
+
<th><?php esc_html_e( 'Author', 'bookly' ) ?></th>
|
32 |
+
<th><?php esc_html_e( 'Details', 'bookly' ) ?></th>
|
33 |
+
<th><?php esc_html_e( 'Comment', 'bookly' ) ?></th>
|
34 |
+
<th><?php esc_html_e( 'Reference', 'bookly' ) ?></th>
|
35 |
+
</tr>
|
36 |
+
</thead>
|
37 |
+
</table>
|
38 |
+
<div class="text-right mt-3">
|
39 |
+
<?php Buttons::renderDelete( 'bookly-delete-logs', 'mr-2', __( 'Clear logs', 'bookly' ) ); ?>
|
40 |
+
</div>
|
41 |
+
</div>
|
42 |
+
</div>
|
43 |
+
</div>
|
44 |
+
<div class="card-footer bg-transparent d-flex justify-content-end">
|
45 |
+
<?php ControlsInputs::renderCsrf() ?>
|
46 |
+
<?php Buttons::renderSubmit() ?>
|
47 |
+
</div>
|
48 |
+
</form>
|
backend/modules/settings/templates/index.php
CHANGED
@@ -23,6 +23,7 @@ use Bookly\Backend\Components;
|
|
23 |
<?php Components\Settings\Menu::renderItem( __( 'Business Hours', 'bookly' ), 'business_hours' ) ?>
|
24 |
<?php Components\Settings\Menu::renderItem( __( 'Holidays', 'bookly' ), 'holidays' ) ?>
|
25 |
<?php Proxy\Pro::renderPurchaseCodeMenuItem() ?>
|
|
|
26 |
</div>
|
27 |
</div>
|
28 |
|
@@ -58,6 +59,9 @@ use Bookly\Backend\Components;
|
|
58 |
<?php include '_holidaysForm.php' ?>
|
59 |
</div>
|
60 |
<?php Proxy\Pro::renderPurchaseCodeTab() ?>
|
|
|
|
|
|
|
61 |
</div>
|
62 |
</div>
|
63 |
</div>
|
23 |
<?php Components\Settings\Menu::renderItem( __( 'Business Hours', 'bookly' ), 'business_hours' ) ?>
|
24 |
<?php Components\Settings\Menu::renderItem( __( 'Holidays', 'bookly' ), 'holidays' ) ?>
|
25 |
<?php Proxy\Pro::renderPurchaseCodeMenuItem() ?>
|
26 |
+
<?php Components\Settings\Menu::renderItem( __( 'Logs', 'bookly' ), 'logs' ) ?>
|
27 |
</div>
|
28 |
</div>
|
29 |
|
59 |
<?php include '_holidaysForm.php' ?>
|
60 |
</div>
|
61 |
<?php Proxy\Pro::renderPurchaseCodeTab() ?>
|
62 |
+
<div class="tab-pane" id="bookly_settings_logs">
|
63 |
+
<?php include '_logsForm.php' ?>
|
64 |
+
</div>
|
65 |
</div>
|
66 |
</div>
|
67 |
</div>
|
backend/modules/staff/Ajax.php
CHANGED
@@ -126,6 +126,9 @@ class Ajax extends Lib\Base\Ajax
|
|
126 |
if ( self::parameter( 'force_delete', false ) ) {
|
127 |
foreach ( $staff_ids as $staff_id ) {
|
128 |
if ( $staff = Lib\Entities\Staff::find( $staff_id ) ) {
|
|
|
|
|
|
|
129 |
$staff->delete();
|
130 |
}
|
131 |
}
|
@@ -170,20 +173,6 @@ class Ajax extends Lib\Base\Ajax
|
|
170 |
wp_send_json_success();
|
171 |
}
|
172 |
|
173 |
-
/**
|
174 |
-
* Update staff schedule.
|
175 |
-
*/
|
176 |
-
public static function staffScheduleUpdate()
|
177 |
-
{
|
178 |
-
$form = new Forms\StaffSchedule();
|
179 |
-
$form->bind( self::postParameters() );
|
180 |
-
$form->save();
|
181 |
-
|
182 |
-
Proxy\Shared::updateStaffSchedule( self::postParameters() );
|
183 |
-
|
184 |
-
wp_send_json_success();
|
185 |
-
}
|
186 |
-
|
187 |
/**
|
188 |
* Extend parent method to control access on staff member level.
|
189 |
*
|
@@ -199,30 +188,9 @@ class Ajax extends Lib\Base\Ajax
|
|
199 |
switch ( $action ) {
|
200 |
case 'getStaffList':
|
201 |
return $staff->loadBy( array( 'wp_user_id' => get_current_user_id() ) );
|
202 |
-
case 'staffScheduleUpdate':
|
203 |
-
if ( self::hasParameter( 'ssi' ) ) {
|
204 |
-
foreach ( self::parameter( 'ssi' ) as $id => $day_index ) {
|
205 |
-
$res_schedule = new Lib\Entities\StaffScheduleItem();
|
206 |
-
$res_schedule->load( $id );
|
207 |
-
$staff = new Lib\Entities\Staff();
|
208 |
-
$staff->load( $res_schedule->getStaffId() );
|
209 |
-
if ( $staff->getWpUserId() != get_current_user_id() ) {
|
210 |
-
return false;
|
211 |
-
}
|
212 |
-
}
|
213 |
-
}
|
214 |
-
break;
|
215 |
-
case 'resetBreaks':
|
216 |
-
$parameter = self::parameter( 'breaks' );
|
217 |
-
if ( $parameter && isset( $parameter['staff_id'] ) ) {
|
218 |
-
$staff->load( $parameter['staff_id'] );
|
219 |
-
}
|
220 |
-
break;
|
221 |
default:
|
222 |
return false;
|
223 |
}
|
224 |
-
|
225 |
-
return $staff->getWpUserId() == get_current_user_id();
|
226 |
}
|
227 |
|
228 |
return true;
|
126 |
if ( self::parameter( 'force_delete', false ) ) {
|
127 |
foreach ( $staff_ids as $staff_id ) {
|
128 |
if ( $staff = Lib\Entities\Staff::find( $staff_id ) ) {
|
129 |
+
foreach ( Lib\Entities\Appointment::query( 'a' )->where( 'a.staff_id', $staff_id )->find() as $appointment ) {
|
130 |
+
Lib\Utils\Log::deleteEntity( $appointment, __METHOD__, 'Delete staff: ' . $staff->getFullName() );
|
131 |
+
}
|
132 |
$staff->delete();
|
133 |
}
|
134 |
}
|
173 |
wp_send_json_success();
|
174 |
}
|
175 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
/**
|
177 |
* Extend parent method to control access on staff member level.
|
178 |
*
|
188 |
switch ( $action ) {
|
189 |
case 'getStaffList':
|
190 |
return $staff->loadBy( array( 'wp_user_id' => get_current_user_id() ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
default:
|
192 |
return false;
|
193 |
}
|
|
|
|
|
194 |
}
|
195 |
|
196 |
return true;
|
backend/modules/staff/proxy/Locations.php
CHANGED
@@ -4,11 +4,8 @@ namespace Bookly\Backend\Modules\Staff\Proxy;
|
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
-
*
|
8 |
-
* @
|
9 |
-
*
|
10 |
-
* @method static array getStaffSchedule( int $staff_id, int $location_id ) Prepare staff schedule.
|
11 |
-
* @method static void renderLocationSwitcher( int $staff_id, int $location_id, string $type ) Render location switcher.
|
12 |
*/
|
13 |
abstract class Locations extends Lib\Base\Proxy
|
14 |
{
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
+
* @since Bookly 18.9
|
8 |
+
* @deprecated To be removed in the future
|
|
|
|
|
|
|
9 |
*/
|
10 |
abstract class Locations extends Lib\Base\Proxy
|
11 |
{
|
backend/modules/staff/proxy/OutlookCalendar.php
CHANGED
@@ -4,10 +4,8 @@ namespace Bookly\Backend\Modules\Staff\Proxy;
|
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
-
*
|
8 |
-
* @
|
9 |
-
*
|
10 |
-
* @method static void renderCalendarSettings( array $tpl_data ) Render Outlook Calendar settings.
|
11 |
*/
|
12 |
abstract class OutlookCalendar extends Lib\Base\Proxy
|
13 |
{
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
+
* @since Bookly 18.9
|
8 |
+
* @deprecated To be removed in the future
|
|
|
|
|
9 |
*/
|
10 |
abstract class OutlookCalendar extends Lib\Base\Proxy
|
11 |
{
|
backend/modules/staff/proxy/Pro.php
CHANGED
@@ -8,9 +8,6 @@ use Bookly\Lib;
|
|
8 |
* @package Bookly\Backend\Modules\Staff\Proxy
|
9 |
*
|
10 |
* @method static array getCategoriesList() Get categories list.
|
11 |
-
* @method static void renderGoogleCalendarSettings( array $tpl_data ) Render Google Calendar settings.
|
12 |
-
* @method static void renderStaffDetails( Lib\Entities\Staff $staff ) Render staff details form.
|
13 |
-
* @method static void updateCategoriesPositions( array $categories ) Update categories positions.
|
14 |
*/
|
15 |
abstract class Pro extends Lib\Base\Proxy
|
16 |
{
|
8 |
* @package Bookly\Backend\Modules\Staff\Proxy
|
9 |
*
|
10 |
* @method static array getCategoriesList() Get categories list.
|
|
|
|
|
|
|
11 |
*/
|
12 |
abstract class Pro extends Lib\Base\Proxy
|
13 |
{
|
backend/modules/staff/proxy/Ratings.php
CHANGED
@@ -4,10 +4,8 @@ namespace Bookly\Backend\Modules\Staff\Proxy;
|
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
-
*
|
8 |
-
* @
|
9 |
-
*
|
10 |
-
* @method static void renderStaffServiceRating( int $staff_id, int $service_id, string $type ) Render rating.
|
11 |
*/
|
12 |
abstract class Ratings extends Lib\Base\Proxy
|
13 |
{
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
+
* @since Bookly 18.9
|
8 |
+
* @deprecated To be removed in the future
|
|
|
|
|
9 |
*/
|
10 |
abstract class Ratings extends Lib\Base\Proxy
|
11 |
{
|
backend/modules/staff/proxy/Shared.php
CHANGED
@@ -7,21 +7,11 @@ use Bookly\Lib;
|
|
7 |
* Class Shared
|
8 |
* @package Bookly\Backend\Modules\Staff\Proxy
|
9 |
*
|
10 |
-
* @method static array editStaff( array $data, Lib\Entities\Staff $staff ) Prepare edit staff form.
|
11 |
* @method static void enqueueStaffProfileScripts() Enqueue scripts for page Staff.
|
12 |
* @method static void enqueueStaffProfileStyles() Enqueue styles for page Staff.
|
13 |
* @method static string getAffectedAppointmentsFilter( string $filter_url, int[] $staff_id ) Get link with filter for appointments page.
|
14 |
* @method static Lib\Query prepareGetStaffQuery( Lib\Query $query ) Prepare get staff list query.
|
15 |
-
* @method static void preUpdateStaff( Lib\Entities\Staff $staff, array $params ) Do stuff before staff update.
|
16 |
-
* @method static void renderStaffForm( Lib\Entities\Staff $staff ) Render Staff form tab details.
|
17 |
* @method static int renderStaffPage( array $params ) Do stuff on staff page render.
|
18 |
-
* @method static void renderStaffService( int $staff_id, Lib\Entities\Service $service, array $services_data, array $attributes = array() ) Render controls for staff on Services tab.
|
19 |
-
* @method static void renderStaffServiceLabels() Render column header for controls on Services tab.
|
20 |
-
* @method static void renderStaffServiceTail( int $staff_id, Lib\Entities\Service $service, int $location_id, $attributes = array() ) Render controls for Staff on tab services.
|
21 |
-
* @method static void renderStaffTab( Lib\Entities\Staff $staff ) Render staff tab.
|
22 |
-
* @method static void updateStaff( Lib\Entities\Staff $staff, array $params ) Update staff settings in add-ons.
|
23 |
-
* @method static void updateStaffSchedule( array $_post ) Update staff schedule settings in add-ons.
|
24 |
-
* @method static void updateStaffServices( array $_post ) Update staff services settings in add-ons.
|
25 |
* @method static array searchStaff( array $fields, array $columns, Lib\Query $query ) Search staff, prepare query and fields.
|
26 |
*/
|
27 |
abstract class Shared extends Lib\Base\Proxy
|
7 |
* Class Shared
|
8 |
* @package Bookly\Backend\Modules\Staff\Proxy
|
9 |
*
|
|
|
10 |
* @method static void enqueueStaffProfileScripts() Enqueue scripts for page Staff.
|
11 |
* @method static void enqueueStaffProfileStyles() Enqueue styles for page Staff.
|
12 |
* @method static string getAffectedAppointmentsFilter( string $filter_url, int[] $staff_id ) Get link with filter for appointments page.
|
13 |
* @method static Lib\Query prepareGetStaffQuery( Lib\Query $query ) Prepare get staff list query.
|
|
|
|
|
14 |
* @method static int renderStaffPage( array $params ) Do stuff on staff page render.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
* @method static array searchStaff( array $fields, array $columns, Lib\Query $query ) Search staff, prepare query and fields.
|
16 |
*/
|
17 |
abstract class Shared extends Lib\Base\Proxy
|
backend/resources/js/angular.min.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*
|
2 |
-
AngularJS v1.4.7 (patched in BP-2256)
|
3 |
(c) 2010-2015 Google, Inc. http://angularjs.org
|
4 |
License: MIT
|
5 |
*/
|
@@ -74,7 +74,7 @@ b){return P(function(){return a.apply(null,arguments)},a,b)}function aa(a,b,d,e,
|
|
74 |
b};q=n.assign||function(){r=d[g]=n(a);throw ga("nonassign",c[k],f.name);};r=d[g]=n(a);l=function(b){K(b,d[g])||(K(b,r)?q(a,b=d[g]):d[g]=b);return r=b};l.$stateful=!0;l=e.collection?a.$watchCollection(c[k],l):a.$watch(u(c[k],l),null,n.literal);h=h||[];h.push(l);break;case "&":n=c.hasOwnProperty(k)?u(c[k]):y;if(n===y&&l)break;d[g]=function(b){return n(a,b)}}});e=h?function(){for(var a=0,b=h.length;a<b;++a)h[a]()}:y;return g&&e!==y?(g.$on("$destroy",e),y):e}var Z=function(a,b){if(b){var c=Object.keys(b),
|
75 |
d,e,f;d=0;for(e=c.length;d<e;d++)f=c[d],this[f]=b[f]}else this.$attr={};this.$$element=a};Z.prototype={$normalize:ya,$addClass:function(a){a&&0<a.length&&O.addClass(this.$$element,a)},$removeClass:function(a){a&&0<a.length&&O.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=Zc(a,b);c&&c.length&&O.addClass(this.$$element,c);(c=Zc(b,a))&&c.length&&O.removeClass(this.$$element,c)},$set:function(a,b,d,e){var f=Rc(this.$$element[0],a),g=$c[a],h=a;f?(this.$$element.prop(a,b),e=f):g&&(this[g]=
|
76 |
b,h=g);this[a]=b;e?this.$attr[a]=e:(e=this.$attr[a])||(this.$attr[a]=e=Ac(a,"-"));f=wa(this.$$element);if("a"===f&&"href"===a||"img"===f&&"src"===a)this[a]=b=H(b,"src"===a);else if("img"===f&&"srcset"===a){for(var f="",g=T(b),k=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,k=/\s/.test(g)?k:/(,)/,g=g.split(k),k=Math.floor(g.length/2),l=0;l<k;l++)var r=2*l,f=f+H(T(g[r]),!0),f=f+(" "+T(g[r+1]));g=T(g[2*l]).split(/\s/);f+=H(T(g[0]),!0);2===g.length&&(f+=" "+T(g[1]));this[a]=b=f}!1!==d&&(null===b||v(b)?this.$$element.removeAttr(e):
|
77 |
-
this.$$element.
|
78 |
[];J(b)?c=c.concat(b):c.push(b);a.data("$binding",c)}:y;W.$$addBindingClass=n?function(a){L(a,"ng-binding")}:y;W.$$addScopeInfo=n?function(a,b,c,d){a.data(c?d?"$isolateScopeNoTemplate":"$isolateScope":"$scope",b)}:y;W.$$addScopeClass=n?function(a,b){L(a,b?"ng-isolate-scope":"ng-scope")}:y;return W}]}function ya(b){return gb(b.replace(Wc,""))}function Zc(b,a){var c="",d=b.split(/\s+/),e=a.split(/\s+/),f=0;a:for(;f<d.length;f++){for(var h=d[f],g=0;g<e.length;g++)if(h==e[g])continue a;c+=(0<c.length?
|
79 |
" ":"")+h}return c}function Xc(b){b=B(b);var a=b.length;if(1>=a)return b;for(;a--;)8===b[a].nodeType&&Nf.call(b,a,1);return b}function Xe(){var b={},a=!1;this.register=function(a,d){Ta(a,"controller");C(a)?P(b,a):b[a]=d};this.allowGlobals=function(){a=!0};this.$get=["$injector","$window",function(c,d){function e(a,b,c,d){if(!a||!C(a.$scope))throw I("$controller")("noscp",d,b);a.$scope[b]=c}return function(f,h,g,l){var k,n,p;g=!0===g;l&&G(l)&&(p=l);if(G(f)){l=f.match(Vc);if(!l)throw Of("ctrlfmt",f);
|
80 |
n=l[1];p=p||l[3];f=b.hasOwnProperty(n)?b[n]:Cc(h.$scope,n,!0)||(a?Cc(d,n,!0):w);Sa(f,n,!0)}if(g)return g=(J(f)?f[f.length-1]:f).prototype,k=Object.create(g||null),p&&e(h,p,k,n||f.name),P(function(){var a=c.invoke(f,k,h,n);a!==k&&(C(a)||x(a))&&(k=a,p&&e(h,p,k,n||f.name));return k},{instance:k,identifier:p});k=c.instantiate(f,h,n);p&&e(h,p,k,n||f.name);return k}}]}function Ye(){this.$get=["$window",function(b){return B(b.document)}]}function Ze(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,
|
@@ -272,7 +272,7 @@ getViewValueFromOption:function(a){return v?da.copy(a.viewValue):a.viewValue}}}}
|
|
272 |
a.nextSibling,Wb(a),a=c}function s(a){var c=q&&q[0],d=H&&H[0];if(c||d)for(;a&&(a===c||a===d||c&&8===c.nodeType);)a=a.nextSibling;return a}function v(){var a=x&&u.readValue();x=C.getOptions();var c={},d=g[0].firstChild;O&&g.prepend(q);d=s(d);x.items.forEach(function(a){var h,k;a.group?(h=c[a.group],h||(h=p(g[0],d,"optgroup",f),d=h.nextSibling,h.label=a.group,h=c[a.group]={groupElement:h,currentOptionElement:h.firstChild}),k=p(h.groupElement,h.currentOptionElement,"option",e),n(a,k),h.currentOptionElement=
|
273 |
k.nextSibling):(k=p(g[0],d,"option",e),n(a,k),d=k.nextSibling)});Object.keys(c).forEach(function(a){r(c[a].currentOptionElement)});r(d);w.$render();if(!w.$isEmpty(a)){var h=u.readValue();(C.trackBy?ka(a,h):a===h)||(w.$setViewValue(h),w.$render())}}var w=k[1];if(w){var u=k[0];k=l.multiple;for(var q,z=0,y=g.children(),A=y.length;z<A;z++)if(""===y[z].value){q=y.eq(z);break}var O=!!q,H=B(e.cloneNode(!1));H.val("?");var x,C=d(l.ngOptions,g,c);k?(w.$isEmpty=function(a){return!a||0===a.length},u.writeValue=
|
274 |
function(a){x.items.forEach(function(a){a.element.selected=!1});a&&a.forEach(function(a){(a=x.getOptionFromViewValue(a))&&!a.disabled&&(a.element.selected=!0)})},u.readValue=function(){var a=g.val()||[],c=[];m(a,function(a){(a=x.selectValueMap[a])&&!a.disabled&&c.push(x.getViewValueFromOption(a))});return c},C.trackBy&&c.$watchCollection(function(){if(J(w.$viewValue))return w.$viewValue.map(function(a){return C.getTrackByValue(a)})},function(){w.$render()})):(u.writeValue=function(a){var c=x.getOptionFromViewValue(a);
|
275 |
-
c&&!c.disabled?g[0].value!==c.selectValue&&(H.remove(),O||q.remove(),g[0].value=c.selectValue,c.element.selected=!0,c.element.setAttribute("selected","selected")):null===a||O?(H.remove(),O||g.prepend(q),g.val(""),q.prop("selected",!0)
|
276 |
function(){w.$render()}));O?(q.remove(),a(q)(c),q.removeClass("ng-scope")):q=B(e.cloneNode(!1));v();c.$watchCollection(C.getWatchables,v)}}}}],Be=["$locale","$interpolate","$log",function(a,c,d){var e=/{}/g,f=/^when(Minus)?(.+)$/;return{link:function(h,g,l){function k(a){g.text(a||"")}var n=l.count,p=l.$attr.when&&g.attr(l.$attr.when),r=l.offset||0,s=h.$eval(p)||{},w={},A=c.startSymbol(),u=c.endSymbol(),q=A+n+"-"+r+u,z=da.noop,x;m(l,function(a,c){var d=f.exec(c);d&&(d=(d[1]?"-":"")+F(d[2]),s[d]=g.attr(l.$attr[c]))});
|
277 |
m(s,function(a,d){w[d]=c(a.replace(e,q))});h.$watch(n,function(c){var e=parseFloat(c),f=isNaN(e);f||e in s||(e=a.pluralCat(e-r));e===x||f&&V(x)&&isNaN(x)||(z(),f=w[e],v(f)?(null!=c&&d.debug("ngPluralize: no rule defined for '"+e+"' in "+p),z=y,k()):z=h.$watch(f,k),x=e)})}}}],Ce=["$parse","$animate",function(a,c){var d=I("ngRepeat"),e=function(a,c,d,e,k,m,p){a[d]=e;k&&(a[k]=m);a.$index=c;a.$first=0===c;a.$last=c===p-1;a.$middle=!(a.$first||a.$last);a.$odd=!(a.$even=0===(c&1))};return{restrict:"A",
|
278 |
multiElement:!0,transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,compile:function(f,h){var g=h.ngRepeat,l=X.createComment(" end ngRepeat: "+g+" "),k=g.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!k)throw d("iexp",g);var n=k[1],p=k[2],r=k[3],s=k[4],k=n.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/);if(!k)throw d("iidexp",n);var v=k[3]||k[1],y=k[2];if(r&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(r)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(r)))throw d("badident",
|
1 |
/*
|
2 |
+
AngularJS v1.4.7 (patched in BP-2256,BP-2475)
|
3 |
(c) 2010-2015 Google, Inc. http://angularjs.org
|
4 |
License: MIT
|
5 |
*/
|
74 |
b};q=n.assign||function(){r=d[g]=n(a);throw ga("nonassign",c[k],f.name);};r=d[g]=n(a);l=function(b){K(b,d[g])||(K(b,r)?q(a,b=d[g]):d[g]=b);return r=b};l.$stateful=!0;l=e.collection?a.$watchCollection(c[k],l):a.$watch(u(c[k],l),null,n.literal);h=h||[];h.push(l);break;case "&":n=c.hasOwnProperty(k)?u(c[k]):y;if(n===y&&l)break;d[g]=function(b){return n(a,b)}}});e=h?function(){for(var a=0,b=h.length;a<b;++a)h[a]()}:y;return g&&e!==y?(g.$on("$destroy",e),y):e}var Z=function(a,b){if(b){var c=Object.keys(b),
|
75 |
d,e,f;d=0;for(e=c.length;d<e;d++)f=c[d],this[f]=b[f]}else this.$attr={};this.$$element=a};Z.prototype={$normalize:ya,$addClass:function(a){a&&0<a.length&&O.addClass(this.$$element,a)},$removeClass:function(a){a&&0<a.length&&O.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=Zc(a,b);c&&c.length&&O.addClass(this.$$element,c);(c=Zc(b,a))&&c.length&&O.removeClass(this.$$element,c)},$set:function(a,b,d,e){var f=Rc(this.$$element[0],a),g=$c[a],h=a;f?(this.$$element.prop(a,b),e=f):g&&(this[g]=
|
76 |
b,h=g);this[a]=b;e?this.$attr[a]=e:(e=this.$attr[a])||(this.$attr[a]=e=Ac(a,"-"));f=wa(this.$$element);if("a"===f&&"href"===a||"img"===f&&"src"===a)this[a]=b=H(b,"src"===a);else if("img"===f&&"srcset"===a){for(var f="",g=T(b),k=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,k=/\s/.test(g)?k:/(,)/,g=g.split(k),k=Math.floor(g.length/2),l=0;l<k;l++)var r=2*l,f=f+H(T(g[r]),!0),f=f+(" "+T(g[r+1]));g=T(g[2*l]).split(/\s/);f+=H(T(g[0]),!0);2===g.length&&(f+=" "+T(g[1]));this[a]=b=f}!1!==d&&(null===b||v(b)?this.$$element.removeAttr(e):
|
77 |
+
this.$$element.each(function(){this.setAttribute(e,b);}),this.$$element.prop(e,b));(a=this.$$observers)&&m(a[h],function(a){try{a(b)}catch(d){c(d)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers=fa()),e=d[a]||(d[a]=[]);e.push(b);z.$evalAsync(function(){e.$$inter||!c.hasOwnProperty(a)||v(c[a])||b(c[a])});return function(){cb(e,b)}}};var da=b.startSymbol(),ea=b.endSymbol(),ha="{{"==da||"}}"==ea?$a:function(a){return a.replace(/\{\{/g,da).replace(/}}/g,ea)},ja=/^ngAttr[A-Z]/;W.$$addBindingInfo=n?function(a,b){var c=a.data("$binding")||
|
78 |
[];J(b)?c=c.concat(b):c.push(b);a.data("$binding",c)}:y;W.$$addBindingClass=n?function(a){L(a,"ng-binding")}:y;W.$$addScopeInfo=n?function(a,b,c,d){a.data(c?d?"$isolateScopeNoTemplate":"$isolateScope":"$scope",b)}:y;W.$$addScopeClass=n?function(a,b){L(a,b?"ng-isolate-scope":"ng-scope")}:y;return W}]}function ya(b){return gb(b.replace(Wc,""))}function Zc(b,a){var c="",d=b.split(/\s+/),e=a.split(/\s+/),f=0;a:for(;f<d.length;f++){for(var h=d[f],g=0;g<e.length;g++)if(h==e[g])continue a;c+=(0<c.length?
|
79 |
" ":"")+h}return c}function Xc(b){b=B(b);var a=b.length;if(1>=a)return b;for(;a--;)8===b[a].nodeType&&Nf.call(b,a,1);return b}function Xe(){var b={},a=!1;this.register=function(a,d){Ta(a,"controller");C(a)?P(b,a):b[a]=d};this.allowGlobals=function(){a=!0};this.$get=["$injector","$window",function(c,d){function e(a,b,c,d){if(!a||!C(a.$scope))throw I("$controller")("noscp",d,b);a.$scope[b]=c}return function(f,h,g,l){var k,n,p;g=!0===g;l&&G(l)&&(p=l);if(G(f)){l=f.match(Vc);if(!l)throw Of("ctrlfmt",f);
|
80 |
n=l[1];p=p||l[3];f=b.hasOwnProperty(n)?b[n]:Cc(h.$scope,n,!0)||(a?Cc(d,n,!0):w);Sa(f,n,!0)}if(g)return g=(J(f)?f[f.length-1]:f).prototype,k=Object.create(g||null),p&&e(h,p,k,n||f.name),P(function(){var a=c.invoke(f,k,h,n);a!==k&&(C(a)||x(a))&&(k=a,p&&e(h,p,k,n||f.name));return k},{instance:k,identifier:p});k=c.instantiate(f,h,n);p&&e(h,p,k,n||f.name);return k}}]}function Ye(){this.$get=["$window",function(b){return B(b.document)}]}function Ze(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,
|
272 |
a.nextSibling,Wb(a),a=c}function s(a){var c=q&&q[0],d=H&&H[0];if(c||d)for(;a&&(a===c||a===d||c&&8===c.nodeType);)a=a.nextSibling;return a}function v(){var a=x&&u.readValue();x=C.getOptions();var c={},d=g[0].firstChild;O&&g.prepend(q);d=s(d);x.items.forEach(function(a){var h,k;a.group?(h=c[a.group],h||(h=p(g[0],d,"optgroup",f),d=h.nextSibling,h.label=a.group,h=c[a.group]={groupElement:h,currentOptionElement:h.firstChild}),k=p(h.groupElement,h.currentOptionElement,"option",e),n(a,k),h.currentOptionElement=
|
273 |
k.nextSibling):(k=p(g[0],d,"option",e),n(a,k),d=k.nextSibling)});Object.keys(c).forEach(function(a){r(c[a].currentOptionElement)});r(d);w.$render();if(!w.$isEmpty(a)){var h=u.readValue();(C.trackBy?ka(a,h):a===h)||(w.$setViewValue(h),w.$render())}}var w=k[1];if(w){var u=k[0];k=l.multiple;for(var q,z=0,y=g.children(),A=y.length;z<A;z++)if(""===y[z].value){q=y.eq(z);break}var O=!!q,H=B(e.cloneNode(!1));H.val("?");var x,C=d(l.ngOptions,g,c);k?(w.$isEmpty=function(a){return!a||0===a.length},u.writeValue=
|
274 |
function(a){x.items.forEach(function(a){a.element.selected=!1});a&&a.forEach(function(a){(a=x.getOptionFromViewValue(a))&&!a.disabled&&(a.element.selected=!0)})},u.readValue=function(){var a=g.val()||[],c=[];m(a,function(a){(a=x.selectValueMap[a])&&!a.disabled&&c.push(x.getViewValueFromOption(a))});return c},C.trackBy&&c.$watchCollection(function(){if(J(w.$viewValue))return w.$viewValue.map(function(a){return C.getTrackByValue(a)})},function(){w.$render()})):(u.writeValue=function(a){var c=x.getOptionFromViewValue(a);
|
275 |
+
c&&!c.disabled?g[0].value!==c.selectValue&&(H.remove(),O||q.remove(),g[0].value=c.selectValue,c.element.selected=!0,c.element.setAttribute("selected","selected")):null===a||O?(H.remove(),O||g.prepend(q),g.val(""),q.prop("selected",!0)):(O||q.remove(),g.prepend(H),g.val("?"),H.prop("selected",!0))},u.readValue=function(){var a=x.selectValueMap[g.val()];return a&&!a.disabled?(O||q.remove(),H.remove(),x.getViewValueFromOption(a)):null},C.trackBy&&c.$watch(function(){return C.getTrackByValue(w.$viewValue)},
|
276 |
function(){w.$render()}));O?(q.remove(),a(q)(c),q.removeClass("ng-scope")):q=B(e.cloneNode(!1));v();c.$watchCollection(C.getWatchables,v)}}}}],Be=["$locale","$interpolate","$log",function(a,c,d){var e=/{}/g,f=/^when(Minus)?(.+)$/;return{link:function(h,g,l){function k(a){g.text(a||"")}var n=l.count,p=l.$attr.when&&g.attr(l.$attr.when),r=l.offset||0,s=h.$eval(p)||{},w={},A=c.startSymbol(),u=c.endSymbol(),q=A+n+"-"+r+u,z=da.noop,x;m(l,function(a,c){var d=f.exec(c);d&&(d=(d[1]?"-":"")+F(d[2]),s[d]=g.attr(l.$attr[c]))});
|
277 |
m(s,function(a,d){w[d]=c(a.replace(e,q))});h.$watch(n,function(c){var e=parseFloat(c),f=isNaN(e);f||e in s||(e=a.pluralCat(e-r));e===x||f&&V(x)&&isNaN(x)||(z(),f=w[e],v(f)?(null!=c&&d.debug("ngPluralize: no rule defined for '"+e+"' in "+p),z=y,k()):z=h.$watch(f,k),x=e)})}}}],Ce=["$parse","$animate",function(a,c){var d=I("ngRepeat"),e=function(a,c,d,e,k,m,p){a[d]=e;k&&(a[k]=m);a.$index=c;a.$first=0===c;a.$last=c===p-1;a.$middle=!(a.$first||a.$last);a.$odd=!(a.$even=0===(c&1))};return{restrict:"A",
|
278 |
multiElement:!0,transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,compile:function(f,h){var g=h.ngRepeat,l=X.createComment(" end ngRepeat: "+g+" "),k=g.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!k)throw d("iexp",g);var n=k[1],p=k[2],r=k[3],s=k[4],k=n.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/);if(!k)throw d("iidexp",n);var v=k[3]||k[1],y=k[2];if(r&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(r)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(r)))throw d("badident",
|
frontend/components/booking/InfoText.php
CHANGED
@@ -122,7 +122,7 @@ class InfoText
|
|
122 |
$deposit_price = Lib\Proxy\DepositPayments::prepareAmount( $price, $staff_service->getDeposit(), $chain_item->getNumberOfPersons() );
|
123 |
}
|
124 |
} else {
|
125 |
-
$data['staff_names'][] =
|
126 |
$price = Lib\Proxy\ServiceExtras::prepareServicePrice( $service->getPrice() * $chain_item->getNumberOfPersons(), $service->getPrice(), $chain_item->getNumberOfPersons(), $chain_item->getExtras() );
|
127 |
$deposit_price = $price;
|
128 |
}
|
122 |
$deposit_price = Lib\Proxy\DepositPayments::prepareAmount( $price, $staff_service->getDeposit(), $chain_item->getNumberOfPersons() );
|
123 |
}
|
124 |
} else {
|
125 |
+
$data['staff_names'][] = Lib\Utils\Common::getTranslatedOption( 'bookly_l10n_option_employee' );
|
126 |
$price = Lib\Proxy\ServiceExtras::prepareServicePrice( $service->getPrice() * $chain_item->getNumberOfPersons(), $service->getPrice(), $chain_item->getNumberOfPersons(), $chain_item->getExtras() );
|
127 |
$deposit_price = $price;
|
128 |
}
|
frontend/modules/booking/Ajax.php
CHANGED
@@ -89,6 +89,7 @@ class Ajax extends Lib\Base\Ajax
|
|
89 |
'services_per_location' => (bool) Lib\Proxy\Locations::servicesPerLocationAllowed(),
|
90 |
'show_ratings' => (bool) get_option( 'bookly_ratings_app_show_on_frontend' ),
|
91 |
'service_name_with_duration' => (bool) get_option( 'bookly_app_service_name_with_duration' ),
|
|
|
92 |
'required' => array(
|
93 |
'staff' => (int) get_option( 'bookly_app_required_employee' ),
|
94 |
'location' => (int) ( Lib\Config::locationsActive() && ( get_option( 'bookly_app_required_location' ) || get_option( 'bookly_locations_allow_services_per_location' ) ) ),
|
89 |
'services_per_location' => (bool) Lib\Proxy\Locations::servicesPerLocationAllowed(),
|
90 |
'show_ratings' => (bool) get_option( 'bookly_ratings_app_show_on_frontend' ),
|
91 |
'service_name_with_duration' => (bool) get_option( 'bookly_app_service_name_with_duration' ),
|
92 |
+
'collaborative_hide_staff' => (bool) get_option( 'bookly_collaborative_hide_staff' ),
|
93 |
'required' => array(
|
94 |
'staff' => (int) get_option( 'bookly_app_required_employee' ),
|
95 |
'location' => (int) ( Lib\Config::locationsActive() && ( get_option( 'bookly_app_required_location' ) || get_option( 'bookly_locations_allow_services_per_location' ) ) ),
|
frontend/modules/booking/templates/1_service_time.php
CHANGED
@@ -1,6 +1,17 @@
|
|
1 |
-
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
<div class="bookly-form-group bookly-time-<?php echo $type ?> bookly-left">
|
3 |
-
<span class="bookly-bold"><?php echo
|
4 |
<div>
|
5 |
<select class="bookly-js-select-time-<?php echo $type ?>">
|
6 |
<?php foreach ( $times as $key => $time ) : ?>
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Lib\Utils\Common;
|
3 |
+
/**
|
4 |
+
* @var string $type
|
5 |
+
* @var array $times
|
6 |
+
* @var string|null $selected
|
7 |
+
*/
|
8 |
+
if ( $selected === null ) {
|
9 |
+
$type == 'from' ? reset( $times ) : end( $times );
|
10 |
+
$selected = key( $times );
|
11 |
+
}
|
12 |
+
?>
|
13 |
<div class="bookly-form-group bookly-time-<?php echo $type ?> bookly-left">
|
14 |
+
<span class="bookly-bold"><?php echo Common::getTranslatedOption( $type == 'from' ? 'bookly_l10n_label_start_from' : 'bookly_l10n_label_finish_by' ) ?></span>
|
15 |
<div>
|
16 |
<select class="bookly-js-select-time-<?php echo $type ?>">
|
17 |
<?php foreach ( $times as $key => $time ) : ?>
|
frontend/modules/booking/templates/6_details.php
CHANGED
@@ -76,6 +76,7 @@ echo $progress_tracker;
|
|
76 |
<?php Proxy\Pro::renderDetailsBirthday( $userData ) ?>
|
77 |
|
78 |
<?php Proxy\CustomerInformation::renderDetailsStep( $userData ) ?>
|
|
|
79 |
<?php if ( Lib\Config::showNotes() ): ?>
|
80 |
<div class="bookly-box">
|
81 |
<div class="bookly-form-group">
|
@@ -86,7 +87,6 @@ echo $progress_tracker;
|
|
86 |
</div>
|
87 |
</div>
|
88 |
<?php endif ?>
|
89 |
-
<?php Proxy\Shared::renderCustomFieldsOnDetailsStep( $userData ) ?>
|
90 |
</div>
|
91 |
|
92 |
<?php Proxy\RecurringAppointments::renderInfoMessage( $userData ) ?>
|
76 |
<?php Proxy\Pro::renderDetailsBirthday( $userData ) ?>
|
77 |
|
78 |
<?php Proxy\CustomerInformation::renderDetailsStep( $userData ) ?>
|
79 |
+
<?php Proxy\Shared::renderCustomFieldsOnDetailsStep( $userData ) ?>
|
80 |
<?php if ( Lib\Config::showNotes() ): ?>
|
81 |
<div class="bookly-box">
|
82 |
<div class="bookly-form-group">
|
87 |
</div>
|
88 |
</div>
|
89 |
<?php endif ?>
|
|
|
90 |
</div>
|
91 |
|
92 |
<?php Proxy\RecurringAppointments::renderInfoMessage( $userData ) ?>
|
frontend/modules/booking/templates/short_code.php
CHANGED
@@ -10,7 +10,7 @@ Version: <?php echo Lib\Plugin::getVersion() ?>
|
|
10 |
<div id="bookly-form-<?php echo $form_id ?>" class="bookly-form" data-form_id="<?php echo $form_id ?>">
|
11 |
<div style="text-align: center"><img src="<?php echo includes_url( 'js/tinymce/skins/lightgray/img/loader.gif' ) ?>" alt="<?php esc_attr_e( 'Loading...', 'bookly' ) ?>" /></div>
|
12 |
</div>
|
13 |
-
<?php if ( get_option( '
|
14 |
<div class="powered-by-bookly"><?php esc_html_e( 'Powered by', 'bookly' ) ?>
|
15 |
<a href="https://www.booking-wp-plugin.com/?utm_source=referral&utm_medium=booking_widget" target="_blank">Bookly</a> —
|
16 |
<a href="https://www.booking-wp-plugin.com/?utm_source=referral&utm_medium=booking_widget" target="_blank">WordPress Booking Plugin</a>
|
10 |
<div id="bookly-form-<?php echo $form_id ?>" class="bookly-form" data-form_id="<?php echo $form_id ?>">
|
11 |
<div style="text-align: center"><img src="<?php echo includes_url( 'js/tinymce/skins/lightgray/img/loader.gif' ) ?>" alt="<?php esc_attr_e( 'Loading...', 'bookly' ) ?>" /></div>
|
12 |
</div>
|
13 |
+
<?php if ( get_option( 'bookly_gen_show_powered_by' ) ) : ?>
|
14 |
<div class="powered-by-bookly"><?php esc_html_e( 'Powered by', 'bookly' ) ?>
|
15 |
<a href="https://www.booking-wp-plugin.com/?utm_source=referral&utm_medium=booking_widget" target="_blank">Bookly</a> —
|
16 |
<a href="https://www.booking-wp-plugin.com/?utm_source=referral&utm_medium=booking_widget" target="_blank">WordPress Booking Plugin</a>
|
frontend/modules/stripe/Ajax.php
CHANGED
@@ -94,6 +94,7 @@ class Ajax extends Lib\Base\Ajax
|
|
94 |
$payment->loadBy( array( 'id' => $data['metadata']['payment_id'], 'type' => Lib\Entities\Payment::TYPE_CLOUD_STRIPE ) );
|
95 |
/** @var Lib\Entities\CustomerAppointment $ca */
|
96 |
foreach ( Lib\Entities\CustomerAppointment::query()->where( 'payment_id', $payment->getId() )->find() as $ca ) {
|
|
|
97 |
$ca->deleteCascade();
|
98 |
}
|
99 |
$payment->delete();
|
94 |
$payment->loadBy( array( 'id' => $data['metadata']['payment_id'], 'type' => Lib\Entities\Payment::TYPE_CLOUD_STRIPE ) );
|
95 |
/** @var Lib\Entities\CustomerAppointment $ca */
|
96 |
foreach ( Lib\Entities\CustomerAppointment::query()->where( 'payment_id', $payment->getId() )->find() as $ca ) {
|
97 |
+
Lib\Utils\Log::deleteEntity( $ca, __METHOD__ );
|
98 |
$ca->deleteCascade();
|
99 |
}
|
100 |
$payment->delete();
|
frontend/modules/stripe/Controller.php
CHANGED
@@ -63,7 +63,9 @@ class Controller extends Lib\Base\Component
|
|
63 |
} catch ( \Exception $e ) {
|
64 |
if ( isset( $order ) ) {
|
65 |
foreach ( $order->getFlatItems() as $item ) {
|
66 |
-
$item->getCA()
|
|
|
|
|
67 |
}
|
68 |
}
|
69 |
if ( $payment !== null ) {
|
@@ -99,6 +101,7 @@ class Controller extends Lib\Base\Component
|
|
99 |
$userData->setPaymentStatus( Lib\Entities\Payment::TYPE_CLOUD_STRIPE, 'cancelled' );
|
100 |
/** @var Lib\Entities\CustomerAppointment $ca */
|
101 |
foreach ( Lib\Entities\CustomerAppointment::query()->where( 'payment_id', $userData->getPaymentId() )->find() as $ca ) {
|
|
|
102 |
$ca->deleteCascade();
|
103 |
}
|
104 |
|
63 |
} catch ( \Exception $e ) {
|
64 |
if ( isset( $order ) ) {
|
65 |
foreach ( $order->getFlatItems() as $item ) {
|
66 |
+
$ca = $item->getCA();
|
67 |
+
Lib\Utils\Log::deleteEntity( $ca, __METHOD__ );
|
68 |
+
$ca->deleteCascade( true );
|
69 |
}
|
70 |
}
|
71 |
if ( $payment !== null ) {
|
101 |
$userData->setPaymentStatus( Lib\Entities\Payment::TYPE_CLOUD_STRIPE, 'cancelled' );
|
102 |
/** @var Lib\Entities\CustomerAppointment $ca */
|
103 |
foreach ( Lib\Entities\CustomerAppointment::query()->where( 'payment_id', $userData->getPaymentId() )->find() as $ca ) {
|
104 |
+
Lib\Utils\Log::deleteEntity( $ca, __METHOD__ );
|
105 |
$ca->deleteCascade();
|
106 |
}
|
107 |
|
frontend/modules/zapier/Ajax.php
CHANGED
@@ -61,11 +61,10 @@ class Ajax extends Lib\Base\Ajax
|
|
61 |
notes,
|
62 |
info_fields,
|
63 |
created_at' )
|
64 |
-
->whereGte( 'created_at',
|
65 |
->sortBy( 'created_at' )
|
66 |
->order( 'DESC' );
|
67 |
|
68 |
-
|
69 |
$fields_name = array();
|
70 |
foreach ( Lib\Proxy\CustomerInformation::getFieldsWhichMayHaveData() as $field ) {
|
71 |
$fields_name[ $field->id ] = $field->label;
|
@@ -162,7 +161,7 @@ class Ajax extends Lib\Base\Ajax
|
|
162 |
*/
|
163 |
private static function getAppointmentsQuery( $with_updated )
|
164 |
{
|
165 |
-
$date =
|
166 |
$query = Lib\Entities\Appointment::query( 'a' );
|
167 |
if ( $with_updated ) {
|
168 |
$query
|
@@ -214,8 +213,6 @@ class Ajax extends Lib\Base\Ajax
|
|
214 |
$query->addSelect( 'null AS client_country, null AS client_state, null AS client_postcode, null AS client_city, null AS client_street, null AS client_street_number, null AS client_additional_address' );
|
215 |
}
|
216 |
|
217 |
-
// Lib\Proxy\Locations::prepareAppointmentsQuery( $query );
|
218 |
-
|
219 |
if ( Lib\Config::locationsActive() ) {
|
220 |
$query
|
221 |
->addSelect( 'l.name AS location' )
|
61 |
notes,
|
62 |
info_fields,
|
63 |
created_at' )
|
64 |
+
->whereGte( 'created_at', date_create( current_time( 'mysql' ) )->modify( '-1 hours' )->format( 'Y-m-d H:i:s' ) )
|
65 |
->sortBy( 'created_at' )
|
66 |
->order( 'DESC' );
|
67 |
|
|
|
68 |
$fields_name = array();
|
69 |
foreach ( Lib\Proxy\CustomerInformation::getFieldsWhichMayHaveData() as $field ) {
|
70 |
$fields_name[ $field->id ] = $field->label;
|
161 |
*/
|
162 |
private static function getAppointmentsQuery( $with_updated )
|
163 |
{
|
164 |
+
$date = date_create( current_time( 'mysql' ) )->modify( '-1 hours' )->format( 'Y-m-d H:i:s' );
|
165 |
$query = Lib\Entities\Appointment::query( 'a' );
|
166 |
if ( $with_updated ) {
|
167 |
$query
|
213 |
$query->addSelect( 'null AS client_country, null AS client_state, null AS client_postcode, null AS client_city, null AS client_street, null AS client_street_number, null AS client_additional_address' );
|
214 |
}
|
215 |
|
|
|
|
|
216 |
if ( Lib\Config::locationsActive() ) {
|
217 |
$query
|
218 |
->addSelect( 'l.name AS location' )
|
frontend/resources/css/bookly-main.css
CHANGED
@@ -1314,10 +1314,10 @@ label.bookly-square {
|
|
1314 |
}
|
1315 |
|
1316 |
/* Other */
|
1317 |
-
::-webkit-input-placeholder {color:#bbb!important;}
|
1318 |
-
::-moz-placeholder {color:#bbb!important;}/* Firefox 19+ */
|
1319 |
-
:-moz-placeholder {color:#bbb!important;}/* Firefox 18- */
|
1320 |
-
:-ms-input-placeholder {color:#bbb!important;}
|
1321 |
|
1322 |
/* Mobile */
|
1323 |
@media screen and (max-width: 650px) {
|
1314 |
}
|
1315 |
|
1316 |
/* Other */
|
1317 |
+
.bookly-form ::-webkit-input-placeholder {color:#bbb!important;}
|
1318 |
+
.bookly-form ::-moz-placeholder {color:#bbb!important;}/* Firefox 19+ */
|
1319 |
+
.bookly-form :-moz-placeholder {color:#bbb!important;}/* Firefox 18- */
|
1320 |
+
.bookly-form :-ms-input-placeholder {color:#bbb!important;}
|
1321 |
|
1322 |
/* Mobile */
|
1323 |
@media screen and (max-width: 650px) {
|
frontend/resources/js/bookly.js
CHANGED
@@ -1671,6 +1671,35 @@ var bookly = (function ($) {
|
|
1671 |
}
|
1672 |
}
|
1673 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1674 |
// `String.prototype.repeat` method implementation
|
1675 |
// https://tc39.github.io/ecma262/#sec-string.prototype.repeat
|
1676 |
var stringRepeat = ''.repeat || function repeat(count) {
|
@@ -2084,18 +2113,18 @@ var bookly = (function ($) {
|
|
2084 |
}
|
2085 |
});
|
2086 |
|
2087 |
-
var slice = entryVirtual('Array').slice;
|
2088 |
|
2089 |
var ArrayPrototype$5 = Array.prototype;
|
2090 |
|
2091 |
var slice_1 = function (it) {
|
2092 |
var own = it.slice;
|
2093 |
-
return it === ArrayPrototype$5 || (it instanceof Array && own === ArrayPrototype$5.slice) ? slice : own;
|
2094 |
};
|
2095 |
|
2096 |
-
var slice$
|
2097 |
|
2098 |
-
var slice$
|
2099 |
|
2100 |
var $filter = arrayIteration.filter;
|
2101 |
|
@@ -3846,7 +3875,7 @@ var bookly = (function ($) {
|
|
3846 |
|
3847 |
var number_of_times = 0,
|
3848 |
repeat_times = $repeat_times.val(),
|
3849 |
-
date_from = slice$
|
3850 |
date_until = $date_until.pickadate('picker').get('select'),
|
3851 |
moment_until = moment().year(date_until.year).month(date_until.month).date(date_until.date).add(5, 'years');
|
3852 |
|
@@ -3881,7 +3910,7 @@ var bookly = (function ($) {
|
|
3881 |
var _context2;
|
3882 |
|
3883 |
var number_of_times = 0,
|
3884 |
-
date_from = slice$
|
3885 |
date_until = $date_until.pickadate('picker').get('select'),
|
3886 |
moment_until = moment().year(date_until.year).month(date_until.month).date(date_until.date);
|
3887 |
|
@@ -4961,7 +4990,7 @@ var bookly = (function ($) {
|
|
4961 |
});
|
4962 |
}
|
4963 |
|
4964 |
-
var slice$
|
4965 |
var factories = {};
|
4966 |
|
4967 |
var construct = function (C, argsLength, args) {
|
@@ -4976,9 +5005,9 @@ var bookly = (function ($) {
|
|
4976 |
// https://tc39.github.io/ecma262/#sec-function.prototype.bind
|
4977 |
var functionBind = Function.bind || function bind(that /* , ...args */) {
|
4978 |
var fn = aFunction(this);
|
4979 |
-
var partArgs = slice$
|
4980 |
var boundFunction = function bound(/* args... */) {
|
4981 |
-
var args = partArgs.concat(slice$
|
4982 |
return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);
|
4983 |
};
|
4984 |
if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;
|
@@ -5350,9 +5379,9 @@ var bookly = (function ($) {
|
|
5350 |
|
5351 |
var from_1$2 = from_1$1;
|
5352 |
|
5353 |
-
var slice$
|
5354 |
|
5355 |
-
var slice$
|
5356 |
|
5357 |
function _arrayLikeToArray(arr, len) {
|
5358 |
if (len == null || len > arr.length) len = arr.length;
|
@@ -5370,7 +5399,7 @@ var bookly = (function ($) {
|
|
5370 |
if (!o) return;
|
5371 |
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
5372 |
|
5373 |
-
var n = slice$
|
5374 |
|
5375 |
if (n === "Object" && o.constructor) n = o.constructor.name;
|
5376 |
if (n === "Map" || n === "Set") return from_1$2(o);
|
@@ -7137,7 +7166,7 @@ var bookly = (function ($) {
|
|
7137 |
// in a server (non-DOM) environment?
|
7138 |
var event = custom_event(type, detail);
|
7139 |
|
7140 |
-
forEach$2(_context11 = slice$
|
7141 |
fn.call(component, event);
|
7142 |
});
|
7143 |
}
|
@@ -7665,7 +7694,7 @@ var bookly = (function ($) {
|
|
7665 |
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !construct$3) return false; if (construct$3.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(construct$3(Date, [], function () {})); return true; } catch (e) { return false; } }
|
7666 |
|
7667 |
function get_each_context(ctx, list, i) {
|
7668 |
-
var child_ctx = slice$
|
7669 |
|
7670 |
child_ctx[10] = list[i];
|
7671 |
return child_ctx;
|
@@ -8105,7 +8134,7 @@ var bookly = (function ($) {
|
|
8105 |
|
8106 |
function select_el_binding(value) {
|
8107 |
/*select_el_binding*/
|
8108 |
-
ctx[
|
8109 |
}
|
8110 |
|
8111 |
var select_props = {
|
@@ -8211,7 +8240,7 @@ var bookly = (function ($) {
|
|
8211 |
destroy_component(select);
|
8212 |
}
|
8213 |
};
|
8214 |
-
} // (
|
8215 |
|
8216 |
|
8217 |
function create_if_block_7(ctx) {
|
@@ -8287,7 +8316,7 @@ var bookly = (function ($) {
|
|
8287 |
destroy_component(select);
|
8288 |
}
|
8289 |
};
|
8290 |
-
} // (
|
8291 |
|
8292 |
|
8293 |
function create_if_block_6(ctx) {
|
@@ -8298,7 +8327,7 @@ var bookly = (function ($) {
|
|
8298 |
|
8299 |
function select_el_binding_1(value) {
|
8300 |
/*select_el_binding_1*/
|
8301 |
-
ctx[
|
8302 |
}
|
8303 |
|
8304 |
var select_props = {
|
@@ -8404,7 +8433,7 @@ var bookly = (function ($) {
|
|
8404 |
destroy_component(select);
|
8405 |
}
|
8406 |
};
|
8407 |
-
} // (
|
8408 |
|
8409 |
|
8410 |
function create_if_block_5(ctx) {
|
@@ -8415,7 +8444,7 @@ var bookly = (function ($) {
|
|
8415 |
|
8416 |
function select_el_binding_2(value) {
|
8417 |
/*select_el_binding_2*/
|
8418 |
-
ctx[
|
8419 |
}
|
8420 |
|
8421 |
var select_props = {
|
@@ -8521,7 +8550,7 @@ var bookly = (function ($) {
|
|
8521 |
destroy_component(select);
|
8522 |
}
|
8523 |
};
|
8524 |
-
} // (
|
8525 |
|
8526 |
|
8527 |
function create_if_block_4(ctx) {
|
@@ -8589,7 +8618,7 @@ var bookly = (function ($) {
|
|
8589 |
destroy_component(select);
|
8590 |
}
|
8591 |
};
|
8592 |
-
} // (
|
8593 |
|
8594 |
|
8595 |
function create_if_block_3(ctx) {
|
@@ -8657,7 +8686,7 @@ var bookly = (function ($) {
|
|
8657 |
destroy_component(select);
|
8658 |
}
|
8659 |
};
|
8660 |
-
} // (
|
8661 |
|
8662 |
|
8663 |
function create_if_block_2$1(ctx) {
|
@@ -8725,7 +8754,7 @@ var bookly = (function ($) {
|
|
8725 |
destroy_component(select);
|
8726 |
}
|
8727 |
};
|
8728 |
-
} // (
|
8729 |
|
8730 |
|
8731 |
function create_if_block$1(ctx) {
|
@@ -8773,7 +8802,7 @@ var bookly = (function ($) {
|
|
8773 |
if (if_block) if_block.d();
|
8774 |
}
|
8775 |
};
|
8776 |
-
} // (
|
8777 |
|
8778 |
|
8779 |
function create_if_block_1$1(ctx) {
|
@@ -9123,6 +9152,8 @@ var bookly = (function ($) {
|
|
9123 |
required = _$$props$required === void 0 ? {} : _$$props$required;
|
9124 |
var _$$props$servicesPerL = $$props.servicesPerLocation,
|
9125 |
servicesPerLocation = _$$props$servicesPerL === void 0 ? false : _$$props$servicesPerL;
|
|
|
|
|
9126 |
var _$$props$showRatings = $$props.showRatings,
|
9127 |
showRatings = _$$props$showRatings === void 0 ? false : _$$props$showRatings;
|
9128 |
var _$$props$maxQuantity = $$props.maxQuantity,
|
@@ -9302,7 +9333,7 @@ var bookly = (function ($) {
|
|
9302 |
|
9303 |
|
9304 |
if (categoryId) {
|
9305 |
-
$$invalidate(
|
9306 |
|
9307 |
if (serviceId) {
|
9308 |
if (services[serviceId].category_id !== categoryId) {
|
@@ -9324,7 +9355,7 @@ var bookly = (function ($) {
|
|
9324 |
}
|
9325 |
}
|
9326 |
} else {
|
9327 |
-
$$invalidate(
|
9328 |
}
|
9329 |
}
|
9330 |
|
@@ -9388,7 +9419,7 @@ var bookly = (function ($) {
|
|
9388 |
var el = null;
|
9389 |
$$invalidate(32, staffError = $$invalidate(30, serviceError = $$invalidate(28, locationError = null)));
|
9390 |
|
9391 |
-
if (required.staff && !staffId) {
|
9392 |
valid = false;
|
9393 |
$$invalidate(32, staffError = l10n.staff_error);
|
9394 |
el = staffEl;
|
@@ -9451,8 +9482,9 @@ var bookly = (function ($) {
|
|
9451 |
if ("defaults" in $$props) $$invalidate(47, defaults = $$props.defaults);
|
9452 |
if ("required" in $$props) $$invalidate(48, required = $$props.required);
|
9453 |
if ("servicesPerLocation" in $$props) $$invalidate(49, servicesPerLocation = $$props.servicesPerLocation);
|
9454 |
-
if ("
|
9455 |
-
if ("
|
|
|
9456 |
if ("hasLocationSelect" in $$props) $$invalidate(1, hasLocationSelect = $$props.hasLocationSelect);
|
9457 |
if ("hasCategorySelect" in $$props) $$invalidate(2, hasCategorySelect = $$props.hasCategorySelect);
|
9458 |
if ("hasServiceSelect" in $$props) $$invalidate(3, hasServiceSelect = $$props.hasServiceSelect);
|
@@ -9469,12 +9501,12 @@ var bookly = (function ($) {
|
|
9469 |
if ($$self.$$.dirty[0] &
|
9470 |
/*locationId, locations, serviceId, categoryId, staffItems, staffId, nop, hasNopSelect, duration, durationItems, l10n*/
|
9471 |
3275841 | $$self.$$.dirty[1] &
|
9472 |
-
/*servicesPerLocation, staff, services, lookupLocationId,
|
9473 |
-
|
9474 |
-
/*srvMinCapacity*/
|
9475 |
-
|
9476 |
{
|
9477 |
-
$$invalidate(
|
9478 |
$$invalidate(18, categoryItems = {});
|
9479 |
$$invalidate(19, serviceItems = {});
|
9480 |
$$invalidate(20, staffItems = {});
|
@@ -9499,14 +9531,14 @@ var bookly = (function ($) {
|
|
9499 |
return true;
|
9500 |
}
|
9501 |
|
9502 |
-
$$invalidate(
|
9503 |
-
$$invalidate(
|
9504 |
$$invalidate(20, staffItems[id] = $__default['default'].extend({}, staffMember, {
|
9505 |
name: staffMember.name + (locSrv.price !== null && (lookupLocationId || !servicesPerLocation) ? " (" + locSrv.price + ")" : ""),
|
9506 |
-
hidden: services[serviceId].type === "collaborative"
|
9507 |
}), staffItems);
|
9508 |
|
9509 |
-
if (services[serviceId].type === "collaborative") {
|
9510 |
$$invalidate(14, staffId = 0);
|
9511 |
}
|
9512 |
});
|
@@ -9577,8 +9609,8 @@ var bookly = (function ($) {
|
|
9577 |
} // Number of persons
|
9578 |
|
9579 |
|
9580 |
-
$$invalidate(
|
9581 |
-
$$invalidate(
|
9582 |
|
9583 |
for (var i = minCapacity; i <= maxCapacity; ++i) {
|
9584 |
$$invalidate(22, nopItems[i] = {
|
@@ -9623,7 +9655,11 @@ var bookly = (function ($) {
|
|
9623 |
}
|
9624 |
|
9625 |
if (!(duration in durationItems)) {
|
9626 |
-
|
|
|
|
|
|
|
|
|
9627 |
} // Quantity
|
9628 |
|
9629 |
|
@@ -9657,7 +9693,7 @@ var bookly = (function ($) {
|
|
9657 |
}
|
9658 |
};
|
9659 |
|
9660 |
-
return [locations, hasLocationSelect, hasCategorySelect, hasServiceSelect, hasStaffSelect, hasDurationSelect, hasNopSelect, hasQuantitySelect, hasDropBtn, showDropBtn, l10n, locationId, categoryId, serviceId, staffId, duration, nop, quantity, categoryItems, serviceItems, staffItems, durationItems, nopItems, quantityItems, locationPlaceholder, categoryPlaceholder, servicePlaceholder, staffPlaceholder, locationError, locationEl, serviceError, serviceEl, staffError, staffEl, onLocationChange, onCategoryChange, onServiceChange, onStaffChange, onDurationChange, onNopChange, onQuantityChange, onDropBtnClick, item, index, categories, services, staff, defaults, required, servicesPerLocation, showRatings, maxQuantity, validate, getValues, select_el_binding, select_el_binding_1, select_el_binding_2];
|
9661 |
}
|
9662 |
|
9663 |
var ChainItem = /*#__PURE__*/function (_SvelteComponent) {
|
@@ -9681,8 +9717,9 @@ var bookly = (function ($) {
|
|
9681 |
defaults: 47,
|
9682 |
required: 48,
|
9683 |
servicesPerLocation: 49,
|
9684 |
-
|
9685 |
-
|
|
|
9686 |
hasLocationSelect: 1,
|
9687 |
hasCategorySelect: 2,
|
9688 |
hasServiceSelect: 3,
|
@@ -9693,8 +9730,8 @@ var bookly = (function ($) {
|
|
9693 |
hasDropBtn: 8,
|
9694 |
showDropBtn: 9,
|
9695 |
l10n: 10,
|
9696 |
-
validate:
|
9697 |
-
getValues:
|
9698 |
}, [-1, -1, -1]);
|
9699 |
return _this;
|
9700 |
}
|
@@ -9702,12 +9739,12 @@ var bookly = (function ($) {
|
|
9702 |
_createClass(ChainItem, [{
|
9703 |
key: "validate",
|
9704 |
get: function get() {
|
9705 |
-
return this.$$.ctx[
|
9706 |
}
|
9707 |
}, {
|
9708 |
key: "getValues",
|
9709 |
get: function get() {
|
9710 |
-
return this.$$.ctx[
|
9711 |
}
|
9712 |
}]);
|
9713 |
|
@@ -9719,7 +9756,7 @@ var bookly = (function ($) {
|
|
9719 |
function _isNativeReflectConstruct$2() { if (typeof Reflect === "undefined" || !construct$3) return false; if (construct$3.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(construct$3(Date, [], function () {})); return true; } catch (e) { return false; } }
|
9720 |
|
9721 |
function get_each_context$1(ctx, list, i) {
|
9722 |
-
var child_ctx = slice$
|
9723 |
|
9724 |
child_ctx[9] = list[i];
|
9725 |
child_ctx[10] = list;
|
@@ -10166,6 +10203,7 @@ var bookly = (function ($) {
|
|
10166 |
defaults = opt[params.form_id].defaults,
|
10167 |
servicesPerLocation = response.services_per_location,
|
10168 |
serviceNameWithDuration = response.service_name_with_duration,
|
|
|
10169 |
showRatings = response.show_ratings,
|
10170 |
maxQuantity = response.max_quantity || 1,
|
10171 |
multiple = response.multi_service || false,
|
@@ -10189,6 +10227,7 @@ var bookly = (function ($) {
|
|
10189 |
defaults: defaults,
|
10190 |
required: required,
|
10191 |
servicesPerLocation: servicesPerLocation,
|
|
|
10192 |
showRatings: showRatings,
|
10193 |
maxQuantity: maxQuantity,
|
10194 |
hasLocationSelect: !opt[params.form_id].form_attributes.hide_locations,
|
@@ -10417,7 +10456,11 @@ var bookly = (function ($) {
|
|
10417 |
|
10418 |
if (opt[params.form_id].skip_steps.service_part1) {
|
10419 |
// Skip scrolling
|
10420 |
-
|
|
|
|
|
|
|
|
|
10421 |
$mobile_prev_step.remove();
|
10422 |
} else {
|
10423 |
$mobile_prev_step.on('click', function () {
|
1671 |
}
|
1672 |
}
|
1673 |
|
1674 |
+
var slice = [].slice;
|
1675 |
+
var MSIE = /MSIE .\./.test(engineUserAgent); // <- dirty ie9- check
|
1676 |
+
|
1677 |
+
var wrap$1 = function (scheduler) {
|
1678 |
+
return function (handler, timeout /* , ...arguments */) {
|
1679 |
+
var boundArgs = arguments.length > 2;
|
1680 |
+
var args = boundArgs ? slice.call(arguments, 2) : undefined;
|
1681 |
+
return scheduler(boundArgs ? function () {
|
1682 |
+
// eslint-disable-next-line no-new-func
|
1683 |
+
(typeof handler == 'function' ? handler : Function(handler)).apply(this, args);
|
1684 |
+
} : handler, timeout);
|
1685 |
+
};
|
1686 |
+
};
|
1687 |
+
|
1688 |
+
// ie9- setTimeout & setInterval additional parameters fix
|
1689 |
+
// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers
|
1690 |
+
_export({ global: true, bind: true, forced: MSIE }, {
|
1691 |
+
// `setTimeout` method
|
1692 |
+
// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout
|
1693 |
+
setTimeout: wrap$1(global_1.setTimeout),
|
1694 |
+
// `setInterval` method
|
1695 |
+
// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
|
1696 |
+
setInterval: wrap$1(global_1.setInterval)
|
1697 |
+
});
|
1698 |
+
|
1699 |
+
var setTimeout$1 = path.setTimeout;
|
1700 |
+
|
1701 |
+
var setTimeout$2 = setTimeout$1;
|
1702 |
+
|
1703 |
// `String.prototype.repeat` method implementation
|
1704 |
// https://tc39.github.io/ecma262/#sec-string.prototype.repeat
|
1705 |
var stringRepeat = ''.repeat || function repeat(count) {
|
2113 |
}
|
2114 |
});
|
2115 |
|
2116 |
+
var slice$1 = entryVirtual('Array').slice;
|
2117 |
|
2118 |
var ArrayPrototype$5 = Array.prototype;
|
2119 |
|
2120 |
var slice_1 = function (it) {
|
2121 |
var own = it.slice;
|
2122 |
+
return it === ArrayPrototype$5 || (it instanceof Array && own === ArrayPrototype$5.slice) ? slice$1 : own;
|
2123 |
};
|
2124 |
|
2125 |
+
var slice$2 = slice_1;
|
2126 |
|
2127 |
+
var slice$3 = slice$2;
|
2128 |
|
2129 |
var $filter = arrayIteration.filter;
|
2130 |
|
3875 |
|
3876 |
var number_of_times = 0,
|
3877 |
repeat_times = $repeat_times.val(),
|
3878 |
+
date_from = slice$3(_context = bound_date.min).call(_context),
|
3879 |
date_until = $date_until.pickadate('picker').get('select'),
|
3880 |
moment_until = moment().year(date_until.year).month(date_until.month).date(date_until.date).add(5, 'years');
|
3881 |
|
3910 |
var _context2;
|
3911 |
|
3912 |
var number_of_times = 0,
|
3913 |
+
date_from = slice$3(_context2 = bound_date.min).call(_context2),
|
3914 |
date_until = $date_until.pickadate('picker').get('select'),
|
3915 |
moment_until = moment().year(date_until.year).month(date_until.month).date(date_until.date);
|
3916 |
|
4990 |
});
|
4991 |
}
|
4992 |
|
4993 |
+
var slice$4 = [].slice;
|
4994 |
var factories = {};
|
4995 |
|
4996 |
var construct = function (C, argsLength, args) {
|
5005 |
// https://tc39.github.io/ecma262/#sec-function.prototype.bind
|
5006 |
var functionBind = Function.bind || function bind(that /* , ...args */) {
|
5007 |
var fn = aFunction(this);
|
5008 |
+
var partArgs = slice$4.call(arguments, 1);
|
5009 |
var boundFunction = function bound(/* args... */) {
|
5010 |
+
var args = partArgs.concat(slice$4.call(arguments));
|
5011 |
return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);
|
5012 |
};
|
5013 |
if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;
|
5379 |
|
5380 |
var from_1$2 = from_1$1;
|
5381 |
|
5382 |
+
var slice$5 = slice_1;
|
5383 |
|
5384 |
+
var slice$6 = slice$5;
|
5385 |
|
5386 |
function _arrayLikeToArray(arr, len) {
|
5387 |
if (len == null || len > arr.length) len = arr.length;
|
5399 |
if (!o) return;
|
5400 |
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
5401 |
|
5402 |
+
var n = slice$6(_context = Object.prototype.toString.call(o)).call(_context, 8, -1);
|
5403 |
|
5404 |
if (n === "Object" && o.constructor) n = o.constructor.name;
|
5405 |
if (n === "Map" || n === "Set") return from_1$2(o);
|
7166 |
// in a server (non-DOM) environment?
|
7167 |
var event = custom_event(type, detail);
|
7168 |
|
7169 |
+
forEach$2(_context11 = slice$3(callbacks).call(callbacks)).call(_context11, function (fn) {
|
7170 |
fn.call(component, event);
|
7171 |
});
|
7172 |
}
|
7694 |
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !construct$3) return false; if (construct$3.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(construct$3(Date, [], function () {})); return true; } catch (e) { return false; } }
|
7695 |
|
7696 |
function get_each_context(ctx, list, i) {
|
7697 |
+
var child_ctx = slice$3(ctx).call(ctx);
|
7698 |
|
7699 |
child_ctx[10] = list[i];
|
7700 |
return child_ctx;
|
8134 |
|
8135 |
function select_el_binding(value) {
|
8136 |
/*select_el_binding*/
|
8137 |
+
ctx[55].call(null, value);
|
8138 |
}
|
8139 |
|
8140 |
var select_props = {
|
8240 |
destroy_component(select);
|
8241 |
}
|
8242 |
};
|
8243 |
+
} // (461:4) {#if hasCategorySelect}
|
8244 |
|
8245 |
|
8246 |
function create_if_block_7(ctx) {
|
8316 |
destroy_component(select);
|
8317 |
}
|
8318 |
};
|
8319 |
+
} // (472:4) {#if hasServiceSelect}
|
8320 |
|
8321 |
|
8322 |
function create_if_block_6(ctx) {
|
8327 |
|
8328 |
function select_el_binding_1(value) {
|
8329 |
/*select_el_binding_1*/
|
8330 |
+
ctx[56].call(null, value);
|
8331 |
}
|
8332 |
|
8333 |
var select_props = {
|
8433 |
destroy_component(select);
|
8434 |
}
|
8435 |
};
|
8436 |
+
} // (485:4) {#if hasStaffSelect}
|
8437 |
|
8438 |
|
8439 |
function create_if_block_5(ctx) {
|
8444 |
|
8445 |
function select_el_binding_2(value) {
|
8446 |
/*select_el_binding_2*/
|
8447 |
+
ctx[57].call(null, value);
|
8448 |
}
|
8449 |
|
8450 |
var select_props = {
|
8550 |
destroy_component(select);
|
8551 |
}
|
8552 |
};
|
8553 |
+
} // (498:4) {#if hasDurationSelect}
|
8554 |
|
8555 |
|
8556 |
function create_if_block_4(ctx) {
|
8618 |
destroy_component(select);
|
8619 |
}
|
8620 |
};
|
8621 |
+
} // (508:4) {#if hasNopSelect}
|
8622 |
|
8623 |
|
8624 |
function create_if_block_3(ctx) {
|
8686 |
destroy_component(select);
|
8687 |
}
|
8688 |
};
|
8689 |
+
} // (518:4) {#if hasQuantitySelect}
|
8690 |
|
8691 |
|
8692 |
function create_if_block_2$1(ctx) {
|
8754 |
destroy_component(select);
|
8755 |
}
|
8756 |
};
|
8757 |
+
} // (528:4) {#if hasDropBtn}
|
8758 |
|
8759 |
|
8760 |
function create_if_block$1(ctx) {
|
8802 |
if (if_block) if_block.d();
|
8803 |
}
|
8804 |
};
|
8805 |
+
} // (532:16) {#if showDropBtn}
|
8806 |
|
8807 |
|
8808 |
function create_if_block_1$1(ctx) {
|
9152 |
required = _$$props$required === void 0 ? {} : _$$props$required;
|
9153 |
var _$$props$servicesPerL = $$props.servicesPerLocation,
|
9154 |
servicesPerLocation = _$$props$servicesPerL === void 0 ? false : _$$props$servicesPerL;
|
9155 |
+
var _$$props$collaborativ = $$props.collaborativeHideStaff,
|
9156 |
+
collaborativeHideStaff = _$$props$collaborativ === void 0 ? false : _$$props$collaborativ;
|
9157 |
var _$$props$showRatings = $$props.showRatings,
|
9158 |
showRatings = _$$props$showRatings === void 0 ? false : _$$props$showRatings;
|
9159 |
var _$$props$maxQuantity = $$props.maxQuantity,
|
9333 |
|
9334 |
|
9335 |
if (categoryId) {
|
9336 |
+
$$invalidate(59, categorySelected = true);
|
9337 |
|
9338 |
if (serviceId) {
|
9339 |
if (services[serviceId].category_id !== categoryId) {
|
9355 |
}
|
9356 |
}
|
9357 |
} else {
|
9358 |
+
$$invalidate(59, categorySelected = false);
|
9359 |
}
|
9360 |
}
|
9361 |
|
9419 |
var el = null;
|
9420 |
$$invalidate(32, staffError = $$invalidate(30, serviceError = $$invalidate(28, locationError = null)));
|
9421 |
|
9422 |
+
if (required.staff && !staffId && (!collaborativeHideStaff || !serviceId || services[serviceId].type !== "collaborative")) {
|
9423 |
valid = false;
|
9424 |
$$invalidate(32, staffError = l10n.staff_error);
|
9425 |
el = staffEl;
|
9482 |
if ("defaults" in $$props) $$invalidate(47, defaults = $$props.defaults);
|
9483 |
if ("required" in $$props) $$invalidate(48, required = $$props.required);
|
9484 |
if ("servicesPerLocation" in $$props) $$invalidate(49, servicesPerLocation = $$props.servicesPerLocation);
|
9485 |
+
if ("collaborativeHideStaff" in $$props) $$invalidate(50, collaborativeHideStaff = $$props.collaborativeHideStaff);
|
9486 |
+
if ("showRatings" in $$props) $$invalidate(51, showRatings = $$props.showRatings);
|
9487 |
+
if ("maxQuantity" in $$props) $$invalidate(52, maxQuantity = $$props.maxQuantity);
|
9488 |
if ("hasLocationSelect" in $$props) $$invalidate(1, hasLocationSelect = $$props.hasLocationSelect);
|
9489 |
if ("hasCategorySelect" in $$props) $$invalidate(2, hasCategorySelect = $$props.hasCategorySelect);
|
9490 |
if ("hasServiceSelect" in $$props) $$invalidate(3, hasServiceSelect = $$props.hasServiceSelect);
|
9501 |
if ($$self.$$.dirty[0] &
|
9502 |
/*locationId, locations, serviceId, categoryId, staffItems, staffId, nop, hasNopSelect, duration, durationItems, l10n*/
|
9503 |
3275841 | $$self.$$.dirty[1] &
|
9504 |
+
/*servicesPerLocation, staff, services, lookupLocationId, collaborativeHideStaff, showRatings, categories, categorySelected, minCapacity, maxCapacity, maxQuantity*/
|
9505 |
+
2017255424 | $$self.$$.dirty[2] &
|
9506 |
+
/*srvMinCapacity, srvMaxCapacity*/
|
9507 |
+
3) {
|
9508 |
{
|
9509 |
+
$$invalidate(58, lookupLocationId = servicesPerLocation && locationId ? locationId : 0);
|
9510 |
$$invalidate(18, categoryItems = {});
|
9511 |
$$invalidate(19, serviceItems = {});
|
9512 |
$$invalidate(20, staffItems = {});
|
9531 |
return true;
|
9532 |
}
|
9533 |
|
9534 |
+
$$invalidate(63, srvMinCapacity = srvMinCapacity ? Math.min(srvMinCapacity, locSrv.min_capacity) : locSrv.min_capacity);
|
9535 |
+
$$invalidate(62, srvMaxCapacity = srvMaxCapacity ? Math.max(srvMaxCapacity, locSrv.max_capacity) : locSrv.max_capacity);
|
9536 |
$$invalidate(20, staffItems[id] = $__default['default'].extend({}, staffMember, {
|
9537 |
name: staffMember.name + (locSrv.price !== null && (lookupLocationId || !servicesPerLocation) ? " (" + locSrv.price + ")" : ""),
|
9538 |
+
hidden: collaborativeHideStaff && services[serviceId].type === "collaborative"
|
9539 |
}), staffItems);
|
9540 |
|
9541 |
+
if (collaborativeHideStaff && services[serviceId].type === "collaborative") {
|
9542 |
$$invalidate(14, staffId = 0);
|
9543 |
}
|
9544 |
});
|
9609 |
} // Number of persons
|
9610 |
|
9611 |
|
9612 |
+
$$invalidate(60, maxCapacity = serviceId ? staffId ? lookupLocationId in staff[staffId].services[serviceId].locations ? staff[staffId].services[serviceId].locations[lookupLocationId].max_capacity : 1 : srvMaxCapacity ? srvMaxCapacity : 1 : 1);
|
9613 |
+
$$invalidate(61, minCapacity = serviceId ? staffId ? lookupLocationId in staff[staffId].services[serviceId].locations ? staff[staffId].services[serviceId].locations[lookupLocationId].min_capacity : 1 : srvMinCapacity ? srvMinCapacity : 1 : 1);
|
9614 |
|
9615 |
for (var i = minCapacity; i <= maxCapacity; ++i) {
|
9616 |
$$invalidate(22, nopItems[i] = {
|
9655 |
}
|
9656 |
|
9657 |
if (!(duration in durationItems)) {
|
9658 |
+
if (keys$3(durationItems).length > 0) {
|
9659 |
+
$$invalidate(15, duration = values$2(durationItems)[0].id);
|
9660 |
+
} else {
|
9661 |
+
$$invalidate(15, duration = 1);
|
9662 |
+
}
|
9663 |
} // Quantity
|
9664 |
|
9665 |
|
9693 |
}
|
9694 |
};
|
9695 |
|
9696 |
+
return [locations, hasLocationSelect, hasCategorySelect, hasServiceSelect, hasStaffSelect, hasDurationSelect, hasNopSelect, hasQuantitySelect, hasDropBtn, showDropBtn, l10n, locationId, categoryId, serviceId, staffId, duration, nop, quantity, categoryItems, serviceItems, staffItems, durationItems, nopItems, quantityItems, locationPlaceholder, categoryPlaceholder, servicePlaceholder, staffPlaceholder, locationError, locationEl, serviceError, serviceEl, staffError, staffEl, onLocationChange, onCategoryChange, onServiceChange, onStaffChange, onDurationChange, onNopChange, onQuantityChange, onDropBtnClick, item, index, categories, services, staff, defaults, required, servicesPerLocation, collaborativeHideStaff, showRatings, maxQuantity, validate, getValues, select_el_binding, select_el_binding_1, select_el_binding_2];
|
9697 |
}
|
9698 |
|
9699 |
var ChainItem = /*#__PURE__*/function (_SvelteComponent) {
|
9717 |
defaults: 47,
|
9718 |
required: 48,
|
9719 |
servicesPerLocation: 49,
|
9720 |
+
collaborativeHideStaff: 50,
|
9721 |
+
showRatings: 51,
|
9722 |
+
maxQuantity: 52,
|
9723 |
hasLocationSelect: 1,
|
9724 |
hasCategorySelect: 2,
|
9725 |
hasServiceSelect: 3,
|
9730 |
hasDropBtn: 8,
|
9731 |
showDropBtn: 9,
|
9732 |
l10n: 10,
|
9733 |
+
validate: 53,
|
9734 |
+
getValues: 54
|
9735 |
}, [-1, -1, -1]);
|
9736 |
return _this;
|
9737 |
}
|
9739 |
_createClass(ChainItem, [{
|
9740 |
key: "validate",
|
9741 |
get: function get() {
|
9742 |
+
return this.$$.ctx[53];
|
9743 |
}
|
9744 |
}, {
|
9745 |
key: "getValues",
|
9746 |
get: function get() {
|
9747 |
+
return this.$$.ctx[54];
|
9748 |
}
|
9749 |
}]);
|
9750 |
|
9756 |
function _isNativeReflectConstruct$2() { if (typeof Reflect === "undefined" || !construct$3) return false; if (construct$3.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(construct$3(Date, [], function () {})); return true; } catch (e) { return false; } }
|
9757 |
|
9758 |
function get_each_context$1(ctx, list, i) {
|
9759 |
+
var child_ctx = slice$3(ctx).call(ctx);
|
9760 |
|
9761 |
child_ctx[9] = list[i];
|
9762 |
child_ctx[10] = list;
|
10203 |
defaults = opt[params.form_id].defaults,
|
10204 |
servicesPerLocation = response.services_per_location,
|
10205 |
serviceNameWithDuration = response.service_name_with_duration,
|
10206 |
+
collaborativeHideStaff = response.collaborative_hide_staff,
|
10207 |
showRatings = response.show_ratings,
|
10208 |
maxQuantity = response.max_quantity || 1,
|
10209 |
multiple = response.multi_service || false,
|
10227 |
defaults: defaults,
|
10228 |
required: required,
|
10229 |
servicesPerLocation: servicesPerLocation,
|
10230 |
+
collaborativeHideStaff: collaborativeHideStaff,
|
10231 |
showRatings: showRatings,
|
10232 |
maxQuantity: maxQuantity,
|
10233 |
hasLocationSelect: !opt[params.form_id].form_attributes.hide_locations,
|
10456 |
|
10457 |
if (opt[params.form_id].skip_steps.service_part1) {
|
10458 |
// Skip scrolling
|
10459 |
+
// Timeout to let form set default values
|
10460 |
+
setTimeout$2(function () {
|
10461 |
+
$mobile_next_step.trigger('click', [true]);
|
10462 |
+
}, 0);
|
10463 |
+
|
10464 |
$mobile_prev_step.remove();
|
10465 |
} else {
|
10466 |
$mobile_prev_step.on('click', function () {
|
frontend/resources/js/bookly.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
var bookly=function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=t(jQuery),n={},r={}.hasOwnProperty,a=function(e,t){return r.call(e,t)},i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function l(e,t,o){return e(o={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&o.path)}},o.exports),o.exports}var s=function(e){return e&&e.Math==Math&&e},c=s("object"==typeof globalThis&&globalThis)||s("object"==typeof window&&window)||s("object"==typeof self&&self)||s("object"==typeof i&&i)||Function("return this")(),u=!0,f=function(e){try{return!!e()}catch(e){return!0}},d=!f((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),p=function(e){return"object"==typeof e?null!==e:"function"==typeof e},m=c.document,y=p(m)&&p(m.createElement),h=function(e){return y?m.createElement(e):{}},v=!d&&!f((function(){return 7!=Object.defineProperty(h("div"),"a",{get:function(){return 7}}).a})),_=function(e){if(!p(e))throw TypeError(String(e)+" is not an object");return e},k=function(e,t){if(!p(e))return e;var o,n;if(t&&"function"==typeof(o=e.toString)&&!p(n=o.call(e)))return n;if("function"==typeof(o=e.valueOf)&&!p(n=o.call(e)))return n;if(!t&&"function"==typeof(o=e.toString)&&!p(n=o.call(e)))return n;throw TypeError("Can't convert object to primitive value")},b=Object.defineProperty,g={f:d?b:function(e,t,o){if(_(e),t=k(t,!0),_(o),v)try{return b(e,t,o)}catch(e){}if("get"in o||"set"in o)throw TypeError("Accessors not supported");return"value"in o&&(e[t]=o.value),e}},w=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},j=d?function(e,t,o){return g.f(e,t,w(1,o))}:function(e,t,o){return e[t]=o,e},x="__core-js_shared__",S=c[x]||function(e,t){try{j(c,e,t)}catch(o){c[e]=t}return t}(x,{}),O=l((function(e){(e.exports=function(e,t){return S[e]||(S[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.6.4",mode:"pure",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),C=0,L=Math.random(),$=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++C+L).toString(36)},T=!!Object.getOwnPropertySymbols&&!f((function(){return!String(Symbol())})),D=T&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,M=O("wks"),E=c.Symbol,B=D?E:E&&E.withoutSetter||$,A=function(e){return a(M,e)||(T&&a(E,e)?M[e]=E[e]:M[e]=B("Symbol."+e)),M[e]},P={f:A},F=g.f,R=function(e){var t=n.Symbol||(n.Symbol={});a(t,e)||F(t,e,{value:P.f(e)})};R("iterator");var q=Math.ceil,I=Math.floor,N=function(e){return isNaN(e=+e)?0:(e>0?I:q)(e)},z=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},H=function(e){return function(t,o){var n,r,a=String(z(t)),i=N(o),l=a.length;return i<0||i>=l?e?"":void 0:(n=a.charCodeAt(i))<55296||n>56319||i+1===l||(r=a.charCodeAt(i+1))<56320||r>57343?e?a.charAt(i):n:e?a.slice(i,i+2):r-56320+(n-55296<<10)+65536}},X={codeAt:H(!1),charAt:H(!0)},Y=Function.toString;"function"!=typeof S.inspectSource&&(S.inspectSource=function(e){return Y.call(e)});var Q,U,V,J=S.inspectSource,Z=c.WeakMap,G="function"==typeof Z&&/native code/.test(J(Z)),W=O("keys"),K=function(e){return W[e]||(W[e]=$(e))},ee={},te=c.WeakMap;if(G){var oe=new te,ne=oe.get,re=oe.has,ae=oe.set;Q=function(e,t){return ae.call(oe,e,t),t},U=function(e){return ne.call(oe,e)||{}},V=function(e){return re.call(oe,e)}}else{var ie=K("state");ee[ie]=!0,Q=function(e,t){return j(e,ie,t),t},U=function(e){return a(e,ie)?e[ie]:{}},V=function(e){return a(e,ie)}}var le,se,ce,ue={set:Q,get:U,has:V,enforce:function(e){return V(e)?U(e):Q(e,{})},getterFor:function(e){return function(t){var o;if(!p(t)||(o=U(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return o}}},fe={}.propertyIsEnumerable,de=Object.getOwnPropertyDescriptor,pe={f:de&&!fe.call({1:2},1)?function(e){var t=de(this,e);return!!t&&t.enumerable}:fe},me={}.toString,ye=function(e){return me.call(e).slice(8,-1)},he="".split,ve=f((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==ye(e)?he.call(e,""):Object(e)}:Object,_e=function(e){return ve(z(e))},ke=Object.getOwnPropertyDescriptor,be={f:d?ke:function(e,t){if(e=_e(e),t=k(t,!0),v)try{return ke(e,t)}catch(e){}if(a(e,t))return w(!pe.f.call(e,t),e[t])}},ge=/#|\.prototype\./,we=function(e,t){var o=xe[je(e)];return o==Oe||o!=Se&&("function"==typeof t?f(t):!!t)},je=we.normalize=function(e){return String(e).replace(ge,".").toLowerCase()},xe=we.data={},Se=we.NATIVE="N",Oe=we.POLYFILL="P",Ce=we,Le=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e},$e=function(e,t,o){if(Le(e),void 0===t)return e;switch(o){case 0:return function(){return e.call(t)};case 1:return function(o){return e.call(t,o)};case 2:return function(o,n){return e.call(t,o,n)};case 3:return function(o,n,r){return e.call(t,o,n,r)}}return function(){return e.apply(t,arguments)}},Te=be.f,De=function(e){var t=function(t,o,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,o)}return new e(t,o,n)}return e.apply(this,arguments)};return t.prototype=e.prototype,t},Me=function(e,t){var o,r,i,l,s,u,f,d,p=e.target,m=e.global,y=e.stat,h=e.proto,v=m?c:y?c[p]:(c[p]||{}).prototype,_=m?n:n[p]||(n[p]={}),k=_.prototype;for(i in t)o=!Ce(m?i:p+(y?".":"#")+i,e.forced)&&v&&a(v,i),s=_[i],o&&(u=e.noTargetGet?(d=Te(v,i))&&d.value:v[i]),l=o&&u?u:t[i],o&&typeof s==typeof l||(f=e.bind&&o?$e(l,c):e.wrap&&o?De(l):h&&"function"==typeof l?$e(Function.call,l):l,(e.sham||l&&l.sham||s&&s.sham)&&j(f,"sham",!0),_[i]=f,h&&(a(n,r=p+"Prototype")||j(n,r,{}),n[r][i]=l,e.real&&k&&!k[i]&&j(k,i,l)))},Ee=function(e){return Object(z(e))},Be=!f((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),Ae=K("IE_PROTO"),Pe=Object.prototype,Fe=Be?Object.getPrototypeOf:function(e){return e=Ee(e),a(e,Ae)?e[Ae]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?Pe:null},Re=(A("iterator"),!1);[].keys&&("next"in(ce=[].keys())?(se=Fe(Fe(ce)))!==Object.prototype&&(le=se):Re=!0),null==le&&(le={});var qe,Ie={IteratorPrototype:le,BUGGY_SAFARI_ITERATORS:Re},Ne=Math.min,ze=function(e){return e>0?Ne(N(e),9007199254740991):0},He=Math.max,Xe=Math.min,Ye=function(e,t){var o=N(e);return o<0?He(o+t,0):Xe(o,t)},Qe=function(e){return function(t,o,n){var r,a=_e(t),i=ze(a.length),l=Ye(n,i);if(e&&o!=o){for(;i>l;)if((r=a[l++])!=r)return!0}else for(;i>l;l++)if((e||l in a)&&a[l]===o)return e||l||0;return!e&&-1}},Ue={includes:Qe(!0),indexOf:Qe(!1)},Ve=Ue.indexOf,Je=function(e,t){var o,n=_e(e),r=0,i=[];for(o in n)!a(ee,o)&&a(n,o)&&i.push(o);for(;t.length>r;)a(n,o=t[r++])&&(~Ve(i,o)||i.push(o));return i},Ze=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ge=Object.keys||function(e){return Je(e,Ze)},We=d?Object.defineProperties:function(e,t){_(e);for(var o,n=Ge(t),r=n.length,a=0;r>a;)g.f(e,o=n[a++],t[o]);return e},Ke=function(e){return"function"==typeof e?e:void 0},et=function(e,t){return arguments.length<2?Ke(n[e])||Ke(c[e]):n[e]&&n[e][t]||c[e]&&c[e][t]},tt=et("document","documentElement"),ot=K("IE_PROTO"),nt=function(){},rt=function(e){return"<script>"+e+"</"+"script>"},at=function(){try{qe=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t;at=qe?function(e){e.write(rt("")),e.close();var t=e.parentWindow.Object;return e=null,t}(qe):((t=h("iframe")).style.display="none",tt.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(rt("document.F=Object")),e.close(),e.F);for(var o=Ze.length;o--;)delete at.prototype[Ze[o]];return at()};ee[ot]=!0;var it=Object.create||function(e,t){var o;return null!==e?(nt.prototype=_(e),o=new nt,nt.prototype=null,o[ot]=e):o=at(),void 0===t?o:We(o,t)},lt={};lt[A("toStringTag")]="z";var st="[object z]"===String(lt),ct=A("toStringTag"),ut="Arguments"==ye(function(){return arguments}()),ft=st?ye:function(e){var t,o,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(o=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),ct))?o:ut?ye(t):"Object"==(n=ye(t))&&"function"==typeof t.callee?"Arguments":n},dt=st?{}.toString:function(){return"[object "+ft(this)+"]"},pt=g.f,mt=A("toStringTag"),yt=function(e,t,o,n){if(e){var r=o?e:e.prototype;a(r,mt)||pt(r,mt,{configurable:!0,value:t}),n&&!st&&j(r,"toString",dt)}},ht={},vt=Ie.IteratorPrototype,_t=function(){return this},kt=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,o={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(o,[]),t=o instanceof Array}catch(e){}return function(o,n){return _(o),function(e){if(!p(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype")}(n),t?e.call(o,n):o.__proto__=n,o}}():void 0),bt=function(e,t,o,n){n&&n.enumerable?e[t]=o:j(e,t,o)},gt=Ie.IteratorPrototype,wt=Ie.BUGGY_SAFARI_ITERATORS,jt=A("iterator"),xt="keys",St="values",Ot="entries",Ct=function(){return this},Lt=function(e,t,o,n,r,a,i){!function(e,t,o){var n=t+" Iterator";e.prototype=it(vt,{next:w(1,o)}),yt(e,n,!1,!0),ht[n]=_t}(o,t,n);var l,s,c,u=function(e){if(e===r&&y)return y;if(!wt&&e in p)return p[e];switch(e){case xt:case St:case Ot:return function(){return new o(this,e)}}return function(){return new o(this)}},f=t+" Iterator",d=!1,p=e.prototype,m=p[jt]||p["@@iterator"]||r&&p[r],y=!wt&&m||u(r),h="Array"==t&&p.entries||m;if(h&&(l=Fe(h.call(new e)),gt!==Object.prototype&&l.next&&(yt(l,f,!0,!0),ht[f]=Ct)),r==St&&m&&m.name!==St&&(d=!0,y=function(){return m.call(this)}),i&&p[jt]!==y&&j(p,jt,y),ht[t]=y,r)if(s={values:u(St),keys:a?y:u(xt),entries:u(Ot)},i)for(c in s)(wt||d||!(c in p))&&bt(p,c,s[c]);else Me({target:t,proto:!0,forced:wt||d},s);return s},$t=X.charAt,Tt="String Iterator",Dt=ue.set,Mt=ue.getterFor(Tt);Lt(String,"String",(function(e){Dt(this,{type:Tt,string:String(e),index:0})}),(function(){var e,t=Mt(this),o=t.string,n=t.index;return n>=o.length?{value:void 0,done:!0}:(e=$t(o,n),t.index+=e.length,{value:e,done:!1})}));var Et="Array Iterator",Bt=ue.set,At=ue.getterFor(Et);Lt(Array,"Array",(function(e,t){Bt(this,{type:Et,target:_e(e),index:0,kind:t})}),(function(){var e=At(this),t=e.target,o=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==o?{value:n,done:!1}:"values"==o?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}}),"values");ht.Arguments=ht.Array;var Pt=A("toStringTag");for(var Ft in{CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}){var Rt=c[Ft],qt=Rt&&Rt.prototype;qt&&ft(qt)!==Pt&&j(qt,Pt,Ft),ht[Ft]=ht.Array}var It,Nt,zt=P.f("iterator"),Ht=Array.isArray||function(e){return"Array"==ye(e)},Xt=function(e,t,o){var n=k(t);n in e?g.f(e,n,w(0,o)):e[n]=o},Yt=A("species"),Qt=function(e,t){var o;return Ht(e)&&("function"!=typeof(o=e.constructor)||o!==Array&&!Ht(o.prototype)?p(o)&&null===(o=o[Yt])&&(o=void 0):o=void 0),new(void 0===o?Array:o)(0===t?0:t)},Ut=et("navigator","userAgent")||"",Vt=c.process,Jt=Vt&&Vt.versions,Zt=Jt&&Jt.v8;Zt?Nt=(It=Zt.split("."))[0]+It[1]:Ut&&(!(It=Ut.match(/Edge\/(\d+)/))||It[1]>=74)&&(It=Ut.match(/Chrome\/(\d+)/))&&(Nt=It[1]);var Gt=Nt&&+Nt,Wt=A("species"),Kt=function(e){return Gt>=51||!f((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[e](Boolean).foo}))},eo=A("isConcatSpreadable"),to=9007199254740991,oo="Maximum allowed index exceeded",no=Gt>=51||!f((function(){var e=[];return e[eo]=!1,e.concat()[0]!==e})),ro=Kt("concat"),ao=function(e){if(!p(e))return!1;var t=e[eo];return void 0!==t?!!t:Ht(e)};Me({target:"Array",proto:!0,forced:!no||!ro},{concat:function(e){var t,o,n,r,a,i=Ee(this),l=Qt(i,0),s=0;for(t=-1,n=arguments.length;t<n;t++)if(ao(a=-1===t?i:arguments[t])){if(s+(r=ze(a.length))>to)throw TypeError(oo);for(o=0;o<r;o++,s++)o in a&&Xt(l,s,a[o])}else{if(s>=to)throw TypeError(oo);Xt(l,s++,a)}return l.length=s,l}});var io=Ze.concat("length","prototype"),lo={f:Object.getOwnPropertyNames||function(e){return Je(e,io)}},so=lo.f,co={}.toString,uo="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],fo={f:function(e){return uo&&"[object Window]"==co.call(e)?function(e){try{return so(e)}catch(e){return uo.slice()}}(e):so(_e(e))}},po={f:Object.getOwnPropertySymbols},mo=[].push,yo=function(e){var t=1==e,o=2==e,n=3==e,r=4==e,a=6==e,i=5==e||a;return function(l,s,c,u){for(var f,d,p=Ee(l),m=ve(p),y=$e(s,c,3),h=ze(m.length),v=0,_=u||Qt,k=t?_(l,h):o?_(l,0):void 0;h>v;v++)if((i||v in m)&&(d=y(f=m[v],v,p),e))if(t)k[v]=d;else if(d)switch(e){case 3:return!0;case 5:return f;case 6:return v;case 2:mo.call(k,f)}else if(r)return!1;return a?-1:n||r?r:k}},ho={forEach:yo(0),map:yo(1),filter:yo(2),some:yo(3),every:yo(4),find:yo(5),findIndex:yo(6)},vo=ho.forEach,_o=K("hidden"),ko="Symbol",bo=A("toPrimitive"),go=ue.set,wo=ue.getterFor(ko),jo=Object.prototype,xo=c.Symbol,So=et("JSON","stringify"),Oo=be.f,Co=g.f,Lo=fo.f,$o=pe.f,To=O("symbols"),Do=O("op-symbols"),Mo=O("string-to-symbol-registry"),Eo=O("symbol-to-string-registry"),Bo=O("wks"),Ao=c.QObject,Po=!Ao||!Ao.prototype||!Ao.prototype.findChild,Fo=d&&f((function(){return 7!=it(Co({},"a",{get:function(){return Co(this,"a",{value:7}).a}})).a}))?function(e,t,o){var n=Oo(jo,t);n&&delete jo[t],Co(e,t,o),n&&e!==jo&&Co(jo,t,n)}:Co,Ro=function(e,t){var o=To[e]=it(xo.prototype);return go(o,{type:ko,tag:e,description:t}),d||(o.description=t),o},qo=D?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof xo},Io=function(e,t,o){e===jo&&Io(Do,t,o),_(e);var n=k(t,!0);return _(o),a(To,n)?(o.enumerable?(a(e,_o)&&e[_o][n]&&(e[_o][n]=!1),o=it(o,{enumerable:w(0,!1)})):(a(e,_o)||Co(e,_o,w(1,{})),e[_o][n]=!0),Fo(e,n,o)):Co(e,n,o)},No=function(e,t){_(e);var o=_e(t),n=Ge(o).concat(Yo(o));return vo(n,(function(t){d&&!zo.call(o,t)||Io(e,t,o[t])})),e},zo=function(e){var t=k(e,!0),o=$o.call(this,t);return!(this===jo&&a(To,t)&&!a(Do,t))&&(!(o||!a(this,t)||!a(To,t)||a(this,_o)&&this[_o][t])||o)},Ho=function(e,t){var o=_e(e),n=k(t,!0);if(o!==jo||!a(To,n)||a(Do,n)){var r=Oo(o,n);return!r||!a(To,n)||a(o,_o)&&o[_o][n]||(r.enumerable=!0),r}},Xo=function(e){var t=Lo(_e(e)),o=[];return vo(t,(function(e){a(To,e)||a(ee,e)||o.push(e)})),o},Yo=function(e){var t=e===jo,o=Lo(t?Do:_e(e)),n=[];return vo(o,(function(e){!a(To,e)||t&&!a(jo,e)||n.push(To[e])})),n};if(T||(bt((xo=function(){if(this instanceof xo)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=$(e),o=function(e){this===jo&&o.call(Do,e),a(this,_o)&&a(this[_o],t)&&(this[_o][t]=!1),Fo(this,t,w(1,e))};return d&&Po&&Fo(jo,t,{configurable:!0,set:o}),Ro(t,e)}).prototype,"toString",(function(){return wo(this).tag})),bt(xo,"withoutSetter",(function(e){return Ro($(e),e)})),pe.f=zo,g.f=Io,be.f=Ho,lo.f=fo.f=Xo,po.f=Yo,P.f=function(e){return Ro(A(e),e)},d&&Co(xo.prototype,"description",{configurable:!0,get:function(){return wo(this).description}})),Me({global:!0,wrap:!0,forced:!T,sham:!T},{Symbol:xo}),vo(Ge(Bo),(function(e){R(e)})),Me({target:ko,stat:!0,forced:!T},{for:function(e){var t=String(e);if(a(Mo,t))return Mo[t];var o=xo(t);return Mo[t]=o,Eo[o]=t,o},keyFor:function(e){if(!qo(e))throw TypeError(e+" is not a symbol");if(a(Eo,e))return Eo[e]},useSetter:function(){Po=!0},useSimple:function(){Po=!1}}),Me({target:"Object",stat:!0,forced:!T,sham:!d},{create:function(e,t){return void 0===t?it(e):No(it(e),t)},defineProperty:Io,defineProperties:No,getOwnPropertyDescriptor:Ho}),Me({target:"Object",stat:!0,forced:!T},{getOwnPropertyNames:Xo,getOwnPropertySymbols:Yo}),Me({target:"Object",stat:!0,forced:f((function(){po.f(1)}))},{getOwnPropertySymbols:function(e){return po.f(Ee(e))}}),So){var Qo=!T||f((function(){var e=xo();return"[null]"!=So([e])||"{}"!=So({a:e})||"{}"!=So(Object(e))}));Me({target:"JSON",stat:!0,forced:Qo},{stringify:function(e,t,o){for(var n,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(n=t,(p(t)||void 0!==e)&&!qo(e))return Ht(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!qo(t))return t}),r[1]=t,So.apply(null,r)}})}xo.prototype[bo]||j(xo.prototype,bo,xo.prototype.valueOf),yt(xo,ko),ee[_o]=!0,R("asyncIterator"),R("hasInstance"),R("isConcatSpreadable"),R("match"),R("matchAll"),R("replace"),R("search"),R("species"),R("split"),R("toPrimitive"),R("toStringTag"),R("unscopables"),yt(Math,"Math",!0),yt(c.JSON,"JSON",!0);var Uo=n.Symbol;R("asyncDispose"),R("dispose"),R("observable"),R("patternMatch"),R("replaceAll");var Vo=Uo;function Jo(e){return(Jo="function"==typeof Vo&&"symbol"==typeof zt?function(e){return typeof e}:function(e){return e&&"function"==typeof Vo&&e.constructor===Vo&&e!==Vo.prototype?"symbol":typeof e})(e)}var Zo={};function Go(e){var t=Ladda.create(e);return t.start(),t}function Wo(e){var t=e.offset().top,n=o.default(window).scrollTop();(t<o.default(window).scrollTop()||t>n+window.innerHeight)&&o.default("html,body").animate({scrollTop:t-24},500)}Me({target:"String",proto:!0},{repeat:"".repeat||function(e){var t=String(z(this)),o="",n=N(e);if(n<0||n==1/0)throw RangeError("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(t+=t))1&n&&(o+=t);return o}});var Ko=function(e){return n[e+"Prototype"]},en=Ko("String").repeat,tn=String.prototype,on=function(e){var t=e.repeat;return"string"==typeof e||e===tn||e instanceof String&&t===tn.repeat?en:t},nn=et("JSON","stringify"),rn=/[\uD800-\uDFFF]/g,an=/^[\uD800-\uDBFF]$/,ln=/^[\uDC00-\uDFFF]$/,sn=function(e,t,o){var n=o.charAt(t-1),r=o.charAt(t+1);return an.test(e)&&!ln.test(r)||ln.test(e)&&!an.test(n)?"\\u"+e.charCodeAt(0).toString(16):e},cn=f((function(){return'"\\udf06\\ud834"'!==nn("\udf06\ud834")||'"\\udead"'!==nn("\udead")}));nn&&Me({target:"JSON",stat:!0,forced:cn},{stringify:function(e,t,o){var n=nn.apply(null,arguments);return"string"==typeof n?n.replace(rn,sn):n}}),n.JSON||(n.JSON={stringify:JSON.stringify});var un=function(e,t,o){return n.JSON.stringify.apply(null,arguments)},fn="\t\n\v\f\r \u2028\u2029\ufeff",dn="["+fn+"]",pn=RegExp("^"+dn+dn+"*"),mn=RegExp(dn+dn+"*$"),yn=function(e){return function(t){var o=String(z(t));return 1&e&&(o=o.replace(pn,"")),2&e&&(o=o.replace(mn,"")),o}},hn={start:yn(1),end:yn(2),trim:yn(3)},vn=hn.trim,_n=c.parseInt,kn=/^[+-]?0[Xx]/,bn=8!==_n(fn+"08")||22!==_n(fn+"0x16")?function(e,t){var o=vn(String(e));return _n(o,t>>>0||(kn.test(o)?16:10))}:_n;Me({global:!0,forced:parseInt!=bn},{parseInt:bn});var gn=n.parseInt,wn=hn.trim,jn=c.parseFloat,xn=1/jn(fn+"-0")!=-1/0?function(e){var t=wn(String(e)),o=jn(t);return 0===o&&"-"==t.charAt(0)?-0:o}:jn;Me({global:!0,forced:parseFloat!=xn},{parseFloat:xn});var Sn=n.parseFloat,On=Object.defineProperty,Cn={},Ln=function(e){throw e},$n=function(e,t){if(a(Cn,e))return Cn[e];t||(t={});var o=[][e],n=!!a(t,"ACCESSORS")&&t.ACCESSORS,r=a(t,0)?t[0]:Ln,i=a(t,1)?t[1]:void 0;return Cn[e]=!!o&&!f((function(){if(n&&!d)return!0;var e={length:-1};n?On(e,1,{enumerable:!0,get:Ln}):e[1]=1,o.call(e,r,i)}))},Tn=ho.find,Dn="find",Mn=!0,En=$n(Dn);Dn in[]&&Array(1).find((function(){Mn=!1})),Me({target:"Array",proto:!0,forced:Mn||!En},{find:function(e){return Tn(this,e,arguments.length>1?arguments[1]:void 0)}});var Bn=Ko("Array").find,An=Array.prototype,Pn=function(e){var t=e.find;return e===An||e instanceof Array&&t===An.find?Bn:t},Fn=Kt("splice"),Rn=$n("splice",{ACCESSORS:!0,0:0,1:2}),qn=Math.max,In=Math.min,Nn=9007199254740991,zn="Maximum allowed length exceeded";Me({target:"Array",proto:!0,forced:!Fn||!Rn},{splice:function(e,t){var o,n,r,a,i,l,s=Ee(this),c=ze(s.length),u=Ye(e,c),f=arguments.length;if(0===f?o=n=0:1===f?(o=0,n=c-u):(o=f-2,n=In(qn(N(t),0),c-u)),c+o-n>Nn)throw TypeError(zn);for(r=Qt(s,n),a=0;a<n;a++)(i=u+a)in s&&Xt(r,a,s[i]);if(r.length=n,o<n){for(a=u;a<c-n;a++)l=a+o,(i=a+n)in s?s[l]=s[i]:delete s[l];for(a=c;a>c-n+o;a--)delete s[a-1]}else if(o>n)for(a=c-n;a>u;a--)l=a+o-1,(i=a+n-1)in s?s[l]=s[i]:delete s[l];for(a=0;a<o;a++)s[a+u]=arguments[a+2];return s.length=c-n+o,r}});var Hn=Ko("Array").splice,Xn=Array.prototype,Yn=function(e){var t=e.splice;return e===Xn||e instanceof Array&&t===Xn.splice?Hn:t},Qn=Ko("Array").concat,Un=Array.prototype,Vn=function(e){var t=e.concat;return e===Un||e instanceof Array&&t===Un.concat?Qn:t},Jn=function(e,t){var o=[][e];return!!o&&f((function(){o.call(null,t||function(){throw 1},1)}))},Zn=ho.forEach,Gn=Jn("forEach"),Wn=$n("forEach"),Kn=Gn&&Wn?[].forEach:function(e){return Zn(this,e,arguments.length>1?arguments[1]:void 0)};Me({target:"Array",proto:!0,forced:[].forEach!=Kn},{forEach:Kn});var er=Ko("Array").forEach,tr=Array.prototype,or={DOMTokenList:!0,NodeList:!0},nr=function(e){var t=e.forEach;return e===tr||e instanceof Array&&t===tr.forEach||or.hasOwnProperty(ft(e))?er:t},rr=ho.every,ar=Jn("every"),ir=$n("every");Me({target:"Array",proto:!0,forced:!ar||!ir},{every:function(e){return rr(this,e,arguments.length>1?arguments[1]:void 0)}});var lr=Ko("Array").every,sr=Array.prototype,cr=function(e){var t=e.every;return e===sr||e instanceof Array&&t===sr.every?lr:t},ur=Kt("slice"),fr=$n("slice",{ACCESSORS:!0,0:0,1:2}),dr=A("species"),pr=[].slice,mr=Math.max;Me({target:"Array",proto:!0,forced:!ur||!fr},{slice:function(e,t){var o,n,r,a=_e(this),i=ze(a.length),l=Ye(e,i),s=Ye(void 0===t?i:t,i);if(Ht(a)&&("function"!=typeof(o=a.constructor)||o!==Array&&!Ht(o.prototype)?p(o)&&null===(o=o[dr])&&(o=void 0):o=void 0,o===Array||void 0===o))return pr.call(a,l,s);for(n=new(void 0===o?Array:o)(mr(s-l,0)),r=0;l<s;l++,r++)l in a&&Xt(n,r,a[l]);return n.length=r,n}});var yr=Ko("Array").slice,hr=Array.prototype,vr=function(e){var t=e.slice;return e===hr||e instanceof Array&&t===hr.slice?yr:t},_r=vr,kr=ho.filter,br=Kt("filter"),gr=$n("filter");Me({target:"Array",proto:!0,forced:!br||!gr},{filter:function(e){return kr(this,e,arguments.length>1?arguments[1]:void 0)}});var wr=Ko("Array").filter,jr=Array.prototype,xr=function(e){var t=e.filter;return e===jr||e instanceof Array&&t===jr.filter?wr:t},Sr=ho.map,Or=Kt("map"),Cr=$n("map");Me({target:"Array",proto:!0,forced:!Or||!Cr},{map:function(e){return Sr(this,e,arguments.length>1?arguments[1]:void 0)}});var Lr=Ko("Array").map,$r=Array.prototype,Tr=function(e){var t=e.map;return e===$r||e instanceof Array&&t===$r.map?Lr:t};function Dr(e){var t=o.default.extend({action:"bookly_render_complete",csrf_token:BooklyL10n.csrf_token},e),n=Zo[e.form_id].$container;o.default.ajax({url:BooklyL10n.ajaxurl,data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){e.success&&(e.final_step_url&&!t.error?document.location.href=e.final_step_url:(n.html(e.html),Wo(n)))}})}function Mr(e){var t=Zo[e.form_id].$container;o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_render_payment",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,page_url:document.URL.split("#")[0]},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(n){if(n.success){if(n.disabled)return void Er(e.form_id);if(t.html(n.html),Wo(t),"cancelled"==Zo[e.form_id].status.booking&&(Zo[e.form_id].status.booking="ok"),Pn(t).call(t,"#bookly-stripe-card-field").length)if(n.stripe_publishable_key){var r=Stripe(n.stripe_publishable_key,{betas:["payment_intent_beta_3"]}),a=r.elements().create("card");a.mount("#bookly-stripe-card-field")}else Pn(t).call(t,".bookly-stripe #bookly-stripe-card-field").hide(),Pn(t).call(t,".pay-card .bookly-js-next-step").prop("disabled",!0),Pn(t).call(t,".bookly-stripe .bookly-js-card-error").text("Please call Stripe() with your publishable key. You used an empty string.");var i=o.default(".bookly-payment",t),l=o.default(".bookly-js-apply-coupon",t),s=o.default("input.bookly-user-coupon",t),c=o.default(".bookly-js-coupon-error",t),u=o.default("input[type=radio][name=bookly-full-payment]",t),f=o.default(".bookly-info-text-coupon",t),d=o.default(".bookly-gateway-buttons,form.bookly-authorize_net,form.bookly-stripe",t);i.on("click",(function(){d.hide(),o.default(".bookly-gateway-buttons.pay-"+o.default(this).val(),t).show(),"card"==o.default(this).val()&&o.default("form.bookly-"+o.default(this).data("form"),t).show()})),i.eq(0).trigger("click"),u.on("change",(function(){var t={action:"bookly_deposit_payments_apply_payment_method",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,deposit_full:o.default(this).val()};o.default(this).hide(),o.default(this).prev().css("display","inline-block"),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){t.success&&Mr({form_id:e.form_id})}})})),l.on("click",(function(t){var n=Go(this);c.text(""),s.removeClass("bookly-error");var r={action:"bookly_coupons_apply_coupon",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,coupon_code:s.val()};o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:r,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){t.success?Mr({form_id:e.form_id}):(c.html(Zo[e.form_id].errors[t.error]),s.addClass("bookly-error"),f.html(t.text),Wo(c),n.stop())},error:function(){n.stop()}})})),o.default(".bookly-js-next-step",t).on("click",(function(n){var i,l=Go(this);if(o.default(".bookly-payment[value=local]",t).is(":checked")||o.default(this).hasClass("bookly-js-coupon-payment"))n.preventDefault(),Er(e.form_id);else if(o.default(".bookly-payment[value=card]",t).is(":checked"))if(o.default(".bookly-payment[data-form=stripe]",t).is(":checked"))o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_stripe_create_intent",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(n){n.success?r.handleCardPayment(n.intent_secret,a).then((function(r){r.error?o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_stripe_failed_payment",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,intent_id:n.intent_id},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){e.success&&(l.stop(),Pn(t).call(t,".bookly-stripe .bookly-js-card-error").text(r.error.message))}}):Dr({form_id:e.form_id})})):(l.stop(),Pn(t).call(t,".bookly-stripe .bookly-js-card-error").text(n.error_message))}});else{i=Pn(t).call(t,".bookly-authorize_net"),n.preventDefault();!function(t){o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){t.success?Dr({form_id:e.form_id}):"cart_item_not_available"==t.error?Br(t,e.form_id):"payment_error"==t.error&&(l.stop(),Pn(i).call(i,".bookly-js-card-error").text(t.error_message))}})}({action:"bookly_authorize_net_aim_payment",csrf_token:BooklyL10n.csrf_token,card:{number:Pn(i).call(i,'input[name="card_number"]').val(),cvc:Pn(i).call(i,'input[name="card_cvc"]').val(),exp_month:Pn(i).call(i,'select[name="card_exp_month"]').val(),exp_year:Pn(i).call(i,'select[name="card_exp_year"]').val()},form_id:e.form_id})}else(o.default(".bookly-payment[value=paypal]",t).is(":checked")||o.default(".bookly-payment[value=2checkout]",t).is(":checked")||o.default(".bookly-payment[value=payu_biz]",t).is(":checked")||o.default(".bookly-payment[value=payu_latam]",t).is(":checked")||o.default(".bookly-payment[value=payson]",t).is(":checked")||o.default(".bookly-payment[value=mollie]",t).is(":checked")||o.default(".bookly-payment[value=cloud_stripe]",t).is(":checked"))&&(n.preventDefault(),i=o.default(this).closest("form"),Pn(i).call(i,"input.bookly-payment-id").length>0?o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,data:{action:"bookly_pro_save_pending_appointment",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,payment_type:i.data("gateway")},dataType:"json",success:function(t){t.success?(Pn(i).call(i,"input.bookly-payment-id").val(t.payment_id),i.submit()):"cart_item_not_available"==t.error&&Br(t,e.form_id)}}):o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,data:{action:"bookly_check_cart",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id},dataType:"json",success:function(t){t.success?i.submit():"cart_item_not_available"==t.error&&Br(t,e.form_id)}}))})),o.default(".bookly-js-back-step",t).on("click",(function(t){t.preventDefault(),Go(this),Ar({form_id:e.form_id})}))}}})}function Er(e){o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,data:{action:"bookly_save_appointment",csrf_token:BooklyL10n.csrf_token,form_id:e},dataType:"json"}).done((function(t){t.success?Dr({form_id:e}):"cart_item_not_available"==t.error&&Br(t,e)}))}function Br(e,t){Zo[t].skip_steps.cart?qr({form_id:t},Zo[t].errors[e.error]):Pr({form_id:t},{failed_key:e.failed_cart_key,message:Zo[t].errors[e.error]})}function Ar(e){var t=o.default.extend({action:"bookly_render_details",csrf_token:BooklyL10n.csrf_token},e),n=Zo[e.form_id].$container;o.default.ajax({url:BooklyL10n.ajaxurl,data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){if(t.success){var r,a;n.html(t.html),Wo(n);var i=t.intlTelInput,l=t.update_details_dialog,s=t.woocommerce;Zo[e.form_id].hasOwnProperty("google_maps")&&Zo[e.form_id].google_maps.enabled&&(n||o.default(".bookly-form .bookly-details-step")).each((function(){!function(e){var t=Pn(e).call(e,".bookly-js-cst-address-autocomplete");if(!t.length)return!1;var o=new google.maps.places.Autocomplete(t[0],{types:["geocode"]}),n=[{selector:".bookly-js-address-country",val:function(){return r("country")},short:function(){return r("country",!0)}},{selector:".bookly-js-address-postcode",val:function(){return r("postal_code")}},{selector:".bookly-js-address-city",val:function(){return r("locality")||r("administrative_area_level_3")}},{selector:".bookly-js-address-state",val:function(){return r("administrative_area_level_1")},short:function(){return r("administrative_area_level_1",!0)}},{selector:".bookly-js-address-street",val:function(){return r("route")}},{selector:".bookly-js-address-street_number",val:function(){return r("street_number")}}],r=function(e,t){for(var n=o.getPlace().address_components,r=0;r<n.length;r++)if(n[r].types[0]===e)return t?n[r].short_name:n[r].long_name;return""};o.addListener("place_changed",(function(){nr(n).call(n,(function(t){var o=Pn(e).call(e,t.selector);0!==o.length&&(o.val(t.val()),"function"==typeof t.short&&o.data("short",t.short()))}))}))}(o.default(this))})),o.default(document.body).trigger("bookly.render.step_detail",[n]);var c="",u=o.default(".bookly-js-guest",n),f=o.default(".bookly-js-user-phone-input",n),d=o.default(".bookly-js-user-email",n),p=o.default(".bookly-js-user-email-confirm",n),m=o.default(".bookly-js-select-birthday-day",n),y=o.default(".bookly-js-select-birthday-month",n),h=o.default(".bookly-js-select-birthday-year",n),v=o.default(".bookly-js-address-country",n),_=o.default(".bookly-js-address-state",n),k=o.default(".bookly-js-address-postcode",n),b=o.default(".bookly-js-address-city",n),g=o.default(".bookly-js-address-street",n),w=o.default(".bookly-js-address-street_number",n),j=o.default(".bookly-js-address-additional_address",n),x=o.default(".bookly-js-address-country-error",n),S=o.default(".bookly-js-address-state-error",n),O=o.default(".bookly-js-address-postcode-error",n),C=o.default(".bookly-js-address-city-error",n),L=o.default(".bookly-js-address-street-error",n),$=o.default(".bookly-js-address-street_number-error",n),T=o.default(".bookly-js-address-additional_address-error",n),D=o.default(".bookly-js-select-birthday-day-error",n),M=o.default(".bookly-js-select-birthday-month-error",n),E=o.default(".bookly-js-select-birthday-year-error",n),B=o.default(".bookly-js-full-name",n),A=o.default(".bookly-js-first-name",n),P=o.default(".bookly-js-last-name",n),F=o.default(".bookly-js-user-notes",n),R=o.default(".bookly-custom-field",n),q=o.default(".bookly-js-info-field",n),I=o.default(".bookly-js-user-phone-error",n),N=o.default(".bookly-js-user-email-error",n),z=o.default(".bookly-js-user-email-confirm-error",n),H=o.default(".bookly-js-full-name-error",n),X=o.default(".bookly-js-first-name-error",n),Y=o.default(".bookly-js-last-name-error",n),Q=o.default(".bookly-js-captcha-img",n),U=o.default(".bookly-custom-field-error",n),V=o.default(".bookly-js-info-field-error",n),J=o.default(".bookly-js-modal",n),Z=o.default(".bookly-js-login",n),G=o.default(".bookly-js-cst-duplicate",n),W=o.default(".bookly-js-next-step",n),K=Tr(r=o.default([D,M,E,x,S,O,C,L,$,T,H,X,Y,I,N,z,U,V])).call(r,o.default.fn.toArray),ee=Tr(a=o.default([m,y,h,b,v,k,_,g,w,j,B,A,P,f,d,p,R,q])).call(a,o.default.fn.toArray),te=function(e){if(B.val(e.data.full_name).removeClass("bookly-error"),A.val(e.data.first_name).removeClass("bookly-error"),P.val(e.data.last_name).removeClass("bookly-error"),e.data.birthday){var t=e.data.birthday.split("-"),o=gn(t[0]),r=gn(t[1]),a=gn(t[2]);m.val(a).removeClass("bookly-error"),y.val(r).removeClass("bookly-error"),h.val(o).removeClass("bookly-error")}var l;(e.data.phone&&(f.removeClass("bookly-error"),i.enabled?f.intlTelInput("setNumber",e.data.phone):f.val(e.data.phone)),e.data.country&&v.val(e.data.country).removeClass("bookly-error"),e.data.state&&_.val(e.data.state).removeClass("bookly-error"),e.data.postcode&&k.val(e.data.postcode).removeClass("bookly-error"),e.data.city&&b.val(e.data.city).removeClass("bookly-error"),e.data.street&&g.val(e.data.street).removeClass("bookly-error"),e.data.street_number&&w.val(e.data.street_number).removeClass("bookly-error"),e.data.additional_address&&j.val(e.data.additional_address).removeClass("bookly-error"),d.val(e.data.email).removeClass("bookly-error"),e.data.info_fields)&&nr(l=e.data.info_fields).call(l,(function(e){var t,o,r=Pn(n).call(n,'.bookly-js-info-field-row[data-id="'+e.id+'"]');switch(r.data("type")){case"checkboxes":nr(t=e.value).call(t,(function(e){var t;xr(t=Pn(r).call(r,".bookly-js-info-field")).call(t,(function(){return this.value==e})).prop("checked",!0)}));break;case"radio-buttons":xr(o=Pn(r).call(r,".bookly-js-info-field")).call(o,(function(){return this.value==e.value})).prop("checked",!0);break;default:Pn(r).call(r,".bookly-js-info-field").val(e.value)}}));xr(K).call(K,":not(.bookly-custom-field-error)").html("")};i.enabled&&f.intlTelInput({preferredCountries:[i.country],initialCountry:i.country,geoIpLookup:function(e){o.default.get("https://ipinfo.io",(function(){}),"jsonp").always((function(t){var o=t&&t.country?t.country:"";e(o)}))},utilsScript:i.utils}),o.default("body > .bookly-js-modal."+e.form_id).remove(),J.addClass(e.form_id).appendTo("body").on("click",".bookly-js-close",(function(e){var t,n,r;e.preventDefault(),Pn(t=Pn(n=Pn(r=o.default(e.delegateTarget).removeClass("bookly-in")).call(r,"form").trigger("reset").end()).call(n,"input").removeClass("bookly-error").end()).call(t,".bookly-label-error").html("")})),o.default(".bookly-js-login-show",n).on("click",(function(e){e.preventDefault(),Z.addClass("bookly-in")})),o.default("button:submit",Z).on("click",(function(t){t.preventDefault();var n=Ladda.create(this);n.start(),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_wp_user_login",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,log:Pn(Z).call(Z,'[name="log"]').val(),pwd:Pn(Z).call(Z,'[name="pwd"]').val(),rememberme:Pn(Z).call(Z,'[name="rememberme"]').prop("checked")?1:0},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){t.success?(BooklyL10n.csrf_token=t.data.csrf_token,u.fadeOut("slow"),te(t),Z.removeClass("bookly-in")):"incorrect_username_password"==t.error&&(Pn(Z).call(Z,"input").addClass("bookly-error"),Pn(Z).call(Z,".bookly-label-error").html(Zo[e.form_id].errors[t.error])),n.stop()}})})),o.default("button:submit",G).on("click",(function(e){e.preventDefault(),G.removeClass("bookly-in"),W.trigger("click",[1])})),Zo[e.form_id].hasOwnProperty("facebook")&&Zo[e.form_id].facebook.enabled&&"undefined"!=typeof FB&&(FB.XFBML.parse(o.default(".bookly-js-fb-login-button",n).parent().get(0)),Zo[e.form_id].facebook.onStatusChange=function(t){"connected"===t.status&&(Zo[e.form_id].facebook.enabled=!1,Zo[e.form_id].facebook.onStatusChange=void 0,u.fadeOut("slow",(function(){o.default(".bookly-js-fb-login-button").hide()})),FB.api("/me",{fields:"id,name,first_name,last_name,email"},(function(t){o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:o.default.extend(t,{action:"bookly_pro_facebook_login",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id}),dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){e.success&&te(e)}})})))}),W.on("click",(function(t,r){t.preventDefault();var a,u=[],R={},q=[],Q=Go(this);o.default("div.bookly-js-info-field-row",n).each((function(){var e=o.default(this);switch(e.data("type")){case"text-field":u.push({id:e.data("id"),value:Pn(e).call(e,"input.bookly-js-info-field").val()});break;case"textarea":u.push({id:e.data("id"),value:Pn(e).call(e,"textarea.bookly-js-info-field").val()});break;case"checkboxes":a=[],Pn(e).call(e,"input.bookly-js-info-field:checked").each((function(){a.push(this.value)})),u.push({id:e.data("id"),value:a});break;case"radio-buttons":u.push({id:e.data("id"),value:Pn(e).call(e,"input.bookly-js-info-field:checked").val()||null});break;case"drop-down":u.push({id:e.data("id"),value:Pn(e).call(e,"select.bookly-js-info-field").val()})}})),o.default(".bookly-custom-fields-container",n).each((function(){var e=o.default(this),t=e.data("key"),n=[];o.default("div.bookly-custom-field-row",e).each((function(){var e=o.default(this);switch(e.data("type")){case"text-field":case"file":n.push({id:e.data("id"),value:Pn(e).call(e,"input.bookly-custom-field").val()});break;case"textarea":n.push({id:e.data("id"),value:Pn(e).call(e,"textarea.bookly-custom-field").val()});break;case"checkboxes":a=[],Pn(e).call(e,"input.bookly-custom-field:checked").each((function(){a.push(this.value)})),n.push({id:e.data("id"),value:a});break;case"radio-buttons":n.push({id:e.data("id"),value:Pn(e).call(e,"input.bookly-custom-field:checked").val()||null});break;case"drop-down":n.push({id:e.data("id"),value:Pn(e).call(e,"select.bookly-custom-field").val()});break;case"captcha":n.push({id:e.data("id"),value:Pn(e).call(e,"input.bookly-custom-field").val()}),q.push(e.data("id"))}})),R[t]={custom_fields:un(n)}}));try{""==(c=i.enabled?f.intlTelInput("getNumber"):f.val())&&(c=f.val())}catch(e){c=f.val()}var U={action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,full_name:B.val(),first_name:A.val(),last_name:P.val(),phone:c,email:d.val(),email_confirm:p.val(),birthday:{day:m.val(),month:y.val(),year:h.val()},country:v.val(),state:_.val(),postcode:k.val(),city:b.val(),street:g.val(),street_number:w.val(),additional_address:j.val(),address_iso:{country:v.data("short"),state:_.data("short")},info_fields:u,notes:F.val(),cart:R,captcha_ids:un(q),force_update_customer:!l||r};o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:U,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){if(K.empty(),ee.removeClass("bookly-error"),t.success)if(s.enabled){var r={action:"bookly_pro_add_to_woocommerce_cart",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id};o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:r,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){t.success?window.location.href=s.cart_url:(Q.stop(),qr({form_id:e.form_id},Zo[e.form_id].errors[t.error]))}})}else Mr({form_id:e.form_id});else{var a=null;if(t.appointments_limit_reached)Dr({form_id:e.form_id,error:"appointments_limit_reached"});else{Q.stop();var i=[{name:"full_name",errorElement:H,formElement:B},{name:"first_name",errorElement:X,formElement:A},{name:"last_name",errorElement:Y,formElement:P},{name:"phone",errorElement:I,formElement:f},{name:"email",errorElement:N,formElement:d},{name:"email_confirm",errorElement:z,formElement:p},{name:"birthday_day",errorElement:D,formElement:m},{name:"birthday_month",errorElement:M,formElement:y},{name:"birthday_year",errorElement:E,formElement:h},{name:"country",errorElement:x,formElement:v},{name:"state",errorElement:S,formElement:_},{name:"postcode",errorElement:O,formElement:k},{name:"city",errorElement:C,formElement:b},{name:"street",errorElement:L,formElement:g},{name:"street_number",errorElement:$,formElement:w},{name:"additional_address",errorElement:T,formElement:j}];nr(i).call(i,(function(e){t[e.name]&&(e.errorElement.html(t[e.name]),e.formElement.addClass("bookly-error"),null===a&&(a=e.formElement))})),t.info_fields&&o.default.each(t.info_fields,(function(e,t){var r=o.default('div.bookly-js-info-field-row[data-id="'+e+'"]',n);Pn(r).call(r,".bookly-js-info-field-error").html(t),Pn(r).call(r,".bookly-js-info-field").addClass("bookly-error"),null===a&&(a=Pn(r).call(r,".bookly-js-info-field"))})),t.custom_fields&&o.default.each(t.custom_fields,(function(e,t){o.default.each(t,(function(t,r){var i=o.default('.bookly-custom-fields-container[data-key="'+e+'"]',n),l=o.default('[data-id="'+t+'"]',i);Pn(l).call(l,".bookly-custom-field-error").html(r),Pn(l).call(l,".bookly-custom-field").addClass("bookly-error"),null===a&&(a=Pn(l).call(l,".bookly-custom-field"))}))})),t.customer&&Pn(G).call(G,".bookly-js-modal-body").html(t.customer).end().addClass("bookly-in")}null!==a&&Wo(a)}}})})),o.default(".bookly-js-back-step",n).on("click",(function(t){t.preventDefault(),Go(this),Zo[e.form_id].skip_steps.cart?Zo[e.form_id].no_time?Zo[e.form_id].no_extras?Oc({form_id:e.form_id}):Ir({form_id:e.form_id}):on(Zo[e.form_id].skip_steps)?Zo[e.form_id].skip_steps.extras||"after_step_time"!=Zo[e.form_id].step_extras||Zo[e.form_id].no_extras?qr({form_id:e.form_id}):Ir({form_id:e.form_id}):Fr({form_id:e.form_id}):Pr({form_id:e.form_id})})),o.default(".bookly-js-captcha-refresh",n).on("click",(function(){Q.css("opacity","0.5"),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_custom_fields_captcha_refresh",form_id:e.form_id,csrf_token:BooklyL10n.csrf_token},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){e.success&&Q.attr("src",e.data.captcha_url).on("load",(function(){Q.css("opacity","1")}))}})}))}}})}function Pr(e,t){if(Zo[e.form_id].skip_steps.cart)Ar(e);else{e&&e.from_step&&(Zo[e.form_id].cart_prev_step=e.from_step);var n=o.default.extend({action:"bookly_render_cart",csrf_token:BooklyL10n.csrf_token},e),r=Zo[e.form_id].$container;o.default.ajax({url:BooklyL10n.ajaxurl,data:n,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(n){n.success&&(r.html(n.html),t?(o.default(".bookly-label-error",r).html(t.message),o.default('tr[data-cart-key="'+t.failed_key+'"]',r).addClass("bookly-label-error")):o.default(".bookly-label-error",r).hide(),Wo(r),o.default(".bookly-js-next-step",r).on("click",(function(){Go(this),Ar({form_id:e.form_id})})),o.default(".bookly-add-item",r).on("click",(function(){Go(this),Oc({form_id:e.form_id,new_chain:!0})})),o.default(".bookly-js-back-step",r).on("click",(function(t){switch(t.preventDefault(),Go(this),Zo[e.form_id].cart_prev_step){case"service":Oc({form_id:e.form_id});break;case"extras":Ir({form_id:e.form_id});break;case"time":qr({form_id:e.form_id});break;case"repeat":Fr({form_id:e.form_id});break;default:Oc({form_id:e.form_id})}})),o.default(".bookly-js-actions button",r).on("click",(function(){Go(this);var t=o.default(this),n=t.closest("tr");switch(t.data("action")){case"drop":o.default.ajax({url:BooklyL10n.ajaxurl,data:{action:"bookly_cart_drop_item",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,cart_key:n.data("cart-key")},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){if(e.success){var t=n.data("cart-key"),a=o.default('tr[data-cart-key="'+t+'"]',r);n.delay(300).fadeOut(200,(function(){e.data.total_waiting_list?(o.default(".bookly-js-waiting-list-price",r).html(e.data.waiting_list_price),o.default(".bookly-js-waiting-list-deposit",r).html(e.data.waiting_list_deposit)):o.default(".bookly-js-waiting-list-price",r).closest("tr").remove(),o.default(".bookly-js-subtotal-price",r).html(e.data.subtotal_price),o.default(".bookly-js-subtotal-deposit",r).html(e.data.subtotal_deposit),o.default(".bookly-js-pay-now-deposit",r).html(e.data.pay_now_deposit),o.default(".bookly-js-pay-now-tax",r).html(e.data.pay_now_tax),o.default(".bookly-js-total-price",r).html(e.data.total_price),o.default(".bookly-js-total-tax",r).html(e.data.total_tax),a.remove(),0==o.default("tr[data-cart-key]").length&&(o.default(".bookly-js-back-step",r).hide(),o.default(".bookly-js-next-step",r).hide())}))}}});break;case"edit":Oc({form_id:e.form_id,edit_cart_item:n.data("cart-key")})}})))}})}}function Fr(e,t){if(on(Zo[e.form_id].skip_steps))Pr(e,t);else{var n=o.default.extend({action:"bookly_render_repeat",csrf_token:BooklyL10n.csrf_token},e),r=Zo[e.form_id].$container;o.default.ajax({url:BooklyL10n.ajaxurl,data:n,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){var n;if(t.success){r.html(t.html),Wo(r);var a=o.default(".bookly-js-repeat-appointment-enabled",r),i=o.default(".bookly-js-next-step",r),l=o.default(".bookly-js-repeat-variants-container",r),s=o.default('[class^="bookly-js-variant"]',l),c=o.default(".bookly-js-repeat-variant",l),u=o.default(".bookly-js-get-schedule",l),f=o.default(".bookly-js-variant-weekly",l),d=o.default(".bookly-js-repeat-variant-monthly",l),p=o.default(".bookly-js-repeat-until",l),m=o.default(".bookly-js-repeat-times",l),y=o.default(".bookly-js-monthly-specific-day",l),h=o.default(".bookly-js-monthly-week-day",l),v=o.default(".bookly-js-repeat-daily-every",l),_=o.default(".bookly-js-week-day",l),k=o.default(".bookly-js-schedule-container",r),b=o.default(".bookly-js-days-error",l),g=o.default(".bookly-js-schedule-slots",k),w=o.default(".bookly-js-intersection-info",k),j=o.default(".bookly-js-schedule-help",k),x=o.default(".bookly-well",k),S=o.default(".bookly-pagination",k),O=o.default(".bookly-schedule-row-template .bookly-schedule-row",k),C=t.pages_warning_info,L=t.short_date_format,$={min:t.date_min||!0,max:t.date_max||!0},T=[],D={prepareButtonNextState:function(){for(var e=i.prop("disabled"),t=0==T.length,o=0;o<T.length;o++)if(e){if(!T[o].deleted){t=!1;break}}else{if(!T[o].deleted){t=!1;break}t=!0}i.prop("disabled",t)},addTimeSlotControl:function(e,t,n,r){var a,i="";t.length&&(i=o.default("<select/>"),o.default.each(t,(function(e,t){var l=o.default("<option/>");l.text(t.title).val(t.value),t.disabled&&l.attr("disabled","disabled"),i.append(l),a||t.disabled||(t.title==n?(i.val(t.value),a=!0):t.title==r&&i.val(t.value))})));Pn(e).call(e,".bookly-js-schedule-time").html(i),Pn(e).call(e,"div.bookly-label-error").toggle(!t.length)},renderSchedulePage:function(e){var t,n=T.length,r=5*e-5,a=[];g.html("");for(var i=r,l=0;l<5&&i<n;i++,l++)(t=O.clone()).data("datetime",T[i].datetime),t.data("index",T[i].index),o.default("> div:first-child",t).html(T[i].index),o.default(".bookly-schedule-date",t).html(T[i].display_date),void 0!==T[i].all_day_service_time?(o.default(".bookly-js-schedule-time",t).hide(),o.default(".bookly-js-schedule-all-day-time",t).html(T[i].all_day_service_time).show()):(o.default(".bookly-js-schedule-time",t).html(T[i].display_time).show(),o.default(".bookly-js-schedule-all-day-time",t).hide()),T[i].another_time&&o.default(".bookly-schedule-intersect",t).show(),T[i].deleted&&Pn(t).call(t,".bookly-schedule-appointment").addClass("bookly-appointment-hidden"),g.append(t);if(n>5){var s=o.default("<li/>").html("«");for(s.on("click",(function(){var e=gn(Pn(S).call(S,".active").html());e>1&&D.renderSchedulePage(e-1)})),S.html(s),i=0,l=1;i<n;i+=5,l++)s=o.default("<li/>").html(l),S.append(s),s.on("click",(function(){D.renderSchedulePage(o.default(this).html())}));for(Pn(S).call(S,"li:eq("+e+")").addClass("active"),(s=o.default("<li/>").html("»")).on("click",(function(){var e=gn(Pn(S).call(S,".active").html());e<n/5&&D.renderSchedulePage(e+1)})),S.append(s).show(),i=0;i<n;i++)T[i].another_time&&(e=gn(i/5)+1,a.push(e),i=5*e-1);a.length>0&&w.html(C.replace("{list}",a.join(", "))),x.toggle(a.length>0),S.toggle(n>5)}else for(S.hide(),x.hide(),i=0;i<n;i++)if(T[i].another_time){j.show();break}},renderFullSchedule:function(t){T=t;var n=null;o.default.each(T,(function(e,t){n||t.another_time||(n=t.display_time)})),D.renderSchedulePage(1),k.show(),i.prop("disabled",0==T.length),g.on("click","button[data-action]",(function(){var t=o.default(this).closest(".bookly-schedule-row"),r=t.data("index")-1;switch(o.default(this).data("action")){case"drop":T[r].deleted=!0,Pn(t).call(t,".bookly-schedule-appointment").addClass("bookly-appointment-hidden"),D.prepareButtonNextState();break;case"restore":T[r].deleted=!1,Pn(t).call(t,".bookly-schedule-appointment").removeClass("bookly-appointment-hidden"),i.prop("disabled",!1);break;case"edit":var a=o.default('<input type="text"/>'),l=o.default(this),s=Go(this);Pn(t).call(t,".bookly-schedule-date").html(a),a.pickadate({min:$.min,max:$.max,formatSubmit:"yyyy-mm-dd",format:L,clear:!1,close:!1,today:BooklyL10n.today,monthsFull:BooklyL10n.months,weekdaysFull:BooklyL10n.days,weekdaysShort:BooklyL10n.daysShort,labelMonthNext:BooklyL10n.nextMonth,labelMonthPrev:BooklyL10n.prevMonth,firstDay:Zo[e.form_id].firstDay,onSet:function(){var a=[];o.default.each(T,(function(e,t){r==e||t.deleted||a.push(t.slots)})),o.default.ajax({url:BooklyL10n.ajaxurl,type:"POST",data:{action:"bookly_recurring_appointments_get_daily_customer_schedule",csrf_token:BooklyL10n.csrf_token,date:this.get("select","yyyy-mm-dd"),form_id:e.form_id,exclude:a},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){l.hide(),s.stop(),e.data.length?(D.addTimeSlotControl(t,e.data[0].options,n,T[r].display_time,e.data[0].all_day_service_time),Pn(t).call(t,'button[data-action="save"]').show()):(D.addTimeSlotControl(t,[]),Pn(t).call(t,'button[data-action="save"]').hide())}})}});var c=JSON.parse(T[r].slots);a.pickadate("picker").set("select",new Date(c[0][2]));break;case"save":o.default(this).hide(),Pn(t).call(t,'button[data-action="edit"]').show();var u=Pn(t).call(t,".bookly-schedule-date"),f=Pn(t).call(t,".bookly-js-schedule-time"),d=Pn(f).call(f,"select"),p=Pn(d).call(d,"option:selected");T[r].slots=d.val(),T[r].display_date=Pn(u).call(u,"input").val(),T[r].display_time=p.text(),u.html(T[r].display_date),f.html(T[r].display_time)}}))},isDateMatchesSelections:function(e){switch(c.val()){case"daily":if((v.val()>6||-1!=o.default.inArray(e.format("ddd").toLowerCase(),D.week_days))&&e.diff(D.date_from,"days")%v.val()==0)return!0;break;case"weekly":case"biweekly":if(("weekly"==c.val()||e.diff(D.date_from.clone().startOf("isoWeek"),"weeks")%2==0)&&-1!=o.default.inArray(e.format("ddd").toLowerCase(),D.checked_week_days))return!0;break;case"monthly":switch(d.val()){case"specific":if(e.format("D")==y.val())return!0;break;case"last":if(e.format("ddd").toLowerCase()==h.val()&&e.clone().endOf("month").diff(e,"days")<7)return!0;break;default:var t=e.diff(e.clone().startOf("month"),"days");if(e.format("ddd").toLowerCase()==h.val()&&t>=7*(d.prop("selectedIndex")-1)&&t<7*d.prop("selectedIndex"))return!0}}return!1},updateRepeatDate:function(){var e,t=0,n=m.val(),r=_r(e=$.min).call(e),a=p.pickadate("picker").get("select"),i=moment().year(a.year).month(a.month).date(a.date).add(5,"years");r[1]++,D.date_from=moment(r.join(","),"YYYY,M,D"),D.week_days=[],Pn(h).call(h,"option").each((function(){D.week_days.push(o.default(this).val())})),D.checked_week_days=[],_.each((function(){o.default(this).prop("checked")&&D.checked_week_days.push(o.default(this).val())}));var l=D.date_from.clone();do{D.isDateMatchesSelections(l)&&t++,l.add(1,"days")}while(t<n&&l.isBefore(i));p.val(l.subtract(1,"days").format("MMMM D, YYYY")),p.pickadate("picker").set("select",new Date(l.format("YYYY"),l.format("M")-1,l.format("D")))},updateRepeatTimes:function(){var e,t=0,n=_r(e=$.min).call(e),r=p.pickadate("picker").get("select"),a=moment().year(r.year).month(r.month).date(r.date);n[1]++,D.date_from=moment(n.join(","),"YYYY,M,D"),D.week_days=[],Pn(h).call(h,"option").each((function(){D.week_days.push(o.default(this).val())})),D.checked_week_days=[],_.each((function(){o.default(this).prop("checked")&&D.checked_week_days.push(o.default(this).val())}));var i=D.date_from.clone();do{D.isDateMatchesSelections(i)&&t++,i.add(1,"days")}while(i.isBefore(a));m.val(t)}};p.pickadate({formatSubmit:"yyyy-mm-dd",format:Zo[e.form_id].date_format,min:$.min,max:$.max,clear:!1,close:!1,today:BooklyL10n.today,monthsFull:BooklyL10n.months,weekdaysFull:BooklyL10n.days,weekdaysShort:BooklyL10n.daysShort,labelMonthNext:BooklyL10n.nextMonth,labelMonthPrev:BooklyL10n.prevMonth,firstDay:Zo[e.form_id].firstDay});var M=a.on("change",(function(){l.toggle(o.default(this).prop("checked")),o.default(this).prop("checked")?D.prepareButtonNextState():i.prop("disabled",!1)}));if(t.repeated){var E=t.repeat_data,B=E.params;a.prop("checked",!0),c.val(on(E));var A=E.until.split("-");switch(p.pickadate("set").set("select",new Date(A[0],A[1]-1,A[2])),on(E)){case"daily":v.val(cr(B));break;case"weekly":case"biweekly":o.default(".bookly-js-week-days input.bookly-js-week-day",l).prop("checked",!1).parent().removeClass("active"),nr(n=B.on).call(n,(function(e){o.default(".bookly-js-week-days input.bookly-js-week-day[value="+e+"]",l).prop("checked",!0).parent().addClass("active")}));break;case"monthly":"day"===B.on?(d.val("specific"),o.default(".bookly-js-monthly-specific-day[value="+B.day+"]",l).prop("checked",!0)):(d.val(B.on),h.val(B.weekday))}D.renderFullSchedule(t.schedule)}M.trigger("change"),t.could_be_repeated||a.attr("disabled",!0),c.on("change",(function(){s.hide(),Pn(l).call(l,".bookly-js-variant-"+this.value).show(),D.updateRepeatTimes()})).trigger("change"),d.on("change",(function(){h.toggle("specific"!=this.value),y.toggle("specific"==this.value),D.updateRepeatTimes()})).trigger("change"),_.on("change",(function(){var e=o.default(this);e.is(":checked")?e.parent().not("[class*='active']").addClass("active"):e.parent().removeClass("active"),D.updateRepeatTimes()})),y.val(t.date_min[2]),y.on("change",(function(){D.updateRepeatTimes()})),h.on("change",(function(){D.updateRepeatTimes()})),p.on("change",(function(){D.updateRepeatTimes()})),v.on("change",(function(){D.updateRepeatTimes()})),m.on("change",(function(){D.updateRepeatDate()})),u.on("click",(function(){k.hide();var t={action:"bookly_recurring_appointments_get_customer_schedule",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,repeat:c.val(),until:p.pickadate("picker").get("select","yyyy-mm-dd"),params:{}},n=Go(this);switch(on(t)){case"daily":t.params={every:v.val()};break;case"weekly":case"biweekly":if(t.params.on=[],o.default(".bookly-js-week-days input.bookly-js-week-day:checked",f).each((function(){t.params.on.push(this.value)})),0==t.params.on.length)return b.toggle(!0),n.stop(),!1;b.toggle(!1);break;case"monthly":"specific"==d.val()?t.params={on:"day",day:y.val()}:t.params={on:d.val(),weekday:h.val()}}g.off("click"),o.default.ajax({url:BooklyL10n.ajaxurl,type:"POST",data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){e.success&&(D.renderFullSchedule(e.data),n.stop())}})})),o.default(".bookly-js-back-step",r).on("click",(function(t){t.preventDefault(),Go(this),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,unrepeat:1},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){Zo[e.form_id].skip_steps.extras||"after_step_time"!=Zo[e.form_id].step_extras||Zo[e.form_id].no_extras?qr({form_id:e.form_id}):Ir({form_id:e.form_id})}})})),o.default(".bookly-js-go-to-cart",r).on("click",(function(t){t.preventDefault(),Go(this),Pr({form_id:e.form_id,from_step:"repeat"})})),o.default(".bookly-js-next-step",r).on("click",(function(t){if(Go(this),a.is(":checked")){var n=[],r=0;nr(T).call(T,(function(e){if(!e.deleted){var t=JSON.parse(e.slots);n=Vn(n).call(n,t),r++}})),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,slots:un(n),repeat:r},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){Pr({form_id:e.form_id,add_to_cart:!0,from_step:"repeat"})}})}else o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,unrepeat:1},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){Pr({form_id:e.form_id,add_to_cart:!0,from_step:"repeat"})}})}))}}})}}var Rr=null;function qr(e,t){if(Zo[e.form_id].no_time||Zo[e.form_id].skip_steps.time)Zo[e.form_id].skip_steps.extras||"after_step_time"!=Zo[e.form_id].step_extras||Zo[e.form_id].no_extras?Zo[e.form_id].skip_steps.cart?Ar({form_id:e.form_id,add_to_cart:!0}):Pr({form_id:e.form_id,add_to_cart:!0,from_step:e&&e.prev_step?e.prev_step:"service"}):Ir({form_id:e.form_id});else{var n={action:"bookly_render_time",csrf_token:BooklyL10n.csrf_token},r=Zo[e.form_id].$container;Zo[e.form_id].skip_steps.service&&Zo[e.form_id].use_client_time_zone&&(n.time_zone=Zo[e.form_id].timeZone,n.time_zone_offset=Zo[e.form_id].timeZoneOffset),o.default.extend(n,e),Rr=o.default.ajax({url:BooklyL10n.ajaxurl,data:n,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(n){if(0!=n.success){BooklyL10n.csrf_token=n.csrf_token,r.html(n.html);var l,s,c,u=o.default(".bookly-columnizer-wrap",r),f=o.default(".bookly-columnizer",u),d=o.default(".bookly-time-next",r),p=o.default(".bookly-time-prev",r),m=null,y=n.time_slots_wide?205:127,h=n.time_slots_wide?"bookly-column bookly-column-wide":"bookly-column",v=0,_=0,k=n.has_more_slots,b=!1,g=n.show_calendar,w=n.is_rtl,j=n.day_one_column,x=a(n.slots_data,n.selected_date);if(o.default(".bookly-js-back-step",r).on("click",(function(t){t.preventDefault(),Go(this),Zo[e.form_id].skip_steps.extras||Zo[e.form_id].no_extras?Oc({form_id:e.form_id}):"before_step_time"==Zo[e.form_id].step_extras?Ir({form_id:e.form_id}):Oc({form_id:e.form_id})})).toggle(!Zo[e.form_id].skip_steps.service||!Zo[e.form_id].skip_steps.extras),o.default(".bookly-js-go-to-cart",r).on("click",(function(t){t.preventDefault(),Go(this),Pr({form_id:e.form_id,from_step:"time"})})),o.default(".bookly-js-time-zone-switcher",r).on("change",(function(t){Zo[e.form_id].timeZone=this.value,Zo[e.form_id].timeZoneOffset=void 0,$(),i(),qr({form_id:e.form_id,time_zone:Zo[e.form_id].timeZone})})),g){var S=o.default(".bookly-js-selected-date",r);S.pickadate({formatSubmit:"yyyy-mm-dd",format:Zo[e.form_id].date_format,min:n.date_min||!0,max:n.date_max||!0,weekdaysFull:BooklyL10n.days,weekdaysShort:BooklyL10n.daysShort,monthsFull:BooklyL10n.months,firstDay:Zo[e.form_id].firstDay,clear:!1,close:!1,today:!1,disable:n.disabled_days,closeOnSelect:!1,klass:{picker:"picker picker--opened picker--focused"},onSet:function(t){if(t.select){var o=this.get("select","yyyy-mm-dd");x[o]?(f.html(x[o]).css("left","0px"),v=0,_=0,m=null,T(),p.hide(),d.toggle(1!=l.length)):(i(),qr({form_id:e.form_id,selected_date:o}),$())}this.open()},onClose:function(){this.open(!1)},onRender:function(){var t=new Date(Date.UTC(this.get("view").year,this.get("view").month));o.default(".picker__nav--next",r).on("click",(function(){t.setUTCMonth(t.getUTCMonth()+1),i(),qr({form_id:e.form_id,selected_date:t.toJSON().substr(0,10)}),$()})),o.default(".picker__nav--prev",r).on("click",(function(){t.setUTCMonth(t.getUTCMonth()-1),i(),qr({form_id:e.form_id,selected_date:t.toJSON().substr(0,10)}),$()}))}});var O=S.pickadate("picker").get("select","yyyy-mm-dd");f.html(x[O])}else{var C="";o.default.each(x,(function(e,t){C+=t})),f.html(C)}if(n.has_slots){t?Pn(r).call(r,".bookly-label-error").html(t):Pn(r).call(r,".bookly-label-error").hide(),(s=gn(o.default(window).height()/36,10))<4?s=4:s>10&&(s=10),(c=gn(u.width()/y,10))>10?c=10:0==c&&(b=!0,c=4),T(),k||1!=l.length||d.hide();var L=o.default(".bookly-time-step",r).hammer({swipe_velocity:.1});L.on("swipeleft",(function(){d.is(":visible")&&d.trigger("click")})),L.on("swiperight",(function(){p.is(":visible")&&p.trigger("click")})),d.on("click",(function(t){if(p.show(),l.eq(_+1).length)f.animate({left:(w?"+":"-")+(_+1)*m.width()},{duration:800}),m=l.eq(++_),u.animate({height:m.height()},{duration:800}),_+1!=l.length||k||d.hide();else if(k){var n=o.default("> button:last",f);0==n.length&&0==(n=o.default(".bookly-column:hidden:last > button:last",f)).length&&(n=o.default(".bookly-column:last > button:last",f));var i={action:"bookly_render_next_time",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,last_slot:n.val()},s=Go(this);o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:i,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){if(e.success)if(e.has_slots){k=e.has_more_slots;var t="";o.default.each(a(e.slots_data,e.selected_date),(function(e,o){t+=o}));var n=o.default(t),i=n.eq(0);o.default('button.bookly-day[value="'+i.attr("value")+'"]',r).length&&(n=n.not(":first")),f.append(n),T(),d.trigger("click")}else d.hide();else d.hide();s.stop()}})}})),p.on("click",(function(){d.show(),m=l.eq(--_),f.animate({left:(w?"+":"-")+_*m.width()},{duration:800}),u.animate({height:m.height()},{duration:800}),0===_&&p.hide()}))}void 0===e&&Wo(r)}else Oc({form_id:e.form_id});function $(){o.default(".bookly-time-screen,.bookly-not-time-screen",r).addClass("bookly-spin-overlay");var e={lines:11,length:11,width:4,radius:5};l?new Spinner(e).spin(l.eq(_).get(0)):new Spinner(e).spin(o.default(".bookly-not-time-screen",r).get(0))}function T(){var t,n,a,i=o.default("> button",f),d=0,p=0;if(j)for(;i.length>0;)i.eq(0).hasClass("bookly-day")?(d=1,n=o.default('<div class="'+h+'" />'),(t=o.default(Yn(i).call(i,0,1))).addClass("bookly-js-first-child"),n.append(t)):(d++,t=o.default(Yn(i).call(i,0,1)),!i.length||i.eq(0).hasClass("bookly-day")?(t.addClass("bookly-last-child"),n.append(t),f.append(n)):n.append(t)),d>p&&(p=d);else for(;k?i.length>s:i.length;){n=o.default('<div class="'+h+'" />'),p=s,v%c!=0||i.eq(0).hasClass("bookly-day")||--p;for(var _=0;_<p&&(_+1!=p||!i.eq(0).hasClass("bookly-day"));++_)t=o.default(Yn(i).call(i,0,1)),0==_?t.addClass("bookly-js-first-child"):_+1==p&&t.addClass("bookly-last-child"),n.append(t);f.append(n),++v}for(var g=o.default("> .bookly-column",f);k?g.length>=c:g.length;){a=o.default('<div class="bookly-time-screen"/>');for(_=0;_<c;++_){if(n=o.default(Yn(g).call(g,0,1)),0==_){n.addClass("bookly-js-first-column");var w=Pn(n).call(n,".bookly-js-first-child");if(!w.hasClass("bookly-day")){var x=w.data("group"),S=o.default('button.bookly-day[value="'+x+'"]:last',r);n.prepend(S.clone())}}a.append(n)}f.append(a)}l=o.default(".bookly-time-screen",f),null===m&&(m=l.eq(0)),o.default("button.bookly-time-skip",r).off("click").on("click",(function(t){Go(this),Zo[e.form_id].skip_steps.cart?Ar({form_id:e.form_id,add_to_cart:!0}):Pr({form_id:e.form_id,add_to_cart:!0,from_step:"time"})}));var O=null;o.default("button.bookly-hour",r).off("click").on("click",(function(t){null!=O&&(O.abort(),O=null),t.preventDefault();var n=o.default(this),r={action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,slots:this.value};n.attr({"data-style":"zoom-in","data-spinner-color":"#333","data-spinner-size":"40"}),Go(this),O=o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:r,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){Zo[e.form_id].skip_steps.extras||"after_step_time"!=Zo[e.form_id].step_extras||Zo[e.form_id].no_extras?on(Zo[e.form_id].skip_steps)?Zo[e.form_id].skip_steps.cart?Ar({form_id:e.form_id,add_to_cart:!0}):Pr({form_id:e.form_id,add_to_cart:!0,from_step:"time"}):Fr({form_id:e.form_id}):Ir({form_id:e.form_id})}})})),o.default(".bookly-time-step",r).width(c*y),u.height(b?39*o.default(".bookly-column.bookly-js-first-column button",m).length:m.height()),b=!1}}})}function a(e,t){var n={};return o.default.each(e,(function(e,r){var a='<button class="bookly-day" value="'+e+'">'+r.title+"</button>";o.default.each(r.slots,(function(o,n){a+='<button value="'+un(n.data).replace(/"/g,""")+'" data-group="'+e+'" class="bookly-hour'+("waiting-list"==n.status?" bookly-slot-in-waiting-list":"booked"==n.status?" booked":"")+'"'+("booked"==n.status?" disabled":"")+'><span class="ladda-label bookly-time-main'+(n.data[0][2]==t?" bookly-bold":"")+'"><i class="bookly-hour-icon"><span></span></i>'+n.time_text+'</span><span class="bookly-time-additional'+("waiting-list"==n.status?" bookly-waiting-list":"")+'"> '+n.additional_text+"</span></button>"})),n[e]=a})),n}function i(){null!=Rr&&(Rr.abort(),Rr=null)}}function Ir(e){var t={action:"bookly_render_extras",csrf_token:BooklyL10n.csrf_token},n=Zo[e.form_id].$container;Zo[e.form_id].skip_steps.service&&Zo[e.form_id].use_client_time_zone&&(t.time_zone=Zo[e.form_id].timeZone,t.time_zone_offset=Zo[e.form_id].timeZoneOffset),o.default.extend(t,e),o.default.ajax({url:BooklyL10n.ajaxurl,data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){if(t.success){BooklyL10n.csrf_token=t.csrf_token,n.html(t.html),void 0===e&&Wo(n);var r,a,i=o.default(".bookly-js-next-step",n),l=o.default(".bookly-js-back-step",n),s=o.default(".bookly-js-go-to-cart",n),c=o.default(".bookly-js-extras-item",n),u=o.default(".bookly-js-extras-summary span",n),f=t.currency,d=function(e,t){var n=Pn(e).call(e,"input"),r=Pn(e).call(e,".bookly-js-extras-total-price"),a=t*Sn(e.data("price"));r.text(f.format.replace("1",a.toFixed(f.precision))),n.val(t),Pn(e).call(e,".bookly-js-extras-thumb").toggleClass("bookly-extras-selected",t>0);var i=0;c.each((function(e,t){var n=o.default(this),r=n.closest(".bookly-js-extras-container").data("multiplier");i+=Sn(n.data("price"))*Pn(n).call(n,"input").val()*r})),i?u.html(" + "+f.format.replace("1",i.toFixed(f.precision))):u.html("")};c.each((function(e,t){var n=o.default(this),r=Pn(n).call(n,"input");Pn(n).call(n,".bookly-js-extras-thumb").on("click",(function(){d(n,r.val()>0?0:1)})),Pn(n).call(n,".bookly-js-count-control").on("click",(function(){var e=gn(r.val());e=o.default(this).hasClass("bookly-js-extras-increment")?Math.min(n.data("max_quantity"),e+1):Math.max(0,e-1),d(n,e)}))})),s.on("click",(function(t){t.preventDefault(),Go(this),Pr({form_id:e.form_id,from_step:"extras"})})),i.on("click",(function(t){t.preventDefault(),Go(this);var i={};o.default(".bookly-js-extras-container",n).each((function(){var e=o.default(this),t=e.data("chain"),n={};Pn(e).call(e,".bookly-js-extras-item").each((function(e,t){r=o.default(this),(a=Pn(r).call(r,"input")).val()>0&&(n[r.data("id")]=a.val())})),i[t]=un(n)})),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,extras:i},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){"before_step_time"==Zo[e.form_id].step_extras?qr({form_id:e.form_id,prev_step:"extras"}):on(Zo[e.form_id].skip_steps)?Zo[e.form_id].skip_steps.cart?Ar({form_id:e.form_id,add_to_cart:!0}):Pr({form_id:e.form_id,add_to_cart:!0,from_step:"time"}):Fr({form_id:e.form_id})}})})),l.on("click",(function(t){t.preventDefault(),Go(this),"after_step_time"!=Zo[e.form_id].step_extras||Zo[e.form_id].no_time?Oc({form_id:e.form_id}):qr({form_id:e.form_id,prev_step:"extras"})}))}}})}var Nr=[].slice,zr={},Hr=function(e,t,o){if(!(t in zr)){for(var n=[],r=0;r<t;r++)n[r]="a["+r+"]";zr[t]=Function("C,a","return new C("+n.join(",")+")")}return zr[t](e,o)},Xr=Function.bind||function(e){var t=Le(this),o=Nr.call(arguments,1),n=function(){var r=o.concat(Nr.call(arguments));return this instanceof n?Hr(t,r.length,r):t.apply(e,r)};return p(t.prototype)&&(n.prototype=t.prototype),n},Yr=et("Reflect","construct"),Qr=f((function(){function e(){}return!(Yr((function(){}),[],e)instanceof e)})),Ur=!f((function(){Yr((function(){}))})),Vr=Qr||Ur;Me({target:"Reflect",stat:!0,forced:Vr,sham:Vr},{construct:function(e,t){Le(e),_(t);var o=arguments.length<3?e:Le(arguments[2]);if(Ur&&!Qr)return Yr(e,t,o);if(e==o){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var n=[null];return n.push.apply(n,t),new(Xr.apply(e,n))}var r=o.prototype,a=it(p(r)?r:Object.prototype),i=Function.apply.call(e,a,t);return p(i)?i:a}});var Jr=n.Reflect.construct;function Zr(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Me({target:"Object",stat:!0,forced:!d,sham:!d},{defineProperty:g.f});var Gr=l((function(e){var t=n.Object,o=e.exports=function(e,o,n){return t.defineProperty(e,o,n)};t.defineProperty.sham&&(o.sham=!0)}));function Wr(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Gr(e,n.key,n)}}function Kr(e,t,o){return t&&Wr(e.prototype,t),o&&Wr(e,o),e}function ea(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}Me({target:"Object",stat:!0,sham:!d},{create:it});var ta=n.Object,oa=function(e,t){return ta.create(e,t)},na=oa;Me({target:"Object",stat:!0},{setPrototypeOf:kt});var ra=n.Object.setPrototypeOf;function aa(e,t){return(aa=ra||function(e,t){return e.__proto__=t,e})(e,t)}function ia(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=na(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&aa(e,t)}function la(e,t){return!t||"object"!==Jo(t)&&"function"!=typeof t?ea(e):t}var sa=f((function(){Fe(1)}));Me({target:"Object",stat:!0,forced:sa,sham:!Be},{getPrototypeOf:function(e){return Fe(Ee(e))}});var ca=n.Object.getPrototypeOf;function ua(e){return(ua=ra?ca:function(e){return e.__proto__||ca(e)})(e)}Me({target:"Array",stat:!0},{isArray:Ht});var fa=n.Array.isArray;var da=A("iterator"),pa=function(e){if(null!=e)return e[da]||e["@@iterator"]||ht[ft(e)]},ma=function(e){var t=pa(e);if("function"!=typeof t)throw TypeError(String(e)+" is not iterable");return _(t.call(e))},ya=ma,ha=A("iterator"),va=function(e){var t=Object(e);return void 0!==t[ha]||"@@iterator"in t||ht.hasOwnProperty(ft(t))};var _a=function(e,t,o,n){try{return n?t(_(o)[0],o[1]):t(o)}catch(t){var r=e.return;throw void 0!==r&&_(r.call(e)),t}},ka=A("iterator"),ba=Array.prototype,ga=function(e){return void 0!==e&&(ht.Array===e||ba[ka]===e)},wa=A("iterator"),ja=!1;try{var xa=0,Sa={next:function(){return{done:!!xa++}},return:function(){ja=!0}};Sa[wa]=function(){return this},Array.from(Sa,(function(){throw 2}))}catch(e){}var Oa=function(e,t){if(!t&&!ja)return!1;var o=!1;try{var n={};n[wa]=function(){return{next:function(){return{done:o=!0}}}},e(n)}catch(e){}return o},Ca=!Oa((function(e){Array.from(e)}));Me({target:"Array",stat:!0,forced:Ca},{from:function(e){var t,o,n,r,a,i,l=Ee(e),s="function"==typeof this?this:Array,c=arguments.length,u=c>1?arguments[1]:void 0,f=void 0!==u,d=pa(l),p=0;if(f&&(u=$e(u,c>2?arguments[2]:void 0,2)),null==d||s==Array&&ga(d))for(o=new s(t=ze(l.length));t>p;p++)i=f?u(l[p],p):l[p],Xt(o,p,i);else for(a=(r=d.call(l)).next,o=new s;!(n=a.call(r)).done;p++)i=f?_a(r,u,[n.value,p],!0):n.value,Xt(o,p,i);return o.length=p,o}});var La=n.Array.from,$a=La,Ta=vr;function Da(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=new Array(t);o<t;o++)n[o]=e[o];return n}function Ma(e,t){var o;if(e){if("string"==typeof e)return Da(e,t);var n=Ta(o=Object.prototype.toString.call(e)).call(o,8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?$a(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Da(e,t):void 0}}function Ea(e,t){return function(e){if(fa(e))return e}(e)||function(e,t){if(void 0!==Vo&&va(Object(e))){var o=[],n=!0,r=!1,a=void 0;try{for(var i,l=ya(e);!(n=(i=l.next()).done)&&(o.push(i.value),!t||o.length!==t);n=!0);}catch(e){r=!0,a=e}finally{try{n||null==l.return||l.return()}finally{if(r)throw a}}return o}}(e,t)||Ma(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Ba=!f((function(){return Object.isExtensible(Object.preventExtensions({}))})),Aa=l((function(e){var t=g.f,o=$("meta"),n=0,r=Object.isExtensible||function(){return!0},i=function(e){t(e,o,{value:{objectID:"O"+ ++n,weakData:{}}})},l=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!p(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,o)){if(!r(e))return"F";if(!t)return"E";i(e)}return e[o].objectID},getWeakData:function(e,t){if(!a(e,o)){if(!r(e))return!0;if(!t)return!1;i(e)}return e[o].weakData},onFreeze:function(e){return Ba&&l.REQUIRED&&r(e)&&!a(e,o)&&i(e),e}};ee[o]=!0})),Pa=l((function(e){var t=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,o,n,r,a){var i,l,s,c,u,f,d,p=$e(o,n,r?2:1);if(a)i=e;else{if("function"!=typeof(l=pa(e)))throw TypeError("Target is not iterable");if(ga(l)){for(s=0,c=ze(e.length);c>s;s++)if((u=r?p(_(d=e[s])[0],d[1]):p(e[s]))&&u instanceof t)return u;return new t(!1)}i=l.call(e)}for(f=i.next;!(d=f.call(i)).done;)if("object"==typeof(u=_a(i,p,d.value,r))&&u&&u instanceof t)return u;return new t(!1)}).stop=function(e){return new t(!0,e)}})),Fa=function(e,t,o){if(!(e instanceof t))throw TypeError("Incorrect "+(o?o+" ":"")+"invocation");return e},Ra=g.f,qa=ho.forEach,Ia=ue.set,Na=ue.getterFor,za=function(e,t,o){var n,r=-1!==e.indexOf("Map"),a=-1!==e.indexOf("Weak"),i=r?"set":"add",l=c[e],s=l&&l.prototype,u={};if(d&&"function"==typeof l&&(a||s.forEach&&!f((function(){(new l).entries().next()})))){n=t((function(t,o){Ia(Fa(t,n,e),{type:e,collection:new l}),null!=o&&Pa(o,t[i],t,r)}));var m=Na(e);qa(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(e){var t="add"==e||"set"==e;!(e in s)||a&&"clear"==e||j(n.prototype,e,(function(o,n){var r=m(this).collection;if(!t&&a&&!p(o))return"get"==e&&void 0;var i=r[e](0===o?0:o,n);return t?this:i}))})),a||Ra(n.prototype,"size",{configurable:!0,get:function(){return m(this).collection.size}})}else n=o.getConstructor(t,e,r,i),Aa.REQUIRED=!0;return yt(n,e,!1,!0),u[e]=n,Me({global:!0,forced:!0},u),a||o.setStrong(n,e,r),n},Ha=function(e,t,o){for(var n in t)o&&o.unsafe&&e[n]?e[n]=t[n]:bt(e,n,t[n],o);return e},Xa=A("species"),Ya=function(e){var t=et(e),o=g.f;d&&t&&!t[Xa]&&o(t,Xa,{configurable:!0,get:function(){return this}})},Qa=g.f,Ua=Aa.fastKey,Va=ue.set,Ja=ue.getterFor,Za={getConstructor:function(e,t,o,n){var r=e((function(e,a){Fa(e,r,t),Va(e,{type:t,index:it(null),first:void 0,last:void 0,size:0}),d||(e.size=0),null!=a&&Pa(a,e[n],e,o)})),a=Ja(t),i=function(e,t,o){var n,r,i=a(e),s=l(e,t);return s?s.value=o:(i.last=s={index:r=Ua(t,!0),key:t,value:o,previous:n=i.last,next:void 0,removed:!1},i.first||(i.first=s),n&&(n.next=s),d?i.size++:e.size++,"F"!==r&&(i.index[r]=s)),e},l=function(e,t){var o,n=a(e),r=Ua(t);if("F"!==r)return n.index[r];for(o=n.first;o;o=o.next)if(o.key==t)return o};return Ha(r.prototype,{clear:function(){for(var e=a(this),t=e.index,o=e.first;o;)o.removed=!0,o.previous&&(o.previous=o.previous.next=void 0),delete t[o.index],o=o.next;e.first=e.last=void 0,d?e.size=0:this.size=0},delete:function(e){var t=this,o=a(t),n=l(t,e);if(n){var r=n.next,i=n.previous;delete o.index[n.index],n.removed=!0,i&&(i.next=r),r&&(r.previous=i),o.first==n&&(o.first=r),o.last==n&&(o.last=i),d?o.size--:t.size--}return!!n},forEach:function(e){for(var t,o=a(this),n=$e(e,arguments.length>1?arguments[1]:void 0,3);t=t?t.next:o.first;)for(n(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!l(this,e)}}),Ha(r.prototype,o?{get:function(e){var t=l(this,e);return t&&t.value},set:function(e,t){return i(this,0===e?0:e,t)}}:{add:function(e){return i(this,e=0===e?0:e,e)}}),d&&Qa(r.prototype,"size",{get:function(){return a(this).size}}),r},setStrong:function(e,t,o){var n=t+" Iterator",r=Ja(t),a=Ja(n);Lt(e,t,(function(e,t){Va(this,{type:n,target:e,state:r(e),kind:t,last:void 0})}),(function(){for(var e=a(this),t=e.kind,o=e.last;o&&o.removed;)o=o.previous;return e.target&&(e.last=o=o?o.next:e.state.first)?"keys"==t?{value:o.key,done:!1}:"values"==t?{value:o.value,done:!1}:{value:[o.key,o.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),o?"entries":"values",!o,!0),Ya(t)}},Ga=(za("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),Za),n.Map),Wa=be.f,Ka=f((function(){Wa(1)}));Me({target:"Object",stat:!0,forced:!d||Ka,sham:!d},{getOwnPropertyDescriptor:function(e,t){return Wa(_e(e),t)}});l((function(e){var t=n.Object,o=e.exports=function(e,o){return t.getOwnPropertyDescriptor(e,o)};t.getOwnPropertyDescriptor.sham&&(o.sham=!0)}));Me({target:"Reflect",stat:!0},{get:function e(t,o){var n,r,i=arguments.length<3?t:arguments[2];return _(t)===i?t[o]:(n=be.f(t,o))?a(n,"value")?n.value:void 0===n.get?void 0:n.get.call(i):p(r=Fe(t))?e(r,o,i):void 0}});n.Reflect.get;Me({target:"Map",stat:!0},{from:function(e){var t,o,n,r,a=arguments.length,i=a>1?arguments[1]:void 0;return Le(this),(t=void 0!==i)&&Le(i),null==e?new this:(o=[],t?(n=0,r=$e(i,a>2?arguments[2]:void 0,2),Pa(e,(function(e){o.push(r(e,n++))}))):Pa(e,o.push,o),new this(o))}});Me({target:"Map",stat:!0},{of:function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];return new this(t)}});var ei=function(){for(var e,t=_(this),o=Le(t.delete),n=!0,r=0,a=arguments.length;r<a;r++)e=o.call(t,arguments[r]),n=n&&e;return!!n};Me({target:"Map",proto:!0,real:!0,forced:u},{deleteAll:function(){return ei.apply(this,arguments)}});var ti=ma;Me({target:"Map",proto:!0,real:!0,forced:u},{every:function(e){var t=_(this),o=ti(t),n=$e(e,arguments.length>1?arguments[1]:void 0,3);return!Pa(o,(function(e,o){if(!n(o,e,t))return Pa.stop()}),void 0,!0,!0).stopped}});var oi=A("species"),ni=function(e,t){var o,n=_(e).constructor;return void 0===n||null==(o=_(n)[oi])?t:Le(o)};Me({target:"Map",proto:!0,real:!0,forced:u},{filter:function(e){var t=_(this),o=ti(t),n=$e(e,arguments.length>1?arguments[1]:void 0,3),r=new(ni(t,et("Map"))),a=Le(r.set);return Pa(o,(function(e,o){n(o,e,t)&&a.call(r,e,o)}),void 0,!0,!0),r}}),Me({target:"Map",proto:!0,real:!0,forced:u},{find:function(e){var t=_(this),o=ti(t),n=$e(e,arguments.length>1?arguments[1]:void 0,3);return Pa(o,(function(e,o){if(n(o,e,t))return Pa.stop(o)}),void 0,!0,!0).result}}),Me({target:"Map",proto:!0,real:!0,forced:u},{findKey:function(e){var t=_(this),o=ti(t),n=$e(e,arguments.length>1?arguments[1]:void 0,3);return Pa(o,(function(e,o){if(n(o,e,t))return Pa.stop(e)}),void 0,!0,!0).result}}),Me({target:"Map",stat:!0},{groupBy:function(e,t){var o=new this;Le(t);var n=Le(o.has),r=Le(o.get),a=Le(o.set);return Pa(e,(function(e){var i=t(e);n.call(o,i)?r.call(o,i).push(e):a.call(o,i,[e])})),o}});Me({target:"Map",proto:!0,real:!0,forced:u},{includes:function(e){return Pa(ti(_(this)),(function(t,o){if((n=o)===(r=e)||n!=n&&r!=r)return Pa.stop();var n,r}),void 0,!0,!0).stopped}}),Me({target:"Map",stat:!0},{keyBy:function(e,t){var o=new this;Le(t);var n=Le(o.set);return Pa(e,(function(e){n.call(o,t(e),e)})),o}}),Me({target:"Map",proto:!0,real:!0,forced:u},{keyOf:function(e){return Pa(ti(_(this)),(function(t,o){if(o===e)return Pa.stop(t)}),void 0,!0,!0).result}}),Me({target:"Map",proto:!0,real:!0,forced:u},{mapKeys:function(e){var t=_(this),o=ti(t),n=$e(e,arguments.length>1?arguments[1]:void 0,3),r=new(ni(t,et("Map"))),a=Le(r.set);return Pa(o,(function(e,o){a.call(r,n(o,e,t),o)}),void 0,!0,!0),r}}),Me({target:"Map",proto:!0,real:!0,forced:u},{mapValues:function(e){var t=_(this),o=ti(t),n=$e(e,arguments.length>1?arguments[1]:void 0,3),r=new(ni(t,et("Map"))),a=Le(r.set);return Pa(o,(function(e,o){a.call(r,e,n(o,e,t))}),void 0,!0,!0),r}}),Me({target:"Map",proto:!0,real:!0,forced:u},{merge:function(e){for(var t=_(this),o=Le(t.set),n=0;n<arguments.length;)Pa(arguments[n++],o,t,!0);return t}}),Me({target:"Map",proto:!0,real:!0,forced:u},{reduce:function(e){var t=_(this),o=ti(t),n=arguments.length<2,r=n?void 0:arguments[1];if(Le(e),Pa(o,(function(o,a){n?(n=!1,r=a):r=e(r,a,o,t)}),void 0,!0,!0),n)throw TypeError("Reduce of empty map with no initial value");return r}}),Me({target:"Map",proto:!0,real:!0,forced:u},{some:function(e){var t=_(this),o=ti(t),n=$e(e,arguments.length>1?arguments[1]:void 0,3);return Pa(o,(function(e,o){if(n(o,e,t))return Pa.stop()}),void 0,!0,!0).stopped}}),Me({target:"Map",proto:!0,real:!0,forced:u},{update:function(e,t){var o=_(this),n=arguments.length;Le(t);var r=o.has(e);if(!r&&n<3)throw TypeError("Updating absent value");var a=r?o.get(e):Le(n>2?arguments[2]:void 0)(e,o);return o.set(e,t(a,e,o)),o}});var ri=function(e,t){var o,n=_(this),r=arguments.length>2?arguments[2]:void 0;if("function"!=typeof t&&"function"!=typeof r)throw TypeError("At least one callback required");return n.has(e)?(o=n.get(e),"function"==typeof t&&(o=t(o),n.set(e,o))):"function"==typeof r&&(o=r(),n.set(e,o)),o};Me({target:"Map",proto:!0,real:!0,forced:u},{upsert:ri}),Me({target:"Map",proto:!0,real:!0,forced:u},{updateOrInsert:ri});var ai=Ue.indexOf,ii=[].indexOf,li=!!ii&&1/[1].indexOf(1,-0)<0,si=Jn("indexOf"),ci=$n("indexOf",{ACCESSORS:!0,1:0});Me({target:"Array",proto:!0,forced:li||!si||!ci},{indexOf:function(e){return li?ii.apply(this,arguments)||0:ai(this,e,arguments.length>1?arguments[1]:void 0)}});var ui=Ko("Array").indexOf,fi=Array.prototype;Me({target:"Function",proto:!0},{bind:Xr});Ko("Function").bind;Me({target:"Array",proto:!0},{fill:function(e){for(var t=Ee(this),o=ze(t.length),n=arguments.length,r=Ye(n>1?arguments[1]:void 0,o),a=n>2?arguments[2]:void 0,i=void 0===a?o:Ye(a,o);i>r;)t[r++]=e;return t}});var di=Ko("Array").fill,pi=Array.prototype,mi=function(e){var t=e.fill;return e===pi||e instanceof Array&&t===pi.fill?di:t},yi=Object.assign,hi=Object.defineProperty,vi=!yi||f((function(){if(d&&1!==yi({b:1},yi(hi({},"a",{enumerable:!0,get:function(){hi(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},o=Symbol(),n="abcdefghijklmnopqrst";return e[o]=7,n.split("").forEach((function(e){t[e]=e})),7!=yi({},e)[o]||Ge(yi({},t)).join("")!=n}))?function(e,t){for(var o=Ee(e),n=arguments.length,r=1,a=po.f,i=pe.f;n>r;)for(var l,s=ve(arguments[r++]),c=a?Ge(s).concat(a(s)):Ge(s),u=c.length,f=0;u>f;)l=c[f++],d&&!i.call(s,l)||(o[l]=s[l]);return o}:yi;Me({target:"Object",stat:!0,forced:Object.assign!==vi},{assign:vi});n.Object.assign;function _i(e){return function(e){if(fa(e))return Da(e)}(e)||function(e){if(void 0!==Vo&&va(Object(e)))return $a(e)}(e)||Ma(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var ki=La,bi=et("Reflect","ownKeys")||function(e){var t=lo.f(_(e)),o=po.f;return o?t.concat(o(e)):t};Me({target:"Object",stat:!0,sham:!d},{getOwnPropertyDescriptors:function(e){for(var t,o,n=_e(e),r=be.f,a=bi(n),i={},l=0;a.length>l;)void 0!==(o=r(n,t=a[l++]))&&Xt(i,t,o);return i}});n.Object.getOwnPropertyDescriptors;var gi,wi,ji,xi=function(e){var t=e.indexOf;return e===fi||e instanceof Array&&t===fi.indexOf?ui:t},Si=c.Promise,Oi=/(iphone|ipod|ipad).*applewebkit/i.test(Ut),Ci=c.location,Li=c.setImmediate,$i=c.clearImmediate,Ti=c.process,Di=c.MessageChannel,Mi=c.Dispatch,Ei=0,Bi={},Ai="onreadystatechange",Pi=function(e){if(Bi.hasOwnProperty(e)){var t=Bi[e];delete Bi[e],t()}},Fi=function(e){return function(){Pi(e)}},Ri=function(e){Pi(e.data)},qi=function(e){c.postMessage(e+"",Ci.protocol+"//"+Ci.host)};Li&&$i||(Li=function(e){for(var t=[],o=1;arguments.length>o;)t.push(arguments[o++]);return Bi[++Ei]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},gi(Ei),Ei},$i=function(e){delete Bi[e]},"process"==ye(Ti)?gi=function(e){Ti.nextTick(Fi(e))}:Mi&&Mi.now?gi=function(e){Mi.now(Fi(e))}:Di&&!Oi?(ji=(wi=new Di).port2,wi.port1.onmessage=Ri,gi=$e(ji.postMessage,ji,1)):!c.addEventListener||"function"!=typeof postMessage||c.importScripts||f(qi)||"file:"===Ci.protocol?gi=Ai in h("script")?function(e){tt.appendChild(h("script")).onreadystatechange=function(){tt.removeChild(this),Pi(e)}}:function(e){setTimeout(Fi(e),0)}:(gi=qi,c.addEventListener("message",Ri,!1)));var Ii,Ni,zi,Hi,Xi,Yi,Qi,Ui,Vi={set:Li,clear:$i},Ji=be.f,Zi=Vi.set,Gi=c.MutationObserver||c.WebKitMutationObserver,Wi=c.process,Ki=c.Promise,el="process"==ye(Wi),tl=Ji(c,"queueMicrotask"),ol=tl&&tl.value;ol||(Ii=function(){var e,t;for(el&&(e=Wi.domain)&&e.exit();Ni;){t=Ni.fn,Ni=Ni.next;try{t()}catch(e){throw Ni?Hi():zi=void 0,e}}zi=void 0,e&&e.enter()},el?Hi=function(){Wi.nextTick(Ii)}:Gi&&!Oi?(Xi=!0,Yi=document.createTextNode(""),new Gi(Ii).observe(Yi,{characterData:!0}),Hi=function(){Yi.data=Xi=!Xi}):Ki&&Ki.resolve?(Qi=Ki.resolve(void 0),Ui=Qi.then,Hi=function(){Ui.call(Qi,Ii)}):Hi=function(){Zi.call(c,Ii)});var nl,rl,al,il=ol||function(e){var t={fn:e,next:void 0};zi&&(zi.next=t),Ni||(Ni=t,Hi()),zi=t},ll=function(e){var t,o;this.promise=new e((function(e,n){if(void 0!==t||void 0!==o)throw TypeError("Bad Promise constructor");t=e,o=n})),this.resolve=Le(t),this.reject=Le(o)},sl={f:function(e){return new ll(e)}},cl=function(e,t){if(_(e),p(t)&&t.constructor===e)return t;var o=sl.f(e);return(0,o.resolve)(t),o.promise},ul=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}},fl=Vi.set,dl=A("species"),pl="Promise",ml=ue.get,yl=ue.set,hl=ue.getterFor(pl),vl=Si,_l=c.TypeError,kl=c.document,bl=c.process,gl=(et("fetch"),sl.f),wl=gl,jl="process"==ye(bl),xl=!!(kl&&kl.createEvent&&c.dispatchEvent),Sl="unhandledrejection",Ol=Ce(pl,(function(){if(!(J(vl)!==String(vl))){if(66===Gt)return!0;if(!jl&&"function"!=typeof PromiseRejectionEvent)return!0}if(!vl.prototype.finally)return!0;if(Gt>=51&&/native code/.test(vl))return!1;var e=vl.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[dl]=t,!(e.then((function(){}))instanceof t)})),Cl=Ol||!Oa((function(e){vl.all(e).catch((function(){}))})),Ll=function(e){var t;return!(!p(e)||"function"!=typeof(t=e.then))&&t},$l=function(e,t,o){if(!t.notified){t.notified=!0;var n=t.reactions;il((function(){for(var r=t.value,a=1==t.state,i=0;n.length>i;){var l,s,c,u=n[i++],f=a?u.ok:u.fail,d=u.resolve,p=u.reject,m=u.domain;try{f?(a||(2===t.rejection&&El(e,t),t.rejection=1),!0===f?l=r:(m&&m.enter(),l=f(r),m&&(m.exit(),c=!0)),l===u.promise?p(_l("Promise-chain cycle")):(s=Ll(l))?s.call(l,d,p):d(l)):p(r)}catch(e){m&&!c&&m.exit(),p(e)}}t.reactions=[],t.notified=!1,o&&!t.rejection&&Dl(e,t)}))}},Tl=function(e,t,o){var n,r;xl?((n=kl.createEvent("Event")).promise=t,n.reason=o,n.initEvent(e,!1,!0),c.dispatchEvent(n)):n={promise:t,reason:o},(r=c["on"+e])?r(n):e===Sl&&function(e,t){var o=c.console;o&&o.error&&(1===arguments.length?o.error(e):o.error(e,t))}("Unhandled promise rejection",o)},Dl=function(e,t){fl.call(c,(function(){var o,n=t.value;if(Ml(t)&&(o=ul((function(){jl?bl.emit("unhandledRejection",n,e):Tl(Sl,e,n)})),t.rejection=jl||Ml(t)?2:1,o.error))throw o.value}))},Ml=function(e){return 1!==e.rejection&&!e.parent},El=function(e,t){fl.call(c,(function(){jl?bl.emit("rejectionHandled",e):Tl("rejectionhandled",e,t.value)}))},Bl=function(e,t,o,n){return function(r){e(t,o,r,n)}},Al=function(e,t,o,n){t.done||(t.done=!0,n&&(t=n),t.value=o,t.state=2,$l(e,t,!0))},Pl=function(e,t,o,n){if(!t.done){t.done=!0,n&&(t=n);try{if(e===o)throw _l("Promise can't be resolved itself");var r=Ll(o);r?il((function(){var n={done:!1};try{r.call(o,Bl(Pl,e,n,t),Bl(Al,e,n,t))}catch(o){Al(e,n,o,t)}})):(t.value=o,t.state=1,$l(e,t,!1))}catch(o){Al(e,{done:!1},o,t)}}};Ol&&(vl=function(e){Fa(this,vl,pl),Le(e),nl.call(this);var t=ml(this);try{e(Bl(Pl,this,t),Bl(Al,this,t))}catch(e){Al(this,t,e)}},(nl=function(e){yl(this,{type:pl,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=Ha(vl.prototype,{then:function(e,t){var o=hl(this),n=gl(ni(this,vl));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=jl?bl.domain:void 0,o.parent=!0,o.reactions.push(n),0!=o.state&&$l(this,o,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),rl=function(){var e=new nl,t=ml(e);this.promise=e,this.resolve=Bl(Pl,e,t),this.reject=Bl(Al,e,t)},sl.f=gl=function(e){return e===vl||e===al?new rl(e):wl(e)}),Me({global:!0,wrap:!0,forced:Ol},{Promise:vl}),yt(vl,pl,!1,!0),Ya(pl),al=et(pl),Me({target:pl,stat:!0,forced:Ol},{reject:function(e){var t=gl(this);return t.reject.call(void 0,e),t.promise}}),Me({target:pl,stat:!0,forced:u},{resolve:function(e){return cl(this===al?vl:this,e)}}),Me({target:pl,stat:!0,forced:Cl},{all:function(e){var t=this,o=gl(t),n=o.resolve,r=o.reject,a=ul((function(){var o=Le(t.resolve),a=[],i=0,l=1;Pa(e,(function(e){var s=i++,c=!1;a.push(void 0),l++,o.call(t,e).then((function(e){c||(c=!0,a[s]=e,--l||n(a))}),r)})),--l||n(a)}));return a.error&&r(a.value),o.promise},race:function(e){var t=this,o=gl(t),n=o.reject,r=ul((function(){var r=Le(t.resolve);Pa(e,(function(e){r.call(t,e).then(o.resolve,n)}))}));return r.error&&n(r.value),o.promise}}),Me({target:"Promise",stat:!0},{allSettled:function(e){var t=this,o=sl.f(t),n=o.resolve,r=o.reject,a=ul((function(){var o=Le(t.resolve),r=[],a=0,i=1;Pa(e,(function(e){var l=a++,s=!1;r.push(void 0),i++,o.call(t,e).then((function(e){s||(s=!0,r[l]={status:"fulfilled",value:e},--i||n(r))}),(function(e){s||(s=!0,r[l]={status:"rejected",reason:e},--i||n(r))}))})),--i||n(r)}));return a.error&&r(a.value),o.promise}});var Fl=!!Si&&f((function(){Si.prototype.finally.call({then:function(){}},(function(){}))}));Me({target:"Promise",proto:!0,real:!0,forced:Fl},{finally:function(e){var t=ni(this,et("Promise")),o="function"==typeof e;return this.then(o?function(o){return cl(t,e()).then((function(){return o}))}:e,o?function(o){return cl(t,e()).then((function(){throw o}))}:e)}});var Rl=n.Promise;Me({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}});n.Date.now,za("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),Za);var ql=n.Set,Il=f((function(){Ge(1)}));Me({target:"Object",stat:!0,forced:Il},{keys:function(e){return Ge(Ee(e))}});var Nl=n.Object.keys,zl=oa;function Hl(){}function Xl(e,t){for(var o in t)e[o]=t[o];return e}function Yl(e){return e()}function Ql(){return zl(null)}function Ul(e){nr(e).call(e,Yl)}function Vl(e){return"function"==typeof e}function Jl(e,t){return e!=e?t==t:e!==t||e&&"object"===Jo(e)||"function"==typeof e}new ql;function Zl(e,t){e.appendChild(t)}function Gl(e,t,o){e.insertBefore(t,o||null)}function Wl(e){e.parentNode.removeChild(e)}function Kl(e){return document.createElement(e)}function es(e){return document.createTextNode(e)}function ts(){return es(" ")}function os(){return es("")}function ns(e,t,o,n){return e.addEventListener(t,o,n),function(){return e.removeEventListener(t,o,n)}}function rs(e,t,o){null==o?e.removeAttribute(t):e.getAttribute(t)!==o&&e.setAttribute(t,o)}function as(e){return ki(e.childNodes)}function is(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function ls(e,t){for(var o=0;o<e.options.length;o+=1){var n=e.options[o];if(n.__value===t)return void(n.selected=!0)}}var ss;new ql;function cs(e){ss=e}function us(){var e=function(){if(!ss)throw new Error("Function called outside component initialization");return ss}();return function(t,o){var n=e.$$.callbacks[t];if(n){var r,a=function(e,t){var o=document.createEvent("CustomEvent");return o.initCustomEvent(e,!1,!1,t),o}(t,o);nr(r=_r(n).call(n)).call(r,(function(t){t.call(e,a)}))}}}var fs=[],ds=[],ps=[],ms=[],ys=Rl.resolve(),hs=!1;function vs(){hs||(hs=!0,ys.then(ws))}function _s(e){ps.push(e)}function ks(e){ms.push(e)}var bs=!1,gs=new ql;function ws(){if(!bs){bs=!0;do{for(var e=0;e<fs.length;e+=1){var t=fs[e];cs(t),js(t.$$)}for(cs(null),fs.length=0;ds.length;)ds.pop()();for(var o=0;o<ps.length;o+=1){var n=ps[o];gs.has(n)||(gs.add(n),n())}ps.length=0}while(fs.length);for(;ms.length;)ms.pop()();hs=!1,bs=!1,gs.clear()}}function js(e){if(null!==e.fragment){var t;e.update(),Ul(e.before_update);var o=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,o),nr(t=e.after_update).call(t,_s)}}var xs,Ss=new ql;function Os(){xs={r:0,c:[],p:xs}}function Cs(){xs.r||Ul(xs.c),xs=xs.p}function Ls(e,t){e&&e.i&&(Ss.delete(e),e.i(t))}function $s(e,t,o,n){if(e&&e.o){if(Ss.has(e))return;Ss.add(e),xs.c.push((function(){Ss.delete(e),n&&(o&&e.d(1),n())})),e.o(t)}}function Ts(e,t){$s(e,1,1,(function(){t.delete(e.key)}))}new ql(["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]);function Ds(e,t,o){var n=e.$$.props[t];void 0!==n&&(e.$$.bound[n]=o,o(e.$$.ctx[n]))}function Ms(e){e&&e.c()}function Es(e,t,o){var n=e.$$,r=n.fragment,a=n.on_mount,i=n.on_destroy,l=n.after_update;r&&r.m(t,o),_s((function(){var t,o=xr(t=Tr(a).call(a,Yl)).call(t,Vl);i?i.push.apply(i,_i(o)):Ul(o),e.$$.on_mount=[]})),nr(l).call(l,_s)}function Bs(e,t){var o=e.$$;null!==o.fragment&&(Ul(o.on_destroy),o.fragment&&o.fragment.d(t),o.on_destroy=o.fragment=null,o.ctx=[])}function As(e,t){var o;-1===e.$$.dirty[0]&&(fs.push(e),vs(),mi(o=e.$$.dirty).call(o,0));e.$$.dirty[t/31|0]|=1<<t%31}function Ps(e,t,o,n,r,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:[-1],l=ss;cs(e);var s=t.props||{},c=e.$$={fragment:null,ctx:null,props:a,update:Hl,not_equal:r,bound:Ql(),on_mount:[],on_destroy:[],before_update:[],after_update:[],context:new Ga(l?l.$$.context:[]),callbacks:Ql(),dirty:i,skip_bound:!1},u=!1;if(c.ctx=o?o(e,s,(function(t,o){var n=!(arguments.length<=2)&&arguments.length-2?arguments.length<=2?void 0:arguments[2]:o;return c.ctx&&r(c.ctx[t],c.ctx[t]=n)&&(!c.skip_bound&&c.bound[t]&&c.bound[t](n),u&&As(e,t)),o})):[],c.update(),u=!0,Ul(c.before_update),c.fragment=!!n&&n(c.ctx),t.target){if(t.hydrate){var f=as(t.target);c.fragment&&c.fragment.l(f),nr(f).call(f,Wl)}else c.fragment&&c.fragment.c();t.intro&&Ls(e.$$.fragment),Es(e,t.target,t.anchor),ws()}cs(l)}var Fs=function(){function e(){Zr(this,e)}return Kr(e,[{key:"$destroy",value:function(){Bs(this,1),this.$destroy=Hl}},{key:"$on",value:function(e,t){var o=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return o.push(t),function(){var e=xi(o).call(o,t);-1!==e&&Yn(o).call(o,e,1)}}},{key:"$set",value:function(e){this.$$set&&0!==Nl(e).length&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}]),e}(),Rs=pe.f,qs=function(e){return function(t){for(var o,n=_e(t),r=Ge(n),a=r.length,i=0,l=[];a>i;)o=r[i++],d&&!Rs.call(n,o)||l.push(e?[o,n[o]]:n[o]);return l}},Is={entries:qs(!0),values:qs(!1)}.values;Me({target:"Object",stat:!0},{values:function(e){return Is(e)}});var Ns=n.Object.values,zs=[],Hs=zs.sort,Xs=f((function(){zs.sort(void 0)})),Ys=f((function(){zs.sort(null)})),Qs=Jn("sort");Me({target:"Array",proto:!0,forced:Xs||!Ys||!Qs},{sort:function(e){return void 0===e?Hs.call(Ee(this)):Hs.call(Ee(this),Le(e))}});var Us=Ko("Array").sort,Vs=Array.prototype,Js=function(e){var t=e.sort;return e===Vs||e instanceof Array&&t===Vs.sort?Us:t};function Zs(e){var t=function(){if("undefined"==typeof Reflect||!Jr)return!1;if(Jr.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Jr(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,n=ua(e);if(t){var r=ua(this).constructor;o=Jr(n,arguments,r)}else o=n.apply(this,arguments);return la(this,o)}}function Gs(e,t,o){var n=_r(e).call(e);return n[10]=t[o],n}function Ws(e){var t,o,n,r=e[3].name+"";return{c:function(){t=Kl("option"),o=es(r),t.__value=n=e[3].id,t.value=t.__value},m:function(e,n){Gl(e,t,n),Zl(t,o)},p:function(e,a){8&a&&r!==(r=e[3].name+"")&&is(o,r),8&a&&n!==(n=e[3].id)&&(t.__value=n,t.value=t.__value)},d:function(e){e&&Wl(t)}}}function Ks(e){var t,o,n,r=e[10].name+"";return{c:function(){t=Kl("option"),o=es(r),t.__value=n=e[10].id,t.value=t.__value},m:function(e,n){Gl(e,t,n),Zl(t,o)},p:function(e,a){16&a&&r!==(r=e[10].name+"")&&is(o,r),16&a&&n!==(n=e[10].id)&&(t.__value=n,t.value=t.__value)},d:function(e){e&&Wl(t)}}}function ec(e){var t,o=!e[10].hidden&&Ks(e);return{c:function(){o&&o.c(),t=os()},m:function(e,n){o&&o.m(e,n),Gl(e,t,n)},p:function(e,n){e[10].hidden?o&&(o.d(1),o=null):o?o.p(e,n):((o=Ks(e)).c(),o.m(t.parentNode,t))},d:function(e){o&&o.d(e),e&&Wl(t)}}}function tc(e){var t,o;return{c:function(){t=Kl("div"),o=es(e[5]),rs(t,"class","bookly-label-error")},m:function(e,n){Gl(e,t,n),Zl(t,o)},p:function(e,t){32&t&&is(o,e[5])},d:function(e){e&&Wl(t)}}}function oc(e){for(var t,o,n,r,a,i,l,s,c,u,f=e[3]&&Ws(e),d=e[4],p=[],m=0;m<d.length;m+=1)p[m]=ec(Gs(e,d,m));var y=e[5]&&tc(e);return{c:function(){t=Kl("label"),o=es(e[2]),n=ts(),r=Kl("div"),a=Kl("select"),f&&f.c(),i=os();for(var c=0;c<p.length;c+=1)p[c].c();l=ts(),y&&y.c(),s=os(),void 0===e[1]&&_s((function(){return e[8].call(a)}))},m:function(d,m){Gl(d,t,m),Zl(t,o),e[7](t),Gl(d,n,m),Gl(d,r,m),Zl(r,a),f&&f.m(a,null),Zl(a,i);for(var h=0;h<p.length;h+=1)p[h].m(a,null);ls(a,e[1]),Gl(d,l,m),y&&y.m(d,m),Gl(d,s,m),c||(u=[ns(a,"change",e[8]),ns(a,"change",e[6])],c=!0)},p:function(e,t){var n=Ea(t,1)[0];if(4&n&&is(o,e[2]),e[3]?f?f.p(e,n):((f=Ws(e)).c(),f.m(a,i)):f&&(f.d(1),f=null),16&n){var r;for(d=e[4],r=0;r<d.length;r+=1){var l=Gs(e,d,r);p[r]?p[r].p(l,n):(p[r]=ec(l),p[r].c(),p[r].m(a,null))}for(;r<p.length;r+=1)p[r].d(1);p.length=d.length}26&n&&ls(a,e[1]),e[5]?y?y.p(e,n):((y=tc(e)).c(),y.m(s.parentNode,s)):y&&(y.d(1),y=null)},i:Hl,o:Hl,d:function(o){o&&Wl(t),e[7](null),o&&Wl(n),o&&Wl(r),f&&f.d(),function(e,t){for(var o=0;o<e.length;o+=1)e[o]&&e[o].d(t)}(p,o),o&&Wl(l),y&&y.d(o),o&&Wl(s),c=!1,Ul(u)}}}function nc(e,t){return e.pos<t.pos?-1:e.pos>t.pos?1:0}function rc(e,t,o){var n=t.el,r=void 0===n?null:n,a=t.label,i=void 0===a?"":a,l=t.placeholder,s=void 0===l?null:l,c=t.items,u=void 0===c?[]:c,f=t.selected,d=void 0===f?"":f,p=t.error,m=void 0===p?null:p,y=us();return e.$$set=function(e){"el"in e&&o(0,r=e.el),"label"in e&&o(2,i=e.label),"placeholder"in e&&o(3,s=e.placeholder),"items"in e&&o(4,u=e.items),"selected"in e&&o(1,d=e.selected),"error"in e&&o(5,m=e.error)},e.$$.update=function(){16&e.$$.dirty&&Js(u).call(u,nc)},[r,d,i,s,u,m,function(){y("change",d)},function(e){ds[e?"unshift":"push"]((function(){o(0,r=e)}))},function(){var e,t;t=(e=this).querySelector(":checked")||e.options[0],d=t&&t.__value,o(1,d),o(4,u),o(3,s)}]}var ac=function(e){ia(o,e);var t=Zs(o);function o(e){var n;return Zr(this,o),Ps(ea(n=t.call(this)),e,rc,oc,Jl,{el:0,label:2,placeholder:3,items:4,selected:1,error:5}),n}return o}(Fs);function ic(e){var t=function(){if("undefined"==typeof Reflect||!Jr)return!1;if(Jr.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Jr(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,n=ua(e);if(t){var r=ua(this).constructor;o=Jr(n,arguments,r)}else o=n.apply(this,arguments);return la(this,o)}}function lc(e){var t,o,n,r;function a(t){e[54].call(null,t)}var i={label:e[10].location_label,placeholder:e[24],items:Ns(e[0]),selected:e[11],error:e[28]};return void 0!==e[29]&&(i.el=e[29]),o=new ac({props:i}),ds.push((function(){return Ds(o,"el",a)})),o.$on("change",e[34]),{c:function(){t=Kl("div"),Ms(o.$$.fragment),rs(t,"class","bookly-form-group"),rs(t,"data-type","location")},m:function(e,n){Gl(e,t,n),Es(o,t,null),r=!0},p:function(e,t){var r={};1024&t[0]&&(r.label=e[10].location_label),16777216&t[0]&&(r.placeholder=e[24]),1&t[0]&&(r.items=Ns(e[0])),2048&t[0]&&(r.selected=e[11]),268435456&t[0]&&(r.error=e[28]),!n&&536870912&t[0]&&(n=!0,r.el=e[29],ks((function(){return n=!1}))),o.$set(r)},i:function(e){r||(Ls(o.$$.fragment,e),r=!0)},o:function(e){$s(o.$$.fragment,e),r=!1},d:function(e){e&&Wl(t),Bs(o)}}}function sc(e){var t,o,n;return(o=new ac({props:{label:e[10].category_label,placeholder:e[25],items:Ns(e[18]),selected:e[12]}})).$on("change",e[35]),{c:function(){t=Kl("div"),Ms(o.$$.fragment),rs(t,"class","bookly-form-group"),rs(t,"data-type","category")},m:function(e,r){Gl(e,t,r),Es(o,t,null),n=!0},p:function(e,t){var n={};1024&t[0]&&(n.label=e[10].category_label),33554432&t[0]&&(n.placeholder=e[25]),262144&t[0]&&(n.items=Ns(e[18])),4096&t[0]&&(n.selected=e[12]),o.$set(n)},i:function(e){n||(Ls(o.$$.fragment,e),n=!0)},o:function(e){$s(o.$$.fragment,e),n=!1},d:function(e){e&&Wl(t),Bs(o)}}}function cc(e){var t,o,n,r;function a(t){e[55].call(null,t)}var i={label:e[10].service_label,placeholder:e[26],items:Ns(e[19]),selected:e[13],error:e[30]};return void 0!==e[31]&&(i.el=e[31]),o=new ac({props:i}),ds.push((function(){return Ds(o,"el",a)})),o.$on("change",e[36]),{c:function(){t=Kl("div"),Ms(o.$$.fragment),rs(t,"class","bookly-form-group"),rs(t,"data-type","service")},m:function(e,n){Gl(e,t,n),Es(o,t,null),r=!0},p:function(e,t){var r={};1024&t[0]&&(r.label=e[10].service_label),67108864&t[0]&&(r.placeholder=e[26]),524288&t[0]&&(r.items=Ns(e[19])),8192&t[0]&&(r.selected=e[13]),1073741824&t[0]&&(r.error=e[30]),!n&&1&t[1]&&(n=!0,r.el=e[31],ks((function(){return n=!1}))),o.$set(r)},i:function(e){r||(Ls(o.$$.fragment,e),r=!0)},o:function(e){$s(o.$$.fragment,e),r=!1},d:function(e){e&&Wl(t),Bs(o)}}}function uc(e){var t,o,n,r;function a(t){e[56].call(null,t)}var i={label:e[10].staff_label,placeholder:e[27],items:Ns(e[20]),selected:e[14],error:e[32]};return void 0!==e[33]&&(i.el=e[33]),o=new ac({props:i}),ds.push((function(){return Ds(o,"el",a)})),o.$on("change",e[37]),{c:function(){t=Kl("div"),Ms(o.$$.fragment),rs(t,"class","bookly-form-group"),rs(t,"data-type","staff")},m:function(e,n){Gl(e,t,n),Es(o,t,null),r=!0},p:function(e,t){var r={};1024&t[0]&&(r.label=e[10].staff_label),134217728&t[0]&&(r.placeholder=e[27]),1048576&t[0]&&(r.items=Ns(e[20])),16384&t[0]&&(r.selected=e[14]),2&t[1]&&(r.error=e[32]),!n&&4&t[1]&&(n=!0,r.el=e[33],ks((function(){return n=!1}))),o.$set(r)},i:function(e){r||(Ls(o.$$.fragment,e),r=!0)},o:function(e){$s(o.$$.fragment,e),r=!1},d:function(e){e&&Wl(t),Bs(o)}}}function fc(e){var t,o,n;return(o=new ac({props:{label:e[10].duration_label,items:Ns(e[21]),selected:e[15]}})).$on("change",e[38]),{c:function(){t=Kl("div"),Ms(o.$$.fragment),rs(t,"class","bookly-form-group"),rs(t,"data-type","duration")},m:function(e,r){Gl(e,t,r),Es(o,t,null),n=!0},p:function(e,t){var n={};1024&t[0]&&(n.label=e[10].duration_label),2097152&t[0]&&(n.items=Ns(e[21])),32768&t[0]&&(n.selected=e[15]),o.$set(n)},i:function(e){n||(Ls(o.$$.fragment,e),n=!0)},o:function(e){$s(o.$$.fragment,e),n=!1},d:function(e){e&&Wl(t),Bs(o)}}}function dc(e){var t,o,n;return(o=new ac({props:{label:e[10].nop_label,items:Ns(e[22]),selected:e[16]}})).$on("change",e[39]),{c:function(){t=Kl("div"),Ms(o.$$.fragment),rs(t,"class","bookly-form-group"),rs(t,"data-type","nop")},m:function(e,r){Gl(e,t,r),Es(o,t,null),n=!0},p:function(e,t){var n={};1024&t[0]&&(n.label=e[10].nop_label),4194304&t[0]&&(n.items=Ns(e[22])),65536&t[0]&&(n.selected=e[16]),o.$set(n)},i:function(e){n||(Ls(o.$$.fragment,e),n=!0)},o:function(e){$s(o.$$.fragment,e),n=!1},d:function(e){e&&Wl(t),Bs(o)}}}function pc(e){var t,o,n;return(o=new ac({props:{label:e[10].quantity_label,items:Ns(e[23]),selected:e[17]}})).$on("change",e[40]),{c:function(){t=Kl("div"),Ms(o.$$.fragment),rs(t,"class","bookly-form-group"),rs(t,"data-type","quantity")},m:function(e,r){Gl(e,t,r),Es(o,t,null),n=!0},p:function(e,t){var n={};1024&t[0]&&(n.label=e[10].quantity_label),8388608&t[0]&&(n.items=Ns(e[23])),131072&t[0]&&(n.selected=e[17]),o.$set(n)},i:function(e){n||(Ls(o.$$.fragment,e),n=!0)},o:function(e){$s(o.$$.fragment,e),n=!1},d:function(e){e&&Wl(t),Bs(o)}}}function mc(e){var t,o,n,r,a=e[9]&&yc(e);return{c:function(){t=Kl("div"),o=Kl("label"),n=ts(),r=Kl("div"),a&&a.c(),rs(t,"class","bookly-form-group bookly-chain-actions")},m:function(e,i){Gl(e,t,i),Zl(t,o),Zl(t,n),Zl(t,r),a&&a.m(r,null)},p:function(e,t){e[9]?a?a.p(e,t):((a=yc(e)).c(),a.m(r,null)):a&&(a.d(1),a=null)},d:function(e){e&&Wl(t),a&&a.d()}}}function yc(e){var t,o,n;return{c:function(){(t=Kl("button")).innerHTML='<i class="bookly-icon-sm bookly-icon-drop"></i>',rs(t,"class","bookly-round")},m:function(r,a){Gl(r,t,a),o||(n=ns(t,"click",e[41]),o=!0)},p:Hl,d:function(e){e&&Wl(t),o=!1,n()}}}function hc(e){var t,o,n,r,a,i,l,s,c,u=e[1]&&lc(e),f=e[2]&&sc(e),d=e[3]&&cc(e),p=e[4]&&uc(e),m=e[5]&&fc(e),y=e[6]&&dc(e),h=e[7]&&pc(e),v=e[8]&&mc(e);return{c:function(){t=Kl("div"),u&&u.c(),o=ts(),f&&f.c(),n=ts(),d&&d.c(),r=ts(),p&&p.c(),a=ts(),m&&m.c(),i=ts(),y&&y.c(),l=ts(),h&&h.c(),s=ts(),v&&v.c(),rs(t,"class","bookly-table bookly-box")},m:function(e,_){Gl(e,t,_),u&&u.m(t,null),Zl(t,o),f&&f.m(t,null),Zl(t,n),d&&d.m(t,null),Zl(t,r),p&&p.m(t,null),Zl(t,a),m&&m.m(t,null),Zl(t,i),y&&y.m(t,null),Zl(t,l),h&&h.m(t,null),Zl(t,s),v&&v.m(t,null),c=!0},p:function(e,c){e[1]?u?(u.p(e,c),2&c[0]&&Ls(u,1)):((u=lc(e)).c(),Ls(u,1),u.m(t,o)):u&&(Os(),$s(u,1,1,(function(){u=null})),Cs()),e[2]?f?(f.p(e,c),4&c[0]&&Ls(f,1)):((f=sc(e)).c(),Ls(f,1),f.m(t,n)):f&&(Os(),$s(f,1,1,(function(){f=null})),Cs()),e[3]?d?(d.p(e,c),8&c[0]&&Ls(d,1)):((d=cc(e)).c(),Ls(d,1),d.m(t,r)):d&&(Os(),$s(d,1,1,(function(){d=null})),Cs()),e[4]?p?(p.p(e,c),16&c[0]&&Ls(p,1)):((p=uc(e)).c(),Ls(p,1),p.m(t,a)):p&&(Os(),$s(p,1,1,(function(){p=null})),Cs()),e[5]?m?(m.p(e,c),32&c[0]&&Ls(m,1)):((m=fc(e)).c(),Ls(m,1),m.m(t,i)):m&&(Os(),$s(m,1,1,(function(){m=null})),Cs()),e[6]?y?(y.p(e,c),64&c[0]&&Ls(y,1)):((y=dc(e)).c(),Ls(y,1),y.m(t,l)):y&&(Os(),$s(y,1,1,(function(){y=null})),Cs()),e[7]?h?(h.p(e,c),128&c[0]&&Ls(h,1)):((h=pc(e)).c(),Ls(h,1),h.m(t,s)):h&&(Os(),$s(h,1,1,(function(){h=null})),Cs()),e[8]?v?v.p(e,c):((v=mc(e)).c(),v.m(t,null)):v&&(v.d(1),v=null)},i:function(e){c||(Ls(u),Ls(f),Ls(d),Ls(p),Ls(m),Ls(y),Ls(h),c=!0)},o:function(e){$s(u),$s(f),$s(d),$s(p),$s(m),$s(y),$s(h),c=!1},d:function(e){e&&Wl(t),u&&u.d(),f&&f.d(),d&&d.d(),p&&p.d(),m&&m.d(),y&&y.d(),h&&h.d(),v&&v.d()}}}function vc(e,t,n){var r,a,i,l,s,c,u,f,d,p,m,y,h,v,_,k,b,g,w,j,x,S,O=t.item,C=void 0===O?{}:O,L=t.index,$=void 0===L?0:L,T=t.locations,D=void 0===T?[]:T,M=t.categories,E=void 0===M?[]:M,B=t.services,A=void 0===B?[]:B,P=t.staff,F=void 0===P?[]:P,R=t.defaults,q=void 0===R?{}:R,I=t.required,N=void 0===I?{}:I,z=t.servicesPerLocation,H=void 0!==z&&z,X=t.showRatings,Y=void 0!==X&&X,Q=t.maxQuantity,U=void 0===Q?1:Q,V=t.hasLocationSelect,J=void 0!==V&&V,Z=t.hasCategorySelect,G=void 0===Z||Z,W=t.hasServiceSelect,K=void 0===W||W,ee=t.hasStaffSelect,te=void 0===ee||ee,oe=t.hasDurationSelect,ne=void 0!==oe&&oe,re=t.hasNopSelect,ae=void 0!==re&&re,ie=t.hasQuantitySelect,le=void 0!==ie&&ie,se=t.hasDropBtn,ce=void 0!==se&&se,ue=t.showDropBtn,fe=void 0!==ue&&ue,de=t.l10n,pe=void 0===de?{}:de,me=us(),ye=0,he=0,ve=0,_e=0,ke=1,be=1,ge=1;function we(e){if(n(11,ye=e.detail),ye in D||n(11,ye=0),ye){var t=H?ye:0;if(_e&&(_e in D[ye].staff?ve&&!(t in F[_e].services[ve].locations)&&n(14,_e=0):n(14,_e=0)),ve){var r=!1;o.default.each(D[ye].staff,(function(e){if(ve in F[e].services&&t in F[e].services[ve].locations)return r=!0,!1})),r||n(13,ve=0)}if(he){var a=!1;o.default.each(D[ye].staff,(function(e){if(o.default.each(F[e].services,(function(e){if(A[e].category_id===he)return a=!0,!1})),a)return!1})),a||n(12,he=0)}}}function je(e){if(n(12,he=e.detail),he in r||n(12,he=0),he){if(n(58,g=!0),ve&&A[ve].category_id!==he&&n(13,ve=0),_e){var t=!1;o.default.each(F[_e].services,(function(e){if(A[e].category_id===he)return t=!0,!1})),t||n(14,_e=0)}}else n(58,g=!1)}function xe(e){n(13,ve=e.detail),ve in a||n(13,ve=0),ve?(n(12,he=A[ve].category_id),_e&&!(ve in F[_e].services)&&n(14,_e=0)):g||n(12,he=0)}function Se(e){n(14,_e=e.detail),_e in i||n(14,_e=0)}function Oe(e){n(15,ke=e.detail),ke in l||n(15,ke=1)}function Ce(e){n(16,be=e.detail),be in s||n(16,be=1)}function Le(e){n(17,ge=e.detail),ge in c||n(17,ge=1)}return(vs(),ys).then((function(){var e=C.location_id||q.location_id;e&&we({detail:e})})).then((function(){q.category_id&&je({detail:q.category_id})})).then((function(){var e=C.service_id||q.service_id;e&&xe({detail:e})})).then((function(){var e;(e=te&&C.staff_ids&&C.staff_ids.length?C.staff_ids.length>1?0:C.staff_ids[0]:q.staff_id)&&Se({detail:e})})).then((function(){C.units>1&&Oe({detail:C.units})})).then((function(){C.number_of_persons>1&&Ce({detail:C.number_of_persons})})).then((function(){C.quantity>1&&Le({detail:C.quantity})})),e.$$set=function(e){"item"in e&&n(42,C=e.item),"index"in e&&n(43,$=e.index),"locations"in e&&n(0,D=e.locations),"categories"in e&&n(44,E=e.categories),"services"in e&&n(45,A=e.services),"staff"in e&&n(46,F=e.staff),"defaults"in e&&n(47,q=e.defaults),"required"in e&&n(48,N=e.required),"servicesPerLocation"in e&&n(49,H=e.servicesPerLocation),"showRatings"in e&&n(50,Y=e.showRatings),"maxQuantity"in e&&n(51,U=e.maxQuantity),"hasLocationSelect"in e&&n(1,J=e.hasLocationSelect),"hasCategorySelect"in e&&n(2,G=e.hasCategorySelect),"hasServiceSelect"in e&&n(3,K=e.hasServiceSelect),"hasStaffSelect"in e&&n(4,te=e.hasStaffSelect),"hasDurationSelect"in e&&n(5,ne=e.hasDurationSelect),"hasNopSelect"in e&&n(6,ae=e.hasNopSelect),"hasQuantitySelect"in e&&n(7,le=e.hasQuantitySelect),"hasDropBtn"in e&&n(8,ce=e.hasDropBtn),"showDropBtn"in e&&n(9,fe=e.showDropBtn),"l10n"in e&&n(10,pe=e.l10n)},e.$$.update=function(){if(3275841&e.$$.dirty[0]|2082267136&e.$$.dirty[1]|1&e.$$.dirty[2]){if(n(57,b=H&&ye?ye:0),n(18,r={}),n(19,a={}),n(20,i={}),n(22,s={}),o.default.each(F,(function(e,t){ye&&!(e in D[ye].staff)||(ve?ve in t.services&&o.default.each(t.services[ve].locations,(function(r,a){if(b&&b!==gn(r))return!0;n(62,S=S?Math.min(S,a.min_capacity):a.min_capacity),n(61,x=x?Math.max(x,a.max_capacity):a.max_capacity),n(20,i[e]=o.default.extend({},t,{name:t.name+(null===a.price||!b&&H?"":" ("+a.price+")"),hidden:"collaborative"===A[ve].type}),i),"collaborative"===A[ve].type&&n(14,_e=0)})):he?o.default.each(t.services,(function(r){if(A[r].category_id===he)return n(20,i[e]=o.default.extend({},t),i),!1})):n(20,i[e]=o.default.extend({},t),i))})),Y&&o.default.each(F,(function(e,t){t.id in i&&(ve?ve in t.services&&t.services[ve].rating&&n(20,i[t.id].name="★"+t.services[ve].rating+" "+i[t.id].name,i):t.rating&&n(20,i[t.id].name="★"+t.rating+" "+i[t.id].name,i))})),ye){var t=[],m=[];H?o.default.each(F,(function(e){o.default.each(F[e].services,(function(o){b in F[e].services[o].locations&&(t.push(A[o].category_id),m.push(o))}))})):o.default.each(D[ye].staff,(function(e){o.default.each(F[e].services,(function(e){t.push(A[e].category_id),m.push(e)}))})),o.default.each(E,(function(e,a){o.default.inArray(gn(e),t)>-1&&n(18,r[e]=a,r)})),o.default.each(A,(function(e,t){o.default.inArray(e,m)>-1&&(he&&g&&t.category_id!==he||_e&&!(e in F[_e].services)||n(19,a[e]=t,a))}))}else n(18,r=E),o.default.each(A,(function(e,t){he&&g&&t.category_id!==he||_e&&!(e in F[_e].services)||n(19,a[e]=t,a)}));n(59,w=ve?_e?b in F[_e].services[ve].locations?F[_e].services[ve].locations[b].max_capacity:1:x||1:1),n(60,j=ve?_e?b in F[_e].services[ve].locations?F[_e].services[ve].locations[b].min_capacity:1:S||1:1);for(var y=j;y<=w;++y)n(22,s[y]={id:y,name:y},s);if(be>w&&n(16,be=w),(be<j||!ae)&&n(16,be=j),n(21,l={1:{id:1,name:"-"}}),ve)if(!_e||H&&!ye)"units"in A[ve]&&n(21,l=A[ve].units);else{var h=ye||0,v=F[_e].services[ve].locations;if(v){var _=h in v?v[h]:v[0];"units"in _&&n(21,l=_.units)}}ke in l||n(15,ke=1),n(23,c={});for(var k=1;k<=U;++k)n(23,c[k]={id:k,name:k},c);n(24,u={id:0,name:pe.location_option}),n(25,f={id:0,name:pe.category_option}),n(26,d={id:0,name:pe.service_option}),n(27,p={id:0,name:pe.staff_option})}},[D,J,G,K,te,ne,ae,le,ce,fe,pe,ye,he,ve,_e,ke,be,ge,r,a,i,l,s,c,u,f,d,p,m,y,h,v,_,k,we,je,xe,Se,Oe,Ce,Le,function(){me("dropItem",$)},C,$,E,A,F,q,N,H,Y,U,function(){var e=!0,t=null;return n(32,_=n(30,h=n(28,m=null))),N.staff&&!_e&&(e=!1,n(32,_=pe.staff_error),t=k),ve||(e=!1,n(30,h=pe.service_error),t=v),N.location&&!ye&&(e=!1,n(28,m=pe.location_error),t=y),{valid:e,el:t}},function(){return{locationId:ye,categoryId:he,serviceId:ve,staffIds:_e?[_e]:Tr(o.default).call(o.default,i,(function(e){return e.id})),duration:ke,nop:be,quantity:ge}},function(e){n(29,y=e)},function(e){n(31,v=e)},function(e){n(33,k=e)}]}var _c=function(e){ia(o,e);var t=ic(o);function o(e){var n;return Zr(this,o),Ps(ea(n=t.call(this)),e,vc,hc,Jl,{item:42,index:43,locations:0,categories:44,services:45,staff:46,defaults:47,required:48,servicesPerLocation:49,showRatings:50,maxQuantity:51,hasLocationSelect:1,hasCategorySelect:2,hasServiceSelect:3,hasStaffSelect:4,hasDurationSelect:5,hasNopSelect:6,hasQuantitySelect:7,hasDropBtn:8,showDropBtn:9,l10n:10,validate:52,getValues:53},[-1,-1,-1]),n}return Kr(o,[{key:"validate",get:function(){return this.$$.ctx[52]}},{key:"getValues",get:function(){return this.$$.ctx[53]}}]),o}(Fs);function kc(e){var t=function(){if("undefined"==typeof Reflect||!Jr)return!1;if(Jr.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Jr(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,n=ua(e);if(t){var r=ua(this).constructor;o=Jr(n,arguments,r)}else o=n.apply(this,arguments);return la(this,o)}}function bc(e,t,o){var n=_r(e).call(e);return n[9]=t[o],n[10]=t,n[11]=o,n}function gc(e,t){for(var o,n,r,a=t[11],i=[t[1],{item:t[9]},{index:t[11]},{hasDropBtn:t[2]},{showDropBtn:t[11]>0}],l=function(){return t[8](n,a)},s=function(){return t[8](null,a)},c={},u=0;u<i.length;u+=1)c=Xl(c,i[u]);return n=new _c({props:c}),l(),n.$on("dropItem",t[5]),{key:e,first:null,c:function(){o=os(),Ms(n.$$.fragment),this.first=o},m:function(e,t){Gl(e,o,t),Es(n,e,t),r=!0},p:function(e,t){a!==e[11]&&(s(),a=e[11],l());var o,r=7&t?function(e,t){for(var o={},n={},r={$$scope:1},a=e.length;a--;){var i=e[a],l=t[a];if(l){for(var s in i)s in l||(n[s]=1);for(var c in l)r[c]||(o[c]=l[c],r[c]=1);e[a]=l}else for(var u in i)r[u]=1}for(var f in n)f in o||(o[f]=void 0);return o}(i,[2&t&&(o=e[1],"object"===Jo(o)&&null!==o?o:{}),1&t&&{item:e[9]},1&t&&{index:e[11]},4&t&&{hasDropBtn:e[2]},1&t&&{showDropBtn:e[11]>0}]):{};n.$set(r)},i:function(e){r||(Ls(n.$$.fragment,e),r=!0)},o:function(e){$s(n.$$.fragment,e),r=!1},d:function(e){e&&Wl(o),s(),Bs(n,e)}}}function wc(e){var t,o,n,r,a,i,l=e[1].l10n.add_service+"";return{c:function(){t=Kl("div"),o=Kl("button"),n=Kl("span"),r=es(l),rs(n,"class","ladda-label"),rs(o,"class","bookly-btn ladda-button"),rs(o,"data-style","zoom-in"),rs(o,"data-spinner-size","40"),rs(t,"class","bookly-box")},m:function(l,s){Gl(l,t,s),Zl(t,o),Zl(o,n),Zl(n,r),a||(i=ns(o,"click",e[4]),a=!0)},p:function(e,t){2&t&&l!==(l=e[1].l10n.add_service+"")&&is(r,l)},d:function(e){e&&Wl(t),a=!1,i()}}}function jc(e){for(var t,o,n,r=[],a=new Ga,i=e[0],l=function(e){return e[9]},s=0;s<i.length;s+=1){var c=bc(e,i,s),u=l(c);a.set(u,r[s]=gc(u,c))}var f=e[2]&&wc(e);return{c:function(){for(var e=0;e<r.length;e+=1)r[e].c();t=ts(),f&&f.c(),o=os()},m:function(e,a){for(var i=0;i<r.length;i+=1)r[i].m(e,a);Gl(e,t,a),f&&f.m(e,a),Gl(e,o,a),n=!0},p:function(e,n){var i=Ea(n,1)[0];if(47&i){var s=e[0];Os(),r=function(e,t,o,n,r,a,i,l,s,c,u,f){for(var d=e.length,p=a.length,m=d,y={};m--;)y[e[m].key]=m;var h=[],v=new Ga,_=new Ga;for(m=p;m--;){var k=f(r,a,m),b=o(k),g=i.get(b);g?n&&g.p(k,t):(g=c(b,k)).c(),v.set(b,h[m]=g),b in y&&_.set(b,Math.abs(m-y[b]))}var w=new ql,j=new ql;function x(e){Ls(e,1),e.m(l,u),i.set(e.key,e),u=e.first,p--}for(;d&&p;){var S=h[p-1],O=e[d-1],C=S.key,L=O.key;S===O?(u=S.first,d--,p--):v.has(L)?!i.has(C)||w.has(C)?x(S):j.has(L)?d--:_.get(C)>_.get(L)?(j.add(C),x(S)):(w.add(L),d--):(s(O,i),d--)}for(;d--;){var $=e[d];v.has($.key)||s($,i)}for(;p;)x(h[p-1]);return h}(r,i,l,1,e,s,a,t.parentNode,Ts,gc,t,bc),Cs()}e[2]?f?f.p(e,i):((f=wc(e)).c(),f.m(o.parentNode,o)):f&&(f.d(1),f=null)},i:function(e){if(!n){for(var t=0;t<i.length;t+=1)Ls(r[t]);n=!0}},o:function(e){for(var t=0;t<r.length;t+=1)$s(r[t]);n=!1},d:function(e){for(var n=0;n<r.length;n+=1)r[n].d(e);e&&Wl(t),f&&f.d(e),e&&Wl(o)}}}function xc(e,t,o){var n=t.items,r=void 0===n?[]:n,a=t.data,i=void 0===a?{}:a,l=t.multiple,s=void 0!==l&&l,c=[];return e.$$set=function(e){"items"in e&&o(0,r=e.items),"data"in e&&o(1,i=e.data),"multiple"in e&&o(2,s=e.multiple)},[r,i,s,c,function(){r.push({}),o(0,r)},function(e){Yn(r).call(r,e.detail,1),o(0,r)},function(){var e;return Tr(e=xr(c).call(c,(function(e){return!!e}))).call(e,(function(e){return e.validate()}))},function(){var e;return Tr(e=xr(c).call(c,(function(e){return!!e}))).call(e,(function(e){return e.getValues()}))},function(e,t){ds[e?"unshift":"push"]((function(){c[t]=e,o(3,c),o(0,r)}))}]}var Sc=function(e){ia(o,e);var t=kc(o);function o(e){var n;return Zr(this,o),Ps(ea(n=t.call(this)),e,xc,jc,Jl,{items:0,data:1,multiple:2,validate:6,getValues:7}),n}return Kr(o,[{key:"validate",get:function(){return this.$$.ctx[6]}},{key:"getValues",get:function(){return this.$$.ctx[7]}}]),o}(Fs);function Oc(e){if(Zo[e.form_id].skip_steps.service)Zo[e.form_id].skip_steps.extras||"before_step_time"!=Zo[e.form_id].step_extras?qr(e):Ir(e);else{var t={action:"bookly_render_service",csrf_token:BooklyL10n.csrf_token},n=Zo[e.form_id].$container;Zo[e.form_id].use_client_time_zone&&(t.time_zone=Zo[e.form_id].timeZone,t.time_zone_offset=Zo[e.form_id].timeZoneOffset),o.default.extend(t,e),o.default.ajax({url:BooklyL10n.ajaxurl,data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){if(t.success){BooklyL10n.csrf_token=t.csrf_token,n.html(t.html),void 0===e&&Wo(n);var r=o.default(".bookly-js-chain",n),a=o.default(".bookly-js-date-from",n),i=o.default(".bookly-js-week-day",n),l=o.default(".bookly-js-select-time-from",n),s=o.default(".bookly-js-select-time-to",n),c=o.default(".bookly-js-next-step",n),u=o.default(".bookly-js-mobile-next-step",n),f=o.default(".bookly-js-mobile-prev-step",n),d=t.locations,p=t.categories,m=t.services,y=t.staff,h=t.chain,v=t.required,_=Zo[e.form_id].defaults,k=t.services_per_location,b=t.service_name_with_duration,g=t.show_ratings,w=t.max_quantity||1,j=t.multi_service||!1,x=t.l10n;b&&o.default.each(m,(function(e,t){t.name=t.name+" ( "+t.duration+" )"}));var S=new Sc({target:r.get(0),props:{items:h,data:{locations:d,categories:p,services:m,staff:y,defaults:_,required:v,servicesPerLocation:k,showRatings:g,maxQuantity:w,hasLocationSelect:!Zo[e.form_id].form_attributes.hide_locations,hasCategorySelect:!Zo[e.form_id].form_attributes.hide_categories,hasServiceSelect:!(Zo[e.form_id].form_attributes.hide_services&&_.service_id),hasStaffSelect:!Zo[e.form_id].form_attributes.hide_staff_members,hasDurationSelect:!Zo[e.form_id].form_attributes.hide_service_duration,hasNopSelect:Zo[e.form_id].form_attributes.show_number_of_persons,hasQuantitySelect:!Zo[e.form_id].form_attributes.hide_quantity,l10n:x},multiple:j}});a.pickadate({formatSubmit:"yyyy-mm-dd",format:Zo[e.form_id].date_format,min:t.date_min||!0,max:t.date_max||!0,clear:!1,close:!1,today:BooklyL10n.today,monthsFull:BooklyL10n.months,weekdaysFull:BooklyL10n.days,weekdaysShort:BooklyL10n.daysShort,labelMonthNext:BooklyL10n.nextMonth,labelMonthPrev:BooklyL10n.prevMonth,firstDay:Zo[e.form_id].firstDay,onSet:function(e){if(o.default.isNumeric(e.select)){var t=new Date(e.select);o.default('.bookly-js-week-day[value="'+(t.getDay()+1)+'"]:not(:checked)',n).attr("checked",!0).trigger("change")}}}),o.default(".bookly-js-go-to-cart",n).on("click",(function(t){t.preventDefault(),Go(this),Pr({form_id:e.form_id,from_step:"service"})})),Zo[e.form_id].form_attributes.hide_date&&o.default(".bookly-js-available-date",n).hide(),Zo[e.form_id].form_attributes.hide_week_days&&o.default(".bookly-js-week-days",n).hide(),Zo[e.form_id].form_attributes.hide_time_range&&o.default(".bookly-js-time-range",n).hide(),i.on("change",(function(){var e=o.default(this);e.is(":checked")?e.parent().not("[class*='active']").addClass("active"):e.parent().removeClass("active")})),l.on("change",(function(){var e=o.default(this).val(),t=s.val(),n=o.default("option:last",l);s.empty(),l[0].selectedIndex<n.index()?o.default("option",this).each((function(){o.default(this).val()>e&&s.append(o.default(this).clone())})):s.append(n.clone()).val(n.val());var r=o.default("option:first",s).val();s.val(t>=r?t:r)}));var O=function(){var e=!0,t=null;return o.default(S.validate()).each((function(n,r){if(!r.valid){e=!1;var a=o.default(r.el);if(a.is(":visible"))return t=a,!1}})),a.removeClass("bookly-error"),a.val()||(e=!1,a.addClass("bookly-error"),null===t&&(t=a)),o.default(".bookly-js-week-day:checked",n).length||(e=!1,null===t&&(t=i)),null!==t&&Wo(t),e};c.on("click",(function(t){if(t.preventDefault(),O()){Go(this);var r=[],i=0,c=0,u={required:2,optional:1,off:0};o.default.each(S.getValues(),(function(e,t){var o=m[t.serviceId];r.push({location_id:t.locationId,service_id:t.serviceId,staff_ids:t.staffIds,units:t.duration,number_of_persons:t.nop,quantity:t.quantity}),c=Math.max(c,u[o.hasOwnProperty("time_requirements")?o.time_requirements:"required"]),i+=o.has_extras}));var f=[];o.default(".bookly-js-week-days .active input.bookly-js-week-day",n).each((function(){f.push(this.value)})),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,chain:r,date_from:a.pickadate("picker").get("select","yyyy-mm-dd"),days:f,time_from:l.val(),time_to:s.val(),no_extras:0==i},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){Zo[e.form_id].no_time=0==c,Zo[e.form_id].no_extras=0==i,Zo[e.form_id].skip_steps.extras||0==i||"after_step_time"==Zo[e.form_id].step_extras?qr({form_id:e.form_id}):Ir({form_id:e.form_id})}})}})),u.on("click",(function(t,r){return O()&&(Zo[e.form_id].skip_steps.service_part2?(Go(this),c.trigger("click")):(o.default(".bookly-js-mobile-step-1",n).hide(),o.default(".bookly-js-mobile-step-2",n).css("display","block"),1!=r&&Wo(n))),!1})),Zo[e.form_id].skip_steps.service_part1?(u.trigger("click",[!0]),f.remove()):f.on("click",(function(){return o.default(".bookly-js-mobile-step-1",n).show(),o.default(".bookly-js-mobile-step-2",n).hide(),!1}))}}})}}function Cc(e,t,o){var n=document.createElement("script");n.type="text/javascript",void 0!==t&&(n.async=t),o instanceof Function&&(n.onload=o),document.head.appendChild(n),n.src=e}return function(e){Zo[e.form_id]=e,Zo[e.form_id].$container=o.default("#bookly-form-"+e.form_id),Zo[e.form_id].timeZone="object"===("undefined"==typeof Intl?"undefined":Jo(Intl))?Intl.DateTimeFormat().resolvedOptions().timeZone:void 0,Zo[e.form_id].timeZoneOffset=(new Date).getTimezoneOffset(),Zo[e.form_id].skip_steps.service=e.skip_steps.service_part1&&e.skip_steps.service_part2,"finished"==e.status.booking?Dr({form_id:e.form_id}):"cancelled"==e.status.booking?Mr({form_id:e.form_id}):Oc({form_id:e.form_id,new_chain:!0}),e.hasOwnProperty("facebook")&&e.facebook.enabled&&function(e){"undefined"!=typeof FB&&(FB.init({appId:e.facebook.appId,status:!0,version:"v2.12"}),FB.getLoginStatus((function(t){"connected"===t.status?(e.facebook.enabled=!1,FB.api("/me",{fields:"id,name,first_name,last_name,email,link"},(function(t){o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:o.default.extend(t,{action:"bookly_pro_facebook_login",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id}),dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){}})}))):FB.Event.subscribe("auth.statusChange",(function(t){e.facebook.onStatusChange&&e.facebook.onStatusChange(t)}))})))}(e),e.hasOwnProperty("google_maps")&&e.google_maps.enabled&&Cc("https://maps.googleapis.com/maps/api/js?key="+e.google_maps.api_key+"&libraries=places",!0),e.hasOwnProperty("stripe")&&e.stripe.enabled&&Cc("https://js.stripe.com/v3/",!0)}}();
|
1 |
+
var bookly=function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=t(jQuery),n={},r={}.hasOwnProperty,a=function(e,t){return r.call(e,t)},i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function l(e,t,o){return e(o={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&o.path)}},o.exports),o.exports}var s=function(e){return e&&e.Math==Math&&e},c=s("object"==typeof globalThis&&globalThis)||s("object"==typeof window&&window)||s("object"==typeof self&&self)||s("object"==typeof i&&i)||Function("return this")(),u=!0,f=function(e){try{return!!e()}catch(e){return!0}},d=!f((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),p=function(e){return"object"==typeof e?null!==e:"function"==typeof e},m=c.document,y=p(m)&&p(m.createElement),h=function(e){return y?m.createElement(e):{}},v=!d&&!f((function(){return 7!=Object.defineProperty(h("div"),"a",{get:function(){return 7}}).a})),_=function(e){if(!p(e))throw TypeError(String(e)+" is not an object");return e},k=function(e,t){if(!p(e))return e;var o,n;if(t&&"function"==typeof(o=e.toString)&&!p(n=o.call(e)))return n;if("function"==typeof(o=e.valueOf)&&!p(n=o.call(e)))return n;if(!t&&"function"==typeof(o=e.toString)&&!p(n=o.call(e)))return n;throw TypeError("Can't convert object to primitive value")},b=Object.defineProperty,g={f:d?b:function(e,t,o){if(_(e),t=k(t,!0),_(o),v)try{return b(e,t,o)}catch(e){}if("get"in o||"set"in o)throw TypeError("Accessors not supported");return"value"in o&&(e[t]=o.value),e}},w=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},j=d?function(e,t,o){return g.f(e,t,w(1,o))}:function(e,t,o){return e[t]=o,e},x="__core-js_shared__",S=c[x]||function(e,t){try{j(c,e,t)}catch(o){c[e]=t}return t}(x,{}),O=l((function(e){(e.exports=function(e,t){return S[e]||(S[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.6.4",mode:"pure",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})})),C=0,L=Math.random(),T=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++C+L).toString(36)},$=!!Object.getOwnPropertySymbols&&!f((function(){return!String(Symbol())})),D=$&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,M=O("wks"),E=c.Symbol,B=D?E:E&&E.withoutSetter||T,A=function(e){return a(M,e)||($&&a(E,e)?M[e]=E[e]:M[e]=B("Symbol."+e)),M[e]},P={f:A},F=g.f,R=function(e){var t=n.Symbol||(n.Symbol={});a(t,e)||F(t,e,{value:P.f(e)})};R("iterator");var q=Math.ceil,I=Math.floor,N=function(e){return isNaN(e=+e)?0:(e>0?I:q)(e)},H=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},z=function(e){return function(t,o){var n,r,a=String(H(t)),i=N(o),l=a.length;return i<0||i>=l?e?"":void 0:(n=a.charCodeAt(i))<55296||n>56319||i+1===l||(r=a.charCodeAt(i+1))<56320||r>57343?e?a.charAt(i):n:e?a.slice(i,i+2):r-56320+(n-55296<<10)+65536}},X={codeAt:z(!1),charAt:z(!0)},Y=Function.toString;"function"!=typeof S.inspectSource&&(S.inspectSource=function(e){return Y.call(e)});var Q,U,V,J=S.inspectSource,Z=c.WeakMap,G="function"==typeof Z&&/native code/.test(J(Z)),W=O("keys"),K=function(e){return W[e]||(W[e]=T(e))},ee={},te=c.WeakMap;if(G){var oe=new te,ne=oe.get,re=oe.has,ae=oe.set;Q=function(e,t){return ae.call(oe,e,t),t},U=function(e){return ne.call(oe,e)||{}},V=function(e){return re.call(oe,e)}}else{var ie=K("state");ee[ie]=!0,Q=function(e,t){return j(e,ie,t),t},U=function(e){return a(e,ie)?e[ie]:{}},V=function(e){return a(e,ie)}}var le,se,ce,ue={set:Q,get:U,has:V,enforce:function(e){return V(e)?U(e):Q(e,{})},getterFor:function(e){return function(t){var o;if(!p(t)||(o=U(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return o}}},fe={}.propertyIsEnumerable,de=Object.getOwnPropertyDescriptor,pe={f:de&&!fe.call({1:2},1)?function(e){var t=de(this,e);return!!t&&t.enumerable}:fe},me={}.toString,ye=function(e){return me.call(e).slice(8,-1)},he="".split,ve=f((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==ye(e)?he.call(e,""):Object(e)}:Object,_e=function(e){return ve(H(e))},ke=Object.getOwnPropertyDescriptor,be={f:d?ke:function(e,t){if(e=_e(e),t=k(t,!0),v)try{return ke(e,t)}catch(e){}if(a(e,t))return w(!pe.f.call(e,t),e[t])}},ge=/#|\.prototype\./,we=function(e,t){var o=xe[je(e)];return o==Oe||o!=Se&&("function"==typeof t?f(t):!!t)},je=we.normalize=function(e){return String(e).replace(ge,".").toLowerCase()},xe=we.data={},Se=we.NATIVE="N",Oe=we.POLYFILL="P",Ce=we,Le=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e},Te=function(e,t,o){if(Le(e),void 0===t)return e;switch(o){case 0:return function(){return e.call(t)};case 1:return function(o){return e.call(t,o)};case 2:return function(o,n){return e.call(t,o,n)};case 3:return function(o,n,r){return e.call(t,o,n,r)}}return function(){return e.apply(t,arguments)}},$e=be.f,De=function(e){var t=function(t,o,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,o)}return new e(t,o,n)}return e.apply(this,arguments)};return t.prototype=e.prototype,t},Me=function(e,t){var o,r,i,l,s,u,f,d,p=e.target,m=e.global,y=e.stat,h=e.proto,v=m?c:y?c[p]:(c[p]||{}).prototype,_=m?n:n[p]||(n[p]={}),k=_.prototype;for(i in t)o=!Ce(m?i:p+(y?".":"#")+i,e.forced)&&v&&a(v,i),s=_[i],o&&(u=e.noTargetGet?(d=$e(v,i))&&d.value:v[i]),l=o&&u?u:t[i],o&&typeof s==typeof l||(f=e.bind&&o?Te(l,c):e.wrap&&o?De(l):h&&"function"==typeof l?Te(Function.call,l):l,(e.sham||l&&l.sham||s&&s.sham)&&j(f,"sham",!0),_[i]=f,h&&(a(n,r=p+"Prototype")||j(n,r,{}),n[r][i]=l,e.real&&k&&!k[i]&&j(k,i,l)))},Ee=function(e){return Object(H(e))},Be=!f((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),Ae=K("IE_PROTO"),Pe=Object.prototype,Fe=Be?Object.getPrototypeOf:function(e){return e=Ee(e),a(e,Ae)?e[Ae]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?Pe:null},Re=(A("iterator"),!1);[].keys&&("next"in(ce=[].keys())?(se=Fe(Fe(ce)))!==Object.prototype&&(le=se):Re=!0),null==le&&(le={});var qe,Ie={IteratorPrototype:le,BUGGY_SAFARI_ITERATORS:Re},Ne=Math.min,He=function(e){return e>0?Ne(N(e),9007199254740991):0},ze=Math.max,Xe=Math.min,Ye=function(e,t){var o=N(e);return o<0?ze(o+t,0):Xe(o,t)},Qe=function(e){return function(t,o,n){var r,a=_e(t),i=He(a.length),l=Ye(n,i);if(e&&o!=o){for(;i>l;)if((r=a[l++])!=r)return!0}else for(;i>l;l++)if((e||l in a)&&a[l]===o)return e||l||0;return!e&&-1}},Ue={includes:Qe(!0),indexOf:Qe(!1)},Ve=Ue.indexOf,Je=function(e,t){var o,n=_e(e),r=0,i=[];for(o in n)!a(ee,o)&&a(n,o)&&i.push(o);for(;t.length>r;)a(n,o=t[r++])&&(~Ve(i,o)||i.push(o));return i},Ze=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ge=Object.keys||function(e){return Je(e,Ze)},We=d?Object.defineProperties:function(e,t){_(e);for(var o,n=Ge(t),r=n.length,a=0;r>a;)g.f(e,o=n[a++],t[o]);return e},Ke=function(e){return"function"==typeof e?e:void 0},et=function(e,t){return arguments.length<2?Ke(n[e])||Ke(c[e]):n[e]&&n[e][t]||c[e]&&c[e][t]},tt=et("document","documentElement"),ot=K("IE_PROTO"),nt=function(){},rt=function(e){return"<script>"+e+"</"+"script>"},at=function(){try{qe=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t;at=qe?function(e){e.write(rt("")),e.close();var t=e.parentWindow.Object;return e=null,t}(qe):((t=h("iframe")).style.display="none",tt.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(rt("document.F=Object")),e.close(),e.F);for(var o=Ze.length;o--;)delete at.prototype[Ze[o]];return at()};ee[ot]=!0;var it=Object.create||function(e,t){var o;return null!==e?(nt.prototype=_(e),o=new nt,nt.prototype=null,o[ot]=e):o=at(),void 0===t?o:We(o,t)},lt={};lt[A("toStringTag")]="z";var st="[object z]"===String(lt),ct=A("toStringTag"),ut="Arguments"==ye(function(){return arguments}()),ft=st?ye:function(e){var t,o,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(o=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),ct))?o:ut?ye(t):"Object"==(n=ye(t))&&"function"==typeof t.callee?"Arguments":n},dt=st?{}.toString:function(){return"[object "+ft(this)+"]"},pt=g.f,mt=A("toStringTag"),yt=function(e,t,o,n){if(e){var r=o?e:e.prototype;a(r,mt)||pt(r,mt,{configurable:!0,value:t}),n&&!st&&j(r,"toString",dt)}},ht={},vt=Ie.IteratorPrototype,_t=function(){return this},kt=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,o={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(o,[]),t=o instanceof Array}catch(e){}return function(o,n){return _(o),function(e){if(!p(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype")}(n),t?e.call(o,n):o.__proto__=n,o}}():void 0),bt=function(e,t,o,n){n&&n.enumerable?e[t]=o:j(e,t,o)},gt=Ie.IteratorPrototype,wt=Ie.BUGGY_SAFARI_ITERATORS,jt=A("iterator"),xt="keys",St="values",Ot="entries",Ct=function(){return this},Lt=function(e,t,o,n,r,a,i){!function(e,t,o){var n=t+" Iterator";e.prototype=it(vt,{next:w(1,o)}),yt(e,n,!1,!0),ht[n]=_t}(o,t,n);var l,s,c,u=function(e){if(e===r&&y)return y;if(!wt&&e in p)return p[e];switch(e){case xt:case St:case Ot:return function(){return new o(this,e)}}return function(){return new o(this)}},f=t+" Iterator",d=!1,p=e.prototype,m=p[jt]||p["@@iterator"]||r&&p[r],y=!wt&&m||u(r),h="Array"==t&&p.entries||m;if(h&&(l=Fe(h.call(new e)),gt!==Object.prototype&&l.next&&(yt(l,f,!0,!0),ht[f]=Ct)),r==St&&m&&m.name!==St&&(d=!0,y=function(){return m.call(this)}),i&&p[jt]!==y&&j(p,jt,y),ht[t]=y,r)if(s={values:u(St),keys:a?y:u(xt),entries:u(Ot)},i)for(c in s)(wt||d||!(c in p))&&bt(p,c,s[c]);else Me({target:t,proto:!0,forced:wt||d},s);return s},Tt=X.charAt,$t="String Iterator",Dt=ue.set,Mt=ue.getterFor($t);Lt(String,"String",(function(e){Dt(this,{type:$t,string:String(e),index:0})}),(function(){var e,t=Mt(this),o=t.string,n=t.index;return n>=o.length?{value:void 0,done:!0}:(e=Tt(o,n),t.index+=e.length,{value:e,done:!1})}));var Et="Array Iterator",Bt=ue.set,At=ue.getterFor(Et);Lt(Array,"Array",(function(e,t){Bt(this,{type:Et,target:_e(e),index:0,kind:t})}),(function(){var e=At(this),t=e.target,o=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==o?{value:n,done:!1}:"values"==o?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}}),"values");ht.Arguments=ht.Array;var Pt=A("toStringTag");for(var Ft in{CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}){var Rt=c[Ft],qt=Rt&&Rt.prototype;qt&&ft(qt)!==Pt&&j(qt,Pt,Ft),ht[Ft]=ht.Array}var It,Nt,Ht=P.f("iterator"),zt=Array.isArray||function(e){return"Array"==ye(e)},Xt=function(e,t,o){var n=k(t);n in e?g.f(e,n,w(0,o)):e[n]=o},Yt=A("species"),Qt=function(e,t){var o;return zt(e)&&("function"!=typeof(o=e.constructor)||o!==Array&&!zt(o.prototype)?p(o)&&null===(o=o[Yt])&&(o=void 0):o=void 0),new(void 0===o?Array:o)(0===t?0:t)},Ut=et("navigator","userAgent")||"",Vt=c.process,Jt=Vt&&Vt.versions,Zt=Jt&&Jt.v8;Zt?Nt=(It=Zt.split("."))[0]+It[1]:Ut&&(!(It=Ut.match(/Edge\/(\d+)/))||It[1]>=74)&&(It=Ut.match(/Chrome\/(\d+)/))&&(Nt=It[1]);var Gt=Nt&&+Nt,Wt=A("species"),Kt=function(e){return Gt>=51||!f((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[e](Boolean).foo}))},eo=A("isConcatSpreadable"),to=9007199254740991,oo="Maximum allowed index exceeded",no=Gt>=51||!f((function(){var e=[];return e[eo]=!1,e.concat()[0]!==e})),ro=Kt("concat"),ao=function(e){if(!p(e))return!1;var t=e[eo];return void 0!==t?!!t:zt(e)};Me({target:"Array",proto:!0,forced:!no||!ro},{concat:function(e){var t,o,n,r,a,i=Ee(this),l=Qt(i,0),s=0;for(t=-1,n=arguments.length;t<n;t++)if(ao(a=-1===t?i:arguments[t])){if(s+(r=He(a.length))>to)throw TypeError(oo);for(o=0;o<r;o++,s++)o in a&&Xt(l,s,a[o])}else{if(s>=to)throw TypeError(oo);Xt(l,s++,a)}return l.length=s,l}});var io=Ze.concat("length","prototype"),lo={f:Object.getOwnPropertyNames||function(e){return Je(e,io)}},so=lo.f,co={}.toString,uo="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],fo={f:function(e){return uo&&"[object Window]"==co.call(e)?function(e){try{return so(e)}catch(e){return uo.slice()}}(e):so(_e(e))}},po={f:Object.getOwnPropertySymbols},mo=[].push,yo=function(e){var t=1==e,o=2==e,n=3==e,r=4==e,a=6==e,i=5==e||a;return function(l,s,c,u){for(var f,d,p=Ee(l),m=ve(p),y=Te(s,c,3),h=He(m.length),v=0,_=u||Qt,k=t?_(l,h):o?_(l,0):void 0;h>v;v++)if((i||v in m)&&(d=y(f=m[v],v,p),e))if(t)k[v]=d;else if(d)switch(e){case 3:return!0;case 5:return f;case 6:return v;case 2:mo.call(k,f)}else if(r)return!1;return a?-1:n||r?r:k}},ho={forEach:yo(0),map:yo(1),filter:yo(2),some:yo(3),every:yo(4),find:yo(5),findIndex:yo(6)},vo=ho.forEach,_o=K("hidden"),ko="Symbol",bo=A("toPrimitive"),go=ue.set,wo=ue.getterFor(ko),jo=Object.prototype,xo=c.Symbol,So=et("JSON","stringify"),Oo=be.f,Co=g.f,Lo=fo.f,To=pe.f,$o=O("symbols"),Do=O("op-symbols"),Mo=O("string-to-symbol-registry"),Eo=O("symbol-to-string-registry"),Bo=O("wks"),Ao=c.QObject,Po=!Ao||!Ao.prototype||!Ao.prototype.findChild,Fo=d&&f((function(){return 7!=it(Co({},"a",{get:function(){return Co(this,"a",{value:7}).a}})).a}))?function(e,t,o){var n=Oo(jo,t);n&&delete jo[t],Co(e,t,o),n&&e!==jo&&Co(jo,t,n)}:Co,Ro=function(e,t){var o=$o[e]=it(xo.prototype);return go(o,{type:ko,tag:e,description:t}),d||(o.description=t),o},qo=D?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof xo},Io=function(e,t,o){e===jo&&Io(Do,t,o),_(e);var n=k(t,!0);return _(o),a($o,n)?(o.enumerable?(a(e,_o)&&e[_o][n]&&(e[_o][n]=!1),o=it(o,{enumerable:w(0,!1)})):(a(e,_o)||Co(e,_o,w(1,{})),e[_o][n]=!0),Fo(e,n,o)):Co(e,n,o)},No=function(e,t){_(e);var o=_e(t),n=Ge(o).concat(Yo(o));return vo(n,(function(t){d&&!Ho.call(o,t)||Io(e,t,o[t])})),e},Ho=function(e){var t=k(e,!0),o=To.call(this,t);return!(this===jo&&a($o,t)&&!a(Do,t))&&(!(o||!a(this,t)||!a($o,t)||a(this,_o)&&this[_o][t])||o)},zo=function(e,t){var o=_e(e),n=k(t,!0);if(o!==jo||!a($o,n)||a(Do,n)){var r=Oo(o,n);return!r||!a($o,n)||a(o,_o)&&o[_o][n]||(r.enumerable=!0),r}},Xo=function(e){var t=Lo(_e(e)),o=[];return vo(t,(function(e){a($o,e)||a(ee,e)||o.push(e)})),o},Yo=function(e){var t=e===jo,o=Lo(t?Do:_e(e)),n=[];return vo(o,(function(e){!a($o,e)||t&&!a(jo,e)||n.push($o[e])})),n};if($||(bt((xo=function(){if(this instanceof xo)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=T(e),o=function(e){this===jo&&o.call(Do,e),a(this,_o)&&a(this[_o],t)&&(this[_o][t]=!1),Fo(this,t,w(1,e))};return d&&Po&&Fo(jo,t,{configurable:!0,set:o}),Ro(t,e)}).prototype,"toString",(function(){return wo(this).tag})),bt(xo,"withoutSetter",(function(e){return Ro(T(e),e)})),pe.f=Ho,g.f=Io,be.f=zo,lo.f=fo.f=Xo,po.f=Yo,P.f=function(e){return Ro(A(e),e)},d&&Co(xo.prototype,"description",{configurable:!0,get:function(){return wo(this).description}})),Me({global:!0,wrap:!0,forced:!$,sham:!$},{Symbol:xo}),vo(Ge(Bo),(function(e){R(e)})),Me({target:ko,stat:!0,forced:!$},{for:function(e){var t=String(e);if(a(Mo,t))return Mo[t];var o=xo(t);return Mo[t]=o,Eo[o]=t,o},keyFor:function(e){if(!qo(e))throw TypeError(e+" is not a symbol");if(a(Eo,e))return Eo[e]},useSetter:function(){Po=!0},useSimple:function(){Po=!1}}),Me({target:"Object",stat:!0,forced:!$,sham:!d},{create:function(e,t){return void 0===t?it(e):No(it(e),t)},defineProperty:Io,defineProperties:No,getOwnPropertyDescriptor:zo}),Me({target:"Object",stat:!0,forced:!$},{getOwnPropertyNames:Xo,getOwnPropertySymbols:Yo}),Me({target:"Object",stat:!0,forced:f((function(){po.f(1)}))},{getOwnPropertySymbols:function(e){return po.f(Ee(e))}}),So){var Qo=!$||f((function(){var e=xo();return"[null]"!=So([e])||"{}"!=So({a:e})||"{}"!=So(Object(e))}));Me({target:"JSON",stat:!0,forced:Qo},{stringify:function(e,t,o){for(var n,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(n=t,(p(t)||void 0!==e)&&!qo(e))return zt(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!qo(t))return t}),r[1]=t,So.apply(null,r)}})}xo.prototype[bo]||j(xo.prototype,bo,xo.prototype.valueOf),yt(xo,ko),ee[_o]=!0,R("asyncIterator"),R("hasInstance"),R("isConcatSpreadable"),R("match"),R("matchAll"),R("replace"),R("search"),R("species"),R("split"),R("toPrimitive"),R("toStringTag"),R("unscopables"),yt(Math,"Math",!0),yt(c.JSON,"JSON",!0);var Uo=n.Symbol;R("asyncDispose"),R("dispose"),R("observable"),R("patternMatch"),R("replaceAll");var Vo=Uo;function Jo(e){return(Jo="function"==typeof Vo&&"symbol"==typeof Ht?function(e){return typeof e}:function(e){return e&&"function"==typeof Vo&&e.constructor===Vo&&e!==Vo.prototype?"symbol":typeof e})(e)}var Zo={};function Go(e){var t=Ladda.create(e);return t.start(),t}function Wo(e){var t=e.offset().top,n=o.default(window).scrollTop();(t<o.default(window).scrollTop()||t>n+window.innerHeight)&&o.default("html,body").animate({scrollTop:t-24},500)}var Ko=[].slice,en=/MSIE .\./.test(Ut),tn=function(e){return function(t,o){var n=arguments.length>2,r=n?Ko.call(arguments,2):void 0;return e(n?function(){("function"==typeof t?t:Function(t)).apply(this,r)}:t,o)}};Me({global:!0,bind:!0,forced:en},{setTimeout:tn(c.setTimeout),setInterval:tn(c.setInterval)});var on=n.setTimeout;Me({target:"String",proto:!0},{repeat:"".repeat||function(e){var t=String(H(this)),o="",n=N(e);if(n<0||n==1/0)throw RangeError("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(t+=t))1&n&&(o+=t);return o}});var nn=function(e){return n[e+"Prototype"]},rn=nn("String").repeat,an=String.prototype,ln=function(e){var t=e.repeat;return"string"==typeof e||e===an||e instanceof String&&t===an.repeat?rn:t},sn=et("JSON","stringify"),cn=/[\uD800-\uDFFF]/g,un=/^[\uD800-\uDBFF]$/,fn=/^[\uDC00-\uDFFF]$/,dn=function(e,t,o){var n=o.charAt(t-1),r=o.charAt(t+1);return un.test(e)&&!fn.test(r)||fn.test(e)&&!un.test(n)?"\\u"+e.charCodeAt(0).toString(16):e},pn=f((function(){return'"\\udf06\\ud834"'!==sn("\udf06\ud834")||'"\\udead"'!==sn("\udead")}));sn&&Me({target:"JSON",stat:!0,forced:pn},{stringify:function(e,t,o){var n=sn.apply(null,arguments);return"string"==typeof n?n.replace(cn,dn):n}}),n.JSON||(n.JSON={stringify:JSON.stringify});var mn=function(e,t,o){return n.JSON.stringify.apply(null,arguments)},yn="\t\n\v\f\r \u2028\u2029\ufeff",hn="["+yn+"]",vn=RegExp("^"+hn+hn+"*"),_n=RegExp(hn+hn+"*$"),kn=function(e){return function(t){var o=String(H(t));return 1&e&&(o=o.replace(vn,"")),2&e&&(o=o.replace(_n,"")),o}},bn={start:kn(1),end:kn(2),trim:kn(3)},gn=bn.trim,wn=c.parseInt,jn=/^[+-]?0[Xx]/,xn=8!==wn(yn+"08")||22!==wn(yn+"0x16")?function(e,t){var o=gn(String(e));return wn(o,t>>>0||(jn.test(o)?16:10))}:wn;Me({global:!0,forced:parseInt!=xn},{parseInt:xn});var Sn=n.parseInt,On=bn.trim,Cn=c.parseFloat,Ln=1/Cn(yn+"-0")!=-1/0?function(e){var t=On(String(e)),o=Cn(t);return 0===o&&"-"==t.charAt(0)?-0:o}:Cn;Me({global:!0,forced:parseFloat!=Ln},{parseFloat:Ln});var Tn=n.parseFloat,$n=Object.defineProperty,Dn={},Mn=function(e){throw e},En=function(e,t){if(a(Dn,e))return Dn[e];t||(t={});var o=[][e],n=!!a(t,"ACCESSORS")&&t.ACCESSORS,r=a(t,0)?t[0]:Mn,i=a(t,1)?t[1]:void 0;return Dn[e]=!!o&&!f((function(){if(n&&!d)return!0;var e={length:-1};n?$n(e,1,{enumerable:!0,get:Mn}):e[1]=1,o.call(e,r,i)}))},Bn=ho.find,An="find",Pn=!0,Fn=En(An);An in[]&&Array(1).find((function(){Pn=!1})),Me({target:"Array",proto:!0,forced:Pn||!Fn},{find:function(e){return Bn(this,e,arguments.length>1?arguments[1]:void 0)}});var Rn=nn("Array").find,qn=Array.prototype,In=function(e){var t=e.find;return e===qn||e instanceof Array&&t===qn.find?Rn:t},Nn=Kt("splice"),Hn=En("splice",{ACCESSORS:!0,0:0,1:2}),zn=Math.max,Xn=Math.min,Yn=9007199254740991,Qn="Maximum allowed length exceeded";Me({target:"Array",proto:!0,forced:!Nn||!Hn},{splice:function(e,t){var o,n,r,a,i,l,s=Ee(this),c=He(s.length),u=Ye(e,c),f=arguments.length;if(0===f?o=n=0:1===f?(o=0,n=c-u):(o=f-2,n=Xn(zn(N(t),0),c-u)),c+o-n>Yn)throw TypeError(Qn);for(r=Qt(s,n),a=0;a<n;a++)(i=u+a)in s&&Xt(r,a,s[i]);if(r.length=n,o<n){for(a=u;a<c-n;a++)l=a+o,(i=a+n)in s?s[l]=s[i]:delete s[l];for(a=c;a>c-n+o;a--)delete s[a-1]}else if(o>n)for(a=c-n;a>u;a--)l=a+o-1,(i=a+n-1)in s?s[l]=s[i]:delete s[l];for(a=0;a<o;a++)s[a+u]=arguments[a+2];return s.length=c-n+o,r}});var Un=nn("Array").splice,Vn=Array.prototype,Jn=function(e){var t=e.splice;return e===Vn||e instanceof Array&&t===Vn.splice?Un:t},Zn=nn("Array").concat,Gn=Array.prototype,Wn=function(e){var t=e.concat;return e===Gn||e instanceof Array&&t===Gn.concat?Zn:t},Kn=function(e,t){var o=[][e];return!!o&&f((function(){o.call(null,t||function(){throw 1},1)}))},er=ho.forEach,tr=Kn("forEach"),or=En("forEach"),nr=tr&&or?[].forEach:function(e){return er(this,e,arguments.length>1?arguments[1]:void 0)};Me({target:"Array",proto:!0,forced:[].forEach!=nr},{forEach:nr});var rr=nn("Array").forEach,ar=Array.prototype,ir={DOMTokenList:!0,NodeList:!0},lr=function(e){var t=e.forEach;return e===ar||e instanceof Array&&t===ar.forEach||ir.hasOwnProperty(ft(e))?rr:t},sr=ho.every,cr=Kn("every"),ur=En("every");Me({target:"Array",proto:!0,forced:!cr||!ur},{every:function(e){return sr(this,e,arguments.length>1?arguments[1]:void 0)}});var fr=nn("Array").every,dr=Array.prototype,pr=function(e){var t=e.every;return e===dr||e instanceof Array&&t===dr.every?fr:t},mr=Kt("slice"),yr=En("slice",{ACCESSORS:!0,0:0,1:2}),hr=A("species"),vr=[].slice,_r=Math.max;Me({target:"Array",proto:!0,forced:!mr||!yr},{slice:function(e,t){var o,n,r,a=_e(this),i=He(a.length),l=Ye(e,i),s=Ye(void 0===t?i:t,i);if(zt(a)&&("function"!=typeof(o=a.constructor)||o!==Array&&!zt(o.prototype)?p(o)&&null===(o=o[hr])&&(o=void 0):o=void 0,o===Array||void 0===o))return vr.call(a,l,s);for(n=new(void 0===o?Array:o)(_r(s-l,0)),r=0;l<s;l++,r++)l in a&&Xt(n,r,a[l]);return n.length=r,n}});var kr=nn("Array").slice,br=Array.prototype,gr=function(e){var t=e.slice;return e===br||e instanceof Array&&t===br.slice?kr:t},wr=gr,jr=ho.filter,xr=Kt("filter"),Sr=En("filter");Me({target:"Array",proto:!0,forced:!xr||!Sr},{filter:function(e){return jr(this,e,arguments.length>1?arguments[1]:void 0)}});var Or=nn("Array").filter,Cr=Array.prototype,Lr=function(e){var t=e.filter;return e===Cr||e instanceof Array&&t===Cr.filter?Or:t},Tr=ho.map,$r=Kt("map"),Dr=En("map");Me({target:"Array",proto:!0,forced:!$r||!Dr},{map:function(e){return Tr(this,e,arguments.length>1?arguments[1]:void 0)}});var Mr=nn("Array").map,Er=Array.prototype,Br=function(e){var t=e.map;return e===Er||e instanceof Array&&t===Er.map?Mr:t};function Ar(e){var t=o.default.extend({action:"bookly_render_complete",csrf_token:BooklyL10n.csrf_token},e),n=Zo[e.form_id].$container;o.default.ajax({url:BooklyL10n.ajaxurl,data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){e.success&&(e.final_step_url&&!t.error?document.location.href=e.final_step_url:(n.html(e.html),Wo(n)))}})}function Pr(e){var t=Zo[e.form_id].$container;o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_render_payment",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,page_url:document.URL.split("#")[0]},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(n){if(n.success){if(n.disabled)return void Fr(e.form_id);if(t.html(n.html),Wo(t),"cancelled"==Zo[e.form_id].status.booking&&(Zo[e.form_id].status.booking="ok"),In(t).call(t,"#bookly-stripe-card-field").length)if(n.stripe_publishable_key){var r=Stripe(n.stripe_publishable_key,{betas:["payment_intent_beta_3"]}),a=r.elements().create("card");a.mount("#bookly-stripe-card-field")}else In(t).call(t,".bookly-stripe #bookly-stripe-card-field").hide(),In(t).call(t,".pay-card .bookly-js-next-step").prop("disabled",!0),In(t).call(t,".bookly-stripe .bookly-js-card-error").text("Please call Stripe() with your publishable key. You used an empty string.");var i=o.default(".bookly-payment",t),l=o.default(".bookly-js-apply-coupon",t),s=o.default("input.bookly-user-coupon",t),c=o.default(".bookly-js-coupon-error",t),u=o.default("input[type=radio][name=bookly-full-payment]",t),f=o.default(".bookly-info-text-coupon",t),d=o.default(".bookly-gateway-buttons,form.bookly-authorize_net,form.bookly-stripe",t);i.on("click",(function(){d.hide(),o.default(".bookly-gateway-buttons.pay-"+o.default(this).val(),t).show(),"card"==o.default(this).val()&&o.default("form.bookly-"+o.default(this).data("form"),t).show()})),i.eq(0).trigger("click"),u.on("change",(function(){var t={action:"bookly_deposit_payments_apply_payment_method",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,deposit_full:o.default(this).val()};o.default(this).hide(),o.default(this).prev().css("display","inline-block"),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){t.success&&Pr({form_id:e.form_id})}})})),l.on("click",(function(t){var n=Go(this);c.text(""),s.removeClass("bookly-error");var r={action:"bookly_coupons_apply_coupon",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,coupon_code:s.val()};o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:r,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){t.success?Pr({form_id:e.form_id}):(c.html(Zo[e.form_id].errors[t.error]),s.addClass("bookly-error"),f.html(t.text),Wo(c),n.stop())},error:function(){n.stop()}})})),o.default(".bookly-js-next-step",t).on("click",(function(n){var i,l=Go(this);if(o.default(".bookly-payment[value=local]",t).is(":checked")||o.default(this).hasClass("bookly-js-coupon-payment"))n.preventDefault(),Fr(e.form_id);else if(o.default(".bookly-payment[value=card]",t).is(":checked"))if(o.default(".bookly-payment[data-form=stripe]",t).is(":checked"))o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_stripe_create_intent",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(n){n.success?r.handleCardPayment(n.intent_secret,a).then((function(r){r.error?o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_stripe_failed_payment",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,intent_id:n.intent_id},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){e.success&&(l.stop(),In(t).call(t,".bookly-stripe .bookly-js-card-error").text(r.error.message))}}):Ar({form_id:e.form_id})})):(l.stop(),In(t).call(t,".bookly-stripe .bookly-js-card-error").text(n.error_message))}});else{i=In(t).call(t,".bookly-authorize_net"),n.preventDefault();!function(t){o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){t.success?Ar({form_id:e.form_id}):"cart_item_not_available"==t.error?Rr(t,e.form_id):"payment_error"==t.error&&(l.stop(),In(i).call(i,".bookly-js-card-error").text(t.error_message))}})}({action:"bookly_authorize_net_aim_payment",csrf_token:BooklyL10n.csrf_token,card:{number:In(i).call(i,'input[name="card_number"]').val(),cvc:In(i).call(i,'input[name="card_cvc"]').val(),exp_month:In(i).call(i,'select[name="card_exp_month"]').val(),exp_year:In(i).call(i,'select[name="card_exp_year"]').val()},form_id:e.form_id})}else(o.default(".bookly-payment[value=paypal]",t).is(":checked")||o.default(".bookly-payment[value=2checkout]",t).is(":checked")||o.default(".bookly-payment[value=payu_biz]",t).is(":checked")||o.default(".bookly-payment[value=payu_latam]",t).is(":checked")||o.default(".bookly-payment[value=payson]",t).is(":checked")||o.default(".bookly-payment[value=mollie]",t).is(":checked")||o.default(".bookly-payment[value=cloud_stripe]",t).is(":checked"))&&(n.preventDefault(),i=o.default(this).closest("form"),In(i).call(i,"input.bookly-payment-id").length>0?o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,data:{action:"bookly_pro_save_pending_appointment",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,payment_type:i.data("gateway")},dataType:"json",success:function(t){t.success?(In(i).call(i,"input.bookly-payment-id").val(t.payment_id),i.submit()):"cart_item_not_available"==t.error&&Rr(t,e.form_id)}}):o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,data:{action:"bookly_check_cart",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id},dataType:"json",success:function(t){t.success?i.submit():"cart_item_not_available"==t.error&&Rr(t,e.form_id)}}))})),o.default(".bookly-js-back-step",t).on("click",(function(t){t.preventDefault(),Go(this),qr({form_id:e.form_id})}))}}})}function Fr(e){o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,data:{action:"bookly_save_appointment",csrf_token:BooklyL10n.csrf_token,form_id:e},dataType:"json"}).done((function(t){t.success?Ar({form_id:e}):"cart_item_not_available"==t.error&&Rr(t,e)}))}function Rr(e,t){Zo[t].skip_steps.cart?zr({form_id:t},Zo[t].errors[e.error]):Ir({form_id:t},{failed_key:e.failed_cart_key,message:Zo[t].errors[e.error]})}function qr(e){var t=o.default.extend({action:"bookly_render_details",csrf_token:BooklyL10n.csrf_token},e),n=Zo[e.form_id].$container;o.default.ajax({url:BooklyL10n.ajaxurl,data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){if(t.success){var r,a;n.html(t.html),Wo(n);var i=t.intlTelInput,l=t.update_details_dialog,s=t.woocommerce;Zo[e.form_id].hasOwnProperty("google_maps")&&Zo[e.form_id].google_maps.enabled&&(n||o.default(".bookly-form .bookly-details-step")).each((function(){!function(e){var t=In(e).call(e,".bookly-js-cst-address-autocomplete");if(!t.length)return!1;var o=new google.maps.places.Autocomplete(t[0],{types:["geocode"]}),n=[{selector:".bookly-js-address-country",val:function(){return r("country")},short:function(){return r("country",!0)}},{selector:".bookly-js-address-postcode",val:function(){return r("postal_code")}},{selector:".bookly-js-address-city",val:function(){return r("locality")||r("administrative_area_level_3")}},{selector:".bookly-js-address-state",val:function(){return r("administrative_area_level_1")},short:function(){return r("administrative_area_level_1",!0)}},{selector:".bookly-js-address-street",val:function(){return r("route")}},{selector:".bookly-js-address-street_number",val:function(){return r("street_number")}}],r=function(e,t){for(var n=o.getPlace().address_components,r=0;r<n.length;r++)if(n[r].types[0]===e)return t?n[r].short_name:n[r].long_name;return""};o.addListener("place_changed",(function(){lr(n).call(n,(function(t){var o=In(e).call(e,t.selector);0!==o.length&&(o.val(t.val()),"function"==typeof t.short&&o.data("short",t.short()))}))}))}(o.default(this))})),o.default(document.body).trigger("bookly.render.step_detail",[n]);var c="",u=o.default(".bookly-js-guest",n),f=o.default(".bookly-js-user-phone-input",n),d=o.default(".bookly-js-user-email",n),p=o.default(".bookly-js-user-email-confirm",n),m=o.default(".bookly-js-select-birthday-day",n),y=o.default(".bookly-js-select-birthday-month",n),h=o.default(".bookly-js-select-birthday-year",n),v=o.default(".bookly-js-address-country",n),_=o.default(".bookly-js-address-state",n),k=o.default(".bookly-js-address-postcode",n),b=o.default(".bookly-js-address-city",n),g=o.default(".bookly-js-address-street",n),w=o.default(".bookly-js-address-street_number",n),j=o.default(".bookly-js-address-additional_address",n),x=o.default(".bookly-js-address-country-error",n),S=o.default(".bookly-js-address-state-error",n),O=o.default(".bookly-js-address-postcode-error",n),C=o.default(".bookly-js-address-city-error",n),L=o.default(".bookly-js-address-street-error",n),T=o.default(".bookly-js-address-street_number-error",n),$=o.default(".bookly-js-address-additional_address-error",n),D=o.default(".bookly-js-select-birthday-day-error",n),M=o.default(".bookly-js-select-birthday-month-error",n),E=o.default(".bookly-js-select-birthday-year-error",n),B=o.default(".bookly-js-full-name",n),A=o.default(".bookly-js-first-name",n),P=o.default(".bookly-js-last-name",n),F=o.default(".bookly-js-user-notes",n),R=o.default(".bookly-custom-field",n),q=o.default(".bookly-js-info-field",n),I=o.default(".bookly-js-user-phone-error",n),N=o.default(".bookly-js-user-email-error",n),H=o.default(".bookly-js-user-email-confirm-error",n),z=o.default(".bookly-js-full-name-error",n),X=o.default(".bookly-js-first-name-error",n),Y=o.default(".bookly-js-last-name-error",n),Q=o.default(".bookly-js-captcha-img",n),U=o.default(".bookly-custom-field-error",n),V=o.default(".bookly-js-info-field-error",n),J=o.default(".bookly-js-modal",n),Z=o.default(".bookly-js-login",n),G=o.default(".bookly-js-cst-duplicate",n),W=o.default(".bookly-js-next-step",n),K=Br(r=o.default([D,M,E,x,S,O,C,L,T,$,z,X,Y,I,N,H,U,V])).call(r,o.default.fn.toArray),ee=Br(a=o.default([m,y,h,b,v,k,_,g,w,j,B,A,P,f,d,p,R,q])).call(a,o.default.fn.toArray),te=function(e){if(B.val(e.data.full_name).removeClass("bookly-error"),A.val(e.data.first_name).removeClass("bookly-error"),P.val(e.data.last_name).removeClass("bookly-error"),e.data.birthday){var t=e.data.birthday.split("-"),o=Sn(t[0]),r=Sn(t[1]),a=Sn(t[2]);m.val(a).removeClass("bookly-error"),y.val(r).removeClass("bookly-error"),h.val(o).removeClass("bookly-error")}var l;(e.data.phone&&(f.removeClass("bookly-error"),i.enabled?f.intlTelInput("setNumber",e.data.phone):f.val(e.data.phone)),e.data.country&&v.val(e.data.country).removeClass("bookly-error"),e.data.state&&_.val(e.data.state).removeClass("bookly-error"),e.data.postcode&&k.val(e.data.postcode).removeClass("bookly-error"),e.data.city&&b.val(e.data.city).removeClass("bookly-error"),e.data.street&&g.val(e.data.street).removeClass("bookly-error"),e.data.street_number&&w.val(e.data.street_number).removeClass("bookly-error"),e.data.additional_address&&j.val(e.data.additional_address).removeClass("bookly-error"),d.val(e.data.email).removeClass("bookly-error"),e.data.info_fields)&&lr(l=e.data.info_fields).call(l,(function(e){var t,o,r=In(n).call(n,'.bookly-js-info-field-row[data-id="'+e.id+'"]');switch(r.data("type")){case"checkboxes":lr(t=e.value).call(t,(function(e){var t;Lr(t=In(r).call(r,".bookly-js-info-field")).call(t,(function(){return this.value==e})).prop("checked",!0)}));break;case"radio-buttons":Lr(o=In(r).call(r,".bookly-js-info-field")).call(o,(function(){return this.value==e.value})).prop("checked",!0);break;default:In(r).call(r,".bookly-js-info-field").val(e.value)}}));Lr(K).call(K,":not(.bookly-custom-field-error)").html("")};i.enabled&&f.intlTelInput({preferredCountries:[i.country],initialCountry:i.country,geoIpLookup:function(e){o.default.get("https://ipinfo.io",(function(){}),"jsonp").always((function(t){var o=t&&t.country?t.country:"";e(o)}))},utilsScript:i.utils}),o.default("body > .bookly-js-modal."+e.form_id).remove(),J.addClass(e.form_id).appendTo("body").on("click",".bookly-js-close",(function(e){var t,n,r;e.preventDefault(),In(t=In(n=In(r=o.default(e.delegateTarget).removeClass("bookly-in")).call(r,"form").trigger("reset").end()).call(n,"input").removeClass("bookly-error").end()).call(t,".bookly-label-error").html("")})),o.default(".bookly-js-login-show",n).on("click",(function(e){e.preventDefault(),Z.addClass("bookly-in")})),o.default("button:submit",Z).on("click",(function(t){t.preventDefault();var n=Ladda.create(this);n.start(),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_wp_user_login",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,log:In(Z).call(Z,'[name="log"]').val(),pwd:In(Z).call(Z,'[name="pwd"]').val(),rememberme:In(Z).call(Z,'[name="rememberme"]').prop("checked")?1:0},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){t.success?(BooklyL10n.csrf_token=t.data.csrf_token,u.fadeOut("slow"),te(t),Z.removeClass("bookly-in")):"incorrect_username_password"==t.error&&(In(Z).call(Z,"input").addClass("bookly-error"),In(Z).call(Z,".bookly-label-error").html(Zo[e.form_id].errors[t.error])),n.stop()}})})),o.default("button:submit",G).on("click",(function(e){e.preventDefault(),G.removeClass("bookly-in"),W.trigger("click",[1])})),Zo[e.form_id].hasOwnProperty("facebook")&&Zo[e.form_id].facebook.enabled&&"undefined"!=typeof FB&&(FB.XFBML.parse(o.default(".bookly-js-fb-login-button",n).parent().get(0)),Zo[e.form_id].facebook.onStatusChange=function(t){"connected"===t.status&&(Zo[e.form_id].facebook.enabled=!1,Zo[e.form_id].facebook.onStatusChange=void 0,u.fadeOut("slow",(function(){o.default(".bookly-js-fb-login-button").hide()})),FB.api("/me",{fields:"id,name,first_name,last_name,email"},(function(t){o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:o.default.extend(t,{action:"bookly_pro_facebook_login",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id}),dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){e.success&&te(e)}})})))}),W.on("click",(function(t,r){t.preventDefault();var a,u=[],R={},q=[],Q=Go(this);o.default("div.bookly-js-info-field-row",n).each((function(){var e=o.default(this);switch(e.data("type")){case"text-field":u.push({id:e.data("id"),value:In(e).call(e,"input.bookly-js-info-field").val()});break;case"textarea":u.push({id:e.data("id"),value:In(e).call(e,"textarea.bookly-js-info-field").val()});break;case"checkboxes":a=[],In(e).call(e,"input.bookly-js-info-field:checked").each((function(){a.push(this.value)})),u.push({id:e.data("id"),value:a});break;case"radio-buttons":u.push({id:e.data("id"),value:In(e).call(e,"input.bookly-js-info-field:checked").val()||null});break;case"drop-down":u.push({id:e.data("id"),value:In(e).call(e,"select.bookly-js-info-field").val()})}})),o.default(".bookly-custom-fields-container",n).each((function(){var e=o.default(this),t=e.data("key"),n=[];o.default("div.bookly-custom-field-row",e).each((function(){var e=o.default(this);switch(e.data("type")){case"text-field":case"file":n.push({id:e.data("id"),value:In(e).call(e,"input.bookly-custom-field").val()});break;case"textarea":n.push({id:e.data("id"),value:In(e).call(e,"textarea.bookly-custom-field").val()});break;case"checkboxes":a=[],In(e).call(e,"input.bookly-custom-field:checked").each((function(){a.push(this.value)})),n.push({id:e.data("id"),value:a});break;case"radio-buttons":n.push({id:e.data("id"),value:In(e).call(e,"input.bookly-custom-field:checked").val()||null});break;case"drop-down":n.push({id:e.data("id"),value:In(e).call(e,"select.bookly-custom-field").val()});break;case"captcha":n.push({id:e.data("id"),value:In(e).call(e,"input.bookly-custom-field").val()}),q.push(e.data("id"))}})),R[t]={custom_fields:mn(n)}}));try{""==(c=i.enabled?f.intlTelInput("getNumber"):f.val())&&(c=f.val())}catch(e){c=f.val()}var U={action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,full_name:B.val(),first_name:A.val(),last_name:P.val(),phone:c,email:d.val(),email_confirm:p.val(),birthday:{day:m.val(),month:y.val(),year:h.val()},country:v.val(),state:_.val(),postcode:k.val(),city:b.val(),street:g.val(),street_number:w.val(),additional_address:j.val(),address_iso:{country:v.data("short"),state:_.data("short")},info_fields:u,notes:F.val(),cart:R,captcha_ids:mn(q),force_update_customer:!l||r};o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:U,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){if(K.empty(),ee.removeClass("bookly-error"),t.success)if(s.enabled){var r={action:"bookly_pro_add_to_woocommerce_cart",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id};o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:r,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){t.success?window.location.href=s.cart_url:(Q.stop(),zr({form_id:e.form_id},Zo[e.form_id].errors[t.error]))}})}else Pr({form_id:e.form_id});else{var a=null;if(t.appointments_limit_reached)Ar({form_id:e.form_id,error:"appointments_limit_reached"});else{Q.stop();var i=[{name:"full_name",errorElement:z,formElement:B},{name:"first_name",errorElement:X,formElement:A},{name:"last_name",errorElement:Y,formElement:P},{name:"phone",errorElement:I,formElement:f},{name:"email",errorElement:N,formElement:d},{name:"email_confirm",errorElement:H,formElement:p},{name:"birthday_day",errorElement:D,formElement:m},{name:"birthday_month",errorElement:M,formElement:y},{name:"birthday_year",errorElement:E,formElement:h},{name:"country",errorElement:x,formElement:v},{name:"state",errorElement:S,formElement:_},{name:"postcode",errorElement:O,formElement:k},{name:"city",errorElement:C,formElement:b},{name:"street",errorElement:L,formElement:g},{name:"street_number",errorElement:T,formElement:w},{name:"additional_address",errorElement:$,formElement:j}];lr(i).call(i,(function(e){t[e.name]&&(e.errorElement.html(t[e.name]),e.formElement.addClass("bookly-error"),null===a&&(a=e.formElement))})),t.info_fields&&o.default.each(t.info_fields,(function(e,t){var r=o.default('div.bookly-js-info-field-row[data-id="'+e+'"]',n);In(r).call(r,".bookly-js-info-field-error").html(t),In(r).call(r,".bookly-js-info-field").addClass("bookly-error"),null===a&&(a=In(r).call(r,".bookly-js-info-field"))})),t.custom_fields&&o.default.each(t.custom_fields,(function(e,t){o.default.each(t,(function(t,r){var i=o.default('.bookly-custom-fields-container[data-key="'+e+'"]',n),l=o.default('[data-id="'+t+'"]',i);In(l).call(l,".bookly-custom-field-error").html(r),In(l).call(l,".bookly-custom-field").addClass("bookly-error"),null===a&&(a=In(l).call(l,".bookly-custom-field"))}))})),t.customer&&In(G).call(G,".bookly-js-modal-body").html(t.customer).end().addClass("bookly-in")}null!==a&&Wo(a)}}})})),o.default(".bookly-js-back-step",n).on("click",(function(t){t.preventDefault(),Go(this),Zo[e.form_id].skip_steps.cart?Zo[e.form_id].no_time?Zo[e.form_id].no_extras?$c({form_id:e.form_id}):Xr({form_id:e.form_id}):ln(Zo[e.form_id].skip_steps)?Zo[e.form_id].skip_steps.extras||"after_step_time"!=Zo[e.form_id].step_extras||Zo[e.form_id].no_extras?zr({form_id:e.form_id}):Xr({form_id:e.form_id}):Nr({form_id:e.form_id}):Ir({form_id:e.form_id})})),o.default(".bookly-js-captcha-refresh",n).on("click",(function(){Q.css("opacity","0.5"),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_custom_fields_captcha_refresh",form_id:e.form_id,csrf_token:BooklyL10n.csrf_token},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){e.success&&Q.attr("src",e.data.captcha_url).on("load",(function(){Q.css("opacity","1")}))}})}))}}})}function Ir(e,t){if(Zo[e.form_id].skip_steps.cart)qr(e);else{e&&e.from_step&&(Zo[e.form_id].cart_prev_step=e.from_step);var n=o.default.extend({action:"bookly_render_cart",csrf_token:BooklyL10n.csrf_token},e),r=Zo[e.form_id].$container;o.default.ajax({url:BooklyL10n.ajaxurl,data:n,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(n){n.success&&(r.html(n.html),t?(o.default(".bookly-label-error",r).html(t.message),o.default('tr[data-cart-key="'+t.failed_key+'"]',r).addClass("bookly-label-error")):o.default(".bookly-label-error",r).hide(),Wo(r),o.default(".bookly-js-next-step",r).on("click",(function(){Go(this),qr({form_id:e.form_id})})),o.default(".bookly-add-item",r).on("click",(function(){Go(this),$c({form_id:e.form_id,new_chain:!0})})),o.default(".bookly-js-back-step",r).on("click",(function(t){switch(t.preventDefault(),Go(this),Zo[e.form_id].cart_prev_step){case"service":$c({form_id:e.form_id});break;case"extras":Xr({form_id:e.form_id});break;case"time":zr({form_id:e.form_id});break;case"repeat":Nr({form_id:e.form_id});break;default:$c({form_id:e.form_id})}})),o.default(".bookly-js-actions button",r).on("click",(function(){Go(this);var t=o.default(this),n=t.closest("tr");switch(t.data("action")){case"drop":o.default.ajax({url:BooklyL10n.ajaxurl,data:{action:"bookly_cart_drop_item",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,cart_key:n.data("cart-key")},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){if(e.success){var t=n.data("cart-key"),a=o.default('tr[data-cart-key="'+t+'"]',r);n.delay(300).fadeOut(200,(function(){e.data.total_waiting_list?(o.default(".bookly-js-waiting-list-price",r).html(e.data.waiting_list_price),o.default(".bookly-js-waiting-list-deposit",r).html(e.data.waiting_list_deposit)):o.default(".bookly-js-waiting-list-price",r).closest("tr").remove(),o.default(".bookly-js-subtotal-price",r).html(e.data.subtotal_price),o.default(".bookly-js-subtotal-deposit",r).html(e.data.subtotal_deposit),o.default(".bookly-js-pay-now-deposit",r).html(e.data.pay_now_deposit),o.default(".bookly-js-pay-now-tax",r).html(e.data.pay_now_tax),o.default(".bookly-js-total-price",r).html(e.data.total_price),o.default(".bookly-js-total-tax",r).html(e.data.total_tax),a.remove(),0==o.default("tr[data-cart-key]").length&&(o.default(".bookly-js-back-step",r).hide(),o.default(".bookly-js-next-step",r).hide())}))}}});break;case"edit":$c({form_id:e.form_id,edit_cart_item:n.data("cart-key")})}})))}})}}function Nr(e,t){if(ln(Zo[e.form_id].skip_steps))Ir(e,t);else{var n=o.default.extend({action:"bookly_render_repeat",csrf_token:BooklyL10n.csrf_token},e),r=Zo[e.form_id].$container;o.default.ajax({url:BooklyL10n.ajaxurl,data:n,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){var n;if(t.success){r.html(t.html),Wo(r);var a=o.default(".bookly-js-repeat-appointment-enabled",r),i=o.default(".bookly-js-next-step",r),l=o.default(".bookly-js-repeat-variants-container",r),s=o.default('[class^="bookly-js-variant"]',l),c=o.default(".bookly-js-repeat-variant",l),u=o.default(".bookly-js-get-schedule",l),f=o.default(".bookly-js-variant-weekly",l),d=o.default(".bookly-js-repeat-variant-monthly",l),p=o.default(".bookly-js-repeat-until",l),m=o.default(".bookly-js-repeat-times",l),y=o.default(".bookly-js-monthly-specific-day",l),h=o.default(".bookly-js-monthly-week-day",l),v=o.default(".bookly-js-repeat-daily-every",l),_=o.default(".bookly-js-week-day",l),k=o.default(".bookly-js-schedule-container",r),b=o.default(".bookly-js-days-error",l),g=o.default(".bookly-js-schedule-slots",k),w=o.default(".bookly-js-intersection-info",k),j=o.default(".bookly-js-schedule-help",k),x=o.default(".bookly-well",k),S=o.default(".bookly-pagination",k),O=o.default(".bookly-schedule-row-template .bookly-schedule-row",k),C=t.pages_warning_info,L=t.short_date_format,T={min:t.date_min||!0,max:t.date_max||!0},$=[],D={prepareButtonNextState:function(){for(var e=i.prop("disabled"),t=0==$.length,o=0;o<$.length;o++)if(e){if(!$[o].deleted){t=!1;break}}else{if(!$[o].deleted){t=!1;break}t=!0}i.prop("disabled",t)},addTimeSlotControl:function(e,t,n,r){var a,i="";t.length&&(i=o.default("<select/>"),o.default.each(t,(function(e,t){var l=o.default("<option/>");l.text(t.title).val(t.value),t.disabled&&l.attr("disabled","disabled"),i.append(l),a||t.disabled||(t.title==n?(i.val(t.value),a=!0):t.title==r&&i.val(t.value))})));In(e).call(e,".bookly-js-schedule-time").html(i),In(e).call(e,"div.bookly-label-error").toggle(!t.length)},renderSchedulePage:function(e){var t,n=$.length,r=5*e-5,a=[];g.html("");for(var i=r,l=0;l<5&&i<n;i++,l++)(t=O.clone()).data("datetime",$[i].datetime),t.data("index",$[i].index),o.default("> div:first-child",t).html($[i].index),o.default(".bookly-schedule-date",t).html($[i].display_date),void 0!==$[i].all_day_service_time?(o.default(".bookly-js-schedule-time",t).hide(),o.default(".bookly-js-schedule-all-day-time",t).html($[i].all_day_service_time).show()):(o.default(".bookly-js-schedule-time",t).html($[i].display_time).show(),o.default(".bookly-js-schedule-all-day-time",t).hide()),$[i].another_time&&o.default(".bookly-schedule-intersect",t).show(),$[i].deleted&&In(t).call(t,".bookly-schedule-appointment").addClass("bookly-appointment-hidden"),g.append(t);if(n>5){var s=o.default("<li/>").html("«");for(s.on("click",(function(){var e=Sn(In(S).call(S,".active").html());e>1&&D.renderSchedulePage(e-1)})),S.html(s),i=0,l=1;i<n;i+=5,l++)s=o.default("<li/>").html(l),S.append(s),s.on("click",(function(){D.renderSchedulePage(o.default(this).html())}));for(In(S).call(S,"li:eq("+e+")").addClass("active"),(s=o.default("<li/>").html("»")).on("click",(function(){var e=Sn(In(S).call(S,".active").html());e<n/5&&D.renderSchedulePage(e+1)})),S.append(s).show(),i=0;i<n;i++)$[i].another_time&&(e=Sn(i/5)+1,a.push(e),i=5*e-1);a.length>0&&w.html(C.replace("{list}",a.join(", "))),x.toggle(a.length>0),S.toggle(n>5)}else for(S.hide(),x.hide(),i=0;i<n;i++)if($[i].another_time){j.show();break}},renderFullSchedule:function(t){$=t;var n=null;o.default.each($,(function(e,t){n||t.another_time||(n=t.display_time)})),D.renderSchedulePage(1),k.show(),i.prop("disabled",0==$.length),g.on("click","button[data-action]",(function(){var t=o.default(this).closest(".bookly-schedule-row"),r=t.data("index")-1;switch(o.default(this).data("action")){case"drop":$[r].deleted=!0,In(t).call(t,".bookly-schedule-appointment").addClass("bookly-appointment-hidden"),D.prepareButtonNextState();break;case"restore":$[r].deleted=!1,In(t).call(t,".bookly-schedule-appointment").removeClass("bookly-appointment-hidden"),i.prop("disabled",!1);break;case"edit":var a=o.default('<input type="text"/>'),l=o.default(this),s=Go(this);In(t).call(t,".bookly-schedule-date").html(a),a.pickadate({min:T.min,max:T.max,formatSubmit:"yyyy-mm-dd",format:L,clear:!1,close:!1,today:BooklyL10n.today,monthsFull:BooklyL10n.months,weekdaysFull:BooklyL10n.days,weekdaysShort:BooklyL10n.daysShort,labelMonthNext:BooklyL10n.nextMonth,labelMonthPrev:BooklyL10n.prevMonth,firstDay:Zo[e.form_id].firstDay,onSet:function(){var a=[];o.default.each($,(function(e,t){r==e||t.deleted||a.push(t.slots)})),o.default.ajax({url:BooklyL10n.ajaxurl,type:"POST",data:{action:"bookly_recurring_appointments_get_daily_customer_schedule",csrf_token:BooklyL10n.csrf_token,date:this.get("select","yyyy-mm-dd"),form_id:e.form_id,exclude:a},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){l.hide(),s.stop(),e.data.length?(D.addTimeSlotControl(t,e.data[0].options,n,$[r].display_time,e.data[0].all_day_service_time),In(t).call(t,'button[data-action="save"]').show()):(D.addTimeSlotControl(t,[]),In(t).call(t,'button[data-action="save"]').hide())}})}});var c=JSON.parse($[r].slots);a.pickadate("picker").set("select",new Date(c[0][2]));break;case"save":o.default(this).hide(),In(t).call(t,'button[data-action="edit"]').show();var u=In(t).call(t,".bookly-schedule-date"),f=In(t).call(t,".bookly-js-schedule-time"),d=In(f).call(f,"select"),p=In(d).call(d,"option:selected");$[r].slots=d.val(),$[r].display_date=In(u).call(u,"input").val(),$[r].display_time=p.text(),u.html($[r].display_date),f.html($[r].display_time)}}))},isDateMatchesSelections:function(e){switch(c.val()){case"daily":if((v.val()>6||-1!=o.default.inArray(e.format("ddd").toLowerCase(),D.week_days))&&e.diff(D.date_from,"days")%v.val()==0)return!0;break;case"weekly":case"biweekly":if(("weekly"==c.val()||e.diff(D.date_from.clone().startOf("isoWeek"),"weeks")%2==0)&&-1!=o.default.inArray(e.format("ddd").toLowerCase(),D.checked_week_days))return!0;break;case"monthly":switch(d.val()){case"specific":if(e.format("D")==y.val())return!0;break;case"last":if(e.format("ddd").toLowerCase()==h.val()&&e.clone().endOf("month").diff(e,"days")<7)return!0;break;default:var t=e.diff(e.clone().startOf("month"),"days");if(e.format("ddd").toLowerCase()==h.val()&&t>=7*(d.prop("selectedIndex")-1)&&t<7*d.prop("selectedIndex"))return!0}}return!1},updateRepeatDate:function(){var e,t=0,n=m.val(),r=wr(e=T.min).call(e),a=p.pickadate("picker").get("select"),i=moment().year(a.year).month(a.month).date(a.date).add(5,"years");r[1]++,D.date_from=moment(r.join(","),"YYYY,M,D"),D.week_days=[],In(h).call(h,"option").each((function(){D.week_days.push(o.default(this).val())})),D.checked_week_days=[],_.each((function(){o.default(this).prop("checked")&&D.checked_week_days.push(o.default(this).val())}));var l=D.date_from.clone();do{D.isDateMatchesSelections(l)&&t++,l.add(1,"days")}while(t<n&&l.isBefore(i));p.val(l.subtract(1,"days").format("MMMM D, YYYY")),p.pickadate("picker").set("select",new Date(l.format("YYYY"),l.format("M")-1,l.format("D")))},updateRepeatTimes:function(){var e,t=0,n=wr(e=T.min).call(e),r=p.pickadate("picker").get("select"),a=moment().year(r.year).month(r.month).date(r.date);n[1]++,D.date_from=moment(n.join(","),"YYYY,M,D"),D.week_days=[],In(h).call(h,"option").each((function(){D.week_days.push(o.default(this).val())})),D.checked_week_days=[],_.each((function(){o.default(this).prop("checked")&&D.checked_week_days.push(o.default(this).val())}));var i=D.date_from.clone();do{D.isDateMatchesSelections(i)&&t++,i.add(1,"days")}while(i.isBefore(a));m.val(t)}};p.pickadate({formatSubmit:"yyyy-mm-dd",format:Zo[e.form_id].date_format,min:T.min,max:T.max,clear:!1,close:!1,today:BooklyL10n.today,monthsFull:BooklyL10n.months,weekdaysFull:BooklyL10n.days,weekdaysShort:BooklyL10n.daysShort,labelMonthNext:BooklyL10n.nextMonth,labelMonthPrev:BooklyL10n.prevMonth,firstDay:Zo[e.form_id].firstDay});var M=a.on("change",(function(){l.toggle(o.default(this).prop("checked")),o.default(this).prop("checked")?D.prepareButtonNextState():i.prop("disabled",!1)}));if(t.repeated){var E=t.repeat_data,B=E.params;a.prop("checked",!0),c.val(ln(E));var A=E.until.split("-");switch(p.pickadate("set").set("select",new Date(A[0],A[1]-1,A[2])),ln(E)){case"daily":v.val(pr(B));break;case"weekly":case"biweekly":o.default(".bookly-js-week-days input.bookly-js-week-day",l).prop("checked",!1).parent().removeClass("active"),lr(n=B.on).call(n,(function(e){o.default(".bookly-js-week-days input.bookly-js-week-day[value="+e+"]",l).prop("checked",!0).parent().addClass("active")}));break;case"monthly":"day"===B.on?(d.val("specific"),o.default(".bookly-js-monthly-specific-day[value="+B.day+"]",l).prop("checked",!0)):(d.val(B.on),h.val(B.weekday))}D.renderFullSchedule(t.schedule)}M.trigger("change"),t.could_be_repeated||a.attr("disabled",!0),c.on("change",(function(){s.hide(),In(l).call(l,".bookly-js-variant-"+this.value).show(),D.updateRepeatTimes()})).trigger("change"),d.on("change",(function(){h.toggle("specific"!=this.value),y.toggle("specific"==this.value),D.updateRepeatTimes()})).trigger("change"),_.on("change",(function(){var e=o.default(this);e.is(":checked")?e.parent().not("[class*='active']").addClass("active"):e.parent().removeClass("active"),D.updateRepeatTimes()})),y.val(t.date_min[2]),y.on("change",(function(){D.updateRepeatTimes()})),h.on("change",(function(){D.updateRepeatTimes()})),p.on("change",(function(){D.updateRepeatTimes()})),v.on("change",(function(){D.updateRepeatTimes()})),m.on("change",(function(){D.updateRepeatDate()})),u.on("click",(function(){k.hide();var t={action:"bookly_recurring_appointments_get_customer_schedule",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,repeat:c.val(),until:p.pickadate("picker").get("select","yyyy-mm-dd"),params:{}},n=Go(this);switch(ln(t)){case"daily":t.params={every:v.val()};break;case"weekly":case"biweekly":if(t.params.on=[],o.default(".bookly-js-week-days input.bookly-js-week-day:checked",f).each((function(){t.params.on.push(this.value)})),0==t.params.on.length)return b.toggle(!0),n.stop(),!1;b.toggle(!1);break;case"monthly":"specific"==d.val()?t.params={on:"day",day:y.val()}:t.params={on:d.val(),weekday:h.val()}}g.off("click"),o.default.ajax({url:BooklyL10n.ajaxurl,type:"POST",data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){e.success&&(D.renderFullSchedule(e.data),n.stop())}})})),o.default(".bookly-js-back-step",r).on("click",(function(t){t.preventDefault(),Go(this),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,unrepeat:1},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){Zo[e.form_id].skip_steps.extras||"after_step_time"!=Zo[e.form_id].step_extras||Zo[e.form_id].no_extras?zr({form_id:e.form_id}):Xr({form_id:e.form_id})}})})),o.default(".bookly-js-go-to-cart",r).on("click",(function(t){t.preventDefault(),Go(this),Ir({form_id:e.form_id,from_step:"repeat"})})),o.default(".bookly-js-next-step",r).on("click",(function(t){if(Go(this),a.is(":checked")){var n=[],r=0;lr($).call($,(function(e){if(!e.deleted){var t=JSON.parse(e.slots);n=Wn(n).call(n,t),r++}})),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,slots:mn(n),repeat:r},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){Ir({form_id:e.form_id,add_to_cart:!0,from_step:"repeat"})}})}else o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,unrepeat:1},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){Ir({form_id:e.form_id,add_to_cart:!0,from_step:"repeat"})}})}))}}})}}var Hr=null;function zr(e,t){if(Zo[e.form_id].no_time||Zo[e.form_id].skip_steps.time)Zo[e.form_id].skip_steps.extras||"after_step_time"!=Zo[e.form_id].step_extras||Zo[e.form_id].no_extras?Zo[e.form_id].skip_steps.cart?qr({form_id:e.form_id,add_to_cart:!0}):Ir({form_id:e.form_id,add_to_cart:!0,from_step:e&&e.prev_step?e.prev_step:"service"}):Xr({form_id:e.form_id});else{var n={action:"bookly_render_time",csrf_token:BooklyL10n.csrf_token},r=Zo[e.form_id].$container;Zo[e.form_id].skip_steps.service&&Zo[e.form_id].use_client_time_zone&&(n.time_zone=Zo[e.form_id].timeZone,n.time_zone_offset=Zo[e.form_id].timeZoneOffset),o.default.extend(n,e),Hr=o.default.ajax({url:BooklyL10n.ajaxurl,data:n,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(n){if(0!=n.success){BooklyL10n.csrf_token=n.csrf_token,r.html(n.html);var l,s,c,u=o.default(".bookly-columnizer-wrap",r),f=o.default(".bookly-columnizer",u),d=o.default(".bookly-time-next",r),p=o.default(".bookly-time-prev",r),m=null,y=n.time_slots_wide?205:127,h=n.time_slots_wide?"bookly-column bookly-column-wide":"bookly-column",v=0,_=0,k=n.has_more_slots,b=!1,g=n.show_calendar,w=n.is_rtl,j=n.day_one_column,x=a(n.slots_data,n.selected_date);if(o.default(".bookly-js-back-step",r).on("click",(function(t){t.preventDefault(),Go(this),Zo[e.form_id].skip_steps.extras||Zo[e.form_id].no_extras?$c({form_id:e.form_id}):"before_step_time"==Zo[e.form_id].step_extras?Xr({form_id:e.form_id}):$c({form_id:e.form_id})})).toggle(!Zo[e.form_id].skip_steps.service||!Zo[e.form_id].skip_steps.extras),o.default(".bookly-js-go-to-cart",r).on("click",(function(t){t.preventDefault(),Go(this),Ir({form_id:e.form_id,from_step:"time"})})),o.default(".bookly-js-time-zone-switcher",r).on("change",(function(t){Zo[e.form_id].timeZone=this.value,Zo[e.form_id].timeZoneOffset=void 0,T(),i(),zr({form_id:e.form_id,time_zone:Zo[e.form_id].timeZone})})),g){var S=o.default(".bookly-js-selected-date",r);S.pickadate({formatSubmit:"yyyy-mm-dd",format:Zo[e.form_id].date_format,min:n.date_min||!0,max:n.date_max||!0,weekdaysFull:BooklyL10n.days,weekdaysShort:BooklyL10n.daysShort,monthsFull:BooklyL10n.months,firstDay:Zo[e.form_id].firstDay,clear:!1,close:!1,today:!1,disable:n.disabled_days,closeOnSelect:!1,klass:{picker:"picker picker--opened picker--focused"},onSet:function(t){if(t.select){var o=this.get("select","yyyy-mm-dd");x[o]?(f.html(x[o]).css("left","0px"),v=0,_=0,m=null,$(),p.hide(),d.toggle(1!=l.length)):(i(),zr({form_id:e.form_id,selected_date:o}),T())}this.open()},onClose:function(){this.open(!1)},onRender:function(){var t=new Date(Date.UTC(this.get("view").year,this.get("view").month));o.default(".picker__nav--next",r).on("click",(function(){t.setUTCMonth(t.getUTCMonth()+1),i(),zr({form_id:e.form_id,selected_date:t.toJSON().substr(0,10)}),T()})),o.default(".picker__nav--prev",r).on("click",(function(){t.setUTCMonth(t.getUTCMonth()-1),i(),zr({form_id:e.form_id,selected_date:t.toJSON().substr(0,10)}),T()}))}});var O=S.pickadate("picker").get("select","yyyy-mm-dd");f.html(x[O])}else{var C="";o.default.each(x,(function(e,t){C+=t})),f.html(C)}if(n.has_slots){t?In(r).call(r,".bookly-label-error").html(t):In(r).call(r,".bookly-label-error").hide(),(s=Sn(o.default(window).height()/36,10))<4?s=4:s>10&&(s=10),(c=Sn(u.width()/y,10))>10?c=10:0==c&&(b=!0,c=4),$(),k||1!=l.length||d.hide();var L=o.default(".bookly-time-step",r).hammer({swipe_velocity:.1});L.on("swipeleft",(function(){d.is(":visible")&&d.trigger("click")})),L.on("swiperight",(function(){p.is(":visible")&&p.trigger("click")})),d.on("click",(function(t){if(p.show(),l.eq(_+1).length)f.animate({left:(w?"+":"-")+(_+1)*m.width()},{duration:800}),m=l.eq(++_),u.animate({height:m.height()},{duration:800}),_+1!=l.length||k||d.hide();else if(k){var n=o.default("> button:last",f);0==n.length&&0==(n=o.default(".bookly-column:hidden:last > button:last",f)).length&&(n=o.default(".bookly-column:last > button:last",f));var i={action:"bookly_render_next_time",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,last_slot:n.val()},s=Go(this);o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:i,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){if(e.success)if(e.has_slots){k=e.has_more_slots;var t="";o.default.each(a(e.slots_data,e.selected_date),(function(e,o){t+=o}));var n=o.default(t),i=n.eq(0);o.default('button.bookly-day[value="'+i.attr("value")+'"]',r).length&&(n=n.not(":first")),f.append(n),$(),d.trigger("click")}else d.hide();else d.hide();s.stop()}})}})),p.on("click",(function(){d.show(),m=l.eq(--_),f.animate({left:(w?"+":"-")+_*m.width()},{duration:800}),u.animate({height:m.height()},{duration:800}),0===_&&p.hide()}))}void 0===e&&Wo(r)}else $c({form_id:e.form_id});function T(){o.default(".bookly-time-screen,.bookly-not-time-screen",r).addClass("bookly-spin-overlay");var e={lines:11,length:11,width:4,radius:5};l?new Spinner(e).spin(l.eq(_).get(0)):new Spinner(e).spin(o.default(".bookly-not-time-screen",r).get(0))}function $(){var t,n,a,i=o.default("> button",f),d=0,p=0;if(j)for(;i.length>0;)i.eq(0).hasClass("bookly-day")?(d=1,n=o.default('<div class="'+h+'" />'),(t=o.default(Jn(i).call(i,0,1))).addClass("bookly-js-first-child"),n.append(t)):(d++,t=o.default(Jn(i).call(i,0,1)),!i.length||i.eq(0).hasClass("bookly-day")?(t.addClass("bookly-last-child"),n.append(t),f.append(n)):n.append(t)),d>p&&(p=d);else for(;k?i.length>s:i.length;){n=o.default('<div class="'+h+'" />'),p=s,v%c!=0||i.eq(0).hasClass("bookly-day")||--p;for(var _=0;_<p&&(_+1!=p||!i.eq(0).hasClass("bookly-day"));++_)t=o.default(Jn(i).call(i,0,1)),0==_?t.addClass("bookly-js-first-child"):_+1==p&&t.addClass("bookly-last-child"),n.append(t);f.append(n),++v}for(var g=o.default("> .bookly-column",f);k?g.length>=c:g.length;){a=o.default('<div class="bookly-time-screen"/>');for(_=0;_<c;++_){if(n=o.default(Jn(g).call(g,0,1)),0==_){n.addClass("bookly-js-first-column");var w=In(n).call(n,".bookly-js-first-child");if(!w.hasClass("bookly-day")){var x=w.data("group"),S=o.default('button.bookly-day[value="'+x+'"]:last',r);n.prepend(S.clone())}}a.append(n)}f.append(a)}l=o.default(".bookly-time-screen",f),null===m&&(m=l.eq(0)),o.default("button.bookly-time-skip",r).off("click").on("click",(function(t){Go(this),Zo[e.form_id].skip_steps.cart?qr({form_id:e.form_id,add_to_cart:!0}):Ir({form_id:e.form_id,add_to_cart:!0,from_step:"time"})}));var O=null;o.default("button.bookly-hour",r).off("click").on("click",(function(t){null!=O&&(O.abort(),O=null),t.preventDefault();var n=o.default(this),r={action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,slots:this.value};n.attr({"data-style":"zoom-in","data-spinner-color":"#333","data-spinner-size":"40"}),Go(this),O=o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:r,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){Zo[e.form_id].skip_steps.extras||"after_step_time"!=Zo[e.form_id].step_extras||Zo[e.form_id].no_extras?ln(Zo[e.form_id].skip_steps)?Zo[e.form_id].skip_steps.cart?qr({form_id:e.form_id,add_to_cart:!0}):Ir({form_id:e.form_id,add_to_cart:!0,from_step:"time"}):Nr({form_id:e.form_id}):Xr({form_id:e.form_id})}})})),o.default(".bookly-time-step",r).width(c*y),u.height(b?39*o.default(".bookly-column.bookly-js-first-column button",m).length:m.height()),b=!1}}})}function a(e,t){var n={};return o.default.each(e,(function(e,r){var a='<button class="bookly-day" value="'+e+'">'+r.title+"</button>";o.default.each(r.slots,(function(o,n){a+='<button value="'+mn(n.data).replace(/"/g,""")+'" data-group="'+e+'" class="bookly-hour'+("waiting-list"==n.status?" bookly-slot-in-waiting-list":"booked"==n.status?" booked":"")+'"'+("booked"==n.status?" disabled":"")+'><span class="ladda-label bookly-time-main'+(n.data[0][2]==t?" bookly-bold":"")+'"><i class="bookly-hour-icon"><span></span></i>'+n.time_text+'</span><span class="bookly-time-additional'+("waiting-list"==n.status?" bookly-waiting-list":"")+'"> '+n.additional_text+"</span></button>"})),n[e]=a})),n}function i(){null!=Hr&&(Hr.abort(),Hr=null)}}function Xr(e){var t={action:"bookly_render_extras",csrf_token:BooklyL10n.csrf_token},n=Zo[e.form_id].$container;Zo[e.form_id].skip_steps.service&&Zo[e.form_id].use_client_time_zone&&(t.time_zone=Zo[e.form_id].timeZone,t.time_zone_offset=Zo[e.form_id].timeZoneOffset),o.default.extend(t,e),o.default.ajax({url:BooklyL10n.ajaxurl,data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){if(t.success){BooklyL10n.csrf_token=t.csrf_token,n.html(t.html),void 0===e&&Wo(n);var r,a,i=o.default(".bookly-js-next-step",n),l=o.default(".bookly-js-back-step",n),s=o.default(".bookly-js-go-to-cart",n),c=o.default(".bookly-js-extras-item",n),u=o.default(".bookly-js-extras-summary span",n),f=t.currency,d=function(e,t){var n=In(e).call(e,"input"),r=In(e).call(e,".bookly-js-extras-total-price"),a=t*Tn(e.data("price"));r.text(f.format.replace("1",a.toFixed(f.precision))),n.val(t),In(e).call(e,".bookly-js-extras-thumb").toggleClass("bookly-extras-selected",t>0);var i=0;c.each((function(e,t){var n=o.default(this),r=n.closest(".bookly-js-extras-container").data("multiplier");i+=Tn(n.data("price"))*In(n).call(n,"input").val()*r})),i?u.html(" + "+f.format.replace("1",i.toFixed(f.precision))):u.html("")};c.each((function(e,t){var n=o.default(this),r=In(n).call(n,"input");In(n).call(n,".bookly-js-extras-thumb").on("click",(function(){d(n,r.val()>0?0:1)})),In(n).call(n,".bookly-js-count-control").on("click",(function(){var e=Sn(r.val());e=o.default(this).hasClass("bookly-js-extras-increment")?Math.min(n.data("max_quantity"),e+1):Math.max(0,e-1),d(n,e)}))})),s.on("click",(function(t){t.preventDefault(),Go(this),Ir({form_id:e.form_id,from_step:"extras"})})),i.on("click",(function(t){t.preventDefault(),Go(this);var i={};o.default(".bookly-js-extras-container",n).each((function(){var e=o.default(this),t=e.data("chain"),n={};In(e).call(e,".bookly-js-extras-item").each((function(e,t){r=o.default(this),(a=In(r).call(r,"input")).val()>0&&(n[r.data("id")]=a.val())})),i[t]=mn(n)})),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,extras:i},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){"before_step_time"==Zo[e.form_id].step_extras?zr({form_id:e.form_id,prev_step:"extras"}):ln(Zo[e.form_id].skip_steps)?Zo[e.form_id].skip_steps.cart?qr({form_id:e.form_id,add_to_cart:!0}):Ir({form_id:e.form_id,add_to_cart:!0,from_step:"time"}):Nr({form_id:e.form_id})}})})),l.on("click",(function(t){t.preventDefault(),Go(this),"after_step_time"!=Zo[e.form_id].step_extras||Zo[e.form_id].no_time?$c({form_id:e.form_id}):zr({form_id:e.form_id,prev_step:"extras"})}))}}})}var Yr=[].slice,Qr={},Ur=function(e,t,o){if(!(t in Qr)){for(var n=[],r=0;r<t;r++)n[r]="a["+r+"]";Qr[t]=Function("C,a","return new C("+n.join(",")+")")}return Qr[t](e,o)},Vr=Function.bind||function(e){var t=Le(this),o=Yr.call(arguments,1),n=function(){var r=o.concat(Yr.call(arguments));return this instanceof n?Ur(t,r.length,r):t.apply(e,r)};return p(t.prototype)&&(n.prototype=t.prototype),n},Jr=et("Reflect","construct"),Zr=f((function(){function e(){}return!(Jr((function(){}),[],e)instanceof e)})),Gr=!f((function(){Jr((function(){}))})),Wr=Zr||Gr;Me({target:"Reflect",stat:!0,forced:Wr,sham:Wr},{construct:function(e,t){Le(e),_(t);var o=arguments.length<3?e:Le(arguments[2]);if(Gr&&!Zr)return Jr(e,t,o);if(e==o){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var n=[null];return n.push.apply(n,t),new(Vr.apply(e,n))}var r=o.prototype,a=it(p(r)?r:Object.prototype),i=Function.apply.call(e,a,t);return p(i)?i:a}});var Kr=n.Reflect.construct;function ea(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Me({target:"Object",stat:!0,forced:!d,sham:!d},{defineProperty:g.f});var ta=l((function(e){var t=n.Object,o=e.exports=function(e,o,n){return t.defineProperty(e,o,n)};t.defineProperty.sham&&(o.sham=!0)}));function oa(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),ta(e,n.key,n)}}function na(e,t,o){return t&&oa(e.prototype,t),o&&oa(e,o),e}function ra(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}Me({target:"Object",stat:!0,sham:!d},{create:it});var aa=n.Object,ia=function(e,t){return aa.create(e,t)},la=ia;Me({target:"Object",stat:!0},{setPrototypeOf:kt});var sa=n.Object.setPrototypeOf;function ca(e,t){return(ca=sa||function(e,t){return e.__proto__=t,e})(e,t)}function ua(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=la(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ca(e,t)}function fa(e,t){return!t||"object"!==Jo(t)&&"function"!=typeof t?ra(e):t}var da=f((function(){Fe(1)}));Me({target:"Object",stat:!0,forced:da,sham:!Be},{getPrototypeOf:function(e){return Fe(Ee(e))}});var pa=n.Object.getPrototypeOf;function ma(e){return(ma=sa?pa:function(e){return e.__proto__||pa(e)})(e)}Me({target:"Array",stat:!0},{isArray:zt});var ya=n.Array.isArray;var ha=A("iterator"),va=function(e){if(null!=e)return e[ha]||e["@@iterator"]||ht[ft(e)]},_a=function(e){var t=va(e);if("function"!=typeof t)throw TypeError(String(e)+" is not iterable");return _(t.call(e))},ka=_a,ba=A("iterator"),ga=function(e){var t=Object(e);return void 0!==t[ba]||"@@iterator"in t||ht.hasOwnProperty(ft(t))};var wa=function(e,t,o,n){try{return n?t(_(o)[0],o[1]):t(o)}catch(t){var r=e.return;throw void 0!==r&&_(r.call(e)),t}},ja=A("iterator"),xa=Array.prototype,Sa=function(e){return void 0!==e&&(ht.Array===e||xa[ja]===e)},Oa=A("iterator"),Ca=!1;try{var La=0,Ta={next:function(){return{done:!!La++}},return:function(){Ca=!0}};Ta[Oa]=function(){return this},Array.from(Ta,(function(){throw 2}))}catch(e){}var $a=function(e,t){if(!t&&!Ca)return!1;var o=!1;try{var n={};n[Oa]=function(){return{next:function(){return{done:o=!0}}}},e(n)}catch(e){}return o},Da=!$a((function(e){Array.from(e)}));Me({target:"Array",stat:!0,forced:Da},{from:function(e){var t,o,n,r,a,i,l=Ee(e),s="function"==typeof this?this:Array,c=arguments.length,u=c>1?arguments[1]:void 0,f=void 0!==u,d=va(l),p=0;if(f&&(u=Te(u,c>2?arguments[2]:void 0,2)),null==d||s==Array&&Sa(d))for(o=new s(t=He(l.length));t>p;p++)i=f?u(l[p],p):l[p],Xt(o,p,i);else for(a=(r=d.call(l)).next,o=new s;!(n=a.call(r)).done;p++)i=f?wa(r,u,[n.value,p],!0):n.value,Xt(o,p,i);return o.length=p,o}});var Ma=n.Array.from,Ea=Ma,Ba=gr;function Aa(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=new Array(t);o<t;o++)n[o]=e[o];return n}function Pa(e,t){var o;if(e){if("string"==typeof e)return Aa(e,t);var n=Ba(o=Object.prototype.toString.call(e)).call(o,8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Ea(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Aa(e,t):void 0}}function Fa(e,t){return function(e){if(ya(e))return e}(e)||function(e,t){if(void 0!==Vo&&ga(Object(e))){var o=[],n=!0,r=!1,a=void 0;try{for(var i,l=ka(e);!(n=(i=l.next()).done)&&(o.push(i.value),!t||o.length!==t);n=!0);}catch(e){r=!0,a=e}finally{try{n||null==l.return||l.return()}finally{if(r)throw a}}return o}}(e,t)||Pa(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Ra=!f((function(){return Object.isExtensible(Object.preventExtensions({}))})),qa=l((function(e){var t=g.f,o=T("meta"),n=0,r=Object.isExtensible||function(){return!0},i=function(e){t(e,o,{value:{objectID:"O"+ ++n,weakData:{}}})},l=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!p(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,o)){if(!r(e))return"F";if(!t)return"E";i(e)}return e[o].objectID},getWeakData:function(e,t){if(!a(e,o)){if(!r(e))return!0;if(!t)return!1;i(e)}return e[o].weakData},onFreeze:function(e){return Ra&&l.REQUIRED&&r(e)&&!a(e,o)&&i(e),e}};ee[o]=!0})),Ia=l((function(e){var t=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,o,n,r,a){var i,l,s,c,u,f,d,p=Te(o,n,r?2:1);if(a)i=e;else{if("function"!=typeof(l=va(e)))throw TypeError("Target is not iterable");if(Sa(l)){for(s=0,c=He(e.length);c>s;s++)if((u=r?p(_(d=e[s])[0],d[1]):p(e[s]))&&u instanceof t)return u;return new t(!1)}i=l.call(e)}for(f=i.next;!(d=f.call(i)).done;)if("object"==typeof(u=wa(i,p,d.value,r))&&u&&u instanceof t)return u;return new t(!1)}).stop=function(e){return new t(!0,e)}})),Na=function(e,t,o){if(!(e instanceof t))throw TypeError("Incorrect "+(o?o+" ":"")+"invocation");return e},Ha=g.f,za=ho.forEach,Xa=ue.set,Ya=ue.getterFor,Qa=function(e,t,o){var n,r=-1!==e.indexOf("Map"),a=-1!==e.indexOf("Weak"),i=r?"set":"add",l=c[e],s=l&&l.prototype,u={};if(d&&"function"==typeof l&&(a||s.forEach&&!f((function(){(new l).entries().next()})))){n=t((function(t,o){Xa(Na(t,n,e),{type:e,collection:new l}),null!=o&&Ia(o,t[i],t,r)}));var m=Ya(e);za(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(e){var t="add"==e||"set"==e;!(e in s)||a&&"clear"==e||j(n.prototype,e,(function(o,n){var r=m(this).collection;if(!t&&a&&!p(o))return"get"==e&&void 0;var i=r[e](0===o?0:o,n);return t?this:i}))})),a||Ha(n.prototype,"size",{configurable:!0,get:function(){return m(this).collection.size}})}else n=o.getConstructor(t,e,r,i),qa.REQUIRED=!0;return yt(n,e,!1,!0),u[e]=n,Me({global:!0,forced:!0},u),a||o.setStrong(n,e,r),n},Ua=function(e,t,o){for(var n in t)o&&o.unsafe&&e[n]?e[n]=t[n]:bt(e,n,t[n],o);return e},Va=A("species"),Ja=function(e){var t=et(e),o=g.f;d&&t&&!t[Va]&&o(t,Va,{configurable:!0,get:function(){return this}})},Za=g.f,Ga=qa.fastKey,Wa=ue.set,Ka=ue.getterFor,ei={getConstructor:function(e,t,o,n){var r=e((function(e,a){Na(e,r,t),Wa(e,{type:t,index:it(null),first:void 0,last:void 0,size:0}),d||(e.size=0),null!=a&&Ia(a,e[n],e,o)})),a=Ka(t),i=function(e,t,o){var n,r,i=a(e),s=l(e,t);return s?s.value=o:(i.last=s={index:r=Ga(t,!0),key:t,value:o,previous:n=i.last,next:void 0,removed:!1},i.first||(i.first=s),n&&(n.next=s),d?i.size++:e.size++,"F"!==r&&(i.index[r]=s)),e},l=function(e,t){var o,n=a(e),r=Ga(t);if("F"!==r)return n.index[r];for(o=n.first;o;o=o.next)if(o.key==t)return o};return Ua(r.prototype,{clear:function(){for(var e=a(this),t=e.index,o=e.first;o;)o.removed=!0,o.previous&&(o.previous=o.previous.next=void 0),delete t[o.index],o=o.next;e.first=e.last=void 0,d?e.size=0:this.size=0},delete:function(e){var t=this,o=a(t),n=l(t,e);if(n){var r=n.next,i=n.previous;delete o.index[n.index],n.removed=!0,i&&(i.next=r),r&&(r.previous=i),o.first==n&&(o.first=r),o.last==n&&(o.last=i),d?o.size--:t.size--}return!!n},forEach:function(e){for(var t,o=a(this),n=Te(e,arguments.length>1?arguments[1]:void 0,3);t=t?t.next:o.first;)for(n(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!l(this,e)}}),Ua(r.prototype,o?{get:function(e){var t=l(this,e);return t&&t.value},set:function(e,t){return i(this,0===e?0:e,t)}}:{add:function(e){return i(this,e=0===e?0:e,e)}}),d&&Za(r.prototype,"size",{get:function(){return a(this).size}}),r},setStrong:function(e,t,o){var n=t+" Iterator",r=Ka(t),a=Ka(n);Lt(e,t,(function(e,t){Wa(this,{type:n,target:e,state:r(e),kind:t,last:void 0})}),(function(){for(var e=a(this),t=e.kind,o=e.last;o&&o.removed;)o=o.previous;return e.target&&(e.last=o=o?o.next:e.state.first)?"keys"==t?{value:o.key,done:!1}:"values"==t?{value:o.value,done:!1}:{value:[o.key,o.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),o?"entries":"values",!o,!0),Ja(t)}},ti=(Qa("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),ei),n.Map),oi=be.f,ni=f((function(){oi(1)}));Me({target:"Object",stat:!0,forced:!d||ni,sham:!d},{getOwnPropertyDescriptor:function(e,t){return oi(_e(e),t)}});l((function(e){var t=n.Object,o=e.exports=function(e,o){return t.getOwnPropertyDescriptor(e,o)};t.getOwnPropertyDescriptor.sham&&(o.sham=!0)}));Me({target:"Reflect",stat:!0},{get:function e(t,o){var n,r,i=arguments.length<3?t:arguments[2];return _(t)===i?t[o]:(n=be.f(t,o))?a(n,"value")?n.value:void 0===n.get?void 0:n.get.call(i):p(r=Fe(t))?e(r,o,i):void 0}});n.Reflect.get;Me({target:"Map",stat:!0},{from:function(e){var t,o,n,r,a=arguments.length,i=a>1?arguments[1]:void 0;return Le(this),(t=void 0!==i)&&Le(i),null==e?new this:(o=[],t?(n=0,r=Te(i,a>2?arguments[2]:void 0,2),Ia(e,(function(e){o.push(r(e,n++))}))):Ia(e,o.push,o),new this(o))}});Me({target:"Map",stat:!0},{of:function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];return new this(t)}});var ri=function(){for(var e,t=_(this),o=Le(t.delete),n=!0,r=0,a=arguments.length;r<a;r++)e=o.call(t,arguments[r]),n=n&&e;return!!n};Me({target:"Map",proto:!0,real:!0,forced:u},{deleteAll:function(){return ri.apply(this,arguments)}});var ai=_a;Me({target:"Map",proto:!0,real:!0,forced:u},{every:function(e){var t=_(this),o=ai(t),n=Te(e,arguments.length>1?arguments[1]:void 0,3);return!Ia(o,(function(e,o){if(!n(o,e,t))return Ia.stop()}),void 0,!0,!0).stopped}});var ii=A("species"),li=function(e,t){var o,n=_(e).constructor;return void 0===n||null==(o=_(n)[ii])?t:Le(o)};Me({target:"Map",proto:!0,real:!0,forced:u},{filter:function(e){var t=_(this),o=ai(t),n=Te(e,arguments.length>1?arguments[1]:void 0,3),r=new(li(t,et("Map"))),a=Le(r.set);return Ia(o,(function(e,o){n(o,e,t)&&a.call(r,e,o)}),void 0,!0,!0),r}}),Me({target:"Map",proto:!0,real:!0,forced:u},{find:function(e){var t=_(this),o=ai(t),n=Te(e,arguments.length>1?arguments[1]:void 0,3);return Ia(o,(function(e,o){if(n(o,e,t))return Ia.stop(o)}),void 0,!0,!0).result}}),Me({target:"Map",proto:!0,real:!0,forced:u},{findKey:function(e){var t=_(this),o=ai(t),n=Te(e,arguments.length>1?arguments[1]:void 0,3);return Ia(o,(function(e,o){if(n(o,e,t))return Ia.stop(e)}),void 0,!0,!0).result}}),Me({target:"Map",stat:!0},{groupBy:function(e,t){var o=new this;Le(t);var n=Le(o.has),r=Le(o.get),a=Le(o.set);return Ia(e,(function(e){var i=t(e);n.call(o,i)?r.call(o,i).push(e):a.call(o,i,[e])})),o}});Me({target:"Map",proto:!0,real:!0,forced:u},{includes:function(e){return Ia(ai(_(this)),(function(t,o){if((n=o)===(r=e)||n!=n&&r!=r)return Ia.stop();var n,r}),void 0,!0,!0).stopped}}),Me({target:"Map",stat:!0},{keyBy:function(e,t){var o=new this;Le(t);var n=Le(o.set);return Ia(e,(function(e){n.call(o,t(e),e)})),o}}),Me({target:"Map",proto:!0,real:!0,forced:u},{keyOf:function(e){return Ia(ai(_(this)),(function(t,o){if(o===e)return Ia.stop(t)}),void 0,!0,!0).result}}),Me({target:"Map",proto:!0,real:!0,forced:u},{mapKeys:function(e){var t=_(this),o=ai(t),n=Te(e,arguments.length>1?arguments[1]:void 0,3),r=new(li(t,et("Map"))),a=Le(r.set);return Ia(o,(function(e,o){a.call(r,n(o,e,t),o)}),void 0,!0,!0),r}}),Me({target:"Map",proto:!0,real:!0,forced:u},{mapValues:function(e){var t=_(this),o=ai(t),n=Te(e,arguments.length>1?arguments[1]:void 0,3),r=new(li(t,et("Map"))),a=Le(r.set);return Ia(o,(function(e,o){a.call(r,e,n(o,e,t))}),void 0,!0,!0),r}}),Me({target:"Map",proto:!0,real:!0,forced:u},{merge:function(e){for(var t=_(this),o=Le(t.set),n=0;n<arguments.length;)Ia(arguments[n++],o,t,!0);return t}}),Me({target:"Map",proto:!0,real:!0,forced:u},{reduce:function(e){var t=_(this),o=ai(t),n=arguments.length<2,r=n?void 0:arguments[1];if(Le(e),Ia(o,(function(o,a){n?(n=!1,r=a):r=e(r,a,o,t)}),void 0,!0,!0),n)throw TypeError("Reduce of empty map with no initial value");return r}}),Me({target:"Map",proto:!0,real:!0,forced:u},{some:function(e){var t=_(this),o=ai(t),n=Te(e,arguments.length>1?arguments[1]:void 0,3);return Ia(o,(function(e,o){if(n(o,e,t))return Ia.stop()}),void 0,!0,!0).stopped}}),Me({target:"Map",proto:!0,real:!0,forced:u},{update:function(e,t){var o=_(this),n=arguments.length;Le(t);var r=o.has(e);if(!r&&n<3)throw TypeError("Updating absent value");var a=r?o.get(e):Le(n>2?arguments[2]:void 0)(e,o);return o.set(e,t(a,e,o)),o}});var si=function(e,t){var o,n=_(this),r=arguments.length>2?arguments[2]:void 0;if("function"!=typeof t&&"function"!=typeof r)throw TypeError("At least one callback required");return n.has(e)?(o=n.get(e),"function"==typeof t&&(o=t(o),n.set(e,o))):"function"==typeof r&&(o=r(),n.set(e,o)),o};Me({target:"Map",proto:!0,real:!0,forced:u},{upsert:si}),Me({target:"Map",proto:!0,real:!0,forced:u},{updateOrInsert:si});var ci=Ue.indexOf,ui=[].indexOf,fi=!!ui&&1/[1].indexOf(1,-0)<0,di=Kn("indexOf"),pi=En("indexOf",{ACCESSORS:!0,1:0});Me({target:"Array",proto:!0,forced:fi||!di||!pi},{indexOf:function(e){return fi?ui.apply(this,arguments)||0:ci(this,e,arguments.length>1?arguments[1]:void 0)}});var mi=nn("Array").indexOf,yi=Array.prototype;Me({target:"Function",proto:!0},{bind:Vr});nn("Function").bind;Me({target:"Array",proto:!0},{fill:function(e){for(var t=Ee(this),o=He(t.length),n=arguments.length,r=Ye(n>1?arguments[1]:void 0,o),a=n>2?arguments[2]:void 0,i=void 0===a?o:Ye(a,o);i>r;)t[r++]=e;return t}});var hi=nn("Array").fill,vi=Array.prototype,_i=function(e){var t=e.fill;return e===vi||e instanceof Array&&t===vi.fill?hi:t},ki=Object.assign,bi=Object.defineProperty,gi=!ki||f((function(){if(d&&1!==ki({b:1},ki(bi({},"a",{enumerable:!0,get:function(){bi(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},o=Symbol(),n="abcdefghijklmnopqrst";return e[o]=7,n.split("").forEach((function(e){t[e]=e})),7!=ki({},e)[o]||Ge(ki({},t)).join("")!=n}))?function(e,t){for(var o=Ee(e),n=arguments.length,r=1,a=po.f,i=pe.f;n>r;)for(var l,s=ve(arguments[r++]),c=a?Ge(s).concat(a(s)):Ge(s),u=c.length,f=0;u>f;)l=c[f++],d&&!i.call(s,l)||(o[l]=s[l]);return o}:ki;Me({target:"Object",stat:!0,forced:Object.assign!==gi},{assign:gi});n.Object.assign;function wi(e){return function(e){if(ya(e))return Aa(e)}(e)||function(e){if(void 0!==Vo&&ga(Object(e)))return Ea(e)}(e)||Pa(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var ji=Ma,xi=et("Reflect","ownKeys")||function(e){var t=lo.f(_(e)),o=po.f;return o?t.concat(o(e)):t};Me({target:"Object",stat:!0,sham:!d},{getOwnPropertyDescriptors:function(e){for(var t,o,n=_e(e),r=be.f,a=xi(n),i={},l=0;a.length>l;)void 0!==(o=r(n,t=a[l++]))&&Xt(i,t,o);return i}});n.Object.getOwnPropertyDescriptors;var Si,Oi,Ci,Li=function(e){var t=e.indexOf;return e===yi||e instanceof Array&&t===yi.indexOf?mi:t},Ti=c.Promise,$i=/(iphone|ipod|ipad).*applewebkit/i.test(Ut),Di=c.location,Mi=c.setImmediate,Ei=c.clearImmediate,Bi=c.process,Ai=c.MessageChannel,Pi=c.Dispatch,Fi=0,Ri={},qi="onreadystatechange",Ii=function(e){if(Ri.hasOwnProperty(e)){var t=Ri[e];delete Ri[e],t()}},Ni=function(e){return function(){Ii(e)}},Hi=function(e){Ii(e.data)},zi=function(e){c.postMessage(e+"",Di.protocol+"//"+Di.host)};Mi&&Ei||(Mi=function(e){for(var t=[],o=1;arguments.length>o;)t.push(arguments[o++]);return Ri[++Fi]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},Si(Fi),Fi},Ei=function(e){delete Ri[e]},"process"==ye(Bi)?Si=function(e){Bi.nextTick(Ni(e))}:Pi&&Pi.now?Si=function(e){Pi.now(Ni(e))}:Ai&&!$i?(Ci=(Oi=new Ai).port2,Oi.port1.onmessage=Hi,Si=Te(Ci.postMessage,Ci,1)):!c.addEventListener||"function"!=typeof postMessage||c.importScripts||f(zi)||"file:"===Di.protocol?Si=qi in h("script")?function(e){tt.appendChild(h("script")).onreadystatechange=function(){tt.removeChild(this),Ii(e)}}:function(e){setTimeout(Ni(e),0)}:(Si=zi,c.addEventListener("message",Hi,!1)));var Xi,Yi,Qi,Ui,Vi,Ji,Zi,Gi,Wi={set:Mi,clear:Ei},Ki=be.f,el=Wi.set,tl=c.MutationObserver||c.WebKitMutationObserver,ol=c.process,nl=c.Promise,rl="process"==ye(ol),al=Ki(c,"queueMicrotask"),il=al&&al.value;il||(Xi=function(){var e,t;for(rl&&(e=ol.domain)&&e.exit();Yi;){t=Yi.fn,Yi=Yi.next;try{t()}catch(e){throw Yi?Ui():Qi=void 0,e}}Qi=void 0,e&&e.enter()},rl?Ui=function(){ol.nextTick(Xi)}:tl&&!$i?(Vi=!0,Ji=document.createTextNode(""),new tl(Xi).observe(Ji,{characterData:!0}),Ui=function(){Ji.data=Vi=!Vi}):nl&&nl.resolve?(Zi=nl.resolve(void 0),Gi=Zi.then,Ui=function(){Gi.call(Zi,Xi)}):Ui=function(){el.call(c,Xi)});var ll,sl,cl,ul=il||function(e){var t={fn:e,next:void 0};Qi&&(Qi.next=t),Yi||(Yi=t,Ui()),Qi=t},fl=function(e){var t,o;this.promise=new e((function(e,n){if(void 0!==t||void 0!==o)throw TypeError("Bad Promise constructor");t=e,o=n})),this.resolve=Le(t),this.reject=Le(o)},dl={f:function(e){return new fl(e)}},pl=function(e,t){if(_(e),p(t)&&t.constructor===e)return t;var o=dl.f(e);return(0,o.resolve)(t),o.promise},ml=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}},yl=Wi.set,hl=A("species"),vl="Promise",_l=ue.get,kl=ue.set,bl=ue.getterFor(vl),gl=Ti,wl=c.TypeError,jl=c.document,xl=c.process,Sl=(et("fetch"),dl.f),Ol=Sl,Cl="process"==ye(xl),Ll=!!(jl&&jl.createEvent&&c.dispatchEvent),Tl="unhandledrejection",$l=Ce(vl,(function(){if(!(J(gl)!==String(gl))){if(66===Gt)return!0;if(!Cl&&"function"!=typeof PromiseRejectionEvent)return!0}if(!gl.prototype.finally)return!0;if(Gt>=51&&/native code/.test(gl))return!1;var e=gl.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[hl]=t,!(e.then((function(){}))instanceof t)})),Dl=$l||!$a((function(e){gl.all(e).catch((function(){}))})),Ml=function(e){var t;return!(!p(e)||"function"!=typeof(t=e.then))&&t},El=function(e,t,o){if(!t.notified){t.notified=!0;var n=t.reactions;ul((function(){for(var r=t.value,a=1==t.state,i=0;n.length>i;){var l,s,c,u=n[i++],f=a?u.ok:u.fail,d=u.resolve,p=u.reject,m=u.domain;try{f?(a||(2===t.rejection&&Fl(e,t),t.rejection=1),!0===f?l=r:(m&&m.enter(),l=f(r),m&&(m.exit(),c=!0)),l===u.promise?p(wl("Promise-chain cycle")):(s=Ml(l))?s.call(l,d,p):d(l)):p(r)}catch(e){m&&!c&&m.exit(),p(e)}}t.reactions=[],t.notified=!1,o&&!t.rejection&&Al(e,t)}))}},Bl=function(e,t,o){var n,r;Ll?((n=jl.createEvent("Event")).promise=t,n.reason=o,n.initEvent(e,!1,!0),c.dispatchEvent(n)):n={promise:t,reason:o},(r=c["on"+e])?r(n):e===Tl&&function(e,t){var o=c.console;o&&o.error&&(1===arguments.length?o.error(e):o.error(e,t))}("Unhandled promise rejection",o)},Al=function(e,t){yl.call(c,(function(){var o,n=t.value;if(Pl(t)&&(o=ml((function(){Cl?xl.emit("unhandledRejection",n,e):Bl(Tl,e,n)})),t.rejection=Cl||Pl(t)?2:1,o.error))throw o.value}))},Pl=function(e){return 1!==e.rejection&&!e.parent},Fl=function(e,t){yl.call(c,(function(){Cl?xl.emit("rejectionHandled",e):Bl("rejectionhandled",e,t.value)}))},Rl=function(e,t,o,n){return function(r){e(t,o,r,n)}},ql=function(e,t,o,n){t.done||(t.done=!0,n&&(t=n),t.value=o,t.state=2,El(e,t,!0))},Il=function(e,t,o,n){if(!t.done){t.done=!0,n&&(t=n);try{if(e===o)throw wl("Promise can't be resolved itself");var r=Ml(o);r?ul((function(){var n={done:!1};try{r.call(o,Rl(Il,e,n,t),Rl(ql,e,n,t))}catch(o){ql(e,n,o,t)}})):(t.value=o,t.state=1,El(e,t,!1))}catch(o){ql(e,{done:!1},o,t)}}};$l&&(gl=function(e){Na(this,gl,vl),Le(e),ll.call(this);var t=_l(this);try{e(Rl(Il,this,t),Rl(ql,this,t))}catch(e){ql(this,t,e)}},(ll=function(e){kl(this,{type:vl,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=Ua(gl.prototype,{then:function(e,t){var o=bl(this),n=Sl(li(this,gl));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=Cl?xl.domain:void 0,o.parent=!0,o.reactions.push(n),0!=o.state&&El(this,o,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),sl=function(){var e=new ll,t=_l(e);this.promise=e,this.resolve=Rl(Il,e,t),this.reject=Rl(ql,e,t)},dl.f=Sl=function(e){return e===gl||e===cl?new sl(e):Ol(e)}),Me({global:!0,wrap:!0,forced:$l},{Promise:gl}),yt(gl,vl,!1,!0),Ja(vl),cl=et(vl),Me({target:vl,stat:!0,forced:$l},{reject:function(e){var t=Sl(this);return t.reject.call(void 0,e),t.promise}}),Me({target:vl,stat:!0,forced:u},{resolve:function(e){return pl(this===cl?gl:this,e)}}),Me({target:vl,stat:!0,forced:Dl},{all:function(e){var t=this,o=Sl(t),n=o.resolve,r=o.reject,a=ml((function(){var o=Le(t.resolve),a=[],i=0,l=1;Ia(e,(function(e){var s=i++,c=!1;a.push(void 0),l++,o.call(t,e).then((function(e){c||(c=!0,a[s]=e,--l||n(a))}),r)})),--l||n(a)}));return a.error&&r(a.value),o.promise},race:function(e){var t=this,o=Sl(t),n=o.reject,r=ml((function(){var r=Le(t.resolve);Ia(e,(function(e){r.call(t,e).then(o.resolve,n)}))}));return r.error&&n(r.value),o.promise}}),Me({target:"Promise",stat:!0},{allSettled:function(e){var t=this,o=dl.f(t),n=o.resolve,r=o.reject,a=ml((function(){var o=Le(t.resolve),r=[],a=0,i=1;Ia(e,(function(e){var l=a++,s=!1;r.push(void 0),i++,o.call(t,e).then((function(e){s||(s=!0,r[l]={status:"fulfilled",value:e},--i||n(r))}),(function(e){s||(s=!0,r[l]={status:"rejected",reason:e},--i||n(r))}))})),--i||n(r)}));return a.error&&r(a.value),o.promise}});var Nl=!!Ti&&f((function(){Ti.prototype.finally.call({then:function(){}},(function(){}))}));Me({target:"Promise",proto:!0,real:!0,forced:Nl},{finally:function(e){var t=li(this,et("Promise")),o="function"==typeof e;return this.then(o?function(o){return pl(t,e()).then((function(){return o}))}:e,o?function(o){return pl(t,e()).then((function(){throw o}))}:e)}});var Hl=n.Promise;Me({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}});n.Date.now,Qa("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),ei);var zl=n.Set,Xl=f((function(){Ge(1)}));Me({target:"Object",stat:!0,forced:Xl},{keys:function(e){return Ge(Ee(e))}});var Yl=n.Object.keys,Ql=ia;function Ul(){}function Vl(e,t){for(var o in t)e[o]=t[o];return e}function Jl(e){return e()}function Zl(){return Ql(null)}function Gl(e){lr(e).call(e,Jl)}function Wl(e){return"function"==typeof e}function Kl(e,t){return e!=e?t==t:e!==t||e&&"object"===Jo(e)||"function"==typeof e}new zl;function es(e,t){e.appendChild(t)}function ts(e,t,o){e.insertBefore(t,o||null)}function os(e){e.parentNode.removeChild(e)}function ns(e){return document.createElement(e)}function rs(e){return document.createTextNode(e)}function as(){return rs(" ")}function is(){return rs("")}function ls(e,t,o,n){return e.addEventListener(t,o,n),function(){return e.removeEventListener(t,o,n)}}function ss(e,t,o){null==o?e.removeAttribute(t):e.getAttribute(t)!==o&&e.setAttribute(t,o)}function cs(e){return ji(e.childNodes)}function us(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function fs(e,t){for(var o=0;o<e.options.length;o+=1){var n=e.options[o];if(n.__value===t)return void(n.selected=!0)}}var ds;new zl;function ps(e){ds=e}function ms(){var e=function(){if(!ds)throw new Error("Function called outside component initialization");return ds}();return function(t,o){var n=e.$$.callbacks[t];if(n){var r,a=function(e,t){var o=document.createEvent("CustomEvent");return o.initCustomEvent(e,!1,!1,t),o}(t,o);lr(r=wr(n).call(n)).call(r,(function(t){t.call(e,a)}))}}}var ys=[],hs=[],vs=[],_s=[],ks=Hl.resolve(),bs=!1;function gs(){bs||(bs=!0,ks.then(Os))}function ws(e){vs.push(e)}function js(e){_s.push(e)}var xs=!1,Ss=new zl;function Os(){if(!xs){xs=!0;do{for(var e=0;e<ys.length;e+=1){var t=ys[e];ps(t),Cs(t.$$)}for(ps(null),ys.length=0;hs.length;)hs.pop()();for(var o=0;o<vs.length;o+=1){var n=vs[o];Ss.has(n)||(Ss.add(n),n())}vs.length=0}while(ys.length);for(;_s.length;)_s.pop()();bs=!1,xs=!1,Ss.clear()}}function Cs(e){if(null!==e.fragment){var t;e.update(),Gl(e.before_update);var o=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,o),lr(t=e.after_update).call(t,ws)}}var Ls,Ts=new zl;function $s(){Ls={r:0,c:[],p:Ls}}function Ds(){Ls.r||Gl(Ls.c),Ls=Ls.p}function Ms(e,t){e&&e.i&&(Ts.delete(e),e.i(t))}function Es(e,t,o,n){if(e&&e.o){if(Ts.has(e))return;Ts.add(e),Ls.c.push((function(){Ts.delete(e),n&&(o&&e.d(1),n())})),e.o(t)}}function Bs(e,t){Es(e,1,1,(function(){t.delete(e.key)}))}new zl(["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]);function As(e,t,o){var n=e.$$.props[t];void 0!==n&&(e.$$.bound[n]=o,o(e.$$.ctx[n]))}function Ps(e){e&&e.c()}function Fs(e,t,o){var n=e.$$,r=n.fragment,a=n.on_mount,i=n.on_destroy,l=n.after_update;r&&r.m(t,o),ws((function(){var t,o=Lr(t=Br(a).call(a,Jl)).call(t,Wl);i?i.push.apply(i,wi(o)):Gl(o),e.$$.on_mount=[]})),lr(l).call(l,ws)}function Rs(e,t){var o=e.$$;null!==o.fragment&&(Gl(o.on_destroy),o.fragment&&o.fragment.d(t),o.on_destroy=o.fragment=null,o.ctx=[])}function qs(e,t){var o;-1===e.$$.dirty[0]&&(ys.push(e),gs(),_i(o=e.$$.dirty).call(o,0));e.$$.dirty[t/31|0]|=1<<t%31}function Is(e,t,o,n,r,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:[-1],l=ds;ps(e);var s=t.props||{},c=e.$$={fragment:null,ctx:null,props:a,update:Ul,not_equal:r,bound:Zl(),on_mount:[],on_destroy:[],before_update:[],after_update:[],context:new ti(l?l.$$.context:[]),callbacks:Zl(),dirty:i,skip_bound:!1},u=!1;if(c.ctx=o?o(e,s,(function(t,o){var n=!(arguments.length<=2)&&arguments.length-2?arguments.length<=2?void 0:arguments[2]:o;return c.ctx&&r(c.ctx[t],c.ctx[t]=n)&&(!c.skip_bound&&c.bound[t]&&c.bound[t](n),u&&qs(e,t)),o})):[],c.update(),u=!0,Gl(c.before_update),c.fragment=!!n&&n(c.ctx),t.target){if(t.hydrate){var f=cs(t.target);c.fragment&&c.fragment.l(f),lr(f).call(f,os)}else c.fragment&&c.fragment.c();t.intro&&Ms(e.$$.fragment),Fs(e,t.target,t.anchor),Os()}ps(l)}var Ns=function(){function e(){ea(this,e)}return na(e,[{key:"$destroy",value:function(){Rs(this,1),this.$destroy=Ul}},{key:"$on",value:function(e,t){var o=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return o.push(t),function(){var e=Li(o).call(o,t);-1!==e&&Jn(o).call(o,e,1)}}},{key:"$set",value:function(e){this.$$set&&0!==Yl(e).length&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}]),e}(),Hs=pe.f,zs=function(e){return function(t){for(var o,n=_e(t),r=Ge(n),a=r.length,i=0,l=[];a>i;)o=r[i++],d&&!Hs.call(n,o)||l.push(e?[o,n[o]]:n[o]);return l}},Xs={entries:zs(!0),values:zs(!1)}.values;Me({target:"Object",stat:!0},{values:function(e){return Xs(e)}});var Ys=n.Object.values,Qs=[],Us=Qs.sort,Vs=f((function(){Qs.sort(void 0)})),Js=f((function(){Qs.sort(null)})),Zs=Kn("sort");Me({target:"Array",proto:!0,forced:Vs||!Js||!Zs},{sort:function(e){return void 0===e?Us.call(Ee(this)):Us.call(Ee(this),Le(e))}});var Gs=nn("Array").sort,Ws=Array.prototype,Ks=function(e){var t=e.sort;return e===Ws||e instanceof Array&&t===Ws.sort?Gs:t};function ec(e){var t=function(){if("undefined"==typeof Reflect||!Kr)return!1;if(Kr.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Kr(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,n=ma(e);if(t){var r=ma(this).constructor;o=Kr(n,arguments,r)}else o=n.apply(this,arguments);return fa(this,o)}}function tc(e,t,o){var n=wr(e).call(e);return n[10]=t[o],n}function oc(e){var t,o,n,r=e[3].name+"";return{c:function(){t=ns("option"),o=rs(r),t.__value=n=e[3].id,t.value=t.__value},m:function(e,n){ts(e,t,n),es(t,o)},p:function(e,a){8&a&&r!==(r=e[3].name+"")&&us(o,r),8&a&&n!==(n=e[3].id)&&(t.__value=n,t.value=t.__value)},d:function(e){e&&os(t)}}}function nc(e){var t,o,n,r=e[10].name+"";return{c:function(){t=ns("option"),o=rs(r),t.__value=n=e[10].id,t.value=t.__value},m:function(e,n){ts(e,t,n),es(t,o)},p:function(e,a){16&a&&r!==(r=e[10].name+"")&&us(o,r),16&a&&n!==(n=e[10].id)&&(t.__value=n,t.value=t.__value)},d:function(e){e&&os(t)}}}function rc(e){var t,o=!e[10].hidden&&nc(e);return{c:function(){o&&o.c(),t=is()},m:function(e,n){o&&o.m(e,n),ts(e,t,n)},p:function(e,n){e[10].hidden?o&&(o.d(1),o=null):o?o.p(e,n):((o=nc(e)).c(),o.m(t.parentNode,t))},d:function(e){o&&o.d(e),e&&os(t)}}}function ac(e){var t,o;return{c:function(){t=ns("div"),o=rs(e[5]),ss(t,"class","bookly-label-error")},m:function(e,n){ts(e,t,n),es(t,o)},p:function(e,t){32&t&&us(o,e[5])},d:function(e){e&&os(t)}}}function ic(e){for(var t,o,n,r,a,i,l,s,c,u,f=e[3]&&oc(e),d=e[4],p=[],m=0;m<d.length;m+=1)p[m]=rc(tc(e,d,m));var y=e[5]&&ac(e);return{c:function(){t=ns("label"),o=rs(e[2]),n=as(),r=ns("div"),a=ns("select"),f&&f.c(),i=is();for(var c=0;c<p.length;c+=1)p[c].c();l=as(),y&&y.c(),s=is(),void 0===e[1]&&ws((function(){return e[8].call(a)}))},m:function(d,m){ts(d,t,m),es(t,o),e[7](t),ts(d,n,m),ts(d,r,m),es(r,a),f&&f.m(a,null),es(a,i);for(var h=0;h<p.length;h+=1)p[h].m(a,null);fs(a,e[1]),ts(d,l,m),y&&y.m(d,m),ts(d,s,m),c||(u=[ls(a,"change",e[8]),ls(a,"change",e[6])],c=!0)},p:function(e,t){var n=Fa(t,1)[0];if(4&n&&us(o,e[2]),e[3]?f?f.p(e,n):((f=oc(e)).c(),f.m(a,i)):f&&(f.d(1),f=null),16&n){var r;for(d=e[4],r=0;r<d.length;r+=1){var l=tc(e,d,r);p[r]?p[r].p(l,n):(p[r]=rc(l),p[r].c(),p[r].m(a,null))}for(;r<p.length;r+=1)p[r].d(1);p.length=d.length}26&n&&fs(a,e[1]),e[5]?y?y.p(e,n):((y=ac(e)).c(),y.m(s.parentNode,s)):y&&(y.d(1),y=null)},i:Ul,o:Ul,d:function(o){o&&os(t),e[7](null),o&&os(n),o&&os(r),f&&f.d(),function(e,t){for(var o=0;o<e.length;o+=1)e[o]&&e[o].d(t)}(p,o),o&&os(l),y&&y.d(o),o&&os(s),c=!1,Gl(u)}}}function lc(e,t){return e.pos<t.pos?-1:e.pos>t.pos?1:0}function sc(e,t,o){var n=t.el,r=void 0===n?null:n,a=t.label,i=void 0===a?"":a,l=t.placeholder,s=void 0===l?null:l,c=t.items,u=void 0===c?[]:c,f=t.selected,d=void 0===f?"":f,p=t.error,m=void 0===p?null:p,y=ms();return e.$$set=function(e){"el"in e&&o(0,r=e.el),"label"in e&&o(2,i=e.label),"placeholder"in e&&o(3,s=e.placeholder),"items"in e&&o(4,u=e.items),"selected"in e&&o(1,d=e.selected),"error"in e&&o(5,m=e.error)},e.$$.update=function(){16&e.$$.dirty&&Ks(u).call(u,lc)},[r,d,i,s,u,m,function(){y("change",d)},function(e){hs[e?"unshift":"push"]((function(){o(0,r=e)}))},function(){var e,t;t=(e=this).querySelector(":checked")||e.options[0],d=t&&t.__value,o(1,d),o(4,u),o(3,s)}]}var cc=function(e){ua(o,e);var t=ec(o);function o(e){var n;return ea(this,o),Is(ra(n=t.call(this)),e,sc,ic,Kl,{el:0,label:2,placeholder:3,items:4,selected:1,error:5}),n}return o}(Ns);function uc(e){var t=function(){if("undefined"==typeof Reflect||!Kr)return!1;if(Kr.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Kr(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,n=ma(e);if(t){var r=ma(this).constructor;o=Kr(n,arguments,r)}else o=n.apply(this,arguments);return fa(this,o)}}function fc(e){var t,o,n,r;function a(t){e[55].call(null,t)}var i={label:e[10].location_label,placeholder:e[24],items:Ys(e[0]),selected:e[11],error:e[28]};return void 0!==e[29]&&(i.el=e[29]),o=new cc({props:i}),hs.push((function(){return As(o,"el",a)})),o.$on("change",e[34]),{c:function(){t=ns("div"),Ps(o.$$.fragment),ss(t,"class","bookly-form-group"),ss(t,"data-type","location")},m:function(e,n){ts(e,t,n),Fs(o,t,null),r=!0},p:function(e,t){var r={};1024&t[0]&&(r.label=e[10].location_label),16777216&t[0]&&(r.placeholder=e[24]),1&t[0]&&(r.items=Ys(e[0])),2048&t[0]&&(r.selected=e[11]),268435456&t[0]&&(r.error=e[28]),!n&&536870912&t[0]&&(n=!0,r.el=e[29],js((function(){return n=!1}))),o.$set(r)},i:function(e){r||(Ms(o.$$.fragment,e),r=!0)},o:function(e){Es(o.$$.fragment,e),r=!1},d:function(e){e&&os(t),Rs(o)}}}function dc(e){var t,o,n;return(o=new cc({props:{label:e[10].category_label,placeholder:e[25],items:Ys(e[18]),selected:e[12]}})).$on("change",e[35]),{c:function(){t=ns("div"),Ps(o.$$.fragment),ss(t,"class","bookly-form-group"),ss(t,"data-type","category")},m:function(e,r){ts(e,t,r),Fs(o,t,null),n=!0},p:function(e,t){var n={};1024&t[0]&&(n.label=e[10].category_label),33554432&t[0]&&(n.placeholder=e[25]),262144&t[0]&&(n.items=Ys(e[18])),4096&t[0]&&(n.selected=e[12]),o.$set(n)},i:function(e){n||(Ms(o.$$.fragment,e),n=!0)},o:function(e){Es(o.$$.fragment,e),n=!1},d:function(e){e&&os(t),Rs(o)}}}function pc(e){var t,o,n,r;function a(t){e[56].call(null,t)}var i={label:e[10].service_label,placeholder:e[26],items:Ys(e[19]),selected:e[13],error:e[30]};return void 0!==e[31]&&(i.el=e[31]),o=new cc({props:i}),hs.push((function(){return As(o,"el",a)})),o.$on("change",e[36]),{c:function(){t=ns("div"),Ps(o.$$.fragment),ss(t,"class","bookly-form-group"),ss(t,"data-type","service")},m:function(e,n){ts(e,t,n),Fs(o,t,null),r=!0},p:function(e,t){var r={};1024&t[0]&&(r.label=e[10].service_label),67108864&t[0]&&(r.placeholder=e[26]),524288&t[0]&&(r.items=Ys(e[19])),8192&t[0]&&(r.selected=e[13]),1073741824&t[0]&&(r.error=e[30]),!n&&1&t[1]&&(n=!0,r.el=e[31],js((function(){return n=!1}))),o.$set(r)},i:function(e){r||(Ms(o.$$.fragment,e),r=!0)},o:function(e){Es(o.$$.fragment,e),r=!1},d:function(e){e&&os(t),Rs(o)}}}function mc(e){var t,o,n,r;function a(t){e[57].call(null,t)}var i={label:e[10].staff_label,placeholder:e[27],items:Ys(e[20]),selected:e[14],error:e[32]};return void 0!==e[33]&&(i.el=e[33]),o=new cc({props:i}),hs.push((function(){return As(o,"el",a)})),o.$on("change",e[37]),{c:function(){t=ns("div"),Ps(o.$$.fragment),ss(t,"class","bookly-form-group"),ss(t,"data-type","staff")},m:function(e,n){ts(e,t,n),Fs(o,t,null),r=!0},p:function(e,t){var r={};1024&t[0]&&(r.label=e[10].staff_label),134217728&t[0]&&(r.placeholder=e[27]),1048576&t[0]&&(r.items=Ys(e[20])),16384&t[0]&&(r.selected=e[14]),2&t[1]&&(r.error=e[32]),!n&&4&t[1]&&(n=!0,r.el=e[33],js((function(){return n=!1}))),o.$set(r)},i:function(e){r||(Ms(o.$$.fragment,e),r=!0)},o:function(e){Es(o.$$.fragment,e),r=!1},d:function(e){e&&os(t),Rs(o)}}}function yc(e){var t,o,n;return(o=new cc({props:{label:e[10].duration_label,items:Ys(e[21]),selected:e[15]}})).$on("change",e[38]),{c:function(){t=ns("div"),Ps(o.$$.fragment),ss(t,"class","bookly-form-group"),ss(t,"data-type","duration")},m:function(e,r){ts(e,t,r),Fs(o,t,null),n=!0},p:function(e,t){var n={};1024&t[0]&&(n.label=e[10].duration_label),2097152&t[0]&&(n.items=Ys(e[21])),32768&t[0]&&(n.selected=e[15]),o.$set(n)},i:function(e){n||(Ms(o.$$.fragment,e),n=!0)},o:function(e){Es(o.$$.fragment,e),n=!1},d:function(e){e&&os(t),Rs(o)}}}function hc(e){var t,o,n;return(o=new cc({props:{label:e[10].nop_label,items:Ys(e[22]),selected:e[16]}})).$on("change",e[39]),{c:function(){t=ns("div"),Ps(o.$$.fragment),ss(t,"class","bookly-form-group"),ss(t,"data-type","nop")},m:function(e,r){ts(e,t,r),Fs(o,t,null),n=!0},p:function(e,t){var n={};1024&t[0]&&(n.label=e[10].nop_label),4194304&t[0]&&(n.items=Ys(e[22])),65536&t[0]&&(n.selected=e[16]),o.$set(n)},i:function(e){n||(Ms(o.$$.fragment,e),n=!0)},o:function(e){Es(o.$$.fragment,e),n=!1},d:function(e){e&&os(t),Rs(o)}}}function vc(e){var t,o,n;return(o=new cc({props:{label:e[10].quantity_label,items:Ys(e[23]),selected:e[17]}})).$on("change",e[40]),{c:function(){t=ns("div"),Ps(o.$$.fragment),ss(t,"class","bookly-form-group"),ss(t,"data-type","quantity")},m:function(e,r){ts(e,t,r),Fs(o,t,null),n=!0},p:function(e,t){var n={};1024&t[0]&&(n.label=e[10].quantity_label),8388608&t[0]&&(n.items=Ys(e[23])),131072&t[0]&&(n.selected=e[17]),o.$set(n)},i:function(e){n||(Ms(o.$$.fragment,e),n=!0)},o:function(e){Es(o.$$.fragment,e),n=!1},d:function(e){e&&os(t),Rs(o)}}}function _c(e){var t,o,n,r,a=e[9]&&kc(e);return{c:function(){t=ns("div"),o=ns("label"),n=as(),r=ns("div"),a&&a.c(),ss(t,"class","bookly-form-group bookly-chain-actions")},m:function(e,i){ts(e,t,i),es(t,o),es(t,n),es(t,r),a&&a.m(r,null)},p:function(e,t){e[9]?a?a.p(e,t):((a=kc(e)).c(),a.m(r,null)):a&&(a.d(1),a=null)},d:function(e){e&&os(t),a&&a.d()}}}function kc(e){var t,o,n;return{c:function(){(t=ns("button")).innerHTML='<i class="bookly-icon-sm bookly-icon-drop"></i>',ss(t,"class","bookly-round")},m:function(r,a){ts(r,t,a),o||(n=ls(t,"click",e[41]),o=!0)},p:Ul,d:function(e){e&&os(t),o=!1,n()}}}function bc(e){var t,o,n,r,a,i,l,s,c,u=e[1]&&fc(e),f=e[2]&&dc(e),d=e[3]&&pc(e),p=e[4]&&mc(e),m=e[5]&&yc(e),y=e[6]&&hc(e),h=e[7]&&vc(e),v=e[8]&&_c(e);return{c:function(){t=ns("div"),u&&u.c(),o=as(),f&&f.c(),n=as(),d&&d.c(),r=as(),p&&p.c(),a=as(),m&&m.c(),i=as(),y&&y.c(),l=as(),h&&h.c(),s=as(),v&&v.c(),ss(t,"class","bookly-table bookly-box")},m:function(e,_){ts(e,t,_),u&&u.m(t,null),es(t,o),f&&f.m(t,null),es(t,n),d&&d.m(t,null),es(t,r),p&&p.m(t,null),es(t,a),m&&m.m(t,null),es(t,i),y&&y.m(t,null),es(t,l),h&&h.m(t,null),es(t,s),v&&v.m(t,null),c=!0},p:function(e,c){e[1]?u?(u.p(e,c),2&c[0]&&Ms(u,1)):((u=fc(e)).c(),Ms(u,1),u.m(t,o)):u&&($s(),Es(u,1,1,(function(){u=null})),Ds()),e[2]?f?(f.p(e,c),4&c[0]&&Ms(f,1)):((f=dc(e)).c(),Ms(f,1),f.m(t,n)):f&&($s(),Es(f,1,1,(function(){f=null})),Ds()),e[3]?d?(d.p(e,c),8&c[0]&&Ms(d,1)):((d=pc(e)).c(),Ms(d,1),d.m(t,r)):d&&($s(),Es(d,1,1,(function(){d=null})),Ds()),e[4]?p?(p.p(e,c),16&c[0]&&Ms(p,1)):((p=mc(e)).c(),Ms(p,1),p.m(t,a)):p&&($s(),Es(p,1,1,(function(){p=null})),Ds()),e[5]?m?(m.p(e,c),32&c[0]&&Ms(m,1)):((m=yc(e)).c(),Ms(m,1),m.m(t,i)):m&&($s(),Es(m,1,1,(function(){m=null})),Ds()),e[6]?y?(y.p(e,c),64&c[0]&&Ms(y,1)):((y=hc(e)).c(),Ms(y,1),y.m(t,l)):y&&($s(),Es(y,1,1,(function(){y=null})),Ds()),e[7]?h?(h.p(e,c),128&c[0]&&Ms(h,1)):((h=vc(e)).c(),Ms(h,1),h.m(t,s)):h&&($s(),Es(h,1,1,(function(){h=null})),Ds()),e[8]?v?v.p(e,c):((v=_c(e)).c(),v.m(t,null)):v&&(v.d(1),v=null)},i:function(e){c||(Ms(u),Ms(f),Ms(d),Ms(p),Ms(m),Ms(y),Ms(h),c=!0)},o:function(e){Es(u),Es(f),Es(d),Es(p),Es(m),Es(y),Es(h),c=!1},d:function(e){e&&os(t),u&&u.d(),f&&f.d(),d&&d.d(),p&&p.d(),m&&m.d(),y&&y.d(),h&&h.d(),v&&v.d()}}}function gc(e,t,n){var r,a,i,l,s,c,u,f,d,p,m,y,h,v,_,k,b,g,w,j,x,S,O=t.item,C=void 0===O?{}:O,L=t.index,T=void 0===L?0:L,$=t.locations,D=void 0===$?[]:$,M=t.categories,E=void 0===M?[]:M,B=t.services,A=void 0===B?[]:B,P=t.staff,F=void 0===P?[]:P,R=t.defaults,q=void 0===R?{}:R,I=t.required,N=void 0===I?{}:I,H=t.servicesPerLocation,z=void 0!==H&&H,X=t.collaborativeHideStaff,Y=void 0!==X&&X,Q=t.showRatings,U=void 0!==Q&&Q,V=t.maxQuantity,J=void 0===V?1:V,Z=t.hasLocationSelect,G=void 0!==Z&&Z,W=t.hasCategorySelect,K=void 0===W||W,ee=t.hasServiceSelect,te=void 0===ee||ee,oe=t.hasStaffSelect,ne=void 0===oe||oe,re=t.hasDurationSelect,ae=void 0!==re&&re,ie=t.hasNopSelect,le=void 0!==ie&&ie,se=t.hasQuantitySelect,ce=void 0!==se&&se,ue=t.hasDropBtn,fe=void 0!==ue&&ue,de=t.showDropBtn,pe=void 0!==de&&de,me=t.l10n,ye=void 0===me?{}:me,he=ms(),ve=0,_e=0,ke=0,be=0,ge=1,we=1,je=1;function xe(e){if(n(11,ve=e.detail),ve in D||n(11,ve=0),ve){var t=z?ve:0;if(be&&(be in D[ve].staff?ke&&!(t in F[be].services[ke].locations)&&n(14,be=0):n(14,be=0)),ke){var r=!1;o.default.each(D[ve].staff,(function(e){if(ke in F[e].services&&t in F[e].services[ke].locations)return r=!0,!1})),r||n(13,ke=0)}if(_e){var a=!1;o.default.each(D[ve].staff,(function(e){if(o.default.each(F[e].services,(function(e){if(A[e].category_id===_e)return a=!0,!1})),a)return!1})),a||n(12,_e=0)}}}function Se(e){if(n(12,_e=e.detail),_e in r||n(12,_e=0),_e){if(n(59,g=!0),ke&&A[ke].category_id!==_e&&n(13,ke=0),be){var t=!1;o.default.each(F[be].services,(function(e){if(A[e].category_id===_e)return t=!0,!1})),t||n(14,be=0)}}else n(59,g=!1)}function Oe(e){n(13,ke=e.detail),ke in a||n(13,ke=0),ke?(n(12,_e=A[ke].category_id),be&&!(ke in F[be].services)&&n(14,be=0)):g||n(12,_e=0)}function Ce(e){n(14,be=e.detail),be in i||n(14,be=0)}function Le(e){n(15,ge=e.detail),ge in l||n(15,ge=1)}function Te(e){n(16,we=e.detail),we in s||n(16,we=1)}function $e(e){n(17,je=e.detail),je in c||n(17,je=1)}return(gs(),ks).then((function(){var e=C.location_id||q.location_id;e&&xe({detail:e})})).then((function(){q.category_id&&Se({detail:q.category_id})})).then((function(){var e=C.service_id||q.service_id;e&&Oe({detail:e})})).then((function(){var e;(e=ne&&C.staff_ids&&C.staff_ids.length?C.staff_ids.length>1?0:C.staff_ids[0]:q.staff_id)&&Ce({detail:e})})).then((function(){C.units>1&&Le({detail:C.units})})).then((function(){C.number_of_persons>1&&Te({detail:C.number_of_persons})})).then((function(){C.quantity>1&&$e({detail:C.quantity})})),e.$$set=function(e){"item"in e&&n(42,C=e.item),"index"in e&&n(43,T=e.index),"locations"in e&&n(0,D=e.locations),"categories"in e&&n(44,E=e.categories),"services"in e&&n(45,A=e.services),"staff"in e&&n(46,F=e.staff),"defaults"in e&&n(47,q=e.defaults),"required"in e&&n(48,N=e.required),"servicesPerLocation"in e&&n(49,z=e.servicesPerLocation),"collaborativeHideStaff"in e&&n(50,Y=e.collaborativeHideStaff),"showRatings"in e&&n(51,U=e.showRatings),"maxQuantity"in e&&n(52,J=e.maxQuantity),"hasLocationSelect"in e&&n(1,G=e.hasLocationSelect),"hasCategorySelect"in e&&n(2,K=e.hasCategorySelect),"hasServiceSelect"in e&&n(3,te=e.hasServiceSelect),"hasStaffSelect"in e&&n(4,ne=e.hasStaffSelect),"hasDurationSelect"in e&&n(5,ae=e.hasDurationSelect),"hasNopSelect"in e&&n(6,le=e.hasNopSelect),"hasQuantitySelect"in e&&n(7,ce=e.hasQuantitySelect),"hasDropBtn"in e&&n(8,fe=e.hasDropBtn),"showDropBtn"in e&&n(9,pe=e.showDropBtn),"l10n"in e&&n(10,ye=e.l10n)},e.$$.update=function(){if(3275841&e.$$.dirty[0]|2017255424&e.$$.dirty[1]|3&e.$$.dirty[2]){if(n(58,b=z&&ve?ve:0),n(18,r={}),n(19,a={}),n(20,i={}),n(22,s={}),o.default.each(F,(function(e,t){ve&&!(e in D[ve].staff)||(ke?ke in t.services&&o.default.each(t.services[ke].locations,(function(r,a){if(b&&b!==Sn(r))return!0;n(63,S=S?Math.min(S,a.min_capacity):a.min_capacity),n(62,x=x?Math.max(x,a.max_capacity):a.max_capacity),n(20,i[e]=o.default.extend({},t,{name:t.name+(null===a.price||!b&&z?"":" ("+a.price+")"),hidden:Y&&"collaborative"===A[ke].type}),i),Y&&"collaborative"===A[ke].type&&n(14,be=0)})):_e?o.default.each(t.services,(function(r){if(A[r].category_id===_e)return n(20,i[e]=o.default.extend({},t),i),!1})):n(20,i[e]=o.default.extend({},t),i))})),U&&o.default.each(F,(function(e,t){t.id in i&&(ke?ke in t.services&&t.services[ke].rating&&n(20,i[t.id].name="★"+t.services[ke].rating+" "+i[t.id].name,i):t.rating&&n(20,i[t.id].name="★"+t.rating+" "+i[t.id].name,i))})),ve){var t=[],m=[];z?o.default.each(F,(function(e){o.default.each(F[e].services,(function(o){b in F[e].services[o].locations&&(t.push(A[o].category_id),m.push(o))}))})):o.default.each(D[ve].staff,(function(e){o.default.each(F[e].services,(function(e){t.push(A[e].category_id),m.push(e)}))})),o.default.each(E,(function(e,a){o.default.inArray(Sn(e),t)>-1&&n(18,r[e]=a,r)})),o.default.each(A,(function(e,t){o.default.inArray(e,m)>-1&&(_e&&g&&t.category_id!==_e||be&&!(e in F[be].services)||n(19,a[e]=t,a))}))}else n(18,r=E),o.default.each(A,(function(e,t){_e&&g&&t.category_id!==_e||be&&!(e in F[be].services)||n(19,a[e]=t,a)}));n(60,w=ke?be?b in F[be].services[ke].locations?F[be].services[ke].locations[b].max_capacity:1:x||1:1),n(61,j=ke?be?b in F[be].services[ke].locations?F[be].services[ke].locations[b].min_capacity:1:S||1:1);for(var y=j;y<=w;++y)n(22,s[y]={id:y,name:y},s);if(we>w&&n(16,we=w),(we<j||!le)&&n(16,we=j),n(21,l={1:{id:1,name:"-"}}),ke)if(!be||z&&!ve)"units"in A[ke]&&n(21,l=A[ke].units);else{var h=ve||0,v=F[be].services[ke].locations;if(v){var _=h in v?v[h]:v[0];"units"in _&&n(21,l=_.units)}}ge in l||(Yl(l).length>0?n(15,ge=Ys(l)[0].id):n(15,ge=1)),n(23,c={});for(var k=1;k<=J;++k)n(23,c[k]={id:k,name:k},c);n(24,u={id:0,name:ye.location_option}),n(25,f={id:0,name:ye.category_option}),n(26,d={id:0,name:ye.service_option}),n(27,p={id:0,name:ye.staff_option})}},[D,G,K,te,ne,ae,le,ce,fe,pe,ye,ve,_e,ke,be,ge,we,je,r,a,i,l,s,c,u,f,d,p,m,y,h,v,_,k,xe,Se,Oe,Ce,Le,Te,$e,function(){he("dropItem",T)},C,T,E,A,F,q,N,z,Y,U,J,function(){var e=!0,t=null;return n(32,_=n(30,h=n(28,m=null))),!N.staff||be||Y&&ke&&"collaborative"===A[ke].type||(e=!1,n(32,_=ye.staff_error),t=k),ke||(e=!1,n(30,h=ye.service_error),t=v),N.location&&!ve&&(e=!1,n(28,m=ye.location_error),t=y),{valid:e,el:t}},function(){return{locationId:ve,categoryId:_e,serviceId:ke,staffIds:be?[be]:Br(o.default).call(o.default,i,(function(e){return e.id})),duration:ge,nop:we,quantity:je}},function(e){n(29,y=e)},function(e){n(31,v=e)},function(e){n(33,k=e)}]}var wc=function(e){ua(o,e);var t=uc(o);function o(e){var n;return ea(this,o),Is(ra(n=t.call(this)),e,gc,bc,Kl,{item:42,index:43,locations:0,categories:44,services:45,staff:46,defaults:47,required:48,servicesPerLocation:49,collaborativeHideStaff:50,showRatings:51,maxQuantity:52,hasLocationSelect:1,hasCategorySelect:2,hasServiceSelect:3,hasStaffSelect:4,hasDurationSelect:5,hasNopSelect:6,hasQuantitySelect:7,hasDropBtn:8,showDropBtn:9,l10n:10,validate:53,getValues:54},[-1,-1,-1]),n}return na(o,[{key:"validate",get:function(){return this.$$.ctx[53]}},{key:"getValues",get:function(){return this.$$.ctx[54]}}]),o}(Ns);function jc(e){var t=function(){if("undefined"==typeof Reflect||!Kr)return!1;if(Kr.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Kr(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var o,n=ma(e);if(t){var r=ma(this).constructor;o=Kr(n,arguments,r)}else o=n.apply(this,arguments);return fa(this,o)}}function xc(e,t,o){var n=wr(e).call(e);return n[9]=t[o],n[10]=t,n[11]=o,n}function Sc(e,t){for(var o,n,r,a=t[11],i=[t[1],{item:t[9]},{index:t[11]},{hasDropBtn:t[2]},{showDropBtn:t[11]>0}],l=function(){return t[8](n,a)},s=function(){return t[8](null,a)},c={},u=0;u<i.length;u+=1)c=Vl(c,i[u]);return n=new wc({props:c}),l(),n.$on("dropItem",t[5]),{key:e,first:null,c:function(){o=is(),Ps(n.$$.fragment),this.first=o},m:function(e,t){ts(e,o,t),Fs(n,e,t),r=!0},p:function(e,t){a!==e[11]&&(s(),a=e[11],l());var o,r=7&t?function(e,t){for(var o={},n={},r={$$scope:1},a=e.length;a--;){var i=e[a],l=t[a];if(l){for(var s in i)s in l||(n[s]=1);for(var c in l)r[c]||(o[c]=l[c],r[c]=1);e[a]=l}else for(var u in i)r[u]=1}for(var f in n)f in o||(o[f]=void 0);return o}(i,[2&t&&(o=e[1],"object"===Jo(o)&&null!==o?o:{}),1&t&&{item:e[9]},1&t&&{index:e[11]},4&t&&{hasDropBtn:e[2]},1&t&&{showDropBtn:e[11]>0}]):{};n.$set(r)},i:function(e){r||(Ms(n.$$.fragment,e),r=!0)},o:function(e){Es(n.$$.fragment,e),r=!1},d:function(e){e&&os(o),s(),Rs(n,e)}}}function Oc(e){var t,o,n,r,a,i,l=e[1].l10n.add_service+"";return{c:function(){t=ns("div"),o=ns("button"),n=ns("span"),r=rs(l),ss(n,"class","ladda-label"),ss(o,"class","bookly-btn ladda-button"),ss(o,"data-style","zoom-in"),ss(o,"data-spinner-size","40"),ss(t,"class","bookly-box")},m:function(l,s){ts(l,t,s),es(t,o),es(o,n),es(n,r),a||(i=ls(o,"click",e[4]),a=!0)},p:function(e,t){2&t&&l!==(l=e[1].l10n.add_service+"")&&us(r,l)},d:function(e){e&&os(t),a=!1,i()}}}function Cc(e){for(var t,o,n,r=[],a=new ti,i=e[0],l=function(e){return e[9]},s=0;s<i.length;s+=1){var c=xc(e,i,s),u=l(c);a.set(u,r[s]=Sc(u,c))}var f=e[2]&&Oc(e);return{c:function(){for(var e=0;e<r.length;e+=1)r[e].c();t=as(),f&&f.c(),o=is()},m:function(e,a){for(var i=0;i<r.length;i+=1)r[i].m(e,a);ts(e,t,a),f&&f.m(e,a),ts(e,o,a),n=!0},p:function(e,n){var i=Fa(n,1)[0];if(47&i){var s=e[0];$s(),r=function(e,t,o,n,r,a,i,l,s,c,u,f){for(var d=e.length,p=a.length,m=d,y={};m--;)y[e[m].key]=m;var h=[],v=new ti,_=new ti;for(m=p;m--;){var k=f(r,a,m),b=o(k),g=i.get(b);g?n&&g.p(k,t):(g=c(b,k)).c(),v.set(b,h[m]=g),b in y&&_.set(b,Math.abs(m-y[b]))}var w=new zl,j=new zl;function x(e){Ms(e,1),e.m(l,u),i.set(e.key,e),u=e.first,p--}for(;d&&p;){var S=h[p-1],O=e[d-1],C=S.key,L=O.key;S===O?(u=S.first,d--,p--):v.has(L)?!i.has(C)||w.has(C)?x(S):j.has(L)?d--:_.get(C)>_.get(L)?(j.add(C),x(S)):(w.add(L),d--):(s(O,i),d--)}for(;d--;){var T=e[d];v.has(T.key)||s(T,i)}for(;p;)x(h[p-1]);return h}(r,i,l,1,e,s,a,t.parentNode,Bs,Sc,t,xc),Ds()}e[2]?f?f.p(e,i):((f=Oc(e)).c(),f.m(o.parentNode,o)):f&&(f.d(1),f=null)},i:function(e){if(!n){for(var t=0;t<i.length;t+=1)Ms(r[t]);n=!0}},o:function(e){for(var t=0;t<r.length;t+=1)Es(r[t]);n=!1},d:function(e){for(var n=0;n<r.length;n+=1)r[n].d(e);e&&os(t),f&&f.d(e),e&&os(o)}}}function Lc(e,t,o){var n=t.items,r=void 0===n?[]:n,a=t.data,i=void 0===a?{}:a,l=t.multiple,s=void 0!==l&&l,c=[];return e.$$set=function(e){"items"in e&&o(0,r=e.items),"data"in e&&o(1,i=e.data),"multiple"in e&&o(2,s=e.multiple)},[r,i,s,c,function(){r.push({}),o(0,r)},function(e){Jn(r).call(r,e.detail,1),o(0,r)},function(){var e;return Br(e=Lr(c).call(c,(function(e){return!!e}))).call(e,(function(e){return e.validate()}))},function(){var e;return Br(e=Lr(c).call(c,(function(e){return!!e}))).call(e,(function(e){return e.getValues()}))},function(e,t){hs[e?"unshift":"push"]((function(){c[t]=e,o(3,c),o(0,r)}))}]}var Tc=function(e){ua(o,e);var t=jc(o);function o(e){var n;return ea(this,o),Is(ra(n=t.call(this)),e,Lc,Cc,Kl,{items:0,data:1,multiple:2,validate:6,getValues:7}),n}return na(o,[{key:"validate",get:function(){return this.$$.ctx[6]}},{key:"getValues",get:function(){return this.$$.ctx[7]}}]),o}(Ns);function $c(e){if(Zo[e.form_id].skip_steps.service)Zo[e.form_id].skip_steps.extras||"before_step_time"!=Zo[e.form_id].step_extras?zr(e):Xr(e);else{var t={action:"bookly_render_service",csrf_token:BooklyL10n.csrf_token},n=Zo[e.form_id].$container;Zo[e.form_id].use_client_time_zone&&(t.time_zone=Zo[e.form_id].timeZone,t.time_zone_offset=Zo[e.form_id].timeZoneOffset),o.default.extend(t,e),o.default.ajax({url:BooklyL10n.ajaxurl,data:t,dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){if(t.success){BooklyL10n.csrf_token=t.csrf_token,n.html(t.html),void 0===e&&Wo(n);var r=o.default(".bookly-js-chain",n),a=o.default(".bookly-js-date-from",n),i=o.default(".bookly-js-week-day",n),l=o.default(".bookly-js-select-time-from",n),s=o.default(".bookly-js-select-time-to",n),c=o.default(".bookly-js-next-step",n),u=o.default(".bookly-js-mobile-next-step",n),f=o.default(".bookly-js-mobile-prev-step",n),d=t.locations,p=t.categories,m=t.services,y=t.staff,h=t.chain,v=t.required,_=Zo[e.form_id].defaults,k=t.services_per_location,b=t.service_name_with_duration,g=t.collaborative_hide_staff,w=t.show_ratings,j=t.max_quantity||1,x=t.multi_service||!1,S=t.l10n;b&&o.default.each(m,(function(e,t){t.name=t.name+" ( "+t.duration+" )"}));var O=new Tc({target:r.get(0),props:{items:h,data:{locations:d,categories:p,services:m,staff:y,defaults:_,required:v,servicesPerLocation:k,collaborativeHideStaff:g,showRatings:w,maxQuantity:j,hasLocationSelect:!Zo[e.form_id].form_attributes.hide_locations,hasCategorySelect:!Zo[e.form_id].form_attributes.hide_categories,hasServiceSelect:!(Zo[e.form_id].form_attributes.hide_services&&_.service_id),hasStaffSelect:!Zo[e.form_id].form_attributes.hide_staff_members,hasDurationSelect:!Zo[e.form_id].form_attributes.hide_service_duration,hasNopSelect:Zo[e.form_id].form_attributes.show_number_of_persons,hasQuantitySelect:!Zo[e.form_id].form_attributes.hide_quantity,l10n:S},multiple:x}});a.pickadate({formatSubmit:"yyyy-mm-dd",format:Zo[e.form_id].date_format,min:t.date_min||!0,max:t.date_max||!0,clear:!1,close:!1,today:BooklyL10n.today,monthsFull:BooklyL10n.months,weekdaysFull:BooklyL10n.days,weekdaysShort:BooklyL10n.daysShort,labelMonthNext:BooklyL10n.nextMonth,labelMonthPrev:BooklyL10n.prevMonth,firstDay:Zo[e.form_id].firstDay,onSet:function(e){if(o.default.isNumeric(e.select)){var t=new Date(e.select);o.default('.bookly-js-week-day[value="'+(t.getDay()+1)+'"]:not(:checked)',n).attr("checked",!0).trigger("change")}}}),o.default(".bookly-js-go-to-cart",n).on("click",(function(t){t.preventDefault(),Go(this),Ir({form_id:e.form_id,from_step:"service"})})),Zo[e.form_id].form_attributes.hide_date&&o.default(".bookly-js-available-date",n).hide(),Zo[e.form_id].form_attributes.hide_week_days&&o.default(".bookly-js-week-days",n).hide(),Zo[e.form_id].form_attributes.hide_time_range&&o.default(".bookly-js-time-range",n).hide(),i.on("change",(function(){var e=o.default(this);e.is(":checked")?e.parent().not("[class*='active']").addClass("active"):e.parent().removeClass("active")})),l.on("change",(function(){var e=o.default(this).val(),t=s.val(),n=o.default("option:last",l);s.empty(),l[0].selectedIndex<n.index()?o.default("option",this).each((function(){o.default(this).val()>e&&s.append(o.default(this).clone())})):s.append(n.clone()).val(n.val());var r=o.default("option:first",s).val();s.val(t>=r?t:r)}));var C=function(){var e=!0,t=null;return o.default(O.validate()).each((function(n,r){if(!r.valid){e=!1;var a=o.default(r.el);if(a.is(":visible"))return t=a,!1}})),a.removeClass("bookly-error"),a.val()||(e=!1,a.addClass("bookly-error"),null===t&&(t=a)),o.default(".bookly-js-week-day:checked",n).length||(e=!1,null===t&&(t=i)),null!==t&&Wo(t),e};c.on("click",(function(t){if(t.preventDefault(),C()){Go(this);var r=[],i=0,c=0,u={required:2,optional:1,off:0};o.default.each(O.getValues(),(function(e,t){var o=m[t.serviceId];r.push({location_id:t.locationId,service_id:t.serviceId,staff_ids:t.staffIds,units:t.duration,number_of_persons:t.nop,quantity:t.quantity}),c=Math.max(c,u[o.hasOwnProperty("time_requirements")?o.time_requirements:"required"]),i+=o.has_extras}));var f=[];o.default(".bookly-js-week-days .active input.bookly-js-week-day",n).each((function(){f.push(this.value)})),o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:{action:"bookly_session_save",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id,chain:r,date_from:a.pickadate("picker").get("select","yyyy-mm-dd"),days:f,time_from:l.val(),time_to:s.val(),no_extras:0==i},dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(t){Zo[e.form_id].no_time=0==c,Zo[e.form_id].no_extras=0==i,Zo[e.form_id].skip_steps.extras||0==i||"after_step_time"==Zo[e.form_id].step_extras?zr({form_id:e.form_id}):Xr({form_id:e.form_id})}})}})),u.on("click",(function(t,r){return C()&&(Zo[e.form_id].skip_steps.service_part2?(Go(this),c.trigger("click")):(o.default(".bookly-js-mobile-step-1",n).hide(),o.default(".bookly-js-mobile-step-2",n).css("display","block"),1!=r&&Wo(n))),!1})),Zo[e.form_id].skip_steps.service_part1?(on((function(){u.trigger("click",[!0])}),0),f.remove()):f.on("click",(function(){return o.default(".bookly-js-mobile-step-1",n).show(),o.default(".bookly-js-mobile-step-2",n).hide(),!1}))}}})}}function Dc(e,t,o){var n=document.createElement("script");n.type="text/javascript",void 0!==t&&(n.async=t),o instanceof Function&&(n.onload=o),document.head.appendChild(n),n.src=e}return function(e){Zo[e.form_id]=e,Zo[e.form_id].$container=o.default("#bookly-form-"+e.form_id),Zo[e.form_id].timeZone="object"===("undefined"==typeof Intl?"undefined":Jo(Intl))?Intl.DateTimeFormat().resolvedOptions().timeZone:void 0,Zo[e.form_id].timeZoneOffset=(new Date).getTimezoneOffset(),Zo[e.form_id].skip_steps.service=e.skip_steps.service_part1&&e.skip_steps.service_part2,"finished"==e.status.booking?Ar({form_id:e.form_id}):"cancelled"==e.status.booking?Pr({form_id:e.form_id}):$c({form_id:e.form_id,new_chain:!0}),e.hasOwnProperty("facebook")&&e.facebook.enabled&&function(e){"undefined"!=typeof FB&&(FB.init({appId:e.facebook.appId,status:!0,version:"v2.12"}),FB.getLoginStatus((function(t){"connected"===t.status?(e.facebook.enabled=!1,FB.api("/me",{fields:"id,name,first_name,last_name,email,link"},(function(t){o.default.ajax({type:"POST",url:BooklyL10n.ajaxurl,data:o.default.extend(t,{action:"bookly_pro_facebook_login",csrf_token:BooklyL10n.csrf_token,form_id:e.form_id}),dataType:"json",xhrFields:{withCredentials:!0},crossDomain:"withCredentials"in new XMLHttpRequest,success:function(e){}})}))):FB.Event.subscribe("auth.statusChange",(function(t){e.facebook.onStatusChange&&e.facebook.onStatusChange(t)}))})))}(e),e.hasOwnProperty("google_maps")&&e.google_maps.enabled&&Dc("https://maps.googleapis.com/maps/api/js?key="+e.google_maps.api_key+"&libraries=places",!0),e.hasOwnProperty("stripe")&&e.stripe.enabled&&Dc("https://js.stripe.com/v3/",!0)}}();
|
frontend/resources/js/src/components/ChainItem.svelte
CHANGED
@@ -12,6 +12,7 @@
|
|
12 |
export let defaults = {};
|
13 |
export let required = {};
|
14 |
export let servicesPerLocation = false;
|
|
|
15 |
export let showRatings = false;
|
16 |
export let maxQuantity = 1;
|
17 |
export let hasLocationSelect = false;
|
@@ -92,9 +93,9 @@
|
|
92 |
? ' (' + locSrv.price + ')'
|
93 |
: ''
|
94 |
),
|
95 |
-
hidden: services[serviceId].type === 'collaborative',
|
96 |
});
|
97 |
-
if (services[serviceId].type === 'collaborative') {
|
98 |
staffId = 0;
|
99 |
}
|
100 |
});
|
@@ -178,7 +179,7 @@
|
|
178 |
: srvMinCapacity ? srvMinCapacity : 1)
|
179 |
: 1;
|
180 |
|
181 |
-
for (let i = minCapacity; i <= maxCapacity; ++
|
182 |
nopItems[i] = {id: i, name: i};
|
183 |
}
|
184 |
if (nop > maxCapacity) {
|
@@ -207,7 +208,11 @@
|
|
207 |
}
|
208 |
}
|
209 |
if (!(duration in durationItems)) {
|
210 |
-
|
|
|
|
|
|
|
|
|
211 |
}
|
212 |
|
213 |
// Quantity
|
@@ -407,7 +412,7 @@
|
|
407 |
|
408 |
staffError = serviceError = locationError = null;
|
409 |
|
410 |
-
if (required.staff && !staffId) {
|
411 |
valid = false;
|
412 |
staffError = l10n.staff_error;
|
413 |
el = staffEl;
|
12 |
export let defaults = {};
|
13 |
export let required = {};
|
14 |
export let servicesPerLocation = false;
|
15 |
+
export let collaborativeHideStaff = false;
|
16 |
export let showRatings = false;
|
17 |
export let maxQuantity = 1;
|
18 |
export let hasLocationSelect = false;
|
93 |
? ' (' + locSrv.price + ')'
|
94 |
: ''
|
95 |
),
|
96 |
+
hidden: collaborativeHideStaff && services[serviceId].type === 'collaborative',
|
97 |
});
|
98 |
+
if (collaborativeHideStaff && services[serviceId].type === 'collaborative') {
|
99 |
staffId = 0;
|
100 |
}
|
101 |
});
|
179 |
: srvMinCapacity ? srvMinCapacity : 1)
|
180 |
: 1;
|
181 |
|
182 |
+
for (let i = minCapacity; i <= maxCapacity; ++i) {
|
183 |
nopItems[i] = {id: i, name: i};
|
184 |
}
|
185 |
if (nop > maxCapacity) {
|
208 |
}
|
209 |
}
|
210 |
if (!(duration in durationItems)) {
|
211 |
+
if (Object.keys(durationItems).length > 0) {
|
212 |
+
duration = Object.values(durationItems)[0].id;
|
213 |
+
} else {
|
214 |
+
duration = 1;
|
215 |
+
}
|
216 |
}
|
217 |
|
218 |
// Quantity
|
412 |
|
413 |
staffError = serviceError = locationError = null;
|
414 |
|
415 |
+
if (required.staff && !staffId && (!collaborativeHideStaff || !serviceId || services[serviceId].type !== 'collaborative')) {
|
416 |
valid = false;
|
417 |
staffError = l10n.staff_error;
|
418 |
el = staffEl;
|
frontend/resources/js/src/service_step.js
CHANGED
@@ -58,6 +58,7 @@ export default function stepService(params) {
|
|
58 |
defaults = opt[params.form_id].defaults,
|
59 |
servicesPerLocation = response.services_per_location,
|
60 |
serviceNameWithDuration = response.service_name_with_duration,
|
|
|
61 |
showRatings = response.show_ratings,
|
62 |
maxQuantity = response.max_quantity || 1,
|
63 |
multiple = response.multi_service || false,
|
@@ -83,6 +84,7 @@ export default function stepService(params) {
|
|
83 |
defaults,
|
84 |
required,
|
85 |
servicesPerLocation,
|
|
|
86 |
showRatings,
|
87 |
maxQuantity,
|
88 |
hasLocationSelect: !opt[params.form_id].form_attributes.hide_locations,
|
@@ -304,7 +306,10 @@ export default function stepService(params) {
|
|
304 |
|
305 |
if (opt[params.form_id].skip_steps.service_part1) {
|
306 |
// Skip scrolling
|
307 |
-
|
|
|
|
|
|
|
308 |
$mobile_prev_step.remove();
|
309 |
} else {
|
310 |
$mobile_prev_step.on('click', function () {
|
58 |
defaults = opt[params.form_id].defaults,
|
59 |
servicesPerLocation = response.services_per_location,
|
60 |
serviceNameWithDuration = response.service_name_with_duration,
|
61 |
+
collaborativeHideStaff = response.collaborative_hide_staff,
|
62 |
showRatings = response.show_ratings,
|
63 |
maxQuantity = response.max_quantity || 1,
|
64 |
multiple = response.multi_service || false,
|
84 |
defaults,
|
85 |
required,
|
86 |
servicesPerLocation,
|
87 |
+
collaborativeHideStaff,
|
88 |
showRatings,
|
89 |
maxQuantity,
|
90 |
hasLocationSelect: !opt[params.form_id].form_attributes.hide_locations,
|
306 |
|
307 |
if (opt[params.form_id].skip_steps.service_part1) {
|
308 |
// Skip scrolling
|
309 |
+
// Timeout to let form set default values
|
310 |
+
setTimeout(function () {
|
311 |
+
$mobile_next_step.trigger('click', [true]);
|
312 |
+
}, 0);
|
313 |
$mobile_prev_step.remove();
|
314 |
} else {
|
315 |
$mobile_prev_step.on('click', function () {
|
languages/bookly-de_DE.mo
CHANGED
Binary file
|
languages/bookly-de_DE.po
CHANGED
@@ -8,9 +8,9 @@ msgstr ""
|
|
8 |
"Language: de_DE\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2020-
|
12 |
-
"PO-Revision-Date: 2020-09
|
13 |
-
"Last-Translator:
|
14 |
"Language-Team: German\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
16 |
|
@@ -205,48 +205,6 @@ msgstr "E-Mail"
|
|
205 |
msgid "Phone"
|
206 |
msgstr "Telefon"
|
207 |
|
208 |
-
msgid "Outlook Calendar integration"
|
209 |
-
msgstr "Outlook Kalender Integrierung"
|
210 |
-
|
211 |
-
msgid "Connect"
|
212 |
-
msgstr "Verbinden"
|
213 |
-
|
214 |
-
#, php-format
|
215 |
-
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
216 |
-
msgstr ""
|
217 |
-
"Bitte konfigurieren Sie zuerst den Outlook Kalender <a href=\"%s\">"
|
218 |
-
"Einstellungen</a> first\n"
|
219 |
-
"\n"
|
220 |
-
|
221 |
-
msgid "Connected"
|
222 |
-
msgstr "Verbunden"
|
223 |
-
|
224 |
-
# Verbindung lösen wrong
|
225 |
-
msgid "disconnect"
|
226 |
-
msgstr "Verbindung trennen"
|
227 |
-
|
228 |
-
msgid "Synchronize staff member appointments with Outlook Calendar."
|
229 |
-
msgstr "Synchronisieren Sie Mitgliedertermine mit Outlook-Kalender."
|
230 |
-
|
231 |
-
msgid "Calendar"
|
232 |
-
msgstr "Kalender"
|
233 |
-
|
234 |
-
# -- Kalender auswählen --Wrong
|
235 |
-
msgid "-- Select calendar --"
|
236 |
-
msgstr "-- Wähle einen Kalender --"
|
237 |
-
|
238 |
-
msgid ""
|
239 |
-
"When you connect a calendar all future and past events will be synchronized "
|
240 |
-
"according to the selected synchronization mode. This may take a few minutes. "
|
241 |
-
"Please wait."
|
242 |
-
msgstr ""
|
243 |
-
"Wenn Sie einen Kalender hinzufügen, dann werden alle zukünftigen und "
|
244 |
-
"vergangenen Ereignisse angeglichen, entsprechend dem Synchronisierungs-modus."
|
245 |
-
" Das kann ein paar Minuten dauern. Bitte warten Sie. "
|
246 |
-
|
247 |
-
msgid "Can't change calendar for archived staff"
|
248 |
-
msgstr "Kalender für archivierte Mitarbeiter kann nicht geändert werden"
|
249 |
-
|
250 |
msgid "Instructions"
|
251 |
msgstr "Anweisungen"
|
252 |
|
@@ -601,6 +559,48 @@ msgstr "Mit Outlook Kalender synchronisieren"
|
|
601 |
msgid "Calendars synchronized successfully."
|
602 |
msgstr "Kalender erfolgreich synchronisiert"
|
603 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
604 |
msgid "Custom Fields"
|
605 |
msgstr "Benutzerdefinierte Felder"
|
606 |
|
@@ -1381,22 +1381,6 @@ msgstr ""
|
|
1381 |
"die Genehmigung eines wiederkehrenden Termins nicht durchgeführt werden kann "
|
1382 |
"(Statusänderung usw.)."
|
1383 |
|
1384 |
-
msgid "Enabled"
|
1385 |
-
msgstr "Aktiviert"
|
1386 |
-
|
1387 |
-
# Allow this service to have recurring appointments. wrong
|
1388 |
-
msgid "Allow this service to have recurring appointments."
|
1389 |
-
msgstr "Genehmigen Sie für diese Dienstleistung wiederkehrende Termine."
|
1390 |
-
|
1391 |
-
msgid "Frequencies"
|
1392 |
-
msgstr "Häufigkeiten"
|
1393 |
-
|
1394 |
-
msgid "All"
|
1395 |
-
msgstr "Alle"
|
1396 |
-
|
1397 |
-
msgid "Nothing selected"
|
1398 |
-
msgstr "Nichts ausgewählt"
|
1399 |
-
|
1400 |
msgid "Edit"
|
1401 |
msgstr "Bearbeiten"
|
1402 |
|
@@ -1429,6 +1413,28 @@ msgstr "wiederkehrende Termine"
|
|
1429 |
msgid "Every"
|
1430 |
msgstr "Alle"
|
1431 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1432 |
msgid "Back"
|
1433 |
msgstr "Zurück"
|
1434 |
|
@@ -1468,6 +1474,22 @@ msgstr "Wiederkehrende Termine"
|
|
1468 |
msgid "Close"
|
1469 |
msgstr "Schließen"
|
1470 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1471 |
msgid "Save"
|
1472 |
msgstr "Speichern"
|
1473 |
|
@@ -1495,6 +1517,13 @@ msgstr "Händler Salt"
|
|
1495 |
msgid "Duration"
|
1496 |
msgstr "Dauer"
|
1497 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1498 |
# Servicedauer Auswählen. Wenn Sie Benuterdefiniert auswählen, muss der Kunde während der Buchung die Dauer der Leistung aus verschiedenen Einheiten wählen. Spezifizieren Sie im Feld "Stückpreis" den Preis für 1 Einheit, so dass sich die Gesamtkosten linear mit der Dauer der Leistung erhöhen. wrong
|
1499 |
msgid ""
|
1500 |
"Set service duration. If you select Custom, a client, while booking, will "
|
@@ -1526,12 +1555,18 @@ msgstr "Stückpreis"
|
|
1526 |
msgid "Custom"
|
1527 |
msgstr "Benutzerdefiniert"
|
1528 |
|
1529 |
-
|
1530 |
-
|
1531 |
-
msgstr "Dienstleistungspreis neben der Dienstleistungslaufzeit"
|
1532 |
|
1533 |
-
|
1534 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1535 |
|
1536 |
# Löschen wrong
|
1537 |
msgid "Delete break"
|
@@ -1553,28 +1588,26 @@ msgstr "Pause einfügen"
|
|
1553 |
msgid "Special Days"
|
1554 |
msgstr "Sondertage"
|
1555 |
|
1556 |
-
msgid "Are you sure?"
|
1557 |
-
msgstr "Sind Sie sicher?"
|
1558 |
-
|
1559 |
-
# Duplicate dates are not permitted. not translated
|
1560 |
-
msgid "Duplicate dates are not permitted."
|
1561 |
-
msgstr "Eine Duplizierung von Daten ist nicht zulässig."
|
1562 |
-
|
1563 |
-
msgid "Date in the past."
|
1564 |
-
msgstr "Datum in der Vergangenheit."
|
1565 |
-
|
1566 |
msgid "The requested interval is not available"
|
1567 |
msgstr "Der gewünschte Zeitraum ist nicht verfügbar"
|
1568 |
|
1569 |
msgid "OFF"
|
1570 |
msgstr "Aus"
|
1571 |
|
1572 |
-
msgid "Add Staff Special Days"
|
1573 |
-
msgstr "Mitarbeiter-Sondertage hinzufügen"
|
1574 |
-
|
1575 |
msgid "Uncategorized"
|
1576 |
msgstr "Nicht kategorisiert"
|
1577 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1578 |
# übrige Zeit wrong
|
1579 |
msgid "Spare time"
|
1580 |
msgstr "Freie Zeit"
|
@@ -1599,17 +1632,6 @@ msgstr ""
|
|
1599 |
"Buchungsformulars einen Mitarbeiter auswählt, wird nur dieser Mitarbeiter "
|
1600 |
"für die Suche nach verfügbaren Zeitfenstern für alle Teildienste verwendet."
|
1601 |
|
1602 |
-
# Translator Used Verbindung?-->in connection? does not make sense? has it to do with interests?-->then use In Raten abzahlen
|
1603 |
-
msgid "Compound"
|
1604 |
-
msgstr "Zusammengesetzt"
|
1605 |
-
|
1606 |
-
msgid "Part of compound service"
|
1607 |
-
msgstr "Teil der zusammengesetzten Dienstleistungen"
|
1608 |
-
|
1609 |
-
# kombinierte Dienstleistung wrong
|
1610 |
-
msgid "Compound service"
|
1611 |
-
msgstr "Zusammengesetzte Dienstleistung "
|
1612 |
-
|
1613 |
msgid "Short Codes"
|
1614 |
msgstr "Kurzcodes"
|
1615 |
|
@@ -1729,9 +1751,6 @@ msgstr "Angezeigte Termine"
|
|
1729 |
msgid "Upcoming appointments"
|
1730 |
msgstr "Bevorstehende Termine"
|
1731 |
|
1732 |
-
msgid "All appointments"
|
1733 |
-
msgstr "Alle Termine"
|
1734 |
-
|
1735 |
msgid "Delimiter"
|
1736 |
msgstr "Trennzeichen"
|
1737 |
|
@@ -1886,9 +1905,6 @@ msgstr "Keine Steuern gefunden."
|
|
1886 |
msgid "Processing..."
|
1887 |
msgstr "Verarbeitung..."
|
1888 |
|
1889 |
-
msgid "Taxation"
|
1890 |
-
msgstr "Besteuerung"
|
1891 |
-
|
1892 |
msgid "service tax amount"
|
1893 |
msgstr "Steuerhöhe der Dienstleistung"
|
1894 |
|
@@ -1916,6 +1932,9 @@ msgstr ""
|
|
1916 |
"wird. Wenn Sie den genauen Steuerbetrag dem Zahlungssystem mitteilen müssen, "
|
1917 |
"verwenden Sie keine zusätzlichen Gebühren."
|
1918 |
|
|
|
|
|
|
|
1919 |
msgid "Customer Information"
|
1920 |
msgstr "Kunden-Information"
|
1921 |
|
@@ -1989,9 +2008,6 @@ msgstr "Personen"
|
|
1989 |
msgid "Number of persons"
|
1990 |
msgstr "Personenanzahl"
|
1991 |
|
1992 |
-
msgid "Capacity (min and max)"
|
1993 |
-
msgstr "Kapazität (Min und Max)"
|
1994 |
-
|
1995 |
msgid "Group bookings information format"
|
1996 |
msgstr "Gruppenbuchungs-Informationsformat"
|
1997 |
|
@@ -2024,6 +2040,16 @@ msgstr "Anzahl der bereits in der Liste aufgeführten Personen"
|
|
2024 |
msgid "capacity of service"
|
2025 |
msgstr "Kapazität der Dienstleistung"
|
2026 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2027 |
msgid ""
|
2028 |
"The minimum and maximum number of customers allowed to book the service for "
|
2029 |
"the certain time period."
|
@@ -2042,13 +2068,6 @@ msgstr ""
|
|
2042 |
"\n"
|
2043 |
"\n"
|
2044 |
|
2045 |
-
msgid "Show information about group bookings"
|
2046 |
-
msgstr "Informationen über Gruppenbuchungen anzeigen"
|
2047 |
-
|
2048 |
-
# Kapazitätsaktualisierung deaktivieren wrong
|
2049 |
-
msgid "Disable capacity update"
|
2050 |
-
msgstr "Kapazitätsaktualisierung abschalten"
|
2051 |
-
|
2052 |
msgid "Address"
|
2053 |
msgstr "Adresse"
|
2054 |
|
@@ -2105,15 +2124,19 @@ msgstr "Erforderliche Adresse anzeigen"
|
|
2105 |
msgid "Show google maps field"
|
2106 |
msgstr "Google Maps anzeigen"
|
2107 |
|
2108 |
-
msgid "
|
2109 |
-
msgstr "
|
2110 |
|
2111 |
-
|
2112 |
-
|
2113 |
-
|
2114 |
msgstr ""
|
2115 |
-
"
|
2116 |
-
"
|
|
|
|
|
|
|
|
|
2117 |
|
2118 |
# Kollaborativ right but wouldnt use it here
|
2119 |
msgid "Collaborative"
|
@@ -2126,6 +2149,16 @@ msgstr "Gemeinsame Dienstleistung"
|
|
2126 |
msgid "Part of collaborative service"
|
2127 |
msgstr "Teil des gemeinschaftlichen Dienstleistung."
|
2128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2129 |
# Kundenbereich (alle Dienstleistungen in Tabs angezeigt) wrong
|
2130 |
msgid "Customer cabinet (all services displayed in tabs)"
|
2131 |
msgstr "Kundenbereich(alle Dienstleistung werden in Registern angezeigt)"
|
@@ -3357,45 +3390,6 @@ msgstr ""
|
|
3357 |
"abweichenden Daten zu aktualisieren (überschreiben) oder klicken Sie auf "
|
3358 |
"Abbrechen, um die eben eingegebenen Benutzerdaten zu korrigieren."
|
3359 |
|
3360 |
-
msgid "sent to our system"
|
3361 |
-
msgstr "an unser System gesendet"
|
3362 |
-
|
3363 |
-
# Vielen Dank für die Nutzung von Bookly SMS. Wir wünschen dir eine glückliche Woche! wrong
|
3364 |
-
msgid ""
|
3365 |
-
"Hope you had a good weekend! Here's a summary of messages we've delivered "
|
3366 |
-
"last week:\n"
|
3367 |
-
"{notification_list}\n"
|
3368 |
-
"\n"
|
3369 |
-
"Your system sent a total of {total} messages last week (that's {delta} {sign}"
|
3370 |
-
" than the week before).\n"
|
3371 |
-
"Cost of sending {total} messages was {amount}. Your current Bookly SMS "
|
3372 |
-
"balance is {balance}.\n"
|
3373 |
-
"\n"
|
3374 |
-
"Thank you for using Bookly SMS. We wish you a lucky week!\n"
|
3375 |
-
"Bookly SMS Team"
|
3376 |
-
msgstr ""
|
3377 |
-
"Ich hoffe, Sie hatten ein gutes Wochenende! Hier ist eine Zusammenfassung "
|
3378 |
-
"der Nachrichten, die wir letzte Woche erhalten haben:\n"
|
3379 |
-
"{Benachrichtigungsliste}\n"
|
3380 |
-
"\n"
|
3381 |
-
"Ihr System hat letzte Woche insgesamt {total} Nachrichten gesendet (das ist "
|
3382 |
-
"{delta} {sign} als die Woche zuvor).\n"
|
3383 |
-
"Die Kosten für das Senden von {total} Nachrichten waren {amount}. Ihr "
|
3384 |
-
"aktuelles Bookly SMS-Guthaben ist {balance}.\n"
|
3385 |
-
"\n"
|
3386 |
-
"Vielen Dank für die Nutzung von Bookly SMS. Wir wünschen Ihnen eine tolle "
|
3387 |
-
"Woche!\n"
|
3388 |
-
"Bookly SMS Team"
|
3389 |
-
|
3390 |
-
msgid "more"
|
3391 |
-
msgstr "mehr"
|
3392 |
-
|
3393 |
-
msgid "less"
|
3394 |
-
msgstr "weniger"
|
3395 |
-
|
3396 |
-
msgid "Bookly SMS weekly summary"
|
3397 |
-
msgstr "Bookly SMS wöchentliche Zusammenfassung"
|
3398 |
-
|
3399 |
msgid "Internal Notes"
|
3400 |
msgstr "Interne Notizen"
|
3401 |
|
@@ -3599,23 +3593,30 @@ msgstr ""
|
|
3599 |
"ermöglicht es dem Team, das Produkt zu verbessern und seine Funktionalität "
|
3600 |
"zu verbessern."
|
3601 |
|
3602 |
-
msgid "
|
3603 |
-
msgstr "
|
3604 |
|
3605 |
msgid ""
|
3606 |
-
"Select \"
|
3607 |
"caching plugins by adding a DONOTCACHEPAGE constant on pages with booking "
|
3608 |
-
"form
|
3609 |
msgstr ""
|
3610 |
-
"Wählen Sie \"
|
3611 |
-
"
|
3612 |
-
"
|
3613 |
|
3614 |
-
msgid "
|
3615 |
-
msgstr "
|
3616 |
|
3617 |
-
msgid "
|
3618 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3619 |
|
3620 |
msgid "Service paid locally"
|
3621 |
msgstr "Vor Ort bezahlte Dienstleistung"
|
@@ -3639,6 +3640,9 @@ msgstr "Geschäftszeiten"
|
|
3639 |
msgid "Holidays"
|
3640 |
msgstr "Urlaube"
|
3641 |
|
|
|
|
|
|
|
3642 |
# Termin-Genehmigung URL (erfolgreich) wrong
|
3643 |
msgid "Approve appointment URL (success)"
|
3644 |
msgstr "Termin-URL genehmigen ( Erfolg)"
|
@@ -3845,19 +3849,57 @@ msgstr ""
|
|
3845 |
"die sich von der vorherigen Bestellung unterscheiden, erscheint eine "
|
3846 |
"Warnmeldung mit der Aufforderung, die Daten zu aktualisieren."
|
3847 |
|
3848 |
-
|
|
|
|
|
3849 |
msgid ""
|
3850 |
-
"
|
3851 |
-
"
|
|
|
|
|
3852 |
msgstr ""
|
3853 |
-
"
|
3854 |
-
"
|
|
|
|
|
3855 |
|
3856 |
-
msgid "
|
3857 |
-
msgstr "
|
3858 |
|
3859 |
-
|
3860 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3861 |
msgstr "Genehmigt bei"
|
3862 |
|
3863 |
msgid "Change the sender's name to your phone number or any other name"
|
@@ -3945,9 +3987,6 @@ msgstr "Anfrage abbrechen"
|
|
3945 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3946 |
msgstr "Kann nur Buchstaben oder Ziffern (bis zu 11 Zeichen) enthalten."
|
3947 |
|
3948 |
-
msgid "Last month"
|
3949 |
-
msgstr "Letzter Monat"
|
3950 |
-
|
3951 |
msgid "Sender ID request is sent."
|
3952 |
msgstr "Absender-ID-Anforderung wird gesendet."
|
3953 |
|
@@ -4039,8 +4078,8 @@ msgstr ""
|
|
4039 |
"Senden von E-Mail-Benachrichtigung an die Administratoren bei niedrigen "
|
4040 |
"Guthaben"
|
4041 |
|
4042 |
-
msgid "Send weekly summary
|
4043 |
-
msgstr "
|
4044 |
|
4045 |
msgid ""
|
4046 |
"Your country is the location from where you consume Bookly SMS services and "
|
@@ -4091,50 +4130,6 @@ msgstr "Meine Auswahl merken"
|
|
4091 |
msgid "No, update just here in services"
|
4092 |
msgstr "Nein, aktualisieren Sie nur hier in Dienstleistungen"
|
4093 |
|
4094 |
-
msgid "Color"
|
4095 |
-
msgstr "Farbe"
|
4096 |
-
|
4097 |
-
msgid "Providers"
|
4098 |
-
msgstr "Anbieter(Mehrere)"
|
4099 |
-
|
4100 |
-
msgid "All staff"
|
4101 |
-
msgstr "Alle Mitarbeiter"
|
4102 |
-
|
4103 |
-
msgid "No staff selected"
|
4104 |
-
msgstr "Kein Mitarbeiter ausgewählt"
|
4105 |
-
|
4106 |
-
#, php-format
|
4107 |
-
msgid "This text can be inserted into notifications with %s code."
|
4108 |
-
msgstr "Dieser Text kann mit %s Code in Benachrichtigungen eingefügt werden."
|
4109 |
-
|
4110 |
-
msgid "Start and end times of the appointment"
|
4111 |
-
msgstr "Startzeitpunkt und Endezeitpunkt des Termines"
|
4112 |
-
|
4113 |
-
# Ermöglicht die Festlegung der Start- und Endzeiten für einen Termin für Leistungen mit einer Dauer von 1 Tag oder länger. Diese Zeit wird in Benachrichtigungen an Kunden, Backend-Kalender und Codes für das Buchungsformular angezeigt.wrong
|
4114 |
-
msgid ""
|
4115 |
-
"Allows to set the start and end times for an appointment for services with "
|
4116 |
-
"the duration of 1 day or longer. This time will be displayed in "
|
4117 |
-
"notifications to customers, backend calendar and codes for booking form."
|
4118 |
-
msgstr ""
|
4119 |
-
"Ermöglicht das Festlegen der Start- und Endzeiten eines Termins für Dienste "
|
4120 |
-
"mit einer Dauer von 1 Tag oder länger. Diese Zeit wird in Benachrichtigungen "
|
4121 |
-
"an Kunden, im Hintergrund-Kalender und in den Buchungsformular-codes "
|
4122 |
-
"angezeigt."
|
4123 |
-
|
4124 |
-
# Zeitdauer als Servicedauer. wrong
|
4125 |
-
msgid "Slot length as service duration"
|
4126 |
-
msgstr "Zeitfensterlänge als Dienstleistungslaufzeit"
|
4127 |
-
|
4128 |
-
msgid ""
|
4129 |
-
"The time interval which is used as a step when building all time slots for "
|
4130 |
-
"the service at the Time step. The setting overrides global settings in "
|
4131 |
-
"Settings > General. Use Default to apply global settings."
|
4132 |
-
msgstr ""
|
4133 |
-
"Das Zeitintervall, das als Schritt verwendet wird, wenn alle Zeitfenster für "
|
4134 |
-
"den Dienst im Zeitschritt erstellt werden. Die Einstellung überschreibt die "
|
4135 |
-
"globalen Einstellungen in den allgemeinen Einstellungen. Verwenden Sie "
|
4136 |
-
"Standardwerte, um die globalen Einstellungen anzuwenden"
|
4137 |
-
|
4138 |
msgid "The service will be created with the visibility of Private."
|
4139 |
msgstr "Die Dienstleistung wird als Privat dargestellt werden."
|
4140 |
|
@@ -4277,6 +4272,12 @@ msgstr "Deaktivierungsdatum"
|
|
4277 |
msgid "Stripe activation was not completed"
|
4278 |
msgstr "Die Stripe-Aktivierung wurde nicht abgeschlossen"
|
4279 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4280 |
msgid "Auto-refresh Calendar"
|
4281 |
msgstr "Automatisches Neuladen des Kalenders"
|
4282 |
|
@@ -5177,6 +5178,10 @@ msgstr ""
|
|
5177 |
"Wenn Sie dieses Feld leer lassen, kann dieser Mitarbeiter über den WP-"
|
5178 |
"Hintergrund nicht auf den persönlichen Kalender zugreifen."
|
5179 |
|
|
|
|
|
|
|
|
|
5180 |
msgid "Archive"
|
5181 |
msgstr "Archiv"
|
5182 |
|
@@ -5244,9 +5249,6 @@ msgid "Selected period doesn't match service duration"
|
|
5244 |
msgstr ""
|
5245 |
"Ausgewählter Zeitraum stimmt nicht mit der Dienstleistungslaufzeit überein"
|
5246 |
|
5247 |
-
msgid "The selected period is occupied by another appointment"
|
5248 |
-
msgstr "Der gewählte Zeitraum ist bereits durch einen anderen Termin belegt"
|
5249 |
-
|
5250 |
msgid "Selected period doesn't match provider's schedule"
|
5251 |
msgstr ""
|
5252 |
"Ausgewählter Zeitraum stimmt nicht mit dem Zeitplan des Anbieters überein"
|
@@ -5254,6 +5256,9 @@ msgstr ""
|
|
5254 |
msgid "Selected period doesn't match service schedule"
|
5255 |
msgstr "Ausgewählter Zeitraum stimmt nicht mit dem Dienstleistungsplan überein"
|
5256 |
|
|
|
|
|
|
|
5257 |
# Die Buchung überschreitet die Arbeitsstundeneinschränkung für Mitarbeiter wrong
|
5258 |
msgid "Booking exceeds the working hours limit for staff member"
|
5259 |
msgstr "Buchung überschreitet das Arbeitszeitlimit für Mitarbeiter"
|
@@ -5394,6 +5399,40 @@ msgid "Create service"
|
|
5394 |
msgstr ""
|
5395 |
"Service anlegen\n"
|
5396 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5397 |
# Service bearbeiten
|
5398 |
# wrong
|
5399 |
msgid "Edit service"
|
@@ -6033,30 +6072,12 @@ msgstr "Erstellungsdatum"
|
|
6033 |
msgid "Packages"
|
6034 |
msgstr "Pakete"
|
6035 |
|
6036 |
-
msgid "Unassigned"
|
6037 |
-
msgstr "Nicht zugewiesen"
|
6038 |
-
|
6039 |
-
# vieren Sie diese Einstellung, damit das Paket angezeigt und gebucht werden kann, wenn der Kunde keinen bestimmten Anbieter angegeben hat. wrong
|
6040 |
-
msgid ""
|
6041 |
-
"Enable this setting so that the package can be displayed and available for "
|
6042 |
-
"booking when clients have not specified a particular provider."
|
6043 |
-
msgstr ""
|
6044 |
-
"Aktivieren Sie diese Einstellung, damit das Paket angezeigt wird und zur "
|
6045 |
-
"Buchung zur Verfügung steht, wenn Kunden keinen bestimmten Anbieter "
|
6046 |
-
"angegeben haben."
|
6047 |
-
|
6048 |
-
# Lebenslang wrong
|
6049 |
-
msgid "Life Time"
|
6050 |
-
msgstr "Nutzungsdauer"
|
6051 |
-
|
6052 |
-
msgid "The period in days when the customer can use a package of services."
|
6053 |
-
msgstr ""
|
6054 |
-
"Der Zeitraum in Tagen, in dem der Kunde ein Paket von Dienstleistungen in "
|
6055 |
-
"Anspruch nehmen kann."
|
6056 |
-
|
6057 |
msgid "New package"
|
6058 |
msgstr "Neues Paket"
|
6059 |
|
|
|
|
|
|
|
6060 |
msgid "Edit package"
|
6061 |
msgstr "Paket bearbeiten"
|
6062 |
|
@@ -6159,6 +6180,24 @@ msgstr "Pakettermin bearbeiten"
|
|
6159 |
msgid "Delete package appointment"
|
6160 |
msgstr "Termin Paket löschen"
|
6161 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6162 |
msgid "Packages list"
|
6163 |
msgstr "Paketliste"
|
6164 |
|
@@ -6535,32 +6574,6 @@ msgstr "Ihr Support-Zeitraum ist für %s abgelaufen."
|
|
6535 |
msgid "Print"
|
6536 |
msgstr "Drucken"
|
6537 |
|
6538 |
-
msgid "Google Calendar integration"
|
6539 |
-
msgstr "Google Kalender Integration"
|
6540 |
-
|
6541 |
-
#, php-format
|
6542 |
-
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
6543 |
-
msgstr ""
|
6544 |
-
"Bitte konfigurieren Sie die Google Kalender <a href=\"%s\">Einstellungen</a> "
|
6545 |
-
"zuerst"
|
6546 |
-
|
6547 |
-
msgid "Synchronize staff member appointments with Google Calendar."
|
6548 |
-
msgstr ""
|
6549 |
-
"Synchronisieren Sie die Termine der Mitarbeiter mit dem Google Kalender."
|
6550 |
-
|
6551 |
-
msgid "Limit working hours per day"
|
6552 |
-
msgstr "Arbeitsstundengrenze pro Woche"
|
6553 |
-
|
6554 |
-
msgid "Unlimited"
|
6555 |
-
msgstr "Unbeschränkt"
|
6556 |
-
|
6557 |
-
msgid ""
|
6558 |
-
"This setting allows limiting the total time occupied by bookings per day for "
|
6559 |
-
"staff member. Padding time is not included."
|
6560 |
-
msgstr ""
|
6561 |
-
"Diese Einstellung ermöglicht es Ihnen die Gesamtzeit einzuschränken für "
|
6562 |
-
"Buchungen pro Tag für Mitarbeiter. Eine Auffüllzeit ist nicht enthalten."
|
6563 |
-
|
6564 |
msgid "API Username"
|
6565 |
msgstr "API Benutzername"
|
6566 |
|
@@ -7039,196 +7052,49 @@ msgstr ""
|
|
7039 |
msgid "Online Meetings"
|
7040 |
msgstr "Online-Besprechungen"
|
7041 |
|
7042 |
-
msgid "
|
7043 |
-
msgstr "
|
|
|
|
|
|
|
7044 |
|
7045 |
-
# Wenn diese Einstellung aktiviert ist, werden Online-Besprechungen für neue Termine mit dem ausgewählten Anbieter von Online-Meetings erstellt. Vergewissern Sie sich, dass der Anbieter unter Einstellungen ordnungsgemäß konfiguriert ist <a href="%s">Online Meetings</a> wrong
|
7046 |
#, php-format
|
7047 |
-
msgid ""
|
7048 |
-
"
|
7049 |
-
"appointments with the selected online meeting provider. Make sure that the "
|
7050 |
-
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
7051 |
-
"Meetings</a>"
|
7052 |
-
msgstr ""
|
7053 |
-
"Wenn diese Einstellung aktiviert ist, werden Online-Besprechungen für neue "
|
7054 |
-
"Termine mit dem ausgewählten Anbieter von Online-Besprechungen erstellt. "
|
7055 |
-
"Stellen Sie sicher, dass der Anbieter unter Einstellungen <a href=\"%s\">"
|
7056 |
-
"Online Besprechungen</a>"
|
7057 |
|
7058 |
-
|
7059 |
-
|
7060 |
-
msgstr "Auffüllzeit (davor und danach)"
|
7061 |
|
7062 |
msgid ""
|
7063 |
-
"
|
7064 |
-
"
|
7065 |
-
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
7066 |
-
"then the next available time slot will be 9:15 rather than 9:00."
|
7067 |
msgstr ""
|
7068 |
-
"
|
7069 |
-
"
|
7070 |
-
"vorzubereiten, dann sollten Sie \"zusätzliche Zeit vor\" auf 15 min "
|
7071 |
-
"einstellen. Wenn ein Termin von 8:00 bis 09:00 Uhr dauert, wird der nächste "
|
7072 |
-
"verfügbare Zeit um 09:15 statt 09:00 sein."
|
7073 |
|
7074 |
-
|
7075 |
-
|
7076 |
-
msgstr "Präferenz des Anbieters für JEDEN"
|
7077 |
|
7078 |
-
|
|
|
|
|
|
|
7079 |
msgid ""
|
7080 |
-
"
|
7081 |
-
"
|
7082 |
msgstr ""
|
7083 |
-
"
|
7084 |
-
"
|
7085 |
|
7086 |
-
|
7087 |
-
|
7088 |
-
|
7089 |
-
|
7090 |
-
|
7091 |
-
|
7092 |
-
|
7093 |
-
|
7094 |
-
|
7095 |
-
"Tag der Buchung."
|
7096 |
-
|
7097 |
-
msgid "Pick random staff member in case of uncertainty"
|
7098 |
-
msgstr "Wählen Sie einen zufälligen Mitarbeiter im Falle von Unklarheit aus"
|
7099 |
-
|
7100 |
-
msgid ""
|
7101 |
-
"Enable this option to pick a random staff member if both meet the criteria "
|
7102 |
-
"chosen in \"Providers preference for ANY\". Otherwise the selection order is "
|
7103 |
-
"unknown."
|
7104 |
-
msgstr ""
|
7105 |
-
"Aktivieren Sie diese Option, um einen Mitarbeiter nach dem Zufallsprinzip "
|
7106 |
-
"auszuwählen, wenn beide die unter \"Anbieter bevorzugt für JEDEN\" gewählten "
|
7107 |
-
"Kriterien erfüllen. Andernfalls ist die Reihenfolge der Auswahl unbekannt."
|
7108 |
-
|
7109 |
-
# Anzahl Termine pro Kunde wrong
|
7110 |
-
msgid "Limit appointments per customer"
|
7111 |
-
msgstr "Termine pro Kunde begrenzen"
|
7112 |
-
|
7113 |
-
msgid "upcoming"
|
7114 |
-
msgstr "Bevorstehende"
|
7115 |
-
|
7116 |
-
# Je 24 Stunden wrong change all
|
7117 |
-
msgid "per 24 hours"
|
7118 |
-
msgstr "Pro 24 Stunden"
|
7119 |
-
|
7120 |
-
msgid "per day"
|
7121 |
-
msgstr "Pro Tag"
|
7122 |
-
|
7123 |
-
msgid "per 7 days"
|
7124 |
-
msgstr "Pro 7 Tage"
|
7125 |
-
|
7126 |
-
msgid "per week"
|
7127 |
-
msgstr "Pro Woche"
|
7128 |
-
|
7129 |
-
msgid "per 30 days"
|
7130 |
-
msgstr "Pro 30 Tage"
|
7131 |
-
|
7132 |
-
msgid "per month"
|
7133 |
-
msgstr "Pro Monat"
|
7134 |
-
|
7135 |
-
msgid "per 365 days"
|
7136 |
-
msgstr "Pro 365 Tage"
|
7137 |
-
|
7138 |
-
msgid "per year"
|
7139 |
-
msgstr "Pro Jahr"
|
7140 |
-
|
7141 |
-
msgid ""
|
7142 |
-
"This setting allows you to limit the number of appointments that can be "
|
7143 |
-
"booked by a customer in any given period. Restriction may end after a fixed "
|
7144 |
-
"period or with the beginning of the next calendar period - new day, week, "
|
7145 |
-
"month, etc."
|
7146 |
-
msgstr ""
|
7147 |
-
"Mit dieser Einstellung können Sie die Anzahl der Termine begrenzen, die von "
|
7148 |
-
"einem Kunden in einem bestimmten Zeitraum gebucht werden können. Die "
|
7149 |
-
"Begrenzung kann nach einem festgelegten Zeitraum oder mit Beginn der "
|
7150 |
-
"nächsten Kalenderperiode mit einem neuen Tag, einer neuen Woche, einem neuen "
|
7151 |
-
"Monat usw... enden."
|
7152 |
-
|
7153 |
-
# Limit wrong
|
7154 |
-
msgid "Limit"
|
7155 |
-
msgstr "Begrenzung"
|
7156 |
-
|
7157 |
-
msgid ""
|
7158 |
-
"To make service invisible to your customers set the visibility to "
|
7159 |
-
"\"Private\"."
|
7160 |
-
msgstr ""
|
7161 |
-
"Um den Dienstleistungen für Ihre Kunden unsichtbar zu machen, setzen Sie die "
|
7162 |
-
"Sichtbarkeit auf \"Privat\"."
|
7163 |
-
|
7164 |
-
msgid "Specified order"
|
7165 |
-
msgstr "Festgelegte Reihenfolge"
|
7166 |
-
|
7167 |
-
msgid "Least occupied that day"
|
7168 |
-
msgstr "Am geringsten belegt an diesem Tag"
|
7169 |
-
|
7170 |
-
# Am meisten belegt an diesem Tag wrong
|
7171 |
-
msgid "Most occupied that day"
|
7172 |
-
msgstr "Meist belegt an diesem Tag"
|
7173 |
-
|
7174 |
-
msgid "Least occupied for period"
|
7175 |
-
msgstr "Am wenigstens besetzt für den Zeitraum"
|
7176 |
-
|
7177 |
-
# Häufig besetzt für den Zeitraum wrong
|
7178 |
-
msgid "Most occupied for period"
|
7179 |
-
msgstr "Meist belegt für den Zeitraum"
|
7180 |
-
|
7181 |
-
# Der günstigste wrong
|
7182 |
-
msgid "Least expensive"
|
7183 |
-
msgstr "Am kostengünstigsten"
|
7184 |
-
|
7185 |
-
# Der teuerste wrod
|
7186 |
-
msgid "Most expensive"
|
7187 |
-
msgstr "Am teuersten"
|
7188 |
-
|
7189 |
-
msgid "Form view in case of single booking"
|
7190 |
-
msgstr "Formularansicht bei Einzelbuchung"
|
7191 |
-
|
7192 |
-
msgid "Form view in case of multiple booking"
|
7193 |
-
msgstr "Formularansicht bei Mehrfachbuchung"
|
7194 |
-
|
7195 |
-
#, php-format
|
7196 |
-
msgid "Form in case of 100% discount"
|
7197 |
-
msgstr "Formular bei 100% Rabatt"
|
7198 |
-
|
7199 |
-
msgid "Show birthday field"
|
7200 |
-
msgstr "Geburtstags-Eingabefeld anzeigen"
|
7201 |
-
|
7202 |
-
msgid ""
|
7203 |
-
"Address information is needed for Invoices add-on. To disable, deactivate "
|
7204 |
-
"Invoices add-on first."
|
7205 |
-
msgstr ""
|
7206 |
-
"Adressinformationen werden für das Zusatzmodul Rechnungen benötigt. Um es zu "
|
7207 |
-
"abzuschalten, deaktivieren Sie zuerst das Zusatzmodul Rechnungen."
|
7208 |
-
|
7209 |
-
msgid "Show address fields"
|
7210 |
-
msgstr "Adressfeld anzeigen"
|
7211 |
-
|
7212 |
-
msgid "Show Facebook login button"
|
7213 |
-
msgstr "Facebook-Login-Schaltfläche anzeigen"
|
7214 |
-
|
7215 |
-
#, php-format
|
7216 |
-
msgid ""
|
7217 |
-
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
7218 |
-
"first."
|
7219 |
-
msgstr ""
|
7220 |
-
"Bitte konfigurieren Sie die Facebook App-Integration zuerst in den <a "
|
7221 |
-
"href=\"%s\"> Einstellungen </a>."
|
7222 |
-
|
7223 |
-
# Zeige den Zeitzonen-Wechsler wrong
|
7224 |
-
msgid "Show time zone switcher"
|
7225 |
-
msgstr "Zeitzonen-Umschalter anzeigen"
|
7226 |
-
|
7227 |
-
msgid "Import"
|
7228 |
-
msgstr "Import"
|
7229 |
-
|
7230 |
-
msgid "Note"
|
7231 |
-
msgstr "Hinweis"
|
7232 |
|
7233 |
msgid ""
|
7234 |
"You may import list of clients in CSV format. You can choose the columns "
|
@@ -7259,6 +7125,9 @@ msgstr ""
|
|
7259 |
msgid "online meeting join URL"
|
7260 |
msgstr "URL für die Teilnahme an Online-Besprechungen"
|
7261 |
|
|
|
|
|
|
|
7262 |
msgid "Titles"
|
7263 |
msgstr "Titel"
|
7264 |
|
@@ -7296,6 +7165,19 @@ msgstr ""
|
|
7296 |
msgid "Error dissociating purchase code."
|
7297 |
msgstr "Fehler beim Entfernen des Bestellcodes."
|
7298 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7299 |
# Archivierungsmitarbeiter wrong
|
7300 |
msgid "Archiving Staff"
|
7301 |
msgstr "Archivierungs-Mitarbeiter"
|
@@ -7311,6 +7193,28 @@ msgstr ""
|
|
7311 |
msgid "Ok, continue editing"
|
7312 |
msgstr "Ok, weiterhin bearbeiten"
|
7313 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7314 |
msgid "Reason"
|
7315 |
msgstr "Begründung"
|
7316 |
|
@@ -7353,6 +7257,153 @@ msgstr "Bitte geben Sie einen Dienstleistungsname ein"
|
|
7353 |
msgid "Custom service price"
|
7354 |
msgstr "Benutzerdefinierter Dienstleistungspreis"
|
7355 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7356 |
msgid "Welcome to Bookly Pro and thank you for purchasing our product!"
|
7357 |
msgstr ""
|
7358 |
"Willkommen bei Bookly Pro und vielen Dank, dass Sie unser Produkt gekauft "
|
@@ -7722,6 +7773,9 @@ msgstr "Überspringen"
|
|
7722 |
msgid "Tasks"
|
7723 |
msgstr "Aufgaben"
|
7724 |
|
|
|
|
|
|
|
7725 |
msgid "Time step settings"
|
7726 |
msgstr "Zeitschritte Einstellungen"
|
7727 |
|
@@ -7737,9 +7791,6 @@ msgstr ""
|
|
7737 |
"anzeigen, sie ausblenden und eine Aufgabe ohne Fälligkeit erstellen oder den "
|
7738 |
"Zeitschritt anzeigen, aber einem Kunden das Überspringen ermöglichen."
|
7739 |
|
7740 |
-
msgid "Skip time selection"
|
7741 |
-
msgstr "Zeitauswahl überspringen"
|
7742 |
-
|
7743 |
msgid "Incorrect payment data"
|
7744 |
msgstr "Falsche Zahlungsinformationen"
|
7745 |
|
@@ -7966,19 +8017,6 @@ msgstr "Gruppe bearbeiten"
|
|
7966 |
msgid "No customer groups yet."
|
7967 |
msgstr "Keine Kundengruppen vorhanden"
|
7968 |
|
7969 |
-
msgid "Groups"
|
7970 |
-
msgstr "Gruppen"
|
7971 |
-
|
7972 |
-
msgid "All groups"
|
7973 |
-
msgstr "Alle Gruppen"
|
7974 |
-
|
7975 |
-
msgid "No group selected"
|
7976 |
-
msgstr "Keine Gruppe ausgewählt"
|
7977 |
-
|
7978 |
-
# Kundengruppen basiert wrong
|
7979 |
-
msgid "Customer group based"
|
7980 |
-
msgstr "Kundengruppe-basierend"
|
7981 |
-
|
7982 |
msgid "Customer Group"
|
7983 |
msgstr "Kundengruppe"
|
7984 |
|
@@ -8005,6 +8043,19 @@ msgstr "Gruppe bearbeiten"
|
|
8005 |
msgid "Group name is required"
|
8006 |
msgstr "\"Gruppenname \" ist eine Pflichteingabe"
|
8007 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8008 |
msgid "Notification to customer about placing on waiting list"
|
8009 |
msgstr "Benachrichtigung an Kunden über die Aufnahme auf die Warteliste"
|
8010 |
|
@@ -8277,13 +8328,6 @@ msgstr "Zusätzlicher Titel"
|
|
8277 |
msgid "extras total price"
|
8278 |
msgstr "Gesamtpreis Zuschläge "
|
8279 |
|
8280 |
-
msgid "Max quantity"
|
8281 |
-
msgstr "Maximale Menge"
|
8282 |
-
|
8283 |
-
# Neuer Gegenstand wrong
|
8284 |
-
msgid "New Item"
|
8285 |
-
msgstr "Neuer Artikel"
|
8286 |
-
|
8287 |
msgid "Show title"
|
8288 |
msgstr ""
|
8289 |
"Titel anzeigen\n"
|
@@ -8309,6 +8353,13 @@ msgstr "Zusätzliche Schritte anzeigen"
|
|
8309 |
msgid "Show extras"
|
8310 |
msgstr "Zusätze anzeigen"
|
8311 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8312 |
msgid "Extras tax"
|
8313 |
msgstr "Steuer Zuschläge "
|
8314 |
|
@@ -8389,6 +8440,10 @@ msgstr ""
|
|
8389 |
"Ihre PayPal Identifikationsnummer oder eine, mit Ihrem PayPal Konto "
|
8390 |
"verbundene E-Mail-Adresse. E-Mail-Adressen müssen verifiziert werden."
|
8391 |
|
|
|
|
|
|
|
|
|
8392 |
msgid "Special prices for appointments which begin between:"
|
8393 |
msgstr "Sonderpreise für Termine, die zwischen folgenden Zeiten beginnen:"
|
8394 |
|
@@ -8396,10 +8451,6 @@ msgstr "Sonderpreise für Termine, die zwischen folgenden Zeiten beginnen:"
|
|
8396 |
msgid "add special period"
|
8397 |
msgstr "Sonderzeitraum hinzufügen"
|
8398 |
|
8399 |
-
# Sonderstunden-Update deaktivieren wrong
|
8400 |
-
msgid "Disable special hours update"
|
8401 |
-
msgstr "Aktualisierung der Sonderzeiten abschalten."
|
8402 |
-
|
8403 |
# Bitte wählen Sie einen Ort aus wrong
|
8404 |
msgid "Please select a location"
|
8405 |
msgstr "Bitte wählen Sie einen Standort aus"
|
@@ -8411,33 +8462,6 @@ msgstr "Mitarbeiter"
|
|
8411 |
msgid "Locations"
|
8412 |
msgstr "Standorte"
|
8413 |
|
8414 |
-
msgid "Default settings"
|
8415 |
-
msgstr "Standardwert-Einstellung"
|
8416 |
-
|
8417 |
-
# Legen Sie Standardwerte fest, die an allen Orten verwendet werden, an denen Standardeinstellungen verwenden ausgewählt ist. Um benutzerdefinierte Einstellungen an einem Ort zu verwenden, wählen Sie Benutzerdefinierte Einstellungen verwenden und geben Sie benutzerdefinierte Werte ein.
|
8418 |
-
#
|
8419 |
-
# wrong
|
8420 |
-
msgid ""
|
8421 |
-
"Set Default values that will be used in all locations where Use default "
|
8422 |
-
"settings is selected. To use custom settings in a location, select Use "
|
8423 |
-
"custom settings and enter custom values."
|
8424 |
-
msgstr ""
|
8425 |
-
"Standardwerte festlegen, die an allen Standorten verwendet werden, an denen "
|
8426 |
-
"Standardeinstellungen verwenden ausgewählt ist. Um benutzerdefinierte "
|
8427 |
-
"Einstellungen an einem Standort zu verwenden, wählen Sie Benutzerdefinierte "
|
8428 |
-
"Einstellungen verwenden und geben Sie benutzerdefinierte Werte ein."
|
8429 |
-
|
8430 |
-
msgid "Use default settings"
|
8431 |
-
msgstr "Standardwerte verwenden"
|
8432 |
-
|
8433 |
-
msgid "Use custom settings"
|
8434 |
-
msgstr "Benutzerdefinierte Einstellungen verwenden"
|
8435 |
-
|
8436 |
-
# Orte auswählen, an denen die Dienstleistung angeboten wird. wrong
|
8437 |
-
msgid "Select locations where the services are provided."
|
8438 |
-
msgstr ""
|
8439 |
-
"Wählen Sie die Standorte aus, an denen die Dienstleistungen angeboten werden."
|
8440 |
-
|
8441 |
# Angepasste Einstellungen für diesen Ort wrong
|
8442 |
msgid "Custom settings for location"
|
8443 |
msgstr "Benutzerdefinierte Einstellungen für den Standort"
|
@@ -8487,6 +8511,33 @@ msgstr "\"Standort auswählen\" ist eine Pflichteingabe"
|
|
8487 |
msgid "Default value for location select"
|
8488 |
msgstr "Standardwert für die Standortwahl"
|
8489 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8490 |
# Konto-ID wrong
|
8491 |
msgid "Account ID"
|
8492 |
msgstr "Benutzerkonto-ID"
|
@@ -8550,9 +8601,6 @@ msgstr "Bewertung des Mitarbeiters vor dem Namen des Mitarbeiters anzeigen"
|
|
8550 |
msgid "URL of the page for staff rating"
|
8551 |
msgstr "URL der Seite für Mitarbeiterbewertungen"
|
8552 |
|
8553 |
-
msgid "Comment"
|
8554 |
-
msgstr "Kommentar"
|
8555 |
-
|
8556 |
msgid "Add staff rating form"
|
8557 |
msgstr "Mitarbeiterbewertungsformular hinzufügen"
|
8558 |
|
8 |
"Language: de_DE\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2020-11-06 16:52+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-11-09 08:47+0000\n"
|
13 |
+
"Last-Translator: Tristan Schneiders <tristan.schneiders@yahoo.com>\n"
|
14 |
"Language-Team: German\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
16 |
|
205 |
msgid "Phone"
|
206 |
msgstr "Telefon"
|
207 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
msgid "Instructions"
|
209 |
msgstr "Anweisungen"
|
210 |
|
559 |
msgid "Calendars synchronized successfully."
|
560 |
msgstr "Kalender erfolgreich synchronisiert"
|
561 |
|
562 |
+
msgid "Outlook Calendar integration"
|
563 |
+
msgstr "Outlook Kalender Integrierung"
|
564 |
+
|
565 |
+
msgid "Connect"
|
566 |
+
msgstr "Verbinden"
|
567 |
+
|
568 |
+
#, php-format
|
569 |
+
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
570 |
+
msgstr ""
|
571 |
+
"Bitte konfigurieren Sie zuerst den Outlook Kalender <a href=\"%s\">"
|
572 |
+
"Einstellungen</a> first\n"
|
573 |
+
"\n"
|
574 |
+
|
575 |
+
msgid "Connected"
|
576 |
+
msgstr "Verbunden"
|
577 |
+
|
578 |
+
# Verbindung lösen wrong
|
579 |
+
msgid "disconnect"
|
580 |
+
msgstr "Verbindung trennen"
|
581 |
+
|
582 |
+
msgid "Synchronize staff member appointments with Outlook Calendar."
|
583 |
+
msgstr "Synchronisieren Sie Mitgliedertermine mit Outlook-Kalender."
|
584 |
+
|
585 |
+
msgid "Calendar"
|
586 |
+
msgstr "Kalender"
|
587 |
+
|
588 |
+
# -- Kalender auswählen --Wrong
|
589 |
+
msgid "-- Select calendar --"
|
590 |
+
msgstr "-- Wähle einen Kalender --"
|
591 |
+
|
592 |
+
msgid ""
|
593 |
+
"When you connect a calendar all future and past events will be synchronized "
|
594 |
+
"according to the selected synchronization mode. This may take a few minutes. "
|
595 |
+
"Please wait."
|
596 |
+
msgstr ""
|
597 |
+
"Wenn Sie einen Kalender hinzufügen, dann werden alle zukünftigen und "
|
598 |
+
"vergangenen Ereignisse angeglichen, entsprechend dem Synchronisierungs-modus."
|
599 |
+
" Das kann ein paar Minuten dauern. Bitte warten Sie. "
|
600 |
+
|
601 |
+
msgid "Can't change calendar for archived staff"
|
602 |
+
msgstr "Kalender für archivierte Mitarbeiter kann nicht geändert werden"
|
603 |
+
|
604 |
msgid "Custom Fields"
|
605 |
msgstr "Benutzerdefinierte Felder"
|
606 |
|
1381 |
"die Genehmigung eines wiederkehrenden Termins nicht durchgeführt werden kann "
|
1382 |
"(Statusänderung usw.)."
|
1383 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1384 |
msgid "Edit"
|
1385 |
msgstr "Bearbeiten"
|
1386 |
|
1413 |
msgid "Every"
|
1414 |
msgstr "Alle"
|
1415 |
|
1416 |
+
msgid ""
|
1417 |
+
"You are going to reschedule the recurring appointment. Please select "
|
1418 |
+
"recurring appointments which should be rescheduled as well."
|
1419 |
+
msgstr ""
|
1420 |
+
"Sie werden die regelmäßige Sitzung umlegen. Bitte wählen Sie regelmäßige "
|
1421 |
+
"Termine aus, die ebenfalls verschoben werden sollen."
|
1422 |
+
|
1423 |
+
msgid "Only this appointment"
|
1424 |
+
msgstr "Nur dieser Termin"
|
1425 |
+
|
1426 |
+
msgid "This and next appointments"
|
1427 |
+
msgstr "Dieser und nächste Termine"
|
1428 |
+
|
1429 |
+
msgid "All appointments"
|
1430 |
+
msgstr "Alle Termine"
|
1431 |
+
|
1432 |
+
msgid "Number of days to shift appointments"
|
1433 |
+
msgstr "Anzahl der Tage, um Termine zu verschieben"
|
1434 |
+
|
1435 |
+
msgid "Appointments will be scheduled at"
|
1436 |
+
msgstr "Terminvereinbarungen erfolgen unter"
|
1437 |
+
|
1438 |
msgid "Back"
|
1439 |
msgstr "Zurück"
|
1440 |
|
1474 |
msgid "Close"
|
1475 |
msgstr "Schließen"
|
1476 |
|
1477 |
+
msgid "Enabled"
|
1478 |
+
msgstr "Aktiviert"
|
1479 |
+
|
1480 |
+
# Allow this service to have recurring appointments. wrong
|
1481 |
+
msgid "Allow this service to have recurring appointments."
|
1482 |
+
msgstr "Genehmigen Sie für diese Dienstleistung wiederkehrende Termine."
|
1483 |
+
|
1484 |
+
msgid "Frequencies"
|
1485 |
+
msgstr "Häufigkeiten"
|
1486 |
+
|
1487 |
+
msgid "All"
|
1488 |
+
msgstr "Alle"
|
1489 |
+
|
1490 |
+
msgid "Nothing selected"
|
1491 |
+
msgstr "Nichts ausgewählt"
|
1492 |
+
|
1493 |
msgid "Save"
|
1494 |
msgstr "Speichern"
|
1495 |
|
1517 |
msgid "Duration"
|
1518 |
msgstr "Dauer"
|
1519 |
|
1520 |
+
# Service wrong
|
1521 |
+
msgid "Show service price next to duration"
|
1522 |
+
msgstr "Dienstleistungspreis neben der Dienstleistungslaufzeit"
|
1523 |
+
|
1524 |
+
msgid "Hide this field"
|
1525 |
+
msgstr "Dieses Feld ausblenden"
|
1526 |
+
|
1527 |
# Servicedauer Auswählen. Wenn Sie Benuterdefiniert auswählen, muss der Kunde während der Buchung die Dauer der Leistung aus verschiedenen Einheiten wählen. Spezifizieren Sie im Feld "Stückpreis" den Preis für 1 Einheit, so dass sich die Gesamtkosten linear mit der Dauer der Leistung erhöhen. wrong
|
1528 |
msgid ""
|
1529 |
"Set service duration. If you select Custom, a client, while booking, will "
|
1555 |
msgid "Custom"
|
1556 |
msgstr "Benutzerdefiniert"
|
1557 |
|
1558 |
+
msgid "Are you sure?"
|
1559 |
+
msgstr "Sind Sie sicher?"
|
|
|
1560 |
|
1561 |
+
# Duplicate dates are not permitted. not translated
|
1562 |
+
msgid "Duplicate dates are not permitted."
|
1563 |
+
msgstr "Eine Duplizierung von Daten ist nicht zulässig."
|
1564 |
+
|
1565 |
+
msgid "Date in the past."
|
1566 |
+
msgstr "Datum in der Vergangenheit."
|
1567 |
+
|
1568 |
+
msgid "Add Staff Special Days"
|
1569 |
+
msgstr "Mitarbeiter-Sondertage hinzufügen"
|
1570 |
|
1571 |
# Löschen wrong
|
1572 |
msgid "Delete break"
|
1588 |
msgid "Special Days"
|
1589 |
msgstr "Sondertage"
|
1590 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1591 |
msgid "The requested interval is not available"
|
1592 |
msgstr "Der gewünschte Zeitraum ist nicht verfügbar"
|
1593 |
|
1594 |
msgid "OFF"
|
1595 |
msgstr "Aus"
|
1596 |
|
|
|
|
|
|
|
1597 |
msgid "Uncategorized"
|
1598 |
msgstr "Nicht kategorisiert"
|
1599 |
|
1600 |
+
# Translator Used Verbindung?-->in connection? does not make sense? has it to do with interests?-->then use In Raten abzahlen
|
1601 |
+
msgid "Compound"
|
1602 |
+
msgstr "Zusammengesetzt"
|
1603 |
+
|
1604 |
+
msgid "Part of compound service"
|
1605 |
+
msgstr "Teil der zusammengesetzten Dienstleistungen"
|
1606 |
+
|
1607 |
+
# kombinierte Dienstleistung wrong
|
1608 |
+
msgid "Compound service"
|
1609 |
+
msgstr "Zusammengesetzte Dienstleistung "
|
1610 |
+
|
1611 |
# übrige Zeit wrong
|
1612 |
msgid "Spare time"
|
1613 |
msgstr "Freie Zeit"
|
1632 |
"Buchungsformulars einen Mitarbeiter auswählt, wird nur dieser Mitarbeiter "
|
1633 |
"für die Suche nach verfügbaren Zeitfenstern für alle Teildienste verwendet."
|
1634 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1635 |
msgid "Short Codes"
|
1636 |
msgstr "Kurzcodes"
|
1637 |
|
1751 |
msgid "Upcoming appointments"
|
1752 |
msgstr "Bevorstehende Termine"
|
1753 |
|
|
|
|
|
|
|
1754 |
msgid "Delimiter"
|
1755 |
msgstr "Trennzeichen"
|
1756 |
|
1905 |
msgid "Processing..."
|
1906 |
msgstr "Verarbeitung..."
|
1907 |
|
|
|
|
|
|
|
1908 |
msgid "service tax amount"
|
1909 |
msgstr "Steuerhöhe der Dienstleistung"
|
1910 |
|
1932 |
"wird. Wenn Sie den genauen Steuerbetrag dem Zahlungssystem mitteilen müssen, "
|
1933 |
"verwenden Sie keine zusätzlichen Gebühren."
|
1934 |
|
1935 |
+
msgid "Taxation"
|
1936 |
+
msgstr "Besteuerung"
|
1937 |
+
|
1938 |
msgid "Customer Information"
|
1939 |
msgstr "Kunden-Information"
|
1940 |
|
2008 |
msgid "Number of persons"
|
2009 |
msgstr "Personenanzahl"
|
2010 |
|
|
|
|
|
|
|
2011 |
msgid "Group bookings information format"
|
2012 |
msgstr "Gruppenbuchungs-Informationsformat"
|
2013 |
|
2040 |
msgid "capacity of service"
|
2041 |
msgstr "Kapazität der Dienstleistung"
|
2042 |
|
2043 |
+
msgid "Show information about group bookings"
|
2044 |
+
msgstr "Informationen über Gruppenbuchungen anzeigen"
|
2045 |
+
|
2046 |
+
# Kapazitätsaktualisierung deaktivieren wrong
|
2047 |
+
msgid "Disable capacity update"
|
2048 |
+
msgstr "Kapazitätsaktualisierung abschalten"
|
2049 |
+
|
2050 |
+
msgid "Capacity (min and max)"
|
2051 |
+
msgstr "Kapazität (Min und Max)"
|
2052 |
+
|
2053 |
msgid ""
|
2054 |
"The minimum and maximum number of customers allowed to book the service for "
|
2055 |
"the certain time period."
|
2068 |
"\n"
|
2069 |
"\n"
|
2070 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2071 |
msgid "Address"
|
2072 |
msgstr "Adresse"
|
2073 |
|
2124 |
msgid "Show google maps field"
|
2125 |
msgstr "Google Maps anzeigen"
|
2126 |
|
2127 |
+
msgid "Do not allow to select a specific staff member"
|
2128 |
+
msgstr "Keinen bestimmten Mitarbeiter auswählen lassen"
|
2129 |
|
2130 |
+
msgid ""
|
2131 |
+
"If this option is enabled then customers won't be able to select a staff "
|
2132 |
+
"member for collaborative services in the first step of the booking form"
|
2133 |
msgstr ""
|
2134 |
+
"Ist diese Option aktiviert, können Kunden im ersten Schritt des "
|
2135 |
+
"Buchungsformulars keinen Mitarbeiter für kollaborative Dienstleistungen "
|
2136 |
+
"auswählen"
|
2137 |
+
|
2138 |
+
msgid "Collaborative services"
|
2139 |
+
msgstr "Kollaborative Dienste"
|
2140 |
|
2141 |
# Kollaborativ right but wouldnt use it here
|
2142 |
msgid "Collaborative"
|
2149 |
msgid "Part of collaborative service"
|
2150 |
msgstr "Teil des gemeinschaftlichen Dienstleistung."
|
2151 |
|
2152 |
+
msgid "Equal duration"
|
2153 |
+
msgstr "Gleiche Dauer"
|
2154 |
+
|
2155 |
+
# Machen Sie jede Servicedauer so lang, wie die längste.
|
2156 |
+
# wrong
|
2157 |
+
msgid "Make every service duration equal to the duration of the longest one."
|
2158 |
+
msgstr ""
|
2159 |
+
"Stellen Sie sicher, dass jede Dienstleistungslaufzeit der Dauer der längsten "
|
2160 |
+
"Dienstleistung entspricht.\n"
|
2161 |
+
|
2162 |
# Kundenbereich (alle Dienstleistungen in Tabs angezeigt) wrong
|
2163 |
msgid "Customer cabinet (all services displayed in tabs)"
|
2164 |
msgstr "Kundenbereich(alle Dienstleistung werden in Registern angezeigt)"
|
3390 |
"abweichenden Daten zu aktualisieren (überschreiben) oder klicken Sie auf "
|
3391 |
"Abbrechen, um die eben eingegebenen Benutzerdaten zu korrigieren."
|
3392 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3393 |
msgid "Internal Notes"
|
3394 |
msgstr "Interne Notizen"
|
3395 |
|
3593 |
"ermöglicht es dem Team, das Produkt zu verbessern und seine Funktionalität "
|
3594 |
"zu verbessern."
|
3595 |
|
3596 |
+
msgid "Prevent caching of pages with booking form"
|
3597 |
+
msgstr "Caching von Seiten mit Buchungsformular verhindern"
|
3598 |
|
3599 |
msgid ""
|
3600 |
+
"Select \"Enabled\" if you want Bookly to prevent caching by third-party "
|
3601 |
"caching plugins by adding a DONOTCACHEPAGE constant on pages with booking "
|
3602 |
+
"form"
|
3603 |
msgstr ""
|
3604 |
+
"Wählen Sie \"Aktiviert\", wenn Bookly das Caching durch Caching-Plugins von "
|
3605 |
+
"Drittanbietern vermeiden soll, indem eine DONOTCACHEPAGE-Konstante auf "
|
3606 |
+
"Seiten mit Buchungsformular hinzugefügt wird."
|
3607 |
|
3608 |
+
msgid "Prevent PHP session locking"
|
3609 |
+
msgstr "PHP-Sitzungssperre verhindern"
|
3610 |
|
3611 |
+
msgid ""
|
3612 |
+
"Enable this option to make Bookly close the PHP session as soon as it is "
|
3613 |
+
"done with it. This should prevent locking the session, which could cause "
|
3614 |
+
"various other processes to timeout or fail"
|
3615 |
+
msgstr ""
|
3616 |
+
"Mit dieser Option können Sie Bookly dazu veranlassen, die PHP-Sitzung zu "
|
3617 |
+
"schließen, sobald diese beendet ist. Dies sollte verhindern, dass die "
|
3618 |
+
"Sitzung gesperrt wird, wodurch verschiedene andere Prozesse ein Timeout "
|
3619 |
+
"erleiden oder fehlschlagen könnten."
|
3620 |
|
3621 |
msgid "Service paid locally"
|
3622 |
msgstr "Vor Ort bezahlte Dienstleistung"
|
3640 |
msgid "Holidays"
|
3641 |
msgstr "Urlaube"
|
3642 |
|
3643 |
+
msgid "Logs"
|
3644 |
+
msgstr "Protokolle"
|
3645 |
+
|
3646 |
# Termin-Genehmigung URL (erfolgreich) wrong
|
3647 |
msgid "Approve appointment URL (success)"
|
3648 |
msgstr "Termin-URL genehmigen ( Erfolg)"
|
3849 |
"die sich von der vorherigen Bestellung unterscheiden, erscheint eine "
|
3850 |
"Warnmeldung mit der Aufforderung, die Daten zu aktualisieren."
|
3851 |
|
3852 |
+
msgid "Debug logs"
|
3853 |
+
msgstr "Debug-Protokolle"
|
3854 |
+
|
3855 |
msgid ""
|
3856 |
+
"If this setting is enabled then all actions with appointments will be "
|
3857 |
+
"recorded in a log table. We recommend enabling this setting as it will be "
|
3858 |
+
"helpful for our support team in case of unpredictable issues with "
|
3859 |
+
"appointments."
|
3860 |
msgstr ""
|
3861 |
+
"Ist diese Einstellung aktiviert, werden alle Aktionen mit Terminen in einer "
|
3862 |
+
"Log-Tabelle protokolliert. Wir raten, diese Einstellung zu aktivieren, da "
|
3863 |
+
"sie für unser Support-Team bei unvorhersehbaren Problemen mit Terminen von "
|
3864 |
+
"Nutzen sein wird."
|
3865 |
|
3866 |
+
msgid "Action"
|
3867 |
+
msgstr "Aktion"
|
3868 |
|
3869 |
+
msgid "Target"
|
3870 |
+
msgstr "Ziel"
|
3871 |
+
|
3872 |
+
msgid "Target ID"
|
3873 |
+
msgstr "Ziel-ID"
|
3874 |
+
|
3875 |
+
msgid "Author"
|
3876 |
+
msgstr "Autor"
|
3877 |
+
|
3878 |
+
msgid "Comment"
|
3879 |
+
msgstr "Kommentar"
|
3880 |
+
|
3881 |
+
msgid "Reference"
|
3882 |
+
msgstr "Referenz"
|
3883 |
+
|
3884 |
+
msgid "Clear logs"
|
3885 |
+
msgstr "Protokolle löschen"
|
3886 |
+
|
3887 |
+
#, php-format
|
3888 |
+
msgid ""
|
3889 |
+
"WooCommerce cart is not set up. Follow the <a href=\"%s\">link</a> to "
|
3890 |
+
"correct this problem."
|
3891 |
+
msgstr ""
|
3892 |
+
"WooCommerce Warenkorb nicht eingerichtet ist. Folgen Sie dem <a href=\"%s\">"
|
3893 |
+
"Link</a>, um dieses Problem zu beheben."
|
3894 |
+
|
3895 |
+
msgid "Last month"
|
3896 |
+
msgstr "Letzter Monat"
|
3897 |
+
|
3898 |
+
msgid "SMS Notifications"
|
3899 |
+
msgstr "SMS Benachrichtigungen"
|
3900 |
+
|
3901 |
+
# Zugelassen bei wrong
|
3902 |
+
msgid "Approved at"
|
3903 |
msgstr "Genehmigt bei"
|
3904 |
|
3905 |
msgid "Change the sender's name to your phone number or any other name"
|
3987 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3988 |
msgstr "Kann nur Buchstaben oder Ziffern (bis zu 11 Zeichen) enthalten."
|
3989 |
|
|
|
|
|
|
|
3990 |
msgid "Sender ID request is sent."
|
3991 |
msgstr "Absender-ID-Anforderung wird gesendet."
|
3992 |
|
4078 |
"Senden von E-Mail-Benachrichtigung an die Administratoren bei niedrigen "
|
4079 |
"Guthaben"
|
4080 |
|
4081 |
+
msgid "Send weekly summary"
|
4082 |
+
msgstr "Wöchentliche Zusammenfassung senden"
|
4083 |
|
4084 |
msgid ""
|
4085 |
"Your country is the location from where you consume Bookly SMS services and "
|
4130 |
msgid "No, update just here in services"
|
4131 |
msgstr "Nein, aktualisieren Sie nur hier in Dienstleistungen"
|
4132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4133 |
msgid "The service will be created with the visibility of Private."
|
4134 |
msgstr "Die Dienstleistung wird als Privat dargestellt werden."
|
4135 |
|
4272 |
msgid "Stripe activation was not completed"
|
4273 |
msgstr "Die Stripe-Aktivierung wurde nicht abgeschlossen"
|
4274 |
|
4275 |
+
msgid "All staff"
|
4276 |
+
msgstr "Alle Mitarbeiter"
|
4277 |
+
|
4278 |
+
msgid "No staff selected"
|
4279 |
+
msgstr "Kein Mitarbeiter ausgewählt"
|
4280 |
+
|
4281 |
msgid "Auto-refresh Calendar"
|
4282 |
msgstr "Automatisches Neuladen des Kalenders"
|
4283 |
|
5178 |
"Wenn Sie dieses Feld leer lassen, kann dieser Mitarbeiter über den WP-"
|
5179 |
"Hintergrund nicht auf den persönlichen Kalender zugreifen."
|
5180 |
|
5181 |
+
#, php-format
|
5182 |
+
msgid "This text can be inserted into notifications with %s code."
|
5183 |
+
msgstr "Dieser Text kann mit %s Code in Benachrichtigungen eingefügt werden."
|
5184 |
+
|
5185 |
msgid "Archive"
|
5186 |
msgstr "Archiv"
|
5187 |
|
5249 |
msgstr ""
|
5250 |
"Ausgewählter Zeitraum stimmt nicht mit der Dienstleistungslaufzeit überein"
|
5251 |
|
|
|
|
|
|
|
5252 |
msgid "Selected period doesn't match provider's schedule"
|
5253 |
msgstr ""
|
5254 |
"Ausgewählter Zeitraum stimmt nicht mit dem Zeitplan des Anbieters überein"
|
5256 |
msgid "Selected period doesn't match service schedule"
|
5257 |
msgstr "Ausgewählter Zeitraum stimmt nicht mit dem Dienstleistungsplan überein"
|
5258 |
|
5259 |
+
msgid "The selected period is occupied by another appointment"
|
5260 |
+
msgstr "Der gewählte Zeitraum ist bereits durch einen anderen Termin belegt"
|
5261 |
+
|
5262 |
# Die Buchung überschreitet die Arbeitsstundeneinschränkung für Mitarbeiter wrong
|
5263 |
msgid "Booking exceeds the working hours limit for staff member"
|
5264 |
msgstr "Buchung überschreitet das Arbeitszeitlimit für Mitarbeiter"
|
5399 |
msgstr ""
|
5400 |
"Service anlegen\n"
|
5401 |
|
5402 |
+
msgid "Color"
|
5403 |
+
msgstr "Farbe"
|
5404 |
+
|
5405 |
+
msgid "Providers"
|
5406 |
+
msgstr "Anbieter(Mehrere)"
|
5407 |
+
|
5408 |
+
msgid "Start and end times of the appointment"
|
5409 |
+
msgstr "Startzeitpunkt und Endezeitpunkt des Termines"
|
5410 |
+
|
5411 |
+
# Ermöglicht die Festlegung der Start- und Endzeiten für einen Termin für Leistungen mit einer Dauer von 1 Tag oder länger. Diese Zeit wird in Benachrichtigungen an Kunden, Backend-Kalender und Codes für das Buchungsformular angezeigt.wrong
|
5412 |
+
msgid ""
|
5413 |
+
"Allows to set the start and end times for an appointment for services with "
|
5414 |
+
"the duration of 1 day or longer. This time will be displayed in "
|
5415 |
+
"notifications to customers, backend calendar and codes for booking form."
|
5416 |
+
msgstr ""
|
5417 |
+
"Ermöglicht das Festlegen der Start- und Endzeiten eines Termins für Dienste "
|
5418 |
+
"mit einer Dauer von 1 Tag oder länger. Diese Zeit wird in Benachrichtigungen "
|
5419 |
+
"an Kunden, im Hintergrund-Kalender und in den Buchungsformular-codes "
|
5420 |
+
"angezeigt."
|
5421 |
+
|
5422 |
+
# Zeitdauer als Servicedauer. wrong
|
5423 |
+
msgid "Slot length as service duration"
|
5424 |
+
msgstr "Zeitfensterlänge als Dienstleistungslaufzeit"
|
5425 |
+
|
5426 |
+
msgid ""
|
5427 |
+
"The time interval which is used as a step when building all time slots for "
|
5428 |
+
"the service at the Time step. The setting overrides global settings in "
|
5429 |
+
"Settings > General. Use Default to apply global settings."
|
5430 |
+
msgstr ""
|
5431 |
+
"Das Zeitintervall, das als Schritt verwendet wird, wenn alle Zeitfenster für "
|
5432 |
+
"den Dienst im Zeitschritt erstellt werden. Die Einstellung überschreibt die "
|
5433 |
+
"globalen Einstellungen in den allgemeinen Einstellungen. Verwenden Sie "
|
5434 |
+
"Standardwerte, um die globalen Einstellungen anzuwenden"
|
5435 |
+
|
5436 |
# Service bearbeiten
|
5437 |
# wrong
|
5438 |
msgid "Edit service"
|
6072 |
msgid "Packages"
|
6073 |
msgstr "Pakete"
|
6074 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6075 |
msgid "New package"
|
6076 |
msgstr "Neues Paket"
|
6077 |
|
6078 |
+
msgid "Unassigned"
|
6079 |
+
msgstr "Nicht zugewiesen"
|
6080 |
+
|
6081 |
msgid "Edit package"
|
6082 |
msgstr "Paket bearbeiten"
|
6083 |
|
6180 |
msgid "Delete package appointment"
|
6181 |
msgstr "Termin Paket löschen"
|
6182 |
|
6183 |
+
# vieren Sie diese Einstellung, damit das Paket angezeigt und gebucht werden kann, wenn der Kunde keinen bestimmten Anbieter angegeben hat. wrong
|
6184 |
+
msgid ""
|
6185 |
+
"Enable this setting so that the package can be displayed and available for "
|
6186 |
+
"booking when clients have not specified a particular provider."
|
6187 |
+
msgstr ""
|
6188 |
+
"Aktivieren Sie diese Einstellung, damit das Paket angezeigt wird und zur "
|
6189 |
+
"Buchung zur Verfügung steht, wenn Kunden keinen bestimmten Anbieter "
|
6190 |
+
"angegeben haben."
|
6191 |
+
|
6192 |
+
# Lebenslang wrong
|
6193 |
+
msgid "Life Time"
|
6194 |
+
msgstr "Nutzungsdauer"
|
6195 |
+
|
6196 |
+
msgid "The period in days when the customer can use a package of services."
|
6197 |
+
msgstr ""
|
6198 |
+
"Der Zeitraum in Tagen, in dem der Kunde ein Paket von Dienstleistungen in "
|
6199 |
+
"Anspruch nehmen kann."
|
6200 |
+
|
6201 |
msgid "Packages list"
|
6202 |
msgstr "Paketliste"
|
6203 |
|
6574 |
msgid "Print"
|
6575 |
msgstr "Drucken"
|
6576 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6577 |
msgid "API Username"
|
6578 |
msgstr "API Benutzername"
|
6579 |
|
7052 |
msgid "Online Meetings"
|
7053 |
msgstr "Online-Besprechungen"
|
7054 |
|
7055 |
+
msgid "Form view in case of single booking"
|
7056 |
+
msgstr "Formularansicht bei Einzelbuchung"
|
7057 |
+
|
7058 |
+
msgid "Form view in case of multiple booking"
|
7059 |
+
msgstr "Formularansicht bei Mehrfachbuchung"
|
7060 |
|
|
|
7061 |
#, php-format
|
7062 |
+
msgid "Form in case of 100% discount"
|
7063 |
+
msgstr "Formular bei 100% Rabatt"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7064 |
|
7065 |
+
msgid "Show birthday field"
|
7066 |
+
msgstr "Geburtstags-Eingabefeld anzeigen"
|
|
|
7067 |
|
7068 |
msgid ""
|
7069 |
+
"Address information is needed for Invoices add-on. To disable, deactivate "
|
7070 |
+
"Invoices add-on first."
|
|
|
|
|
7071 |
msgstr ""
|
7072 |
+
"Adressinformationen werden für das Zusatzmodul Rechnungen benötigt. Um es zu "
|
7073 |
+
"abzuschalten, deaktivieren Sie zuerst das Zusatzmodul Rechnungen."
|
|
|
|
|
|
|
7074 |
|
7075 |
+
msgid "Show address fields"
|
7076 |
+
msgstr "Adressfeld anzeigen"
|
|
|
7077 |
|
7078 |
+
msgid "Show Facebook login button"
|
7079 |
+
msgstr "Facebook-Login-Schaltfläche anzeigen"
|
7080 |
+
|
7081 |
+
#, php-format
|
7082 |
msgid ""
|
7083 |
+
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
7084 |
+
"first."
|
7085 |
msgstr ""
|
7086 |
+
"Bitte konfigurieren Sie die Facebook App-Integration zuerst in den <a "
|
7087 |
+
"href=\"%s\"> Einstellungen </a>."
|
7088 |
|
7089 |
+
# Zeige den Zeitzonen-Wechsler wrong
|
7090 |
+
msgid "Show time zone switcher"
|
7091 |
+
msgstr "Zeitzonen-Umschalter anzeigen"
|
7092 |
+
|
7093 |
+
msgid "Import"
|
7094 |
+
msgstr "Import"
|
7095 |
+
|
7096 |
+
msgid "Note"
|
7097 |
+
msgstr "Hinweis"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7098 |
|
7099 |
msgid ""
|
7100 |
"You may import list of clients in CSV format. You can choose the columns "
|
7125 |
msgid "online meeting join URL"
|
7126 |
msgstr "URL für die Teilnahme an Online-Besprechungen"
|
7127 |
|
7128 |
+
msgid "time zone of staff"
|
7129 |
+
msgstr "Zeitzone der Mitarbeiter"
|
7130 |
+
|
7131 |
msgid "Titles"
|
7132 |
msgstr "Titel"
|
7133 |
|
7165 |
msgid "Error dissociating purchase code."
|
7166 |
msgstr "Fehler beim Entfernen des Bestellcodes."
|
7167 |
|
7168 |
+
msgid "Google Calendar integration"
|
7169 |
+
msgstr "Google Kalender Integration"
|
7170 |
+
|
7171 |
+
#, php-format
|
7172 |
+
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
7173 |
+
msgstr ""
|
7174 |
+
"Bitte konfigurieren Sie die Google Kalender <a href=\"%s\">Einstellungen</a> "
|
7175 |
+
"zuerst"
|
7176 |
+
|
7177 |
+
msgid "Synchronize staff member appointments with Google Calendar."
|
7178 |
+
msgstr ""
|
7179 |
+
"Synchronisieren Sie die Termine der Mitarbeiter mit dem Google Kalender."
|
7180 |
+
|
7181 |
# Archivierungsmitarbeiter wrong
|
7182 |
msgid "Archiving Staff"
|
7183 |
msgstr "Archivierungs-Mitarbeiter"
|
7193 |
msgid "Ok, continue editing"
|
7194 |
msgstr "Ok, weiterhin bearbeiten"
|
7195 |
|
7196 |
+
msgid ""
|
7197 |
+
"The staff member's schedule will be considered to be in the selected time "
|
7198 |
+
"zone. This time zone will also be used for the dates and times in "
|
7199 |
+
"notifications sent to the staff member"
|
7200 |
+
msgstr ""
|
7201 |
+
"Der Terminplan der Mitarbeiter wird als in der ausgewählten Zeitzone liegend "
|
7202 |
+
"betrachtet. Diese Zeitzone gilt auch für die Datums- und Zeitangaben in "
|
7203 |
+
"Benachrichtigungen, die an den Mitarbeiter gesendet werden"
|
7204 |
+
|
7205 |
+
msgid "Limit working hours per day"
|
7206 |
+
msgstr "Arbeitsstundengrenze pro Woche"
|
7207 |
+
|
7208 |
+
msgid "Unlimited"
|
7209 |
+
msgstr "Unbeschränkt"
|
7210 |
+
|
7211 |
+
msgid ""
|
7212 |
+
"This setting allows limiting the total time occupied by bookings per day for "
|
7213 |
+
"staff member. Padding time is not included."
|
7214 |
+
msgstr ""
|
7215 |
+
"Diese Einstellung ermöglicht es Ihnen die Gesamtzeit einzuschränken für "
|
7216 |
+
"Buchungen pro Tag für Mitarbeiter. Eine Auffüllzeit ist nicht enthalten."
|
7217 |
+
|
7218 |
msgid "Reason"
|
7219 |
msgstr "Begründung"
|
7220 |
|
7257 |
msgid "Custom service price"
|
7258 |
msgstr "Benutzerdefinierter Dienstleistungspreis"
|
7259 |
|
7260 |
+
msgid "Create online meetings"
|
7261 |
+
msgstr "Online-Besprechungen erstellen"
|
7262 |
+
|
7263 |
+
# Wenn diese Einstellung aktiviert ist, werden Online-Besprechungen für neue Termine mit dem ausgewählten Anbieter von Online-Meetings erstellt. Vergewissern Sie sich, dass der Anbieter unter Einstellungen ordnungsgemäß konfiguriert ist <a href="%s">Online Meetings</a> wrong
|
7264 |
+
#, php-format
|
7265 |
+
msgid ""
|
7266 |
+
"If this setting is enabled then online meetings will be created for new "
|
7267 |
+
"appointments with the selected online meeting provider. Make sure that the "
|
7268 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
7269 |
+
"Meetings</a>"
|
7270 |
+
msgstr ""
|
7271 |
+
"Wenn diese Einstellung aktiviert ist, werden Online-Besprechungen für neue "
|
7272 |
+
"Termine mit dem ausgewählten Anbieter von Online-Besprechungen erstellt. "
|
7273 |
+
"Stellen Sie sicher, dass der Anbieter unter Einstellungen <a href=\"%s\">"
|
7274 |
+
"Online Besprechungen</a>"
|
7275 |
+
|
7276 |
+
# Zusätzliche Zeit (vor und nach) wrong
|
7277 |
+
msgid "Padding time (before and after)"
|
7278 |
+
msgstr "Auffüllzeit (davor und danach)"
|
7279 |
+
|
7280 |
+
msgid ""
|
7281 |
+
"Set padding time before and/or after an appointment. For example, if you "
|
7282 |
+
"require 15 minutes to prepare for the next appointment then you should set "
|
7283 |
+
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
7284 |
+
"then the next available time slot will be 9:15 rather than 9:00."
|
7285 |
+
msgstr ""
|
7286 |
+
"Stellen Sie die zusätzliche Zeit vor und / oder nach einem Termin ein. Wenn "
|
7287 |
+
"Sie zum Beispiel 15 Minuten benötigen, um sich für den nächsten Termin "
|
7288 |
+
"vorzubereiten, dann sollten Sie \"zusätzliche Zeit vor\" auf 15 min "
|
7289 |
+
"einstellen. Wenn ein Termin von 8:00 bis 09:00 Uhr dauert, wird der nächste "
|
7290 |
+
"verfügbare Zeit um 09:15 statt 09:00 sein."
|
7291 |
+
|
7292 |
+
# Anbieter Voreinstellung für Jeder wrong
|
7293 |
+
msgid "Providers preference for ANY"
|
7294 |
+
msgstr "Präferenz des Anbieters für JEDEN"
|
7295 |
+
|
7296 |
+
# Erlaubt die Regel auszuwählen welche automatisch Mitarbeiter zuordnet wenn die option Jeder ausgewählt wurde wrong
|
7297 |
+
msgid ""
|
7298 |
+
"Allows you to define the rule of staff members auto assignment when ANY "
|
7299 |
+
"option is selected"
|
7300 |
+
msgstr ""
|
7301 |
+
"Ermöglicht es Ihnen, die Regel der automatischen Zuweisung von Mitarbeitern "
|
7302 |
+
"zu definieren, wenn die Option JEDER ausgewählt ist"
|
7303 |
+
|
7304 |
+
msgid "Period (before and after)"
|
7305 |
+
msgstr "Zeitraum (vorher und nachher)"
|
7306 |
+
|
7307 |
+
msgid ""
|
7308 |
+
"Set number of days before and after appointment that will be taken into "
|
7309 |
+
"account when calculating provider's occupancy. 0 means the day of booking."
|
7310 |
+
msgstr ""
|
7311 |
+
"Legen Sie die Anzahl der Tage vor und nach dem Termin fest, die bei der "
|
7312 |
+
"Berechnung der Belegung des Anbieters berücksichtigt werden. 0 bedeutet den "
|
7313 |
+
"Tag der Buchung."
|
7314 |
+
|
7315 |
+
msgid "Pick random staff member in case of uncertainty"
|
7316 |
+
msgstr "Wählen Sie einen zufälligen Mitarbeiter im Falle von Unklarheit aus"
|
7317 |
+
|
7318 |
+
msgid ""
|
7319 |
+
"Enable this option to pick a random staff member if both meet the criteria "
|
7320 |
+
"chosen in \"Providers preference for ANY\". Otherwise the selection order is "
|
7321 |
+
"unknown."
|
7322 |
+
msgstr ""
|
7323 |
+
"Aktivieren Sie diese Option, um einen Mitarbeiter nach dem Zufallsprinzip "
|
7324 |
+
"auszuwählen, wenn beide die unter \"Anbieter bevorzugt für JEDEN\" gewählten "
|
7325 |
+
"Kriterien erfüllen. Andernfalls ist die Reihenfolge der Auswahl unbekannt."
|
7326 |
+
|
7327 |
+
# Anzahl Termine pro Kunde wrong
|
7328 |
+
msgid "Limit appointments per customer"
|
7329 |
+
msgstr "Termine pro Kunde begrenzen"
|
7330 |
+
|
7331 |
+
msgid "upcoming"
|
7332 |
+
msgstr "Bevorstehende"
|
7333 |
+
|
7334 |
+
# Je 24 Stunden wrong change all
|
7335 |
+
msgid "per 24 hours"
|
7336 |
+
msgstr "Pro 24 Stunden"
|
7337 |
+
|
7338 |
+
msgid "per day"
|
7339 |
+
msgstr "Pro Tag"
|
7340 |
+
|
7341 |
+
msgid "per 7 days"
|
7342 |
+
msgstr "Pro 7 Tage"
|
7343 |
+
|
7344 |
+
msgid "per week"
|
7345 |
+
msgstr "Pro Woche"
|
7346 |
+
|
7347 |
+
msgid "per 30 days"
|
7348 |
+
msgstr "Pro 30 Tage"
|
7349 |
+
|
7350 |
+
msgid "per month"
|
7351 |
+
msgstr "Pro Monat"
|
7352 |
+
|
7353 |
+
msgid "per 365 days"
|
7354 |
+
msgstr "Pro 365 Tage"
|
7355 |
+
|
7356 |
+
msgid "per year"
|
7357 |
+
msgstr "Pro Jahr"
|
7358 |
+
|
7359 |
+
msgid ""
|
7360 |
+
"This setting allows you to limit the number of appointments that can be "
|
7361 |
+
"booked by a customer in any given period. Restriction may end after a fixed "
|
7362 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
7363 |
+
"month, etc."
|
7364 |
+
msgstr ""
|
7365 |
+
"Mit dieser Einstellung können Sie die Anzahl der Termine begrenzen, die von "
|
7366 |
+
"einem Kunden in einem bestimmten Zeitraum gebucht werden können. Die "
|
7367 |
+
"Begrenzung kann nach einem festgelegten Zeitraum oder mit Beginn der "
|
7368 |
+
"nächsten Kalenderperiode mit einem neuen Tag, einer neuen Woche, einem neuen "
|
7369 |
+
"Monat usw... enden."
|
7370 |
+
|
7371 |
+
# Limit wrong
|
7372 |
+
msgid "Limit"
|
7373 |
+
msgstr "Begrenzung"
|
7374 |
+
|
7375 |
+
msgid ""
|
7376 |
+
"To make service invisible to your customers set the visibility to "
|
7377 |
+
"\"Private\"."
|
7378 |
+
msgstr ""
|
7379 |
+
"Um den Dienstleistungen für Ihre Kunden unsichtbar zu machen, setzen Sie die "
|
7380 |
+
"Sichtbarkeit auf \"Privat\"."
|
7381 |
+
|
7382 |
+
msgid "Specified order"
|
7383 |
+
msgstr "Festgelegte Reihenfolge"
|
7384 |
+
|
7385 |
+
msgid "Least occupied that day"
|
7386 |
+
msgstr "Am geringsten belegt an diesem Tag"
|
7387 |
+
|
7388 |
+
# Am meisten belegt an diesem Tag wrong
|
7389 |
+
msgid "Most occupied that day"
|
7390 |
+
msgstr "Meist belegt an diesem Tag"
|
7391 |
+
|
7392 |
+
msgid "Least occupied for period"
|
7393 |
+
msgstr "Am wenigstens besetzt für den Zeitraum"
|
7394 |
+
|
7395 |
+
# Häufig besetzt für den Zeitraum wrong
|
7396 |
+
msgid "Most occupied for period"
|
7397 |
+
msgstr "Meist belegt für den Zeitraum"
|
7398 |
+
|
7399 |
+
# Der günstigste wrong
|
7400 |
+
msgid "Least expensive"
|
7401 |
+
msgstr "Am kostengünstigsten"
|
7402 |
+
|
7403 |
+
# Der teuerste wrod
|
7404 |
+
msgid "Most expensive"
|
7405 |
+
msgstr "Am teuersten"
|
7406 |
+
|
7407 |
msgid "Welcome to Bookly Pro and thank you for purchasing our product!"
|
7408 |
msgstr ""
|
7409 |
"Willkommen bei Bookly Pro und vielen Dank, dass Sie unser Produkt gekauft "
|
7773 |
msgid "Tasks"
|
7774 |
msgstr "Aufgaben"
|
7775 |
|
7776 |
+
msgid "Skip time selection"
|
7777 |
+
msgstr "Zeitauswahl überspringen"
|
7778 |
+
|
7779 |
msgid "Time step settings"
|
7780 |
msgstr "Zeitschritte Einstellungen"
|
7781 |
|
7791 |
"anzeigen, sie ausblenden und eine Aufgabe ohne Fälligkeit erstellen oder den "
|
7792 |
"Zeitschritt anzeigen, aber einem Kunden das Überspringen ermöglichen."
|
7793 |
|
|
|
|
|
|
|
7794 |
msgid "Incorrect payment data"
|
7795 |
msgstr "Falsche Zahlungsinformationen"
|
7796 |
|
8017 |
msgid "No customer groups yet."
|
8018 |
msgstr "Keine Kundengruppen vorhanden"
|
8019 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8020 |
msgid "Customer Group"
|
8021 |
msgstr "Kundengruppe"
|
8022 |
|
8043 |
msgid "Group name is required"
|
8044 |
msgstr "\"Gruppenname \" ist eine Pflichteingabe"
|
8045 |
|
8046 |
+
msgid "Groups"
|
8047 |
+
msgstr "Gruppen"
|
8048 |
+
|
8049 |
+
msgid "All groups"
|
8050 |
+
msgstr "Alle Gruppen"
|
8051 |
+
|
8052 |
+
msgid "No group selected"
|
8053 |
+
msgstr "Keine Gruppe ausgewählt"
|
8054 |
+
|
8055 |
+
# Kundengruppen basiert wrong
|
8056 |
+
msgid "Customer group based"
|
8057 |
+
msgstr "Kundengruppe-basierend"
|
8058 |
+
|
8059 |
msgid "Notification to customer about placing on waiting list"
|
8060 |
msgstr "Benachrichtigung an Kunden über die Aufnahme auf die Warteliste"
|
8061 |
|
8328 |
msgid "extras total price"
|
8329 |
msgstr "Gesamtpreis Zuschläge "
|
8330 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8331 |
msgid "Show title"
|
8332 |
msgstr ""
|
8333 |
"Titel anzeigen\n"
|
8353 |
msgid "Show extras"
|
8354 |
msgstr "Zusätze anzeigen"
|
8355 |
|
8356 |
+
msgid "Max quantity"
|
8357 |
+
msgstr "Maximale Menge"
|
8358 |
+
|
8359 |
+
# Neuer Gegenstand wrong
|
8360 |
+
msgid "New Item"
|
8361 |
+
msgstr "Neuer Artikel"
|
8362 |
+
|
8363 |
msgid "Extras tax"
|
8364 |
msgstr "Steuer Zuschläge "
|
8365 |
|
8440 |
"Ihre PayPal Identifikationsnummer oder eine, mit Ihrem PayPal Konto "
|
8441 |
"verbundene E-Mail-Adresse. E-Mail-Adressen müssen verifiziert werden."
|
8442 |
|
8443 |
+
# Sonderstunden-Update deaktivieren wrong
|
8444 |
+
msgid "Disable special hours update"
|
8445 |
+
msgstr "Aktualisierung der Sonderzeiten abschalten."
|
8446 |
+
|
8447 |
msgid "Special prices for appointments which begin between:"
|
8448 |
msgstr "Sonderpreise für Termine, die zwischen folgenden Zeiten beginnen:"
|
8449 |
|
8451 |
msgid "add special period"
|
8452 |
msgstr "Sonderzeitraum hinzufügen"
|
8453 |
|
|
|
|
|
|
|
|
|
8454 |
# Bitte wählen Sie einen Ort aus wrong
|
8455 |
msgid "Please select a location"
|
8456 |
msgstr "Bitte wählen Sie einen Standort aus"
|
8462 |
msgid "Locations"
|
8463 |
msgstr "Standorte"
|
8464 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8465 |
# Angepasste Einstellungen für diesen Ort wrong
|
8466 |
msgid "Custom settings for location"
|
8467 |
msgstr "Benutzerdefinierte Einstellungen für den Standort"
|
8511 |
msgid "Default value for location select"
|
8512 |
msgstr "Standardwert für die Standortwahl"
|
8513 |
|
8514 |
+
msgid "Default settings"
|
8515 |
+
msgstr "Standardwert-Einstellung"
|
8516 |
+
|
8517 |
+
# Legen Sie Standardwerte fest, die an allen Orten verwendet werden, an denen Standardeinstellungen verwenden ausgewählt ist. Um benutzerdefinierte Einstellungen an einem Ort zu verwenden, wählen Sie Benutzerdefinierte Einstellungen verwenden und geben Sie benutzerdefinierte Werte ein.
|
8518 |
+
#
|
8519 |
+
# wrong
|
8520 |
+
msgid ""
|
8521 |
+
"Set Default values that will be used in all locations where Use default "
|
8522 |
+
"settings is selected. To use custom settings in a location, select Use "
|
8523 |
+
"custom settings and enter custom values."
|
8524 |
+
msgstr ""
|
8525 |
+
"Standardwerte festlegen, die an allen Standorten verwendet werden, an denen "
|
8526 |
+
"Standardeinstellungen verwenden ausgewählt ist. Um benutzerdefinierte "
|
8527 |
+
"Einstellungen an einem Standort zu verwenden, wählen Sie Benutzerdefinierte "
|
8528 |
+
"Einstellungen verwenden und geben Sie benutzerdefinierte Werte ein."
|
8529 |
+
|
8530 |
+
msgid "Use default settings"
|
8531 |
+
msgstr "Standardwerte verwenden"
|
8532 |
+
|
8533 |
+
msgid "Use custom settings"
|
8534 |
+
msgstr "Benutzerdefinierte Einstellungen verwenden"
|
8535 |
+
|
8536 |
+
# Orte auswählen, an denen die Dienstleistung angeboten wird. wrong
|
8537 |
+
msgid "Select locations where the services are provided."
|
8538 |
+
msgstr ""
|
8539 |
+
"Wählen Sie die Standorte aus, an denen die Dienstleistungen angeboten werden."
|
8540 |
+
|
8541 |
# Konto-ID wrong
|
8542 |
msgid "Account ID"
|
8543 |
msgstr "Benutzerkonto-ID"
|
8601 |
msgid "URL of the page for staff rating"
|
8602 |
msgstr "URL der Seite für Mitarbeiterbewertungen"
|
8603 |
|
|
|
|
|
|
|
8604 |
msgid "Add staff rating form"
|
8605 |
msgstr "Mitarbeiterbewertungsformular hinzufügen"
|
8606 |
|
languages/bookly-es_ES.mo
CHANGED
Binary file
|
languages/bookly-es_ES.po
CHANGED
@@ -8,8 +8,8 @@ msgstr ""
|
|
8 |
"Language: es_ES\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2020-
|
12 |
-
"PO-Revision-Date: 2020-
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Spanish (Spain)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
@@ -187,47 +187,6 @@ msgstr "Email"
|
|
187 |
msgid "Phone"
|
188 |
msgstr "Teléfono"
|
189 |
|
190 |
-
msgid "Outlook Calendar integration"
|
191 |
-
msgstr "Incorporación del calendario de Outlook"
|
192 |
-
|
193 |
-
msgid "Connect"
|
194 |
-
msgstr "Conectar"
|
195 |
-
|
196 |
-
#, php-format
|
197 |
-
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
198 |
-
msgstr ""
|
199 |
-
"Por favor, configure el calendario de Outlook <a href=\"%s\">settings</a> "
|
200 |
-
"primero"
|
201 |
-
|
202 |
-
msgid "Connected"
|
203 |
-
msgstr "Conectado"
|
204 |
-
|
205 |
-
msgid "disconnect"
|
206 |
-
msgstr "desconectar"
|
207 |
-
|
208 |
-
msgid "Synchronize staff member appointments with Outlook Calendar."
|
209 |
-
msgstr ""
|
210 |
-
"Sincronice las citas de los miembros del personal con el calendario de "
|
211 |
-
"Outlook."
|
212 |
-
|
213 |
-
msgid "Calendar"
|
214 |
-
msgstr "Calendario"
|
215 |
-
|
216 |
-
msgid "-- Select calendar --"
|
217 |
-
msgstr "- Seleccionar calendario -"
|
218 |
-
|
219 |
-
msgid ""
|
220 |
-
"When you connect a calendar all future and past events will be synchronized "
|
221 |
-
"according to the selected synchronization mode. This may take a few minutes. "
|
222 |
-
"Please wait."
|
223 |
-
msgstr ""
|
224 |
-
"Cuando conecte un calendario, todos los eventos futuros y pasados se "
|
225 |
-
"sincronizarán de acuerdo con el modo de sincronización seleccionado. Esto "
|
226 |
-
"puede llevar unos pocos minutos. Por favor, espere."
|
227 |
-
|
228 |
-
msgid "Can't change calendar for archived staff"
|
229 |
-
msgstr "No se puede cambiar el calendario para el personal archivado"
|
230 |
-
|
231 |
msgid "Instructions"
|
232 |
msgstr "Instrucciones"
|
233 |
|
@@ -552,6 +511,47 @@ msgstr "Sincronizar con el calendario de Outlook"
|
|
552 |
msgid "Calendars synchronized successfully."
|
553 |
msgstr "Calendarios sincronizados con éxito"
|
554 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
555 |
msgid "Custom Fields"
|
556 |
msgstr "Campos personalizados"
|
557 |
|
@@ -1285,21 +1285,6 @@ msgstr ""
|
|
1285 |
"aprobación de la cita recurrente no se puede realizar (cambio de estado, etc."
|
1286 |
")."
|
1287 |
|
1288 |
-
msgid "Enabled"
|
1289 |
-
msgstr "Activado"
|
1290 |
-
|
1291 |
-
msgid "Allow this service to have recurring appointments."
|
1292 |
-
msgstr "Permitir que este servicio tenga citas recurrentes. "
|
1293 |
-
|
1294 |
-
msgid "Frequencies"
|
1295 |
-
msgstr "Frecuencias"
|
1296 |
-
|
1297 |
-
msgid "All"
|
1298 |
-
msgstr "Todos"
|
1299 |
-
|
1300 |
-
msgid "Nothing selected"
|
1301 |
-
msgstr "No hay nada seleccionado"
|
1302 |
-
|
1303 |
msgid "Edit"
|
1304 |
msgstr "Editar"
|
1305 |
|
@@ -1330,6 +1315,28 @@ msgstr "citas recurrentes"
|
|
1330 |
msgid "Every"
|
1331 |
msgstr "Cada"
|
1332 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1333 |
msgid "Back"
|
1334 |
msgstr "Anterior"
|
1335 |
|
@@ -1366,6 +1373,21 @@ msgstr "reservas periódicas"
|
|
1366 |
msgid "Close"
|
1367 |
msgstr "Cerrar"
|
1368 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1369 |
msgid "Save"
|
1370 |
msgstr "Guardar"
|
1371 |
|
@@ -1390,6 +1412,12 @@ msgstr "Merchant Salt"
|
|
1390 |
msgid "Duration"
|
1391 |
msgstr "Duración"
|
1392 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1393 |
msgid ""
|
1394 |
"Set service duration. If you select Custom, a client, while booking, will "
|
1395 |
"have to choose the duration of the service from several time units. In the "
|
@@ -1417,11 +1445,17 @@ msgstr "Precio unitario"
|
|
1417 |
msgid "Custom"
|
1418 |
msgstr "Personalizado"
|
1419 |
|
1420 |
-
msgid "
|
1421 |
-
msgstr "
|
1422 |
|
1423 |
-
msgid "
|
1424 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
1425 |
|
1426 |
msgid "Delete break"
|
1427 |
msgstr "Eliminar descanso"
|
@@ -1441,27 +1475,24 @@ msgstr "añadir descanso"
|
|
1441 |
msgid "Special Days"
|
1442 |
msgstr "Días Especiales"
|
1443 |
|
1444 |
-
msgid "Are you sure?"
|
1445 |
-
msgstr "¿Estás seguro?"
|
1446 |
-
|
1447 |
-
msgid "Duplicate dates are not permitted."
|
1448 |
-
msgstr "No se permiten fechas duplicadas."
|
1449 |
-
|
1450 |
-
msgid "Date in the past."
|
1451 |
-
msgstr "Fecha en el pasado."
|
1452 |
-
|
1453 |
msgid "The requested interval is not available"
|
1454 |
msgstr "El intervalo solicitado no está disponible"
|
1455 |
|
1456 |
msgid "OFF"
|
1457 |
msgstr "APAGADO"
|
1458 |
|
1459 |
-
msgid "Add Staff Special Days"
|
1460 |
-
msgstr "Añadir Días Especiales del Personal"
|
1461 |
-
|
1462 |
msgid "Uncategorized"
|
1463 |
msgstr "Sin categoría"
|
1464 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1465 |
msgid "Spare time"
|
1466 |
msgstr "Tiempo libre"
|
1467 |
|
@@ -1484,15 +1515,6 @@ msgstr ""
|
|
1484 |
"espacios disponibles de este miembro del personal para todos los "
|
1485 |
"subservicios."
|
1486 |
|
1487 |
-
msgid "Compound"
|
1488 |
-
msgstr "Compuesto"
|
1489 |
-
|
1490 |
-
msgid "Part of compound service"
|
1491 |
-
msgstr "Parte del servicio compuesto"
|
1492 |
-
|
1493 |
-
msgid "Compound service"
|
1494 |
-
msgstr "Servicio compuesto"
|
1495 |
-
|
1496 |
msgid "Short Codes"
|
1497 |
msgstr "Códigos Cortos"
|
1498 |
|
@@ -1596,9 +1618,6 @@ msgstr "Citas visualizadas"
|
|
1596 |
msgid "Upcoming appointments"
|
1597 |
msgstr "Próximas citas"
|
1598 |
|
1599 |
-
msgid "All appointments"
|
1600 |
-
msgstr "Todas las citas"
|
1601 |
-
|
1602 |
msgid "Delimiter"
|
1603 |
msgstr "Delimitador"
|
1604 |
|
@@ -1746,9 +1765,6 @@ msgstr "No hay impuestos"
|
|
1746 |
msgid "Processing..."
|
1747 |
msgstr "Procesando..."
|
1748 |
|
1749 |
-
msgid "Taxation"
|
1750 |
-
msgstr "Impuestos"
|
1751 |
-
|
1752 |
msgid "service tax amount"
|
1753 |
msgstr "importe del impuesto de servicios"
|
1754 |
|
@@ -1775,6 +1791,9 @@ msgstr ""
|
|
1775 |
"importe exacto del impuesto al sistema de pago, no utilice cargos "
|
1776 |
"adicionales."
|
1777 |
|
|
|
|
|
|
|
1778 |
msgid "Customer Information"
|
1779 |
msgstr "Información del Cliente"
|
1780 |
|
@@ -1842,9 +1861,6 @@ msgstr "Personas"
|
|
1842 |
msgid "Number of persons"
|
1843 |
msgstr "Número de personas"
|
1844 |
|
1845 |
-
msgid "Capacity (min and max)"
|
1846 |
-
msgstr "Capacidad (mín. y máx.)"
|
1847 |
-
|
1848 |
msgid "Group bookings information format"
|
1849 |
msgstr "Formato de información de reservas grupales"
|
1850 |
|
@@ -1872,6 +1888,15 @@ msgstr "número de personas que ya figuran en la lista"
|
|
1872 |
msgid "capacity of service"
|
1873 |
msgstr "capacidad de servicio"
|
1874 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1875 |
msgid ""
|
1876 |
"The minimum and maximum number of customers allowed to book the service for "
|
1877 |
"the certain time period."
|
@@ -1889,12 +1914,6 @@ msgstr ""
|
|
1889 |
"Habilita esta opción si deseas limitar la posibilidad de reservar la "
|
1890 |
"capacidad del servicio a una sola vez."
|
1891 |
|
1892 |
-
msgid "Show information about group bookings"
|
1893 |
-
msgstr "Mostrar información sobre reservas de grupos"
|
1894 |
-
|
1895 |
-
msgid "Disable capacity update"
|
1896 |
-
msgstr "Deshabilitar la actualización de capacidad"
|
1897 |
-
|
1898 |
msgid "Address"
|
1899 |
msgstr "Dirección"
|
1900 |
|
@@ -1952,12 +1971,19 @@ msgstr "Mostrar dirección requerida"
|
|
1952 |
msgid "Show google maps field"
|
1953 |
msgstr "Mostrar el campo google maps"
|
1954 |
|
1955 |
-
msgid "
|
1956 |
-
msgstr "
|
1957 |
|
1958 |
-
msgid "
|
|
|
|
|
1959 |
msgstr ""
|
1960 |
-
"
|
|
|
|
|
|
|
|
|
|
|
1961 |
|
1962 |
msgid "Collaborative"
|
1963 |
msgstr "Colaborativo"
|
@@ -1968,6 +1994,13 @@ msgstr "Servicio colaborativo"
|
|
1968 |
msgid "Part of collaborative service"
|
1969 |
msgstr "Parte del servicio colaborativo"
|
1970 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1971 |
msgid "Customer cabinet (all services displayed in tabs)"
|
1972 |
msgstr "Gabinete del cliente (todos los servicios se muestran en pestañas)"
|
1973 |
|
@@ -3120,43 +3153,6 @@ msgstr ""
|
|
3120 |
"actualizar sus datos de usuario, o presione Cancelar para editar los datos "
|
3121 |
"introducidos."
|
3122 |
|
3123 |
-
msgid "sent to our system"
|
3124 |
-
msgstr "enviados a nuestro sistema"
|
3125 |
-
|
3126 |
-
msgid ""
|
3127 |
-
"Hope you had a good weekend! Here's a summary of messages we've delivered "
|
3128 |
-
"last week:\n"
|
3129 |
-
"{notification_list}\n"
|
3130 |
-
"\n"
|
3131 |
-
"Your system sent a total of {total} messages last week (that's {delta} {sign}"
|
3132 |
-
" than the week before).\n"
|
3133 |
-
"Cost of sending {total} messages was {amount}. Your current Bookly SMS "
|
3134 |
-
"balance is {balance}.\n"
|
3135 |
-
"\n"
|
3136 |
-
"Thank you for using Bookly SMS. We wish you a lucky week!\n"
|
3137 |
-
"Bookly SMS Team"
|
3138 |
-
msgstr ""
|
3139 |
-
"¡Esperamos que haya tenido un buen fin de semana! A continuación encontrará "
|
3140 |
-
"un resumen de los mensajes que enviamos la semana pasada:\n"
|
3141 |
-
"{notification_list}\n"
|
3142 |
-
"\n"
|
3143 |
-
"Su sistema envió un total de {total} mensajes la semana pasada (eso es "
|
3144 |
-
"{delta} {sign} que la semana anterior).\n"
|
3145 |
-
"El coste de enviar {total} mensajes fue {amount}. Su saldo actual de SMS de "
|
3146 |
-
"Bookly es {balance}.\n"
|
3147 |
-
"\n"
|
3148 |
-
"Gracias por utilizar SMS de Bookly. ¡Le deseamos una feliz semana!\n"
|
3149 |
-
"Equipo de SMS de Bookly"
|
3150 |
-
|
3151 |
-
msgid "more"
|
3152 |
-
msgstr "más"
|
3153 |
-
|
3154 |
-
msgid "less"
|
3155 |
-
msgstr "menos"
|
3156 |
-
|
3157 |
-
msgid "Bookly SMS weekly summary"
|
3158 |
-
msgstr "Bookly SMS resumen semanal"
|
3159 |
-
|
3160 |
msgid "Internal Notes"
|
3161 |
msgstr "Notas internas"
|
3162 |
|
@@ -3341,23 +3337,29 @@ msgstr ""
|
|
3341 |
"widget de reserva para difundir información sobre el complemento. Esto "
|
3342 |
"permitirá al equipo mejorar el producto y mejorar su funcionalidad."
|
3343 |
|
3344 |
-
msgid "
|
3345 |
-
msgstr "
|
3346 |
|
3347 |
msgid ""
|
3348 |
-
"Select \"
|
3349 |
"caching plugins by adding a DONOTCACHEPAGE constant on pages with booking "
|
3350 |
-
"form
|
3351 |
msgstr ""
|
3352 |
-
"Seleccione \"
|
3353 |
-
"mediante complementos de almacenamiento en caché de terceros
|
3354 |
-
"
|
3355 |
|
3356 |
-
msgid "
|
3357 |
-
msgstr "
|
3358 |
|
3359 |
-
msgid "
|
3360 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3361 |
|
3362 |
msgid "Service paid locally"
|
3363 |
msgstr "Servicio pagado localmente"
|
@@ -3377,6 +3379,9 @@ msgstr "Horario laboral"
|
|
3377 |
msgid "Holidays"
|
3378 |
msgstr "Feriados"
|
3379 |
|
|
|
|
|
|
|
3380 |
msgid "Approve appointment URL (success)"
|
3381 |
msgstr "URL después de cita reservada"
|
3382 |
|
@@ -3571,6 +3576,41 @@ msgstr ""
|
|
3571 |
"contacto diferente a la del pedido anterior, aparecerá un mensaje de "
|
3572 |
"advertencia pidiéndole que actualice los datos."
|
3573 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3574 |
#, php-format
|
3575 |
msgid ""
|
3576 |
"WooCommerce cart is not set up. Follow the <a href=\"%s\">link</a> to "
|
@@ -3579,6 +3619,9 @@ msgstr ""
|
|
3579 |
"El carro de WooCommerce no está configurado. Siga el <a href=\"%s\">enlace "
|
3580 |
"</a> para corregirlo."
|
3581 |
|
|
|
|
|
|
|
3582 |
msgid "SMS Notifications"
|
3583 |
msgstr "Notificaciones de SMS"
|
3584 |
|
@@ -3667,9 +3710,6 @@ msgstr "Cancelar petición"
|
|
3667 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3668 |
msgstr "Sólo puede contener letras o dígitos (hasta 11 caracteres)."
|
3669 |
|
3670 |
-
msgid "Last month"
|
3671 |
-
msgstr "El mes pasado"
|
3672 |
-
|
3673 |
msgid "Sender ID request is sent."
|
3674 |
msgstr "Solicitud de ID del remitente se envía."
|
3675 |
|
@@ -3754,8 +3794,8 @@ msgstr ""
|
|
3754 |
"Enviar notificación por correo electrónico a los administradores a baja "
|
3755 |
"equilibrio"
|
3756 |
|
3757 |
-
msgid "Send weekly summary
|
3758 |
-
msgstr "Enviar resumen semanal
|
3759 |
|
3760 |
msgid ""
|
3761 |
"Your country is the location from where you consume Bookly SMS services and "
|
@@ -3803,53 +3843,11 @@ msgstr "Recordar mi selección"
|
|
3803 |
msgid "No, update just here in services"
|
3804 |
msgstr "No, sólo actualizar aquí en los servicios"
|
3805 |
|
3806 |
-
msgid "
|
3807 |
-
msgstr "
|
3808 |
-
|
3809 |
-
msgid "Providers"
|
3810 |
-
msgstr "Proveedores"
|
3811 |
|
3812 |
-
msgid "
|
3813 |
-
msgstr "
|
3814 |
-
|
3815 |
-
msgid "No staff selected"
|
3816 |
-
msgstr "Ningún trabajador seleccionado"
|
3817 |
-
|
3818 |
-
#, php-format
|
3819 |
-
msgid "This text can be inserted into notifications with %s code."
|
3820 |
-
msgstr "Este texto se puede insertar en las notificaciones con el código %s."
|
3821 |
-
|
3822 |
-
msgid "Start and end times of the appointment"
|
3823 |
-
msgstr "Hora de inicio y finalización de la cita"
|
3824 |
-
|
3825 |
-
msgid ""
|
3826 |
-
"Allows to set the start and end times for an appointment for services with "
|
3827 |
-
"the duration of 1 day or longer. This time will be displayed in "
|
3828 |
-
"notifications to customers, backend calendar and codes for booking form."
|
3829 |
-
msgstr ""
|
3830 |
-
"Permite establecer las horas de inicio y fin para una cita de servicios con "
|
3831 |
-
"la duración de 1 día o más. Esta hora se mostrará en las notificaciones de "
|
3832 |
-
"los clientes, el calendario de backend y los códigos para el formulario de "
|
3833 |
-
"reserva."
|
3834 |
-
|
3835 |
-
msgid "Slot length as service duration"
|
3836 |
-
msgstr "Longitud de la franja como duración del servicio"
|
3837 |
-
|
3838 |
-
msgid ""
|
3839 |
-
"The time interval which is used as a step when building all time slots for "
|
3840 |
-
"the service at the Time step. The setting overrides global settings in "
|
3841 |
-
"Settings > General. Use Default to apply global settings."
|
3842 |
-
msgstr ""
|
3843 |
-
"Intervalo de tiempo que se utiliza como paso al crear todas las franjas "
|
3844 |
-
"horarias para el servicio en el paso Tiempo. La configuración invalida la "
|
3845 |
-
"configuración global en Configuración General. Utiliza Predeterminado para "
|
3846 |
-
"aplicar la configuración global."
|
3847 |
-
|
3848 |
-
msgid "The service will be created with the visibility of Private."
|
3849 |
-
msgstr "El servicio se creará con la visibilidad de Privado."
|
3850 |
-
|
3851 |
-
msgid "Duplicate"
|
3852 |
-
msgstr "Duplicar"
|
3853 |
|
3854 |
msgid "You must select at least one repeat option for recurring services."
|
3855 |
msgstr ""
|
@@ -3984,6 +3982,12 @@ msgstr "Fecha de desactivación"
|
|
3984 |
msgid "Stripe activation was not completed"
|
3985 |
msgstr "La activación de Stripe no se ha completado"
|
3986 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3987 |
msgid "Auto-refresh Calendar"
|
3988 |
msgstr "Calendario de actualización automática"
|
3989 |
|
@@ -4805,6 +4809,10 @@ msgstr ""
|
|
4805 |
"Si dejas este campo en blanco, este miembro del personal no será capaz de "
|
4806 |
"acceder a la agenda personal utilizando el backend de WP."
|
4807 |
|
|
|
|
|
|
|
|
|
4808 |
msgid "Archive"
|
4809 |
msgstr "Archivar"
|
4810 |
|
@@ -4863,15 +4871,15 @@ msgstr ""
|
|
4863 |
"¡El periodo seleccionado no coincide con la duración predeterminada para el "
|
4864 |
"servicio seleccionado!"
|
4865 |
|
4866 |
-
msgid "The selected period is occupied by another appointment"
|
4867 |
-
msgstr "El periodo seleccionado está ocupado por otra cita"
|
4868 |
-
|
4869 |
msgid "Selected period doesn't match provider's schedule"
|
4870 |
msgstr "El período seleccionado no coincide con el horario del proveedor"
|
4871 |
|
4872 |
msgid "Selected period doesn't match service schedule"
|
4873 |
msgstr "El período seleccionado no coincide con el horario del servicio"
|
4874 |
|
|
|
|
|
|
|
4875 |
msgid "Booking exceeds the working hours limit for staff member"
|
4876 |
msgstr ""
|
4877 |
"La reserva excede el límite de horas de trabajo para el miembro del personal"
|
@@ -5001,6 +5009,38 @@ msgstr "No guardar"
|
|
5001 |
msgid "Create service"
|
5002 |
msgstr "Crear servicio"
|
5003 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5004 |
msgid "Edit service"
|
5005 |
msgstr "Editar servicio"
|
5006 |
|
@@ -5571,27 +5611,12 @@ msgstr "Fecha de creación"
|
|
5571 |
msgid "Packages"
|
5572 |
msgstr "Paquetes"
|
5573 |
|
5574 |
-
msgid "Unassigned"
|
5575 |
-
msgstr "Sin asignar"
|
5576 |
-
|
5577 |
-
msgid ""
|
5578 |
-
"Enable this setting so that the package can be displayed and available for "
|
5579 |
-
"booking when clients have not specified a particular provider."
|
5580 |
-
msgstr ""
|
5581 |
-
"Activa esta configuración para que el paquete se pueda mostrar y esté "
|
5582 |
-
"disponible para la reserva cuando los clientes no hayan especificado un "
|
5583 |
-
"proveedor en particular."
|
5584 |
-
|
5585 |
-
msgid "Life Time"
|
5586 |
-
msgstr "Toda la vida"
|
5587 |
-
|
5588 |
-
msgid "The period in days when the customer can use a package of services."
|
5589 |
-
msgstr ""
|
5590 |
-
"El período en días en que el cliente puede usar un paquete de servicios."
|
5591 |
-
|
5592 |
msgid "New package"
|
5593 |
msgstr "Nuevo paquete"
|
5594 |
|
|
|
|
|
|
|
5595 |
msgid "Edit package"
|
5596 |
msgstr "Editar paquete"
|
5597 |
|
@@ -5685,6 +5710,21 @@ msgstr "Editar cita del paquete"
|
|
5685 |
msgid "Delete package appointment"
|
5686 |
msgstr "Eliminar cita del paquete"
|
5687 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5688 |
msgid "Packages list"
|
5689 |
msgstr "Lista de paquetes"
|
5690 |
|
@@ -6017,33 +6057,6 @@ msgstr "Su período de soporte ha expirado el %s. "
|
|
6017 |
msgid "Print"
|
6018 |
msgstr "Imprimir"
|
6019 |
|
6020 |
-
msgid "Google Calendar integration"
|
6021 |
-
msgstr "Google Calendar integración"
|
6022 |
-
|
6023 |
-
#, php-format
|
6024 |
-
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
6025 |
-
msgstr ""
|
6026 |
-
"Por favor, configure en primer lugar la <a href=\"%s\">configuración</a> de "
|
6027 |
-
"Google Calendar"
|
6028 |
-
|
6029 |
-
msgid "Synchronize staff member appointments with Google Calendar."
|
6030 |
-
msgstr ""
|
6031 |
-
"Sincronizar los datos de las reservas miembro del personal con Google "
|
6032 |
-
"Calendar."
|
6033 |
-
|
6034 |
-
msgid "Limit working hours per day"
|
6035 |
-
msgstr "Limitar las horas de trabajo por día"
|
6036 |
-
|
6037 |
-
msgid "Unlimited"
|
6038 |
-
msgstr "Ilimitado"
|
6039 |
-
|
6040 |
-
msgid ""
|
6041 |
-
"This setting allows limiting the total time occupied by bookings per day for "
|
6042 |
-
"staff member. Padding time is not included."
|
6043 |
-
msgstr ""
|
6044 |
-
"Esta configuración permite limitar el tiempo total ocupado por las reservas "
|
6045 |
-
"por día para el miembro del personal. El tiempo de relleno no está incluido."
|
6046 |
-
|
6047 |
msgid "API Username"
|
6048 |
msgstr "Nombre de usuario API"
|
6049 |
|
@@ -6489,210 +6502,79 @@ msgstr ""
|
|
6489 |
msgid "Online Meetings"
|
6490 |
msgstr "Reuniones En línea"
|
6491 |
|
6492 |
-
msgid "
|
6493 |
-
msgstr "
|
|
|
|
|
|
|
6494 |
|
6495 |
#, php-format
|
6496 |
-
msgid ""
|
6497 |
-
"
|
6498 |
-
"appointments with the selected online meeting provider. Make sure that the "
|
6499 |
-
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6500 |
-
"Meetings</a>"
|
6501 |
-
msgstr ""
|
6502 |
-
"Si esta configuración está habilitada, se crearán reuniones en línea para "
|
6503 |
-
"las nuevas citas con el proveedor de reuniones en línea seleccionado. "
|
6504 |
-
"Asegúrese de que el proveedor esté configurado correctamente en "
|
6505 |
-
"Configuración <a href=\"%s\">Reuniones en linea</a>"
|
6506 |
|
6507 |
-
msgid "
|
6508 |
-
msgstr "
|
6509 |
|
6510 |
msgid ""
|
6511 |
-
"
|
6512 |
-
"
|
6513 |
-
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
6514 |
-
"then the next available time slot will be 9:15 rather than 9:00."
|
6515 |
msgstr ""
|
6516 |
-
"
|
6517 |
-
"
|
6518 |
-
"\"margen antes\" a 15min. Si hay una cita 8:00 a 9:00 entonces el siguiente "
|
6519 |
-
"intervalo de tiempo disponible será a las 9:15 en lugar de a las 9:00."
|
6520 |
|
6521 |
-
msgid "
|
6522 |
-
msgstr "
|
|
|
|
|
|
|
6523 |
|
|
|
6524 |
msgid ""
|
6525 |
-
"
|
6526 |
-
"
|
6527 |
msgstr ""
|
6528 |
-
"
|
6529 |
-
"
|
6530 |
|
6531 |
-
msgid "
|
6532 |
-
msgstr "
|
6533 |
|
6534 |
-
msgid ""
|
6535 |
-
|
6536 |
-
"account when calculating provider's occupancy. 0 means the day of booking."
|
6537 |
-
msgstr ""
|
6538 |
-
"Establezca la cantidad de días antes y después de la cita que se tendrán en "
|
6539 |
-
"cuenta al calcular la ocupación del proveedor. 0 significa el día de la "
|
6540 |
-
"reserva."
|
6541 |
|
6542 |
-
msgid "
|
6543 |
-
msgstr "
|
6544 |
|
6545 |
msgid ""
|
6546 |
-
"
|
6547 |
-
"
|
6548 |
-
"
|
6549 |
msgstr ""
|
6550 |
-
"
|
6551 |
-
"
|
6552 |
-
"
|
6553 |
|
6554 |
-
msgid "
|
6555 |
-
msgstr "
|
6556 |
|
6557 |
-
msgid "
|
6558 |
-
msgstr "
|
6559 |
|
6560 |
-
msgid "
|
6561 |
-
msgstr "
|
6562 |
|
6563 |
-
msgid "
|
6564 |
-
|
|
|
|
|
|
|
|
|
6565 |
|
6566 |
-
msgid "
|
6567 |
-
msgstr "
|
6568 |
|
6569 |
-
msgid "
|
6570 |
-
msgstr "
|
6571 |
-
|
6572 |
-
msgid "per 30 days"
|
6573 |
-
msgstr "por 30 dias"
|
6574 |
-
|
6575 |
-
msgid "per month"
|
6576 |
-
msgstr "por mes"
|
6577 |
-
|
6578 |
-
msgid "per 365 days"
|
6579 |
-
msgstr "por 365 dias"
|
6580 |
-
|
6581 |
-
msgid "per year"
|
6582 |
-
msgstr "por año"
|
6583 |
-
|
6584 |
-
msgid ""
|
6585 |
-
"This setting allows you to limit the number of appointments that can be "
|
6586 |
-
"booked by a customer in any given period. Restriction may end after a fixed "
|
6587 |
-
"period or with the beginning of the next calendar period - new day, week, "
|
6588 |
-
"month, etc."
|
6589 |
-
msgstr ""
|
6590 |
-
"Esta configuración te permite limitar el número de citas que un cliente "
|
6591 |
-
"puede reservar en un período determinado. La restricción puede finalizar "
|
6592 |
-
"después de un período fijo o con el comienzo del nuevo día, semana, mes, etc."
|
6593 |
-
" del siguiente período de calendario."
|
6594 |
-
|
6595 |
-
msgid "Limit"
|
6596 |
-
msgstr "Límite"
|
6597 |
-
|
6598 |
-
msgid ""
|
6599 |
-
"To make service invisible to your customers set the visibility to "
|
6600 |
-
"\"Private\"."
|
6601 |
-
msgstr ""
|
6602 |
-
"Para hacer invisible el servicio a sus clientes establece la visibilidad "
|
6603 |
-
"como \"Privado\"."
|
6604 |
-
|
6605 |
-
msgid "Specified order"
|
6606 |
-
msgstr "Orden especificado"
|
6607 |
-
|
6608 |
-
msgid "Least occupied that day"
|
6609 |
-
msgstr "Menos ocupado ese día"
|
6610 |
-
|
6611 |
-
msgid "Most occupied that day"
|
6612 |
-
msgstr "Más ocupado ese día"
|
6613 |
-
|
6614 |
-
msgid "Least occupied for period"
|
6615 |
-
msgstr "Menos ocupado por periodo"
|
6616 |
-
|
6617 |
-
msgid "Most occupied for period"
|
6618 |
-
msgstr "Más ocupados por periodo"
|
6619 |
-
|
6620 |
-
msgid "Least expensive"
|
6621 |
-
msgstr "Más barato"
|
6622 |
-
|
6623 |
-
msgid "Most expensive"
|
6624 |
-
msgstr "Más caro"
|
6625 |
-
|
6626 |
-
msgid "Form view in case of single booking"
|
6627 |
-
msgstr "Vista de formulario en caso de reserva individual"
|
6628 |
-
|
6629 |
-
msgid "Form view in case of multiple booking"
|
6630 |
-
msgstr "Vista de formulario en caso de reserva múltiple"
|
6631 |
-
|
6632 |
-
#, php-format
|
6633 |
-
msgid "Form in case of 100% discount"
|
6634 |
-
msgstr "Formulario en caso de descuento del 100%"
|
6635 |
-
|
6636 |
-
msgid "Show birthday field"
|
6637 |
-
msgstr "Mostrar campo de fecha de nacimiento"
|
6638 |
-
|
6639 |
-
msgid ""
|
6640 |
-
"Address information is needed for Invoices add-on. To disable, deactivate "
|
6641 |
-
"Invoices add-on first."
|
6642 |
-
msgstr ""
|
6643 |
-
"La información de dirección es necesaria para la extensión Facturas. Para "
|
6644 |
-
"deshabilitar, desactive primero la extensión Facturas."
|
6645 |
-
|
6646 |
-
msgid "Show address fields"
|
6647 |
-
msgstr "Mostrar campos de dirección"
|
6648 |
-
|
6649 |
-
msgid "Show Facebook login button"
|
6650 |
-
msgstr "Mostrar el botón de inicio de sesión de Facebook"
|
6651 |
-
|
6652 |
-
#, php-format
|
6653 |
-
msgid ""
|
6654 |
-
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6655 |
-
"first."
|
6656 |
-
msgstr ""
|
6657 |
-
"Configure primero la integración de la Aplicación de Facebook en<a "
|
6658 |
-
"href=\"%s\">configuraciones</a>"
|
6659 |
-
|
6660 |
-
msgid "Show time zone switcher"
|
6661 |
-
msgstr "Mostrar cambio de zona horaria"
|
6662 |
-
|
6663 |
-
msgid "Import"
|
6664 |
-
msgstr "Importar"
|
6665 |
-
|
6666 |
-
msgid "Note"
|
6667 |
-
msgstr "Aviso"
|
6668 |
-
|
6669 |
-
msgid ""
|
6670 |
-
"You may import list of clients in CSV format. You can choose the columns "
|
6671 |
-
"contained in your file. The sequence of columns should coincide with the "
|
6672 |
-
"specified one."
|
6673 |
-
msgstr ""
|
6674 |
-
"Puede importar la lista de clientes en formato CSV. Puede elegir las "
|
6675 |
-
"columnas contenidas en su archivo. La secuencia de columnas debe coincidir "
|
6676 |
-
"con la especificada."
|
6677 |
-
|
6678 |
-
msgid "Select file"
|
6679 |
-
msgstr "Seleccionar fichero"
|
6680 |
-
|
6681 |
-
msgid "Date of birth"
|
6682 |
-
msgstr "Fecha de nacimiento"
|
6683 |
-
|
6684 |
-
msgid "Analytics"
|
6685 |
-
msgstr "Analítica"
|
6686 |
-
|
6687 |
-
msgid ""
|
6688 |
-
"Note: If payment is made for several services, then for each service you "
|
6689 |
-
"will see the entire amount paid as revenue."
|
6690 |
-
msgstr ""
|
6691 |
-
"Nota: Si se realiza el pago de varios servicios, verá la cantidad total "
|
6692 |
-
"pagada como ingreso por cada servicio."
|
6693 |
-
|
6694 |
-
msgid "online meeting join URL"
|
6695 |
-
msgstr "URL para unirse a la reunión en línea"
|
6696 |
|
6697 |
msgid "Titles"
|
6698 |
msgstr "Títulos"
|
@@ -6724,6 +6606,20 @@ msgstr ""
|
|
6724 |
msgid "Error dissociating purchase code."
|
6725 |
msgstr "Error al disociar el código de compra."
|
6726 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6727 |
msgid "Archiving Staff"
|
6728 |
msgstr "Personal Archivado"
|
6729 |
|
@@ -6737,6 +6633,28 @@ msgstr ""
|
|
6737 |
msgid "Ok, continue editing"
|
6738 |
msgstr "Ok, seguir editando"
|
6739 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6740 |
msgid "Reason"
|
6741 |
msgstr "Razón"
|
6742 |
|
@@ -6776,6 +6694,140 @@ msgstr "Por favor, introduzca un nombre de servicio"
|
|
6776 |
msgid "Custom service price"
|
6777 |
msgstr "Precio del servicio personalizado"
|
6778 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6779 |
msgid "Welcome to Bookly Pro and thank you for purchasing our product!"
|
6780 |
msgstr "¡Bienvenido a Bookly Pro y gracias por comprar nuestro producto!"
|
6781 |
|
@@ -7107,6 +7159,9 @@ msgstr "Omitir"
|
|
7107 |
msgid "Tasks"
|
7108 |
msgstr "Tareas"
|
7109 |
|
|
|
|
|
|
|
7110 |
msgid "Time step settings"
|
7111 |
msgstr "Ajustes paso Tiempo"
|
7112 |
|
@@ -7122,9 +7177,6 @@ msgstr ""
|
|
7122 |
"ocultarla y crear un trabajo sin el plazo señalado, o mostrar el paso de "
|
7123 |
"tiempo, pero permitir que un cliente lo omita."
|
7124 |
|
7125 |
-
msgid "Skip time selection"
|
7126 |
-
msgstr "Omitir selección de tiempo"
|
7127 |
-
|
7128 |
msgid "Incorrect payment data"
|
7129 |
msgstr "Datos de pago incorrectos"
|
7130 |
|
@@ -7327,18 +7379,6 @@ msgstr "Editar Grupo"
|
|
7327 |
msgid "No customer groups yet."
|
7328 |
msgstr "No hay grupos de clientes todavía."
|
7329 |
|
7330 |
-
msgid "Groups"
|
7331 |
-
msgstr "Grupos"
|
7332 |
-
|
7333 |
-
msgid "All groups"
|
7334 |
-
msgstr "Todos los Grupos"
|
7335 |
-
|
7336 |
-
msgid "No group selected"
|
7337 |
-
msgstr "No hay ningún grupo seleccionado"
|
7338 |
-
|
7339 |
-
msgid "Customer group based"
|
7340 |
-
msgstr "basado en grupo de Clientes"
|
7341 |
-
|
7342 |
msgid "Customer Group"
|
7343 |
msgstr "Grupo de Clientes"
|
7344 |
|
@@ -7363,6 +7403,18 @@ msgstr "Editar Grupo"
|
|
7363 |
msgid "Group name is required"
|
7364 |
msgstr "El nombre del grupo es obligatorio"
|
7365 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7366 |
msgid "Notification to customer about placing on waiting list"
|
7367 |
msgstr "Notificación al cliente sobre la colocación en la lista de espera"
|
7368 |
|
@@ -7611,12 +7663,6 @@ msgstr "títulos de extras"
|
|
7611 |
msgid "extras total price"
|
7612 |
msgstr "precio total de extras"
|
7613 |
|
7614 |
-
msgid "Max quantity"
|
7615 |
-
msgstr "Cantidad máxima"
|
7616 |
-
|
7617 |
-
msgid "New Item"
|
7618 |
-
msgstr "Nuevo artículo"
|
7619 |
-
|
7620 |
msgid "Show title"
|
7621 |
msgstr "Mostrar título"
|
7622 |
|
@@ -7638,6 +7684,12 @@ msgstr "Mostrar el paso Extras"
|
|
7638 |
msgid "Show extras"
|
7639 |
msgstr "Mostrar extras"
|
7640 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7641 |
msgid "Extras tax"
|
7642 |
msgstr "Impuesto adicional"
|
7643 |
|
@@ -7709,15 +7761,15 @@ msgstr ""
|
|
7709 |
"su cuenta de PayPal. Las direcciones de correo electrónico deben ser "
|
7710 |
"confirmadas."
|
7711 |
|
|
|
|
|
|
|
7712 |
msgid "Special prices for appointments which begin between:"
|
7713 |
msgstr "Precios especiales para citas que comienzan entre:"
|
7714 |
|
7715 |
msgid "add special period"
|
7716 |
msgstr "agregar período especial"
|
7717 |
|
7718 |
-
msgid "Disable special hours update"
|
7719 |
-
msgstr "Deshabilitar la actualización de horas especiales"
|
7720 |
-
|
7721 |
msgid "Please select a location"
|
7722 |
msgstr "Por favor selecciona una ubicación"
|
7723 |
|
@@ -7727,28 +7779,6 @@ msgstr "Miembros del personal"
|
|
7727 |
msgid "Locations"
|
7728 |
msgstr "Ubicaciones"
|
7729 |
|
7730 |
-
msgid "Default settings"
|
7731 |
-
msgstr "Configuración predeterminada"
|
7732 |
-
|
7733 |
-
msgid ""
|
7734 |
-
"Set Default values that will be used in all locations where Use default "
|
7735 |
-
"settings is selected. To use custom settings in a location, select Use "
|
7736 |
-
"custom settings and enter custom values."
|
7737 |
-
msgstr ""
|
7738 |
-
"Establece los valores predeterminados que se utilizarán en todas las "
|
7739 |
-
"ubicaciones donde se seleccione Usar una configuración predeterminada. Para "
|
7740 |
-
"usar configuraciones personalizadas en una ubicación, selecciona Usar "
|
7741 |
-
"configuraciones personalizadas e introduce valores personalizados."
|
7742 |
-
|
7743 |
-
msgid "Use default settings"
|
7744 |
-
msgstr "Utilizar la configuración predeterminada"
|
7745 |
-
|
7746 |
-
msgid "Use custom settings"
|
7747 |
-
msgstr "Usar configuraciones personalizadas"
|
7748 |
-
|
7749 |
-
msgid "Select locations where the services are provided."
|
7750 |
-
msgstr "Selecciona las ubicaciones donde se ofrecen los servicios."
|
7751 |
-
|
7752 |
msgid "Custom settings for location"
|
7753 |
msgstr "Configuraciones personalizadas para la ubicación"
|
7754 |
|
@@ -7789,6 +7819,28 @@ msgstr "Hacer que la selección de ubicación sea requerida"
|
|
7789 |
msgid "Default value for location select"
|
7790 |
msgstr "Valor predeterminado para la selección de ubicación"
|
7791 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7792 |
msgid "Account ID"
|
7793 |
msgstr "ID de la cuenta"
|
7794 |
|
@@ -7847,9 +7899,6 @@ msgstr ""
|
|
7847 |
msgid "URL of the page for staff rating"
|
7848 |
msgstr "URL de la página para la calificación del personal"
|
7849 |
|
7850 |
-
msgid "Comment"
|
7851 |
-
msgstr "Comentario"
|
7852 |
-
|
7853 |
msgid "Add staff rating form"
|
7854 |
msgstr "Añadir formulario de calificación del personal"
|
7855 |
|
8 |
"Language: es_ES\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2020-11-06 16:52+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-11-08 19:11+0000\n"
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Spanish (Spain)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
187 |
msgid "Phone"
|
188 |
msgstr "Teléfono"
|
189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
msgid "Instructions"
|
191 |
msgstr "Instrucciones"
|
192 |
|
511 |
msgid "Calendars synchronized successfully."
|
512 |
msgstr "Calendarios sincronizados con éxito"
|
513 |
|
514 |
+
msgid "Outlook Calendar integration"
|
515 |
+
msgstr "Incorporación del calendario de Outlook"
|
516 |
+
|
517 |
+
msgid "Connect"
|
518 |
+
msgstr "Conectar"
|
519 |
+
|
520 |
+
#, php-format
|
521 |
+
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
522 |
+
msgstr ""
|
523 |
+
"Por favor, configure el calendario de Outlook <a href=\"%s\">settings</a> "
|
524 |
+
"primero"
|
525 |
+
|
526 |
+
msgid "Connected"
|
527 |
+
msgstr "Conectado"
|
528 |
+
|
529 |
+
msgid "disconnect"
|
530 |
+
msgstr "desconectar"
|
531 |
+
|
532 |
+
msgid "Synchronize staff member appointments with Outlook Calendar."
|
533 |
+
msgstr ""
|
534 |
+
"Sincronice las citas de los miembros del personal con el calendario de "
|
535 |
+
"Outlook."
|
536 |
+
|
537 |
+
msgid "Calendar"
|
538 |
+
msgstr "Calendario"
|
539 |
+
|
540 |
+
msgid "-- Select calendar --"
|
541 |
+
msgstr "- Seleccionar calendario -"
|
542 |
+
|
543 |
+
msgid ""
|
544 |
+
"When you connect a calendar all future and past events will be synchronized "
|
545 |
+
"according to the selected synchronization mode. This may take a few minutes. "
|
546 |
+
"Please wait."
|
547 |
+
msgstr ""
|
548 |
+
"Cuando conecte un calendario, todos los eventos futuros y pasados se "
|
549 |
+
"sincronizarán de acuerdo con el modo de sincronización seleccionado. Esto "
|
550 |
+
"puede llevar unos pocos minutos. Por favor, espere."
|
551 |
+
|
552 |
+
msgid "Can't change calendar for archived staff"
|
553 |
+
msgstr "No se puede cambiar el calendario para el personal archivado"
|
554 |
+
|
555 |
msgid "Custom Fields"
|
556 |
msgstr "Campos personalizados"
|
557 |
|
1285 |
"aprobación de la cita recurrente no se puede realizar (cambio de estado, etc."
|
1286 |
")."
|
1287 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1288 |
msgid "Edit"
|
1289 |
msgstr "Editar"
|
1290 |
|
1315 |
msgid "Every"
|
1316 |
msgstr "Cada"
|
1317 |
|
1318 |
+
msgid ""
|
1319 |
+
"You are going to reschedule the recurring appointment. Please select "
|
1320 |
+
"recurring appointments which should be rescheduled as well."
|
1321 |
+
msgstr ""
|
1322 |
+
"Va a reprogramar la cita periódica. Seleccione citas periódicas que también "
|
1323 |
+
"se deben reprogramar."
|
1324 |
+
|
1325 |
+
msgid "Only this appointment"
|
1326 |
+
msgstr "Solo esta cita"
|
1327 |
+
|
1328 |
+
msgid "This and next appointments"
|
1329 |
+
msgstr "Esta y próximas citas"
|
1330 |
+
|
1331 |
+
msgid "All appointments"
|
1332 |
+
msgstr "Todas las citas"
|
1333 |
+
|
1334 |
+
msgid "Number of days to shift appointments"
|
1335 |
+
msgstr "Número de días para cambiar las citas"
|
1336 |
+
|
1337 |
+
msgid "Appointments will be scheduled at"
|
1338 |
+
msgstr "Las citas se programarán a las"
|
1339 |
+
|
1340 |
msgid "Back"
|
1341 |
msgstr "Anterior"
|
1342 |
|
1373 |
msgid "Close"
|
1374 |
msgstr "Cerrar"
|
1375 |
|
1376 |
+
msgid "Enabled"
|
1377 |
+
msgstr "Activado"
|
1378 |
+
|
1379 |
+
msgid "Allow this service to have recurring appointments."
|
1380 |
+
msgstr "Permitir que este servicio tenga citas recurrentes. "
|
1381 |
+
|
1382 |
+
msgid "Frequencies"
|
1383 |
+
msgstr "Frecuencias"
|
1384 |
+
|
1385 |
+
msgid "All"
|
1386 |
+
msgstr "Todos"
|
1387 |
+
|
1388 |
+
msgid "Nothing selected"
|
1389 |
+
msgstr "No hay nada seleccionado"
|
1390 |
+
|
1391 |
msgid "Save"
|
1392 |
msgstr "Guardar"
|
1393 |
|
1412 |
msgid "Duration"
|
1413 |
msgstr "Duración"
|
1414 |
|
1415 |
+
msgid "Show service price next to duration"
|
1416 |
+
msgstr "Mostrar el precio del servicio al lado de la duración"
|
1417 |
+
|
1418 |
+
msgid "Hide this field"
|
1419 |
+
msgstr "Ocultar este campo"
|
1420 |
+
|
1421 |
msgid ""
|
1422 |
"Set service duration. If you select Custom, a client, while booking, will "
|
1423 |
"have to choose the duration of the service from several time units. In the "
|
1445 |
msgid "Custom"
|
1446 |
msgstr "Personalizado"
|
1447 |
|
1448 |
+
msgid "Are you sure?"
|
1449 |
+
msgstr "¿Estás seguro?"
|
1450 |
|
1451 |
+
msgid "Duplicate dates are not permitted."
|
1452 |
+
msgstr "No se permiten fechas duplicadas."
|
1453 |
+
|
1454 |
+
msgid "Date in the past."
|
1455 |
+
msgstr "Fecha en el pasado."
|
1456 |
+
|
1457 |
+
msgid "Add Staff Special Days"
|
1458 |
+
msgstr "Añadir Días Especiales del Personal"
|
1459 |
|
1460 |
msgid "Delete break"
|
1461 |
msgstr "Eliminar descanso"
|
1475 |
msgid "Special Days"
|
1476 |
msgstr "Días Especiales"
|
1477 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1478 |
msgid "The requested interval is not available"
|
1479 |
msgstr "El intervalo solicitado no está disponible"
|
1480 |
|
1481 |
msgid "OFF"
|
1482 |
msgstr "APAGADO"
|
1483 |
|
|
|
|
|
|
|
1484 |
msgid "Uncategorized"
|
1485 |
msgstr "Sin categoría"
|
1486 |
|
1487 |
+
msgid "Compound"
|
1488 |
+
msgstr "Compuesto"
|
1489 |
+
|
1490 |
+
msgid "Part of compound service"
|
1491 |
+
msgstr "Parte del servicio compuesto"
|
1492 |
+
|
1493 |
+
msgid "Compound service"
|
1494 |
+
msgstr "Servicio compuesto"
|
1495 |
+
|
1496 |
msgid "Spare time"
|
1497 |
msgstr "Tiempo libre"
|
1498 |
|
1515 |
"espacios disponibles de este miembro del personal para todos los "
|
1516 |
"subservicios."
|
1517 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1518 |
msgid "Short Codes"
|
1519 |
msgstr "Códigos Cortos"
|
1520 |
|
1618 |
msgid "Upcoming appointments"
|
1619 |
msgstr "Próximas citas"
|
1620 |
|
|
|
|
|
|
|
1621 |
msgid "Delimiter"
|
1622 |
msgstr "Delimitador"
|
1623 |
|
1765 |
msgid "Processing..."
|
1766 |
msgstr "Procesando..."
|
1767 |
|
|
|
|
|
|
|
1768 |
msgid "service tax amount"
|
1769 |
msgstr "importe del impuesto de servicios"
|
1770 |
|
1791 |
"importe exacto del impuesto al sistema de pago, no utilice cargos "
|
1792 |
"adicionales."
|
1793 |
|
1794 |
+
msgid "Taxation"
|
1795 |
+
msgstr "Impuestos"
|
1796 |
+
|
1797 |
msgid "Customer Information"
|
1798 |
msgstr "Información del Cliente"
|
1799 |
|
1861 |
msgid "Number of persons"
|
1862 |
msgstr "Número de personas"
|
1863 |
|
|
|
|
|
|
|
1864 |
msgid "Group bookings information format"
|
1865 |
msgstr "Formato de información de reservas grupales"
|
1866 |
|
1888 |
msgid "capacity of service"
|
1889 |
msgstr "capacidad de servicio"
|
1890 |
|
1891 |
+
msgid "Show information about group bookings"
|
1892 |
+
msgstr "Mostrar información sobre reservas de grupos"
|
1893 |
+
|
1894 |
+
msgid "Disable capacity update"
|
1895 |
+
msgstr "Deshabilitar la actualización de capacidad"
|
1896 |
+
|
1897 |
+
msgid "Capacity (min and max)"
|
1898 |
+
msgstr "Capacidad (mín. y máx.)"
|
1899 |
+
|
1900 |
msgid ""
|
1901 |
"The minimum and maximum number of customers allowed to book the service for "
|
1902 |
"the certain time period."
|
1914 |
"Habilita esta opción si deseas limitar la posibilidad de reservar la "
|
1915 |
"capacidad del servicio a una sola vez."
|
1916 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1917 |
msgid "Address"
|
1918 |
msgstr "Dirección"
|
1919 |
|
1971 |
msgid "Show google maps field"
|
1972 |
msgstr "Mostrar el campo google maps"
|
1973 |
|
1974 |
+
msgid "Do not allow to select a specific staff member"
|
1975 |
+
msgstr "No permitir seleccionar a un miembro específico del personal"
|
1976 |
|
1977 |
+
msgid ""
|
1978 |
+
"If this option is enabled then customers won't be able to select a staff "
|
1979 |
+
"member for collaborative services in the first step of the booking form"
|
1980 |
msgstr ""
|
1981 |
+
"Si esta opción está habilitada, los clientes no podrán seleccionar un "
|
1982 |
+
"miembro del personal para los servicios colaborativos en el primer paso del "
|
1983 |
+
"formulario de reserva"
|
1984 |
+
|
1985 |
+
msgid "Collaborative services"
|
1986 |
+
msgstr "Servicios colaborativos"
|
1987 |
|
1988 |
msgid "Collaborative"
|
1989 |
msgstr "Colaborativo"
|
1994 |
msgid "Part of collaborative service"
|
1995 |
msgstr "Parte del servicio colaborativo"
|
1996 |
|
1997 |
+
msgid "Equal duration"
|
1998 |
+
msgstr "Duración igual"
|
1999 |
+
|
2000 |
+
msgid "Make every service duration equal to the duration of the longest one."
|
2001 |
+
msgstr ""
|
2002 |
+
"Haz que la duración de cada servicio sea igual a la duración del más largo."
|
2003 |
+
|
2004 |
msgid "Customer cabinet (all services displayed in tabs)"
|
2005 |
msgstr "Gabinete del cliente (todos los servicios se muestran en pestañas)"
|
2006 |
|
3153 |
"actualizar sus datos de usuario, o presione Cancelar para editar los datos "
|
3154 |
"introducidos."
|
3155 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3156 |
msgid "Internal Notes"
|
3157 |
msgstr "Notas internas"
|
3158 |
|
3337 |
"widget de reserva para difundir información sobre el complemento. Esto "
|
3338 |
"permitirá al equipo mejorar el producto y mejorar su funcionalidad."
|
3339 |
|
3340 |
+
msgid "Prevent caching of pages with booking form"
|
3341 |
+
msgstr "Evitar el almacenamiento en caché de páginas con formulario de reserva"
|
3342 |
|
3343 |
msgid ""
|
3344 |
+
"Select \"Enabled\" if you want Bookly to prevent caching by third-party "
|
3345 |
"caching plugins by adding a DONOTCACHEPAGE constant on pages with booking "
|
3346 |
+
"form"
|
3347 |
msgstr ""
|
3348 |
+
"Seleccione \"Habilitado\" si desea que Bookly evite el almacenamiento en "
|
3349 |
+
"caché mediante complementos de almacenamiento en caché de terceros añadiendo "
|
3350 |
+
"DONOTCACHEPAGE en las páginas con formulario de reserva"
|
3351 |
|
3352 |
+
msgid "Prevent PHP session locking"
|
3353 |
+
msgstr "Evitar el bloqueo de la sesión PHP"
|
3354 |
|
3355 |
+
msgid ""
|
3356 |
+
"Enable this option to make Bookly close the PHP session as soon as it is "
|
3357 |
+
"done with it. This should prevent locking the session, which could cause "
|
3358 |
+
"various other processes to timeout or fail"
|
3359 |
+
msgstr ""
|
3360 |
+
"Habilite esta opción para hacer que Bookly cierre la sesión PHP tan pronto "
|
3361 |
+
"como termine. Esto debería evitar bloquear la sesión, lo que podría hacer "
|
3362 |
+
"que otros procesos dejen de funcionar o fallen."
|
3363 |
|
3364 |
msgid "Service paid locally"
|
3365 |
msgstr "Servicio pagado localmente"
|
3379 |
msgid "Holidays"
|
3380 |
msgstr "Feriados"
|
3381 |
|
3382 |
+
msgid "Logs"
|
3383 |
+
msgstr "Registros"
|
3384 |
+
|
3385 |
msgid "Approve appointment URL (success)"
|
3386 |
msgstr "URL después de cita reservada"
|
3387 |
|
3576 |
"contacto diferente a la del pedido anterior, aparecerá un mensaje de "
|
3577 |
"advertencia pidiéndole que actualice los datos."
|
3578 |
|
3579 |
+
msgid "Debug logs"
|
3580 |
+
msgstr "Registros de depuración"
|
3581 |
+
|
3582 |
+
msgid ""
|
3583 |
+
"If this setting is enabled then all actions with appointments will be "
|
3584 |
+
"recorded in a log table. We recommend enabling this setting as it will be "
|
3585 |
+
"helpful for our support team in case of unpredictable issues with "
|
3586 |
+
"appointments."
|
3587 |
+
msgstr ""
|
3588 |
+
"Si esta configuración está habilitada, todas las acciones con citas se "
|
3589 |
+
"registrarán en una tabla de registro. Recomendamos habilitar esta "
|
3590 |
+
"configuración, ya que será útil para nuestro equipo de soporte en caso de "
|
3591 |
+
"problemas impredecibles con las citas."
|
3592 |
+
|
3593 |
+
msgid "Action"
|
3594 |
+
msgstr "Acción"
|
3595 |
+
|
3596 |
+
msgid "Target"
|
3597 |
+
msgstr "Objetivo"
|
3598 |
+
|
3599 |
+
msgid "Target ID"
|
3600 |
+
msgstr "ID Objetivo"
|
3601 |
+
|
3602 |
+
msgid "Author"
|
3603 |
+
msgstr "Autor"
|
3604 |
+
|
3605 |
+
msgid "Comment"
|
3606 |
+
msgstr "Comentario"
|
3607 |
+
|
3608 |
+
msgid "Reference"
|
3609 |
+
msgstr "Referencia"
|
3610 |
+
|
3611 |
+
msgid "Clear logs"
|
3612 |
+
msgstr "Borrar registros"
|
3613 |
+
|
3614 |
#, php-format
|
3615 |
msgid ""
|
3616 |
"WooCommerce cart is not set up. Follow the <a href=\"%s\">link</a> to "
|
3619 |
"El carro de WooCommerce no está configurado. Siga el <a href=\"%s\">enlace "
|
3620 |
"</a> para corregirlo."
|
3621 |
|
3622 |
+
msgid "Last month"
|
3623 |
+
msgstr "El mes pasado"
|
3624 |
+
|
3625 |
msgid "SMS Notifications"
|
3626 |
msgstr "Notificaciones de SMS"
|
3627 |
|
3710 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3711 |
msgstr "Sólo puede contener letras o dígitos (hasta 11 caracteres)."
|
3712 |
|
|
|
|
|
|
|
3713 |
msgid "Sender ID request is sent."
|
3714 |
msgstr "Solicitud de ID del remitente se envía."
|
3715 |
|
3794 |
"Enviar notificación por correo electrónico a los administradores a baja "
|
3795 |
"equilibrio"
|
3796 |
|
3797 |
+
msgid "Send weekly summary"
|
3798 |
+
msgstr "Enviar resumen semanal"
|
3799 |
|
3800 |
msgid ""
|
3801 |
"Your country is the location from where you consume Bookly SMS services and "
|
3843 |
msgid "No, update just here in services"
|
3844 |
msgstr "No, sólo actualizar aquí en los servicios"
|
3845 |
|
3846 |
+
msgid "The service will be created with the visibility of Private."
|
3847 |
+
msgstr "El servicio se creará con la visibilidad de Privado."
|
|
|
|
|
|
|
3848 |
|
3849 |
+
msgid "Duplicate"
|
3850 |
+
msgstr "Duplicar"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3851 |
|
3852 |
msgid "You must select at least one repeat option for recurring services."
|
3853 |
msgstr ""
|
3982 |
msgid "Stripe activation was not completed"
|
3983 |
msgstr "La activación de Stripe no se ha completado"
|
3984 |
|
3985 |
+
msgid "All staff"
|
3986 |
+
msgstr "Todos los trabajadores"
|
3987 |
+
|
3988 |
+
msgid "No staff selected"
|
3989 |
+
msgstr "Ningún trabajador seleccionado"
|
3990 |
+
|
3991 |
msgid "Auto-refresh Calendar"
|
3992 |
msgstr "Calendario de actualización automática"
|
3993 |
|
4809 |
"Si dejas este campo en blanco, este miembro del personal no será capaz de "
|
4810 |
"acceder a la agenda personal utilizando el backend de WP."
|
4811 |
|
4812 |
+
#, php-format
|
4813 |
+
msgid "This text can be inserted into notifications with %s code."
|
4814 |
+
msgstr "Este texto se puede insertar en las notificaciones con el código %s."
|
4815 |
+
|
4816 |
msgid "Archive"
|
4817 |
msgstr "Archivar"
|
4818 |
|
4871 |
"¡El periodo seleccionado no coincide con la duración predeterminada para el "
|
4872 |
"servicio seleccionado!"
|
4873 |
|
|
|
|
|
|
|
4874 |
msgid "Selected period doesn't match provider's schedule"
|
4875 |
msgstr "El período seleccionado no coincide con el horario del proveedor"
|
4876 |
|
4877 |
msgid "Selected period doesn't match service schedule"
|
4878 |
msgstr "El período seleccionado no coincide con el horario del servicio"
|
4879 |
|
4880 |
+
msgid "The selected period is occupied by another appointment"
|
4881 |
+
msgstr "El periodo seleccionado está ocupado por otra cita"
|
4882 |
+
|
4883 |
msgid "Booking exceeds the working hours limit for staff member"
|
4884 |
msgstr ""
|
4885 |
"La reserva excede el límite de horas de trabajo para el miembro del personal"
|
5009 |
msgid "Create service"
|
5010 |
msgstr "Crear servicio"
|
5011 |
|
5012 |
+
msgid "Color"
|
5013 |
+
msgstr "Color"
|
5014 |
+
|
5015 |
+
msgid "Providers"
|
5016 |
+
msgstr "Proveedores"
|
5017 |
+
|
5018 |
+
msgid "Start and end times of the appointment"
|
5019 |
+
msgstr "Hora de inicio y finalización de la cita"
|
5020 |
+
|
5021 |
+
msgid ""
|
5022 |
+
"Allows to set the start and end times for an appointment for services with "
|
5023 |
+
"the duration of 1 day or longer. This time will be displayed in "
|
5024 |
+
"notifications to customers, backend calendar and codes for booking form."
|
5025 |
+
msgstr ""
|
5026 |
+
"Permite establecer las horas de inicio y fin para una cita de servicios con "
|
5027 |
+
"la duración de 1 día o más. Esta hora se mostrará en las notificaciones de "
|
5028 |
+
"los clientes, el calendario de backend y los códigos para el formulario de "
|
5029 |
+
"reserva."
|
5030 |
+
|
5031 |
+
msgid "Slot length as service duration"
|
5032 |
+
msgstr "Longitud de la franja como duración del servicio"
|
5033 |
+
|
5034 |
+
msgid ""
|
5035 |
+
"The time interval which is used as a step when building all time slots for "
|
5036 |
+
"the service at the Time step. The setting overrides global settings in "
|
5037 |
+
"Settings > General. Use Default to apply global settings."
|
5038 |
+
msgstr ""
|
5039 |
+
"Intervalo de tiempo que se utiliza como paso al crear todas las franjas "
|
5040 |
+
"horarias para el servicio en el paso Tiempo. La configuración invalida la "
|
5041 |
+
"configuración global en Configuración General. Utiliza Predeterminado para "
|
5042 |
+
"aplicar la configuración global."
|
5043 |
+
|
5044 |
msgid "Edit service"
|
5045 |
msgstr "Editar servicio"
|
5046 |
|
5611 |
msgid "Packages"
|
5612 |
msgstr "Paquetes"
|
5613 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5614 |
msgid "New package"
|
5615 |
msgstr "Nuevo paquete"
|
5616 |
|
5617 |
+
msgid "Unassigned"
|
5618 |
+
msgstr "Sin asignar"
|
5619 |
+
|
5620 |
msgid "Edit package"
|
5621 |
msgstr "Editar paquete"
|
5622 |
|
5710 |
msgid "Delete package appointment"
|
5711 |
msgstr "Eliminar cita del paquete"
|
5712 |
|
5713 |
+
msgid ""
|
5714 |
+
"Enable this setting so that the package can be displayed and available for "
|
5715 |
+
"booking when clients have not specified a particular provider."
|
5716 |
+
msgstr ""
|
5717 |
+
"Activa esta configuración para que el paquete se pueda mostrar y esté "
|
5718 |
+
"disponible para la reserva cuando los clientes no hayan especificado un "
|
5719 |
+
"proveedor en particular."
|
5720 |
+
|
5721 |
+
msgid "Life Time"
|
5722 |
+
msgstr "Toda la vida"
|
5723 |
+
|
5724 |
+
msgid "The period in days when the customer can use a package of services."
|
5725 |
+
msgstr ""
|
5726 |
+
"El período en días en que el cliente puede usar un paquete de servicios."
|
5727 |
+
|
5728 |
msgid "Packages list"
|
5729 |
msgstr "Lista de paquetes"
|
5730 |
|
6057 |
msgid "Print"
|
6058 |
msgstr "Imprimir"
|
6059 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6060 |
msgid "API Username"
|
6061 |
msgstr "Nombre de usuario API"
|
6062 |
|
6502 |
msgid "Online Meetings"
|
6503 |
msgstr "Reuniones En línea"
|
6504 |
|
6505 |
+
msgid "Form view in case of single booking"
|
6506 |
+
msgstr "Vista de formulario en caso de reserva individual"
|
6507 |
+
|
6508 |
+
msgid "Form view in case of multiple booking"
|
6509 |
+
msgstr "Vista de formulario en caso de reserva múltiple"
|
6510 |
|
6511 |
#, php-format
|
6512 |
+
msgid "Form in case of 100% discount"
|
6513 |
+
msgstr "Formulario en caso de descuento del 100%"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6514 |
|
6515 |
+
msgid "Show birthday field"
|
6516 |
+
msgstr "Mostrar campo de fecha de nacimiento"
|
6517 |
|
6518 |
msgid ""
|
6519 |
+
"Address information is needed for Invoices add-on. To disable, deactivate "
|
6520 |
+
"Invoices add-on first."
|
|
|
|
|
6521 |
msgstr ""
|
6522 |
+
"La información de dirección es necesaria para la extensión Facturas. Para "
|
6523 |
+
"deshabilitar, desactive primero la extensión Facturas."
|
|
|
|
|
6524 |
|
6525 |
+
msgid "Show address fields"
|
6526 |
+
msgstr "Mostrar campos de dirección"
|
6527 |
+
|
6528 |
+
msgid "Show Facebook login button"
|
6529 |
+
msgstr "Mostrar el botón de inicio de sesión de Facebook"
|
6530 |
|
6531 |
+
#, php-format
|
6532 |
msgid ""
|
6533 |
+
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6534 |
+
"first."
|
6535 |
msgstr ""
|
6536 |
+
"Configure primero la integración de la Aplicación de Facebook en<a "
|
6537 |
+
"href=\"%s\">configuraciones</a>"
|
6538 |
|
6539 |
+
msgid "Show time zone switcher"
|
6540 |
+
msgstr "Mostrar cambio de zona horaria"
|
6541 |
|
6542 |
+
msgid "Import"
|
6543 |
+
msgstr "Importar"
|
|
|
|
|
|
|
|
|
|
|
6544 |
|
6545 |
+
msgid "Note"
|
6546 |
+
msgstr "Aviso"
|
6547 |
|
6548 |
msgid ""
|
6549 |
+
"You may import list of clients in CSV format. You can choose the columns "
|
6550 |
+
"contained in your file. The sequence of columns should coincide with the "
|
6551 |
+
"specified one."
|
6552 |
msgstr ""
|
6553 |
+
"Puede importar la lista de clientes en formato CSV. Puede elegir las "
|
6554 |
+
"columnas contenidas en su archivo. La secuencia de columnas debe coincidir "
|
6555 |
+
"con la especificada."
|
6556 |
|
6557 |
+
msgid "Select file"
|
6558 |
+
msgstr "Seleccionar fichero"
|
6559 |
|
6560 |
+
msgid "Date of birth"
|
6561 |
+
msgstr "Fecha de nacimiento"
|
6562 |
|
6563 |
+
msgid "Analytics"
|
6564 |
+
msgstr "Analítica"
|
6565 |
|
6566 |
+
msgid ""
|
6567 |
+
"Note: If payment is made for several services, then for each service you "
|
6568 |
+
"will see the entire amount paid as revenue."
|
6569 |
+
msgstr ""
|
6570 |
+
"Nota: Si se realiza el pago de varios servicios, verá la cantidad total "
|
6571 |
+
"pagada como ingreso por cada servicio."
|
6572 |
|
6573 |
+
msgid "online meeting join URL"
|
6574 |
+
msgstr "URL para unirse a la reunión en línea"
|
6575 |
|
6576 |
+
msgid "time zone of staff"
|
6577 |
+
msgstr "zona horaria del personal"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6578 |
|
6579 |
msgid "Titles"
|
6580 |
msgstr "Títulos"
|
6606 |
msgid "Error dissociating purchase code."
|
6607 |
msgstr "Error al disociar el código de compra."
|
6608 |
|
6609 |
+
msgid "Google Calendar integration"
|
6610 |
+
msgstr "Google Calendar integración"
|
6611 |
+
|
6612 |
+
#, php-format
|
6613 |
+
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
6614 |
+
msgstr ""
|
6615 |
+
"Por favor, configure en primer lugar la <a href=\"%s\">configuración</a> de "
|
6616 |
+
"Google Calendar"
|
6617 |
+
|
6618 |
+
msgid "Synchronize staff member appointments with Google Calendar."
|
6619 |
+
msgstr ""
|
6620 |
+
"Sincronizar los datos de las reservas miembro del personal con Google "
|
6621 |
+
"Calendar."
|
6622 |
+
|
6623 |
msgid "Archiving Staff"
|
6624 |
msgstr "Personal Archivado"
|
6625 |
|
6633 |
msgid "Ok, continue editing"
|
6634 |
msgstr "Ok, seguir editando"
|
6635 |
|
6636 |
+
msgid ""
|
6637 |
+
"The staff member's schedule will be considered to be in the selected time "
|
6638 |
+
"zone. This time zone will also be used for the dates and times in "
|
6639 |
+
"notifications sent to the staff member"
|
6640 |
+
msgstr ""
|
6641 |
+
"Se considerará que el horario del miembro del personal está en la zona "
|
6642 |
+
"horaria seleccionada. Esta zona horaria también se utilizará para las fechas "
|
6643 |
+
"y horas en las notificaciones enviadas al miembro del personal"
|
6644 |
+
|
6645 |
+
msgid "Limit working hours per day"
|
6646 |
+
msgstr "Limitar las horas de trabajo por día"
|
6647 |
+
|
6648 |
+
msgid "Unlimited"
|
6649 |
+
msgstr "Ilimitado"
|
6650 |
+
|
6651 |
+
msgid ""
|
6652 |
+
"This setting allows limiting the total time occupied by bookings per day for "
|
6653 |
+
"staff member. Padding time is not included."
|
6654 |
+
msgstr ""
|
6655 |
+
"Esta configuración permite limitar el tiempo total ocupado por las reservas "
|
6656 |
+
"por día para el miembro del personal. El tiempo de relleno no está incluido."
|
6657 |
+
|
6658 |
msgid "Reason"
|
6659 |
msgstr "Razón"
|
6660 |
|
6694 |
msgid "Custom service price"
|
6695 |
msgstr "Precio del servicio personalizado"
|
6696 |
|
6697 |
+
msgid "Create online meetings"
|
6698 |
+
msgstr "Crear reuniones en línea"
|
6699 |
+
|
6700 |
+
#, php-format
|
6701 |
+
msgid ""
|
6702 |
+
"If this setting is enabled then online meetings will be created for new "
|
6703 |
+
"appointments with the selected online meeting provider. Make sure that the "
|
6704 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6705 |
+
"Meetings</a>"
|
6706 |
+
msgstr ""
|
6707 |
+
"Si esta configuración está habilitada, se crearán reuniones en línea para "
|
6708 |
+
"las nuevas citas con el proveedor de reuniones en línea seleccionado. "
|
6709 |
+
"Asegúrese de que el proveedor esté configurado correctamente en "
|
6710 |
+
"Configuración <a href=\"%s\">Reuniones en linea</a>"
|
6711 |
+
|
6712 |
+
msgid "Padding time (before and after)"
|
6713 |
+
msgstr "Margen de tiempo (antes y después)"
|
6714 |
+
|
6715 |
+
msgid ""
|
6716 |
+
"Set padding time before and/or after an appointment. For example, if you "
|
6717 |
+
"require 15 minutes to prepare for the next appointment then you should set "
|
6718 |
+
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
6719 |
+
"then the next available time slot will be 9:15 rather than 9:00."
|
6720 |
+
msgstr ""
|
6721 |
+
"Establezca un margen antes y/o después de una cita. Por ejemplo, si necesita "
|
6722 |
+
"15 minutos para prepararse para la próxima cita, entonces debería establecer "
|
6723 |
+
"\"margen antes\" a 15min. Si hay una cita 8:00 a 9:00 entonces el siguiente "
|
6724 |
+
"intervalo de tiempo disponible será a las 9:15 en lugar de a las 9:00."
|
6725 |
+
|
6726 |
+
msgid "Providers preference for ANY"
|
6727 |
+
msgstr "Preferencia de proveedores para la opción CUALQUIERA"
|
6728 |
+
|
6729 |
+
msgid ""
|
6730 |
+
"Allows you to define the rule of staff members auto assignment when ANY "
|
6731 |
+
"option is selected"
|
6732 |
+
msgstr ""
|
6733 |
+
"Te permite definir la regla de la asignación automática de trabajadores "
|
6734 |
+
"cuando se selecciona la opción CUALQUIERA"
|
6735 |
+
|
6736 |
+
msgid "Period (before and after)"
|
6737 |
+
msgstr "Período (antes y después)"
|
6738 |
+
|
6739 |
+
msgid ""
|
6740 |
+
"Set number of days before and after appointment that will be taken into "
|
6741 |
+
"account when calculating provider's occupancy. 0 means the day of booking."
|
6742 |
+
msgstr ""
|
6743 |
+
"Establezca la cantidad de días antes y después de la cita que se tendrán en "
|
6744 |
+
"cuenta al calcular la ocupación del proveedor. 0 significa el día de la "
|
6745 |
+
"reserva."
|
6746 |
+
|
6747 |
+
msgid "Pick random staff member in case of uncertainty"
|
6748 |
+
msgstr "Elija un miembro del personal al azar en caso de incertidumbre"
|
6749 |
+
|
6750 |
+
msgid ""
|
6751 |
+
"Enable this option to pick a random staff member if both meet the criteria "
|
6752 |
+
"chosen in \"Providers preference for ANY\". Otherwise the selection order is "
|
6753 |
+
"unknown."
|
6754 |
+
msgstr ""
|
6755 |
+
"Habilite esta opción para elegir un miembro del personal al azar si ambos "
|
6756 |
+
"cumplen los criterios elegidos en \"Preferencia de proveedores para "
|
6757 |
+
"CUALQUIERA\". De lo contrario, el orden de selección será desconocido."
|
6758 |
+
|
6759 |
+
msgid "Limit appointments per customer"
|
6760 |
+
msgstr "Limitar citas por cliente"
|
6761 |
+
|
6762 |
+
msgid "upcoming"
|
6763 |
+
msgstr "próximo"
|
6764 |
+
|
6765 |
+
msgid "per 24 hours"
|
6766 |
+
msgstr "por 24 horas"
|
6767 |
+
|
6768 |
+
msgid "per day"
|
6769 |
+
msgstr "por día"
|
6770 |
+
|
6771 |
+
msgid "per 7 days"
|
6772 |
+
msgstr "por 7 días"
|
6773 |
+
|
6774 |
+
msgid "per week"
|
6775 |
+
msgstr "por semana"
|
6776 |
+
|
6777 |
+
msgid "per 30 days"
|
6778 |
+
msgstr "por 30 dias"
|
6779 |
+
|
6780 |
+
msgid "per month"
|
6781 |
+
msgstr "por mes"
|
6782 |
+
|
6783 |
+
msgid "per 365 days"
|
6784 |
+
msgstr "por 365 dias"
|
6785 |
+
|
6786 |
+
msgid "per year"
|
6787 |
+
msgstr "por año"
|
6788 |
+
|
6789 |
+
msgid ""
|
6790 |
+
"This setting allows you to limit the number of appointments that can be "
|
6791 |
+
"booked by a customer in any given period. Restriction may end after a fixed "
|
6792 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
6793 |
+
"month, etc."
|
6794 |
+
msgstr ""
|
6795 |
+
"Esta configuración te permite limitar el número de citas que un cliente "
|
6796 |
+
"puede reservar en un período determinado. La restricción puede finalizar "
|
6797 |
+
"después de un período fijo o con el comienzo del nuevo día, semana, mes, etc."
|
6798 |
+
" del siguiente período de calendario."
|
6799 |
+
|
6800 |
+
msgid "Limit"
|
6801 |
+
msgstr "Límite"
|
6802 |
+
|
6803 |
+
msgid ""
|
6804 |
+
"To make service invisible to your customers set the visibility to "
|
6805 |
+
"\"Private\"."
|
6806 |
+
msgstr ""
|
6807 |
+
"Para hacer invisible el servicio a sus clientes establece la visibilidad "
|
6808 |
+
"como \"Privado\"."
|
6809 |
+
|
6810 |
+
msgid "Specified order"
|
6811 |
+
msgstr "Orden especificado"
|
6812 |
+
|
6813 |
+
msgid "Least occupied that day"
|
6814 |
+
msgstr "Menos ocupado ese día"
|
6815 |
+
|
6816 |
+
msgid "Most occupied that day"
|
6817 |
+
msgstr "Más ocupado ese día"
|
6818 |
+
|
6819 |
+
msgid "Least occupied for period"
|
6820 |
+
msgstr "Menos ocupado por periodo"
|
6821 |
+
|
6822 |
+
msgid "Most occupied for period"
|
6823 |
+
msgstr "Más ocupados por periodo"
|
6824 |
+
|
6825 |
+
msgid "Least expensive"
|
6826 |
+
msgstr "Más barato"
|
6827 |
+
|
6828 |
+
msgid "Most expensive"
|
6829 |
+
msgstr "Más caro"
|
6830 |
+
|
6831 |
msgid "Welcome to Bookly Pro and thank you for purchasing our product!"
|
6832 |
msgstr "¡Bienvenido a Bookly Pro y gracias por comprar nuestro producto!"
|
6833 |
|
7159 |
msgid "Tasks"
|
7160 |
msgstr "Tareas"
|
7161 |
|
7162 |
+
msgid "Skip time selection"
|
7163 |
+
msgstr "Omitir selección de tiempo"
|
7164 |
+
|
7165 |
msgid "Time step settings"
|
7166 |
msgstr "Ajustes paso Tiempo"
|
7167 |
|
7177 |
"ocultarla y crear un trabajo sin el plazo señalado, o mostrar el paso de "
|
7178 |
"tiempo, pero permitir que un cliente lo omita."
|
7179 |
|
|
|
|
|
|
|
7180 |
msgid "Incorrect payment data"
|
7181 |
msgstr "Datos de pago incorrectos"
|
7182 |
|
7379 |
msgid "No customer groups yet."
|
7380 |
msgstr "No hay grupos de clientes todavía."
|
7381 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7382 |
msgid "Customer Group"
|
7383 |
msgstr "Grupo de Clientes"
|
7384 |
|
7403 |
msgid "Group name is required"
|
7404 |
msgstr "El nombre del grupo es obligatorio"
|
7405 |
|
7406 |
+
msgid "Groups"
|
7407 |
+
msgstr "Grupos"
|
7408 |
+
|
7409 |
+
msgid "All groups"
|
7410 |
+
msgstr "Todos los Grupos"
|
7411 |
+
|
7412 |
+
msgid "No group selected"
|
7413 |
+
msgstr "No hay ningún grupo seleccionado"
|
7414 |
+
|
7415 |
+
msgid "Customer group based"
|
7416 |
+
msgstr "basado en grupo de Clientes"
|
7417 |
+
|
7418 |
msgid "Notification to customer about placing on waiting list"
|
7419 |
msgstr "Notificación al cliente sobre la colocación en la lista de espera"
|
7420 |
|
7663 |
msgid "extras total price"
|
7664 |
msgstr "precio total de extras"
|
7665 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7666 |
msgid "Show title"
|
7667 |
msgstr "Mostrar título"
|
7668 |
|
7684 |
msgid "Show extras"
|
7685 |
msgstr "Mostrar extras"
|
7686 |
|
7687 |
+
msgid "Max quantity"
|
7688 |
+
msgstr "Cantidad máxima"
|
7689 |
+
|
7690 |
+
msgid "New Item"
|
7691 |
+
msgstr "Nuevo artículo"
|
7692 |
+
|
7693 |
msgid "Extras tax"
|
7694 |
msgstr "Impuesto adicional"
|
7695 |
|
7761 |
"su cuenta de PayPal. Las direcciones de correo electrónico deben ser "
|
7762 |
"confirmadas."
|
7763 |
|
7764 |
+
msgid "Disable special hours update"
|
7765 |
+
msgstr "Deshabilitar la actualización de horas especiales"
|
7766 |
+
|
7767 |
msgid "Special prices for appointments which begin between:"
|
7768 |
msgstr "Precios especiales para citas que comienzan entre:"
|
7769 |
|
7770 |
msgid "add special period"
|
7771 |
msgstr "agregar período especial"
|
7772 |
|
|
|
|
|
|
|
7773 |
msgid "Please select a location"
|
7774 |
msgstr "Por favor selecciona una ubicación"
|
7775 |
|
7779 |
msgid "Locations"
|
7780 |
msgstr "Ubicaciones"
|
7781 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7782 |
msgid "Custom settings for location"
|
7783 |
msgstr "Configuraciones personalizadas para la ubicación"
|
7784 |
|
7819 |
msgid "Default value for location select"
|
7820 |
msgstr "Valor predeterminado para la selección de ubicación"
|
7821 |
|
7822 |
+
msgid "Default settings"
|
7823 |
+
msgstr "Configuración predeterminada"
|
7824 |
+
|
7825 |
+
msgid ""
|
7826 |
+
"Set Default values that will be used in all locations where Use default "
|
7827 |
+
"settings is selected. To use custom settings in a location, select Use "
|
7828 |
+
"custom settings and enter custom values."
|
7829 |
+
msgstr ""
|
7830 |
+
"Establece los valores predeterminados que se utilizarán en todas las "
|
7831 |
+
"ubicaciones donde se seleccione Usar una configuración predeterminada. Para "
|
7832 |
+
"usar configuraciones personalizadas en una ubicación, selecciona Usar "
|
7833 |
+
"configuraciones personalizadas e introduce valores personalizados."
|
7834 |
+
|
7835 |
+
msgid "Use default settings"
|
7836 |
+
msgstr "Utilizar la configuración predeterminada"
|
7837 |
+
|
7838 |
+
msgid "Use custom settings"
|
7839 |
+
msgstr "Usar configuraciones personalizadas"
|
7840 |
+
|
7841 |
+
msgid "Select locations where the services are provided."
|
7842 |
+
msgstr "Selecciona las ubicaciones donde se ofrecen los servicios."
|
7843 |
+
|
7844 |
msgid "Account ID"
|
7845 |
msgstr "ID de la cuenta"
|
7846 |
|
7899 |
msgid "URL of the page for staff rating"
|
7900 |
msgstr "URL de la página para la calificación del personal"
|
7901 |
|
|
|
|
|
|
|
7902 |
msgid "Add staff rating form"
|
7903 |
msgstr "Añadir formulario de calificación del personal"
|
7904 |
|
languages/bookly-fr_FR.mo
CHANGED
Binary file
|
languages/bookly-fr_FR.po
CHANGED
@@ -8,8 +8,8 @@ msgstr ""
|
|
8 |
"Language: fr_FR\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2020-
|
12 |
-
"PO-Revision-Date: 2020-
|
13 |
"Last-Translator: Mathilde Massardier <mathilde.mass@icloud.com>\n"
|
14 |
"Language-Team: French (France)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
@@ -187,44 +187,6 @@ msgstr "E-mail"
|
|
187 |
msgid "Phone"
|
188 |
msgstr "Téléphone"
|
189 |
|
190 |
-
msgid "Outlook Calendar integration"
|
191 |
-
msgstr "Intégration Outlook Calendar"
|
192 |
-
|
193 |
-
msgid "Connect"
|
194 |
-
msgstr "Connecter"
|
195 |
-
|
196 |
-
#, php-format
|
197 |
-
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
198 |
-
msgstr "Configurez d'abord Outlook Calendar <a href=\"%s\">settings</a>"
|
199 |
-
|
200 |
-
msgid "Connected"
|
201 |
-
msgstr "Connecté"
|
202 |
-
|
203 |
-
msgid "disconnect"
|
204 |
-
msgstr "déconnecté"
|
205 |
-
|
206 |
-
msgid "Synchronize staff member appointments with Outlook Calendar."
|
207 |
-
msgstr ""
|
208 |
-
"Synchroniser les rendez-vous des membres de l'équipe avec Outlook Calendar"
|
209 |
-
|
210 |
-
msgid "Calendar"
|
211 |
-
msgstr "Agenda"
|
212 |
-
|
213 |
-
msgid "-- Select calendar --"
|
214 |
-
msgstr "--Sélectionner calendrier--"
|
215 |
-
|
216 |
-
msgid ""
|
217 |
-
"When you connect a calendar all future and past events will be synchronized "
|
218 |
-
"according to the selected synchronization mode. This may take a few minutes. "
|
219 |
-
"Please wait."
|
220 |
-
msgstr ""
|
221 |
-
"Lorsque vous connectez un calendrier, tous les événements futurs et passés "
|
222 |
-
"selon synchronisés selon le mode de synchronisation choisi. Cela peut "
|
223 |
-
"prendre quelques minutes. Veuillez patienter."
|
224 |
-
|
225 |
-
msgid "Can't change calendar for archived staff"
|
226 |
-
msgstr "Impossible de changer le calendrier du staff archivé"
|
227 |
-
|
228 |
msgid "Instructions"
|
229 |
msgstr "Instructions"
|
230 |
|
@@ -546,6 +508,44 @@ msgstr "Synchronisez avec Outlook Calendar"
|
|
546 |
msgid "Calendars synchronized successfully."
|
547 |
msgstr "Calendriers synchronisés avec succès"
|
548 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
549 |
msgid "Custom Fields"
|
550 |
msgstr "Champs personnalisés"
|
551 |
|
@@ -631,7 +631,7 @@ msgid "Option"
|
|
631 |
msgstr "Option"
|
632 |
|
633 |
msgid "Remove item"
|
634 |
-
msgstr "Supprimer
|
635 |
|
636 |
msgid "All services"
|
637 |
msgstr "Tous les services"
|
@@ -696,7 +696,7 @@ msgid "Notification to staff member about approved recurring appointment"
|
|
696 |
msgstr "Notification au membre de l'équipe d'un rendez-vous récurrent accepté."
|
697 |
|
698 |
msgid "New booking information"
|
699 |
-
msgstr "
|
700 |
|
701 |
msgid ""
|
702 |
"Hello.\n"
|
@@ -1157,7 +1157,7 @@ msgid "There are no available time slots for this day"
|
|
1157 |
msgstr "Ils n'y a plus de créneaux horaires disponibles ce jour."
|
1158 |
|
1159 |
msgid "On"
|
1160 |
-
msgstr "
|
1161 |
|
1162 |
msgid "Please select some days"
|
1163 |
msgstr "Veuillez choisir des journées"
|
@@ -1273,21 +1273,6 @@ msgstr ""
|
|
1273 |
"Définissez l'URL d'une page visible par l'équipe lorsque l'approbation d'un "
|
1274 |
"rendez-vous récurrent n'a pas pu être effectuée (changement de statut, etc)."
|
1275 |
|
1276 |
-
msgid "Enabled"
|
1277 |
-
msgstr "Activé"
|
1278 |
-
|
1279 |
-
msgid "Allow this service to have recurring appointments."
|
1280 |
-
msgstr "Permettre à ce service des rendez-vous récurrents"
|
1281 |
-
|
1282 |
-
msgid "Frequencies"
|
1283 |
-
msgstr "Fréquences"
|
1284 |
-
|
1285 |
-
msgid "All"
|
1286 |
-
msgstr "Tout"
|
1287 |
-
|
1288 |
-
msgid "Nothing selected"
|
1289 |
-
msgstr "Vous n'avez rien sélectionné"
|
1290 |
-
|
1291 |
msgid "Edit"
|
1292 |
msgstr "Modifier"
|
1293 |
|
@@ -1318,6 +1303,28 @@ msgstr "rendez-vous récurrents"
|
|
1318 |
msgid "Every"
|
1319 |
msgstr "Tous les"
|
1320 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1321 |
msgid "Back"
|
1322 |
msgstr "Retour"
|
1323 |
|
@@ -1354,6 +1361,21 @@ msgstr "Rendez-vous réccurents"
|
|
1354 |
msgid "Close"
|
1355 |
msgstr "Fermer"
|
1356 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1357 |
msgid "Save"
|
1358 |
msgstr "Enregistrer"
|
1359 |
|
@@ -1378,6 +1400,12 @@ msgstr "Merchant Salt"
|
|
1378 |
msgid "Duration"
|
1379 |
msgstr "Durée"
|
1380 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1381 |
msgid ""
|
1382 |
"Set service duration. If you select Custom, a client, while booking, will "
|
1383 |
"have to choose the duration of the service from several time units. In the "
|
@@ -1404,11 +1432,17 @@ msgstr "Prix de l'unité"
|
|
1404 |
msgid "Custom"
|
1405 |
msgstr "Personnalisé"
|
1406 |
|
1407 |
-
msgid "
|
1408 |
-
msgstr "
|
1409 |
|
1410 |
-
msgid "
|
1411 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
1412 |
|
1413 |
msgid "Delete break"
|
1414 |
msgstr "Supprimer pause"
|
@@ -1428,27 +1462,24 @@ msgstr "ajouter pause"
|
|
1428 |
msgid "Special Days"
|
1429 |
msgstr "Journées spéciales"
|
1430 |
|
1431 |
-
msgid "Are you sure?"
|
1432 |
-
msgstr "Êtes-vous sûr ?"
|
1433 |
-
|
1434 |
-
msgid "Duplicate dates are not permitted."
|
1435 |
-
msgstr "Les dates dupliquées ne sont pas permises"
|
1436 |
-
|
1437 |
-
msgid "Date in the past."
|
1438 |
-
msgstr "Date dans le passé."
|
1439 |
-
|
1440 |
msgid "The requested interval is not available"
|
1441 |
msgstr "L'intervalle demandé n'est pas disponible"
|
1442 |
|
1443 |
msgid "OFF"
|
1444 |
msgstr "OFF"
|
1445 |
|
1446 |
-
msgid "Add Staff Special Days"
|
1447 |
-
msgstr "Ajouter Jours Spéciaux de l'équipe"
|
1448 |
-
|
1449 |
msgid "Uncategorized"
|
1450 |
msgstr "Pas de catégorie"
|
1451 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1452 |
msgid "Spare time"
|
1453 |
msgstr "Temps libre"
|
1454 |
|
@@ -1471,15 +1502,6 @@ msgstr ""
|
|
1471 |
"personnel sera utiliser pour rechercher les créneaux disponibles pour tous "
|
1472 |
"les sous-services."
|
1473 |
|
1474 |
-
msgid "Compound"
|
1475 |
-
msgstr "Combinaison"
|
1476 |
-
|
1477 |
-
msgid "Part of compound service"
|
1478 |
-
msgstr "Élément d'un Service composé"
|
1479 |
-
|
1480 |
-
msgid "Compound service"
|
1481 |
-
msgstr "Service composé"
|
1482 |
-
|
1483 |
msgid "Short Codes"
|
1484 |
msgstr "Codes Courts"
|
1485 |
|
@@ -1583,9 +1605,6 @@ msgstr "Rendez-vous affichés"
|
|
1583 |
msgid "Upcoming appointments"
|
1584 |
msgstr "Rendez-vous à venir"
|
1585 |
|
1586 |
-
msgid "All appointments"
|
1587 |
-
msgstr "Tous les rendez-vous"
|
1588 |
-
|
1589 |
msgid "Delimiter"
|
1590 |
msgstr "Séparateur"
|
1591 |
|
@@ -1636,7 +1655,7 @@ msgid "On waiting list"
|
|
1636 |
msgstr "Sur liste d'attente"
|
1637 |
|
1638 |
msgid "Package"
|
1639 |
-
msgstr "
|
1640 |
|
1641 |
#, php-format
|
1642 |
msgid "%s of %s"
|
@@ -1732,9 +1751,6 @@ msgstr "Aucune taxe trouvée"
|
|
1732 |
msgid "Processing..."
|
1733 |
msgstr "En cours..."
|
1734 |
|
1735 |
-
msgid "Taxation"
|
1736 |
-
msgstr "Taxation"
|
1737 |
-
|
1738 |
msgid "service tax amount"
|
1739 |
msgstr "montant taxe du service"
|
1740 |
|
@@ -1761,6 +1777,9 @@ msgstr ""
|
|
1761 |
"Si vous devez déclarer le montant exact de la taxe au système de paiement, "
|
1762 |
"n'utilisez pas de frais supplémentaires."
|
1763 |
|
|
|
|
|
|
|
1764 |
msgid "Customer Information"
|
1765 |
msgstr "Informations Client"
|
1766 |
|
@@ -1827,9 +1846,6 @@ msgstr "Personnes"
|
|
1827 |
msgid "Number of persons"
|
1828 |
msgstr "Nombre de personnes"
|
1829 |
|
1830 |
-
msgid "Capacity (min and max)"
|
1831 |
-
msgstr "Capacité (Min. et Max.)"
|
1832 |
-
|
1833 |
msgid "Group bookings information format"
|
1834 |
msgstr "Format informations réservations groupées"
|
1835 |
|
@@ -1857,6 +1873,15 @@ msgstr "nombre de personne déjà dans la liste"
|
|
1857 |
msgid "capacity of service"
|
1858 |
msgstr "capacité du service"
|
1859 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1860 |
msgid ""
|
1861 |
"The minimum and maximum number of customers allowed to book the service for "
|
1862 |
"the certain time period."
|
@@ -1874,12 +1899,6 @@ msgstr ""
|
|
1874 |
"Activez cette option si vous voulez limiter la possibilité de réservation à "
|
1875 |
"la limite de capacité du service."
|
1876 |
|
1877 |
-
msgid "Show information about group bookings"
|
1878 |
-
msgstr "Afficher informations des réservations groupées"
|
1879 |
-
|
1880 |
-
msgid "Disable capacity update"
|
1881 |
-
msgstr "Désactiver modification de la capacité"
|
1882 |
-
|
1883 |
msgid "Address"
|
1884 |
msgstr "Adresse"
|
1885 |
|
@@ -1934,12 +1953,19 @@ msgstr "Affichage de l'adresse requis"
|
|
1934 |
msgid "Show google maps field"
|
1935 |
msgstr "Afficher champ google maps"
|
1936 |
|
1937 |
-
msgid "
|
1938 |
-
msgstr "
|
1939 |
|
1940 |
-
msgid "
|
|
|
|
|
1941 |
msgstr ""
|
1942 |
-
"
|
|
|
|
|
|
|
|
|
|
|
1943 |
|
1944 |
msgid "Collaborative"
|
1945 |
msgstr "Collaboratif"
|
@@ -1950,6 +1976,13 @@ msgstr "Service collaboratif"
|
|
1950 |
msgid "Part of collaborative service"
|
1951 |
msgstr "Partie d'un service collaboratif"
|
1952 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1953 |
msgid "Customer cabinet (all services displayed in tabs)"
|
1954 |
msgstr "Dossier Clients (tous les services affichés en tabs)"
|
1955 |
|
@@ -2156,7 +2189,7 @@ msgid "Error sending email."
|
|
2156 |
msgstr "Erreur d'envoi e-mail."
|
2157 |
|
2158 |
msgid "Subscription not available."
|
2159 |
-
msgstr "
|
2160 |
|
2161 |
msgid "User not found."
|
2162 |
msgstr "Utilisateur non trouvé."
|
@@ -3097,44 +3130,6 @@ msgstr ""
|
|
3097 |
"jour si nous devons mettre à jour vos données ou sur Annuler pour modifier "
|
3098 |
"les informations saisies."
|
3099 |
|
3100 |
-
msgid "sent to our system"
|
3101 |
-
msgstr "envoyé à notre système"
|
3102 |
-
|
3103 |
-
msgid ""
|
3104 |
-
"Hope you had a good weekend! Here's a summary of messages we've delivered "
|
3105 |
-
"last week:\n"
|
3106 |
-
"{notification_list}\n"
|
3107 |
-
"\n"
|
3108 |
-
"Your system sent a total of {total} messages last week (that's {delta} {sign}"
|
3109 |
-
" than the week before).\n"
|
3110 |
-
"Cost of sending {total} messages was {amount}. Your current Bookly SMS "
|
3111 |
-
"balance is {balance}.\n"
|
3112 |
-
"\n"
|
3113 |
-
"Thank you for using Bookly SMS. We wish you a lucky week!\n"
|
3114 |
-
"Bookly SMS Team"
|
3115 |
-
msgstr ""
|
3116 |
-
"Nous espérons que vous avez passé un bon week-end! Voici un récapitulatif "
|
3117 |
-
"des messages envoyés la semaine dernière:\n"
|
3118 |
-
"{notification_list}\n"
|
3119 |
-
"\n"
|
3120 |
-
"Votre système a envoyé un total de {total} messages la semaine dernière "
|
3121 |
-
"({sign} {delta} que la semaine précédente).\n"
|
3122 |
-
"Le cout d'envoi de {total} messages est {amount}. Votre solde courant Bookly "
|
3123 |
-
"SMS est {balance}.\n"
|
3124 |
-
"\n"
|
3125 |
-
"Nous vous remercions d'utiliser Bookly SMS. Et nous vous souhaitons une "
|
3126 |
-
"excellente semaine!\n"
|
3127 |
-
"L'équipe Bookly SMS"
|
3128 |
-
|
3129 |
-
msgid "more"
|
3130 |
-
msgstr "plus"
|
3131 |
-
|
3132 |
-
msgid "less"
|
3133 |
-
msgstr "moins"
|
3134 |
-
|
3135 |
-
msgid "Bookly SMS weekly summary"
|
3136 |
-
msgstr "Rapport hebdomadaire SMS Bookly"
|
3137 |
-
|
3138 |
msgid "Internal Notes"
|
3139 |
msgstr "Notes internes"
|
3140 |
|
@@ -3293,7 +3288,7 @@ msgstr ""
|
|
3293 |
"et jours de congé."
|
3294 |
|
3295 |
msgid "Method to include Bookly JavaScript and CSS files on the page"
|
3296 |
-
msgstr "Méthode pour inclure
|
3297 |
|
3298 |
msgid ""
|
3299 |
"With \"Enqueue\" method the JavaScript and CSS files of Bookly will be "
|
@@ -3320,23 +3315,29 @@ msgstr ""
|
|
3320 |
"widget de réservation pour propager l'information dans le plugin. Cela "
|
3321 |
"permet à l'équipe d'améliorer le produit et ses fonctionnalités."
|
3322 |
|
3323 |
-
msgid "
|
3324 |
-
msgstr "
|
3325 |
|
3326 |
msgid ""
|
3327 |
-
"Select \"
|
3328 |
"caching plugins by adding a DONOTCACHEPAGE constant on pages with booking "
|
3329 |
-
"form
|
3330 |
msgstr ""
|
3331 |
-
"Sélectionnez \"
|
3332 |
-
"des
|
3333 |
-
"DONOTCACHEPAGE sur les pages
|
3334 |
|
3335 |
-
msgid "
|
3336 |
-
msgstr "
|
3337 |
|
3338 |
-
msgid "
|
3339 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3340 |
|
3341 |
msgid "Service paid locally"
|
3342 |
msgstr "Service payé localement"
|
@@ -3356,6 +3357,9 @@ msgstr "Heures d'ouverture"
|
|
3356 |
msgid "Holidays"
|
3357 |
msgstr "Vacances"
|
3358 |
|
|
|
|
|
|
|
3359 |
msgid "Approve appointment URL (success)"
|
3360 |
msgstr "URL Validation Rendez-vous (Réussite)"
|
3361 |
|
@@ -3553,6 +3557,41 @@ msgstr ""
|
|
3553 |
"d'avertissement apparaitra pour lui demande s'il souhaite mettre à jour ses "
|
3554 |
"données."
|
3555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3556 |
#, php-format
|
3557 |
msgid ""
|
3558 |
"WooCommerce cart is not set up. Follow the <a href=\"%s\">link</a> to "
|
@@ -3561,6 +3600,9 @@ msgstr ""
|
|
3561 |
"Le panier WooCommerce n'est pas configuré. Suivez ce <a href=\"%s\">lien</a> "
|
3562 |
"pour corriger ce problème."
|
3563 |
|
|
|
|
|
|
|
3564 |
msgid "SMS Notifications"
|
3565 |
msgstr "Notifications SMS"
|
3566 |
|
@@ -3648,9 +3690,6 @@ msgstr "Annuler requête"
|
|
3648 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3649 |
msgstr "Ne peut contenir que des lettres ou chiffres (jusqu'à 11 caract.)"
|
3650 |
|
3651 |
-
msgid "Last month"
|
3652 |
-
msgstr "Mois dernier"
|
3653 |
-
|
3654 |
msgid "Sender ID request is sent."
|
3655 |
msgstr "La requête ID Émetteur est envoyée."
|
3656 |
|
@@ -3734,8 +3773,8 @@ msgstr ""
|
|
3734 |
"Envoyer un e-mail de notification aux administrateur quand le crédit est "
|
3735 |
"faible"
|
3736 |
|
3737 |
-
msgid "Send weekly summary
|
3738 |
-
msgstr "Envoyer
|
3739 |
|
3740 |
msgid ""
|
3741 |
"Your country is the location from where you consume Bookly SMS services and "
|
@@ -3784,58 +3823,16 @@ msgstr "Mémoriser mon choix"
|
|
3784 |
msgid "No, update just here in services"
|
3785 |
msgstr "Non, mettre à jour dans le service uniquement"
|
3786 |
|
3787 |
-
msgid "
|
3788 |
-
msgstr "
|
3789 |
-
|
3790 |
-
msgid "Providers"
|
3791 |
-
msgstr "Prestataires"
|
3792 |
|
3793 |
-
msgid "
|
3794 |
-
msgstr "
|
3795 |
|
3796 |
-
msgid "
|
3797 |
-
msgstr "
|
3798 |
-
|
3799 |
-
|
3800 |
-
msgid "This text can be inserted into notifications with %s code."
|
3801 |
-
msgstr "Ce texte est inséré dans les notifications avec le code %s."
|
3802 |
-
|
3803 |
-
msgid "Start and end times of the appointment"
|
3804 |
-
msgstr "Heures de début et de fin du rendez-vous"
|
3805 |
-
|
3806 |
-
msgid ""
|
3807 |
-
"Allows to set the start and end times for an appointment for services with "
|
3808 |
-
"the duration of 1 day or longer. This time will be displayed in "
|
3809 |
-
"notifications to customers, backend calendar and codes for booking form."
|
3810 |
-
msgstr ""
|
3811 |
-
"Permet de définir les heures de début et de fin d'un rendez-vous pour les "
|
3812 |
-
"services d'une durée de 1 jour ou plus. Ce temps sera affiché dans les "
|
3813 |
-
"notifications aux clients, dans le calendrier du back-end et les codes pour "
|
3814 |
-
"le formulaire de réservation. "
|
3815 |
-
|
3816 |
-
msgid "Slot length as service duration"
|
3817 |
-
msgstr "Durée du créneau comme durée du service"
|
3818 |
-
|
3819 |
-
msgid ""
|
3820 |
-
"The time interval which is used as a step when building all time slots for "
|
3821 |
-
"the service at the Time step. The setting overrides global settings in "
|
3822 |
-
"Settings > General. Use Default to apply global settings."
|
3823 |
-
msgstr ""
|
3824 |
-
"L'intervalle de temps utilisé comme une étape lors de la définition des "
|
3825 |
-
"crénaux du service dans l'étape Time. Ce paramètre a priorité sur les "
|
3826 |
-
"paramétrages globaux dans Paramètres généraux. Utilisez Défaut pour "
|
3827 |
-
"appliquer les paramètres globaux."
|
3828 |
-
|
3829 |
-
msgid "The service will be created with the visibility of Private."
|
3830 |
-
msgstr "Le service sera créé avec la visibilité de Privé."
|
3831 |
-
|
3832 |
-
msgid "Duplicate"
|
3833 |
-
msgstr "Dupliquer"
|
3834 |
-
|
3835 |
-
msgid "You must select at least one repeat option for recurring services."
|
3836 |
-
msgstr ""
|
3837 |
-
"Vous devez sélectionner au moins une option de répétition pour les services "
|
3838 |
-
"récurrents."
|
3839 |
|
3840 |
msgid "Simple"
|
3841 |
msgstr "Simple"
|
@@ -3934,7 +3931,7 @@ msgid "Bookly %s required"
|
|
3934 |
msgstr "Bookly %s nécessaire"
|
3935 |
|
3936 |
msgid "Cancel subscription"
|
3937 |
-
msgstr "Annuler l'
|
3938 |
|
3939 |
msgid "When do you want to cancel?"
|
3940 |
msgstr "Quand souhaitez-vous annuler ?"
|
@@ -3949,7 +3946,7 @@ msgid "Congrats!"
|
|
3949 |
msgstr "Félicitation !"
|
3950 |
|
3951 |
msgid "Oops!"
|
3952 |
-
msgstr "
|
3953 |
|
3954 |
msgid "best offer"
|
3955 |
msgstr "meilleure offre"
|
@@ -3966,6 +3963,12 @@ msgstr "Date de désactivation"
|
|
3966 |
msgid "Stripe activation was not completed"
|
3967 |
msgstr "L'activation de Stripe n'est pas terminée"
|
3968 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3969 |
msgid "Auto-refresh Calendar"
|
3970 |
msgstr "Rafraîchissement automatique du calendrier "
|
3971 |
|
@@ -4788,6 +4791,10 @@ msgstr ""
|
|
4788 |
"Si vous laissez ce champ vide, ce membre d'équipe ne pourra pas accéder à "
|
4789 |
"son planning personnel avec la console WP."
|
4790 |
|
|
|
|
|
|
|
|
|
4791 |
msgid "Archive"
|
4792 |
msgstr "Archiver"
|
4793 |
|
@@ -4843,15 +4850,15 @@ msgstr "Période"
|
|
4843 |
msgid "Selected period doesn't match service duration"
|
4844 |
msgstr "Aucun créneau disponible pour la période choisie"
|
4845 |
|
4846 |
-
msgid "The selected period is occupied by another appointment"
|
4847 |
-
msgstr "La période choisie est occupée par un autre rendez-vous"
|
4848 |
-
|
4849 |
msgid "Selected period doesn't match provider's schedule"
|
4850 |
msgstr "La période sélectionnée ne correspond pas au planning du prestataire"
|
4851 |
|
4852 |
msgid "Selected period doesn't match service schedule"
|
4853 |
msgstr "La période sélectionnée ne correspond pas au planning du service"
|
4854 |
|
|
|
|
|
|
|
4855 |
msgid "Booking exceeds the working hours limit for staff member"
|
4856 |
msgstr ""
|
4857 |
"La réservation excède la limite des heures travaillées par le membre de "
|
@@ -4870,7 +4877,7 @@ msgid "Edit booking details"
|
|
4870 |
msgstr "Modifier détails Réservation"
|
4871 |
|
4872 |
msgid "Package schedule"
|
4873 |
-
msgstr "Programmation de
|
4874 |
|
4875 |
msgid "View series"
|
4876 |
msgstr "Voir séries"
|
@@ -4984,6 +4991,38 @@ msgstr "Ne pas sauvegarder"
|
|
4984 |
msgid "Create service"
|
4985 |
msgstr "Créer un service"
|
4986 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4987 |
msgid "Edit service"
|
4988 |
msgstr "Modifier service"
|
4989 |
|
@@ -5018,7 +5057,7 @@ msgid "total quantity of appointments in cart"
|
|
5018 |
msgstr "quantité totale de réservations dans le panier"
|
5019 |
|
5020 |
msgid "login form"
|
5021 |
-
msgstr "formulaire de
|
5022 |
|
5023 |
msgid "total price of booking"
|
5024 |
msgstr "prix total de la réservation"
|
@@ -5033,7 +5072,7 @@ msgid "Just to help us spread the word and boost our motivation."
|
|
5033 |
msgstr "Juste pour passer le mot et et stimuler votre motivation"
|
5034 |
|
5035 |
msgid "Ok, you deserve it"
|
5036 |
-
msgstr "Ok, vous
|
5037 |
|
5038 |
msgid "Nope, maybe later"
|
5039 |
msgstr "Non, peut-être plus tard"
|
@@ -5131,8 +5170,8 @@ msgstr ""
|
|
5131 |
|
5132 |
msgid "Subscribe to monthly emails about Bookly improvements and new releases."
|
5133 |
msgstr ""
|
5134 |
-
"
|
5135 |
-
"
|
5136 |
|
5137 |
msgid ""
|
5138 |
"Allow the plugin to set a Powered by Bookly notice on the booking widget to "
|
@@ -5154,7 +5193,7 @@ msgid "Please enter your email (optional)"
|
|
5154 |
msgstr "Entrez votre e-mail (optionnel)"
|
5155 |
|
5156 |
msgid "Please, check your email to confirm the subscription. Thank you!"
|
5157 |
-
msgstr "Veuillez vérifier vos e-mails pour confirmer
|
5158 |
|
5159 |
msgid "Given email address is already subscribed, thank you!"
|
5160 |
msgstr "L'adresse e-mail fournie est déjà enregistrée. Merci."
|
@@ -5264,8 +5303,8 @@ msgstr "Où, dans votre workflow, rencontrez-vous ce problème ?"
|
|
5264 |
msgid ""
|
5265 |
"Is this something that impacts just you, your whole team, or your customers?"
|
5266 |
msgstr ""
|
5267 |
-
"
|
5268 |
-
"clients?"
|
5269 |
|
5270 |
msgid "Proceed to Feature requests"
|
5271 |
msgstr "Valider la Demande de Fonctionnalités"
|
@@ -5363,10 +5402,10 @@ msgid "Error."
|
|
5363 |
msgstr "Erreur"
|
5364 |
|
5365 |
msgid "Notification to customer about purchased package"
|
5366 |
-
msgstr "Notification au client du
|
5367 |
|
5368 |
msgid "Your package at {company_name}"
|
5369 |
-
msgstr "Votre
|
5370 |
|
5371 |
msgid ""
|
5372 |
"Dear {client_name}.\n"
|
@@ -5392,10 +5431,10 @@ msgstr ""
|
|
5392 |
"{company_website}"
|
5393 |
|
5394 |
msgid "Notification to staff member about purchased package"
|
5395 |
-
msgstr "Notification au membre de l'équipe du
|
5396 |
|
5397 |
msgid "New package booking"
|
5398 |
-
msgstr "Nouvelle réservation de
|
5399 |
|
5400 |
msgid ""
|
5401 |
"Hello.\n"
|
@@ -5412,7 +5451,7 @@ msgid ""
|
|
5412 |
msgstr ""
|
5413 |
"Bonjour,\n"
|
5414 |
"\n"
|
5415 |
-
"Vous avez une nouvelle réservation de
|
5416 |
"\n"
|
5417 |
"Package: {package_name}\n"
|
5418 |
"\n"
|
@@ -5448,17 +5487,17 @@ msgid ""
|
|
5448 |
"Client email: {client_email}"
|
5449 |
msgstr ""
|
5450 |
"Bonjour,\n"
|
5451 |
-
"Vous avez une nouvelle réservation de
|
5452 |
"Package: {package_name}\n"
|
5453 |
"Nom du Client: {client_name}\n"
|
5454 |
"Tél. du Client: {client_phone}\n"
|
5455 |
"E-mail du Client: {client_email}"
|
5456 |
|
5457 |
msgid "Notification to customer about package deactivation"
|
5458 |
-
msgstr "Notification au client du
|
5459 |
|
5460 |
msgid "Service package is deactivated"
|
5461 |
-
msgstr "
|
5462 |
|
5463 |
msgid ""
|
5464 |
"Dear {client_name}.\n"
|
@@ -5473,7 +5512,7 @@ msgid ""
|
|
5473 |
"{company_website}"
|
5474 |
msgstr ""
|
5475 |
"Cher/Chère {client_name}.\n"
|
5476 |
-
"Votre
|
5477 |
"\n"
|
5478 |
"Merci d'avoir choisi notre société.\n"
|
5479 |
"\n"
|
@@ -5483,7 +5522,7 @@ msgstr ""
|
|
5483 |
"{company_website}"
|
5484 |
|
5485 |
msgid "Notification to staff member about package deactivation"
|
5486 |
-
msgstr "Notification au membre de l'équipe du
|
5487 |
|
5488 |
msgid ""
|
5489 |
"Hello.\n"
|
@@ -5498,7 +5537,7 @@ msgid ""
|
|
5498 |
msgstr ""
|
5499 |
"Bonjour,\n"
|
5500 |
"\n"
|
5501 |
-
"Le
|
5502 |
"\n"
|
5503 |
"Nom du Client: {client_name}\n"
|
5504 |
"\n"
|
@@ -5516,7 +5555,7 @@ msgid ""
|
|
5516 |
"{company_website}"
|
5517 |
msgstr ""
|
5518 |
"Cher/Chère {client_name}.\n"
|
5519 |
-
"Votre
|
5520 |
"Merci d'avoir choisi notre société.\n"
|
5521 |
"Si vous avez des questions, merci de nous contacter.\n"
|
5522 |
"{company_name}\n"
|
@@ -5531,66 +5570,52 @@ msgid ""
|
|
5531 |
"Client email: {client_email}"
|
5532 |
msgstr ""
|
5533 |
"Bonjour,\n"
|
5534 |
-
"Le
|
5535 |
"Nom du Client: {client_name}\n"
|
5536 |
"Tél. du Client: {client_phone}\n"
|
5537 |
"E-mail du Client: {client_email}"
|
5538 |
|
5539 |
msgid "Notification about new package creation"
|
5540 |
-
msgstr "Notification pour la création de nouveau
|
5541 |
|
5542 |
msgid "Notification about package deletion"
|
5543 |
-
msgstr "Notification de suppression de
|
5544 |
|
5545 |
msgid "Creation date"
|
5546 |
msgstr "Date de création"
|
5547 |
|
5548 |
msgid "Packages"
|
5549 |
-
msgstr "
|
|
|
|
|
|
|
5550 |
|
5551 |
msgid "Unassigned"
|
5552 |
msgstr "Non assigné"
|
5553 |
|
5554 |
-
msgid ""
|
5555 |
-
"Enable this setting so that the package can be displayed and available for "
|
5556 |
-
"booking when clients have not specified a particular provider."
|
5557 |
-
msgstr ""
|
5558 |
-
"Activez cette option pour que le package soit affiché et disponible à la "
|
5559 |
-
"réservation lorsque le client ne choisit pas un prestataire particulier."
|
5560 |
-
|
5561 |
-
msgid "Life Time"
|
5562 |
-
msgstr "Durée de vie"
|
5563 |
-
|
5564 |
-
msgid "The period in days when the customer can use a package of services."
|
5565 |
-
msgstr ""
|
5566 |
-
"La période, en jours, où le client peut utiliser le package de services"
|
5567 |
-
|
5568 |
-
msgid "New package"
|
5569 |
-
msgstr "Nouveau Package"
|
5570 |
-
|
5571 |
msgid "Edit package"
|
5572 |
-
msgstr "Modifier
|
5573 |
|
5574 |
msgid "No packages for selected period and criteria."
|
5575 |
-
msgstr "Aucun
|
5576 |
|
5577 |
msgid "name of package"
|
5578 |
-
msgstr "nom du
|
5579 |
|
5580 |
msgid "package size"
|
5581 |
-
msgstr "taille du
|
5582 |
|
5583 |
msgid "price of package"
|
5584 |
-
msgstr "prix du
|
5585 |
|
5586 |
msgid "package life time"
|
5587 |
-
msgstr "durée de vie du
|
5588 |
|
5589 |
msgid "reason you mentioned while deleting package"
|
5590 |
-
msgstr "motif que vous avez renseigné lors de la suppression du
|
5591 |
|
5592 |
msgid "Add customer packages list"
|
5593 |
-
msgstr "Ajouter liste des
|
5594 |
|
5595 |
msgid ""
|
5596 |
"When you select a package the associated services will also be selected. "
|
@@ -5609,13 +5634,13 @@ msgstr ""
|
|
5609 |
"particulier."
|
5610 |
|
5611 |
msgid "-- Select a package --"
|
5612 |
-
msgstr "-- Choisissez un
|
5613 |
|
5614 |
msgid "Please select a package"
|
5615 |
-
msgstr "Veuillez choisir un
|
5616 |
|
5617 |
msgid "Incorrect location and package combination"
|
5618 |
-
msgstr "Combinaison
|
5619 |
|
5620 |
msgid "Please select a customer"
|
5621 |
msgstr "Veuillez choisir un client"
|
@@ -5624,7 +5649,7 @@ msgid "Save & schedule"
|
|
5624 |
msgstr "Enregistrer & Planifier"
|
5625 |
|
5626 |
msgid "Could not save package in database."
|
5627 |
-
msgstr "Impossible d'enregistrer le
|
5628 |
|
5629 |
msgid ""
|
5630 |
"Selected appointment date exceeds the period when the customer can use a "
|
@@ -5657,16 +5682,29 @@ msgid "Select appointment date"
|
|
5657 |
msgstr "Choisir date du rendez-vous"
|
5658 |
|
5659 |
msgid "Edit package appointment"
|
5660 |
-
msgstr "
|
5661 |
|
5662 |
msgid "Delete package appointment"
|
5663 |
-
msgstr "Supprimer rendez-vous
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5664 |
|
5665 |
msgid "Packages list"
|
5666 |
-
msgstr "Liste des
|
5667 |
|
5668 |
msgid "A custom block for displaying packages list"
|
5669 |
-
msgstr "Bloc personnalisé pour l'affichage de la liste des
|
5670 |
|
5671 |
msgid "Creation Date"
|
5672 |
msgstr "Date création"
|
@@ -5994,30 +6032,6 @@ msgstr "Votre période de support a expiré le %s."
|
|
5994 |
msgid "Print"
|
5995 |
msgstr "Imprimer"
|
5996 |
|
5997 |
-
msgid "Google Calendar integration"
|
5998 |
-
msgstr "Intégration Google Calendar"
|
5999 |
-
|
6000 |
-
#, php-format
|
6001 |
-
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
6002 |
-
msgstr ""
|
6003 |
-
"Veuillez d'abord configurer Google Calendar. <a href=\"%s\">Séttings</a>"
|
6004 |
-
|
6005 |
-
msgid "Synchronize staff member appointments with Google Calendar."
|
6006 |
-
msgstr "Synchroniser les membres d'équipe avec Google Calendar."
|
6007 |
-
|
6008 |
-
msgid "Limit working hours per day"
|
6009 |
-
msgstr "Limite des heures travaillées par jour"
|
6010 |
-
|
6011 |
-
msgid "Unlimited"
|
6012 |
-
msgstr "Sans limite"
|
6013 |
-
|
6014 |
-
msgid ""
|
6015 |
-
"This setting allows limiting the total time occupied by bookings per day for "
|
6016 |
-
"staff member. Padding time is not included."
|
6017 |
-
msgstr ""
|
6018 |
-
"Ce paramètre permet de limiter le temps total d'occupation par jour pour les "
|
6019 |
-
"membres de l'équipe Le temps d'attente n'est pas inclus."
|
6020 |
-
|
6021 |
msgid "API Username"
|
6022 |
msgstr "Utilisateur API"
|
6023 |
|
@@ -6229,11 +6243,11 @@ msgid ""
|
|
6229 |
"<a href=\"%s\" target=\"_blank\">document</a> to <b>verify and register your "
|
6230 |
"domain</b>."
|
6231 |
msgstr ""
|
6232 |
-
"Important : pour la synchronisation two-way, votre site
|
6233 |
-
"HTTPS. L'API Google Calendar ne pourra envoyer des notifications à
|
6234 |
-
"HTTPS que si un certificat SSL valide est installé sur votre
|
6235 |
-
"Suivez les étapes de ce <a href=\"%s\" target=\"_blank\">
|
6236 |
-
"<b>vérifier et enregistrer votre domaine</b>."
|
6237 |
|
6238 |
msgid "The client ID obtained from the Developers Console"
|
6239 |
msgstr "L'ID client se trouve dans la Developers Console"
|
@@ -6465,215 +6479,85 @@ msgstr ""
|
|
6465 |
msgid "Online Meetings"
|
6466 |
msgstr "Réunions en ligne"
|
6467 |
|
6468 |
-
msgid "
|
6469 |
-
msgstr "
|
|
|
|
|
|
|
6470 |
|
6471 |
#, php-format
|
6472 |
-
msgid ""
|
6473 |
-
"
|
6474 |
-
"appointments with the selected online meeting provider. Make sure that the "
|
6475 |
-
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6476 |
-
"Meetings</a>"
|
6477 |
-
msgstr ""
|
6478 |
-
"Si ce paramètre est activé, des réunions en ligne seront créées pour les "
|
6479 |
-
"nouveaux rendez-vous avec le fournisseur de réunions en ligne sélectionné. "
|
6480 |
-
"Assurez-vous que le fournisseur est correctement configuré dans Paramètres "
|
6481 |
-
"<a href=\"%s\">Réunions en ligne</a>\n"
|
6482 |
-
"\n"
|
6483 |
|
6484 |
-
msgid "
|
6485 |
-
msgstr "
|
6486 |
|
6487 |
msgid ""
|
6488 |
-
"
|
6489 |
-
"
|
6490 |
-
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
6491 |
-
"then the next available time slot will be 9:15 rather than 9:00."
|
6492 |
msgstr ""
|
6493 |
-
"
|
6494 |
-
"
|
6495 |
-
"marge avant à 15 minutes. Si une réservation est de 8:00 à 9:00, le créneau "
|
6496 |
-
"suivant sera disponible à partir de 9:15 au lieu de 9:00."
|
6497 |
|
6498 |
-
msgid "
|
6499 |
-
msgstr "
|
6500 |
|
|
|
|
|
|
|
|
|
6501 |
msgid ""
|
6502 |
-
"
|
6503 |
-
"
|
6504 |
msgstr ""
|
6505 |
-
"
|
6506 |
-
"
|
6507 |
|
6508 |
-
msgid "
|
6509 |
-
msgstr "
|
6510 |
|
6511 |
-
msgid ""
|
6512 |
-
|
6513 |
-
"account when calculating provider's occupancy. 0 means the day of booking."
|
6514 |
-
msgstr ""
|
6515 |
-
"Fixer le nombre de jours avant et après le rendez-vous qui sera pris en "
|
6516 |
-
"compte dans le calcul de l'occupation du prestataire. 0 signifie le jour de "
|
6517 |
-
"la réservation."
|
6518 |
|
6519 |
-
msgid "
|
6520 |
-
msgstr "
|
6521 |
|
6522 |
msgid ""
|
6523 |
-
"
|
6524 |
-
"
|
6525 |
-
"
|
6526 |
msgstr ""
|
6527 |
-
"
|
6528 |
-
"
|
6529 |
-
"
|
6530 |
|
6531 |
-
msgid "
|
6532 |
-
msgstr "
|
6533 |
|
6534 |
-
msgid "
|
6535 |
-
msgstr "
|
6536 |
|
6537 |
-
msgid "
|
6538 |
-
msgstr "
|
6539 |
|
6540 |
-
msgid "
|
6541 |
-
|
|
|
|
|
|
|
|
|
6542 |
|
6543 |
-
msgid "
|
6544 |
-
msgstr "
|
6545 |
|
6546 |
-
msgid "
|
6547 |
-
msgstr "
|
6548 |
|
6549 |
-
msgid "
|
6550 |
-
msgstr "
|
6551 |
|
6552 |
-
msgid "
|
6553 |
-
msgstr "
|
6554 |
-
|
6555 |
-
msgid "per 365 days"
|
6556 |
-
msgstr "par 365 jours"
|
6557 |
-
|
6558 |
-
msgid "per year"
|
6559 |
-
msgstr "par année"
|
6560 |
-
|
6561 |
-
msgid ""
|
6562 |
-
"This setting allows you to limit the number of appointments that can be "
|
6563 |
-
"booked by a customer in any given period. Restriction may end after a fixed "
|
6564 |
-
"period or with the beginning of the next calendar period - new day, week, "
|
6565 |
-
"month, etc."
|
6566 |
-
msgstr ""
|
6567 |
-
"Ce paramètre permet de limiter le nombre de rendez-vous qui réservés par un "
|
6568 |
-
"client pour une période de temps donnée. La limite peut être levée après une "
|
6569 |
-
"période de temps donnée ou une nouvelle période calendaire: jour, semaine, "
|
6570 |
-
"mois, etc."
|
6571 |
-
|
6572 |
-
msgid "Limit"
|
6573 |
-
msgstr "Limiter"
|
6574 |
-
|
6575 |
-
msgid ""
|
6576 |
-
"To make service invisible to your customers set the visibility to "
|
6577 |
-
"\"Private\"."
|
6578 |
-
msgstr "Pour rendre ce service invisible a vos clients, choisissez \"Privé\"."
|
6579 |
-
|
6580 |
-
msgid "Specified order"
|
6581 |
-
msgstr "Ordre spécifié"
|
6582 |
-
|
6583 |
-
msgid "Least occupied that day"
|
6584 |
-
msgstr "Le moins occupé ce jour"
|
6585 |
-
|
6586 |
-
msgid "Most occupied that day"
|
6587 |
-
msgstr "Le plus occupé ce jour"
|
6588 |
-
|
6589 |
-
msgid "Least occupied for period"
|
6590 |
-
msgstr "Le moins occupé dans la période"
|
6591 |
-
|
6592 |
-
msgid "Most occupied for period"
|
6593 |
-
msgstr "Le plus occupé dans la période"
|
6594 |
-
|
6595 |
-
msgid "Least expensive"
|
6596 |
-
msgstr "Moins cher"
|
6597 |
-
|
6598 |
-
msgid "Most expensive"
|
6599 |
-
msgstr "Plus cher"
|
6600 |
-
|
6601 |
-
msgid "Form view in case of single booking"
|
6602 |
-
msgstr "Vue de formulaire pour une réservation unique"
|
6603 |
-
|
6604 |
-
msgid "Form view in case of multiple booking"
|
6605 |
-
msgstr "Vue de formulaire pour des réservations multiples"
|
6606 |
-
|
6607 |
-
#, php-format
|
6608 |
-
msgid "Form in case of 100% discount"
|
6609 |
-
msgstr "Formulaire pour remise de 100%"
|
6610 |
-
|
6611 |
-
msgid "Show birthday field"
|
6612 |
-
msgstr "Afficher champ anniversaire"
|
6613 |
-
|
6614 |
-
msgid ""
|
6615 |
-
"Address information is needed for Invoices add-on. To disable, deactivate "
|
6616 |
-
"Invoices add-on first."
|
6617 |
-
msgstr ""
|
6618 |
-
"L'information de l'adresse est obligatoire pour le add-on Factures. Pour la "
|
6619 |
-
"désactiver, désactivez d'abord le add-on Factures."
|
6620 |
-
|
6621 |
-
msgid "Show address fields"
|
6622 |
-
msgstr "Montrer champs adresse"
|
6623 |
-
|
6624 |
-
msgid "Show Facebook login button"
|
6625 |
-
msgstr "Montrer bouton login Facebook"
|
6626 |
-
|
6627 |
-
#, php-format
|
6628 |
-
msgid ""
|
6629 |
-
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6630 |
-
"first."
|
6631 |
-
msgstr ""
|
6632 |
-
"Veuillez d'abord configurer Facebook App integration dans <a href=\"%s\">"
|
6633 |
-
"Settings</a>."
|
6634 |
-
|
6635 |
-
msgid "Show time zone switcher"
|
6636 |
-
msgstr "Afficher changement fuseau horaire"
|
6637 |
-
|
6638 |
-
msgid "Import"
|
6639 |
-
msgstr "Importer"
|
6640 |
-
|
6641 |
-
msgid "Note"
|
6642 |
-
msgstr "Note"
|
6643 |
-
|
6644 |
-
msgid ""
|
6645 |
-
"You may import list of clients in CSV format. You can choose the columns "
|
6646 |
-
"contained in your file. The sequence of columns should coincide with the "
|
6647 |
-
"specified one."
|
6648 |
-
msgstr ""
|
6649 |
-
"Vous pouvez importer une liste de clients au format CSV. Vous pouvez choisir "
|
6650 |
-
"les colonnes contenues dans votre fichier. L'ordre des colonnes doit "
|
6651 |
-
"coïncider avec celle spécifiée."
|
6652 |
-
|
6653 |
-
msgid "Select file"
|
6654 |
-
msgstr "Choisir fichier"
|
6655 |
-
|
6656 |
-
msgid "Date of birth"
|
6657 |
-
msgstr "Date de naissance"
|
6658 |
-
|
6659 |
-
msgid "Analytics"
|
6660 |
-
msgstr "Analyse"
|
6661 |
-
|
6662 |
-
msgid ""
|
6663 |
-
"Note: If payment is made for several services, then for each service you "
|
6664 |
-
"will see the entire amount paid as revenue."
|
6665 |
-
msgstr ""
|
6666 |
-
"Note: Si le paiement est effectué pour plusieurs services, vous verrez pour "
|
6667 |
-
"chaque service que le paiement a été effectué."
|
6668 |
-
|
6669 |
-
msgid "online meeting join URL"
|
6670 |
-
msgstr "réunion en ligne rejoindre URL"
|
6671 |
-
|
6672 |
-
msgid "Titles"
|
6673 |
-
msgstr "Titres"
|
6674 |
-
|
6675 |
-
msgid "Add Bookly appointments list"
|
6676 |
-
msgstr "Ajouter la liste de rendez-vous Bookly"
|
6677 |
|
6678 |
msgid "Add appointment cancellation confirmation"
|
6679 |
msgstr "Ajouter une confirmation d'annulation de rendez-vous"
|
@@ -6699,6 +6583,17 @@ msgstr ""
|
|
6699 |
msgid "Error dissociating purchase code."
|
6700 |
msgstr "Erreur en dissociant le code achat"
|
6701 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6702 |
msgid "Archiving Staff"
|
6703 |
msgstr "Archivage équipe"
|
6704 |
|
@@ -6713,6 +6608,28 @@ msgstr ""
|
|
6713 |
msgid "Ok, continue editing"
|
6714 |
msgstr "Ok, continuer à modifier"
|
6715 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6716 |
msgid "Reason"
|
6717 |
msgstr "Motif"
|
6718 |
|
@@ -6732,7 +6649,7 @@ msgid "Search payment"
|
|
6732 |
msgstr "Trouver paiement"
|
6733 |
|
6734 |
msgid "Payment ID"
|
6735 |
-
msgstr "ID paiement"
|
6736 |
|
6737 |
msgid ""
|
6738 |
"This link can be inserted into notifications with {online_meeting_url} code"
|
@@ -6752,6 +6669,139 @@ msgstr "Veuillez entrer un nom de service"
|
|
6752 |
msgid "Custom service price"
|
6753 |
msgstr "Prix de service personnalisé"
|
6754 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6755 |
msgid "Welcome to Bookly Pro and thank you for purchasing our product!"
|
6756 |
msgstr "Bienvenu à Bookly Pro et merci d'avoir acheté notre produit !"
|
6757 |
|
@@ -7080,6 +7130,9 @@ msgstr "Passer"
|
|
7080 |
msgid "Tasks"
|
7081 |
msgstr "Tâches"
|
7082 |
|
|
|
|
|
|
|
7083 |
msgid "Time step settings"
|
7084 |
msgstr "Paramètres étape Time"
|
7085 |
|
@@ -7095,9 +7148,6 @@ msgstr ""
|
|
7095 |
"vous, cachez-le et créez un tâche sans heure définie, ou affichez l'étape "
|
7096 |
"Time, mais autorisez le client à la passer. "
|
7097 |
|
7098 |
-
msgid "Skip time selection"
|
7099 |
-
msgstr "Passer la sélection du temps"
|
7100 |
-
|
7101 |
msgid "Incorrect payment data"
|
7102 |
msgstr "Informations paiement incorrectes"
|
7103 |
|
@@ -7130,7 +7180,7 @@ msgid "Usage limit"
|
|
7130 |
msgstr "Limite d'utilisation"
|
7131 |
|
7132 |
msgid "Number of times used"
|
7133 |
-
msgstr "Nombre
|
7134 |
|
7135 |
msgid "Active from"
|
7136 |
msgstr "Actif depuis"
|
@@ -7299,18 +7349,6 @@ msgstr "Modifier groupe"
|
|
7299 |
msgid "No customer groups yet."
|
7300 |
msgstr "Aucun groupe créé"
|
7301 |
|
7302 |
-
msgid "Groups"
|
7303 |
-
msgstr "Groupes"
|
7304 |
-
|
7305 |
-
msgid "All groups"
|
7306 |
-
msgstr "Tous les groupes"
|
7307 |
-
|
7308 |
-
msgid "No group selected"
|
7309 |
-
msgstr "Aucun groupe sélectionné"
|
7310 |
-
|
7311 |
-
msgid "Customer group based"
|
7312 |
-
msgstr "Client avec groupe"
|
7313 |
-
|
7314 |
msgid "Customer Group"
|
7315 |
msgstr "Groupe de clients"
|
7316 |
|
@@ -7335,6 +7373,18 @@ msgstr "Modifier groupe"
|
|
7335 |
msgid "Group name is required"
|
7336 |
msgstr "Nom du groupe obligatoire"
|
7337 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7338 |
msgid "Notification to customer about placing on waiting list"
|
7339 |
msgstr "Notification au client sur le placement en liste d'attente"
|
7340 |
|
@@ -7553,7 +7603,7 @@ msgid "Select the Extras you'd like (Multiple Selection)"
|
|
7553 |
msgstr "Sélectionnez les Suppléments que vous souhaitez (Sélection multiple)"
|
7554 |
|
7555 |
msgid "Multiply extras by number of persons"
|
7556 |
-
msgstr "Multiplier suppléments par le nombre de personnes"
|
7557 |
|
7558 |
msgid "If enabled, all extras will be multiplied by number of persons."
|
7559 |
msgstr ""
|
@@ -7582,12 +7632,6 @@ msgstr ""
|
|
7582 |
"prix total des supplé\n"
|
7583 |
"ments"
|
7584 |
|
7585 |
-
msgid "Max quantity"
|
7586 |
-
msgstr "Quantité maxi."
|
7587 |
-
|
7588 |
-
msgid "New Item"
|
7589 |
-
msgstr "Nouvel article"
|
7590 |
-
|
7591 |
msgid "Show title"
|
7592 |
msgstr "Afficher titre"
|
7593 |
|
@@ -7609,6 +7653,12 @@ msgstr "Montrer étape Extras"
|
|
7609 |
msgid "Show extras"
|
7610 |
msgstr "Afficher les suppléments"
|
7611 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7612 |
msgid "Extras tax"
|
7613 |
msgstr "Taxes additionnelles"
|
7614 |
|
@@ -7670,7 +7720,7 @@ msgid "Custom Statuses"
|
|
7670 |
msgstr "Statuts personnalisés"
|
7671 |
|
7672 |
msgid "PayPal ID"
|
7673 |
-
msgstr "ID PayPal"
|
7674 |
|
7675 |
msgid ""
|
7676 |
"Your PayPal ID or an email address associated with your PayPal account. "
|
@@ -7679,15 +7729,15 @@ msgstr ""
|
|
7679 |
"Votre ID PayPal ou l'adresse e-mail associée à votre compte PayPal. "
|
7680 |
"L'adresse e-mail doit être confirmée."
|
7681 |
|
|
|
|
|
|
|
7682 |
msgid "Special prices for appointments which begin between:"
|
7683 |
msgstr "Prix spéciaux pour les rendez-vous commençant entre:"
|
7684 |
|
7685 |
msgid "add special period"
|
7686 |
msgstr "ajouter période spéciale"
|
7687 |
|
7688 |
-
msgid "Disable special hours update"
|
7689 |
-
msgstr "Désactiver modification heures spéciales"
|
7690 |
-
|
7691 |
msgid "Please select a location"
|
7692 |
msgstr "Veuillez choisir un site"
|
7693 |
|
@@ -7697,28 +7747,6 @@ msgstr "Membres de l'équipe"
|
|
7697 |
msgid "Locations"
|
7698 |
msgstr "Sites"
|
7699 |
|
7700 |
-
msgid "Default settings"
|
7701 |
-
msgstr "Valeurs par défaut"
|
7702 |
-
|
7703 |
-
msgid ""
|
7704 |
-
"Set Default values that will be used in all locations where Use default "
|
7705 |
-
"settings is selected. To use custom settings in a location, select Use "
|
7706 |
-
"custom settings and enter custom values."
|
7707 |
-
msgstr ""
|
7708 |
-
"Définir valeurs par défaut qui seront utilisées pour tous les sites où "
|
7709 |
-
"Paramètre par défaut est utilisé. Pour utiliser les paramètres par défaut "
|
7710 |
-
"pour un site, sélectionnez Utiliser Paramètres Personnalisés et entrez les "
|
7711 |
-
"valeurs personnalisées."
|
7712 |
-
|
7713 |
-
msgid "Use default settings"
|
7714 |
-
msgstr "Utiliser valeurs par défaut"
|
7715 |
-
|
7716 |
-
msgid "Use custom settings"
|
7717 |
-
msgstr "Utiliser paramètres personnalisés"
|
7718 |
-
|
7719 |
-
msgid "Select locations where the services are provided."
|
7720 |
-
msgstr "Choisissez des sites où le service est disponible"
|
7721 |
-
|
7722 |
msgid "Custom settings for location"
|
7723 |
msgstr "Paramètres personnalisés pour le site"
|
7724 |
|
@@ -7730,7 +7758,7 @@ msgstr ""
|
|
7730 |
"pour les membres de l'équipe sur différents sites"
|
7731 |
|
7732 |
msgid "location info"
|
7733 |
-
msgstr "info
|
7734 |
|
7735 |
msgid "location name"
|
7736 |
msgstr "nom du site"
|
@@ -7759,6 +7787,28 @@ msgstr "Rendre le choix du site obligatoire"
|
|
7759 |
msgid "Default value for location select"
|
7760 |
msgstr "Valeur par défaut pour le choix du site"
|
7761 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7762 |
msgid "Account ID"
|
7763 |
msgstr "ID compte"
|
7764 |
|
@@ -7816,9 +7866,6 @@ msgstr "Montrer l'évaluation de membre de l'équipe avant le nom de l'employé.
|
|
7816 |
msgid "URL of the page for staff rating"
|
7817 |
msgstr "URL de la page pour l'évaluation de l'équipe"
|
7818 |
|
7819 |
-
msgid "Comment"
|
7820 |
-
msgstr "Commentaire"
|
7821 |
-
|
7822 |
msgid "Add staff rating form"
|
7823 |
msgstr "Ajouter formulaire d'évaluation équipe"
|
7824 |
|
8 |
"Language: fr_FR\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2020-11-06 16:58+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-11-07 15:59+0000\n"
|
13 |
"Last-Translator: Mathilde Massardier <mathilde.mass@icloud.com>\n"
|
14 |
"Language-Team: French (France)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
187 |
msgid "Phone"
|
188 |
msgstr "Téléphone"
|
189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
msgid "Instructions"
|
191 |
msgstr "Instructions"
|
192 |
|
508 |
msgid "Calendars synchronized successfully."
|
509 |
msgstr "Calendriers synchronisés avec succès"
|
510 |
|
511 |
+
msgid "Outlook Calendar integration"
|
512 |
+
msgstr "Intégration Outlook Calendar"
|
513 |
+
|
514 |
+
msgid "Connect"
|
515 |
+
msgstr "Connecter"
|
516 |
+
|
517 |
+
#, php-format
|
518 |
+
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
519 |
+
msgstr "Configurez d'abord Outlook Calendar <a href=\"%s\">settings</a>"
|
520 |
+
|
521 |
+
msgid "Connected"
|
522 |
+
msgstr "Connecté"
|
523 |
+
|
524 |
+
msgid "disconnect"
|
525 |
+
msgstr "déconnecté"
|
526 |
+
|
527 |
+
msgid "Synchronize staff member appointments with Outlook Calendar."
|
528 |
+
msgstr ""
|
529 |
+
"Synchroniser les rendez-vous des membres de l'équipe avec Outlook Calendar"
|
530 |
+
|
531 |
+
msgid "Calendar"
|
532 |
+
msgstr "Agenda"
|
533 |
+
|
534 |
+
msgid "-- Select calendar --"
|
535 |
+
msgstr "--Sélectionner calendrier--"
|
536 |
+
|
537 |
+
msgid ""
|
538 |
+
"When you connect a calendar all future and past events will be synchronized "
|
539 |
+
"according to the selected synchronization mode. This may take a few minutes. "
|
540 |
+
"Please wait."
|
541 |
+
msgstr ""
|
542 |
+
"Lorsque vous connectez un calendrier, tous les événements futurs et passés "
|
543 |
+
"selon synchronisés selon le mode de synchronisation choisi. Cela peut "
|
544 |
+
"prendre quelques minutes. Veuillez patienter."
|
545 |
+
|
546 |
+
msgid "Can't change calendar for archived staff"
|
547 |
+
msgstr "Impossible de changer le calendrier du staff archivé"
|
548 |
+
|
549 |
msgid "Custom Fields"
|
550 |
msgstr "Champs personnalisés"
|
551 |
|
631 |
msgstr "Option"
|
632 |
|
633 |
msgid "Remove item"
|
634 |
+
msgstr "Supprimer objet"
|
635 |
|
636 |
msgid "All services"
|
637 |
msgstr "Tous les services"
|
696 |
msgstr "Notification au membre de l'équipe d'un rendez-vous récurrent accepté."
|
697 |
|
698 |
msgid "New booking information"
|
699 |
+
msgstr "Information de nouvelle réservation"
|
700 |
|
701 |
msgid ""
|
702 |
"Hello.\n"
|
1157 |
msgstr "Ils n'y a plus de créneaux horaires disponibles ce jour."
|
1158 |
|
1159 |
msgid "On"
|
1160 |
+
msgstr "On"
|
1161 |
|
1162 |
msgid "Please select some days"
|
1163 |
msgstr "Veuillez choisir des journées"
|
1273 |
"Définissez l'URL d'une page visible par l'équipe lorsque l'approbation d'un "
|
1274 |
"rendez-vous récurrent n'a pas pu être effectuée (changement de statut, etc)."
|
1275 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1276 |
msgid "Edit"
|
1277 |
msgstr "Modifier"
|
1278 |
|
1303 |
msgid "Every"
|
1304 |
msgstr "Tous les"
|
1305 |
|
1306 |
+
msgid ""
|
1307 |
+
"You are going to reschedule the recurring appointment. Please select "
|
1308 |
+
"recurring appointments which should be rescheduled as well."
|
1309 |
+
msgstr ""
|
1310 |
+
"Vous allez reprogrammer le rendez-vous récurrent. Veuillez sélectionner les "
|
1311 |
+
"rendez-vous récurrents qui doivent également être reprogrammés."
|
1312 |
+
|
1313 |
+
msgid "Only this appointment"
|
1314 |
+
msgstr "Seulement ce rendez-vous"
|
1315 |
+
|
1316 |
+
msgid "This and next appointments"
|
1317 |
+
msgstr "Ce rendez-vous et les suivants"
|
1318 |
+
|
1319 |
+
msgid "All appointments"
|
1320 |
+
msgstr "Tous les rendez-vous"
|
1321 |
+
|
1322 |
+
msgid "Number of days to shift appointments"
|
1323 |
+
msgstr "Nombre de jours pour changer les rendez-vous"
|
1324 |
+
|
1325 |
+
msgid "Appointments will be scheduled at"
|
1326 |
+
msgstr "Le rendez-vous serra programmé à"
|
1327 |
+
|
1328 |
msgid "Back"
|
1329 |
msgstr "Retour"
|
1330 |
|
1361 |
msgid "Close"
|
1362 |
msgstr "Fermer"
|
1363 |
|
1364 |
+
msgid "Enabled"
|
1365 |
+
msgstr "Activé"
|
1366 |
+
|
1367 |
+
msgid "Allow this service to have recurring appointments."
|
1368 |
+
msgstr "Permettre à ce service des rendez-vous récurrents"
|
1369 |
+
|
1370 |
+
msgid "Frequencies"
|
1371 |
+
msgstr "Fréquences"
|
1372 |
+
|
1373 |
+
msgid "All"
|
1374 |
+
msgstr "Tout"
|
1375 |
+
|
1376 |
+
msgid "Nothing selected"
|
1377 |
+
msgstr "Vous n'avez rien sélectionné"
|
1378 |
+
|
1379 |
msgid "Save"
|
1380 |
msgstr "Enregistrer"
|
1381 |
|
1400 |
msgid "Duration"
|
1401 |
msgstr "Durée"
|
1402 |
|
1403 |
+
msgid "Show service price next to duration"
|
1404 |
+
msgstr "Montrer prix du service à coté de la durée"
|
1405 |
+
|
1406 |
+
msgid "Hide this field"
|
1407 |
+
msgstr "Cacher ce champ"
|
1408 |
+
|
1409 |
msgid ""
|
1410 |
"Set service duration. If you select Custom, a client, while booking, will "
|
1411 |
"have to choose the duration of the service from several time units. In the "
|
1432 |
msgid "Custom"
|
1433 |
msgstr "Personnalisé"
|
1434 |
|
1435 |
+
msgid "Are you sure?"
|
1436 |
+
msgstr "Êtes-vous sûr ?"
|
1437 |
|
1438 |
+
msgid "Duplicate dates are not permitted."
|
1439 |
+
msgstr "Les dates dupliquées ne sont pas permises"
|
1440 |
+
|
1441 |
+
msgid "Date in the past."
|
1442 |
+
msgstr "Date dans le passé."
|
1443 |
+
|
1444 |
+
msgid "Add Staff Special Days"
|
1445 |
+
msgstr "Ajouter Jours Spéciaux de l'équipe"
|
1446 |
|
1447 |
msgid "Delete break"
|
1448 |
msgstr "Supprimer pause"
|
1462 |
msgid "Special Days"
|
1463 |
msgstr "Journées spéciales"
|
1464 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1465 |
msgid "The requested interval is not available"
|
1466 |
msgstr "L'intervalle demandé n'est pas disponible"
|
1467 |
|
1468 |
msgid "OFF"
|
1469 |
msgstr "OFF"
|
1470 |
|
|
|
|
|
|
|
1471 |
msgid "Uncategorized"
|
1472 |
msgstr "Pas de catégorie"
|
1473 |
|
1474 |
+
msgid "Compound"
|
1475 |
+
msgstr "Combinaison"
|
1476 |
+
|
1477 |
+
msgid "Part of compound service"
|
1478 |
+
msgstr "Élément d'un Service composé"
|
1479 |
+
|
1480 |
+
msgid "Compound service"
|
1481 |
+
msgstr "Service composé"
|
1482 |
+
|
1483 |
msgid "Spare time"
|
1484 |
msgstr "Temps libre"
|
1485 |
|
1502 |
"personnel sera utiliser pour rechercher les créneaux disponibles pour tous "
|
1503 |
"les sous-services."
|
1504 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1505 |
msgid "Short Codes"
|
1506 |
msgstr "Codes Courts"
|
1507 |
|
1605 |
msgid "Upcoming appointments"
|
1606 |
msgstr "Rendez-vous à venir"
|
1607 |
|
|
|
|
|
|
|
1608 |
msgid "Delimiter"
|
1609 |
msgstr "Séparateur"
|
1610 |
|
1655 |
msgstr "Sur liste d'attente"
|
1656 |
|
1657 |
msgid "Package"
|
1658 |
+
msgstr "Pack"
|
1659 |
|
1660 |
#, php-format
|
1661 |
msgid "%s of %s"
|
1751 |
msgid "Processing..."
|
1752 |
msgstr "En cours..."
|
1753 |
|
|
|
|
|
|
|
1754 |
msgid "service tax amount"
|
1755 |
msgstr "montant taxe du service"
|
1756 |
|
1777 |
"Si vous devez déclarer le montant exact de la taxe au système de paiement, "
|
1778 |
"n'utilisez pas de frais supplémentaires."
|
1779 |
|
1780 |
+
msgid "Taxation"
|
1781 |
+
msgstr "Taxation"
|
1782 |
+
|
1783 |
msgid "Customer Information"
|
1784 |
msgstr "Informations Client"
|
1785 |
|
1846 |
msgid "Number of persons"
|
1847 |
msgstr "Nombre de personnes"
|
1848 |
|
|
|
|
|
|
|
1849 |
msgid "Group bookings information format"
|
1850 |
msgstr "Format informations réservations groupées"
|
1851 |
|
1873 |
msgid "capacity of service"
|
1874 |
msgstr "capacité du service"
|
1875 |
|
1876 |
+
msgid "Show information about group bookings"
|
1877 |
+
msgstr "Afficher informations des réservations groupées"
|
1878 |
+
|
1879 |
+
msgid "Disable capacity update"
|
1880 |
+
msgstr "Désactiver modification de la capacité"
|
1881 |
+
|
1882 |
+
msgid "Capacity (min and max)"
|
1883 |
+
msgstr "Capacité (Min. et Max.)"
|
1884 |
+
|
1885 |
msgid ""
|
1886 |
"The minimum and maximum number of customers allowed to book the service for "
|
1887 |
"the certain time period."
|
1899 |
"Activez cette option si vous voulez limiter la possibilité de réservation à "
|
1900 |
"la limite de capacité du service."
|
1901 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1902 |
msgid "Address"
|
1903 |
msgstr "Adresse"
|
1904 |
|
1953 |
msgid "Show google maps field"
|
1954 |
msgstr "Afficher champ google maps"
|
1955 |
|
1956 |
+
msgid "Do not allow to select a specific staff member"
|
1957 |
+
msgstr "Ne pas autoriser à séléctioner un membre du personnel spécifique "
|
1958 |
|
1959 |
+
msgid ""
|
1960 |
+
"If this option is enabled then customers won't be able to select a staff "
|
1961 |
+
"member for collaborative services in the first step of the booking form"
|
1962 |
msgstr ""
|
1963 |
+
"Si cette option est activée, les clients ne pourront pas sélectionner un "
|
1964 |
+
"membre du personnel pour les services collaboratifs lors de la première "
|
1965 |
+
"étape du formulaire de réservation"
|
1966 |
+
|
1967 |
+
msgid "Collaborative services"
|
1968 |
+
msgstr "Services collaboratifs"
|
1969 |
|
1970 |
msgid "Collaborative"
|
1971 |
msgstr "Collaboratif"
|
1976 |
msgid "Part of collaborative service"
|
1977 |
msgstr "Partie d'un service collaboratif"
|
1978 |
|
1979 |
+
msgid "Equal duration"
|
1980 |
+
msgstr "Durée égale"
|
1981 |
+
|
1982 |
+
msgid "Make every service duration equal to the duration of the longest one."
|
1983 |
+
msgstr ""
|
1984 |
+
"Rendre les durées des services égales à la durée du plus long d'entre eux."
|
1985 |
+
|
1986 |
msgid "Customer cabinet (all services displayed in tabs)"
|
1987 |
msgstr "Dossier Clients (tous les services affichés en tabs)"
|
1988 |
|
2189 |
msgstr "Erreur d'envoi e-mail."
|
2190 |
|
2191 |
msgid "Subscription not available."
|
2192 |
+
msgstr "Abonnement non disponible."
|
2193 |
|
2194 |
msgid "User not found."
|
2195 |
msgstr "Utilisateur non trouvé."
|
3130 |
"jour si nous devons mettre à jour vos données ou sur Annuler pour modifier "
|
3131 |
"les informations saisies."
|
3132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3133 |
msgid "Internal Notes"
|
3134 |
msgstr "Notes internes"
|
3135 |
|
3288 |
"et jours de congé."
|
3289 |
|
3290 |
msgid "Method to include Bookly JavaScript and CSS files on the page"
|
3291 |
+
msgstr "Méthode pour inclure du Javascript et du CSS de Bookly sur une page"
|
3292 |
|
3293 |
msgid ""
|
3294 |
"With \"Enqueue\" method the JavaScript and CSS files of Bookly will be "
|
3315 |
"widget de réservation pour propager l'information dans le plugin. Cela "
|
3316 |
"permet à l'équipe d'améliorer le produit et ses fonctionnalités."
|
3317 |
|
3318 |
+
msgid "Prevent caching of pages with booking form"
|
3319 |
+
msgstr "Prévenir la mise en cache des pages avec le formulaire de réservation"
|
3320 |
|
3321 |
msgid ""
|
3322 |
+
"Select \"Enabled\" if you want Bookly to prevent caching by third-party "
|
3323 |
"caching plugins by adding a DONOTCACHEPAGE constant on pages with booking "
|
3324 |
+
"form"
|
3325 |
msgstr ""
|
3326 |
+
"Sélectionnez \"Activé\" si vous voulez que Bookly empêche la mise en cache "
|
3327 |
+
"par des plugins de mise en cache tiers en ajoutant une constante "
|
3328 |
+
"DONOTCACHEPAGE sur les pages avec le formulaire de réservation"
|
3329 |
|
3330 |
+
msgid "Prevent PHP session locking"
|
3331 |
+
msgstr "Prévenir le verrouillage des sessions PHP"
|
3332 |
|
3333 |
+
msgid ""
|
3334 |
+
"Enable this option to make Bookly close the PHP session as soon as it is "
|
3335 |
+
"done with it. This should prevent locking the session, which could cause "
|
3336 |
+
"various other processes to timeout or fail"
|
3337 |
+
msgstr ""
|
3338 |
+
"Activez cette option pour que Bookly ferme la session PHP dès qu'elle est "
|
3339 |
+
"terminée. Cela devrait éviter de verrouiller la session, ce qui pourrait "
|
3340 |
+
"provoquer l'arrêt ou l'échec de divers autres processus"
|
3341 |
|
3342 |
msgid "Service paid locally"
|
3343 |
msgstr "Service payé localement"
|
3357 |
msgid "Holidays"
|
3358 |
msgstr "Vacances"
|
3359 |
|
3360 |
+
msgid "Logs"
|
3361 |
+
msgstr "Registres"
|
3362 |
+
|
3363 |
msgid "Approve appointment URL (success)"
|
3364 |
msgstr "URL Validation Rendez-vous (Réussite)"
|
3365 |
|
3557 |
"d'avertissement apparaitra pour lui demande s'il souhaite mettre à jour ses "
|
3558 |
"données."
|
3559 |
|
3560 |
+
msgid "Debug logs"
|
3561 |
+
msgstr "Débuguer les registres"
|
3562 |
+
|
3563 |
+
msgid ""
|
3564 |
+
"If this setting is enabled then all actions with appointments will be "
|
3565 |
+
"recorded in a log table. We recommend enabling this setting as it will be "
|
3566 |
+
"helpful for our support team in case of unpredictable issues with "
|
3567 |
+
"appointments."
|
3568 |
+
msgstr ""
|
3569 |
+
"Si ce paramètre est activé, toutes les actions avec rendez-vous seront "
|
3570 |
+
"enregistrées dans un tableau de bord. Nous recommandons d'activer ce "
|
3571 |
+
"paramètre car il sera utile à notre équipe d'assistance en cas de problèmes "
|
3572 |
+
"imprévisibles avec les rendez-vous."
|
3573 |
+
|
3574 |
+
msgid "Action"
|
3575 |
+
msgstr "Action"
|
3576 |
+
|
3577 |
+
msgid "Target"
|
3578 |
+
msgstr "Cible"
|
3579 |
+
|
3580 |
+
msgid "Target ID"
|
3581 |
+
msgstr "ID cible"
|
3582 |
+
|
3583 |
+
msgid "Author"
|
3584 |
+
msgstr "Auteur"
|
3585 |
+
|
3586 |
+
msgid "Comment"
|
3587 |
+
msgstr "Commentaire"
|
3588 |
+
|
3589 |
+
msgid "Reference"
|
3590 |
+
msgstr "Référennce"
|
3591 |
+
|
3592 |
+
msgid "Clear logs"
|
3593 |
+
msgstr "Effacer les registres"
|
3594 |
+
|
3595 |
#, php-format
|
3596 |
msgid ""
|
3597 |
"WooCommerce cart is not set up. Follow the <a href=\"%s\">link</a> to "
|
3600 |
"Le panier WooCommerce n'est pas configuré. Suivez ce <a href=\"%s\">lien</a> "
|
3601 |
"pour corriger ce problème."
|
3602 |
|
3603 |
+
msgid "Last month"
|
3604 |
+
msgstr "Mois dernier"
|
3605 |
+
|
3606 |
msgid "SMS Notifications"
|
3607 |
msgstr "Notifications SMS"
|
3608 |
|
3690 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3691 |
msgstr "Ne peut contenir que des lettres ou chiffres (jusqu'à 11 caract.)"
|
3692 |
|
|
|
|
|
|
|
3693 |
msgid "Sender ID request is sent."
|
3694 |
msgstr "La requête ID Émetteur est envoyée."
|
3695 |
|
3773 |
"Envoyer un e-mail de notification aux administrateur quand le crédit est "
|
3774 |
"faible"
|
3775 |
|
3776 |
+
msgid "Send weekly summary"
|
3777 |
+
msgstr "Envoyer un résumé hebdomadaire"
|
3778 |
|
3779 |
msgid ""
|
3780 |
"Your country is the location from where you consume Bookly SMS services and "
|
3823 |
msgid "No, update just here in services"
|
3824 |
msgstr "Non, mettre à jour dans le service uniquement"
|
3825 |
|
3826 |
+
msgid "The service will be created with the visibility of Private."
|
3827 |
+
msgstr "Le service sera créé avec la visibilité de Privé."
|
|
|
|
|
|
|
3828 |
|
3829 |
+
msgid "Duplicate"
|
3830 |
+
msgstr "Dupliquer"
|
3831 |
|
3832 |
+
msgid "You must select at least one repeat option for recurring services."
|
3833 |
+
msgstr ""
|
3834 |
+
"Vous devez sélectionner au moins une option de répétition pour les services "
|
3835 |
+
"récurrents."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3836 |
|
3837 |
msgid "Simple"
|
3838 |
msgstr "Simple"
|
3931 |
msgstr "Bookly %s nécessaire"
|
3932 |
|
3933 |
msgid "Cancel subscription"
|
3934 |
+
msgstr "Annuler l'abonnement"
|
3935 |
|
3936 |
msgid "When do you want to cancel?"
|
3937 |
msgstr "Quand souhaitez-vous annuler ?"
|
3946 |
msgstr "Félicitation !"
|
3947 |
|
3948 |
msgid "Oops!"
|
3949 |
+
msgstr "Oups !"
|
3950 |
|
3951 |
msgid "best offer"
|
3952 |
msgstr "meilleure offre"
|
3963 |
msgid "Stripe activation was not completed"
|
3964 |
msgstr "L'activation de Stripe n'est pas terminée"
|
3965 |
|
3966 |
+
msgid "All staff"
|
3967 |
+
msgstr "Toute l'equipe"
|
3968 |
+
|
3969 |
+
msgid "No staff selected"
|
3970 |
+
msgstr "Pas d'équipe sélectionnée"
|
3971 |
+
|
3972 |
msgid "Auto-refresh Calendar"
|
3973 |
msgstr "Rafraîchissement automatique du calendrier "
|
3974 |
|
4791 |
"Si vous laissez ce champ vide, ce membre d'équipe ne pourra pas accéder à "
|
4792 |
"son planning personnel avec la console WP."
|
4793 |
|
4794 |
+
#, php-format
|
4795 |
+
msgid "This text can be inserted into notifications with %s code."
|
4796 |
+
msgstr "Ce texte est inséré dans les notifications avec le code %s."
|
4797 |
+
|
4798 |
msgid "Archive"
|
4799 |
msgstr "Archiver"
|
4800 |
|
4850 |
msgid "Selected period doesn't match service duration"
|
4851 |
msgstr "Aucun créneau disponible pour la période choisie"
|
4852 |
|
|
|
|
|
|
|
4853 |
msgid "Selected period doesn't match provider's schedule"
|
4854 |
msgstr "La période sélectionnée ne correspond pas au planning du prestataire"
|
4855 |
|
4856 |
msgid "Selected period doesn't match service schedule"
|
4857 |
msgstr "La période sélectionnée ne correspond pas au planning du service"
|
4858 |
|
4859 |
+
msgid "The selected period is occupied by another appointment"
|
4860 |
+
msgstr "La période choisie est occupée par un autre rendez-vous"
|
4861 |
+
|
4862 |
msgid "Booking exceeds the working hours limit for staff member"
|
4863 |
msgstr ""
|
4864 |
"La réservation excède la limite des heures travaillées par le membre de "
|
4877 |
msgstr "Modifier détails Réservation"
|
4878 |
|
4879 |
msgid "Package schedule"
|
4880 |
+
msgstr "Programmation de pack"
|
4881 |
|
4882 |
msgid "View series"
|
4883 |
msgstr "Voir séries"
|
4991 |
msgid "Create service"
|
4992 |
msgstr "Créer un service"
|
4993 |
|
4994 |
+
msgid "Color"
|
4995 |
+
msgstr "Couleur"
|
4996 |
+
|
4997 |
+
msgid "Providers"
|
4998 |
+
msgstr "Prestataires"
|
4999 |
+
|
5000 |
+
msgid "Start and end times of the appointment"
|
5001 |
+
msgstr "Heures de début et de fin du rendez-vous"
|
5002 |
+
|
5003 |
+
msgid ""
|
5004 |
+
"Allows to set the start and end times for an appointment for services with "
|
5005 |
+
"the duration of 1 day or longer. This time will be displayed in "
|
5006 |
+
"notifications to customers, backend calendar and codes for booking form."
|
5007 |
+
msgstr ""
|
5008 |
+
"Permet de définir les heures de début et de fin d'un rendez-vous pour les "
|
5009 |
+
"services d'une durée de 1 jour ou plus. Ce temps sera affiché dans les "
|
5010 |
+
"notifications aux clients, dans le calendrier du back-end et les codes pour "
|
5011 |
+
"le formulaire de réservation. "
|
5012 |
+
|
5013 |
+
msgid "Slot length as service duration"
|
5014 |
+
msgstr "Durée du créneau comme durée du service"
|
5015 |
+
|
5016 |
+
msgid ""
|
5017 |
+
"The time interval which is used as a step when building all time slots for "
|
5018 |
+
"the service at the Time step. The setting overrides global settings in "
|
5019 |
+
"Settings > General. Use Default to apply global settings."
|
5020 |
+
msgstr ""
|
5021 |
+
"L'intervalle de temps utilisé comme une étape lors de la définition des "
|
5022 |
+
"crénaux du service dans l'étape Time. Ce paramètre a priorité sur les "
|
5023 |
+
"paramétrages globaux dans Paramètres généraux. Utilisez Défaut pour "
|
5024 |
+
"appliquer les paramètres globaux."
|
5025 |
+
|
5026 |
msgid "Edit service"
|
5027 |
msgstr "Modifier service"
|
5028 |
|
5057 |
msgstr "quantité totale de réservations dans le panier"
|
5058 |
|
5059 |
msgid "login form"
|
5060 |
+
msgstr "formulaire de connexion"
|
5061 |
|
5062 |
msgid "total price of booking"
|
5063 |
msgstr "prix total de la réservation"
|
5072 |
msgstr "Juste pour passer le mot et et stimuler votre motivation"
|
5073 |
|
5074 |
msgid "Ok, you deserve it"
|
5075 |
+
msgstr "Ok, vous le méritez"
|
5076 |
|
5077 |
msgid "Nope, maybe later"
|
5078 |
msgstr "Non, peut-être plus tard"
|
5170 |
|
5171 |
msgid "Subscribe to monthly emails about Bookly improvements and new releases."
|
5172 |
msgstr ""
|
5173 |
+
"Abonnez vous à nos e-mails mensuels pour recevoir les infos de Bookly et les "
|
5174 |
+
"mises à jour."
|
5175 |
|
5176 |
msgid ""
|
5177 |
"Allow the plugin to set a Powered by Bookly notice on the booking widget to "
|
5193 |
msgstr "Entrez votre e-mail (optionnel)"
|
5194 |
|
5195 |
msgid "Please, check your email to confirm the subscription. Thank you!"
|
5196 |
+
msgstr "Veuillez vérifier vos e-mails pour confirmer l'abonnement. Merci !"
|
5197 |
|
5198 |
msgid "Given email address is already subscribed, thank you!"
|
5199 |
msgstr "L'adresse e-mail fournie est déjà enregistrée. Merci."
|
5303 |
msgid ""
|
5304 |
"Is this something that impacts just you, your whole team, or your customers?"
|
5305 |
msgstr ""
|
5306 |
+
"Cela a-t-il un impact sur vous seul, sur toute votre équipe ou sur vos "
|
5307 |
+
"clients ?"
|
5308 |
|
5309 |
msgid "Proceed to Feature requests"
|
5310 |
msgstr "Valider la Demande de Fonctionnalités"
|
5402 |
msgstr "Erreur"
|
5403 |
|
5404 |
msgid "Notification to customer about purchased package"
|
5405 |
+
msgstr "Notification au client du pack acheté"
|
5406 |
|
5407 |
msgid "Your package at {company_name}"
|
5408 |
+
msgstr "Votre pack de {company_name}"
|
5409 |
|
5410 |
msgid ""
|
5411 |
"Dear {client_name}.\n"
|
5431 |
"{company_website}"
|
5432 |
|
5433 |
msgid "Notification to staff member about purchased package"
|
5434 |
+
msgstr "Notification au membre de l'équipe du pack acheté"
|
5435 |
|
5436 |
msgid "New package booking"
|
5437 |
+
msgstr "Nouvelle réservation de pack"
|
5438 |
|
5439 |
msgid ""
|
5440 |
"Hello.\n"
|
5451 |
msgstr ""
|
5452 |
"Bonjour,\n"
|
5453 |
"\n"
|
5454 |
+
"Vous avez une nouvelle réservation de pack.\n"
|
5455 |
"\n"
|
5456 |
"Package: {package_name}\n"
|
5457 |
"\n"
|
5487 |
"Client email: {client_email}"
|
5488 |
msgstr ""
|
5489 |
"Bonjour,\n"
|
5490 |
+
"Vous avez une nouvelle réservation de pack.\n"
|
5491 |
"Package: {package_name}\n"
|
5492 |
"Nom du Client: {client_name}\n"
|
5493 |
"Tél. du Client: {client_phone}\n"
|
5494 |
"E-mail du Client: {client_email}"
|
5495 |
|
5496 |
msgid "Notification to customer about package deactivation"
|
5497 |
+
msgstr "Notification au client du pack désactivé"
|
5498 |
|
5499 |
msgid "Service package is deactivated"
|
5500 |
+
msgstr "Le pack de service est désactivé"
|
5501 |
|
5502 |
msgid ""
|
5503 |
"Dear {client_name}.\n"
|
5512 |
"{company_website}"
|
5513 |
msgstr ""
|
5514 |
"Cher/Chère {client_name}.\n"
|
5515 |
+
"Votre pack de services {package_name} a été désactivé.\n"
|
5516 |
"\n"
|
5517 |
"Merci d'avoir choisi notre société.\n"
|
5518 |
"\n"
|
5522 |
"{company_website}"
|
5523 |
|
5524 |
msgid "Notification to staff member about package deactivation"
|
5525 |
+
msgstr "Notification au membre de l'équipe du pack désactivé"
|
5526 |
|
5527 |
msgid ""
|
5528 |
"Hello.\n"
|
5537 |
msgstr ""
|
5538 |
"Bonjour,\n"
|
5539 |
"\n"
|
5540 |
+
"Le Pack de services suivant {package_name} a été désactivé.\n"
|
5541 |
"\n"
|
5542 |
"Nom du Client: {client_name}\n"
|
5543 |
"\n"
|
5555 |
"{company_website}"
|
5556 |
msgstr ""
|
5557 |
"Cher/Chère {client_name}.\n"
|
5558 |
+
"Votre Pack de services {package_name} a été désactivé.\n"
|
5559 |
"Merci d'avoir choisi notre société.\n"
|
5560 |
"Si vous avez des questions, merci de nous contacter.\n"
|
5561 |
"{company_name}\n"
|
5570 |
"Client email: {client_email}"
|
5571 |
msgstr ""
|
5572 |
"Bonjour,\n"
|
5573 |
+
"Le Pack de services suivant {package_name} a été désactivé.\n"
|
5574 |
"Nom du Client: {client_name}\n"
|
5575 |
"Tél. du Client: {client_phone}\n"
|
5576 |
"E-mail du Client: {client_email}"
|
5577 |
|
5578 |
msgid "Notification about new package creation"
|
5579 |
+
msgstr "Notification pour la création de nouveau pack"
|
5580 |
|
5581 |
msgid "Notification about package deletion"
|
5582 |
+
msgstr "Notification de suppression de pack"
|
5583 |
|
5584 |
msgid "Creation date"
|
5585 |
msgstr "Date de création"
|
5586 |
|
5587 |
msgid "Packages"
|
5588 |
+
msgstr "Pack"
|
5589 |
+
|
5590 |
+
msgid "New package"
|
5591 |
+
msgstr "Nouveau pack"
|
5592 |
|
5593 |
msgid "Unassigned"
|
5594 |
msgstr "Non assigné"
|
5595 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5596 |
msgid "Edit package"
|
5597 |
+
msgstr "Modifier le pack"
|
5598 |
|
5599 |
msgid "No packages for selected period and criteria."
|
5600 |
+
msgstr "Aucun pack pour la période et les critères sélectionnés"
|
5601 |
|
5602 |
msgid "name of package"
|
5603 |
+
msgstr "nom du pack"
|
5604 |
|
5605 |
msgid "package size"
|
5606 |
+
msgstr "taille du pack"
|
5607 |
|
5608 |
msgid "price of package"
|
5609 |
+
msgstr "prix du pack"
|
5610 |
|
5611 |
msgid "package life time"
|
5612 |
+
msgstr "durée de vie du pack"
|
5613 |
|
5614 |
msgid "reason you mentioned while deleting package"
|
5615 |
+
msgstr "motif que vous avez renseigné lors de la suppression du pack"
|
5616 |
|
5617 |
msgid "Add customer packages list"
|
5618 |
+
msgstr "Ajouter liste des packs client"
|
5619 |
|
5620 |
msgid ""
|
5621 |
"When you select a package the associated services will also be selected. "
|
5634 |
"particulier."
|
5635 |
|
5636 |
msgid "-- Select a package --"
|
5637 |
+
msgstr "-- Choisissez un pack --"
|
5638 |
|
5639 |
msgid "Please select a package"
|
5640 |
+
msgstr "Veuillez choisir un pack"
|
5641 |
|
5642 |
msgid "Incorrect location and package combination"
|
5643 |
+
msgstr "Combinaison location/pack incorrecte"
|
5644 |
|
5645 |
msgid "Please select a customer"
|
5646 |
msgstr "Veuillez choisir un client"
|
5649 |
msgstr "Enregistrer & Planifier"
|
5650 |
|
5651 |
msgid "Could not save package in database."
|
5652 |
+
msgstr "Impossible d'enregistrer le pack dans la base de données"
|
5653 |
|
5654 |
msgid ""
|
5655 |
"Selected appointment date exceeds the period when the customer can use a "
|
5682 |
msgstr "Choisir date du rendez-vous"
|
5683 |
|
5684 |
msgid "Edit package appointment"
|
5685 |
+
msgstr "Editer le rendez-vous du pack"
|
5686 |
|
5687 |
msgid "Delete package appointment"
|
5688 |
+
msgstr "Supprimer le rendez-vous du pack"
|
5689 |
+
|
5690 |
+
msgid ""
|
5691 |
+
"Enable this setting so that the package can be displayed and available for "
|
5692 |
+
"booking when clients have not specified a particular provider."
|
5693 |
+
msgstr ""
|
5694 |
+
"Activez cette option pour que le pack soit affiché et disponible à la "
|
5695 |
+
"réservation lorsque le client ne choisit pas un prestataire particulier."
|
5696 |
+
|
5697 |
+
msgid "Life Time"
|
5698 |
+
msgstr "Durée de vie"
|
5699 |
+
|
5700 |
+
msgid "The period in days when the customer can use a package of services."
|
5701 |
+
msgstr "La période, en jours, où le client peut utiliser le pack de services"
|
5702 |
|
5703 |
msgid "Packages list"
|
5704 |
+
msgstr "Liste des packs"
|
5705 |
|
5706 |
msgid "A custom block for displaying packages list"
|
5707 |
+
msgstr "Bloc personnalisé pour l'affichage de la liste des packs"
|
5708 |
|
5709 |
msgid "Creation Date"
|
5710 |
msgstr "Date création"
|
6032 |
msgid "Print"
|
6033 |
msgstr "Imprimer"
|
6034 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6035 |
msgid "API Username"
|
6036 |
msgstr "Utilisateur API"
|
6037 |
|
6243 |
"<a href=\"%s\" target=\"_blank\">document</a> to <b>verify and register your "
|
6244 |
"domain</b>."
|
6245 |
msgstr ""
|
6246 |
+
"Important : pour la synchronisation two-way, votre site internet doit "
|
6247 |
+
"utiliser HTTPS. L'API Google Calendar ne pourra envoyer des notifications à "
|
6248 |
+
"l'adresse HTTPS que si un certificat SSL valide est installé sur votre "
|
6249 |
+
"serveur Web. Suivez les étapes de ce <a href=\"%s\" target=\"_blank\">"
|
6250 |
+
"document</a> pour <b>vérifier et enregistrer votre domaine</b>."
|
6251 |
|
6252 |
msgid "The client ID obtained from the Developers Console"
|
6253 |
msgstr "L'ID client se trouve dans la Developers Console"
|
6479 |
msgid "Online Meetings"
|
6480 |
msgstr "Réunions en ligne"
|
6481 |
|
6482 |
+
msgid "Form view in case of single booking"
|
6483 |
+
msgstr "Vue de formulaire pour une réservation unique"
|
6484 |
+
|
6485 |
+
msgid "Form view in case of multiple booking"
|
6486 |
+
msgstr "Vue de formulaire pour des réservations multiples"
|
6487 |
|
6488 |
#, php-format
|
6489 |
+
msgid "Form in case of 100% discount"
|
6490 |
+
msgstr "Formulaire pour remise de 100%"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6491 |
|
6492 |
+
msgid "Show birthday field"
|
6493 |
+
msgstr "Afficher champ anniversaire"
|
6494 |
|
6495 |
msgid ""
|
6496 |
+
"Address information is needed for Invoices add-on. To disable, deactivate "
|
6497 |
+
"Invoices add-on first."
|
|
|
|
|
6498 |
msgstr ""
|
6499 |
+
"L'information de l'adresse est obligatoire pour le add-on Factures. Pour la "
|
6500 |
+
"désactiver, désactivez d'abord le add-on Factures."
|
|
|
|
|
6501 |
|
6502 |
+
msgid "Show address fields"
|
6503 |
+
msgstr "Montrer champs adresse"
|
6504 |
|
6505 |
+
msgid "Show Facebook login button"
|
6506 |
+
msgstr "Montrer bouton login Facebook"
|
6507 |
+
|
6508 |
+
#, php-format
|
6509 |
msgid ""
|
6510 |
+
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6511 |
+
"first."
|
6512 |
msgstr ""
|
6513 |
+
"Veuillez d'abord configurer Facebook App integration dans <a href=\"%s\">"
|
6514 |
+
"Settings</a>."
|
6515 |
|
6516 |
+
msgid "Show time zone switcher"
|
6517 |
+
msgstr "Afficher changement fuseau horaire"
|
6518 |
|
6519 |
+
msgid "Import"
|
6520 |
+
msgstr "Importer"
|
|
|
|
|
|
|
|
|
|
|
6521 |
|
6522 |
+
msgid "Note"
|
6523 |
+
msgstr "Note"
|
6524 |
|
6525 |
msgid ""
|
6526 |
+
"You may import list of clients in CSV format. You can choose the columns "
|
6527 |
+
"contained in your file. The sequence of columns should coincide with the "
|
6528 |
+
"specified one."
|
6529 |
msgstr ""
|
6530 |
+
"Vous pouvez importer une liste de clients au format CSV. Vous pouvez choisir "
|
6531 |
+
"les colonnes contenues dans votre fichier. L'ordre des colonnes doit "
|
6532 |
+
"coïncider avec celle spécifiée."
|
6533 |
|
6534 |
+
msgid "Select file"
|
6535 |
+
msgstr "Choisir fichier"
|
6536 |
|
6537 |
+
msgid "Date of birth"
|
6538 |
+
msgstr "Date de naissance"
|
6539 |
|
6540 |
+
msgid "Analytics"
|
6541 |
+
msgstr "Analyse"
|
6542 |
|
6543 |
+
msgid ""
|
6544 |
+
"Note: If payment is made for several services, then for each service you "
|
6545 |
+
"will see the entire amount paid as revenue."
|
6546 |
+
msgstr ""
|
6547 |
+
"Note : Si le paiement est effectué pour plusieurs services, vous verrez pour "
|
6548 |
+
"chaque service que le paiement a été effectué."
|
6549 |
|
6550 |
+
msgid "online meeting join URL"
|
6551 |
+
msgstr "réunion en ligne rejoindre URL"
|
6552 |
|
6553 |
+
msgid "time zone of staff"
|
6554 |
+
msgstr "le fuseau horaire du personnel"
|
6555 |
|
6556 |
+
msgid "Titles"
|
6557 |
+
msgstr "Titres"
|
6558 |
|
6559 |
+
msgid "Add Bookly appointments list"
|
6560 |
+
msgstr "Ajouter la liste de rendez-vous Bookly"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6561 |
|
6562 |
msgid "Add appointment cancellation confirmation"
|
6563 |
msgstr "Ajouter une confirmation d'annulation de rendez-vous"
|
6583 |
msgid "Error dissociating purchase code."
|
6584 |
msgstr "Erreur en dissociant le code achat"
|
6585 |
|
6586 |
+
msgid "Google Calendar integration"
|
6587 |
+
msgstr "Intégration Google Calendar"
|
6588 |
+
|
6589 |
+
#, php-format
|
6590 |
+
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
6591 |
+
msgstr ""
|
6592 |
+
"Veuillez d'abord configurer Google Calendar. <a href=\"%s\">Séttings</a>"
|
6593 |
+
|
6594 |
+
msgid "Synchronize staff member appointments with Google Calendar."
|
6595 |
+
msgstr "Synchroniser les membres d'équipe avec Google Calendar."
|
6596 |
+
|
6597 |
msgid "Archiving Staff"
|
6598 |
msgstr "Archivage équipe"
|
6599 |
|
6608 |
msgid "Ok, continue editing"
|
6609 |
msgstr "Ok, continuer à modifier"
|
6610 |
|
6611 |
+
msgid ""
|
6612 |
+
"The staff member's schedule will be considered to be in the selected time "
|
6613 |
+
"zone. This time zone will also be used for the dates and times in "
|
6614 |
+
"notifications sent to the staff member"
|
6615 |
+
msgstr ""
|
6616 |
+
"L'horaire du membre du personnel sera considéré comme étant dans le fuseau "
|
6617 |
+
"horaire choisi. Ce fuseau horaire sera également utilisé pour les dates et "
|
6618 |
+
"heures des notifications envoyées au membre du personnel"
|
6619 |
+
|
6620 |
+
msgid "Limit working hours per day"
|
6621 |
+
msgstr "Limite des heures travaillées par jour"
|
6622 |
+
|
6623 |
+
msgid "Unlimited"
|
6624 |
+
msgstr "Sans limite"
|
6625 |
+
|
6626 |
+
msgid ""
|
6627 |
+
"This setting allows limiting the total time occupied by bookings per day for "
|
6628 |
+
"staff member. Padding time is not included."
|
6629 |
+
msgstr ""
|
6630 |
+
"Ce paramètre permet de limiter le temps total d'occupation par jour pour les "
|
6631 |
+
"membres de l'équipe Le temps d'attente n'est pas inclus."
|
6632 |
+
|
6633 |
msgid "Reason"
|
6634 |
msgstr "Motif"
|
6635 |
|
6649 |
msgstr "Trouver paiement"
|
6650 |
|
6651 |
msgid "Payment ID"
|
6652 |
+
msgstr "ID du paiement"
|
6653 |
|
6654 |
msgid ""
|
6655 |
"This link can be inserted into notifications with {online_meeting_url} code"
|
6669 |
msgid "Custom service price"
|
6670 |
msgstr "Prix de service personnalisé"
|
6671 |
|
6672 |
+
msgid "Create online meetings"
|
6673 |
+
msgstr "Créer des réunions online"
|
6674 |
+
|
6675 |
+
#, php-format
|
6676 |
+
msgid ""
|
6677 |
+
"If this setting is enabled then online meetings will be created for new "
|
6678 |
+
"appointments with the selected online meeting provider. Make sure that the "
|
6679 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6680 |
+
"Meetings</a>"
|
6681 |
+
msgstr ""
|
6682 |
+
"Si ce paramètre est activé, des réunions en ligne seront créées pour les "
|
6683 |
+
"nouveaux rendez-vous avec le fournisseur de réunions en ligne sélectionné. "
|
6684 |
+
"Assurez-vous que le fournisseur est correctement configuré dans Paramètres "
|
6685 |
+
"<a href=\"%s\">Réunions en ligne</a>\n"
|
6686 |
+
"\n"
|
6687 |
+
|
6688 |
+
msgid "Padding time (before and after)"
|
6689 |
+
msgstr "Marge de temps (avant et après)"
|
6690 |
+
|
6691 |
+
msgid ""
|
6692 |
+
"Set padding time before and/or after an appointment. For example, if you "
|
6693 |
+
"require 15 minutes to prepare for the next appointment then you should set "
|
6694 |
+
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
6695 |
+
"then the next available time slot will be 9:15 rather than 9:00."
|
6696 |
+
msgstr ""
|
6697 |
+
"Réglez la marge de temps avant et après un rendez-vous. Par exemple, si vous "
|
6698 |
+
"avez besoin de 15 minutes pour préparer le prochain rendez-vous, réglez la "
|
6699 |
+
"marge avant à 15 minutes. Si une réservation est de 8:00 à 9:00, le créneau "
|
6700 |
+
"suivant sera disponible à partir de 9:15 au lieu de 9:00."
|
6701 |
+
|
6702 |
+
msgid "Providers preference for ANY"
|
6703 |
+
msgstr "Préférence prestataire pour TOUS"
|
6704 |
+
|
6705 |
+
msgid ""
|
6706 |
+
"Allows you to define the rule of staff members auto assignment when ANY "
|
6707 |
+
"option is selected"
|
6708 |
+
msgstr ""
|
6709 |
+
"Permet de définir les règles d'auto-assignation des membres si l'option TOUS "
|
6710 |
+
"est choisie"
|
6711 |
+
|
6712 |
+
msgid "Period (before and after)"
|
6713 |
+
msgstr "Période (avant et après)"
|
6714 |
+
|
6715 |
+
msgid ""
|
6716 |
+
"Set number of days before and after appointment that will be taken into "
|
6717 |
+
"account when calculating provider's occupancy. 0 means the day of booking."
|
6718 |
+
msgstr ""
|
6719 |
+
"Fixer le nombre de jours avant et après le rendez-vous qui sera pris en "
|
6720 |
+
"compte dans le calcul de l'occupation du prestataire. 0 signifie le jour de "
|
6721 |
+
"la réservation."
|
6722 |
+
|
6723 |
+
msgid "Pick random staff member in case of uncertainty"
|
6724 |
+
msgstr "Choisir un membre du personnel au hasard en cas d'incertitude "
|
6725 |
+
|
6726 |
+
msgid ""
|
6727 |
+
"Enable this option to pick a random staff member if both meet the criteria "
|
6728 |
+
"chosen in \"Providers preference for ANY\". Otherwise the selection order is "
|
6729 |
+
"unknown."
|
6730 |
+
msgstr ""
|
6731 |
+
"Activez cette option pour choisir un membre du personnel au hasard si tous "
|
6732 |
+
"deux répondent aux critères choisis dans \"Préférence des fournisseurs pour "
|
6733 |
+
"TOUT\". Autrement, l'ordre de sélection est inconnu."
|
6734 |
+
|
6735 |
+
msgid "Limit appointments per customer"
|
6736 |
+
msgstr "Limite de rendez-vous par client"
|
6737 |
+
|
6738 |
+
msgid "upcoming"
|
6739 |
+
msgstr "à venir"
|
6740 |
+
|
6741 |
+
msgid "per 24 hours"
|
6742 |
+
msgstr "par 24 heures"
|
6743 |
+
|
6744 |
+
msgid "per day"
|
6745 |
+
msgstr "par jour"
|
6746 |
+
|
6747 |
+
msgid "per 7 days"
|
6748 |
+
msgstr "par 7 jours"
|
6749 |
+
|
6750 |
+
msgid "per week"
|
6751 |
+
msgstr "par semaine"
|
6752 |
+
|
6753 |
+
msgid "per 30 days"
|
6754 |
+
msgstr "par 30 jours"
|
6755 |
+
|
6756 |
+
msgid "per month"
|
6757 |
+
msgstr "par mois"
|
6758 |
+
|
6759 |
+
msgid "per 365 days"
|
6760 |
+
msgstr "par 365 jours"
|
6761 |
+
|
6762 |
+
msgid "per year"
|
6763 |
+
msgstr "par année"
|
6764 |
+
|
6765 |
+
msgid ""
|
6766 |
+
"This setting allows you to limit the number of appointments that can be "
|
6767 |
+
"booked by a customer in any given period. Restriction may end after a fixed "
|
6768 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
6769 |
+
"month, etc."
|
6770 |
+
msgstr ""
|
6771 |
+
"Ce paramètre permet de limiter le nombre de rendez-vous qui réservés par un "
|
6772 |
+
"client pour une période de temps donnée. La limite peut être levée après une "
|
6773 |
+
"période de temps donnée ou une nouvelle période calendaire: jour, semaine, "
|
6774 |
+
"mois, etc."
|
6775 |
+
|
6776 |
+
msgid "Limit"
|
6777 |
+
msgstr "Limiter"
|
6778 |
+
|
6779 |
+
msgid ""
|
6780 |
+
"To make service invisible to your customers set the visibility to "
|
6781 |
+
"\"Private\"."
|
6782 |
+
msgstr "Pour rendre ce service invisible a vos clients, choisissez \"Privé\"."
|
6783 |
+
|
6784 |
+
msgid "Specified order"
|
6785 |
+
msgstr "Ordre spécifié"
|
6786 |
+
|
6787 |
+
msgid "Least occupied that day"
|
6788 |
+
msgstr "Le moins occupé ce jour"
|
6789 |
+
|
6790 |
+
msgid "Most occupied that day"
|
6791 |
+
msgstr "Le plus occupé ce jour"
|
6792 |
+
|
6793 |
+
msgid "Least occupied for period"
|
6794 |
+
msgstr "Le moins occupé dans la période"
|
6795 |
+
|
6796 |
+
msgid "Most occupied for period"
|
6797 |
+
msgstr "Le plus occupé dans la période"
|
6798 |
+
|
6799 |
+
msgid "Least expensive"
|
6800 |
+
msgstr "Moins cher"
|
6801 |
+
|
6802 |
+
msgid "Most expensive"
|
6803 |
+
msgstr "le plus cher"
|
6804 |
+
|
6805 |
msgid "Welcome to Bookly Pro and thank you for purchasing our product!"
|
6806 |
msgstr "Bienvenu à Bookly Pro et merci d'avoir acheté notre produit !"
|
6807 |
|
7130 |
msgid "Tasks"
|
7131 |
msgstr "Tâches"
|
7132 |
|
7133 |
+
msgid "Skip time selection"
|
7134 |
+
msgstr "Passer la sélection du temps"
|
7135 |
+
|
7136 |
msgid "Time step settings"
|
7137 |
msgstr "Paramètres étape Time"
|
7138 |
|
7148 |
"vous, cachez-le et créez un tâche sans heure définie, ou affichez l'étape "
|
7149 |
"Time, mais autorisez le client à la passer. "
|
7150 |
|
|
|
|
|
|
|
7151 |
msgid "Incorrect payment data"
|
7152 |
msgstr "Informations paiement incorrectes"
|
7153 |
|
7180 |
msgstr "Limite d'utilisation"
|
7181 |
|
7182 |
msgid "Number of times used"
|
7183 |
+
msgstr "Nombre de fois utilisé"
|
7184 |
|
7185 |
msgid "Active from"
|
7186 |
msgstr "Actif depuis"
|
7349 |
msgid "No customer groups yet."
|
7350 |
msgstr "Aucun groupe créé"
|
7351 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7352 |
msgid "Customer Group"
|
7353 |
msgstr "Groupe de clients"
|
7354 |
|
7373 |
msgid "Group name is required"
|
7374 |
msgstr "Nom du groupe obligatoire"
|
7375 |
|
7376 |
+
msgid "Groups"
|
7377 |
+
msgstr "Groupes"
|
7378 |
+
|
7379 |
+
msgid "All groups"
|
7380 |
+
msgstr "Tous les groupes"
|
7381 |
+
|
7382 |
+
msgid "No group selected"
|
7383 |
+
msgstr "Aucun groupe sélectionné"
|
7384 |
+
|
7385 |
+
msgid "Customer group based"
|
7386 |
+
msgstr "Client avec groupe"
|
7387 |
+
|
7388 |
msgid "Notification to customer about placing on waiting list"
|
7389 |
msgstr "Notification au client sur le placement en liste d'attente"
|
7390 |
|
7603 |
msgstr "Sélectionnez les Suppléments que vous souhaitez (Sélection multiple)"
|
7604 |
|
7605 |
msgid "Multiply extras by number of persons"
|
7606 |
+
msgstr "Multiplier les suppléments par le nombre de personnes"
|
7607 |
|
7608 |
msgid "If enabled, all extras will be multiplied by number of persons."
|
7609 |
msgstr ""
|
7632 |
"prix total des supplé\n"
|
7633 |
"ments"
|
7634 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7635 |
msgid "Show title"
|
7636 |
msgstr "Afficher titre"
|
7637 |
|
7653 |
msgid "Show extras"
|
7654 |
msgstr "Afficher les suppléments"
|
7655 |
|
7656 |
+
msgid "Max quantity"
|
7657 |
+
msgstr "Quantité maxi."
|
7658 |
+
|
7659 |
+
msgid "New Item"
|
7660 |
+
msgstr "Nouvel article"
|
7661 |
+
|
7662 |
msgid "Extras tax"
|
7663 |
msgstr "Taxes additionnelles"
|
7664 |
|
7720 |
msgstr "Statuts personnalisés"
|
7721 |
|
7722 |
msgid "PayPal ID"
|
7723 |
+
msgstr "ID de PayPal"
|
7724 |
|
7725 |
msgid ""
|
7726 |
"Your PayPal ID or an email address associated with your PayPal account. "
|
7729 |
"Votre ID PayPal ou l'adresse e-mail associée à votre compte PayPal. "
|
7730 |
"L'adresse e-mail doit être confirmée."
|
7731 |
|
7732 |
+
msgid "Disable special hours update"
|
7733 |
+
msgstr "Désactiver modification heures spéciales"
|
7734 |
+
|
7735 |
msgid "Special prices for appointments which begin between:"
|
7736 |
msgstr "Prix spéciaux pour les rendez-vous commençant entre:"
|
7737 |
|
7738 |
msgid "add special period"
|
7739 |
msgstr "ajouter période spéciale"
|
7740 |
|
|
|
|
|
|
|
7741 |
msgid "Please select a location"
|
7742 |
msgstr "Veuillez choisir un site"
|
7743 |
|
7747 |
msgid "Locations"
|
7748 |
msgstr "Sites"
|
7749 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7750 |
msgid "Custom settings for location"
|
7751 |
msgstr "Paramètres personnalisés pour le site"
|
7752 |
|
7758 |
"pour les membres de l'équipe sur différents sites"
|
7759 |
|
7760 |
msgid "location info"
|
7761 |
+
msgstr "info de location"
|
7762 |
|
7763 |
msgid "location name"
|
7764 |
msgstr "nom du site"
|
7787 |
msgid "Default value for location select"
|
7788 |
msgstr "Valeur par défaut pour le choix du site"
|
7789 |
|
7790 |
+
msgid "Default settings"
|
7791 |
+
msgstr "Valeurs par défaut"
|
7792 |
+
|
7793 |
+
msgid ""
|
7794 |
+
"Set Default values that will be used in all locations where Use default "
|
7795 |
+
"settings is selected. To use custom settings in a location, select Use "
|
7796 |
+
"custom settings and enter custom values."
|
7797 |
+
msgstr ""
|
7798 |
+
"Définir valeurs par défaut qui seront utilisées pour tous les sites où "
|
7799 |
+
"Paramètre par défaut est utilisé. Pour utiliser les paramètres par défaut "
|
7800 |
+
"pour un site, sélectionnez Utiliser Paramètres Personnalisés et entrez les "
|
7801 |
+
"valeurs personnalisées."
|
7802 |
+
|
7803 |
+
msgid "Use default settings"
|
7804 |
+
msgstr "Utiliser valeurs par défaut"
|
7805 |
+
|
7806 |
+
msgid "Use custom settings"
|
7807 |
+
msgstr "Utiliser paramètres personnalisés"
|
7808 |
+
|
7809 |
+
msgid "Select locations where the services are provided."
|
7810 |
+
msgstr "Choisissez des sites où le service est disponible"
|
7811 |
+
|
7812 |
msgid "Account ID"
|
7813 |
msgstr "ID compte"
|
7814 |
|
7866 |
msgid "URL of the page for staff rating"
|
7867 |
msgstr "URL de la page pour l'évaluation de l'équipe"
|
7868 |
|
|
|
|
|
|
|
7869 |
msgid "Add staff rating form"
|
7870 |
msgstr "Ajouter formulaire d'évaluation équipe"
|
7871 |
|
languages/bookly-nl_NL.mo
CHANGED
Binary file
|
languages/bookly-nl_NL.po
CHANGED
@@ -8,8 +8,8 @@ msgstr ""
|
|
8 |
"Language: nl_NL\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2020-
|
12 |
-
"PO-Revision-Date: 2020-
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Dutch\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
@@ -185,43 +185,6 @@ msgstr "E-mail"
|
|
185 |
msgid "Phone"
|
186 |
msgstr "Telefoon"
|
187 |
|
188 |
-
msgid "Outlook Calendar integration"
|
189 |
-
msgstr "Outlook Kalender integratie"
|
190 |
-
|
191 |
-
msgid "Connect"
|
192 |
-
msgstr "Verbinden"
|
193 |
-
|
194 |
-
#, php-format
|
195 |
-
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
196 |
-
msgstr "Configureer Outlook Kalender <a href=\"%s\">settings</a> eerst"
|
197 |
-
|
198 |
-
msgid "Connected"
|
199 |
-
msgstr "Verbonden"
|
200 |
-
|
201 |
-
msgid "disconnect"
|
202 |
-
msgstr "niet verbonden"
|
203 |
-
|
204 |
-
msgid "Synchronize staff member appointments with Outlook Calendar."
|
205 |
-
msgstr "Synchroniseer afspraken van personeelslid met Outlook Kalender."
|
206 |
-
|
207 |
-
msgid "Calendar"
|
208 |
-
msgstr "Kalender"
|
209 |
-
|
210 |
-
msgid "-- Select calendar --"
|
211 |
-
msgstr "-- Selecteer kalender --"
|
212 |
-
|
213 |
-
msgid ""
|
214 |
-
"When you connect a calendar all future and past events will be synchronized "
|
215 |
-
"according to the selected synchronization mode. This may take a few minutes. "
|
216 |
-
"Please wait."
|
217 |
-
msgstr ""
|
218 |
-
"Wanneer u een kalender verbind worden alle toekomstige en afgelopen "
|
219 |
-
"evenementen gesynchroniseerd volgens de geselecteerde synchronisatie modus. "
|
220 |
-
"Dit kan een paar minuten duren. Even geduld a.u.b."
|
221 |
-
|
222 |
-
msgid "Can't change calendar for archived staff"
|
223 |
-
msgstr "Wijzig kalender niet voor gearchiveerd personeel"
|
224 |
-
|
225 |
msgid "Instructions"
|
226 |
msgstr "Instructies"
|
227 |
|
@@ -538,6 +501,43 @@ msgstr "Synchroniseer met Outlook Kalender"
|
|
538 |
msgid "Calendars synchronized successfully."
|
539 |
msgstr "Kalenders met succes gesynchroniseerd."
|
540 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
541 |
msgid "Custom Fields"
|
542 |
msgstr "Aangepaste velden"
|
543 |
|
@@ -1265,21 +1265,6 @@ msgstr ""
|
|
1265 |
"Stel de URL van een pagina in die wordt getoond als de goedkeuring van een "
|
1266 |
"terugkerende afspraak niet kan worden uitgevoerd (gewijzigd status, enz.)."
|
1267 |
|
1268 |
-
msgid "Enabled"
|
1269 |
-
msgstr "Ingeschakeld"
|
1270 |
-
|
1271 |
-
msgid "Allow this service to have recurring appointments."
|
1272 |
-
msgstr "Sta deze dienst toe om terugkerende afspraken te hebben."
|
1273 |
-
|
1274 |
-
msgid "Frequencies"
|
1275 |
-
msgstr "Frequenties"
|
1276 |
-
|
1277 |
-
msgid "All"
|
1278 |
-
msgstr "Allemaal"
|
1279 |
-
|
1280 |
-
msgid "Nothing selected"
|
1281 |
-
msgstr "Niets geselecteerd"
|
1282 |
-
|
1283 |
msgid "Edit"
|
1284 |
msgstr "Bewerken"
|
1285 |
|
@@ -1310,6 +1295,28 @@ msgstr "terugkerende afspraken"
|
|
1310 |
msgid "Every"
|
1311 |
msgstr "Iedere"
|
1312 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1313 |
msgid "Back"
|
1314 |
msgstr "Vorige"
|
1315 |
|
@@ -1346,6 +1353,21 @@ msgstr "Terugkerende afspraken"
|
|
1346 |
msgid "Close"
|
1347 |
msgstr "Sluiten"
|
1348 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1349 |
msgid "Save"
|
1350 |
msgstr "Opslaan"
|
1351 |
|
@@ -1370,6 +1392,12 @@ msgstr "Merchant Salt"
|
|
1370 |
msgid "Duration"
|
1371 |
msgstr "Duur"
|
1372 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1373 |
msgid ""
|
1374 |
"Set service duration. If you select Custom, a client, while booking, will "
|
1375 |
"have to choose the duration of the service from several time units. In the "
|
@@ -1396,11 +1424,17 @@ msgstr "Unit prijs"
|
|
1396 |
msgid "Custom"
|
1397 |
msgstr "Aangepast"
|
1398 |
|
1399 |
-
msgid "
|
1400 |
-
msgstr "
|
1401 |
|
1402 |
-
msgid "
|
1403 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
1404 |
|
1405 |
msgid "Delete break"
|
1406 |
msgstr "Verwijder pauze"
|
@@ -1420,27 +1454,24 @@ msgstr "pauze toevoegen"
|
|
1420 |
msgid "Special Days"
|
1421 |
msgstr "Speciale Dagen"
|
1422 |
|
1423 |
-
msgid "Are you sure?"
|
1424 |
-
msgstr "Weet je het zeker?"
|
1425 |
-
|
1426 |
-
msgid "Duplicate dates are not permitted."
|
1427 |
-
msgstr "Dubbele data zijn niet toegestaan."
|
1428 |
-
|
1429 |
-
msgid "Date in the past."
|
1430 |
-
msgstr "Datum in het verleden."
|
1431 |
-
|
1432 |
msgid "The requested interval is not available"
|
1433 |
msgstr "De gevraagde interval is niet beschikbaar"
|
1434 |
|
1435 |
msgid "OFF"
|
1436 |
msgstr "UIT"
|
1437 |
|
1438 |
-
msgid "Add Staff Special Days"
|
1439 |
-
msgstr "Personeel Toevoegen Speciale Dagen"
|
1440 |
-
|
1441 |
msgid "Uncategorized"
|
1442 |
msgstr "Geen categorie"
|
1443 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1444 |
msgid "Spare time"
|
1445 |
msgstr "Vrije tijd"
|
1446 |
|
@@ -1462,15 +1493,6 @@ msgstr ""
|
|
1462 |
"de eerste stap van het boekingsformulier, dan wordt alleen dit personeelslid "
|
1463 |
"gebruikt voor het zoeken naar beschikbare slots voor alle subservices."
|
1464 |
|
1465 |
-
msgid "Compound"
|
1466 |
-
msgstr "Samengestelde"
|
1467 |
-
|
1468 |
-
msgid "Part of compound service"
|
1469 |
-
msgstr "Deel van de samengestelde dienst"
|
1470 |
-
|
1471 |
-
msgid "Compound service"
|
1472 |
-
msgstr "Compound dienst"
|
1473 |
-
|
1474 |
msgid "Short Codes"
|
1475 |
msgstr "Verkorte Codes"
|
1476 |
|
@@ -1580,9 +1602,6 @@ msgstr "Weergegeven afspraken"
|
|
1580 |
msgid "Upcoming appointments"
|
1581 |
msgstr "Komende afspraken"
|
1582 |
|
1583 |
-
msgid "All appointments"
|
1584 |
-
msgstr "Alle afspraken"
|
1585 |
-
|
1586 |
msgid "Delimiter"
|
1587 |
msgstr "Scheidingsteken"
|
1588 |
|
@@ -1728,9 +1747,6 @@ msgstr "Geen belastingen gevonden."
|
|
1728 |
msgid "Processing..."
|
1729 |
msgstr "Verwerken..."
|
1730 |
|
1731 |
-
msgid "Taxation"
|
1732 |
-
msgstr "Belasting"
|
1733 |
-
|
1734 |
msgid "service tax amount"
|
1735 |
msgstr "servicebelastingsbedrag"
|
1736 |
|
@@ -1757,6 +1773,9 @@ msgstr ""
|
|
1757 |
"belastingbedrag moet rapporteren aan het betalingssysteem, gebruik dan geen "
|
1758 |
"extra kosten."
|
1759 |
|
|
|
|
|
|
|
1760 |
msgid "Customer Information"
|
1761 |
msgstr "Klant Informatie"
|
1762 |
|
@@ -1822,9 +1841,6 @@ msgstr "Personen"
|
|
1822 |
msgid "Number of persons"
|
1823 |
msgstr "Aantal personen"
|
1824 |
|
1825 |
-
msgid "Capacity (min and max)"
|
1826 |
-
msgstr "Capaciteit (min en max)"
|
1827 |
-
|
1828 |
msgid "Group bookings information format"
|
1829 |
msgstr "Groepsboeking informatie formaat"
|
1830 |
|
@@ -1852,6 +1868,15 @@ msgstr "aantal personen die al in de lijst staan"
|
|
1852 |
msgid "capacity of service"
|
1853 |
msgstr "capaciteit van de dienstverlening"
|
1854 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1855 |
msgid ""
|
1856 |
"The minimum and maximum number of customers allowed to book the service for "
|
1857 |
"the certain time period."
|
@@ -1869,12 +1894,6 @@ msgstr ""
|
|
1869 |
"Schakel deze optie in als u de mogelijkheid van boeken binnen een bepaalde "
|
1870 |
"service capaciteit wilt beperking tot een keer."
|
1871 |
|
1872 |
-
msgid "Show information about group bookings"
|
1873 |
-
msgstr "Toon informatie over groepsboekingen"
|
1874 |
-
|
1875 |
-
msgid "Disable capacity update"
|
1876 |
-
msgstr "Capaciteit update uitschakelen"
|
1877 |
-
|
1878 |
msgid "Address"
|
1879 |
msgstr "Adres"
|
1880 |
|
@@ -1931,11 +1950,18 @@ msgstr "Toon adres verplicht"
|
|
1931 |
msgid "Show google maps field"
|
1932 |
msgstr "Toon google maps informatie"
|
1933 |
|
1934 |
-
msgid "
|
1935 |
-
msgstr "
|
1936 |
|
1937 |
-
msgid "
|
1938 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1939 |
|
1940 |
msgid "Collaborative"
|
1941 |
msgstr "Samenwerkend"
|
@@ -1946,6 +1972,12 @@ msgstr "Samenwerkende service"
|
|
1946 |
msgid "Part of collaborative service"
|
1947 |
msgstr "Onderdeel van samenwerkende service"
|
1948 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1949 |
msgid "Customer cabinet (all services displayed in tabs)"
|
1950 |
msgstr "Klant cabinet (alle diensten getoond in tabbladen)"
|
1951 |
|
@@ -2266,7 +2298,7 @@ msgstr ""
|
|
2266 |
"{company_website}"
|
2267 |
|
2268 |
msgid "Notification to staff member about approved appointment"
|
2269 |
-
msgstr "Kennisgeving aan medewerker over
|
2270 |
|
2271 |
msgid ""
|
2272 |
"Hello.\n"
|
@@ -2648,7 +2680,7 @@ msgid "Select category"
|
|
2648 |
msgstr "Selecteer categorie"
|
2649 |
|
2650 |
msgid "Any"
|
2651 |
-
msgstr "
|
2652 |
|
2653 |
msgid "Select service"
|
2654 |
msgstr "Selecteer een dienst"
|
@@ -3087,43 +3119,6 @@ msgstr ""
|
|
3087 |
"gebruikersdata moeten bijwerken, of klik op Annuleer om de ingegeven data te "
|
3088 |
"bewerken."
|
3089 |
|
3090 |
-
msgid "sent to our system"
|
3091 |
-
msgstr "verzonden naar ons systeem"
|
3092 |
-
|
3093 |
-
msgid ""
|
3094 |
-
"Hope you had a good weekend! Here's a summary of messages we've delivered "
|
3095 |
-
"last week:\n"
|
3096 |
-
"{notification_list}\n"
|
3097 |
-
"\n"
|
3098 |
-
"Your system sent a total of {total} messages last week (that's {delta} {sign}"
|
3099 |
-
" than the week before).\n"
|
3100 |
-
"Cost of sending {total} messages was {amount}. Your current Bookly SMS "
|
3101 |
-
"balance is {balance}.\n"
|
3102 |
-
"\n"
|
3103 |
-
"Thank you for using Bookly SMS. We wish you a lucky week!\n"
|
3104 |
-
"Bookly SMS Team"
|
3105 |
-
msgstr ""
|
3106 |
-
"Ik hoop dat u een goed weekend heeft gehad! Hier is een samenvatting van "
|
3107 |
-
"berichten die we vorige week hebben afgeleverd:\n"
|
3108 |
-
"{notification_list}\n"
|
3109 |
-
"\n"
|
3110 |
-
"Uw systeem heeft vorige week in totaal {total} berichten verzonden (dat is "
|
3111 |
-
"{delta} {sign} dan de week ervoor).\n"
|
3112 |
-
"De kosten voor het verzenden van {totaal} berichten waren {bedrag}. Uw "
|
3113 |
-
"huidige SMS-saldo van Bookly is {saldo}.\n"
|
3114 |
-
"\n"
|
3115 |
-
"Bedankt voor het gebruik van Bookly SMS. Wij wensen u een fijne week!\n"
|
3116 |
-
"Bookly SMS Team"
|
3117 |
-
|
3118 |
-
msgid "more"
|
3119 |
-
msgstr "meer"
|
3120 |
-
|
3121 |
-
msgid "less"
|
3122 |
-
msgstr "minder"
|
3123 |
-
|
3124 |
-
msgid "Bookly SMS weekly summary"
|
3125 |
-
msgstr "Bookly SMS wekelijkse samenvatting"
|
3126 |
-
|
3127 |
msgid "Internal Notes"
|
3128 |
msgstr "Interne Notities"
|
3129 |
|
@@ -3310,23 +3305,29 @@ msgstr ""
|
|
3310 |
"widget om informatie over de plug-in te verspreiden. Hierdoor kan het team "
|
3311 |
"het product verbeteren en de functionaliteit ervan verbeteren"
|
3312 |
|
3313 |
-
msgid "
|
3314 |
-
msgstr "
|
3315 |
|
3316 |
msgid ""
|
3317 |
-
"Select \"
|
3318 |
"caching plugins by adding a DONOTCACHEPAGE constant on pages with booking "
|
3319 |
-
"form
|
3320 |
msgstr ""
|
3321 |
-
"Selecteer \"
|
3322 |
-
"ins van derden voorkomt door een constante DONOTCACHEPAGE toe te voegen
|
3323 |
-
"pagina's met boekingsformulier
|
3324 |
|
3325 |
-
msgid "
|
3326 |
-
msgstr "
|
3327 |
|
3328 |
-
msgid "
|
3329 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3330 |
|
3331 |
msgid "Service paid locally"
|
3332 |
msgstr "Dienst ter plaatse betalen"
|
@@ -3346,6 +3347,9 @@ msgstr "Werkuren"
|
|
3346 |
msgid "Holidays"
|
3347 |
msgstr "Vakanties"
|
3348 |
|
|
|
|
|
|
|
3349 |
msgid "Approve appointment URL (success)"
|
3350 |
msgstr "Afspraak URL goedkeuren (succes)"
|
3351 |
|
@@ -3539,6 +3543,41 @@ msgstr ""
|
|
3539 |
"is dan die van de vorige bestelling zal een waarschuwingsmelding verschijnen "
|
3540 |
"die vraagt om de data bij te werken."
|
3541 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3542 |
#, php-format
|
3543 |
msgid ""
|
3544 |
"WooCommerce cart is not set up. Follow the <a href=\"%s\">link</a> to "
|
@@ -3547,6 +3586,9 @@ msgstr ""
|
|
3547 |
"WooCommerce winkelwagen is niet ingesteld. Volg de <a href=\"%s\">link</a> "
|
3548 |
"om dit probleem te verhelpen."
|
3549 |
|
|
|
|
|
|
|
3550 |
msgid "SMS Notifications"
|
3551 |
msgstr "SMS-meldingen"
|
3552 |
|
@@ -3589,7 +3631,7 @@ msgstr ""
|
|
3589 |
"geldig telefoonnummer bijvoorbeeld +31202225555."
|
3590 |
|
3591 |
msgid "Quick search notifications"
|
3592 |
-
msgstr "
|
3593 |
|
3594 |
#, php-format
|
3595 |
msgid ""
|
@@ -3633,9 +3675,6 @@ msgstr "Annuleer verzoek"
|
|
3633 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3634 |
msgstr "Kan alleen letters of cijfers bevatten (maximaal 11 tekens)."
|
3635 |
|
3636 |
-
msgid "Last month"
|
3637 |
-
msgstr "Afgelopen maand"
|
3638 |
-
|
3639 |
msgid "Sender ID request is sent."
|
3640 |
msgstr "Afzender ID verzoek is verzonden."
|
3641 |
|
@@ -3717,8 +3756,8 @@ msgstr "Bewaar factuur instellingen"
|
|
3717 |
msgid "Send email notification to administrators at low balance"
|
3718 |
msgstr "Stuur e-mail notificatie aan beheerders bij lage balans"
|
3719 |
|
3720 |
-
msgid "Send weekly summary
|
3721 |
-
msgstr "Stuur wekelijkse samenvatting
|
3722 |
|
3723 |
msgid ""
|
3724 |
"Your country is the location from where you consume Bookly SMS services and "
|
@@ -3741,7 +3780,7 @@ msgid "Passwords don't match"
|
|
3741 |
msgstr "Wachtwoorden komen niet overeen"
|
3742 |
|
3743 |
msgid "Services order"
|
3744 |
-
msgstr "
|
3745 |
|
3746 |
msgid "Add service"
|
3747 |
msgstr "Voeg dienst toe"
|
@@ -3767,59 +3806,18 @@ msgstr "Onthoud mijn keuze"
|
|
3767 |
msgid "No, update just here in services"
|
3768 |
msgstr "Nee, wijzig het alleen hier in de diensten"
|
3769 |
|
3770 |
-
msgid "
|
3771 |
-
msgstr "
|
3772 |
|
3773 |
-
msgid "
|
3774 |
-
msgstr "
|
3775 |
|
3776 |
-
msgid "
|
3777 |
-
msgstr "
|
|
|
3778 |
|
3779 |
-
msgid "
|
3780 |
-
msgstr "
|
3781 |
-
|
3782 |
-
#, php-format
|
3783 |
-
msgid "This text can be inserted into notifications with %s code."
|
3784 |
-
msgstr "Deze tekst kan in meldingen worden ingevoegd met %s code."
|
3785 |
-
|
3786 |
-
msgid "Start and end times of the appointment"
|
3787 |
-
msgstr "Start- en eindtijd van de afspraak"
|
3788 |
-
|
3789 |
-
msgid ""
|
3790 |
-
"Allows to set the start and end times for an appointment for services with "
|
3791 |
-
"the duration of 1 day or longer. This time will be displayed in "
|
3792 |
-
"notifications to customers, backend calendar and codes for booking form."
|
3793 |
-
msgstr ""
|
3794 |
-
"Staat toe om de start- en eindtijden in te stellen voor een afspraak voor "
|
3795 |
-
"diensten met de lengte van 1 dag of langer. Deze tijd zal worden getoond in "
|
3796 |
-
"meldingen naar klanten, backend kalender en codes voor boekingsformulieren."
|
3797 |
-
|
3798 |
-
msgid "Slot length as service duration"
|
3799 |
-
msgstr "Lengte vak als service tijdsduur"
|
3800 |
-
|
3801 |
-
msgid ""
|
3802 |
-
"The time interval which is used as a step when building all time slots for "
|
3803 |
-
"the service at the Time step. The setting overrides global settings in "
|
3804 |
-
"Settings > General. Use Default to apply global settings."
|
3805 |
-
msgstr ""
|
3806 |
-
"De tijdsinterval die wordt gebruikt als een stap bij het bouwen van alle "
|
3807 |
-
"tijdvakken voor de service in de Tijd stap. De instelling gaat voor de "
|
3808 |
-
"algemene instellingen in de Instellingen Algemeen. Gebruik Standaard om "
|
3809 |
-
"algemene instellingen toe te passen."
|
3810 |
-
|
3811 |
-
msgid "The service will be created with the visibility of Private."
|
3812 |
-
msgstr "De service wordt gemaakt met de zichtbaarheid van Privé."
|
3813 |
-
|
3814 |
-
msgid "Duplicate"
|
3815 |
-
msgstr "Dupliceer"
|
3816 |
-
|
3817 |
-
msgid "You must select at least one repeat option for recurring services."
|
3818 |
-
msgstr ""
|
3819 |
-
"Je moet ten minste één herhaaloptie selecteren voor terugkerende services."
|
3820 |
-
|
3821 |
-
msgid "Simple"
|
3822 |
-
msgstr "Eenvoudig"
|
3823 |
|
3824 |
#, php-format
|
3825 |
msgid "%d service"
|
@@ -3944,6 +3942,12 @@ msgstr "Deactiveringsdatum"
|
|
3944 |
msgid "Stripe activation was not completed"
|
3945 |
msgstr "Stripe activatie is niet afgerond"
|
3946 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3947 |
msgid "Auto-refresh Calendar"
|
3948 |
msgstr "Automatisch verversen Kalender"
|
3949 |
|
@@ -4582,7 +4586,7 @@ msgid "Auto-Recharge has been cancelled"
|
|
4582 |
msgstr "Automatisch herladen is geannuleerd"
|
4583 |
|
4584 |
msgid "current<br/>balance"
|
4585 |
-
msgstr "
|
4586 |
|
4587 |
msgid "Recharge"
|
4588 |
msgstr "Herladen"
|
@@ -4641,7 +4645,7 @@ msgid "Notification settings"
|
|
4641 |
msgstr "Melding instellingen"
|
4642 |
|
4643 |
msgid "Enter notification name which will be displayed in the list."
|
4644 |
-
msgstr "Vul naam melding in
|
4645 |
|
4646 |
msgid ""
|
4647 |
"Choose whether notification is enabled and sending messages or it is "
|
@@ -4757,6 +4761,10 @@ msgstr ""
|
|
4757 |
"Wanneer u dit veld leeg laat, kan de medewerker zijn/haar persoonlijke "
|
4758 |
"agenda niet benaderen via de WP backend."
|
4759 |
|
|
|
|
|
|
|
|
|
4760 |
msgid "Archive"
|
4761 |
msgstr "Archiveer"
|
4762 |
|
@@ -4812,9 +4820,6 @@ msgstr "Periode"
|
|
4812 |
msgid "Selected period doesn't match service duration"
|
4813 |
msgstr "Geselecteerde periode komt niet overeen met duur van de dienst"
|
4814 |
|
4815 |
-
msgid "The selected period is occupied by another appointment"
|
4816 |
-
msgstr "De geselecteerde periode wordt bezet door een andere afspraak"
|
4817 |
-
|
4818 |
msgid "Selected period doesn't match provider's schedule"
|
4819 |
msgstr ""
|
4820 |
"Geselecteerde periode komt niet overeen met planning van dienstverlener"
|
@@ -4822,6 +4827,9 @@ msgstr ""
|
|
4822 |
msgid "Selected period doesn't match service schedule"
|
4823 |
msgstr "Geselecteerde periode komt niet overeen planning van dienst"
|
4824 |
|
|
|
|
|
|
|
4825 |
msgid "Booking exceeds the working hours limit for staff member"
|
4826 |
msgstr "Boeking overschrijdt de limiet van werkuren van personeelslid"
|
4827 |
|
@@ -4950,6 +4958,37 @@ msgstr "Niet bewaren"
|
|
4950 |
msgid "Create service"
|
4951 |
msgstr "Voeg service toe"
|
4952 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4953 |
msgid "Edit service"
|
4954 |
msgstr "Bewerk service"
|
4955 |
|
@@ -5516,27 +5555,12 @@ msgstr "Aanmaakdatum"
|
|
5516 |
msgid "Packages"
|
5517 |
msgstr "Pakketten"
|
5518 |
|
5519 |
-
msgid "Unassigned"
|
5520 |
-
msgstr "Niet toegewezen"
|
5521 |
-
|
5522 |
-
msgid ""
|
5523 |
-
"Enable this setting so that the package can be displayed and available for "
|
5524 |
-
"booking when clients have not specified a particular provider."
|
5525 |
-
msgstr ""
|
5526 |
-
"Schakel de instelling uit zodat het pakket kan worden weergegeven en "
|
5527 |
-
"beschikbaar is voor boeking als klanten geen specifieke dienstverlener "
|
5528 |
-
"hebben aangegeven."
|
5529 |
-
|
5530 |
-
msgid "Life Time"
|
5531 |
-
msgstr "Levenslang"
|
5532 |
-
|
5533 |
-
msgid "The period in days when the customer can use a package of services."
|
5534 |
-
msgstr ""
|
5535 |
-
"De periode in dagen wanneer de klant een pakket of dienst kan gebruiken."
|
5536 |
-
|
5537 |
msgid "New package"
|
5538 |
msgstr "Nieuw pakket"
|
5539 |
|
|
|
|
|
|
|
5540 |
msgid "Edit package"
|
5541 |
msgstr "Bewerk pakket"
|
5542 |
|
@@ -5630,6 +5654,21 @@ msgstr "Wijzig pakket afspraak"
|
|
5630 |
msgid "Delete package appointment"
|
5631 |
msgstr "Verwijder pakket afspraak"
|
5632 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5633 |
msgid "Packages list"
|
5634 |
msgstr "Pakketten lijst"
|
5635 |
|
@@ -5961,31 +6000,6 @@ msgstr "Uw ondersteuningsperiode is op %s verlopen."
|
|
5961 |
msgid "Print"
|
5962 |
msgstr "Printen"
|
5963 |
|
5964 |
-
msgid "Google Calendar integration"
|
5965 |
-
msgstr "Google Agenda integratie"
|
5966 |
-
|
5967 |
-
#, php-format
|
5968 |
-
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
5969 |
-
msgstr ""
|
5970 |
-
"Configureer eerst de <a href=\"%s\">instellingen</a> van Google Kalender"
|
5971 |
-
|
5972 |
-
msgid "Synchronize staff member appointments with Google Calendar."
|
5973 |
-
msgstr ""
|
5974 |
-
"Synchroniseer de afspraakgegevens van de medewerker met Google Kalender."
|
5975 |
-
|
5976 |
-
msgid "Limit working hours per day"
|
5977 |
-
msgstr "Beperk werkuren per dag"
|
5978 |
-
|
5979 |
-
msgid "Unlimited"
|
5980 |
-
msgstr "Onbeperkt"
|
5981 |
-
|
5982 |
-
msgid ""
|
5983 |
-
"This setting allows limiting the total time occupied by bookings per day for "
|
5984 |
-
"staff member. Padding time is not included."
|
5985 |
-
msgstr ""
|
5986 |
-
"Deze instelling staat het beperken van de totale tijd toe die bezet is per "
|
5987 |
-
"dag voor personeel door bookings. Opvultijd is niet inbegrepen."
|
5988 |
-
|
5989 |
msgid "API Username"
|
5990 |
msgstr "API Gebruikersnaam"
|
5991 |
|
@@ -6426,209 +6440,78 @@ msgstr ""
|
|
6426 |
msgid "Online Meetings"
|
6427 |
msgstr "Online Vergaderingen"
|
6428 |
|
6429 |
-
msgid "
|
6430 |
-
msgstr "
|
|
|
|
|
|
|
6431 |
|
6432 |
#, php-format
|
6433 |
-
msgid ""
|
6434 |
-
"
|
6435 |
-
"appointments with the selected online meeting provider. Make sure that the "
|
6436 |
-
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6437 |
-
"Meetings</a>"
|
6438 |
-
msgstr ""
|
6439 |
-
"Als deze instelling is ingeschakeld, worden er online vergaderingen gemaakt "
|
6440 |
-
"voor nieuwe afspraken met de geselecteerde aanbieder van online "
|
6441 |
-
"vergaderingen. Zorg ervoor dat de provider correct is geconfigureerd in "
|
6442 |
-
"Instellingen <a href=\"%s\">Online Vergaderingen</a>"
|
6443 |
|
6444 |
-
msgid "
|
6445 |
-
msgstr "
|
6446 |
|
6447 |
msgid ""
|
6448 |
-
"
|
6449 |
-
"
|
6450 |
-
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
6451 |
-
"then the next available time slot will be 9:15 rather than 9:00."
|
6452 |
msgstr ""
|
6453 |
-
"
|
6454 |
-
"
|
6455 |
-
"extra tijd op 15 min. Is er een afspraak van 8:00 tot 09:00, dan bent u "
|
6456 |
-
"volgens de kalender weer beschikbaar vanaf 09:15 in plaats van 09:00."
|
6457 |
|
6458 |
-
msgid "
|
6459 |
-
msgstr "
|
|
|
|
|
|
|
6460 |
|
|
|
6461 |
msgid ""
|
6462 |
-
"
|
6463 |
-
"
|
6464 |
msgstr ""
|
6465 |
-
"
|
6466 |
-
"geen voorkeur opgeeft."
|
6467 |
|
6468 |
-
msgid "
|
6469 |
-
msgstr "
|
6470 |
|
6471 |
-
msgid ""
|
6472 |
-
|
6473 |
-
"account when calculating provider's occupancy. 0 means the day of booking."
|
6474 |
-
msgstr ""
|
6475 |
-
"Stel het aantal dagen voor en na afspraak in waarmee rekening wordt gehouden "
|
6476 |
-
"bij het berekenen van de bezetting van de aanbieder. 0 betekent de dag van "
|
6477 |
-
"boeking."
|
6478 |
|
6479 |
-
msgid "
|
6480 |
-
msgstr "
|
6481 |
|
6482 |
msgid ""
|
6483 |
-
"
|
6484 |
-
"
|
6485 |
-
"
|
6486 |
msgstr ""
|
6487 |
-
"
|
6488 |
-
"
|
6489 |
-
"
|
6490 |
-
|
6491 |
-
msgid "Limit appointments per customer"
|
6492 |
-
msgstr "Limiet afspraken per klant"
|
6493 |
|
6494 |
-
msgid "
|
6495 |
-
msgstr "
|
6496 |
|
6497 |
-
msgid "
|
6498 |
-
msgstr "
|
6499 |
|
6500 |
-
msgid "
|
6501 |
-
msgstr "
|
6502 |
|
6503 |
-
msgid "
|
6504 |
-
|
|
|
|
|
|
|
|
|
6505 |
|
6506 |
-
msgid "
|
6507 |
-
msgstr "
|
6508 |
|
6509 |
-
msgid "
|
6510 |
-
msgstr "
|
6511 |
-
|
6512 |
-
msgid "per month"
|
6513 |
-
msgstr "per maand"
|
6514 |
-
|
6515 |
-
msgid "per 365 days"
|
6516 |
-
msgstr "per 365 dagen"
|
6517 |
-
|
6518 |
-
msgid "per year"
|
6519 |
-
msgstr "per jaar"
|
6520 |
-
|
6521 |
-
msgid ""
|
6522 |
-
"This setting allows you to limit the number of appointments that can be "
|
6523 |
-
"booked by a customer in any given period. Restriction may end after a fixed "
|
6524 |
-
"period or with the beginning of the next calendar period - new day, week, "
|
6525 |
-
"month, etc."
|
6526 |
-
msgstr ""
|
6527 |
-
"Met deze instelling kunt u het aantal afspraken beperken dat door een klant "
|
6528 |
-
"in een bepaalde periode kan worden geboekt. Beperking kan eindigen na een "
|
6529 |
-
"vaste periode of aan het begin van de volgende kalenderperiode, nieuwe dag, "
|
6530 |
-
"week, maand, etc."
|
6531 |
-
|
6532 |
-
msgid "Limit"
|
6533 |
-
msgstr "Limiet"
|
6534 |
-
|
6535 |
-
msgid ""
|
6536 |
-
"To make service invisible to your customers set the visibility to "
|
6537 |
-
"\"Private\"."
|
6538 |
-
msgstr ""
|
6539 |
-
"Wanneer klanten deze dienst zelf niet mogen inplannen stel je de "
|
6540 |
-
"zichtbaarheid in op \\\"Besloten\\\"."
|
6541 |
-
|
6542 |
-
msgid "Specified order"
|
6543 |
-
msgstr "Gespecificeerde volgorde"
|
6544 |
-
|
6545 |
-
msgid "Least occupied that day"
|
6546 |
-
msgstr "Minst bezette die dag"
|
6547 |
-
|
6548 |
-
msgid "Most occupied that day"
|
6549 |
-
msgstr "Drukst bezette die dag"
|
6550 |
-
|
6551 |
-
msgid "Least occupied for period"
|
6552 |
-
msgstr "Minst bezet in periode"
|
6553 |
-
|
6554 |
-
msgid "Most occupied for period"
|
6555 |
-
msgstr "Meest bezet in periode"
|
6556 |
-
|
6557 |
-
msgid "Least expensive"
|
6558 |
-
msgstr "Goedkoopste eerst"
|
6559 |
-
|
6560 |
-
msgid "Most expensive"
|
6561 |
-
msgstr "Duurste eerst"
|
6562 |
-
|
6563 |
-
msgid "Form view in case of single booking"
|
6564 |
-
msgstr "Vormweergave bij eenmalige boeking"
|
6565 |
-
|
6566 |
-
msgid "Form view in case of multiple booking"
|
6567 |
-
msgstr "Vormweergave bij meerdere boekingen"
|
6568 |
-
|
6569 |
-
#, php-format
|
6570 |
-
msgid "Form in case of 100% discount"
|
6571 |
-
msgstr "Formulier bij 100% korting"
|
6572 |
-
|
6573 |
-
msgid "Show birthday field"
|
6574 |
-
msgstr "Toon verjaardag veld"
|
6575 |
-
|
6576 |
-
msgid ""
|
6577 |
-
"Address information is needed for Invoices add-on. To disable, deactivate "
|
6578 |
-
"Invoices add-on first."
|
6579 |
-
msgstr ""
|
6580 |
-
"Adresgegevens zijn nodig voor de add-on Facturen. Deactiveer eerst de add-on "
|
6581 |
-
"Facturen om deze uit te schakelen."
|
6582 |
-
|
6583 |
-
msgid "Show address fields"
|
6584 |
-
msgstr "Toon adres velden"
|
6585 |
-
|
6586 |
-
msgid "Show Facebook login button"
|
6587 |
-
msgstr "Toon Facebook inlog knop"
|
6588 |
-
|
6589 |
-
#, php-format
|
6590 |
-
msgid ""
|
6591 |
-
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6592 |
-
"first."
|
6593 |
-
msgstr ""
|
6594 |
-
"Gelieve eerst Facebook App in <a href=\"%s\">instellingen</a> integreren."
|
6595 |
-
|
6596 |
-
msgid "Show time zone switcher"
|
6597 |
-
msgstr "Toon tijdszone switcher"
|
6598 |
-
|
6599 |
-
msgid "Import"
|
6600 |
-
msgstr "Importeren"
|
6601 |
-
|
6602 |
-
msgid "Note"
|
6603 |
-
msgstr "Belangrijk"
|
6604 |
-
|
6605 |
-
msgid ""
|
6606 |
-
"You may import list of clients in CSV format. You can choose the columns "
|
6607 |
-
"contained in your file. The sequence of columns should coincide with the "
|
6608 |
-
"specified one."
|
6609 |
-
msgstr ""
|
6610 |
-
"U kunt een lijst met klanten in CSV formaat importeren. U kunt de kolommen "
|
6611 |
-
"kiezen die in uw bestand zitten. De volgorde van kolommen moet overeenkomen "
|
6612 |
-
"met de opgeven."
|
6613 |
-
|
6614 |
-
msgid "Select file"
|
6615 |
-
msgstr "Selecteer bestand"
|
6616 |
-
|
6617 |
-
msgid "Date of birth"
|
6618 |
-
msgstr "Geboortedatum"
|
6619 |
-
|
6620 |
-
msgid "Analytics"
|
6621 |
-
msgstr "Analytics"
|
6622 |
-
|
6623 |
-
msgid ""
|
6624 |
-
"Note: If payment is made for several services, then for each service you "
|
6625 |
-
"will see the entire amount paid as revenue."
|
6626 |
-
msgstr ""
|
6627 |
-
"Opmerking: als voor verschillende services wordt betaald, ziet u voor elke "
|
6628 |
-
"service het volledige bedrag als inkomsten."
|
6629 |
-
|
6630 |
-
msgid "online meeting join URL"
|
6631 |
-
msgstr "online vergadering mee doen URL"
|
6632 |
|
6633 |
msgid "Titles"
|
6634 |
msgstr "Titels"
|
@@ -6658,6 +6541,18 @@ msgstr "Weet u zeker dat u deze product code wilt scheiden van %s?"
|
|
6658 |
msgid "Error dissociating purchase code."
|
6659 |
msgstr "Fout bij loskoppelen aankoop code."
|
6660 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6661 |
msgid "Archiving Staff"
|
6662 |
msgstr "Personeel Archiveren"
|
6663 |
|
@@ -6672,6 +6567,28 @@ msgstr ""
|
|
6672 |
msgid "Ok, continue editing"
|
6673 |
msgstr "Ok, doorgaan met bewerken"
|
6674 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6675 |
msgid "Reason"
|
6676 |
msgstr "Reden"
|
6677 |
|
@@ -6710,6 +6627,140 @@ msgstr "Vul naam van de dienst in"
|
|
6710 |
msgid "Custom service price"
|
6711 |
msgstr "Aangepaste dienst prijs"
|
6712 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6713 |
msgid "Welcome to Bookly Pro and thank you for purchasing our product!"
|
6714 |
msgstr "Welkom bij Bookly Pro en bedankt voor het aanschaffen van ons product!"
|
6715 |
|
@@ -7038,6 +7089,9 @@ msgstr "Overslaan"
|
|
7038 |
msgid "Tasks"
|
7039 |
msgstr "Taken"
|
7040 |
|
|
|
|
|
|
|
7041 |
msgid "Time step settings"
|
7042 |
msgstr "Tijdstap instellingen"
|
7043 |
|
@@ -7053,9 +7107,6 @@ msgstr ""
|
|
7053 |
"afspraaktijd, deze verbergen en een taak zonder opgestelde tijd te maken, of "
|
7054 |
"de tijdstap weergeven, maar een klant toestaan deze over te slaan."
|
7055 |
|
7056 |
-
msgid "Skip time selection"
|
7057 |
-
msgstr "Sla tijd selectie over"
|
7058 |
-
|
7059 |
msgid "Incorrect payment data"
|
7060 |
msgstr "Onjuiste betalingsgegevens"
|
7061 |
|
@@ -7259,18 +7310,6 @@ msgstr "Groep Bewerken"
|
|
7259 |
msgid "No customer groups yet."
|
7260 |
msgstr "Nog geen klantengroepen."
|
7261 |
|
7262 |
-
msgid "Groups"
|
7263 |
-
msgstr "Groepen"
|
7264 |
-
|
7265 |
-
msgid "All groups"
|
7266 |
-
msgstr "Alle groepen"
|
7267 |
-
|
7268 |
-
msgid "No group selected"
|
7269 |
-
msgstr "Geen groep geselecteerd"
|
7270 |
-
|
7271 |
-
msgid "Customer group based"
|
7272 |
-
msgstr "Klantengroep gebaseerd op"
|
7273 |
-
|
7274 |
msgid "Customer Group"
|
7275 |
msgstr "Klantengroep"
|
7276 |
|
@@ -7295,6 +7334,18 @@ msgstr "Groep bewerken"
|
|
7295 |
msgid "Group name is required"
|
7296 |
msgstr "Groepsnaam is vereist"
|
7297 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7298 |
msgid "Notification to customer about placing on waiting list"
|
7299 |
msgstr "Melding aan klant over het plaatsen op de wachtlijst"
|
7300 |
|
@@ -7534,12 +7585,6 @@ msgstr "titel extra's"
|
|
7534 |
msgid "extras total price"
|
7535 |
msgstr "totale prijs van extra's"
|
7536 |
|
7537 |
-
msgid "Max quantity"
|
7538 |
-
msgstr "Maximumhoeveelheid"
|
7539 |
-
|
7540 |
-
msgid "New Item"
|
7541 |
-
msgstr "Nieuw item"
|
7542 |
-
|
7543 |
msgid "Show title"
|
7544 |
msgstr "Toon titel"
|
7545 |
|
@@ -7561,6 +7606,12 @@ msgstr "Toon Extra's stap"
|
|
7561 |
msgid "Show extras"
|
7562 |
msgstr "Toon extra's"
|
7563 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7564 |
msgid "Extras tax"
|
7565 |
msgstr "Extra belasting"
|
7566 |
|
@@ -7631,15 +7682,15 @@ msgstr ""
|
|
7631 |
"Uw Paypal ID of een e-mailadres gekoppeld met uw Paypal account. E-"
|
7632 |
"mailadressen moeten bevestigd zijn."
|
7633 |
|
|
|
|
|
|
|
7634 |
msgid "Special prices for appointments which begin between:"
|
7635 |
msgstr "Speciale prijzen voor afspraken die beginnen tussen:"
|
7636 |
|
7637 |
msgid "add special period"
|
7638 |
msgstr "voeg speciale periode toe"
|
7639 |
|
7640 |
-
msgid "Disable special hours update"
|
7641 |
-
msgstr "Schakel speciale uren update uit"
|
7642 |
-
|
7643 |
msgid "Please select a location"
|
7644 |
msgstr "Gelieve locatie te selecteren"
|
7645 |
|
@@ -7649,28 +7700,6 @@ msgstr "Medewerkers"
|
|
7649 |
msgid "Locations"
|
7650 |
msgstr "Locaties"
|
7651 |
|
7652 |
-
msgid "Default settings"
|
7653 |
-
msgstr "Standaard instellingen"
|
7654 |
-
|
7655 |
-
msgid ""
|
7656 |
-
"Set Default values that will be used in all locations where Use default "
|
7657 |
-
"settings is selected. To use custom settings in a location, select Use "
|
7658 |
-
"custom settings and enter custom values."
|
7659 |
-
msgstr ""
|
7660 |
-
"Stel Standaard waarden in die in alle locaties zullen worden gebruikt waar "
|
7661 |
-
"Gebruik standaard instellingen zijn geselecteerd. Om aangepaste instellingen "
|
7662 |
-
"in een locatie te gebruiken, selecteer Gebruik aangepaste instellingen en "
|
7663 |
-
"vul aangepaste waarden in."
|
7664 |
-
|
7665 |
-
msgid "Use default settings"
|
7666 |
-
msgstr "Gebruik standaard instellingen"
|
7667 |
-
|
7668 |
-
msgid "Use custom settings"
|
7669 |
-
msgstr "Gebruik aangepaste instellingen"
|
7670 |
-
|
7671 |
-
msgid "Select locations where the services are provided."
|
7672 |
-
msgstr "Selecteer locaties als de diensten zijn geleverd."
|
7673 |
-
|
7674 |
msgid "Custom settings for location"
|
7675 |
msgstr "Aangepaste instellingen voor locatie"
|
7676 |
|
@@ -7711,6 +7740,28 @@ msgstr "Maak het selecteren van locatie vereist"
|
|
7711 |
msgid "Default value for location select"
|
7712 |
msgstr "Standaardwaarde voor selecteren locatie"
|
7713 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7714 |
msgid "Account ID"
|
7715 |
msgstr "Account ID"
|
7716 |
|
@@ -7766,9 +7817,6 @@ msgstr "Toon personeelslid beoordeling voor naam medewerker"
|
|
7766 |
msgid "URL of the page for staff rating"
|
7767 |
msgstr "URL van de pagina voor personeelsbeoordeling"
|
7768 |
|
7769 |
-
msgid "Comment"
|
7770 |
-
msgstr "Opmerking"
|
7771 |
-
|
7772 |
msgid "Add staff rating form"
|
7773 |
msgstr "Voeg personeelsbeoordeling formulier in"
|
7774 |
|
8 |
"Language: nl_NL\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2020-11-07 13:38+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-11-07 13:39+0000\n"
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Dutch\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
185 |
msgid "Phone"
|
186 |
msgstr "Telefoon"
|
187 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
msgid "Instructions"
|
189 |
msgstr "Instructies"
|
190 |
|
501 |
msgid "Calendars synchronized successfully."
|
502 |
msgstr "Kalenders met succes gesynchroniseerd."
|
503 |
|
504 |
+
msgid "Outlook Calendar integration"
|
505 |
+
msgstr "Outlook Kalender integratie"
|
506 |
+
|
507 |
+
msgid "Connect"
|
508 |
+
msgstr "Verbinden"
|
509 |
+
|
510 |
+
#, php-format
|
511 |
+
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
512 |
+
msgstr "Configureer Outlook Kalender <a href=\"%s\">settings</a> eerst"
|
513 |
+
|
514 |
+
msgid "Connected"
|
515 |
+
msgstr "Verbonden"
|
516 |
+
|
517 |
+
msgid "disconnect"
|
518 |
+
msgstr "niet verbonden"
|
519 |
+
|
520 |
+
msgid "Synchronize staff member appointments with Outlook Calendar."
|
521 |
+
msgstr "Synchroniseer afspraken van personeelslid met Outlook Kalender."
|
522 |
+
|
523 |
+
msgid "Calendar"
|
524 |
+
msgstr "Kalender"
|
525 |
+
|
526 |
+
msgid "-- Select calendar --"
|
527 |
+
msgstr "-- Selecteer kalender --"
|
528 |
+
|
529 |
+
msgid ""
|
530 |
+
"When you connect a calendar all future and past events will be synchronized "
|
531 |
+
"according to the selected synchronization mode. This may take a few minutes. "
|
532 |
+
"Please wait."
|
533 |
+
msgstr ""
|
534 |
+
"Wanneer u een kalender verbind worden alle toekomstige en afgelopen "
|
535 |
+
"evenementen gesynchroniseerd volgens de geselecteerde synchronisatie modus. "
|
536 |
+
"Dit kan een paar minuten duren. Even geduld a.u.b."
|
537 |
+
|
538 |
+
msgid "Can't change calendar for archived staff"
|
539 |
+
msgstr "Wijzig kalender niet voor gearchiveerd personeel"
|
540 |
+
|
541 |
msgid "Custom Fields"
|
542 |
msgstr "Aangepaste velden"
|
543 |
|
1265 |
"Stel de URL van een pagina in die wordt getoond als de goedkeuring van een "
|
1266 |
"terugkerende afspraak niet kan worden uitgevoerd (gewijzigd status, enz.)."
|
1267 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1268 |
msgid "Edit"
|
1269 |
msgstr "Bewerken"
|
1270 |
|
1295 |
msgid "Every"
|
1296 |
msgstr "Iedere"
|
1297 |
|
1298 |
+
msgid ""
|
1299 |
+
"You are going to reschedule the recurring appointment. Please select "
|
1300 |
+
"recurring appointments which should be rescheduled as well."
|
1301 |
+
msgstr ""
|
1302 |
+
"U gaat de terugkerende afspraak verzetten. Selecteer terugkerende afspraken "
|
1303 |
+
"die ook verzet moeten worden."
|
1304 |
+
|
1305 |
+
msgid "Only this appointment"
|
1306 |
+
msgstr "Alleen deze afspraak"
|
1307 |
+
|
1308 |
+
msgid "This and next appointments"
|
1309 |
+
msgstr "Deze en volgende afspraken"
|
1310 |
+
|
1311 |
+
msgid "All appointments"
|
1312 |
+
msgstr "Alle afspraken"
|
1313 |
+
|
1314 |
+
msgid "Number of days to shift appointments"
|
1315 |
+
msgstr "Aantal dagen om afspraken te verschuiven"
|
1316 |
+
|
1317 |
+
msgid "Appointments will be scheduled at"
|
1318 |
+
msgstr "Afspraken worden gepland om"
|
1319 |
+
|
1320 |
msgid "Back"
|
1321 |
msgstr "Vorige"
|
1322 |
|
1353 |
msgid "Close"
|
1354 |
msgstr "Sluiten"
|
1355 |
|
1356 |
+
msgid "Enabled"
|
1357 |
+
msgstr "Ingeschakeld"
|
1358 |
+
|
1359 |
+
msgid "Allow this service to have recurring appointments."
|
1360 |
+
msgstr "Sta deze dienst toe om terugkerende afspraken te hebben."
|
1361 |
+
|
1362 |
+
msgid "Frequencies"
|
1363 |
+
msgstr "Frequenties"
|
1364 |
+
|
1365 |
+
msgid "All"
|
1366 |
+
msgstr "Allemaal"
|
1367 |
+
|
1368 |
+
msgid "Nothing selected"
|
1369 |
+
msgstr "Niets geselecteerd"
|
1370 |
+
|
1371 |
msgid "Save"
|
1372 |
msgstr "Opslaan"
|
1373 |
|
1392 |
msgid "Duration"
|
1393 |
msgstr "Duur"
|
1394 |
|
1395 |
+
msgid "Show service price next to duration"
|
1396 |
+
msgstr "Toon dienst prijs naast looptijd"
|
1397 |
+
|
1398 |
+
msgid "Hide this field"
|
1399 |
+
msgstr "Verberg dit veld"
|
1400 |
+
|
1401 |
msgid ""
|
1402 |
"Set service duration. If you select Custom, a client, while booking, will "
|
1403 |
"have to choose the duration of the service from several time units. In the "
|
1424 |
msgid "Custom"
|
1425 |
msgstr "Aangepast"
|
1426 |
|
1427 |
+
msgid "Are you sure?"
|
1428 |
+
msgstr "Weet je het zeker?"
|
1429 |
|
1430 |
+
msgid "Duplicate dates are not permitted."
|
1431 |
+
msgstr "Dubbele data zijn niet toegestaan."
|
1432 |
+
|
1433 |
+
msgid "Date in the past."
|
1434 |
+
msgstr "Datum in het verleden."
|
1435 |
+
|
1436 |
+
msgid "Add Staff Special Days"
|
1437 |
+
msgstr "Personeel Toevoegen Speciale Dagen"
|
1438 |
|
1439 |
msgid "Delete break"
|
1440 |
msgstr "Verwijder pauze"
|
1454 |
msgid "Special Days"
|
1455 |
msgstr "Speciale Dagen"
|
1456 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1457 |
msgid "The requested interval is not available"
|
1458 |
msgstr "De gevraagde interval is niet beschikbaar"
|
1459 |
|
1460 |
msgid "OFF"
|
1461 |
msgstr "UIT"
|
1462 |
|
|
|
|
|
|
|
1463 |
msgid "Uncategorized"
|
1464 |
msgstr "Geen categorie"
|
1465 |
|
1466 |
+
msgid "Compound"
|
1467 |
+
msgstr "Samengestelde"
|
1468 |
+
|
1469 |
+
msgid "Part of compound service"
|
1470 |
+
msgstr "Deel van de samengestelde dienst"
|
1471 |
+
|
1472 |
+
msgid "Compound service"
|
1473 |
+
msgstr "Compound dienst"
|
1474 |
+
|
1475 |
msgid "Spare time"
|
1476 |
msgstr "Vrije tijd"
|
1477 |
|
1493 |
"de eerste stap van het boekingsformulier, dan wordt alleen dit personeelslid "
|
1494 |
"gebruikt voor het zoeken naar beschikbare slots voor alle subservices."
|
1495 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1496 |
msgid "Short Codes"
|
1497 |
msgstr "Verkorte Codes"
|
1498 |
|
1602 |
msgid "Upcoming appointments"
|
1603 |
msgstr "Komende afspraken"
|
1604 |
|
|
|
|
|
|
|
1605 |
msgid "Delimiter"
|
1606 |
msgstr "Scheidingsteken"
|
1607 |
|
1747 |
msgid "Processing..."
|
1748 |
msgstr "Verwerken..."
|
1749 |
|
|
|
|
|
|
|
1750 |
msgid "service tax amount"
|
1751 |
msgstr "servicebelastingsbedrag"
|
1752 |
|
1773 |
"belastingbedrag moet rapporteren aan het betalingssysteem, gebruik dan geen "
|
1774 |
"extra kosten."
|
1775 |
|
1776 |
+
msgid "Taxation"
|
1777 |
+
msgstr "Belasting"
|
1778 |
+
|
1779 |
msgid "Customer Information"
|
1780 |
msgstr "Klant Informatie"
|
1781 |
|
1841 |
msgid "Number of persons"
|
1842 |
msgstr "Aantal personen"
|
1843 |
|
|
|
|
|
|
|
1844 |
msgid "Group bookings information format"
|
1845 |
msgstr "Groepsboeking informatie formaat"
|
1846 |
|
1868 |
msgid "capacity of service"
|
1869 |
msgstr "capaciteit van de dienstverlening"
|
1870 |
|
1871 |
+
msgid "Show information about group bookings"
|
1872 |
+
msgstr "Toon informatie over groepsboekingen"
|
1873 |
+
|
1874 |
+
msgid "Disable capacity update"
|
1875 |
+
msgstr "Capaciteit update uitschakelen"
|
1876 |
+
|
1877 |
+
msgid "Capacity (min and max)"
|
1878 |
+
msgstr "Capaciteit (min en max)"
|
1879 |
+
|
1880 |
msgid ""
|
1881 |
"The minimum and maximum number of customers allowed to book the service for "
|
1882 |
"the certain time period."
|
1894 |
"Schakel deze optie in als u de mogelijkheid van boeken binnen een bepaalde "
|
1895 |
"service capaciteit wilt beperking tot een keer."
|
1896 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1897 |
msgid "Address"
|
1898 |
msgstr "Adres"
|
1899 |
|
1950 |
msgid "Show google maps field"
|
1951 |
msgstr "Toon google maps informatie"
|
1952 |
|
1953 |
+
msgid "Do not allow to select a specific staff member"
|
1954 |
+
msgstr "Sta niet toe om een specifiek personeelslid te selecteren"
|
1955 |
|
1956 |
+
msgid ""
|
1957 |
+
"If this option is enabled then customers won't be able to select a staff "
|
1958 |
+
"member for collaborative services in the first step of the booking form"
|
1959 |
+
msgstr ""
|
1960 |
+
"Als deze optie is ingeschakeld, kunnen klanten geen personeelslid selecteren "
|
1961 |
+
"voor samenwerkingsdiensten in de eerste stap van het boekingsformulier"
|
1962 |
+
|
1963 |
+
msgid "Collaborative services"
|
1964 |
+
msgstr "Samenwerkingdiensten"
|
1965 |
|
1966 |
msgid "Collaborative"
|
1967 |
msgstr "Samenwerkend"
|
1972 |
msgid "Part of collaborative service"
|
1973 |
msgstr "Onderdeel van samenwerkende service"
|
1974 |
|
1975 |
+
msgid "Equal duration"
|
1976 |
+
msgstr "Gelijke duur"
|
1977 |
+
|
1978 |
+
msgid "Make every service duration equal to the duration of the longest one."
|
1979 |
+
msgstr "Maak elke service tijdsduur gelijk aan de tijdsduur van de langste."
|
1980 |
+
|
1981 |
msgid "Customer cabinet (all services displayed in tabs)"
|
1982 |
msgstr "Klant cabinet (alle diensten getoond in tabbladen)"
|
1983 |
|
2298 |
"{company_website}"
|
2299 |
|
2300 |
msgid "Notification to staff member about approved appointment"
|
2301 |
+
msgstr "Kennisgeving aan medewerker over goedgekeurde afspraak"
|
2302 |
|
2303 |
msgid ""
|
2304 |
"Hello.\n"
|
2680 |
msgstr "Selecteer categorie"
|
2681 |
|
2682 |
msgid "Any"
|
2683 |
+
msgstr "Geen voorkeur van medewerker"
|
2684 |
|
2685 |
msgid "Select service"
|
2686 |
msgstr "Selecteer een dienst"
|
3119 |
"gebruikersdata moeten bijwerken, of klik op Annuleer om de ingegeven data te "
|
3120 |
"bewerken."
|
3121 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3122 |
msgid "Internal Notes"
|
3123 |
msgstr "Interne Notities"
|
3124 |
|
3305 |
"widget om informatie over de plug-in te verspreiden. Hierdoor kan het team "
|
3306 |
"het product verbeteren en de functionaliteit ervan verbeteren"
|
3307 |
|
3308 |
+
msgid "Prevent caching of pages with booking form"
|
3309 |
+
msgstr "Voorkom caching van pagina's met boekingsformulier"
|
3310 |
|
3311 |
msgid ""
|
3312 |
+
"Select \"Enabled\" if you want Bookly to prevent caching by third-party "
|
3313 |
"caching plugins by adding a DONOTCACHEPAGE constant on pages with booking "
|
3314 |
+
"form"
|
3315 |
msgstr ""
|
3316 |
+
"Selecteer \"Ingeschakeld\" als u wilt dat Bookly caching door caching-plug-"
|
3317 |
+
"ins van derden voorkomt door een constante DONOTCACHEPAGE toe te voegen op "
|
3318 |
+
"pagina's met boekingsformulier"
|
3319 |
|
3320 |
+
msgid "Prevent PHP session locking"
|
3321 |
+
msgstr "Voorkom vergrendeling van PHP-sessies"
|
3322 |
|
3323 |
+
msgid ""
|
3324 |
+
"Enable this option to make Bookly close the PHP session as soon as it is "
|
3325 |
+
"done with it. This should prevent locking the session, which could cause "
|
3326 |
+
"various other processes to timeout or fail"
|
3327 |
+
msgstr ""
|
3328 |
+
"Schakel deze optie in om Bookly de PHP-sessie te laten sluiten zodra deze "
|
3329 |
+
"klaar is. Dit zou moeten voorkomen dat de sessie wordt vergrendeld, waardoor "
|
3330 |
+
"verschillende andere processen kunnen onderbreken of mislukken"
|
3331 |
|
3332 |
msgid "Service paid locally"
|
3333 |
msgstr "Dienst ter plaatse betalen"
|
3347 |
msgid "Holidays"
|
3348 |
msgstr "Vakanties"
|
3349 |
|
3350 |
+
msgid "Logs"
|
3351 |
+
msgstr "Logboeken"
|
3352 |
+
|
3353 |
msgid "Approve appointment URL (success)"
|
3354 |
msgstr "Afspraak URL goedkeuren (succes)"
|
3355 |
|
3543 |
"is dan die van de vorige bestelling zal een waarschuwingsmelding verschijnen "
|
3544 |
"die vraagt om de data bij te werken."
|
3545 |
|
3546 |
+
msgid "Debug logs"
|
3547 |
+
msgstr "Debug Logboeken"
|
3548 |
+
|
3549 |
+
msgid ""
|
3550 |
+
"If this setting is enabled then all actions with appointments will be "
|
3551 |
+
"recorded in a log table. We recommend enabling this setting as it will be "
|
3552 |
+
"helpful for our support team in case of unpredictable issues with "
|
3553 |
+
"appointments."
|
3554 |
+
msgstr ""
|
3555 |
+
"Als deze instelling is ingeschakeld, worden alle acties met afspraken in een "
|
3556 |
+
"logtabel vastgelegd. We raden aan om deze instelling in te schakelen, omdat "
|
3557 |
+
"dit nuttig is voor ons ondersteuningsteam in geval van onvoorspelbare "
|
3558 |
+
"problemen met afspraken."
|
3559 |
+
|
3560 |
+
msgid "Action"
|
3561 |
+
msgstr "Actie"
|
3562 |
+
|
3563 |
+
msgid "Target"
|
3564 |
+
msgstr "Doel"
|
3565 |
+
|
3566 |
+
msgid "Target ID"
|
3567 |
+
msgstr "Doel-ID"
|
3568 |
+
|
3569 |
+
msgid "Author"
|
3570 |
+
msgstr "Auteur"
|
3571 |
+
|
3572 |
+
msgid "Comment"
|
3573 |
+
msgstr "Opmerking"
|
3574 |
+
|
3575 |
+
msgid "Reference"
|
3576 |
+
msgstr "Referentie"
|
3577 |
+
|
3578 |
+
msgid "Clear logs"
|
3579 |
+
msgstr "Logboeken wissen"
|
3580 |
+
|
3581 |
#, php-format
|
3582 |
msgid ""
|
3583 |
"WooCommerce cart is not set up. Follow the <a href=\"%s\">link</a> to "
|
3586 |
"WooCommerce winkelwagen is niet ingesteld. Volg de <a href=\"%s\">link</a> "
|
3587 |
"om dit probleem te verhelpen."
|
3588 |
|
3589 |
+
msgid "Last month"
|
3590 |
+
msgstr "Afgelopen maand"
|
3591 |
+
|
3592 |
msgid "SMS Notifications"
|
3593 |
msgstr "SMS-meldingen"
|
3594 |
|
3631 |
"geldig telefoonnummer bijvoorbeeld +31202225555."
|
3632 |
|
3633 |
msgid "Quick search notifications"
|
3634 |
+
msgstr "Snel zoeken naar meldingen"
|
3635 |
|
3636 |
#, php-format
|
3637 |
msgid ""
|
3675 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3676 |
msgstr "Kan alleen letters of cijfers bevatten (maximaal 11 tekens)."
|
3677 |
|
|
|
|
|
|
|
3678 |
msgid "Sender ID request is sent."
|
3679 |
msgstr "Afzender ID verzoek is verzonden."
|
3680 |
|
3756 |
msgid "Send email notification to administrators at low balance"
|
3757 |
msgstr "Stuur e-mail notificatie aan beheerders bij lage balans"
|
3758 |
|
3759 |
+
msgid "Send weekly summary"
|
3760 |
+
msgstr "Stuur wekelijkse samenvatting"
|
3761 |
|
3762 |
msgid ""
|
3763 |
"Your country is the location from where you consume Bookly SMS services and "
|
3780 |
msgstr "Wachtwoorden komen niet overeen"
|
3781 |
|
3782 |
msgid "Services order"
|
3783 |
+
msgstr "Sorteer diensten"
|
3784 |
|
3785 |
msgid "Add service"
|
3786 |
msgstr "Voeg dienst toe"
|
3806 |
msgid "No, update just here in services"
|
3807 |
msgstr "Nee, wijzig het alleen hier in de diensten"
|
3808 |
|
3809 |
+
msgid "The service will be created with the visibility of Private."
|
3810 |
+
msgstr "De service wordt gemaakt met de zichtbaarheid van Privé."
|
3811 |
|
3812 |
+
msgid "Duplicate"
|
3813 |
+
msgstr "Dupliceer"
|
3814 |
|
3815 |
+
msgid "You must select at least one repeat option for recurring services."
|
3816 |
+
msgstr ""
|
3817 |
+
"Je moet ten minste één herhaaloptie selecteren voor terugkerende services."
|
3818 |
|
3819 |
+
msgid "Simple"
|
3820 |
+
msgstr "Eenvoudig"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3821 |
|
3822 |
#, php-format
|
3823 |
msgid "%d service"
|
3942 |
msgid "Stripe activation was not completed"
|
3943 |
msgstr "Stripe activatie is niet afgerond"
|
3944 |
|
3945 |
+
msgid "All staff"
|
3946 |
+
msgstr "Alle medewerkers"
|
3947 |
+
|
3948 |
+
msgid "No staff selected"
|
3949 |
+
msgstr "Geen medewerker geselecteerd"
|
3950 |
+
|
3951 |
msgid "Auto-refresh Calendar"
|
3952 |
msgstr "Automatisch verversen Kalender"
|
3953 |
|
4586 |
msgstr "Automatisch herladen is geannuleerd"
|
4587 |
|
4588 |
msgid "current<br/>balance"
|
4589 |
+
msgstr "huidig<br/>saldo"
|
4590 |
|
4591 |
msgid "Recharge"
|
4592 |
msgstr "Herladen"
|
4645 |
msgstr "Melding instellingen"
|
4646 |
|
4647 |
msgid "Enter notification name which will be displayed in the list."
|
4648 |
+
msgstr "Vul de naam van de melding in die zal worden getoond in de lijst."
|
4649 |
|
4650 |
msgid ""
|
4651 |
"Choose whether notification is enabled and sending messages or it is "
|
4761 |
"Wanneer u dit veld leeg laat, kan de medewerker zijn/haar persoonlijke "
|
4762 |
"agenda niet benaderen via de WP backend."
|
4763 |
|
4764 |
+
#, php-format
|
4765 |
+
msgid "This text can be inserted into notifications with %s code."
|
4766 |
+
msgstr "Deze tekst kan in meldingen worden ingevoegd met %s code."
|
4767 |
+
|
4768 |
msgid "Archive"
|
4769 |
msgstr "Archiveer"
|
4770 |
|
4820 |
msgid "Selected period doesn't match service duration"
|
4821 |
msgstr "Geselecteerde periode komt niet overeen met duur van de dienst"
|
4822 |
|
|
|
|
|
|
|
4823 |
msgid "Selected period doesn't match provider's schedule"
|
4824 |
msgstr ""
|
4825 |
"Geselecteerde periode komt niet overeen met planning van dienstverlener"
|
4827 |
msgid "Selected period doesn't match service schedule"
|
4828 |
msgstr "Geselecteerde periode komt niet overeen planning van dienst"
|
4829 |
|
4830 |
+
msgid "The selected period is occupied by another appointment"
|
4831 |
+
msgstr "De geselecteerde periode wordt bezet door een andere afspraak"
|
4832 |
+
|
4833 |
msgid "Booking exceeds the working hours limit for staff member"
|
4834 |
msgstr "Boeking overschrijdt de limiet van werkuren van personeelslid"
|
4835 |
|
4958 |
msgid "Create service"
|
4959 |
msgstr "Voeg service toe"
|
4960 |
|
4961 |
+
msgid "Color"
|
4962 |
+
msgstr "Kleur"
|
4963 |
+
|
4964 |
+
msgid "Providers"
|
4965 |
+
msgstr "Medewerker(s)"
|
4966 |
+
|
4967 |
+
msgid "Start and end times of the appointment"
|
4968 |
+
msgstr "Start- en eindtijd van de afspraak"
|
4969 |
+
|
4970 |
+
msgid ""
|
4971 |
+
"Allows to set the start and end times for an appointment for services with "
|
4972 |
+
"the duration of 1 day or longer. This time will be displayed in "
|
4973 |
+
"notifications to customers, backend calendar and codes for booking form."
|
4974 |
+
msgstr ""
|
4975 |
+
"Staat toe om de start- en eindtijden in te stellen voor een afspraak voor "
|
4976 |
+
"diensten met de lengte van 1 dag of langer. Deze tijd zal worden getoond in "
|
4977 |
+
"meldingen naar klanten, backend kalender en codes voor boekingsformulieren."
|
4978 |
+
|
4979 |
+
msgid "Slot length as service duration"
|
4980 |
+
msgstr "Lengte vak als service tijdsduur"
|
4981 |
+
|
4982 |
+
msgid ""
|
4983 |
+
"The time interval which is used as a step when building all time slots for "
|
4984 |
+
"the service at the Time step. The setting overrides global settings in "
|
4985 |
+
"Settings > General. Use Default to apply global settings."
|
4986 |
+
msgstr ""
|
4987 |
+
"De tijdsinterval die wordt gebruikt als een stap bij het bouwen van alle "
|
4988 |
+
"tijdvakken voor de service in de Tijd stap. De instelling gaat voor de "
|
4989 |
+
"algemene instellingen in de Instellingen Algemeen. Gebruik Standaard om "
|
4990 |
+
"algemene instellingen toe te passen."
|
4991 |
+
|
4992 |
msgid "Edit service"
|
4993 |
msgstr "Bewerk service"
|
4994 |
|
5555 |
msgid "Packages"
|
5556 |
msgstr "Pakketten"
|
5557 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5558 |
msgid "New package"
|
5559 |
msgstr "Nieuw pakket"
|
5560 |
|
5561 |
+
msgid "Unassigned"
|
5562 |
+
msgstr "Niet toegewezen"
|
5563 |
+
|
5564 |
msgid "Edit package"
|
5565 |
msgstr "Bewerk pakket"
|
5566 |
|
5654 |
msgid "Delete package appointment"
|
5655 |
msgstr "Verwijder pakket afspraak"
|
5656 |
|
5657 |
+
msgid ""
|
5658 |
+
"Enable this setting so that the package can be displayed and available for "
|
5659 |
+
"booking when clients have not specified a particular provider."
|
5660 |
+
msgstr ""
|
5661 |
+
"Schakel de instelling uit zodat het pakket kan worden weergegeven en "
|
5662 |
+
"beschikbaar is voor boeking als klanten geen specifieke dienstverlener "
|
5663 |
+
"hebben aangegeven."
|
5664 |
+
|
5665 |
+
msgid "Life Time"
|
5666 |
+
msgstr "Levenslang"
|
5667 |
+
|
5668 |
+
msgid "The period in days when the customer can use a package of services."
|
5669 |
+
msgstr ""
|
5670 |
+
"De periode in dagen wanneer de klant een pakket of dienst kan gebruiken."
|
5671 |
+
|
5672 |
msgid "Packages list"
|
5673 |
msgstr "Pakketten lijst"
|
5674 |
|
6000 |
msgid "Print"
|
6001 |
msgstr "Printen"
|
6002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6003 |
msgid "API Username"
|
6004 |
msgstr "API Gebruikersnaam"
|
6005 |
|
6440 |
msgid "Online Meetings"
|
6441 |
msgstr "Online Vergaderingen"
|
6442 |
|
6443 |
+
msgid "Form view in case of single booking"
|
6444 |
+
msgstr "Vormweergave bij eenmalige boeking"
|
6445 |
+
|
6446 |
+
msgid "Form view in case of multiple booking"
|
6447 |
+
msgstr "Vormweergave bij meerdere boekingen"
|
6448 |
|
6449 |
#, php-format
|
6450 |
+
msgid "Form in case of 100% discount"
|
6451 |
+
msgstr "Formulier bij 100% korting"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6452 |
|
6453 |
+
msgid "Show birthday field"
|
6454 |
+
msgstr "Toon verjaardag veld"
|
6455 |
|
6456 |
msgid ""
|
6457 |
+
"Address information is needed for Invoices add-on. To disable, deactivate "
|
6458 |
+
"Invoices add-on first."
|
|
|
|
|
6459 |
msgstr ""
|
6460 |
+
"Adresgegevens zijn nodig voor de add-on Facturen. Deactiveer eerst de add-on "
|
6461 |
+
"Facturen om deze uit te schakelen."
|
|
|
|
|
6462 |
|
6463 |
+
msgid "Show address fields"
|
6464 |
+
msgstr "Toon adres velden"
|
6465 |
+
|
6466 |
+
msgid "Show Facebook login button"
|
6467 |
+
msgstr "Toon Facebook inlog knop"
|
6468 |
|
6469 |
+
#, php-format
|
6470 |
msgid ""
|
6471 |
+
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6472 |
+
"first."
|
6473 |
msgstr ""
|
6474 |
+
"Gelieve eerst Facebook App in <a href=\"%s\">instellingen</a> integreren."
|
|
|
6475 |
|
6476 |
+
msgid "Show time zone switcher"
|
6477 |
+
msgstr "Toon tijdszone switcher"
|
6478 |
|
6479 |
+
msgid "Import"
|
6480 |
+
msgstr "Importeren"
|
|
|
|
|
|
|
|
|
|
|
6481 |
|
6482 |
+
msgid "Note"
|
6483 |
+
msgstr "Belangrijk"
|
6484 |
|
6485 |
msgid ""
|
6486 |
+
"You may import list of clients in CSV format. You can choose the columns "
|
6487 |
+
"contained in your file. The sequence of columns should coincide with the "
|
6488 |
+
"specified one."
|
6489 |
msgstr ""
|
6490 |
+
"U kunt een lijst met klanten in CSV formaat importeren. U kunt de kolommen "
|
6491 |
+
"kiezen die in uw bestand zitten. De volgorde van kolommen moet overeenkomen "
|
6492 |
+
"met de opgeven."
|
|
|
|
|
|
|
6493 |
|
6494 |
+
msgid "Select file"
|
6495 |
+
msgstr "Selecteer bestand"
|
6496 |
|
6497 |
+
msgid "Date of birth"
|
6498 |
+
msgstr "Geboortedatum"
|
6499 |
|
6500 |
+
msgid "Analytics"
|
6501 |
+
msgstr "Analytics"
|
6502 |
|
6503 |
+
msgid ""
|
6504 |
+
"Note: If payment is made for several services, then for each service you "
|
6505 |
+
"will see the entire amount paid as revenue."
|
6506 |
+
msgstr ""
|
6507 |
+
"Opmerking: als voor verschillende services wordt betaald, ziet u voor elke "
|
6508 |
+
"service het volledige bedrag als inkomsten."
|
6509 |
|
6510 |
+
msgid "online meeting join URL"
|
6511 |
+
msgstr "online vergadering mee doen URL"
|
6512 |
|
6513 |
+
msgid "time zone of staff"
|
6514 |
+
msgstr "tijdzone van personeel"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6515 |
|
6516 |
msgid "Titles"
|
6517 |
msgstr "Titels"
|
6541 |
msgid "Error dissociating purchase code."
|
6542 |
msgstr "Fout bij loskoppelen aankoop code."
|
6543 |
|
6544 |
+
msgid "Google Calendar integration"
|
6545 |
+
msgstr "Google Agenda integratie"
|
6546 |
+
|
6547 |
+
#, php-format
|
6548 |
+
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
6549 |
+
msgstr ""
|
6550 |
+
"Configureer eerst de <a href=\"%s\">instellingen</a> van Google Kalender"
|
6551 |
+
|
6552 |
+
msgid "Synchronize staff member appointments with Google Calendar."
|
6553 |
+
msgstr ""
|
6554 |
+
"Synchroniseer de afspraakgegevens van de medewerker met Google Kalender."
|
6555 |
+
|
6556 |
msgid "Archiving Staff"
|
6557 |
msgstr "Personeel Archiveren"
|
6558 |
|
6567 |
msgid "Ok, continue editing"
|
6568 |
msgstr "Ok, doorgaan met bewerken"
|
6569 |
|
6570 |
+
msgid ""
|
6571 |
+
"The staff member's schedule will be considered to be in the selected time "
|
6572 |
+
"zone. This time zone will also be used for the dates and times in "
|
6573 |
+
"notifications sent to the staff member"
|
6574 |
+
msgstr ""
|
6575 |
+
"Het rooster van het personeelslid wordt geacht in de geselecteerde tijdzone "
|
6576 |
+
"te vallen. Deze tijdzone wordt ook gebruikt voor de datums en tijden in "
|
6577 |
+
"meldingen die naar het personeelslid worden gestuurd"
|
6578 |
+
|
6579 |
+
msgid "Limit working hours per day"
|
6580 |
+
msgstr "Beperk werkuren per dag"
|
6581 |
+
|
6582 |
+
msgid "Unlimited"
|
6583 |
+
msgstr "Onbeperkt"
|
6584 |
+
|
6585 |
+
msgid ""
|
6586 |
+
"This setting allows limiting the total time occupied by bookings per day for "
|
6587 |
+
"staff member. Padding time is not included."
|
6588 |
+
msgstr ""
|
6589 |
+
"Deze instelling staat het beperken van de totale tijd toe die bezet is per "
|
6590 |
+
"dag voor personeel door bookings. Opvultijd is niet inbegrepen."
|
6591 |
+
|
6592 |
msgid "Reason"
|
6593 |
msgstr "Reden"
|
6594 |
|
6627 |
msgid "Custom service price"
|
6628 |
msgstr "Aangepaste dienst prijs"
|
6629 |
|
6630 |
+
msgid "Create online meetings"
|
6631 |
+
msgstr "Maak online vergaderingen"
|
6632 |
+
|
6633 |
+
#, php-format
|
6634 |
+
msgid ""
|
6635 |
+
"If this setting is enabled then online meetings will be created for new "
|
6636 |
+
"appointments with the selected online meeting provider. Make sure that the "
|
6637 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6638 |
+
"Meetings</a>"
|
6639 |
+
msgstr ""
|
6640 |
+
"Als deze instelling is ingeschakeld, worden er online vergaderingen gemaakt "
|
6641 |
+
"voor nieuwe afspraken met de geselecteerde aanbieder van online "
|
6642 |
+
"vergaderingen. Zorg ervoor dat de provider correct is geconfigureerd in "
|
6643 |
+
"Instellingen <a href=\"%s\">Online Vergaderingen</a>"
|
6644 |
+
|
6645 |
+
msgid "Padding time (before and after)"
|
6646 |
+
msgstr "Extra tijd (vóór en na)"
|
6647 |
+
|
6648 |
+
msgid ""
|
6649 |
+
"Set padding time before and/or after an appointment. For example, if you "
|
6650 |
+
"require 15 minutes to prepare for the next appointment then you should set "
|
6651 |
+
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
6652 |
+
"then the next available time slot will be 9:15 rather than 9:00."
|
6653 |
+
msgstr ""
|
6654 |
+
"Stel de extra tijd vóór en/of na een afspraak in. Bijvoorbeeld, wanneer u 15 "
|
6655 |
+
"minuten nodig hebt om u voor te bereiden op de volgende afspraak, zet dan de "
|
6656 |
+
"extra tijd op 15 min. Is er een afspraak van 8:00 tot 09:00, dan bent u "
|
6657 |
+
"volgens de kalender weer beschikbaar vanaf 09:15 in plaats van 09:00."
|
6658 |
+
|
6659 |
+
msgid "Providers preference for ANY"
|
6660 |
+
msgstr "Manier van toewijzen indien 'Geen voorkeur'"
|
6661 |
+
|
6662 |
+
msgid ""
|
6663 |
+
"Allows you to define the rule of staff members auto assignment when ANY "
|
6664 |
+
"option is selected"
|
6665 |
+
msgstr ""
|
6666 |
+
"Bepaalt aan welke medewerker de afspraak toegewezen wordt wanneer een klant "
|
6667 |
+
"geen voorkeur opgeeft."
|
6668 |
+
|
6669 |
+
msgid "Period (before and after)"
|
6670 |
+
msgstr "Periode (voor en na)"
|
6671 |
+
|
6672 |
+
msgid ""
|
6673 |
+
"Set number of days before and after appointment that will be taken into "
|
6674 |
+
"account when calculating provider's occupancy. 0 means the day of booking."
|
6675 |
+
msgstr ""
|
6676 |
+
"Stel het aantal dagen voor en na afspraak in waarmee rekening wordt gehouden "
|
6677 |
+
"bij het berekenen van de bezetting van de aanbieder. 0 betekent de dag van "
|
6678 |
+
"boeking."
|
6679 |
+
|
6680 |
+
msgid "Pick random staff member in case of uncertainty"
|
6681 |
+
msgstr "Kies een willekeurige medewerker in geval van onzekerheid"
|
6682 |
+
|
6683 |
+
msgid ""
|
6684 |
+
"Enable this option to pick a random staff member if both meet the criteria "
|
6685 |
+
"chosen in \"Providers preference for ANY\". Otherwise the selection order is "
|
6686 |
+
"unknown."
|
6687 |
+
msgstr ""
|
6688 |
+
"Schakel deze optie in om een willekeurige medewerker te kiezen als beide "
|
6689 |
+
"voldoen aan de criteria die zijn gekozen in \"Provider voorkeur voor ELKE\". "
|
6690 |
+
"Anders is de selectievolgorde onbekend."
|
6691 |
+
|
6692 |
+
msgid "Limit appointments per customer"
|
6693 |
+
msgstr "Limiet afspraken per klant"
|
6694 |
+
|
6695 |
+
msgid "upcoming"
|
6696 |
+
msgstr "aankomende"
|
6697 |
+
|
6698 |
+
msgid "per 24 hours"
|
6699 |
+
msgstr "per 24 uur"
|
6700 |
+
|
6701 |
+
msgid "per day"
|
6702 |
+
msgstr "per dag"
|
6703 |
+
|
6704 |
+
msgid "per 7 days"
|
6705 |
+
msgstr "per 7 dagen"
|
6706 |
+
|
6707 |
+
msgid "per week"
|
6708 |
+
msgstr "per week"
|
6709 |
+
|
6710 |
+
msgid "per 30 days"
|
6711 |
+
msgstr "per 30 dagen"
|
6712 |
+
|
6713 |
+
msgid "per month"
|
6714 |
+
msgstr "per maand"
|
6715 |
+
|
6716 |
+
msgid "per 365 days"
|
6717 |
+
msgstr "per 365 dagen"
|
6718 |
+
|
6719 |
+
msgid "per year"
|
6720 |
+
msgstr "per jaar"
|
6721 |
+
|
6722 |
+
msgid ""
|
6723 |
+
"This setting allows you to limit the number of appointments that can be "
|
6724 |
+
"booked by a customer in any given period. Restriction may end after a fixed "
|
6725 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
6726 |
+
"month, etc."
|
6727 |
+
msgstr ""
|
6728 |
+
"Met deze instelling kunt u het aantal afspraken beperken dat door een klant "
|
6729 |
+
"in een bepaalde periode kan worden geboekt. Beperking kan eindigen na een "
|
6730 |
+
"vaste periode of aan het begin van de volgende kalenderperiode, nieuwe dag, "
|
6731 |
+
"week, maand, etc."
|
6732 |
+
|
6733 |
+
msgid "Limit"
|
6734 |
+
msgstr "Limiet"
|
6735 |
+
|
6736 |
+
msgid ""
|
6737 |
+
"To make service invisible to your customers set the visibility to "
|
6738 |
+
"\"Private\"."
|
6739 |
+
msgstr ""
|
6740 |
+
"Wanneer klanten deze dienst zelf niet mogen inplannen stel je de "
|
6741 |
+
"zichtbaarheid in op \\\"Besloten\\\"."
|
6742 |
+
|
6743 |
+
msgid "Specified order"
|
6744 |
+
msgstr "Gespecificeerde volgorde"
|
6745 |
+
|
6746 |
+
msgid "Least occupied that day"
|
6747 |
+
msgstr "Minst bezette die dag"
|
6748 |
+
|
6749 |
+
msgid "Most occupied that day"
|
6750 |
+
msgstr "Drukst bezette die dag"
|
6751 |
+
|
6752 |
+
msgid "Least occupied for period"
|
6753 |
+
msgstr "Minst bezet in periode"
|
6754 |
+
|
6755 |
+
msgid "Most occupied for period"
|
6756 |
+
msgstr "Meest bezet in periode"
|
6757 |
+
|
6758 |
+
msgid "Least expensive"
|
6759 |
+
msgstr "Goedkoopste eerst"
|
6760 |
+
|
6761 |
+
msgid "Most expensive"
|
6762 |
+
msgstr "Duurste eerst"
|
6763 |
+
|
6764 |
msgid "Welcome to Bookly Pro and thank you for purchasing our product!"
|
6765 |
msgstr "Welkom bij Bookly Pro en bedankt voor het aanschaffen van ons product!"
|
6766 |
|
7089 |
msgid "Tasks"
|
7090 |
msgstr "Taken"
|
7091 |
|
7092 |
+
msgid "Skip time selection"
|
7093 |
+
msgstr "Sla tijd selectie over"
|
7094 |
+
|
7095 |
msgid "Time step settings"
|
7096 |
msgstr "Tijdstap instellingen"
|
7097 |
|
7107 |
"afspraaktijd, deze verbergen en een taak zonder opgestelde tijd te maken, of "
|
7108 |
"de tijdstap weergeven, maar een klant toestaan deze over te slaan."
|
7109 |
|
|
|
|
|
|
|
7110 |
msgid "Incorrect payment data"
|
7111 |
msgstr "Onjuiste betalingsgegevens"
|
7112 |
|
7310 |
msgid "No customer groups yet."
|
7311 |
msgstr "Nog geen klantengroepen."
|
7312 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7313 |
msgid "Customer Group"
|
7314 |
msgstr "Klantengroep"
|
7315 |
|
7334 |
msgid "Group name is required"
|
7335 |
msgstr "Groepsnaam is vereist"
|
7336 |
|
7337 |
+
msgid "Groups"
|
7338 |
+
msgstr "Groepen"
|
7339 |
+
|
7340 |
+
msgid "All groups"
|
7341 |
+
msgstr "Alle groepen"
|
7342 |
+
|
7343 |
+
msgid "No group selected"
|
7344 |
+
msgstr "Geen groep geselecteerd"
|
7345 |
+
|
7346 |
+
msgid "Customer group based"
|
7347 |
+
msgstr "Klantengroep gebaseerd op"
|
7348 |
+
|
7349 |
msgid "Notification to customer about placing on waiting list"
|
7350 |
msgstr "Melding aan klant over het plaatsen op de wachtlijst"
|
7351 |
|
7585 |
msgid "extras total price"
|
7586 |
msgstr "totale prijs van extra's"
|
7587 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7588 |
msgid "Show title"
|
7589 |
msgstr "Toon titel"
|
7590 |
|
7606 |
msgid "Show extras"
|
7607 |
msgstr "Toon extra's"
|
7608 |
|
7609 |
+
msgid "Max quantity"
|
7610 |
+
msgstr "Maximumhoeveelheid"
|
7611 |
+
|
7612 |
+
msgid "New Item"
|
7613 |
+
msgstr "Nieuw item"
|
7614 |
+
|
7615 |
msgid "Extras tax"
|
7616 |
msgstr "Extra belasting"
|
7617 |
|
7682 |
"Uw Paypal ID of een e-mailadres gekoppeld met uw Paypal account. E-"
|
7683 |
"mailadressen moeten bevestigd zijn."
|
7684 |
|
7685 |
+
msgid "Disable special hours update"
|
7686 |
+
msgstr "Schakel speciale uren update uit"
|
7687 |
+
|
7688 |
msgid "Special prices for appointments which begin between:"
|
7689 |
msgstr "Speciale prijzen voor afspraken die beginnen tussen:"
|
7690 |
|
7691 |
msgid "add special period"
|
7692 |
msgstr "voeg speciale periode toe"
|
7693 |
|
|
|
|
|
|
|
7694 |
msgid "Please select a location"
|
7695 |
msgstr "Gelieve locatie te selecteren"
|
7696 |
|
7700 |
msgid "Locations"
|
7701 |
msgstr "Locaties"
|
7702 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7703 |
msgid "Custom settings for location"
|
7704 |
msgstr "Aangepaste instellingen voor locatie"
|
7705 |
|
7740 |
msgid "Default value for location select"
|
7741 |
msgstr "Standaardwaarde voor selecteren locatie"
|
7742 |
|
7743 |
+
msgid "Default settings"
|
7744 |
+
msgstr "Standaard instellingen"
|
7745 |
+
|
7746 |
+
msgid ""
|
7747 |
+
"Set Default values that will be used in all locations where Use default "
|
7748 |
+
"settings is selected. To use custom settings in a location, select Use "
|
7749 |
+
"custom settings and enter custom values."
|
7750 |
+
msgstr ""
|
7751 |
+
"Stel Standaard waarden in die in alle locaties zullen worden gebruikt waar "
|
7752 |
+
"Gebruik standaard instellingen zijn geselecteerd. Om aangepaste instellingen "
|
7753 |
+
"in een locatie te gebruiken, selecteer Gebruik aangepaste instellingen en "
|
7754 |
+
"vul aangepaste waarden in."
|
7755 |
+
|
7756 |
+
msgid "Use default settings"
|
7757 |
+
msgstr "Gebruik standaard instellingen"
|
7758 |
+
|
7759 |
+
msgid "Use custom settings"
|
7760 |
+
msgstr "Gebruik aangepaste instellingen"
|
7761 |
+
|
7762 |
+
msgid "Select locations where the services are provided."
|
7763 |
+
msgstr "Selecteer locaties als de diensten zijn geleverd."
|
7764 |
+
|
7765 |
msgid "Account ID"
|
7766 |
msgstr "Account ID"
|
7767 |
|
7817 |
msgid "URL of the page for staff rating"
|
7818 |
msgstr "URL van de pagina voor personeelsbeoordeling"
|
7819 |
|
|
|
|
|
|
|
7820 |
msgid "Add staff rating form"
|
7821 |
msgstr "Voeg personeelsbeoordeling formulier in"
|
7822 |
|
languages/bookly-pt_PT.mo
CHANGED
Binary file
|
languages/bookly-pt_PT.po
CHANGED
@@ -8,9 +8,9 @@ msgstr ""
|
|
8 |
"Language: pt_PT\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2020-
|
12 |
-
"PO-Revision-Date: 2020-
|
13 |
-
"Last-Translator:
|
14 |
"Language-Team: Portuguese (Portugal)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
16 |
|
@@ -187,46 +187,6 @@ msgstr "E-mail"
|
|
187 |
msgid "Phone"
|
188 |
msgstr "Telefone"
|
189 |
|
190 |
-
msgid "Outlook Calendar integration"
|
191 |
-
msgstr "Integração do Calendário do Outlook"
|
192 |
-
|
193 |
-
msgid "Connect"
|
194 |
-
msgstr "Conectar"
|
195 |
-
|
196 |
-
#, php-format
|
197 |
-
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
198 |
-
msgstr ""
|
199 |
-
"Por favor, configure o Calendário do Outlook <a href=\"%s\">configurações</a>"
|
200 |
-
" primeiro"
|
201 |
-
|
202 |
-
msgid "Connected"
|
203 |
-
msgstr "Conectado"
|
204 |
-
|
205 |
-
msgid "disconnect"
|
206 |
-
msgstr "desconectar"
|
207 |
-
|
208 |
-
msgid "Synchronize staff member appointments with Outlook Calendar."
|
209 |
-
msgstr ""
|
210 |
-
"Sincronizar os compromissos do membro da equipa com o Calendário do Outlook."
|
211 |
-
|
212 |
-
msgid "Calendar"
|
213 |
-
msgstr "Calendário"
|
214 |
-
|
215 |
-
msgid "-- Select calendar --"
|
216 |
-
msgstr "-- Selecionar o calendário --"
|
217 |
-
|
218 |
-
msgid ""
|
219 |
-
"When you connect a calendar all future and past events will be synchronized "
|
220 |
-
"according to the selected synchronization mode. This may take a few minutes. "
|
221 |
-
"Please wait."
|
222 |
-
msgstr ""
|
223 |
-
"Quando conecta um calendário, todos os eventos passados e futuros serão "
|
224 |
-
"sincronizados de acordo com o modo de sincronização selecionado. Isto pode "
|
225 |
-
"demorar alguns minutos. Por favor, aguarde."
|
226 |
-
|
227 |
-
msgid "Can't change calendar for archived staff"
|
228 |
-
msgstr "Impossível mudar o calendário para os funcionários arquivados"
|
229 |
-
|
230 |
msgid "Instructions"
|
231 |
msgstr "Instruções"
|
232 |
|
@@ -543,6 +503,46 @@ msgstr "Sincronizar com Calendário do Outlook "
|
|
543 |
msgid "Calendars synchronized successfully."
|
544 |
msgstr "Calendários sincronizados com sucesso."
|
545 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
546 |
msgid "Custom Fields"
|
547 |
msgstr "Campos personalizados"
|
548 |
|
@@ -1267,21 +1267,6 @@ msgstr ""
|
|
1267 |
"aprovação de uma reserva recorrente não puder ser feita (status alterado, "
|
1268 |
"etc.)."
|
1269 |
|
1270 |
-
msgid "Enabled"
|
1271 |
-
msgstr "Ativado"
|
1272 |
-
|
1273 |
-
msgid "Allow this service to have recurring appointments."
|
1274 |
-
msgstr "Permitir que este serviço tenha reservas recorrentes."
|
1275 |
-
|
1276 |
-
msgid "Frequencies"
|
1277 |
-
msgstr "Frequências"
|
1278 |
-
|
1279 |
-
msgid "All"
|
1280 |
-
msgstr "Tudo"
|
1281 |
-
|
1282 |
-
msgid "Nothing selected"
|
1283 |
-
msgstr "Nada selecionado"
|
1284 |
-
|
1285 |
msgid "Edit"
|
1286 |
msgstr "Editar"
|
1287 |
|
@@ -1312,6 +1297,29 @@ msgstr "reserva recorrentes"
|
|
1312 |
msgid "Every"
|
1313 |
msgstr "Cada"
|
1314 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1315 |
msgid "Back"
|
1316 |
msgstr "Voltar"
|
1317 |
|
@@ -1348,6 +1356,21 @@ msgstr "Reservas recorrentes"
|
|
1348 |
msgid "Close"
|
1349 |
msgstr "Fechar"
|
1350 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1351 |
msgid "Save"
|
1352 |
msgstr "Guardar"
|
1353 |
|
@@ -1372,6 +1395,12 @@ msgstr "Merchant Salt"
|
|
1372 |
msgid "Duration"
|
1373 |
msgstr "Duração"
|
1374 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1375 |
msgid ""
|
1376 |
"Set service duration. If you select Custom, a client, while booking, will "
|
1377 |
"have to choose the duration of the service from several time units. In the "
|
@@ -1399,11 +1428,17 @@ msgstr "Preço da unidade"
|
|
1399 |
msgid "Custom"
|
1400 |
msgstr "Customizar"
|
1401 |
|
1402 |
-
msgid "
|
1403 |
-
msgstr "
|
1404 |
|
1405 |
-
msgid "
|
1406 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
1407 |
|
1408 |
msgid "Delete break"
|
1409 |
msgstr "Excluir folga"
|
@@ -1423,27 +1458,24 @@ msgstr "adicionar folga"
|
|
1423 |
msgid "Special Days"
|
1424 |
msgstr "Dias especiais"
|
1425 |
|
1426 |
-
msgid "Are you sure?"
|
1427 |
-
msgstr "Tem a certeza?"
|
1428 |
-
|
1429 |
-
msgid "Duplicate dates are not permitted."
|
1430 |
-
msgstr "Datas duplicadas não são permitidas."
|
1431 |
-
|
1432 |
-
msgid "Date in the past."
|
1433 |
-
msgstr "Data no passado."
|
1434 |
-
|
1435 |
msgid "The requested interval is not available"
|
1436 |
msgstr "O intervalo solicitado não está disponível"
|
1437 |
|
1438 |
msgid "OFF"
|
1439 |
msgstr "DESLIGAR"
|
1440 |
|
1441 |
-
msgid "Add Staff Special Days"
|
1442 |
-
msgstr "Adicionar dias especiais do funcionário"
|
1443 |
-
|
1444 |
msgid "Uncategorized"
|
1445 |
msgstr "Não categorizado"
|
1446 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1447 |
msgid "Spare time"
|
1448 |
msgstr "Tempo livre"
|
1449 |
|
@@ -1465,15 +1497,6 @@ msgstr ""
|
|
1465 |
"na primeira etapa do formulário de reserva então apenas este staff será "
|
1466 |
"utilizado para pesquisar horários disponíveis para todos os sub serviços."
|
1467 |
|
1468 |
-
msgid "Compound"
|
1469 |
-
msgstr "Composto"
|
1470 |
-
|
1471 |
-
msgid "Part of compound service"
|
1472 |
-
msgstr "Parte do serviço composto"
|
1473 |
-
|
1474 |
-
msgid "Compound service"
|
1475 |
-
msgstr "Serviço composto"
|
1476 |
-
|
1477 |
msgid "Short Codes"
|
1478 |
msgstr "Códigos curtos"
|
1479 |
|
@@ -1577,9 +1600,6 @@ msgstr "Compromissos exibidos"
|
|
1577 |
msgid "Upcoming appointments"
|
1578 |
msgstr "Compromissos futuros"
|
1579 |
|
1580 |
-
msgid "All appointments"
|
1581 |
-
msgstr "Todos os compromissos"
|
1582 |
-
|
1583 |
msgid "Delimiter"
|
1584 |
msgstr "Delimitador"
|
1585 |
|
@@ -1726,9 +1746,6 @@ msgstr "Nenhuma tributação encontrada."
|
|
1726 |
msgid "Processing..."
|
1727 |
msgstr "Processando..."
|
1728 |
|
1729 |
-
msgid "Taxation"
|
1730 |
-
msgstr "Taxação"
|
1731 |
-
|
1732 |
msgid "service tax amount"
|
1733 |
msgstr "valor da tributação do serviço"
|
1734 |
|
@@ -1755,6 +1772,9 @@ msgstr ""
|
|
1755 |
"calculado para o valor adicional ao custo. Se precisar de informar o valor "
|
1756 |
"exato do imposto ao sistema de pagamento, não use cobranças adicionais."
|
1757 |
|
|
|
|
|
|
|
1758 |
msgid "Customer Information"
|
1759 |
msgstr "Informações do cliente"
|
1760 |
|
@@ -1820,9 +1840,6 @@ msgstr "Pessoas"
|
|
1820 |
msgid "Number of persons"
|
1821 |
msgstr "Número de pessoas"
|
1822 |
|
1823 |
-
msgid "Capacity (min and max)"
|
1824 |
-
msgstr "Capacidade (mín e máx)"
|
1825 |
-
|
1826 |
msgid "Group bookings information format"
|
1827 |
msgstr "Agrupar o formato das informações de reserva"
|
1828 |
|
@@ -1850,6 +1867,15 @@ msgstr "número de pessoas que já estão na lista"
|
|
1850 |
msgid "capacity of service"
|
1851 |
msgstr "capacidade de serviço"
|
1852 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1853 |
msgid ""
|
1854 |
"The minimum and maximum number of customers allowed to book the service for "
|
1855 |
"the certain time period."
|
@@ -1867,12 +1893,6 @@ msgstr ""
|
|
1867 |
"Ative esta opção se quiser limitar a possibilidade de reserva dentro da "
|
1868 |
"capacidade do serviço uma só vez. "
|
1869 |
|
1870 |
-
msgid "Show information about group bookings"
|
1871 |
-
msgstr "Exibir informação sobre reservas de grupo"
|
1872 |
-
|
1873 |
-
msgid "Disable capacity update"
|
1874 |
-
msgstr "Desativar a atualização de capacidade"
|
1875 |
-
|
1876 |
msgid "Address"
|
1877 |
msgstr "Endereço"
|
1878 |
|
@@ -1927,11 +1947,19 @@ msgstr "Exibir endereço obrigatório"
|
|
1927 |
msgid "Show google maps field"
|
1928 |
msgstr "Exibir campo do google maps"
|
1929 |
|
1930 |
-
msgid "
|
1931 |
-
msgstr "
|
1932 |
|
1933 |
-
msgid "
|
1934 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1935 |
|
1936 |
msgid "Collaborative"
|
1937 |
msgstr "Colaborativo"
|
@@ -1942,6 +1970,12 @@ msgstr "Serviço colaborativo"
|
|
1942 |
msgid "Part of collaborative service"
|
1943 |
msgstr "Parte de um serviço colaborativo"
|
1944 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1945 |
msgid "Customer cabinet (all services displayed in tabs)"
|
1946 |
msgstr "Cabinet do cliente (todos os serviços exibidos em abas)"
|
1947 |
|
@@ -3097,43 +3131,6 @@ msgstr ""
|
|
3097 |
"devemos atualizar os seus dados de utilizador ou clique em Cancelar para "
|
3098 |
"editar os dados inseridos."
|
3099 |
|
3100 |
-
msgid "sent to our system"
|
3101 |
-
msgstr "enviado para o nosso sistema"
|
3102 |
-
|
3103 |
-
msgid ""
|
3104 |
-
"Hope you had a good weekend! Here's a summary of messages we've delivered "
|
3105 |
-
"last week:\n"
|
3106 |
-
"{notification_list}\n"
|
3107 |
-
"\n"
|
3108 |
-
"Your system sent a total of {total} messages last week (that's {delta} {sign}"
|
3109 |
-
" than the week before).\n"
|
3110 |
-
"Cost of sending {total} messages was {amount}. Your current Bookly SMS "
|
3111 |
-
"balance is {balance}.\n"
|
3112 |
-
"\n"
|
3113 |
-
"Thank you for using Bookly SMS. We wish you a lucky week!\n"
|
3114 |
-
"Bookly SMS Team"
|
3115 |
-
msgstr ""
|
3116 |
-
"Esperamos que tenha tido um bom fim de semana! Aqui está um resumo das "
|
3117 |
-
"mensagens enviadas na semana passada:\n"
|
3118 |
-
"{notification_list}\n"
|
3119 |
-
"\n"
|
3120 |
-
"O seu sistema enviou um total de {total} mensagens na semana passada ( "
|
3121 |
-
"{sign} {delta} do que na semana anterior).\n"
|
3122 |
-
"O custo de envio de {total} mensagens foi {amount}. O saldo corrente de "
|
3123 |
-
"Bookly SMS é {balance}.\n"
|
3124 |
-
"\n"
|
3125 |
-
"Obrigado por usar Bookly SMS. Desejamos-lhe uma boa semana!\n"
|
3126 |
-
"Equipe Bookly SMS"
|
3127 |
-
|
3128 |
-
msgid "more"
|
3129 |
-
msgstr "mais"
|
3130 |
-
|
3131 |
-
msgid "less"
|
3132 |
-
msgstr "menos"
|
3133 |
-
|
3134 |
-
msgid "Bookly SMS weekly summary"
|
3135 |
-
msgstr "Resumo semanal do Bookly SMS "
|
3136 |
-
|
3137 |
msgid "Internal Notes"
|
3138 |
msgstr "Observações internas"
|
3139 |
|
@@ -3319,23 +3316,30 @@ msgstr ""
|
|
3319 |
"reservas e divulgue a informação acerca do plugin. Isto vai ajudar a equipa "
|
3320 |
"a aperfeiçoar o produto e melhorar suas funcionalidades"
|
3321 |
|
3322 |
-
msgid "
|
3323 |
-
msgstr "
|
3324 |
|
3325 |
msgid ""
|
3326 |
-
"Select \"
|
3327 |
"caching plugins by adding a DONOTCACHEPAGE constant on pages with booking "
|
3328 |
-
"form
|
3329 |
msgstr ""
|
3330 |
-
"Selecione \"
|
3331 |
-
"de terceiros
|
3332 |
-
"formulário de reserva
|
3333 |
|
3334 |
-
msgid "
|
3335 |
-
msgstr "
|
|
|
3336 |
|
3337 |
-
msgid "
|
3338 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3339 |
|
3340 |
msgid "Service paid locally"
|
3341 |
msgstr "Serviço pago localmente"
|
@@ -3355,6 +3359,9 @@ msgstr "Horário de Funcionamento "
|
|
3355 |
msgid "Holidays"
|
3356 |
msgstr "Feriados"
|
3357 |
|
|
|
|
|
|
|
3358 |
msgid "Approve appointment URL (success)"
|
3359 |
msgstr "URL de aprovação da reserva (sucesso)"
|
3360 |
|
@@ -3552,6 +3559,42 @@ msgstr ""
|
|
3552 |
"diferente do pedido anterior, uma mensagem de aviso aparecerá pedindo para "
|
3553 |
"atualizar os dados."
|
3554 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3555 |
#, php-format
|
3556 |
msgid ""
|
3557 |
"WooCommerce cart is not set up. Follow the <a href=\"%s\">link</a> to "
|
@@ -3560,6 +3603,9 @@ msgstr ""
|
|
3560 |
"O carrinho do WooCommerce não está configurado. Siga o <a href=\"%s\">"
|
3561 |
"link</a> para corrigir este problema."
|
3562 |
|
|
|
|
|
|
|
3563 |
msgid "SMS Notifications"
|
3564 |
msgstr "Notificações SMS"
|
3565 |
|
@@ -3648,9 +3694,6 @@ msgstr "Cancelar solicitação"
|
|
3648 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3649 |
msgstr "Só pode conter letras ou dígitos (até 11 caracteres)."
|
3650 |
|
3651 |
-
msgid "Last month"
|
3652 |
-
msgstr "Último mês"
|
3653 |
-
|
3654 |
msgid "Sender ID request is sent."
|
3655 |
msgstr "Pedido de ID do remetente foi enviado."
|
3656 |
|
@@ -3733,8 +3776,8 @@ msgstr "Salvar as definições de fatura"
|
|
3733 |
msgid "Send email notification to administrators at low balance"
|
3734 |
msgstr "Enviar notificação via email para os administradores com saldo baixo"
|
3735 |
|
3736 |
-
msgid "Send weekly summary
|
3737 |
-
msgstr "
|
3738 |
|
3739 |
msgid ""
|
3740 |
"Your country is the location from where you consume Bookly SMS services and "
|
@@ -3784,54 +3827,12 @@ msgstr "Lembrar-me da minha escolha"
|
|
3784 |
msgid "No, update just here in services"
|
3785 |
msgstr "Não, apenas atualizar aqui em serviços"
|
3786 |
|
3787 |
-
msgid "
|
3788 |
-
msgstr "
|
|
|
3789 |
|
3790 |
-
msgid "
|
3791 |
-
msgstr "
|
3792 |
-
|
3793 |
-
msgid "All staff"
|
3794 |
-
msgstr "Todos os funcionários"
|
3795 |
-
|
3796 |
-
msgid "No staff selected"
|
3797 |
-
msgstr "Nenhum funcionário escolhido"
|
3798 |
-
|
3799 |
-
#, php-format
|
3800 |
-
msgid "This text can be inserted into notifications with %s code."
|
3801 |
-
msgstr "Este texto pode ser inserido em notificações com o código %s."
|
3802 |
-
|
3803 |
-
msgid "Start and end times of the appointment"
|
3804 |
-
msgstr "Horas de início e término da reserva"
|
3805 |
-
|
3806 |
-
msgid ""
|
3807 |
-
"Allows to set the start and end times for an appointment for services with "
|
3808 |
-
"the duration of 1 day or longer. This time will be displayed in "
|
3809 |
-
"notifications to customers, backend calendar and codes for booking form."
|
3810 |
-
msgstr ""
|
3811 |
-
"Permite definir os horários de início e término de uma reserva para serviços "
|
3812 |
-
"com a duração de 1 dia ou mais. Este horário será exibido nas notificações "
|
3813 |
-
"para os clientes, no calendário do backend e nos códigos para o formulário "
|
3814 |
-
"de reserva."
|
3815 |
-
|
3816 |
-
msgid "Slot length as service duration"
|
3817 |
-
msgstr "Intervalo de tempo enquanto duração do serviço."
|
3818 |
-
|
3819 |
-
msgid ""
|
3820 |
-
"The time interval which is used as a step when building all time slots for "
|
3821 |
-
"the service at the Time step. The setting overrides global settings in "
|
3822 |
-
"Settings > General. Use Default to apply global settings."
|
3823 |
-
msgstr ""
|
3824 |
-
"O intervalo de tempo que é usado como uma etapa para criar todos os horários "
|
3825 |
-
"para o serviço na etapa Hora. A configuração substitui as configurações "
|
3826 |
-
"globais nas Configurações Gerais. Use Padrão para poder aplicar as "
|
3827 |
-
"configurações globais."
|
3828 |
-
|
3829 |
-
msgid "The service will be created with the visibility of Private."
|
3830 |
-
msgstr ""
|
3831 |
-
"O serviço será criado com a visibilidade de Privado.\n"
|
3832 |
-
|
3833 |
-
msgid "Duplicate"
|
3834 |
-
msgstr "Duplicar"
|
3835 |
|
3836 |
msgid "You must select at least one repeat option for recurring services."
|
3837 |
msgstr ""
|
@@ -3967,6 +3968,12 @@ msgid "Stripe activation was not completed"
|
|
3967 |
msgstr ""
|
3968 |
"A ativação do Stripe não foi concluída\n"
|
3969 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3970 |
msgid "Auto-refresh Calendar"
|
3971 |
msgstr "Atualizar automaticamente o Calendário"
|
3972 |
|
@@ -4804,6 +4811,10 @@ msgstr ""
|
|
4804 |
"Se deixar este campo vazio, o funcionário não será capaz de aceder ao "
|
4805 |
"calendário pessoal através da área de administração do WP."
|
4806 |
|
|
|
|
|
|
|
|
|
4807 |
msgid "Archive"
|
4808 |
msgstr "Arquivar"
|
4809 |
|
@@ -4859,15 +4870,15 @@ msgstr "Período"
|
|
4859 |
msgid "Selected period doesn't match service duration"
|
4860 |
msgstr "A duração do período selecionado não coincide com a duração do serviço"
|
4861 |
|
4862 |
-
msgid "The selected period is occupied by another appointment"
|
4863 |
-
msgstr "O período selecionado está ocupado com outra reserva"
|
4864 |
-
|
4865 |
msgid "Selected period doesn't match provider's schedule"
|
4866 |
msgstr "O período selecionado não é igual ao horário do fornecedor"
|
4867 |
|
4868 |
msgid "Selected period doesn't match service schedule"
|
4869 |
msgstr "O período selecionado não é igual ao horário do serviço"
|
4870 |
|
|
|
|
|
|
|
4871 |
msgid "Booking exceeds the working hours limit for staff member"
|
4872 |
msgstr "A reserva excede o limite de horas de trabalho do funcionário"
|
4873 |
|
@@ -4995,6 +5006,38 @@ msgstr "Não guardar"
|
|
4995 |
msgid "Create service"
|
4996 |
msgstr "Criar um serviço"
|
4997 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4998 |
msgid "Edit service"
|
4999 |
msgstr "Editar um serviço"
|
5000 |
|
@@ -5560,26 +5603,12 @@ msgstr "Data de criação"
|
|
5560 |
msgid "Packages"
|
5561 |
msgstr "Pacotes"
|
5562 |
|
5563 |
-
msgid "Unassigned"
|
5564 |
-
msgstr "Não atribuído"
|
5565 |
-
|
5566 |
-
msgid ""
|
5567 |
-
"Enable this setting so that the package can be displayed and available for "
|
5568 |
-
"booking when clients have not specified a particular provider."
|
5569 |
-
msgstr ""
|
5570 |
-
"Ative esta configuração para que o pacote possa ser exibido e ficar "
|
5571 |
-
"disponível para reserva quando os clientes não tiverem especificado um "
|
5572 |
-
"fornecedor em particular."
|
5573 |
-
|
5574 |
-
msgid "Life Time"
|
5575 |
-
msgstr "Tempo de vida"
|
5576 |
-
|
5577 |
-
msgid "The period in days when the customer can use a package of services."
|
5578 |
-
msgstr "Período em dias que o cliente pode usar um pacote de serviços."
|
5579 |
-
|
5580 |
msgid "New package"
|
5581 |
msgstr "Novo pacote"
|
5582 |
|
|
|
|
|
|
|
5583 |
msgid "Edit package"
|
5584 |
msgstr "Editar pacote"
|
5585 |
|
@@ -5673,6 +5702,20 @@ msgstr "Editar o pacote de compromissos"
|
|
5673 |
msgid "Delete package appointment"
|
5674 |
msgstr "Apagar o pacote de compromissos"
|
5675 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5676 |
msgid "Packages list"
|
5677 |
msgstr "Lista de pacotes"
|
5678 |
|
@@ -6004,32 +6047,6 @@ msgstr "O período de suporte expirou em %s."
|
|
6004 |
msgid "Print"
|
6005 |
msgstr "Imprimir"
|
6006 |
|
6007 |
-
msgid "Google Calendar integration"
|
6008 |
-
msgstr "Integração com o Calendário Google "
|
6009 |
-
|
6010 |
-
#, php-format
|
6011 |
-
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
6012 |
-
msgstr ""
|
6013 |
-
"Por favor, configure primeiramente as <a href=\"%s\">configurações</a> do "
|
6014 |
-
"Calendário Google"
|
6015 |
-
|
6016 |
-
msgid "Synchronize staff member appointments with Google Calendar."
|
6017 |
-
msgstr ""
|
6018 |
-
"Sincronizar os dados das reservas do funcionário com o Calendário Google."
|
6019 |
-
|
6020 |
-
msgid "Limit working hours per day"
|
6021 |
-
msgstr "Limite de horas trabalhadas por dia."
|
6022 |
-
|
6023 |
-
msgid "Unlimited"
|
6024 |
-
msgstr "Sem limite"
|
6025 |
-
|
6026 |
-
msgid ""
|
6027 |
-
"This setting allows limiting the total time occupied by bookings per day for "
|
6028 |
-
"staff member. Padding time is not included."
|
6029 |
-
msgstr ""
|
6030 |
-
"Esta configuração permite limitar o tempo total ocupado por reservas por dia "
|
6031 |
-
"para o funcionário. A passagem do tempo não está incluída."
|
6032 |
-
|
6033 |
msgid "API Username"
|
6034 |
msgstr "Utilizador API"
|
6035 |
|
@@ -6474,211 +6491,81 @@ msgstr ""
|
|
6474 |
msgid "Online Meetings"
|
6475 |
msgstr "Reuniões on-line"
|
6476 |
|
6477 |
-
msgid "
|
6478 |
-
msgstr "
|
|
|
|
|
|
|
6479 |
|
6480 |
#, php-format
|
6481 |
-
msgid ""
|
6482 |
-
"
|
6483 |
-
"appointments with the selected online meeting provider. Make sure that the "
|
6484 |
-
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6485 |
-
"Meetings</a>"
|
6486 |
-
msgstr ""
|
6487 |
-
"Se esta configuração estiver ativada, as reuniões on-line serão criadas para "
|
6488 |
-
"novos compromissos com o fornecedor de reuniões on-line selecionado. "
|
6489 |
-
"Assegure-se que o fornecedor está configurado corretamente em Configurações "
|
6490 |
-
"<a href=\"%s\">Reuniões on-line/a>"
|
6491 |
|
6492 |
-
msgid "
|
6493 |
-
msgstr "
|
6494 |
|
6495 |
msgid ""
|
6496 |
-
"
|
6497 |
-
"
|
6498 |
-
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
6499 |
-
"then the next available time slot will be 9:15 rather than 9:00."
|
6500 |
msgstr ""
|
6501 |
-
"
|
6502 |
-
"
|
6503 |
-
"então deve definir \"preenchimento antes\" para 15 min. Se houver uma "
|
6504 |
-
"reserva das 08:00 às 09:00, o próximo intervalo de tempo disponível será às "
|
6505 |
-
"9:15 em vez de às 9:00."
|
6506 |
|
6507 |
-
msgid "
|
6508 |
-
msgstr "
|
|
|
|
|
|
|
6509 |
|
|
|
6510 |
msgid ""
|
6511 |
-
"
|
6512 |
-
"
|
6513 |
msgstr ""
|
6514 |
-
"
|
6515 |
-
"
|
6516 |
|
6517 |
-
msgid "
|
6518 |
-
msgstr "
|
6519 |
|
6520 |
-
msgid ""
|
6521 |
-
|
6522 |
-
"account when calculating provider's occupancy. 0 means the day of booking."
|
6523 |
-
msgstr ""
|
6524 |
-
"Defina o número de dias antes e depois da consulta que será considerado no "
|
6525 |
-
"cálculo da ocupação do fornecedor. 0 significa o dia da reserva."
|
6526 |
|
6527 |
-
msgid "
|
6528 |
-
msgstr ""
|
6529 |
-
"Escolha um funcionário de forma aleatória no caso de incerteza\n"
|
6530 |
|
6531 |
msgid ""
|
6532 |
-
"
|
6533 |
-
"
|
6534 |
-
"
|
6535 |
msgstr ""
|
6536 |
-
"
|
6537 |
-
"
|
6538 |
-
"
|
6539 |
|
6540 |
-
msgid "
|
6541 |
-
msgstr "
|
6542 |
|
6543 |
-
msgid "
|
6544 |
-
msgstr "
|
6545 |
|
6546 |
-
msgid "
|
6547 |
-
msgstr "
|
6548 |
|
6549 |
-
msgid "
|
6550 |
-
|
|
|
|
|
|
|
|
|
6551 |
|
6552 |
-
msgid "
|
6553 |
-
msgstr "
|
6554 |
|
6555 |
-
msgid "
|
6556 |
-
msgstr "por semana"
|
6557 |
-
|
6558 |
-
msgid "per 30 days"
|
6559 |
-
msgstr "por 30 dias"
|
6560 |
-
|
6561 |
-
msgid "per month"
|
6562 |
-
msgstr "por mês"
|
6563 |
-
|
6564 |
-
msgid "per 365 days"
|
6565 |
-
msgstr "por 365 dias"
|
6566 |
-
|
6567 |
-
msgid "per year"
|
6568 |
-
msgstr "por ano"
|
6569 |
-
|
6570 |
-
msgid ""
|
6571 |
-
"This setting allows you to limit the number of appointments that can be "
|
6572 |
-
"booked by a customer in any given period. Restriction may end after a fixed "
|
6573 |
-
"period or with the beginning of the next calendar period - new day, week, "
|
6574 |
-
"month, etc."
|
6575 |
msgstr ""
|
6576 |
-
"
|
6577 |
-
"
|
6578 |
-
"terminar após um período fixo ou com o início do próximo período: novo dia, "
|
6579 |
-
"semana, mês, etc."
|
6580 |
-
|
6581 |
-
msgid "Limit"
|
6582 |
-
msgstr "Limitar"
|
6583 |
-
|
6584 |
-
msgid ""
|
6585 |
-
"To make service invisible to your customers set the visibility to "
|
6586 |
-
"\"Private\"."
|
6587 |
-
msgstr ""
|
6588 |
-
"Para tornar o serviço invisível aos seus clientes, defina a visibilidade "
|
6589 |
-
"para \"Privado\"."
|
6590 |
-
|
6591 |
-
msgid "Specified order"
|
6592 |
-
msgstr "Pedido especificado"
|
6593 |
-
|
6594 |
-
msgid "Least occupied that day"
|
6595 |
-
msgstr "Menos ocupado nesse dia"
|
6596 |
-
|
6597 |
-
msgid "Most occupied that day"
|
6598 |
-
msgstr "Mais ocupado nesse dia"
|
6599 |
-
|
6600 |
-
msgid "Least occupied for period"
|
6601 |
-
msgstr "Menos ocupado por período"
|
6602 |
-
|
6603 |
-
msgid "Most occupied for period"
|
6604 |
-
msgstr "Mais ocupado por período"
|
6605 |
-
|
6606 |
-
msgid "Least expensive"
|
6607 |
-
msgstr "Menos caro"
|
6608 |
-
|
6609 |
-
msgid "Most expensive"
|
6610 |
-
msgstr "Mais caro"
|
6611 |
-
|
6612 |
-
msgid "Form view in case of single booking"
|
6613 |
-
msgstr "Visualização de formulário em caso de reserva única"
|
6614 |
-
|
6615 |
-
msgid "Form view in case of multiple booking"
|
6616 |
-
msgstr "Visualização de formulário em caso de reserva múltipla"
|
6617 |
-
|
6618 |
-
#, php-format
|
6619 |
-
msgid "Form in case of 100% discount"
|
6620 |
-
msgstr "Formulário no caso de 100% de desconto"
|
6621 |
-
|
6622 |
-
msgid "Show birthday field"
|
6623 |
-
msgstr "Exibir campo de aniversário"
|
6624 |
-
|
6625 |
-
msgid ""
|
6626 |
-
"Address information is needed for Invoices add-on. To disable, deactivate "
|
6627 |
-
"Invoices add-on first."
|
6628 |
-
msgstr ""
|
6629 |
-
"A informação de endereço é necessária para o add-on Faturas. Para desativar, "
|
6630 |
-
"desative primeiro o add-on Faturas."
|
6631 |
-
|
6632 |
-
msgid "Show address fields"
|
6633 |
-
msgstr "Exibir os campos de endereço"
|
6634 |
-
|
6635 |
-
msgid "Show Facebook login button"
|
6636 |
-
msgstr "Exibir o botão para entrar no Facebook"
|
6637 |
-
|
6638 |
-
#, php-format
|
6639 |
-
msgid ""
|
6640 |
-
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6641 |
-
"first."
|
6642 |
-
msgstr ""
|
6643 |
-
"Por favor, configure a integração com a Aplicação do Facebook em <a "
|
6644 |
-
"href=\"%s\">configurações</a> primeiro."
|
6645 |
-
|
6646 |
-
msgid "Show time zone switcher"
|
6647 |
-
msgstr "Mostra o seletor de fuso horário"
|
6648 |
-
|
6649 |
-
msgid "Import"
|
6650 |
-
msgstr "Importar"
|
6651 |
-
|
6652 |
-
msgid "Note"
|
6653 |
-
msgstr "Observação"
|
6654 |
-
|
6655 |
-
msgid ""
|
6656 |
-
"You may import list of clients in CSV format. You can choose the columns "
|
6657 |
-
"contained in your file. The sequence of columns should coincide with the "
|
6658 |
-
"specified one."
|
6659 |
-
msgstr ""
|
6660 |
-
"Pode importar uma lista de clientes no formato CSV. Pode escolher as colunas "
|
6661 |
-
"contidas no seu arquivo. A sequência de colunas deve coincidir com a "
|
6662 |
-
"especificada."
|
6663 |
-
|
6664 |
-
msgid "Select file"
|
6665 |
-
msgstr "Selecionar o ficheiro"
|
6666 |
-
|
6667 |
-
msgid "Date of birth"
|
6668 |
-
msgstr "Data de nascimento"
|
6669 |
-
|
6670 |
-
msgid "Analytics"
|
6671 |
-
msgstr "Analíticos"
|
6672 |
-
|
6673 |
-
msgid ""
|
6674 |
-
"Note: If payment is made for several services, then for each service you "
|
6675 |
-
"will see the entire amount paid as revenue."
|
6676 |
-
msgstr ""
|
6677 |
-
"Nota: Se o pagamento for feito para vários serviços, então para cada serviço,"
|
6678 |
-
" verá o valor total pago como receita."
|
6679 |
-
|
6680 |
-
msgid "online meeting join URL"
|
6681 |
-
msgstr "Participe na reunião on-line"
|
6682 |
|
6683 |
msgid "Titles"
|
6684 |
msgstr "Nomes"
|
@@ -6710,6 +6597,19 @@ msgstr ""
|
|
6710 |
msgid "Error dissociating purchase code."
|
6711 |
msgstr "Erro ao dissociar o código de compra."
|
6712 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6713 |
msgid "Archiving Staff"
|
6714 |
msgstr "A arquivar funcionários"
|
6715 |
|
@@ -6723,6 +6623,28 @@ msgstr ""
|
|
6723 |
msgid "Ok, continue editing"
|
6724 |
msgstr "Ok, continuar a ediitar"
|
6725 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6726 |
msgid "Reason"
|
6727 |
msgstr "Motivo"
|
6728 |
|
@@ -6762,6 +6684,141 @@ msgstr "Por favor, insira um nome de serviço"
|
|
6762 |
msgid "Custom service price"
|
6763 |
msgstr "Preço de serviço customizado"
|
6764 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6765 |
msgid "Welcome to Bookly Pro and thank you for purchasing our product!"
|
6766 |
msgstr "Bem-vindo ao Bookly Pro e obrigado por comprar o nosso produto!"
|
6767 |
|
@@ -7089,6 +7146,9 @@ msgstr "Passar"
|
|
7089 |
msgid "Tasks"
|
7090 |
msgstr "Tarefas"
|
7091 |
|
|
|
|
|
|
|
7092 |
msgid "Time step settings"
|
7093 |
msgstr "Definições da etapa Time"
|
7094 |
|
@@ -7104,9 +7164,6 @@ msgstr ""
|
|
7104 |
"compromisso, ocultá-lo e criar uma tarefa sem o devido tempo, ou exibir a "
|
7105 |
"etapa de tempo, mas permitir que o cliente a ignore."
|
7106 |
|
7107 |
-
msgid "Skip time selection"
|
7108 |
-
msgstr "Saltar a seleção da hora"
|
7109 |
-
|
7110 |
msgid "Incorrect payment data"
|
7111 |
msgstr "Dados de pagamento incorretos"
|
7112 |
|
@@ -7309,18 +7366,6 @@ msgstr "Editar grupo"
|
|
7309 |
msgid "No customer groups yet."
|
7310 |
msgstr "Ainda não há grupos de clientes."
|
7311 |
|
7312 |
-
msgid "Groups"
|
7313 |
-
msgstr "Grupos"
|
7314 |
-
|
7315 |
-
msgid "All groups"
|
7316 |
-
msgstr "Todos os grupos"
|
7317 |
-
|
7318 |
-
msgid "No group selected"
|
7319 |
-
msgstr "Nenhum grupo selecionado"
|
7320 |
-
|
7321 |
-
msgid "Customer group based"
|
7322 |
-
msgstr "Baseado em grupos de clientes"
|
7323 |
-
|
7324 |
msgid "Customer Group"
|
7325 |
msgstr "Grupo de clientes"
|
7326 |
|
@@ -7344,6 +7389,18 @@ msgstr "Editar grupo"
|
|
7344 |
msgid "Group name is required"
|
7345 |
msgstr "Nome do grupo é obrigatório"
|
7346 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7347 |
msgid "Notification to customer about placing on waiting list"
|
7348 |
msgstr "Notificação ao cliente sobre o posicionamento na lista de espera"
|
7349 |
|
@@ -7582,12 +7639,6 @@ msgstr "nomes dos extras"
|
|
7582 |
msgid "extras total price"
|
7583 |
msgstr "preço total dos extras"
|
7584 |
|
7585 |
-
msgid "Max quantity"
|
7586 |
-
msgstr "Quantidade máxima"
|
7587 |
-
|
7588 |
-
msgid "New Item"
|
7589 |
-
msgstr "Novo item"
|
7590 |
-
|
7591 |
msgid "Show title"
|
7592 |
msgstr "Mostrar nomes"
|
7593 |
|
@@ -7609,6 +7660,12 @@ msgstr "Exibir o passo Extras"
|
|
7609 |
msgid "Show extras"
|
7610 |
msgstr "Exibir extras"
|
7611 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7612 |
msgid "Extras tax"
|
7613 |
msgstr "Taxa extra"
|
7614 |
|
@@ -7678,15 +7735,15 @@ msgstr ""
|
|
7678 |
"O seu ID PayPal ou endereço de e-mail associado com a sua conta PayPal. "
|
7679 |
"Endereços de e-mail precisam ser confirmados."
|
7680 |
|
|
|
|
|
|
|
7681 |
msgid "Special prices for appointments which begin between:"
|
7682 |
msgstr "Preços especiais para compromissos que começam entre:"
|
7683 |
|
7684 |
msgid "add special period"
|
7685 |
msgstr "adicionar período especial"
|
7686 |
|
7687 |
-
msgid "Disable special hours update"
|
7688 |
-
msgstr "Desativar atualização das horas especiais"
|
7689 |
-
|
7690 |
msgid "Please select a location"
|
7691 |
msgstr "Por favor, selecione um local"
|
7692 |
|
@@ -7696,28 +7753,6 @@ msgstr "Funcionários da equipa"
|
|
7696 |
msgid "Locations"
|
7697 |
msgstr "Locais"
|
7698 |
|
7699 |
-
msgid "Default settings"
|
7700 |
-
msgstr "Configurações personalizadas "
|
7701 |
-
|
7702 |
-
msgid ""
|
7703 |
-
"Set Default values that will be used in all locations where Use default "
|
7704 |
-
"settings is selected. To use custom settings in a location, select Use "
|
7705 |
-
"custom settings and enter custom values."
|
7706 |
-
msgstr ""
|
7707 |
-
"Defina os valores padrão que serão usados em todos os locais onde Usar "
|
7708 |
-
"configurações padrão estiver selecionado. Para usar configurações "
|
7709 |
-
"personalizadas num local, selecione Usar configurações personalizadas e "
|
7710 |
-
"insira valores personalizados."
|
7711 |
-
|
7712 |
-
msgid "Use default settings"
|
7713 |
-
msgstr "Utilize configurações personalizadas "
|
7714 |
-
|
7715 |
-
msgid "Use custom settings"
|
7716 |
-
msgstr "Utilize configurações personalizadas"
|
7717 |
-
|
7718 |
-
msgid "Select locations where the services are provided."
|
7719 |
-
msgstr "Selecionar locais onde os serviços são fornecidos."
|
7720 |
-
|
7721 |
msgid "Custom settings for location"
|
7722 |
msgstr "Configurações personalizadas para o local"
|
7723 |
|
@@ -7758,6 +7793,28 @@ msgstr "Tornar a seleção do local obrigatória"
|
|
7758 |
msgid "Default value for location select"
|
7759 |
msgstr "Valor padrão para a seleção de local"
|
7760 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7761 |
msgid "Account ID"
|
7762 |
msgstr "ID da conta"
|
7763 |
|
@@ -7811,9 +7868,6 @@ msgstr "Exibir a nota do funcionário antes do nome"
|
|
7811 |
msgid "URL of the page for staff rating"
|
7812 |
msgstr "URL da página para avaliação dos funcionários"
|
7813 |
|
7814 |
-
msgid "Comment"
|
7815 |
-
msgstr "Comentário"
|
7816 |
-
|
7817 |
msgid "Add staff rating form"
|
7818 |
msgstr "Adicionar formulário de avaliação de funcionário"
|
7819 |
|
8 |
"Language: pt_PT\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2020-11-06 17:32+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-11-06 17:33+0000\n"
|
13 |
+
"Last-Translator: Isabel Andrade <estgf_nemo@hotmail.com>\n"
|
14 |
"Language-Team: Portuguese (Portugal)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
16 |
|
187 |
msgid "Phone"
|
188 |
msgstr "Telefone"
|
189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
msgid "Instructions"
|
191 |
msgstr "Instruções"
|
192 |
|
503 |
msgid "Calendars synchronized successfully."
|
504 |
msgstr "Calendários sincronizados com sucesso."
|
505 |
|
506 |
+
msgid "Outlook Calendar integration"
|
507 |
+
msgstr "Integração do Calendário do Outlook"
|
508 |
+
|
509 |
+
msgid "Connect"
|
510 |
+
msgstr "Conectar"
|
511 |
+
|
512 |
+
#, php-format
|
513 |
+
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
514 |
+
msgstr ""
|
515 |
+
"Por favor, configure o Calendário do Outlook <a href=\"%s\">configurações</a>"
|
516 |
+
" primeiro"
|
517 |
+
|
518 |
+
msgid "Connected"
|
519 |
+
msgstr "Conectado"
|
520 |
+
|
521 |
+
msgid "disconnect"
|
522 |
+
msgstr "desconectar"
|
523 |
+
|
524 |
+
msgid "Synchronize staff member appointments with Outlook Calendar."
|
525 |
+
msgstr ""
|
526 |
+
"Sincronizar os compromissos do membro da equipa com o Calendário do Outlook."
|
527 |
+
|
528 |
+
msgid "Calendar"
|
529 |
+
msgstr "Calendário"
|
530 |
+
|
531 |
+
msgid "-- Select calendar --"
|
532 |
+
msgstr "-- Selecionar o calendário --"
|
533 |
+
|
534 |
+
msgid ""
|
535 |
+
"When you connect a calendar all future and past events will be synchronized "
|
536 |
+
"according to the selected synchronization mode. This may take a few minutes. "
|
537 |
+
"Please wait."
|
538 |
+
msgstr ""
|
539 |
+
"Quando conecta um calendário, todos os eventos passados e futuros serão "
|
540 |
+
"sincronizados de acordo com o modo de sincronização selecionado. Isto pode "
|
541 |
+
"demorar alguns minutos. Por favor, aguarde."
|
542 |
+
|
543 |
+
msgid "Can't change calendar for archived staff"
|
544 |
+
msgstr "Impossível mudar o calendário para os funcionários arquivados"
|
545 |
+
|
546 |
msgid "Custom Fields"
|
547 |
msgstr "Campos personalizados"
|
548 |
|
1267 |
"aprovação de uma reserva recorrente não puder ser feita (status alterado, "
|
1268 |
"etc.)."
|
1269 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1270 |
msgid "Edit"
|
1271 |
msgstr "Editar"
|
1272 |
|
1297 |
msgid "Every"
|
1298 |
msgstr "Cada"
|
1299 |
|
1300 |
+
msgid ""
|
1301 |
+
"You are going to reschedule the recurring appointment. Please select "
|
1302 |
+
"recurring appointments which should be rescheduled as well."
|
1303 |
+
msgstr ""
|
1304 |
+
"Vai reprogramar uma marcação recorrente. Por favor selecione a marcação "
|
1305 |
+
"recorrente que vai ser reprogramada também."
|
1306 |
+
|
1307 |
+
msgid "Only this appointment"
|
1308 |
+
msgstr ""
|
1309 |
+
"Apenas esta marcação\n"
|
1310 |
+
|
1311 |
+
msgid "This and next appointments"
|
1312 |
+
msgstr "Esta e as próximas marcações"
|
1313 |
+
|
1314 |
+
msgid "All appointments"
|
1315 |
+
msgstr "Todos os compromissos"
|
1316 |
+
|
1317 |
+
msgid "Number of days to shift appointments"
|
1318 |
+
msgstr "Número de dias para mudar as marcações"
|
1319 |
+
|
1320 |
+
msgid "Appointments will be scheduled at"
|
1321 |
+
msgstr "As marcações vão ser agendadas em"
|
1322 |
+
|
1323 |
msgid "Back"
|
1324 |
msgstr "Voltar"
|
1325 |
|
1356 |
msgid "Close"
|
1357 |
msgstr "Fechar"
|
1358 |
|
1359 |
+
msgid "Enabled"
|
1360 |
+
msgstr "Ativado"
|
1361 |
+
|
1362 |
+
msgid "Allow this service to have recurring appointments."
|
1363 |
+
msgstr "Permitir que este serviço tenha reservas recorrentes."
|
1364 |
+
|
1365 |
+
msgid "Frequencies"
|
1366 |
+
msgstr "Frequências"
|
1367 |
+
|
1368 |
+
msgid "All"
|
1369 |
+
msgstr "Tudo"
|
1370 |
+
|
1371 |
+
msgid "Nothing selected"
|
1372 |
+
msgstr "Nada selecionado"
|
1373 |
+
|
1374 |
msgid "Save"
|
1375 |
msgstr "Guardar"
|
1376 |
|
1395 |
msgid "Duration"
|
1396 |
msgstr "Duração"
|
1397 |
|
1398 |
+
msgid "Show service price next to duration"
|
1399 |
+
msgstr "Exibir o preço do serviço ao lado da duração"
|
1400 |
+
|
1401 |
+
msgid "Hide this field"
|
1402 |
+
msgstr "Ocultar este campo"
|
1403 |
+
|
1404 |
msgid ""
|
1405 |
"Set service duration. If you select Custom, a client, while booking, will "
|
1406 |
"have to choose the duration of the service from several time units. In the "
|
1428 |
msgid "Custom"
|
1429 |
msgstr "Customizar"
|
1430 |
|
1431 |
+
msgid "Are you sure?"
|
1432 |
+
msgstr "Tem a certeza?"
|
1433 |
|
1434 |
+
msgid "Duplicate dates are not permitted."
|
1435 |
+
msgstr "Datas duplicadas não são permitidas."
|
1436 |
+
|
1437 |
+
msgid "Date in the past."
|
1438 |
+
msgstr "Data no passado."
|
1439 |
+
|
1440 |
+
msgid "Add Staff Special Days"
|
1441 |
+
msgstr "Adicionar dias especiais do funcionário"
|
1442 |
|
1443 |
msgid "Delete break"
|
1444 |
msgstr "Excluir folga"
|
1458 |
msgid "Special Days"
|
1459 |
msgstr "Dias especiais"
|
1460 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1461 |
msgid "The requested interval is not available"
|
1462 |
msgstr "O intervalo solicitado não está disponível"
|
1463 |
|
1464 |
msgid "OFF"
|
1465 |
msgstr "DESLIGAR"
|
1466 |
|
|
|
|
|
|
|
1467 |
msgid "Uncategorized"
|
1468 |
msgstr "Não categorizado"
|
1469 |
|
1470 |
+
msgid "Compound"
|
1471 |
+
msgstr "Composto"
|
1472 |
+
|
1473 |
+
msgid "Part of compound service"
|
1474 |
+
msgstr "Parte do serviço composto"
|
1475 |
+
|
1476 |
+
msgid "Compound service"
|
1477 |
+
msgstr "Serviço composto"
|
1478 |
+
|
1479 |
msgid "Spare time"
|
1480 |
msgstr "Tempo livre"
|
1481 |
|
1497 |
"na primeira etapa do formulário de reserva então apenas este staff será "
|
1498 |
"utilizado para pesquisar horários disponíveis para todos os sub serviços."
|
1499 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1500 |
msgid "Short Codes"
|
1501 |
msgstr "Códigos curtos"
|
1502 |
|
1600 |
msgid "Upcoming appointments"
|
1601 |
msgstr "Compromissos futuros"
|
1602 |
|
|
|
|
|
|
|
1603 |
msgid "Delimiter"
|
1604 |
msgstr "Delimitador"
|
1605 |
|
1746 |
msgid "Processing..."
|
1747 |
msgstr "Processando..."
|
1748 |
|
|
|
|
|
|
|
1749 |
msgid "service tax amount"
|
1750 |
msgstr "valor da tributação do serviço"
|
1751 |
|
1772 |
"calculado para o valor adicional ao custo. Se precisar de informar o valor "
|
1773 |
"exato do imposto ao sistema de pagamento, não use cobranças adicionais."
|
1774 |
|
1775 |
+
msgid "Taxation"
|
1776 |
+
msgstr "Taxação"
|
1777 |
+
|
1778 |
msgid "Customer Information"
|
1779 |
msgstr "Informações do cliente"
|
1780 |
|
1840 |
msgid "Number of persons"
|
1841 |
msgstr "Número de pessoas"
|
1842 |
|
|
|
|
|
|
|
1843 |
msgid "Group bookings information format"
|
1844 |
msgstr "Agrupar o formato das informações de reserva"
|
1845 |
|
1867 |
msgid "capacity of service"
|
1868 |
msgstr "capacidade de serviço"
|
1869 |
|
1870 |
+
msgid "Show information about group bookings"
|
1871 |
+
msgstr "Exibir informação sobre reservas de grupo"
|
1872 |
+
|
1873 |
+
msgid "Disable capacity update"
|
1874 |
+
msgstr "Desativar a atualização de capacidade"
|
1875 |
+
|
1876 |
+
msgid "Capacity (min and max)"
|
1877 |
+
msgstr "Capacidade (mín e máx)"
|
1878 |
+
|
1879 |
msgid ""
|
1880 |
"The minimum and maximum number of customers allowed to book the service for "
|
1881 |
"the certain time period."
|
1893 |
"Ative esta opção se quiser limitar a possibilidade de reserva dentro da "
|
1894 |
"capacidade do serviço uma só vez. "
|
1895 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1896 |
msgid "Address"
|
1897 |
msgstr "Endereço"
|
1898 |
|
1947 |
msgid "Show google maps field"
|
1948 |
msgstr "Exibir campo do google maps"
|
1949 |
|
1950 |
+
msgid "Do not allow to select a specific staff member"
|
1951 |
+
msgstr "Não permite selecionar um membro do staff específico"
|
1952 |
|
1953 |
+
msgid ""
|
1954 |
+
"If this option is enabled then customers won't be able to select a staff "
|
1955 |
+
"member for collaborative services in the first step of the booking form"
|
1956 |
+
msgstr ""
|
1957 |
+
"Se esta opção for habilitada os clientes não vão poder selecionar um membro "
|
1958 |
+
"do staff para serviços colaborativos no primeiro passo do formulário de "
|
1959 |
+
"reservas"
|
1960 |
+
|
1961 |
+
msgid "Collaborative services"
|
1962 |
+
msgstr "Serviços Colaborativos "
|
1963 |
|
1964 |
msgid "Collaborative"
|
1965 |
msgstr "Colaborativo"
|
1970 |
msgid "Part of collaborative service"
|
1971 |
msgstr "Parte de um serviço colaborativo"
|
1972 |
|
1973 |
+
msgid "Equal duration"
|
1974 |
+
msgstr "Duração igual"
|
1975 |
+
|
1976 |
+
msgid "Make every service duration equal to the duration of the longest one."
|
1977 |
+
msgstr "Tornar a duração do serviço igual à duração do mais longo serviço"
|
1978 |
+
|
1979 |
msgid "Customer cabinet (all services displayed in tabs)"
|
1980 |
msgstr "Cabinet do cliente (todos os serviços exibidos em abas)"
|
1981 |
|
3131 |
"devemos atualizar os seus dados de utilizador ou clique em Cancelar para "
|
3132 |
"editar os dados inseridos."
|
3133 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3134 |
msgid "Internal Notes"
|
3135 |
msgstr "Observações internas"
|
3136 |
|
3316 |
"reservas e divulgue a informação acerca do plugin. Isto vai ajudar a equipa "
|
3317 |
"a aperfeiçoar o produto e melhorar suas funcionalidades"
|
3318 |
|
3319 |
+
msgid "Prevent caching of pages with booking form"
|
3320 |
+
msgstr "Evitar o cache de páginas com formulário de reserva"
|
3321 |
|
3322 |
msgid ""
|
3323 |
+
"Select \"Enabled\" if you want Bookly to prevent caching by third-party "
|
3324 |
"caching plugins by adding a DONOTCACHEPAGE constant on pages with booking "
|
3325 |
+
"form"
|
3326 |
msgstr ""
|
3327 |
+
"Selecione \"Habilitado\" se quiser que o Bookly evite o cache por plug-ins "
|
3328 |
+
"de cache de terceiros adicionando uma constante DONOTCACHEPAGE nas páginas "
|
3329 |
+
"com o formulário de reserva"
|
3330 |
|
3331 |
+
msgid "Prevent PHP session locking"
|
3332 |
+
msgstr ""
|
3333 |
+
"Evitar o bloqueio de sessão PHP\n"
|
3334 |
|
3335 |
+
msgid ""
|
3336 |
+
"Enable this option to make Bookly close the PHP session as soon as it is "
|
3337 |
+
"done with it. This should prevent locking the session, which could cause "
|
3338 |
+
"various other processes to timeout or fail"
|
3339 |
+
msgstr ""
|
3340 |
+
"Habilite esta opção para que o Bookly feche a sessão PHP assim que tiver "
|
3341 |
+
"terminado. Isto vai evitar bloquear a sessão, o que poderia causar outros "
|
3342 |
+
"processos ou falhar"
|
3343 |
|
3344 |
msgid "Service paid locally"
|
3345 |
msgstr "Serviço pago localmente"
|
3359 |
msgid "Holidays"
|
3360 |
msgstr "Feriados"
|
3361 |
|
3362 |
+
msgid "Logs"
|
3363 |
+
msgstr "Logs"
|
3364 |
+
|
3365 |
msgid "Approve appointment URL (success)"
|
3366 |
msgstr "URL de aprovação da reserva (sucesso)"
|
3367 |
|
3559 |
"diferente do pedido anterior, uma mensagem de aviso aparecerá pedindo para "
|
3560 |
"atualizar os dados."
|
3561 |
|
3562 |
+
msgid "Debug logs"
|
3563 |
+
msgstr "Debug logs"
|
3564 |
+
|
3565 |
+
msgid ""
|
3566 |
+
"If this setting is enabled then all actions with appointments will be "
|
3567 |
+
"recorded in a log table. We recommend enabling this setting as it will be "
|
3568 |
+
"helpful for our support team in case of unpredictable issues with "
|
3569 |
+
"appointments."
|
3570 |
+
msgstr ""
|
3571 |
+
"Se esta configuração estiver habilitada, todas as ações com marcações vão "
|
3572 |
+
"ser registadas numa tabela de log. Recomendamos habilitar esta configuração, "
|
3573 |
+
"pois será útil para a nossa equipa de suporte no caso de ter problemas "
|
3574 |
+
"imprevisíveis com marcações."
|
3575 |
+
|
3576 |
+
msgid "Action"
|
3577 |
+
msgstr "Ação"
|
3578 |
+
|
3579 |
+
msgid "Target"
|
3580 |
+
msgstr "Target"
|
3581 |
+
|
3582 |
+
msgid "Target ID"
|
3583 |
+
msgstr "Target ID"
|
3584 |
+
|
3585 |
+
msgid "Author"
|
3586 |
+
msgstr "Autor"
|
3587 |
+
|
3588 |
+
msgid "Comment"
|
3589 |
+
msgstr "Comentário"
|
3590 |
+
|
3591 |
+
msgid "Reference"
|
3592 |
+
msgstr ""
|
3593 |
+
"Referência\n"
|
3594 |
+
|
3595 |
+
msgid "Clear logs"
|
3596 |
+
msgstr "Apagar registos"
|
3597 |
+
|
3598 |
#, php-format
|
3599 |
msgid ""
|
3600 |
"WooCommerce cart is not set up. Follow the <a href=\"%s\">link</a> to "
|
3603 |
"O carrinho do WooCommerce não está configurado. Siga o <a href=\"%s\">"
|
3604 |
"link</a> para corrigir este problema."
|
3605 |
|
3606 |
+
msgid "Last month"
|
3607 |
+
msgstr "Último mês"
|
3608 |
+
|
3609 |
msgid "SMS Notifications"
|
3610 |
msgstr "Notificações SMS"
|
3611 |
|
3694 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3695 |
msgstr "Só pode conter letras ou dígitos (até 11 caracteres)."
|
3696 |
|
|
|
|
|
|
|
3697 |
msgid "Sender ID request is sent."
|
3698 |
msgstr "Pedido de ID do remetente foi enviado."
|
3699 |
|
3776 |
msgid "Send email notification to administrators at low balance"
|
3777 |
msgstr "Enviar notificação via email para os administradores com saldo baixo"
|
3778 |
|
3779 |
+
msgid "Send weekly summary"
|
3780 |
+
msgstr "Sumário do resumo semanal"
|
3781 |
|
3782 |
msgid ""
|
3783 |
"Your country is the location from where you consume Bookly SMS services and "
|
3827 |
msgid "No, update just here in services"
|
3828 |
msgstr "Não, apenas atualizar aqui em serviços"
|
3829 |
|
3830 |
+
msgid "The service will be created with the visibility of Private."
|
3831 |
+
msgstr ""
|
3832 |
+
"O serviço será criado com a visibilidade de Privado.\n"
|
3833 |
|
3834 |
+
msgid "Duplicate"
|
3835 |
+
msgstr "Duplicar"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3836 |
|
3837 |
msgid "You must select at least one repeat option for recurring services."
|
3838 |
msgstr ""
|
3968 |
msgstr ""
|
3969 |
"A ativação do Stripe não foi concluída\n"
|
3970 |
|
3971 |
+
msgid "All staff"
|
3972 |
+
msgstr "Todos os funcionários"
|
3973 |
+
|
3974 |
+
msgid "No staff selected"
|
3975 |
+
msgstr "Nenhum funcionário escolhido"
|
3976 |
+
|
3977 |
msgid "Auto-refresh Calendar"
|
3978 |
msgstr "Atualizar automaticamente o Calendário"
|
3979 |
|
4811 |
"Se deixar este campo vazio, o funcionário não será capaz de aceder ao "
|
4812 |
"calendário pessoal através da área de administração do WP."
|
4813 |
|
4814 |
+
#, php-format
|
4815 |
+
msgid "This text can be inserted into notifications with %s code."
|
4816 |
+
msgstr "Este texto pode ser inserido em notificações com o código %s."
|
4817 |
+
|
4818 |
msgid "Archive"
|
4819 |
msgstr "Arquivar"
|
4820 |
|
4870 |
msgid "Selected period doesn't match service duration"
|
4871 |
msgstr "A duração do período selecionado não coincide com a duração do serviço"
|
4872 |
|
|
|
|
|
|
|
4873 |
msgid "Selected period doesn't match provider's schedule"
|
4874 |
msgstr "O período selecionado não é igual ao horário do fornecedor"
|
4875 |
|
4876 |
msgid "Selected period doesn't match service schedule"
|
4877 |
msgstr "O período selecionado não é igual ao horário do serviço"
|
4878 |
|
4879 |
+
msgid "The selected period is occupied by another appointment"
|
4880 |
+
msgstr "O período selecionado está ocupado com outra reserva"
|
4881 |
+
|
4882 |
msgid "Booking exceeds the working hours limit for staff member"
|
4883 |
msgstr "A reserva excede o limite de horas de trabalho do funcionário"
|
4884 |
|
5006 |
msgid "Create service"
|
5007 |
msgstr "Criar um serviço"
|
5008 |
|
5009 |
+
msgid "Color"
|
5010 |
+
msgstr "Cor"
|
5011 |
+
|
5012 |
+
msgid "Providers"
|
5013 |
+
msgstr "Fornecedores"
|
5014 |
+
|
5015 |
+
msgid "Start and end times of the appointment"
|
5016 |
+
msgstr "Horas de início e término da reserva"
|
5017 |
+
|
5018 |
+
msgid ""
|
5019 |
+
"Allows to set the start and end times for an appointment for services with "
|
5020 |
+
"the duration of 1 day or longer. This time will be displayed in "
|
5021 |
+
"notifications to customers, backend calendar and codes for booking form."
|
5022 |
+
msgstr ""
|
5023 |
+
"Permite definir os horários de início e término de uma reserva para serviços "
|
5024 |
+
"com a duração de 1 dia ou mais. Este horário será exibido nas notificações "
|
5025 |
+
"para os clientes, no calendário do backend e nos códigos para o formulário "
|
5026 |
+
"de reserva."
|
5027 |
+
|
5028 |
+
msgid "Slot length as service duration"
|
5029 |
+
msgstr "Intervalo de tempo enquanto duração do serviço."
|
5030 |
+
|
5031 |
+
msgid ""
|
5032 |
+
"The time interval which is used as a step when building all time slots for "
|
5033 |
+
"the service at the Time step. The setting overrides global settings in "
|
5034 |
+
"Settings > General. Use Default to apply global settings."
|
5035 |
+
msgstr ""
|
5036 |
+
"O intervalo de tempo que é usado como uma etapa para criar todos os horários "
|
5037 |
+
"para o serviço na etapa Hora. A configuração substitui as configurações "
|
5038 |
+
"globais nas Configurações Gerais. Use Padrão para poder aplicar as "
|
5039 |
+
"configurações globais."
|
5040 |
+
|
5041 |
msgid "Edit service"
|
5042 |
msgstr "Editar um serviço"
|
5043 |
|
5603 |
msgid "Packages"
|
5604 |
msgstr "Pacotes"
|
5605 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5606 |
msgid "New package"
|
5607 |
msgstr "Novo pacote"
|
5608 |
|
5609 |
+
msgid "Unassigned"
|
5610 |
+
msgstr "Não atribuído"
|
5611 |
+
|
5612 |
msgid "Edit package"
|
5613 |
msgstr "Editar pacote"
|
5614 |
|
5702 |
msgid "Delete package appointment"
|
5703 |
msgstr "Apagar o pacote de compromissos"
|
5704 |
|
5705 |
+
msgid ""
|
5706 |
+
"Enable this setting so that the package can be displayed and available for "
|
5707 |
+
"booking when clients have not specified a particular provider."
|
5708 |
+
msgstr ""
|
5709 |
+
"Ative esta configuração para que o pacote possa ser exibido e ficar "
|
5710 |
+
"disponível para reserva quando os clientes não tiverem especificado um "
|
5711 |
+
"fornecedor em particular."
|
5712 |
+
|
5713 |
+
msgid "Life Time"
|
5714 |
+
msgstr "Tempo de vida"
|
5715 |
+
|
5716 |
+
msgid "The period in days when the customer can use a package of services."
|
5717 |
+
msgstr "Período em dias que o cliente pode usar um pacote de serviços."
|
5718 |
+
|
5719 |
msgid "Packages list"
|
5720 |
msgstr "Lista de pacotes"
|
5721 |
|
6047 |
msgid "Print"
|
6048 |
msgstr "Imprimir"
|
6049 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6050 |
msgid "API Username"
|
6051 |
msgstr "Utilizador API"
|
6052 |
|
6491 |
msgid "Online Meetings"
|
6492 |
msgstr "Reuniões on-line"
|
6493 |
|
6494 |
+
msgid "Form view in case of single booking"
|
6495 |
+
msgstr "Visualização de formulário em caso de reserva única"
|
6496 |
+
|
6497 |
+
msgid "Form view in case of multiple booking"
|
6498 |
+
msgstr "Visualização de formulário em caso de reserva múltipla"
|
6499 |
|
6500 |
#, php-format
|
6501 |
+
msgid "Form in case of 100% discount"
|
6502 |
+
msgstr "Formulário no caso de 100% de desconto"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6503 |
|
6504 |
+
msgid "Show birthday field"
|
6505 |
+
msgstr "Exibir campo de aniversário"
|
6506 |
|
6507 |
msgid ""
|
6508 |
+
"Address information is needed for Invoices add-on. To disable, deactivate "
|
6509 |
+
"Invoices add-on first."
|
|
|
|
|
6510 |
msgstr ""
|
6511 |
+
"A informação de endereço é necessária para o add-on Faturas. Para desativar, "
|
6512 |
+
"desative primeiro o add-on Faturas."
|
|
|
|
|
|
|
6513 |
|
6514 |
+
msgid "Show address fields"
|
6515 |
+
msgstr "Exibir os campos de endereço"
|
6516 |
+
|
6517 |
+
msgid "Show Facebook login button"
|
6518 |
+
msgstr "Exibir o botão para entrar no Facebook"
|
6519 |
|
6520 |
+
#, php-format
|
6521 |
msgid ""
|
6522 |
+
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6523 |
+
"first."
|
6524 |
msgstr ""
|
6525 |
+
"Por favor, configure a integração com a Aplicação do Facebook em <a "
|
6526 |
+
"href=\"%s\">configurações</a> primeiro."
|
6527 |
|
6528 |
+
msgid "Show time zone switcher"
|
6529 |
+
msgstr "Mostra o seletor de fuso horário"
|
6530 |
|
6531 |
+
msgid "Import"
|
6532 |
+
msgstr "Importar"
|
|
|
|
|
|
|
|
|
6533 |
|
6534 |
+
msgid "Note"
|
6535 |
+
msgstr "Observação"
|
|
|
6536 |
|
6537 |
msgid ""
|
6538 |
+
"You may import list of clients in CSV format. You can choose the columns "
|
6539 |
+
"contained in your file. The sequence of columns should coincide with the "
|
6540 |
+
"specified one."
|
6541 |
msgstr ""
|
6542 |
+
"Pode importar uma lista de clientes no formato CSV. Pode escolher as colunas "
|
6543 |
+
"contidas no seu arquivo. A sequência de colunas deve coincidir com a "
|
6544 |
+
"especificada."
|
6545 |
|
6546 |
+
msgid "Select file"
|
6547 |
+
msgstr "Selecionar o ficheiro"
|
6548 |
|
6549 |
+
msgid "Date of birth"
|
6550 |
+
msgstr "Data de nascimento"
|
6551 |
|
6552 |
+
msgid "Analytics"
|
6553 |
+
msgstr "Analíticos"
|
6554 |
|
6555 |
+
msgid ""
|
6556 |
+
"Note: If payment is made for several services, then for each service you "
|
6557 |
+
"will see the entire amount paid as revenue."
|
6558 |
+
msgstr ""
|
6559 |
+
"Nota: Se o pagamento for feito para vários serviços, então para cada serviço,"
|
6560 |
+
" verá o valor total pago como receita."
|
6561 |
|
6562 |
+
msgid "online meeting join URL"
|
6563 |
+
msgstr "Participe na reunião on-line"
|
6564 |
|
6565 |
+
msgid "time zone of staff"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6566 |
msgstr ""
|
6567 |
+
"fuso horário do staff\n"
|
6568 |
+
"\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6569 |
|
6570 |
msgid "Titles"
|
6571 |
msgstr "Nomes"
|
6597 |
msgid "Error dissociating purchase code."
|
6598 |
msgstr "Erro ao dissociar o código de compra."
|
6599 |
|
6600 |
+
msgid "Google Calendar integration"
|
6601 |
+
msgstr "Integração com o Calendário Google "
|
6602 |
+
|
6603 |
+
#, php-format
|
6604 |
+
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
6605 |
+
msgstr ""
|
6606 |
+
"Por favor, configure primeiramente as <a href=\"%s\">configurações</a> do "
|
6607 |
+
"Calendário Google"
|
6608 |
+
|
6609 |
+
msgid "Synchronize staff member appointments with Google Calendar."
|
6610 |
+
msgstr ""
|
6611 |
+
"Sincronizar os dados das reservas do funcionário com o Calendário Google."
|
6612 |
+
|
6613 |
msgid "Archiving Staff"
|
6614 |
msgstr "A arquivar funcionários"
|
6615 |
|
6623 |
msgid "Ok, continue editing"
|
6624 |
msgstr "Ok, continuar a ediitar"
|
6625 |
|
6626 |
+
msgid ""
|
6627 |
+
"The staff member's schedule will be considered to be in the selected time "
|
6628 |
+
"zone. This time zone will also be used for the dates and times in "
|
6629 |
+
"notifications sent to the staff member"
|
6630 |
+
msgstr ""
|
6631 |
+
"O horário do membro do staff será considerado no fuso horário selecionado. "
|
6632 |
+
"Este fuso horário também será usado para as datas e horários nas "
|
6633 |
+
"notificações enviadas ao membro do staff"
|
6634 |
+
|
6635 |
+
msgid "Limit working hours per day"
|
6636 |
+
msgstr "Limite de horas trabalhadas por dia."
|
6637 |
+
|
6638 |
+
msgid "Unlimited"
|
6639 |
+
msgstr "Sem limite"
|
6640 |
+
|
6641 |
+
msgid ""
|
6642 |
+
"This setting allows limiting the total time occupied by bookings per day for "
|
6643 |
+
"staff member. Padding time is not included."
|
6644 |
+
msgstr ""
|
6645 |
+
"Esta configuração permite limitar o tempo total ocupado por reservas por dia "
|
6646 |
+
"para o funcionário. A passagem do tempo não está incluída."
|
6647 |
+
|
6648 |
msgid "Reason"
|
6649 |
msgstr "Motivo"
|
6650 |
|
6684 |
msgid "Custom service price"
|
6685 |
msgstr "Preço de serviço customizado"
|
6686 |
|
6687 |
+
msgid "Create online meetings"
|
6688 |
+
msgstr "Criar reuniões on-line"
|
6689 |
+
|
6690 |
+
#, php-format
|
6691 |
+
msgid ""
|
6692 |
+
"If this setting is enabled then online meetings will be created for new "
|
6693 |
+
"appointments with the selected online meeting provider. Make sure that the "
|
6694 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6695 |
+
"Meetings</a>"
|
6696 |
+
msgstr ""
|
6697 |
+
"Se esta configuração estiver ativada, as reuniões on-line serão criadas para "
|
6698 |
+
"novos compromissos com o fornecedor de reuniões on-line selecionado. "
|
6699 |
+
"Assegure-se que o fornecedor está configurado corretamente em Configurações "
|
6700 |
+
"<a href=\"%s\">Reuniões on-line/a>"
|
6701 |
+
|
6702 |
+
msgid "Padding time (before and after)"
|
6703 |
+
msgstr "Hora de preenchimento (antes e depois)"
|
6704 |
+
|
6705 |
+
msgid ""
|
6706 |
+
"Set padding time before and/or after an appointment. For example, if you "
|
6707 |
+
"require 15 minutes to prepare for the next appointment then you should set "
|
6708 |
+
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
6709 |
+
"then the next available time slot will be 9:15 rather than 9:00."
|
6710 |
+
msgstr ""
|
6711 |
+
"Definir a hora de preenchimento antes e/ou depois de uma reserva. Por "
|
6712 |
+
"exemplo, se precisar de 15 minutos para se preparar para a próxima reserva, "
|
6713 |
+
"então deve definir \"preenchimento antes\" para 15 min. Se houver uma "
|
6714 |
+
"reserva das 08:00 às 09:00, o próximo intervalo de tempo disponível será às "
|
6715 |
+
"9:15 em vez de às 9:00."
|
6716 |
+
|
6717 |
+
msgid "Providers preference for ANY"
|
6718 |
+
msgstr "Preferência dos fornecedores para QUALQUER"
|
6719 |
+
|
6720 |
+
msgid ""
|
6721 |
+
"Allows you to define the rule of staff members auto assignment when ANY "
|
6722 |
+
"option is selected"
|
6723 |
+
msgstr ""
|
6724 |
+
"Permite que possa definir a regra dos funcionários para atribuição "
|
6725 |
+
"automática quando a opção QUALQUER for selecionada"
|
6726 |
+
|
6727 |
+
msgid "Period (before and after)"
|
6728 |
+
msgstr "Período (antes e depois)"
|
6729 |
+
|
6730 |
+
msgid ""
|
6731 |
+
"Set number of days before and after appointment that will be taken into "
|
6732 |
+
"account when calculating provider's occupancy. 0 means the day of booking."
|
6733 |
+
msgstr ""
|
6734 |
+
"Defina o número de dias antes e depois da consulta que será considerado no "
|
6735 |
+
"cálculo da ocupação do fornecedor. 0 significa o dia da reserva."
|
6736 |
+
|
6737 |
+
msgid "Pick random staff member in case of uncertainty"
|
6738 |
+
msgstr ""
|
6739 |
+
"Escolha um funcionário de forma aleatória no caso de incerteza\n"
|
6740 |
+
|
6741 |
+
msgid ""
|
6742 |
+
"Enable this option to pick a random staff member if both meet the criteria "
|
6743 |
+
"chosen in \"Providers preference for ANY\". Otherwise the selection order is "
|
6744 |
+
"unknown."
|
6745 |
+
msgstr ""
|
6746 |
+
"Habilite esta opção para escolher de forma aleatória um funcionário se ambos "
|
6747 |
+
"satisfizerem os critérios selecionados em \"Preferência do fornecedor para "
|
6748 |
+
"QUALQUER\". Caso contrário a ordem de seleção é desconhecida.\n"
|
6749 |
+
|
6750 |
+
msgid "Limit appointments per customer"
|
6751 |
+
msgstr "Limite de compromissos por cliente"
|
6752 |
+
|
6753 |
+
msgid "upcoming"
|
6754 |
+
msgstr "próximo"
|
6755 |
+
|
6756 |
+
msgid "per 24 hours"
|
6757 |
+
msgstr "por 24 horas"
|
6758 |
+
|
6759 |
+
msgid "per day"
|
6760 |
+
msgstr "por dia"
|
6761 |
+
|
6762 |
+
msgid "per 7 days"
|
6763 |
+
msgstr "por 7 dias"
|
6764 |
+
|
6765 |
+
msgid "per week"
|
6766 |
+
msgstr "por semana"
|
6767 |
+
|
6768 |
+
msgid "per 30 days"
|
6769 |
+
msgstr "por 30 dias"
|
6770 |
+
|
6771 |
+
msgid "per month"
|
6772 |
+
msgstr "por mês"
|
6773 |
+
|
6774 |
+
msgid "per 365 days"
|
6775 |
+
msgstr "por 365 dias"
|
6776 |
+
|
6777 |
+
msgid "per year"
|
6778 |
+
msgstr "por ano"
|
6779 |
+
|
6780 |
+
msgid ""
|
6781 |
+
"This setting allows you to limit the number of appointments that can be "
|
6782 |
+
"booked by a customer in any given period. Restriction may end after a fixed "
|
6783 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
6784 |
+
"month, etc."
|
6785 |
+
msgstr ""
|
6786 |
+
"Esta configuração permite limitar o número de reservas que podem ser "
|
6787 |
+
"marcadas por um cliente em qualquer período determinado. A restrição pode "
|
6788 |
+
"terminar após um período fixo ou com o início do próximo período: novo dia, "
|
6789 |
+
"semana, mês, etc."
|
6790 |
+
|
6791 |
+
msgid "Limit"
|
6792 |
+
msgstr "Limitar"
|
6793 |
+
|
6794 |
+
msgid ""
|
6795 |
+
"To make service invisible to your customers set the visibility to "
|
6796 |
+
"\"Private\"."
|
6797 |
+
msgstr ""
|
6798 |
+
"Para tornar o serviço invisível aos seus clientes, defina a visibilidade "
|
6799 |
+
"para \"Privado\"."
|
6800 |
+
|
6801 |
+
msgid "Specified order"
|
6802 |
+
msgstr "Pedido especificado"
|
6803 |
+
|
6804 |
+
msgid "Least occupied that day"
|
6805 |
+
msgstr "Menos ocupado nesse dia"
|
6806 |
+
|
6807 |
+
msgid "Most occupied that day"
|
6808 |
+
msgstr "Mais ocupado nesse dia"
|
6809 |
+
|
6810 |
+
msgid "Least occupied for period"
|
6811 |
+
msgstr "Menos ocupado por período"
|
6812 |
+
|
6813 |
+
msgid "Most occupied for period"
|
6814 |
+
msgstr "Mais ocupado por período"
|
6815 |
+
|
6816 |
+
msgid "Least expensive"
|
6817 |
+
msgstr "Menos caro"
|
6818 |
+
|
6819 |
+
msgid "Most expensive"
|
6820 |
+
msgstr "Mais caro"
|
6821 |
+
|
6822 |
msgid "Welcome to Bookly Pro and thank you for purchasing our product!"
|
6823 |
msgstr "Bem-vindo ao Bookly Pro e obrigado por comprar o nosso produto!"
|
6824 |
|
7146 |
msgid "Tasks"
|
7147 |
msgstr "Tarefas"
|
7148 |
|
7149 |
+
msgid "Skip time selection"
|
7150 |
+
msgstr "Saltar a seleção da hora"
|
7151 |
+
|
7152 |
msgid "Time step settings"
|
7153 |
msgstr "Definições da etapa Time"
|
7154 |
|
7164 |
"compromisso, ocultá-lo e criar uma tarefa sem o devido tempo, ou exibir a "
|
7165 |
"etapa de tempo, mas permitir que o cliente a ignore."
|
7166 |
|
|
|
|
|
|
|
7167 |
msgid "Incorrect payment data"
|
7168 |
msgstr "Dados de pagamento incorretos"
|
7169 |
|
7366 |
msgid "No customer groups yet."
|
7367 |
msgstr "Ainda não há grupos de clientes."
|
7368 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7369 |
msgid "Customer Group"
|
7370 |
msgstr "Grupo de clientes"
|
7371 |
|
7389 |
msgid "Group name is required"
|
7390 |
msgstr "Nome do grupo é obrigatório"
|
7391 |
|
7392 |
+
msgid "Groups"
|
7393 |
+
msgstr "Grupos"
|
7394 |
+
|
7395 |
+
msgid "All groups"
|
7396 |
+
msgstr "Todos os grupos"
|
7397 |
+
|
7398 |
+
msgid "No group selected"
|
7399 |
+
msgstr "Nenhum grupo selecionado"
|
7400 |
+
|
7401 |
+
msgid "Customer group based"
|
7402 |
+
msgstr "Baseado em grupos de clientes"
|
7403 |
+
|
7404 |
msgid "Notification to customer about placing on waiting list"
|
7405 |
msgstr "Notificação ao cliente sobre o posicionamento na lista de espera"
|
7406 |
|
7639 |
msgid "extras total price"
|
7640 |
msgstr "preço total dos extras"
|
7641 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7642 |
msgid "Show title"
|
7643 |
msgstr "Mostrar nomes"
|
7644 |
|
7660 |
msgid "Show extras"
|
7661 |
msgstr "Exibir extras"
|
7662 |
|
7663 |
+
msgid "Max quantity"
|
7664 |
+
msgstr "Quantidade máxima"
|
7665 |
+
|
7666 |
+
msgid "New Item"
|
7667 |
+
msgstr "Novo item"
|
7668 |
+
|
7669 |
msgid "Extras tax"
|
7670 |
msgstr "Taxa extra"
|
7671 |
|
7735 |
"O seu ID PayPal ou endereço de e-mail associado com a sua conta PayPal. "
|
7736 |
"Endereços de e-mail precisam ser confirmados."
|
7737 |
|
7738 |
+
msgid "Disable special hours update"
|
7739 |
+
msgstr "Desativar atualização das horas especiais"
|
7740 |
+
|
7741 |
msgid "Special prices for appointments which begin between:"
|
7742 |
msgstr "Preços especiais para compromissos que começam entre:"
|
7743 |
|
7744 |
msgid "add special period"
|
7745 |
msgstr "adicionar período especial"
|
7746 |
|
|
|
|
|
|
|
7747 |
msgid "Please select a location"
|
7748 |
msgstr "Por favor, selecione um local"
|
7749 |
|
7753 |
msgid "Locations"
|
7754 |
msgstr "Locais"
|
7755 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7756 |
msgid "Custom settings for location"
|
7757 |
msgstr "Configurações personalizadas para o local"
|
7758 |
|
7793 |
msgid "Default value for location select"
|
7794 |
msgstr "Valor padrão para a seleção de local"
|
7795 |
|
7796 |
+
msgid "Default settings"
|
7797 |
+
msgstr "Configurações personalizadas "
|
7798 |
+
|
7799 |
+
msgid ""
|
7800 |
+
"Set Default values that will be used in all locations where Use default "
|
7801 |
+
"settings is selected. To use custom settings in a location, select Use "
|
7802 |
+
"custom settings and enter custom values."
|
7803 |
+
msgstr ""
|
7804 |
+
"Defina os valores padrão que serão usados em todos os locais onde Usar "
|
7805 |
+
"configurações padrão estiver selecionado. Para usar configurações "
|
7806 |
+
"personalizadas num local, selecione Usar configurações personalizadas e "
|
7807 |
+
"insira valores personalizados."
|
7808 |
+
|
7809 |
+
msgid "Use default settings"
|
7810 |
+
msgstr "Utilize configurações personalizadas "
|
7811 |
+
|
7812 |
+
msgid "Use custom settings"
|
7813 |
+
msgstr "Utilize configurações personalizadas"
|
7814 |
+
|
7815 |
+
msgid "Select locations where the services are provided."
|
7816 |
+
msgstr "Selecionar locais onde os serviços são fornecidos."
|
7817 |
+
|
7818 |
msgid "Account ID"
|
7819 |
msgstr "ID da conta"
|
7820 |
|
7868 |
msgid "URL of the page for staff rating"
|
7869 |
msgstr "URL da página para avaliação dos funcionários"
|
7870 |
|
|
|
|
|
|
|
7871 |
msgid "Add staff rating form"
|
7872 |
msgstr "Adicionar formulário de avaliação de funcionário"
|
7873 |
|
languages/bookly-ru_RU.mo
CHANGED
Binary file
|
languages/bookly-ru_RU.po
CHANGED
@@ -9,8 +9,8 @@ msgstr ""
|
|
9 |
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
10 |
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
11 |
"Report-Msgid-Bugs-To: \n"
|
12 |
-
"POT-Creation-Date: 2020-
|
13 |
-
"PO-Revision-Date: 2020-09
|
14 |
"Last-Translator: support@bookly.info\n"
|
15 |
"Language-Team: Russian\n"
|
16 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
@@ -185,44 +185,6 @@ msgstr "Электронная почта"
|
|
185 |
msgid "Phone"
|
186 |
msgstr "Телефон"
|
187 |
|
188 |
-
msgid "Outlook Calendar integration"
|
189 |
-
msgstr "Интеграция с Календарём Outlook"
|
190 |
-
|
191 |
-
msgid "Connect"
|
192 |
-
msgstr "Подключить"
|
193 |
-
|
194 |
-
#, php-format
|
195 |
-
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
196 |
-
msgstr ""
|
197 |
-
"Пожалуйста, сначала укажите <a href=\"%s\">настройки</a> Календаря Outlook"
|
198 |
-
|
199 |
-
msgid "Connected"
|
200 |
-
msgstr "Подключен"
|
201 |
-
|
202 |
-
msgid "disconnect"
|
203 |
-
msgstr "Отключить"
|
204 |
-
|
205 |
-
msgid "Synchronize staff member appointments with Outlook Calendar."
|
206 |
-
msgstr "Синхронизировать данные о записях сотрудника с Календарём Outlook"
|
207 |
-
|
208 |
-
msgid "Calendar"
|
209 |
-
msgstr "Календарь"
|
210 |
-
|
211 |
-
msgid "-- Select calendar --"
|
212 |
-
msgstr "-- Выберите календарь --"
|
213 |
-
|
214 |
-
msgid ""
|
215 |
-
"When you connect a calendar all future and past events will be synchronized "
|
216 |
-
"according to the selected synchronization mode. This may take a few minutes. "
|
217 |
-
"Please wait."
|
218 |
-
msgstr ""
|
219 |
-
"При подключении календаря все будущие и прошлые события будут "
|
220 |
-
"синхронизированы в соответствии с выбранным режимом синхронизации. Это может "
|
221 |
-
"занять несколько минут. Пожалуйста, подождите."
|
222 |
-
|
223 |
-
msgid "Can't change calendar for archived staff"
|
224 |
-
msgstr "Невозможно изменить календарь для архивированного сотрудника"
|
225 |
-
|
226 |
msgid "Instructions"
|
227 |
msgstr "Инструкция"
|
228 |
|
@@ -543,6 +505,44 @@ msgstr "Синхронизировать с Календарём Outlook"
|
|
543 |
msgid "Calendars synchronized successfully."
|
544 |
msgstr "Календари успешно синхронизированы."
|
545 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
546 |
msgid "Custom Fields"
|
547 |
msgstr "Пользовательские поля"
|
548 |
|
@@ -1282,21 +1282,6 @@ msgstr ""
|
|
1282 |
"подтверждение повторяющейся записи невозможно (по причине изменённого "
|
1283 |
"статуса и др.)."
|
1284 |
|
1285 |
-
msgid "Enabled"
|
1286 |
-
msgstr "Включено"
|
1287 |
-
|
1288 |
-
msgid "Allow this service to have recurring appointments."
|
1289 |
-
msgstr "Разрешить этому сервису иметь повторяющиеся записи."
|
1290 |
-
|
1291 |
-
msgid "Frequencies"
|
1292 |
-
msgstr "Частота"
|
1293 |
-
|
1294 |
-
msgid "All"
|
1295 |
-
msgstr "Все"
|
1296 |
-
|
1297 |
-
msgid "Nothing selected"
|
1298 |
-
msgstr "Ничего не выбрано"
|
1299 |
-
|
1300 |
msgid "Edit"
|
1301 |
msgstr "Редактировать"
|
1302 |
|
@@ -1327,6 +1312,28 @@ msgstr "повторяющиеся записи"
|
|
1327 |
msgid "Every"
|
1328 |
msgstr "Каждые"
|
1329 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1330 |
msgid "Back"
|
1331 |
msgstr "Назад"
|
1332 |
|
@@ -1363,6 +1370,21 @@ msgstr "Повторяющиеся записи"
|
|
1363 |
msgid "Close"
|
1364 |
msgstr "Закрыть"
|
1365 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1366 |
msgid "Save"
|
1367 |
msgstr "Сохранить"
|
1368 |
|
@@ -1387,6 +1409,12 @@ msgstr "Merchant Salt"
|
|
1387 |
msgid "Duration"
|
1388 |
msgstr "Продолжительность"
|
1389 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1390 |
msgid ""
|
1391 |
"Set service duration. If you select Custom, a client, while booking, will "
|
1392 |
"have to choose the duration of the service from several time units. In the "
|
@@ -1414,11 +1442,17 @@ msgstr "Цена одного шага"
|
|
1414 |
msgid "Custom"
|
1415 |
msgstr "Пользовательские"
|
1416 |
|
1417 |
-
msgid "
|
1418 |
-
msgstr "
|
1419 |
|
1420 |
-
msgid "
|
1421 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
1422 |
|
1423 |
msgid "Delete break"
|
1424 |
msgstr "Удалить перерыв"
|
@@ -1438,27 +1472,24 @@ msgstr "добавить перерыв"
|
|
1438 |
msgid "Special Days"
|
1439 |
msgstr "Особые дни"
|
1440 |
|
1441 |
-
msgid "Are you sure?"
|
1442 |
-
msgstr "Вы уверены?"
|
1443 |
-
|
1444 |
-
msgid "Duplicate dates are not permitted."
|
1445 |
-
msgstr "Дубликаты дат не разрешены."
|
1446 |
-
|
1447 |
-
msgid "Date in the past."
|
1448 |
-
msgstr "Дата в прошлом."
|
1449 |
-
|
1450 |
msgid "The requested interval is not available"
|
1451 |
msgstr "Запрашиваемый интервал недоступен"
|
1452 |
|
1453 |
msgid "OFF"
|
1454 |
msgstr "ВЫКЛЮЧИТЬ"
|
1455 |
|
1456 |
-
msgid "Add Staff Special Days"
|
1457 |
-
msgstr "Добавить особые дни сотрудников"
|
1458 |
-
|
1459 |
msgid "Uncategorized"
|
1460 |
msgstr "Без категории"
|
1461 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1462 |
msgid "Spare time"
|
1463 |
msgstr "Свободное время"
|
1464 |
|
@@ -1480,15 +1511,6 @@ msgstr ""
|
|
1480 |
"формы бронирования, то только этот сотрудник будет использоваться для поиска "
|
1481 |
"свободных временных интервалов для всех связанных услуг."
|
1482 |
|
1483 |
-
msgid "Compound"
|
1484 |
-
msgstr "Составной"
|
1485 |
-
|
1486 |
-
msgid "Part of compound service"
|
1487 |
-
msgstr "Часть составного сервиса"
|
1488 |
-
|
1489 |
-
msgid "Compound service"
|
1490 |
-
msgstr "Составной сервис"
|
1491 |
-
|
1492 |
msgid "Short Codes"
|
1493 |
msgstr "Шорткоды"
|
1494 |
|
@@ -1592,9 +1614,6 @@ msgstr "Отображаемые записи"
|
|
1592 |
msgid "Upcoming appointments"
|
1593 |
msgstr "Предстоящие записи"
|
1594 |
|
1595 |
-
msgid "All appointments"
|
1596 |
-
msgstr "Все записи"
|
1597 |
-
|
1598 |
msgid "Delimiter"
|
1599 |
msgstr "Разделитель"
|
1600 |
|
@@ -1740,9 +1759,6 @@ msgstr "Налоги не найдены."
|
|
1740 |
msgid "Processing..."
|
1741 |
msgstr "Обработка..."
|
1742 |
|
1743 |
-
msgid "Taxation"
|
1744 |
-
msgstr "Налог"
|
1745 |
-
|
1746 |
msgid "service tax amount"
|
1747 |
msgstr "сумма налога на услугу"
|
1748 |
|
@@ -1768,6 +1784,9 @@ msgstr ""
|
|
1768 |
"стоимости налог не рассчитывается. Если вам необходимо передавать точную "
|
1769 |
"сумму налога в платёжную систему, не используйте надбавку к стоимости."
|
1770 |
|
|
|
|
|
|
|
1771 |
msgid "Customer Information"
|
1772 |
msgstr "Информация о клиенте"
|
1773 |
|
@@ -1833,9 +1852,6 @@ msgstr "Персоны"
|
|
1833 |
msgid "Number of persons"
|
1834 |
msgstr "Количество персон"
|
1835 |
|
1836 |
-
msgid "Capacity (min and max)"
|
1837 |
-
msgstr "Вместимость (мин. и макс.)"
|
1838 |
-
|
1839 |
msgid "Group bookings information format"
|
1840 |
msgstr "Формат отображения информации о групповых бронированиях"
|
1841 |
|
@@ -1863,6 +1879,15 @@ msgstr "количество человек в списке"
|
|
1863 |
msgid "capacity of service"
|
1864 |
msgstr "вместимость сервиса"
|
1865 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1866 |
msgid ""
|
1867 |
"The minimum and maximum number of customers allowed to book the service for "
|
1868 |
"the certain time period."
|
@@ -1880,12 +1905,6 @@ msgstr ""
|
|
1880 |
"Включите эту настройку, если хотите ограничить возможность бронирования в "
|
1881 |
"рамках вместимости услуги одним разом."
|
1882 |
|
1883 |
-
msgid "Show information about group bookings"
|
1884 |
-
msgstr "Показывать информацию о групповых бронированиях"
|
1885 |
-
|
1886 |
-
msgid "Disable capacity update"
|
1887 |
-
msgstr "Отключить изменение вместимости"
|
1888 |
-
|
1889 |
msgid "Address"
|
1890 |
msgstr "Адрес"
|
1891 |
|
@@ -1941,13 +1960,18 @@ msgstr "Необходимо показывать поля для ввода а
|
|
1941 |
msgid "Show google maps field"
|
1942 |
msgstr "Показывать поле google maps"
|
1943 |
|
1944 |
-
msgid "
|
1945 |
-
msgstr "
|
1946 |
|
1947 |
-
msgid "
|
|
|
|
|
1948 |
msgstr ""
|
1949 |
-
"
|
1950 |
-
"
|
|
|
|
|
|
|
1951 |
|
1952 |
msgid "Collaborative"
|
1953 |
msgstr "Совместный"
|
@@ -1958,6 +1982,14 @@ msgstr "Совместный сервис"
|
|
1958 |
msgid "Part of collaborative service"
|
1959 |
msgstr "Часть совместного сервиса"
|
1960 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1961 |
msgid "Customer cabinet (all services displayed in tabs)"
|
1962 |
msgstr "Личный кабинет клиента (все сервисы отображаются во вкладках)"
|
1963 |
|
@@ -3106,43 +3138,6 @@ msgstr ""
|
|
3106 |
"перезаписать данные и продолжить, или нажмите Отмена, чтобы исправить "
|
3107 |
"введённые данные."
|
3108 |
|
3109 |
-
msgid "sent to our system"
|
3110 |
-
msgstr "отправлено в нашу систему"
|
3111 |
-
|
3112 |
-
msgid ""
|
3113 |
-
"Hope you had a good weekend! Here's a summary of messages we've delivered "
|
3114 |
-
"last week:\n"
|
3115 |
-
"{notification_list}\n"
|
3116 |
-
"\n"
|
3117 |
-
"Your system sent a total of {total} messages last week (that's {delta} {sign}"
|
3118 |
-
" than the week before).\n"
|
3119 |
-
"Cost of sending {total} messages was {amount}. Your current Bookly SMS "
|
3120 |
-
"balance is {balance}.\n"
|
3121 |
-
"\n"
|
3122 |
-
"Thank you for using Bookly SMS. We wish you a lucky week!\n"
|
3123 |
-
"Bookly SMS Team"
|
3124 |
-
msgstr ""
|
3125 |
-
"Надеемся вы хорошо провели выходные! Ниже суммарное количество сообщений, "
|
3126 |
-
"доставленных на прошлой неделе:\n"
|
3127 |
-
"{notification_list}\n"
|
3128 |
-
"\n"
|
3129 |
-
"Ваша система отправила в общей сложности {total} сообщений на прошлой неделе "
|
3130 |
-
"(это {delta} {sign}, чем на предыдущей неделе).\n"
|
3131 |
-
"Стоимость отправки {total} сообщений составила {amount}. Ваш текущий баланс "
|
3132 |
-
"Bookly SMS составляет {balance}.\n"
|
3133 |
-
"\n"
|
3134 |
-
"Спасибо за то, что пользуетесь Bookly SMS. Желаем удачной недели!\n"
|
3135 |
-
"Bookly SMS Team"
|
3136 |
-
|
3137 |
-
msgid "more"
|
3138 |
-
msgstr "больше"
|
3139 |
-
|
3140 |
-
msgid "less"
|
3141 |
-
msgstr "меньше"
|
3142 |
-
|
3143 |
-
msgid "Bookly SMS weekly summary"
|
3144 |
-
msgstr "Bookly SMS – Еженедельный отчёт"
|
3145 |
-
|
3146 |
msgid "Internal Notes"
|
3147 |
msgstr "Внутренние заметки"
|
3148 |
|
@@ -3328,23 +3323,29 @@ msgstr ""
|
|
3328 |
"бронирования, чтобы распространять информацию о плагине. Это позволит "
|
3329 |
"команде улучшить продукт и расширить его функциональность"
|
3330 |
|
3331 |
-
msgid "
|
3332 |
-
msgstr "
|
3333 |
|
3334 |
msgid ""
|
3335 |
-
"Select \"
|
3336 |
"caching plugins by adding a DONOTCACHEPAGE constant on pages with booking "
|
3337 |
-
"form
|
3338 |
msgstr ""
|
3339 |
-
"Выберите
|
3340 |
"кэшированию сторонними плагинами кэширования, добавив константу "
|
3341 |
"DONOTCACHEPAGE на страницах с формой бронирования."
|
3342 |
|
3343 |
-
msgid "
|
3344 |
-
msgstr "
|
3345 |
|
3346 |
-
msgid "
|
3347 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3348 |
|
3349 |
msgid "Service paid locally"
|
3350 |
msgstr "Оплата сервиса наличными"
|
@@ -3364,6 +3365,9 @@ msgstr "Часы работы"
|
|
3364 |
msgid "Holidays"
|
3365 |
msgstr "Праздники"
|
3366 |
|
|
|
|
|
|
|
3367 |
msgid "Approve appointment URL (success)"
|
3368 |
msgstr "URL страницы после подтверждения записи (в случае успеха)"
|
3369 |
|
@@ -3557,6 +3561,41 @@ msgstr ""
|
|
3557 |
"тех, что он вводил в предыдущий раз, то появится предупреждающее сообщение с "
|
3558 |
"просьбой обновить данные."
|
3559 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3560 |
#, php-format
|
3561 |
msgid ""
|
3562 |
"WooCommerce cart is not set up. Follow the <a href=\"%s\">link</a> to "
|
@@ -3565,6 +3604,9 @@ msgstr ""
|
|
3565 |
"Корзина WooCommerce не настроена. Проследуйте по <a href=\"%s\">ссылке</a> "
|
3566 |
"для того, чтобы исправить эту проблему."
|
3567 |
|
|
|
|
|
|
|
3568 |
msgid "SMS Notifications"
|
3569 |
msgstr "SMS уведомления"
|
3570 |
|
@@ -3652,9 +3694,6 @@ msgstr "Отменить запрос"
|
|
3652 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3653 |
msgstr "Разрешаются буквы и цифры (до 11 знаков включительно)."
|
3654 |
|
3655 |
-
msgid "Last month"
|
3656 |
-
msgstr "Прошлый месяц"
|
3657 |
-
|
3658 |
msgid "Sender ID request is sent."
|
3659 |
msgstr "Запрос отправлен."
|
3660 |
|
@@ -3737,8 +3776,8 @@ msgstr "Сохранить настройки счёта"
|
|
3737 |
msgid "Send email notification to administrators at low balance"
|
3738 |
msgstr "Отправлять уведомления о низком балансе администраторам по эл. почте "
|
3739 |
|
3740 |
-
msgid "Send weekly summary
|
3741 |
-
msgstr "Отправлять еженедельный отчёт
|
3742 |
|
3743 |
msgid ""
|
3744 |
"Your country is the location from where you consume Bookly SMS services and "
|
@@ -3787,56 +3826,15 @@ msgstr "Запомнить мой выбор"
|
|
3787 |
msgid "No, update just here in services"
|
3788 |
msgstr "Нет, изменить только тут в настройках сервиса"
|
3789 |
|
3790 |
-
msgid "
|
3791 |
-
msgstr "
|
3792 |
|
3793 |
-
msgid "
|
3794 |
-
msgstr "
|
3795 |
|
3796 |
-
msgid "
|
3797 |
-
msgstr "
|
3798 |
-
|
3799 |
-
msgid "No staff selected"
|
3800 |
-
msgstr "Персонал не выбран"
|
3801 |
-
|
3802 |
-
#, php-format
|
3803 |
-
msgid "This text can be inserted into notifications with %s code."
|
3804 |
-
msgstr "Этот текст может быть использован в уведомлениях при помощи кода %s."
|
3805 |
-
|
3806 |
-
msgid "Start and end times of the appointment"
|
3807 |
-
msgstr "Время начала и окончания записи"
|
3808 |
-
|
3809 |
-
msgid ""
|
3810 |
-
"Allows to set the start and end times for an appointment for services with "
|
3811 |
-
"the duration of 1 day or longer. This time will be displayed in "
|
3812 |
-
"notifications to customers, backend calendar and codes for booking form."
|
3813 |
-
msgstr ""
|
3814 |
-
"Позволяет установить время начала и окончания для услуг продолжительностью 1 "
|
3815 |
-
"день или дольше. Это время будет отображаться в уведомлениях клиентам, "
|
3816 |
-
"календаре в административной панели и кодах для формы бронирования."
|
3817 |
-
|
3818 |
-
msgid "Slot length as service duration"
|
3819 |
-
msgstr "Длина интервала в качестве продолжительности сервиса"
|
3820 |
-
|
3821 |
-
msgid ""
|
3822 |
-
"The time interval which is used as a step when building all time slots for "
|
3823 |
-
"the service at the Time step. The setting overrides global settings in "
|
3824 |
-
"Settings > General. Use Default to apply global settings."
|
3825 |
-
msgstr ""
|
3826 |
-
"Интервал, который будет использован в качестве шага при построении всех "
|
3827 |
-
"временных списков для услуги на шаге Время. Эта настройка переопределяет "
|
3828 |
-
"глобальные настройки, указанные в Настройки > Общие. Выберите По умолчанию, "
|
3829 |
-
"чтобы использовать глобальные настройки."
|
3830 |
-
|
3831 |
-
msgid "The service will be created with the visibility of Private."
|
3832 |
-
msgstr "Сервис будет создан с установленным значением видимости \"Закрытый\"."
|
3833 |
-
|
3834 |
-
msgid "Duplicate"
|
3835 |
-
msgstr "Дублировать"
|
3836 |
-
|
3837 |
-
msgid "You must select at least one repeat option for recurring services."
|
3838 |
-
msgstr ""
|
3839 |
-
"Вы должны выбрать хотя бы один вариант повтора для повторяющихся услуг."
|
3840 |
|
3841 |
msgid "Simple"
|
3842 |
msgstr "Простой"
|
@@ -3963,6 +3961,12 @@ msgstr "Дата деактивации"
|
|
3963 |
msgid "Stripe activation was not completed"
|
3964 |
msgstr "Активация Stripe не завершена"
|
3965 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3966 |
msgid "Auto-refresh Calendar"
|
3967 |
msgstr "Автообновление Календаря"
|
3968 |
|
@@ -4782,6 +4786,10 @@ msgstr ""
|
|
4782 |
"Если Вы оставите это поле пустым, сотрудник не сможет получить доступ к "
|
4783 |
"календарю из административной панели."
|
4784 |
|
|
|
|
|
|
|
|
|
4785 |
msgid "Archive"
|
4786 |
msgstr "Архивировать"
|
4787 |
|
@@ -4837,15 +4845,15 @@ msgstr "Период"
|
|
4837 |
msgid "Selected period doesn't match service duration"
|
4838 |
msgstr "Выбранный период времени не совпадает с длительностью сервиса"
|
4839 |
|
4840 |
-
msgid "The selected period is occupied by another appointment"
|
4841 |
-
msgstr "Выбранный период занят другой записью"
|
4842 |
-
|
4843 |
msgid "Selected period doesn't match provider's schedule"
|
4844 |
msgstr "Выбранный период находится вне рабочего графика исполнителя"
|
4845 |
|
4846 |
msgid "Selected period doesn't match service schedule"
|
4847 |
msgstr "Выбранный период находится вне рабочего графика услуги"
|
4848 |
|
|
|
|
|
|
|
4849 |
msgid "Booking exceeds the working hours limit for staff member"
|
4850 |
msgstr ""
|
4851 |
"Бронирование превышает допустимое количество рабочих часов для сотрудника."
|
@@ -4974,6 +4982,37 @@ msgstr "Не сохранять"
|
|
4974 |
msgid "Create service"
|
4975 |
msgstr "Создать сервис"
|
4976 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4977 |
msgid "Edit service"
|
4978 |
msgstr "Редактировать сервис"
|
4979 |
|
@@ -5547,27 +5586,12 @@ msgstr "Дата создания"
|
|
5547 |
msgid "Packages"
|
5548 |
msgstr "Пакеты услуг"
|
5549 |
|
5550 |
-
msgid "Unassigned"
|
5551 |
-
msgstr "Неназначенный"
|
5552 |
-
|
5553 |
-
msgid ""
|
5554 |
-
"Enable this setting so that the package can be displayed and available for "
|
5555 |
-
"booking when clients have not specified a particular provider."
|
5556 |
-
msgstr ""
|
5557 |
-
"Включите эту настройку, чтобы отображать пакет услуг в списке доступных "
|
5558 |
-
"пакетов для бронирования в случаях, когда клиенты не выбрали конкретного "
|
5559 |
-
"исполнителя."
|
5560 |
-
|
5561 |
-
msgid "Life Time"
|
5562 |
-
msgstr "Время жизни"
|
5563 |
-
|
5564 |
-
msgid "The period in days when the customer can use a package of services."
|
5565 |
-
msgstr ""
|
5566 |
-
"Количество дней, в течение которых клиент может использовать пакет услуг."
|
5567 |
-
|
5568 |
msgid "New package"
|
5569 |
msgstr "Новый пакет услуг"
|
5570 |
|
|
|
|
|
|
|
5571 |
msgid "Edit package"
|
5572 |
msgstr "Редактировать пакет услуг"
|
5573 |
|
@@ -5659,6 +5683,21 @@ msgstr "Редактировать запись в пакете услуг"
|
|
5659 |
msgid "Delete package appointment"
|
5660 |
msgstr "Удалить запись в пакете услуг"
|
5661 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5662 |
msgid "Packages list"
|
5663 |
msgstr "Список пакетов услуг"
|
5664 |
|
@@ -5993,30 +6032,6 @@ msgstr "Срок вашей поддержки истек %s."
|
|
5993 |
msgid "Print"
|
5994 |
msgstr "Печатать"
|
5995 |
|
5996 |
-
msgid "Google Calendar integration"
|
5997 |
-
msgstr "Интеграция с Google Календарём"
|
5998 |
-
|
5999 |
-
#, php-format
|
6000 |
-
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
6001 |
-
msgstr ""
|
6002 |
-
"Пожалуйста, сначала укажите <a href=\"%s\">настройки</a> Google Календаря"
|
6003 |
-
|
6004 |
-
msgid "Synchronize staff member appointments with Google Calendar."
|
6005 |
-
msgstr "Синхронизировать данные о записях сотрудника с его Google Календарём."
|
6006 |
-
|
6007 |
-
msgid "Limit working hours per day"
|
6008 |
-
msgstr "Ограничить количество рабочих часов в день"
|
6009 |
-
|
6010 |
-
msgid "Unlimited"
|
6011 |
-
msgstr "Без ограничений"
|
6012 |
-
|
6013 |
-
msgid ""
|
6014 |
-
"This setting allows limiting the total time occupied by bookings per day for "
|
6015 |
-
"staff member. Padding time is not included."
|
6016 |
-
msgstr ""
|
6017 |
-
"Настройка позволяет ограничить суммарное время, которое может быть занято "
|
6018 |
-
"бронированиями в сутки для сотрудника. Время паузы не учитывается."
|
6019 |
-
|
6020 |
msgid "API Username"
|
6021 |
msgstr "API Username"
|
6022 |
|
@@ -6455,209 +6470,79 @@ msgstr ""
|
|
6455 |
msgid "Online Meetings"
|
6456 |
msgstr "Интернет-конференции"
|
6457 |
|
6458 |
-
msgid "
|
6459 |
-
msgstr "
|
|
|
|
|
|
|
6460 |
|
6461 |
#, php-format
|
6462 |
-
msgid ""
|
6463 |
-
"
|
6464 |
-
"appointments with the selected online meeting provider. Make sure that the "
|
6465 |
-
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6466 |
-
"Meetings</a>"
|
6467 |
-
msgstr ""
|
6468 |
-
"Если эта настройка включена, тогда для новых записей будут создаваться "
|
6469 |
-
"интернет-конференции с помощью выбранной программы для интернет-конференций. "
|
6470 |
-
"Убедитесь, что провайдер услуг правильно настроен в Настройках <a "
|
6471 |
-
"href=\"%s\">Интернет-конференции</a>"
|
6472 |
|
6473 |
-
msgid "
|
6474 |
-
msgstr "
|
6475 |
|
6476 |
msgid ""
|
6477 |
-
"
|
6478 |
-
"
|
6479 |
-
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
6480 |
-
"then the next available time slot will be 9:15 rather than 9:00."
|
6481 |
msgstr ""
|
6482 |
-
"
|
6483 |
-
"
|
6484 |
-
"\"пауза до\" значение 15 мин. Если уже есть запись с 8:00 до 9:00, то "
|
6485 |
-
"следующий доступный для бронирования слот будет 9:15, а не 9:00."
|
6486 |
|
6487 |
-
msgid "
|
6488 |
-
msgstr "
|
|
|
|
|
|
|
6489 |
|
|
|
6490 |
msgid ""
|
6491 |
-
"
|
6492 |
-
"
|
6493 |
msgstr ""
|
6494 |
-
"
|
6495 |
-
"
|
6496 |
|
6497 |
-
msgid "
|
6498 |
-
msgstr "
|
6499 |
|
6500 |
-
msgid ""
|
6501 |
-
|
6502 |
-
"account when calculating provider's occupancy. 0 means the day of booking."
|
6503 |
-
msgstr ""
|
6504 |
-
"Установите количество дней до и после записи, которое будет учитываться при "
|
6505 |
-
"расчёте занятости сотрудника. 0 означает день бронирования."
|
6506 |
|
6507 |
-
msgid "
|
6508 |
-
msgstr "
|
6509 |
|
6510 |
msgid ""
|
6511 |
-
"
|
6512 |
-
"
|
6513 |
-
"
|
6514 |
msgstr ""
|
6515 |
-
"
|
6516 |
-
"
|
6517 |
-
"
|
6518 |
-
|
6519 |
-
msgid "Limit appointments per customer"
|
6520 |
-
msgstr "Ограничить записи на одного клиента"
|
6521 |
|
6522 |
-
msgid "
|
6523 |
-
msgstr "
|
6524 |
|
6525 |
-
msgid "
|
6526 |
-
msgstr "
|
6527 |
|
6528 |
-
msgid "
|
6529 |
-
msgstr "
|
6530 |
|
6531 |
-
msgid "
|
6532 |
-
|
|
|
|
|
|
|
|
|
6533 |
|
6534 |
-
msgid "
|
6535 |
-
msgstr "в
|
6536 |
|
6537 |
-
msgid "
|
6538 |
-
msgstr "
|
6539 |
-
|
6540 |
-
msgid "per month"
|
6541 |
-
msgstr "в месяц"
|
6542 |
-
|
6543 |
-
msgid "per 365 days"
|
6544 |
-
msgstr "в течение 365 дней"
|
6545 |
-
|
6546 |
-
msgid "per year"
|
6547 |
-
msgstr "в год"
|
6548 |
-
|
6549 |
-
msgid ""
|
6550 |
-
"This setting allows you to limit the number of appointments that can be "
|
6551 |
-
"booked by a customer in any given period. Restriction may end after a fixed "
|
6552 |
-
"period or with the beginning of the next calendar period - new day, week, "
|
6553 |
-
"month, etc."
|
6554 |
-
msgstr ""
|
6555 |
-
"Эта настройка позволяет вам ограничить количество записей, которые могут "
|
6556 |
-
"быть забронированы клиентом в течение любого заданного периода. Ограничение "
|
6557 |
-
"может заканчиваться через фиксированное количество дней или с началом "
|
6558 |
-
"следующего календарного периода: новый день, неделя, месяц и т.д."
|
6559 |
-
|
6560 |
-
msgid "Limit"
|
6561 |
-
msgstr "Ограничить"
|
6562 |
-
|
6563 |
-
msgid ""
|
6564 |
-
"To make service invisible to your customers set the visibility to "
|
6565 |
-
"\"Private\"."
|
6566 |
-
msgstr ""
|
6567 |
-
"Чтобы сделать сервис невидимым для клиентов, установите видимость в значение "
|
6568 |
-
"\"Закрытый\"."
|
6569 |
-
|
6570 |
-
msgid "Specified order"
|
6571 |
-
msgstr "Указанный порядок"
|
6572 |
-
|
6573 |
-
msgid "Least occupied that day"
|
6574 |
-
msgstr "Менее загруженный в тот день"
|
6575 |
-
|
6576 |
-
msgid "Most occupied that day"
|
6577 |
-
msgstr "Более загруженный в тот день"
|
6578 |
-
|
6579 |
-
msgid "Least occupied for period"
|
6580 |
-
msgstr "Менее загруженный в течение периода"
|
6581 |
-
|
6582 |
-
msgid "Most occupied for period"
|
6583 |
-
msgstr "Более загруженный в течение периода"
|
6584 |
-
|
6585 |
-
msgid "Least expensive"
|
6586 |
-
msgstr "Менее дорогой"
|
6587 |
-
|
6588 |
-
msgid "Most expensive"
|
6589 |
-
msgstr "Более дорогой"
|
6590 |
-
|
6591 |
-
msgid "Form view in case of single booking"
|
6592 |
-
msgstr "Вид формы при осуществлении одного бронирования"
|
6593 |
-
|
6594 |
-
msgid "Form view in case of multiple booking"
|
6595 |
-
msgstr "Вид формы при осуществлении нескольких бронирований"
|
6596 |
-
|
6597 |
-
#, php-format
|
6598 |
-
msgid "Form in case of 100% discount"
|
6599 |
-
msgstr "Вид формы при 100% скидке"
|
6600 |
-
|
6601 |
-
msgid "Show birthday field"
|
6602 |
-
msgstr "Показывать поле с датой рождения"
|
6603 |
-
|
6604 |
-
msgid ""
|
6605 |
-
"Address information is needed for Invoices add-on. To disable, deactivate "
|
6606 |
-
"Invoices add-on first."
|
6607 |
-
msgstr ""
|
6608 |
-
"Информация об адресе клиента необходима для работы дополнения Инвойсы. Чтобы "
|
6609 |
-
"отключить, сначала деактивируйте дополнение Инвойсы."
|
6610 |
-
|
6611 |
-
msgid "Show address fields"
|
6612 |
-
msgstr "Показывать поля для ввода адреса"
|
6613 |
-
|
6614 |
-
msgid "Show Facebook login button"
|
6615 |
-
msgstr "Показывать кнопку входа через Facebook"
|
6616 |
-
|
6617 |
-
#, php-format
|
6618 |
-
msgid ""
|
6619 |
-
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6620 |
-
"first."
|
6621 |
-
msgstr ""
|
6622 |
-
"Пожалуйста, сначала <a href=\"%s\">настройте</a> интеграцию Facebook "
|
6623 |
-
"приложения."
|
6624 |
-
|
6625 |
-
msgid "Show time zone switcher"
|
6626 |
-
msgstr "Показывать переключатель часового пояса"
|
6627 |
-
|
6628 |
-
msgid "Import"
|
6629 |
-
msgstr "Импорт"
|
6630 |
-
|
6631 |
-
msgid "Note"
|
6632 |
-
msgstr "Заметка"
|
6633 |
-
|
6634 |
-
msgid ""
|
6635 |
-
"You may import list of clients in CSV format. You can choose the columns "
|
6636 |
-
"contained in your file. The sequence of columns should coincide with the "
|
6637 |
-
"specified one."
|
6638 |
-
msgstr ""
|
6639 |
-
"Вы можете импортировать список клиентов в формате CSV. Вы можете выбрать "
|
6640 |
-
"столбцы, содержащиеся в вашем файле. Последовательность столбцов должна "
|
6641 |
-
"совпадать с указанной."
|
6642 |
-
|
6643 |
-
msgid "Select file"
|
6644 |
-
msgstr "Выберите файл"
|
6645 |
-
|
6646 |
-
msgid "Date of birth"
|
6647 |
-
msgstr "Дата рождения"
|
6648 |
-
|
6649 |
-
msgid "Analytics"
|
6650 |
-
msgstr "Аналитика"
|
6651 |
-
|
6652 |
-
msgid ""
|
6653 |
-
"Note: If payment is made for several services, then for each service you "
|
6654 |
-
"will see the entire amount paid as revenue."
|
6655 |
-
msgstr ""
|
6656 |
-
"Примечание: если оплата производится за несколько услуг, то в столбце Доход "
|
6657 |
-
"для каждой услуги вы увидите всю оплаченную сумму."
|
6658 |
-
|
6659 |
-
msgid "online meeting join URL"
|
6660 |
-
msgstr "URL для входа в интернет-конференцию"
|
6661 |
|
6662 |
msgid "Titles"
|
6663 |
msgstr "Заголовки"
|
@@ -6690,6 +6575,17 @@ msgstr ""
|
|
6690 |
msgid "Error dissociating purchase code."
|
6691 |
msgstr "Ошибка при отсоединении лицензионного ключа."
|
6692 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6693 |
msgid "Archiving Staff"
|
6694 |
msgstr "Архивация Сотрудника"
|
6695 |
|
@@ -6704,6 +6600,28 @@ msgstr ""
|
|
6704 |
msgid "Ok, continue editing"
|
6705 |
msgstr "Продолжить редактирование"
|
6706 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6707 |
msgid "Reason"
|
6708 |
msgstr "Причина"
|
6709 |
|
@@ -6742,6 +6660,139 @@ msgstr "Пожалуйста, введите название сервиса"
|
|
6742 |
msgid "Custom service price"
|
6743 |
msgstr "Цена произвольного сервиса"
|
6744 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6745 |
msgid "Welcome to Bookly Pro and thank you for purchasing our product!"
|
6746 |
msgstr ""
|
6747 |
"Добро пожаловать в Bookly Pro! Мы благодарим вас за покупку нашего продукта!"
|
@@ -7076,6 +7127,9 @@ msgstr "Пропустить"
|
|
7076 |
msgid "Tasks"
|
7077 |
msgstr "Задачи"
|
7078 |
|
|
|
|
|
|
|
7079 |
msgid "Time step settings"
|
7080 |
msgstr "Настройки шага Время"
|
7081 |
|
@@ -7091,9 +7145,6 @@ msgstr ""
|
|
7091 |
"создать задачу без времени выполнения или отобразить шаг Время, но позволить "
|
7092 |
"клиенту пропустить его."
|
7093 |
|
7094 |
-
msgid "Skip time selection"
|
7095 |
-
msgstr "Пропустить назначение времени"
|
7096 |
-
|
7097 |
msgid "Incorrect payment data"
|
7098 |
msgstr "Неверные данные платежа"
|
7099 |
|
@@ -7297,18 +7348,6 @@ msgstr "Редактировать Группу"
|
|
7297 |
msgid "No customer groups yet."
|
7298 |
msgstr "Групп клиентов пока нет."
|
7299 |
|
7300 |
-
msgid "Groups"
|
7301 |
-
msgstr "Группы"
|
7302 |
-
|
7303 |
-
msgid "All groups"
|
7304 |
-
msgstr "Все группы"
|
7305 |
-
|
7306 |
-
msgid "No group selected"
|
7307 |
-
msgstr "Группа не выбрана"
|
7308 |
-
|
7309 |
-
msgid "Customer group based"
|
7310 |
-
msgstr "На основании группы клиентов"
|
7311 |
-
|
7312 |
msgid "Customer Group"
|
7313 |
msgstr "Группа Клиентов"
|
7314 |
|
@@ -7332,6 +7371,18 @@ msgstr "Редактировать группу"
|
|
7332 |
msgid "Group name is required"
|
7333 |
msgstr "Необходимо указать название группы"
|
7334 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7335 |
msgid "Notification to customer about placing on waiting list"
|
7336 |
msgstr "Уведомление для клиента о добавлении в список ожидания"
|
7337 |
|
@@ -7567,12 +7618,6 @@ msgstr "название дополнений"
|
|
7567 |
msgid "extras total price"
|
7568 |
msgstr "итоговая цена дополнений"
|
7569 |
|
7570 |
-
msgid "Max quantity"
|
7571 |
-
msgstr "Максимальное количество"
|
7572 |
-
|
7573 |
-
msgid "New Item"
|
7574 |
-
msgstr "Новый элемент"
|
7575 |
-
|
7576 |
msgid "Show title"
|
7577 |
msgstr "Показывать название"
|
7578 |
|
@@ -7594,6 +7639,12 @@ msgstr "Показывать шаг \"Дополнения\""
|
|
7594 |
msgid "Show extras"
|
7595 |
msgstr "Показывать дополнения"
|
7596 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7597 |
msgid "Extras tax"
|
7598 |
msgstr "Налог на дополнения"
|
7599 |
|
@@ -7664,15 +7715,15 @@ msgstr ""
|
|
7664 |
"Ваш PayPal ID или адрес эл. почты, связанный с вашим PayPal аккаунтом. "
|
7665 |
"Адреса эл. почты должны быть подтверждены."
|
7666 |
|
|
|
|
|
|
|
7667 |
msgid "Special prices for appointments which begin between:"
|
7668 |
msgstr "Особые цены для записей, время начала которых находится между:"
|
7669 |
|
7670 |
msgid "add special period"
|
7671 |
msgstr "добавить особый период"
|
7672 |
|
7673 |
-
msgid "Disable special hours update"
|
7674 |
-
msgstr "Выключить обновление особых часов работы"
|
7675 |
-
|
7676 |
msgid "Please select a location"
|
7677 |
msgstr "Пожалуйста, выберите место"
|
7678 |
|
@@ -7682,28 +7733,6 @@ msgstr "Сотрудники"
|
|
7682 |
msgid "Locations"
|
7683 |
msgstr "Места"
|
7684 |
|
7685 |
-
msgid "Default settings"
|
7686 |
-
msgstr "Настройки по умолчанию"
|
7687 |
-
|
7688 |
-
msgid ""
|
7689 |
-
"Set Default values that will be used in all locations where Use default "
|
7690 |
-
"settings is selected. To use custom settings in a location, select Use "
|
7691 |
-
"custom settings and enter custom values."
|
7692 |
-
msgstr ""
|
7693 |
-
"Установите значения по умолчанию, которые будут использованы во всех местах, "
|
7694 |
-
"где выбрано \"Использовать настройки по умолчанию\". Для использования в "
|
7695 |
-
"месте пользовательских настроек, выберите \"Использовать пользовательские "
|
7696 |
-
"настройки\" и введите пользовательские значения."
|
7697 |
-
|
7698 |
-
msgid "Use default settings"
|
7699 |
-
msgstr "Использовать настройки по умолчанию"
|
7700 |
-
|
7701 |
-
msgid "Use custom settings"
|
7702 |
-
msgstr "Использовать пользовательские настройки"
|
7703 |
-
|
7704 |
-
msgid "Select locations where the services are provided."
|
7705 |
-
msgstr "Выберите места, в которых предоставляются услуги."
|
7706 |
-
|
7707 |
msgid "Custom settings for location"
|
7708 |
msgstr "Пользовательские настройки для места"
|
7709 |
|
@@ -7744,6 +7773,28 @@ msgstr "Сделать выбор места обязательным"
|
|
7744 |
msgid "Default value for location select"
|
7745 |
msgstr "Значение по умолчанию для места"
|
7746 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7747 |
msgid "Account ID"
|
7748 |
msgstr "Account ID"
|
7749 |
|
@@ -7798,9 +7849,6 @@ msgstr "Показывать рейтинг перед именем сотруд
|
|
7798 |
msgid "URL of the page for staff rating"
|
7799 |
msgstr "URL страницы для оценки сотрудника"
|
7800 |
|
7801 |
-
msgid "Comment"
|
7802 |
-
msgstr "Комментарий"
|
7803 |
-
|
7804 |
msgid "Add staff rating form"
|
7805 |
msgstr "Добавить форму для оценки сотрудника"
|
7806 |
|
9 |
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
10 |
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
11 |
"Report-Msgid-Bugs-To: \n"
|
12 |
+
"POT-Creation-Date: 2020-11-06 16:43+0000\n"
|
13 |
+
"PO-Revision-Date: 2020-11-09 08:06+0000\n"
|
14 |
"Last-Translator: support@bookly.info\n"
|
15 |
"Language-Team: Russian\n"
|
16 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
185 |
msgid "Phone"
|
186 |
msgstr "Телефон"
|
187 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
msgid "Instructions"
|
189 |
msgstr "Инструкция"
|
190 |
|
505 |
msgid "Calendars synchronized successfully."
|
506 |
msgstr "Календари успешно синхронизированы."
|
507 |
|
508 |
+
msgid "Outlook Calendar integration"
|
509 |
+
msgstr "Интеграция с Календарём Outlook"
|
510 |
+
|
511 |
+
msgid "Connect"
|
512 |
+
msgstr "Подключить"
|
513 |
+
|
514 |
+
#, php-format
|
515 |
+
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
516 |
+
msgstr ""
|
517 |
+
"Пожалуйста, сначала укажите <a href=\"%s\">настройки</a> Календаря Outlook"
|
518 |
+
|
519 |
+
msgid "Connected"
|
520 |
+
msgstr "Подключен"
|
521 |
+
|
522 |
+
msgid "disconnect"
|
523 |
+
msgstr "Отключить"
|
524 |
+
|
525 |
+
msgid "Synchronize staff member appointments with Outlook Calendar."
|
526 |
+
msgstr "Синхронизировать данные о записях сотрудника с Календарём Outlook"
|
527 |
+
|
528 |
+
msgid "Calendar"
|
529 |
+
msgstr "Календарь"
|
530 |
+
|
531 |
+
msgid "-- Select calendar --"
|
532 |
+
msgstr "-- Выберите календарь --"
|
533 |
+
|
534 |
+
msgid ""
|
535 |
+
"When you connect a calendar all future and past events will be synchronized "
|
536 |
+
"according to the selected synchronization mode. This may take a few minutes. "
|
537 |
+
"Please wait."
|
538 |
+
msgstr ""
|
539 |
+
"При подключении календаря все будущие и прошлые события будут "
|
540 |
+
"синхронизированы в соответствии с выбранным режимом синхронизации. Это может "
|
541 |
+
"занять несколько минут. Пожалуйста, подождите."
|
542 |
+
|
543 |
+
msgid "Can't change calendar for archived staff"
|
544 |
+
msgstr "Невозможно изменить календарь для архивированного сотрудника"
|
545 |
+
|
546 |
msgid "Custom Fields"
|
547 |
msgstr "Пользовательские поля"
|
548 |
|
1282 |
"подтверждение повторяющейся записи невозможно (по причине изменённого "
|
1283 |
"статуса и др.)."
|
1284 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1285 |
msgid "Edit"
|
1286 |
msgstr "Редактировать"
|
1287 |
|
1312 |
msgid "Every"
|
1313 |
msgstr "Каждые"
|
1314 |
|
1315 |
+
msgid ""
|
1316 |
+
"You are going to reschedule the recurring appointment. Please select "
|
1317 |
+
"recurring appointments which should be rescheduled as well."
|
1318 |
+
msgstr ""
|
1319 |
+
"Вы собираетесь перенести повторяющуюся запись. Выберите повторяющиеся записи,"
|
1320 |
+
" которые также следует перенести."
|
1321 |
+
|
1322 |
+
msgid "Only this appointment"
|
1323 |
+
msgstr "Только эту запись"
|
1324 |
+
|
1325 |
+
msgid "This and next appointments"
|
1326 |
+
msgstr "Эту и последующие записи"
|
1327 |
+
|
1328 |
+
msgid "All appointments"
|
1329 |
+
msgstr "Все записи"
|
1330 |
+
|
1331 |
+
msgid "Number of days to shift appointments"
|
1332 |
+
msgstr "Количество дней, на которые будут перенесены записи"
|
1333 |
+
|
1334 |
+
msgid "Appointments will be scheduled at"
|
1335 |
+
msgstr "Записи будут назначены на"
|
1336 |
+
|
1337 |
msgid "Back"
|
1338 |
msgstr "Назад"
|
1339 |
|
1370 |
msgid "Close"
|
1371 |
msgstr "Закрыть"
|
1372 |
|
1373 |
+
msgid "Enabled"
|
1374 |
+
msgstr "Включено"
|
1375 |
+
|
1376 |
+
msgid "Allow this service to have recurring appointments."
|
1377 |
+
msgstr "Разрешить этому сервису иметь повторяющиеся записи."
|
1378 |
+
|
1379 |
+
msgid "Frequencies"
|
1380 |
+
msgstr "Частота"
|
1381 |
+
|
1382 |
+
msgid "All"
|
1383 |
+
msgstr "Все"
|
1384 |
+
|
1385 |
+
msgid "Nothing selected"
|
1386 |
+
msgstr "Ничего не выбрано"
|
1387 |
+
|
1388 |
msgid "Save"
|
1389 |
msgstr "Сохранить"
|
1390 |
|
1409 |
msgid "Duration"
|
1410 |
msgstr "Продолжительность"
|
1411 |
|
1412 |
+
msgid "Show service price next to duration"
|
1413 |
+
msgstr "Показывать цену сервиса возле его продолжительности"
|
1414 |
+
|
1415 |
+
msgid "Hide this field"
|
1416 |
+
msgstr "Не показывать это поле"
|
1417 |
+
|
1418 |
msgid ""
|
1419 |
"Set service duration. If you select Custom, a client, while booking, will "
|
1420 |
"have to choose the duration of the service from several time units. In the "
|
1442 |
msgid "Custom"
|
1443 |
msgstr "Пользовательские"
|
1444 |
|
1445 |
+
msgid "Are you sure?"
|
1446 |
+
msgstr "Вы уверены?"
|
1447 |
|
1448 |
+
msgid "Duplicate dates are not permitted."
|
1449 |
+
msgstr "Дубликаты дат не разрешены."
|
1450 |
+
|
1451 |
+
msgid "Date in the past."
|
1452 |
+
msgstr "Дата в прошлом."
|
1453 |
+
|
1454 |
+
msgid "Add Staff Special Days"
|
1455 |
+
msgstr "Добавить особые дни сотрудников"
|
1456 |
|
1457 |
msgid "Delete break"
|
1458 |
msgstr "Удалить перерыв"
|
1472 |
msgid "Special Days"
|
1473 |
msgstr "Особые дни"
|
1474 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1475 |
msgid "The requested interval is not available"
|
1476 |
msgstr "Запрашиваемый интервал недоступен"
|
1477 |
|
1478 |
msgid "OFF"
|
1479 |
msgstr "ВЫКЛЮЧИТЬ"
|
1480 |
|
|
|
|
|
|
|
1481 |
msgid "Uncategorized"
|
1482 |
msgstr "Без категории"
|
1483 |
|
1484 |
+
msgid "Compound"
|
1485 |
+
msgstr "Составной"
|
1486 |
+
|
1487 |
+
msgid "Part of compound service"
|
1488 |
+
msgstr "Часть составного сервиса"
|
1489 |
+
|
1490 |
+
msgid "Compound service"
|
1491 |
+
msgstr "Составной сервис"
|
1492 |
+
|
1493 |
msgid "Spare time"
|
1494 |
msgstr "Свободное время"
|
1495 |
|
1511 |
"формы бронирования, то только этот сотрудник будет использоваться для поиска "
|
1512 |
"свободных временных интервалов для всех связанных услуг."
|
1513 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1514 |
msgid "Short Codes"
|
1515 |
msgstr "Шорткоды"
|
1516 |
|
1614 |
msgid "Upcoming appointments"
|
1615 |
msgstr "Предстоящие записи"
|
1616 |
|
|
|
|
|
|
|
1617 |
msgid "Delimiter"
|
1618 |
msgstr "Разделитель"
|
1619 |
|
1759 |
msgid "Processing..."
|
1760 |
msgstr "Обработка..."
|
1761 |
|
|
|
|
|
|
|
1762 |
msgid "service tax amount"
|
1763 |
msgstr "сумма налога на услугу"
|
1764 |
|
1784 |
"стоимости налог не рассчитывается. Если вам необходимо передавать точную "
|
1785 |
"сумму налога в платёжную систему, не используйте надбавку к стоимости."
|
1786 |
|
1787 |
+
msgid "Taxation"
|
1788 |
+
msgstr "Налог"
|
1789 |
+
|
1790 |
msgid "Customer Information"
|
1791 |
msgstr "Информация о клиенте"
|
1792 |
|
1852 |
msgid "Number of persons"
|
1853 |
msgstr "Количество персон"
|
1854 |
|
|
|
|
|
|
|
1855 |
msgid "Group bookings information format"
|
1856 |
msgstr "Формат отображения информации о групповых бронированиях"
|
1857 |
|
1879 |
msgid "capacity of service"
|
1880 |
msgstr "вместимость сервиса"
|
1881 |
|
1882 |
+
msgid "Show information about group bookings"
|
1883 |
+
msgstr "Показывать информацию о групповых бронированиях"
|
1884 |
+
|
1885 |
+
msgid "Disable capacity update"
|
1886 |
+
msgstr "Отключить изменение вместимости"
|
1887 |
+
|
1888 |
+
msgid "Capacity (min and max)"
|
1889 |
+
msgstr "Вместимость (мин. и макс.)"
|
1890 |
+
|
1891 |
msgid ""
|
1892 |
"The minimum and maximum number of customers allowed to book the service for "
|
1893 |
"the certain time period."
|
1905 |
"Включите эту настройку, если хотите ограничить возможность бронирования в "
|
1906 |
"рамках вместимости услуги одним разом."
|
1907 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1908 |
msgid "Address"
|
1909 |
msgstr "Адрес"
|
1910 |
|
1960 |
msgid "Show google maps field"
|
1961 |
msgstr "Показывать поле google maps"
|
1962 |
|
1963 |
+
msgid "Do not allow to select a specific staff member"
|
1964 |
+
msgstr "Не позволять выбрать конкретного сотрудника"
|
1965 |
|
1966 |
+
msgid ""
|
1967 |
+
"If this option is enabled then customers won't be able to select a staff "
|
1968 |
+
"member for collaborative services in the first step of the booking form"
|
1969 |
msgstr ""
|
1970 |
+
"Если эта настройка включена, клиенты не смогут выбрать сотрудника для "
|
1971 |
+
"совместных услуг на первом шаге формы бронирования"
|
1972 |
+
|
1973 |
+
msgid "Collaborative services"
|
1974 |
+
msgstr "Совместные сервисы"
|
1975 |
|
1976 |
msgid "Collaborative"
|
1977 |
msgstr "Совместный"
|
1982 |
msgid "Part of collaborative service"
|
1983 |
msgstr "Часть совместного сервиса"
|
1984 |
|
1985 |
+
msgid "Equal duration"
|
1986 |
+
msgstr "Равная продолжительность"
|
1987 |
+
|
1988 |
+
msgid "Make every service duration equal to the duration of the longest one."
|
1989 |
+
msgstr ""
|
1990 |
+
"Приравнять продолжительность каждой услуги к длительности самой "
|
1991 |
+
"продолжительной из входящих в состав услуг."
|
1992 |
+
|
1993 |
msgid "Customer cabinet (all services displayed in tabs)"
|
1994 |
msgstr "Личный кабинет клиента (все сервисы отображаются во вкладках)"
|
1995 |
|
3138 |
"перезаписать данные и продолжить, или нажмите Отмена, чтобы исправить "
|
3139 |
"введённые данные."
|
3140 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3141 |
msgid "Internal Notes"
|
3142 |
msgstr "Внутренние заметки"
|
3143 |
|
3323 |
"бронирования, чтобы распространять информацию о плагине. Это позволит "
|
3324 |
"команде улучшить продукт и расширить его функциональность"
|
3325 |
|
3326 |
+
msgid "Prevent caching of pages with booking form"
|
3327 |
+
msgstr "Предотвращать кэширование страниц содержащих форму бронирования"
|
3328 |
|
3329 |
msgid ""
|
3330 |
+
"Select \"Enabled\" if you want Bookly to prevent caching by third-party "
|
3331 |
"caching plugins by adding a DONOTCACHEPAGE constant on pages with booking "
|
3332 |
+
"form"
|
3333 |
msgstr ""
|
3334 |
+
"Выберите \"Включено\", если вы хотите, чтобы Bookly препятствовал "
|
3335 |
"кэшированию сторонними плагинами кэширования, добавив константу "
|
3336 |
"DONOTCACHEPAGE на страницах с формой бронирования."
|
3337 |
|
3338 |
+
msgid "Prevent PHP session locking"
|
3339 |
+
msgstr "Предотвращать блокировку сеанса PHP"
|
3340 |
|
3341 |
+
msgid ""
|
3342 |
+
"Enable this option to make Bookly close the PHP session as soon as it is "
|
3343 |
+
"done with it. This should prevent locking the session, which could cause "
|
3344 |
+
"various other processes to timeout or fail"
|
3345 |
+
msgstr ""
|
3346 |
+
"Включите эту настройку, чтобы Bookly закрывал сеанс PHP сразу после его "
|
3347 |
+
"завершения. Это должно предотвратить блокировку сеанса, которая может "
|
3348 |
+
"вызвать тайм-аут или сбой других процессов"
|
3349 |
|
3350 |
msgid "Service paid locally"
|
3351 |
msgstr "Оплата сервиса наличными"
|
3365 |
msgid "Holidays"
|
3366 |
msgstr "Праздники"
|
3367 |
|
3368 |
+
msgid "Logs"
|
3369 |
+
msgstr "Журнал событий"
|
3370 |
+
|
3371 |
msgid "Approve appointment URL (success)"
|
3372 |
msgstr "URL страницы после подтверждения записи (в случае успеха)"
|
3373 |
|
3561 |
"тех, что он вводил в предыдущий раз, то появится предупреждающее сообщение с "
|
3562 |
"просьбой обновить данные."
|
3563 |
|
3564 |
+
msgid "Debug logs"
|
3565 |
+
msgstr "Журнал отладки"
|
3566 |
+
|
3567 |
+
msgid ""
|
3568 |
+
"If this setting is enabled then all actions with appointments will be "
|
3569 |
+
"recorded in a log table. We recommend enabling this setting as it will be "
|
3570 |
+
"helpful for our support team in case of unpredictable issues with "
|
3571 |
+
"appointments."
|
3572 |
+
msgstr ""
|
3573 |
+
"Если эта настройка включена, все действия с записями будут сохраняться в "
|
3574 |
+
"таблице журнала событий. Мы рекомендуем включить этот параметр, так как он "
|
3575 |
+
"будет полезен нашей службе поддержки в случае непредсказуемых проблем с "
|
3576 |
+
"записями."
|
3577 |
+
|
3578 |
+
msgid "Action"
|
3579 |
+
msgstr "Операция"
|
3580 |
+
|
3581 |
+
msgid "Target"
|
3582 |
+
msgstr "Цель"
|
3583 |
+
|
3584 |
+
msgid "Target ID"
|
3585 |
+
msgstr "ID Цели"
|
3586 |
+
|
3587 |
+
msgid "Author"
|
3588 |
+
msgstr "Автор"
|
3589 |
+
|
3590 |
+
msgid "Comment"
|
3591 |
+
msgstr "Комментарий"
|
3592 |
+
|
3593 |
+
msgid "Reference"
|
3594 |
+
msgstr "Комментарий"
|
3595 |
+
|
3596 |
+
msgid "Clear logs"
|
3597 |
+
msgstr "Очистить журнал"
|
3598 |
+
|
3599 |
#, php-format
|
3600 |
msgid ""
|
3601 |
"WooCommerce cart is not set up. Follow the <a href=\"%s\">link</a> to "
|
3604 |
"Корзина WooCommerce не настроена. Проследуйте по <a href=\"%s\">ссылке</a> "
|
3605 |
"для того, чтобы исправить эту проблему."
|
3606 |
|
3607 |
+
msgid "Last month"
|
3608 |
+
msgstr "Прошлый месяц"
|
3609 |
+
|
3610 |
msgid "SMS Notifications"
|
3611 |
msgstr "SMS уведомления"
|
3612 |
|
3694 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3695 |
msgstr "Разрешаются буквы и цифры (до 11 знаков включительно)."
|
3696 |
|
|
|
|
|
|
|
3697 |
msgid "Sender ID request is sent."
|
3698 |
msgstr "Запрос отправлен."
|
3699 |
|
3776 |
msgid "Send email notification to administrators at low balance"
|
3777 |
msgstr "Отправлять уведомления о низком балансе администраторам по эл. почте "
|
3778 |
|
3779 |
+
msgid "Send weekly summary"
|
3780 |
+
msgstr "Отправлять еженедельный отчёт"
|
3781 |
|
3782 |
msgid ""
|
3783 |
"Your country is the location from where you consume Bookly SMS services and "
|
3826 |
msgid "No, update just here in services"
|
3827 |
msgstr "Нет, изменить только тут в настройках сервиса"
|
3828 |
|
3829 |
+
msgid "The service will be created with the visibility of Private."
|
3830 |
+
msgstr "Сервис будет создан с установленным значением видимости \"Закрытый\"."
|
3831 |
|
3832 |
+
msgid "Duplicate"
|
3833 |
+
msgstr "Дублировать"
|
3834 |
|
3835 |
+
msgid "You must select at least one repeat option for recurring services."
|
3836 |
+
msgstr ""
|
3837 |
+
"Вы должны выбрать хотя бы один вариант повтора для повторяющихся услуг."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3838 |
|
3839 |
msgid "Simple"
|
3840 |
msgstr "Простой"
|
3961 |
msgid "Stripe activation was not completed"
|
3962 |
msgstr "Активация Stripe не завершена"
|
3963 |
|
3964 |
+
msgid "All staff"
|
3965 |
+
msgstr "Весь персонал"
|
3966 |
+
|
3967 |
+
msgid "No staff selected"
|
3968 |
+
msgstr "Персонал не выбран"
|
3969 |
+
|
3970 |
msgid "Auto-refresh Calendar"
|
3971 |
msgstr "Автообновление Календаря"
|
3972 |
|
4786 |
"Если Вы оставите это поле пустым, сотрудник не сможет получить доступ к "
|
4787 |
"календарю из административной панели."
|
4788 |
|
4789 |
+
#, php-format
|
4790 |
+
msgid "This text can be inserted into notifications with %s code."
|
4791 |
+
msgstr "Этот текст может быть использован в уведомлениях при помощи кода %s."
|
4792 |
+
|
4793 |
msgid "Archive"
|
4794 |
msgstr "Архивировать"
|
4795 |
|
4845 |
msgid "Selected period doesn't match service duration"
|
4846 |
msgstr "Выбранный период времени не совпадает с длительностью сервиса"
|
4847 |
|
|
|
|
|
|
|
4848 |
msgid "Selected period doesn't match provider's schedule"
|
4849 |
msgstr "Выбранный период находится вне рабочего графика исполнителя"
|
4850 |
|
4851 |
msgid "Selected period doesn't match service schedule"
|
4852 |
msgstr "Выбранный период находится вне рабочего графика услуги"
|
4853 |
|
4854 |
+
msgid "The selected period is occupied by another appointment"
|
4855 |
+
msgstr "Выбранный период занят другой записью"
|
4856 |
+
|
4857 |
msgid "Booking exceeds the working hours limit for staff member"
|
4858 |
msgstr ""
|
4859 |
"Бронирование превышает допустимое количество рабочих часов для сотрудника."
|
4982 |
msgid "Create service"
|
4983 |
msgstr "Создать сервис"
|
4984 |
|
4985 |
+
msgid "Color"
|
4986 |
+
msgstr "Цвет"
|
4987 |
+
|
4988 |
+
msgid "Providers"
|
4989 |
+
msgstr "Исполнители"
|
4990 |
+
|
4991 |
+
msgid "Start and end times of the appointment"
|
4992 |
+
msgstr "Время начала и окончания записи"
|
4993 |
+
|
4994 |
+
msgid ""
|
4995 |
+
"Allows to set the start and end times for an appointment for services with "
|
4996 |
+
"the duration of 1 day or longer. This time will be displayed in "
|
4997 |
+
"notifications to customers, backend calendar and codes for booking form."
|
4998 |
+
msgstr ""
|
4999 |
+
"Позволяет установить время начала и окончания для услуг продолжительностью 1 "
|
5000 |
+
"день или дольше. Это время будет отображаться в уведомлениях клиентам, "
|
5001 |
+
"календаре в административной панели и кодах для формы бронирования."
|
5002 |
+
|
5003 |
+
msgid "Slot length as service duration"
|
5004 |
+
msgstr "Длина интервала в качестве продолжительности сервиса"
|
5005 |
+
|
5006 |
+
msgid ""
|
5007 |
+
"The time interval which is used as a step when building all time slots for "
|
5008 |
+
"the service at the Time step. The setting overrides global settings in "
|
5009 |
+
"Settings > General. Use Default to apply global settings."
|
5010 |
+
msgstr ""
|
5011 |
+
"Интервал, который будет использован в качестве шага при построении всех "
|
5012 |
+
"временных списков для услуги на шаге Время. Эта настройка переопределяет "
|
5013 |
+
"глобальные настройки, указанные в Настройки > Общие. Выберите По умолчанию, "
|
5014 |
+
"чтобы использовать глобальные настройки."
|
5015 |
+
|
5016 |
msgid "Edit service"
|
5017 |
msgstr "Редактировать сервис"
|
5018 |
|
5586 |
msgid "Packages"
|
5587 |
msgstr "Пакеты услуг"
|
5588 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5589 |
msgid "New package"
|
5590 |
msgstr "Новый пакет услуг"
|
5591 |
|
5592 |
+
msgid "Unassigned"
|
5593 |
+
msgstr "Неназначенный"
|
5594 |
+
|
5595 |
msgid "Edit package"
|
5596 |
msgstr "Редактировать пакет услуг"
|
5597 |
|
5683 |
msgid "Delete package appointment"
|
5684 |
msgstr "Удалить запись в пакете услуг"
|
5685 |
|
5686 |
+
msgid ""
|
5687 |
+
"Enable this setting so that the package can be displayed and available for "
|
5688 |
+
"booking when clients have not specified a particular provider."
|
5689 |
+
msgstr ""
|
5690 |
+
"Включите эту настройку, чтобы отображать пакет услуг в списке доступных "
|
5691 |
+
"пакетов для бронирования в случаях, когда клиенты не выбрали конкретного "
|
5692 |
+
"исполнителя."
|
5693 |
+
|
5694 |
+
msgid "Life Time"
|
5695 |
+
msgstr "Время жизни"
|
5696 |
+
|
5697 |
+
msgid "The period in days when the customer can use a package of services."
|
5698 |
+
msgstr ""
|
5699 |
+
"Количество дней, в течение которых клиент может использовать пакет услуг."
|
5700 |
+
|
5701 |
msgid "Packages list"
|
5702 |
msgstr "Список пакетов услуг"
|
5703 |
|
6032 |
msgid "Print"
|
6033 |
msgstr "Печатать"
|
6034 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6035 |
msgid "API Username"
|
6036 |
msgstr "API Username"
|
6037 |
|
6470 |
msgid "Online Meetings"
|
6471 |
msgstr "Интернет-конференции"
|
6472 |
|
6473 |
+
msgid "Form view in case of single booking"
|
6474 |
+
msgstr "Вид формы при осуществлении одного бронирования"
|
6475 |
+
|
6476 |
+
msgid "Form view in case of multiple booking"
|
6477 |
+
msgstr "Вид формы при осуществлении нескольких бронирований"
|
6478 |
|
6479 |
#, php-format
|
6480 |
+
msgid "Form in case of 100% discount"
|
6481 |
+
msgstr "Вид формы при 100% скидке"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6482 |
|
6483 |
+
msgid "Show birthday field"
|
6484 |
+
msgstr "Показывать поле с датой рождения"
|
6485 |
|
6486 |
msgid ""
|
6487 |
+
"Address information is needed for Invoices add-on. To disable, deactivate "
|
6488 |
+
"Invoices add-on first."
|
|
|
|
|
6489 |
msgstr ""
|
6490 |
+
"Информация об адресе клиента необходима для работы дополнения Инвойсы. Чтобы "
|
6491 |
+
"отключить, сначала деактивируйте дополнение Инвойсы."
|
|
|
|
|
6492 |
|
6493 |
+
msgid "Show address fields"
|
6494 |
+
msgstr "Показывать поля для ввода адреса"
|
6495 |
+
|
6496 |
+
msgid "Show Facebook login button"
|
6497 |
+
msgstr "Показывать кнопку входа через Facebook"
|
6498 |
|
6499 |
+
#, php-format
|
6500 |
msgid ""
|
6501 |
+
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6502 |
+
"first."
|
6503 |
msgstr ""
|
6504 |
+
"Пожалуйста, сначала <a href=\"%s\">настройте</a> интеграцию Facebook "
|
6505 |
+
"приложения."
|
6506 |
|
6507 |
+
msgid "Show time zone switcher"
|
6508 |
+
msgstr "Показывать переключатель часового пояса"
|
6509 |
|
6510 |
+
msgid "Import"
|
6511 |
+
msgstr "Импорт"
|
|
|
|
|
|
|
|
|
6512 |
|
6513 |
+
msgid "Note"
|
6514 |
+
msgstr "Заметка"
|
6515 |
|
6516 |
msgid ""
|
6517 |
+
"You may import list of clients in CSV format. You can choose the columns "
|
6518 |
+
"contained in your file. The sequence of columns should coincide with the "
|
6519 |
+
"specified one."
|
6520 |
msgstr ""
|
6521 |
+
"Вы можете импортировать список клиентов в формате CSV. Вы можете выбрать "
|
6522 |
+
"столбцы, содержащиеся в вашем файле. Последовательность столбцов должна "
|
6523 |
+
"совпадать с указанной."
|
|
|
|
|
|
|
6524 |
|
6525 |
+
msgid "Select file"
|
6526 |
+
msgstr "Выберите файл"
|
6527 |
|
6528 |
+
msgid "Date of birth"
|
6529 |
+
msgstr "Дата рождения"
|
6530 |
|
6531 |
+
msgid "Analytics"
|
6532 |
+
msgstr "Аналитика"
|
6533 |
|
6534 |
+
msgid ""
|
6535 |
+
"Note: If payment is made for several services, then for each service you "
|
6536 |
+
"will see the entire amount paid as revenue."
|
6537 |
+
msgstr ""
|
6538 |
+
"Примечание: если оплата производится за несколько услуг, то в столбце Доход "
|
6539 |
+
"для каждой услуги вы увидите всю оплаченную сумму."
|
6540 |
|
6541 |
+
msgid "online meeting join URL"
|
6542 |
+
msgstr "URL для входа в интернет-конференцию"
|
6543 |
|
6544 |
+
msgid "time zone of staff"
|
6545 |
+
msgstr "часовой пояс сотрудника"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6546 |
|
6547 |
msgid "Titles"
|
6548 |
msgstr "Заголовки"
|
6575 |
msgid "Error dissociating purchase code."
|
6576 |
msgstr "Ошибка при отсоединении лицензионного ключа."
|
6577 |
|
6578 |
+
msgid "Google Calendar integration"
|
6579 |
+
msgstr "Интеграция с Google Календарём"
|
6580 |
+
|
6581 |
+
#, php-format
|
6582 |
+
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
6583 |
+
msgstr ""
|
6584 |
+
"Пожалуйста, сначала укажите <a href=\"%s\">настройки</a> Google Календаря"
|
6585 |
+
|
6586 |
+
msgid "Synchronize staff member appointments with Google Calendar."
|
6587 |
+
msgstr "Синхронизировать данные о записях сотрудника с его Google Календарём."
|
6588 |
+
|
6589 |
msgid "Archiving Staff"
|
6590 |
msgstr "Архивация Сотрудника"
|
6591 |
|
6600 |
msgid "Ok, continue editing"
|
6601 |
msgstr "Продолжить редактирование"
|
6602 |
|
6603 |
+
msgid ""
|
6604 |
+
"The staff member's schedule will be considered to be in the selected time "
|
6605 |
+
"zone. This time zone will also be used for the dates and times in "
|
6606 |
+
"notifications sent to the staff member"
|
6607 |
+
msgstr ""
|
6608 |
+
"График сотрудника будет считаться находящимся в выбранном часовом поясе. "
|
6609 |
+
"Этот часовой пояс также будет использоваться для даты и времени в "
|
6610 |
+
"уведомлениях, отправляемых сотруднику"
|
6611 |
+
|
6612 |
+
msgid "Limit working hours per day"
|
6613 |
+
msgstr "Ограничить количество рабочих часов в день"
|
6614 |
+
|
6615 |
+
msgid "Unlimited"
|
6616 |
+
msgstr "Без ограничений"
|
6617 |
+
|
6618 |
+
msgid ""
|
6619 |
+
"This setting allows limiting the total time occupied by bookings per day for "
|
6620 |
+
"staff member. Padding time is not included."
|
6621 |
+
msgstr ""
|
6622 |
+
"Настройка позволяет ограничить суммарное время, которое может быть занято "
|
6623 |
+
"бронированиями в сутки для сотрудника. Время паузы не учитывается."
|
6624 |
+
|
6625 |
msgid "Reason"
|
6626 |
msgstr "Причина"
|
6627 |
|
6660 |
msgid "Custom service price"
|
6661 |
msgstr "Цена произвольного сервиса"
|
6662 |
|
6663 |
+
msgid "Create online meetings"
|
6664 |
+
msgstr "Создание интернет-конференций"
|
6665 |
+
|
6666 |
+
#, php-format
|
6667 |
+
msgid ""
|
6668 |
+
"If this setting is enabled then online meetings will be created for new "
|
6669 |
+
"appointments with the selected online meeting provider. Make sure that the "
|
6670 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6671 |
+
"Meetings</a>"
|
6672 |
+
msgstr ""
|
6673 |
+
"Если эта настройка включена, тогда для новых записей будут создаваться "
|
6674 |
+
"интернет-конференции с помощью выбранной программы для интернет-конференций. "
|
6675 |
+
"Убедитесь, что провайдер услуг правильно настроен в Настройках <a "
|
6676 |
+
"href=\"%s\">Интернет-конференции</a>"
|
6677 |
+
|
6678 |
+
msgid "Padding time (before and after)"
|
6679 |
+
msgstr "Пауза (до и после)"
|
6680 |
+
|
6681 |
+
msgid ""
|
6682 |
+
"Set padding time before and/or after an appointment. For example, if you "
|
6683 |
+
"require 15 minutes to prepare for the next appointment then you should set "
|
6684 |
+
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
6685 |
+
"then the next available time slot will be 9:15 rather than 9:00."
|
6686 |
+
msgstr ""
|
6687 |
+
"Установите паузу до и/или после записи. Например, если вам необходимо 15 "
|
6688 |
+
"минут, чтобы подготовиться к следующей записи, тогда установите в поле "
|
6689 |
+
"\"пауза до\" значение 15 мин. Если уже есть запись с 8:00 до 9:00, то "
|
6690 |
+
"следующий доступный для бронирования слот будет 9:15, а не 9:00."
|
6691 |
+
|
6692 |
+
msgid "Providers preference for ANY"
|
6693 |
+
msgstr "Предпочтение при автоматическом выборе исполнителя"
|
6694 |
+
|
6695 |
+
msgid ""
|
6696 |
+
"Allows you to define the rule of staff members auto assignment when ANY "
|
6697 |
+
"option is selected"
|
6698 |
+
msgstr ""
|
6699 |
+
"Позволяет вам указать то правило, которое будет использоваться при "
|
6700 |
+
"автоматическом назначении исполнителя, когда клиент выбрал вариант \"Любой\"."
|
6701 |
+
|
6702 |
+
msgid "Period (before and after)"
|
6703 |
+
msgstr "Период (до и после)"
|
6704 |
+
|
6705 |
+
msgid ""
|
6706 |
+
"Set number of days before and after appointment that will be taken into "
|
6707 |
+
"account when calculating provider's occupancy. 0 means the day of booking."
|
6708 |
+
msgstr ""
|
6709 |
+
"Установите количество дней до и после записи, которое будет учитываться при "
|
6710 |
+
"расчёте занятости сотрудника. 0 означает день бронирования."
|
6711 |
+
|
6712 |
+
msgid "Pick random staff member in case of uncertainty"
|
6713 |
+
msgstr "Выбрать случайного сотрудника в случае неопределённости"
|
6714 |
+
|
6715 |
+
msgid ""
|
6716 |
+
"Enable this option to pick a random staff member if both meet the criteria "
|
6717 |
+
"chosen in \"Providers preference for ANY\". Otherwise the selection order is "
|
6718 |
+
"unknown."
|
6719 |
+
msgstr ""
|
6720 |
+
"Включите эту опцию, чтобы выбрать случайного сотрудника, если оба сотрудника "
|
6721 |
+
"соответствуют критериям в \"Предпочтение при автоматическом выборе "
|
6722 |
+
"исполнителя\". В противном случае порядок выбора неизвестен."
|
6723 |
+
|
6724 |
+
msgid "Limit appointments per customer"
|
6725 |
+
msgstr "Ограничить записи на одного клиента"
|
6726 |
+
|
6727 |
+
msgid "upcoming"
|
6728 |
+
msgstr "предстоящих"
|
6729 |
+
|
6730 |
+
msgid "per 24 hours"
|
6731 |
+
msgstr "в течение 24 часов"
|
6732 |
+
|
6733 |
+
msgid "per day"
|
6734 |
+
msgstr "в течение дня"
|
6735 |
+
|
6736 |
+
msgid "per 7 days"
|
6737 |
+
msgstr "в течение 7 дней"
|
6738 |
+
|
6739 |
+
msgid "per week"
|
6740 |
+
msgstr "в неделю"
|
6741 |
+
|
6742 |
+
msgid "per 30 days"
|
6743 |
+
msgstr "в течение 30 дней"
|
6744 |
+
|
6745 |
+
msgid "per month"
|
6746 |
+
msgstr "в месяц"
|
6747 |
+
|
6748 |
+
msgid "per 365 days"
|
6749 |
+
msgstr "в течение 365 дней"
|
6750 |
+
|
6751 |
+
msgid "per year"
|
6752 |
+
msgstr "в год"
|
6753 |
+
|
6754 |
+
msgid ""
|
6755 |
+
"This setting allows you to limit the number of appointments that can be "
|
6756 |
+
"booked by a customer in any given period. Restriction may end after a fixed "
|
6757 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
6758 |
+
"month, etc."
|
6759 |
+
msgstr ""
|
6760 |
+
"Эта настройка позволяет вам ограничить количество записей, которые могут "
|
6761 |
+
"быть забронированы клиентом в течение любого заданного периода. Ограничение "
|
6762 |
+
"может заканчиваться через фиксированное количество дней или с началом "
|
6763 |
+
"следующего календарного периода: новый день, неделя, месяц и т.д."
|
6764 |
+
|
6765 |
+
msgid "Limit"
|
6766 |
+
msgstr "Ограничить"
|
6767 |
+
|
6768 |
+
msgid ""
|
6769 |
+
"To make service invisible to your customers set the visibility to "
|
6770 |
+
"\"Private\"."
|
6771 |
+
msgstr ""
|
6772 |
+
"Чтобы сделать сервис невидимым для клиентов, установите видимость в значение "
|
6773 |
+
"\"Закрытый\"."
|
6774 |
+
|
6775 |
+
msgid "Specified order"
|
6776 |
+
msgstr "Указанный порядок"
|
6777 |
+
|
6778 |
+
msgid "Least occupied that day"
|
6779 |
+
msgstr "Менее загруженный в тот день"
|
6780 |
+
|
6781 |
+
msgid "Most occupied that day"
|
6782 |
+
msgstr "Более загруженный в тот день"
|
6783 |
+
|
6784 |
+
msgid "Least occupied for period"
|
6785 |
+
msgstr "Менее загруженный в течение периода"
|
6786 |
+
|
6787 |
+
msgid "Most occupied for period"
|
6788 |
+
msgstr "Более загруженный в течение периода"
|
6789 |
+
|
6790 |
+
msgid "Least expensive"
|
6791 |
+
msgstr "Менее дорогой"
|
6792 |
+
|
6793 |
+
msgid "Most expensive"
|
6794 |
+
msgstr "Более дорогой"
|
6795 |
+
|
6796 |
msgid "Welcome to Bookly Pro and thank you for purchasing our product!"
|
6797 |
msgstr ""
|
6798 |
"Добро пожаловать в Bookly Pro! Мы благодарим вас за покупку нашего продукта!"
|
7127 |
msgid "Tasks"
|
7128 |
msgstr "Задачи"
|
7129 |
|
7130 |
+
msgid "Skip time selection"
|
7131 |
+
msgstr "Пропустить назначение времени"
|
7132 |
+
|
7133 |
msgid "Time step settings"
|
7134 |
msgstr "Настройки шага Время"
|
7135 |
|
7145 |
"создать задачу без времени выполнения или отобразить шаг Время, но позволить "
|
7146 |
"клиенту пропустить его."
|
7147 |
|
|
|
|
|
|
|
7148 |
msgid "Incorrect payment data"
|
7149 |
msgstr "Неверные данные платежа"
|
7150 |
|
7348 |
msgid "No customer groups yet."
|
7349 |
msgstr "Групп клиентов пока нет."
|
7350 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7351 |
msgid "Customer Group"
|
7352 |
msgstr "Группа Клиентов"
|
7353 |
|
7371 |
msgid "Group name is required"
|
7372 |
msgstr "Необходимо указать название группы"
|
7373 |
|
7374 |
+
msgid "Groups"
|
7375 |
+
msgstr "Группы"
|
7376 |
+
|
7377 |
+
msgid "All groups"
|
7378 |
+
msgstr "Все группы"
|
7379 |
+
|
7380 |
+
msgid "No group selected"
|
7381 |
+
msgstr "Группа не выбрана"
|
7382 |
+
|
7383 |
+
msgid "Customer group based"
|
7384 |
+
msgstr "На основании группы клиентов"
|
7385 |
+
|
7386 |
msgid "Notification to customer about placing on waiting list"
|
7387 |
msgstr "Уведомление для клиента о добавлении в список ожидания"
|
7388 |
|
7618 |
msgid "extras total price"
|
7619 |
msgstr "итоговая цена дополнений"
|
7620 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7621 |
msgid "Show title"
|
7622 |
msgstr "Показывать название"
|
7623 |
|
7639 |
msgid "Show extras"
|
7640 |
msgstr "Показывать дополнения"
|
7641 |
|
7642 |
+
msgid "Max quantity"
|
7643 |
+
msgstr "Максимальное количество"
|
7644 |
+
|
7645 |
+
msgid "New Item"
|
7646 |
+
msgstr "Новый элемент"
|
7647 |
+
|
7648 |
msgid "Extras tax"
|
7649 |
msgstr "Налог на дополнения"
|
7650 |
|
7715 |
"Ваш PayPal ID или адрес эл. почты, связанный с вашим PayPal аккаунтом. "
|
7716 |
"Адреса эл. почты должны быть подтверждены."
|
7717 |
|
7718 |
+
msgid "Disable special hours update"
|
7719 |
+
msgstr "Выключить обновление особых часов работы"
|
7720 |
+
|
7721 |
msgid "Special prices for appointments which begin between:"
|
7722 |
msgstr "Особые цены для записей, время начала которых находится между:"
|
7723 |
|
7724 |
msgid "add special period"
|
7725 |
msgstr "добавить особый период"
|
7726 |
|
|
|
|
|
|
|
7727 |
msgid "Please select a location"
|
7728 |
msgstr "Пожалуйста, выберите место"
|
7729 |
|
7733 |
msgid "Locations"
|
7734 |
msgstr "Места"
|
7735 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7736 |
msgid "Custom settings for location"
|
7737 |
msgstr "Пользовательские настройки для места"
|
7738 |
|
7773 |
msgid "Default value for location select"
|
7774 |
msgstr "Значение по умолчанию для места"
|
7775 |
|
7776 |
+
msgid "Default settings"
|
7777 |
+
msgstr "Настройки по умолчанию"
|
7778 |
+
|
7779 |
+
msgid ""
|
7780 |
+
"Set Default values that will be used in all locations where Use default "
|
7781 |
+
"settings is selected. To use custom settings in a location, select Use "
|
7782 |
+
"custom settings and enter custom values."
|
7783 |
+
msgstr ""
|
7784 |
+
"Установите значения по умолчанию, которые будут использованы во всех местах, "
|
7785 |
+
"где выбрано \"Использовать настройки по умолчанию\". Для использования в "
|
7786 |
+
"месте пользовательских настроек, выберите \"Использовать пользовательские "
|
7787 |
+
"настройки\" и введите пользовательские значения."
|
7788 |
+
|
7789 |
+
msgid "Use default settings"
|
7790 |
+
msgstr "Использовать настройки по умолчанию"
|
7791 |
+
|
7792 |
+
msgid "Use custom settings"
|
7793 |
+
msgstr "Использовать пользовательские настройки"
|
7794 |
+
|
7795 |
+
msgid "Select locations where the services are provided."
|
7796 |
+
msgstr "Выберите места, в которых предоставляются услуги."
|
7797 |
+
|
7798 |
msgid "Account ID"
|
7799 |
msgstr "Account ID"
|
7800 |
|
7849 |
msgid "URL of the page for staff rating"
|
7850 |
msgstr "URL страницы для оценки сотрудника"
|
7851 |
|
|
|
|
|
|
|
7852 |
msgid "Add staff rating form"
|
7853 |
msgstr "Добавить форму для оценки сотрудника"
|
7854 |
|
languages/bookly-zh_TW.mo
CHANGED
Binary file
|
languages/bookly-zh_TW.po
CHANGED
@@ -8,9 +8,9 @@ msgstr ""
|
|
8 |
"Language: zh_TW\n"
|
9 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2020-
|
12 |
-
"PO-Revision-Date: 2020-
|
13 |
-
"Last-Translator:
|
14 |
"Language-Team: Chinese (Taiwan)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
16 |
|
@@ -178,40 +178,6 @@ msgstr "電郵地址"
|
|
178 |
msgid "Phone"
|
179 |
msgstr "電話號碼"
|
180 |
|
181 |
-
msgid "Outlook Calendar integration"
|
182 |
-
msgstr "Outlook日曆載入"
|
183 |
-
|
184 |
-
msgid "Connect"
|
185 |
-
msgstr "連接"
|
186 |
-
|
187 |
-
#, php-format
|
188 |
-
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
189 |
-
msgstr "請首先在<a href=\"%s\">設置</a>中設定Outlook日曆。"
|
190 |
-
|
191 |
-
msgid "Connected"
|
192 |
-
msgstr "已連接"
|
193 |
-
|
194 |
-
msgid "disconnect"
|
195 |
-
msgstr "中斷"
|
196 |
-
|
197 |
-
msgid "Synchronize staff member appointments with Outlook Calendar."
|
198 |
-
msgstr "將員工預約與Outlook日曆同步。"
|
199 |
-
|
200 |
-
msgid "Calendar"
|
201 |
-
msgstr "日曆"
|
202 |
-
|
203 |
-
msgid "-- Select calendar --"
|
204 |
-
msgstr "-- 選擇日曆 -- "
|
205 |
-
|
206 |
-
msgid ""
|
207 |
-
"When you connect a calendar all future and past events will be synchronized "
|
208 |
-
"according to the selected synchronization mode. This may take a few minutes. "
|
209 |
-
"Please wait."
|
210 |
-
msgstr "當您連接日曆時,所有將來和過去的事件將根據所選的同步模式進行同步。這可能需要幾分鐘的時間。請耐心等待。"
|
211 |
-
|
212 |
-
msgid "Can't change calendar for archived staff"
|
213 |
-
msgstr "無法更改已存檔員工的日曆"
|
214 |
-
|
215 |
msgid "Instructions"
|
216 |
msgstr "使用說明"
|
217 |
|
@@ -481,6 +447,40 @@ msgstr "與Outlook日曆同步"
|
|
481 |
msgid "Calendars synchronized successfully."
|
482 |
msgstr "日曆已成功同步。"
|
483 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
484 |
msgid "Custom Fields"
|
485 |
msgstr "自定欄位"
|
486 |
|
@@ -1180,21 +1180,6 @@ msgid ""
|
|
1180 |
"appointment cannot be done (changed status, etc.)."
|
1181 |
msgstr "設置無法批准重複預約(狀態更改等原因)時顯示給員工的頁面的URL。"
|
1182 |
|
1183 |
-
msgid "Enabled"
|
1184 |
-
msgstr "啟用"
|
1185 |
-
|
1186 |
-
msgid "Allow this service to have recurring appointments."
|
1187 |
-
msgstr "允許此服務具有定期預約。"
|
1188 |
-
|
1189 |
-
msgid "Frequencies"
|
1190 |
-
msgstr "頻率"
|
1191 |
-
|
1192 |
-
msgid "All"
|
1193 |
-
msgstr "所有"
|
1194 |
-
|
1195 |
-
msgid "Nothing selected"
|
1196 |
-
msgstr "沒有選擇任何東西"
|
1197 |
-
|
1198 |
msgid "Edit"
|
1199 |
msgstr "編輯"
|
1200 |
|
@@ -1225,6 +1210,26 @@ msgstr "定期預約"
|
|
1225 |
msgid "Every"
|
1226 |
msgstr "每個"
|
1227 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1228 |
msgid "Back"
|
1229 |
msgstr "返回"
|
1230 |
|
@@ -1261,6 +1266,21 @@ msgstr "經常性約會"
|
|
1261 |
msgid "Close"
|
1262 |
msgstr "關閉"
|
1263 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1264 |
msgid "Save"
|
1265 |
msgstr "保存"
|
1266 |
|
@@ -1285,6 +1305,12 @@ msgstr "Merchant Salt"
|
|
1285 |
msgid "Duration"
|
1286 |
msgstr "時長"
|
1287 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1288 |
msgid ""
|
1289 |
"Set service duration. If you select Custom, a client, while booking, will "
|
1290 |
"have to choose the duration of the service from several time units. In the "
|
@@ -1308,11 +1334,17 @@ msgstr "單價"
|
|
1308 |
msgid "Custom"
|
1309 |
msgstr "自定義"
|
1310 |
|
1311 |
-
msgid "
|
1312 |
-
msgstr "
|
1313 |
|
1314 |
-
msgid "
|
1315 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
1316 |
|
1317 |
msgid "Delete break"
|
1318 |
msgstr "刪除休息"
|
@@ -1332,27 +1364,24 @@ msgstr "添加休息時間"
|
|
1332 |
msgid "Special Days"
|
1333 |
msgstr "特別日子"
|
1334 |
|
1335 |
-
msgid "Are you sure?"
|
1336 |
-
msgstr "確定?"
|
1337 |
-
|
1338 |
-
msgid "Duplicate dates are not permitted."
|
1339 |
-
msgstr "不允許重複日期。"
|
1340 |
-
|
1341 |
-
msgid "Date in the past."
|
1342 |
-
msgstr "過去日期"
|
1343 |
-
|
1344 |
msgid "The requested interval is not available"
|
1345 |
msgstr "要求的時段不可選"
|
1346 |
|
1347 |
msgid "OFF"
|
1348 |
msgstr "關閉"
|
1349 |
|
1350 |
-
msgid "Add Staff Special Days"
|
1351 |
-
msgstr "添加員工特別日子"
|
1352 |
-
|
1353 |
msgid "Uncategorized"
|
1354 |
msgstr "未分類"
|
1355 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1356 |
msgid "Spare time"
|
1357 |
msgstr "空閒時間"
|
1358 |
|
@@ -1371,15 +1400,6 @@ msgid ""
|
|
1371 |
"searching available slots for all sub-services."
|
1372 |
msgstr "如果啟用此選項,並且客戶在預訂表單的第一步中選擇了一名工作人員,則在搜索所有子服務的可用時段時只會顯示這名工作人員的時間。"
|
1373 |
|
1374 |
-
msgid "Compound"
|
1375 |
-
msgstr "複合"
|
1376 |
-
|
1377 |
-
msgid "Part of compound service"
|
1378 |
-
msgstr "複合服務的一部分"
|
1379 |
-
|
1380 |
-
msgid "Compound service"
|
1381 |
-
msgstr "複合服務"
|
1382 |
-
|
1383 |
msgid "Short Codes"
|
1384 |
msgstr "簡碼"
|
1385 |
|
@@ -1481,9 +1501,6 @@ msgstr "展示預約"
|
|
1481 |
msgid "Upcoming appointments"
|
1482 |
msgstr "將要發生的預約"
|
1483 |
|
1484 |
-
msgid "All appointments"
|
1485 |
-
msgstr "所有預約"
|
1486 |
-
|
1487 |
msgid "Delimiter"
|
1488 |
msgstr "分隔符"
|
1489 |
|
@@ -1621,11 +1638,6 @@ msgstr "找不到稅收。"
|
|
1621 |
msgid "Processing..."
|
1622 |
msgstr "處理..."
|
1623 |
|
1624 |
-
msgid "Taxation"
|
1625 |
-
msgstr ""
|
1626 |
-
"\n"
|
1627 |
-
"稅收"
|
1628 |
-
|
1629 |
msgid "service tax amount"
|
1630 |
msgstr "服務稅量"
|
1631 |
|
@@ -1648,6 +1660,11 @@ msgstr ""
|
|
1648 |
"根據所使用的付款方,此設置會影響預約的費用。指定百分比或固定金額。使用減號(\"-"
|
1649 |
"\")進行減價/折扣。請注意,系統將不為額外費用計稅。如果您需要向付款系統報告確切的稅額,請不要使用額外費用。"
|
1650 |
|
|
|
|
|
|
|
|
|
|
|
1651 |
msgid "Customer Information"
|
1652 |
msgstr "客戶資料"
|
1653 |
|
@@ -1706,9 +1723,6 @@ msgstr "人數"
|
|
1706 |
msgid "Number of persons"
|
1707 |
msgstr "人數"
|
1708 |
|
1709 |
-
msgid "Capacity (min and max)"
|
1710 |
-
msgstr "容量(最小和最大)"
|
1711 |
-
|
1712 |
msgid "Group bookings information format"
|
1713 |
msgstr "組別預約信息格式"
|
1714 |
|
@@ -1734,6 +1748,15 @@ msgstr "已經在名單上的人數"
|
|
1734 |
msgid "capacity of service"
|
1735 |
msgstr "服務能力"
|
1736 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1737 |
msgid ""
|
1738 |
"The minimum and maximum number of customers allowed to book the service for "
|
1739 |
"the certain time period."
|
@@ -1747,12 +1770,6 @@ msgid ""
|
|
1747 |
"the service cap
|
8 |
"Language: zh_TW\n"
|
9 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2020-11-06 17:11+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-11-07 02:32+0000\n"
|
13 |
+
"Last-Translator: Erika <erikayiu12@gmail.com>\n"
|
14 |
"Language-Team: Chinese (Taiwan)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.5"
|
16 |
|
178 |
msgid "Phone"
|
179 |
msgstr "電話號碼"
|
180 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
msgid "Instructions"
|
182 |
msgstr "使用說明"
|
183 |
|
447 |
msgid "Calendars synchronized successfully."
|
448 |
msgstr "日曆已成功同步。"
|
449 |
|
450 |
+
msgid "Outlook Calendar integration"
|
451 |
+
msgstr "Outlook日曆載入"
|
452 |
+
|
453 |
+
msgid "Connect"
|
454 |
+
msgstr "連接"
|
455 |
+
|
456 |
+
#, php-format
|
457 |
+
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
458 |
+
msgstr "請首先在<a href=\"%s\">設置</a>中設定Outlook日曆。"
|
459 |
+
|
460 |
+
msgid "Connected"
|
461 |
+
msgstr "已連接"
|
462 |
+
|
463 |
+
msgid "disconnect"
|
464 |
+
msgstr "中斷"
|
465 |
+
|
466 |
+
msgid "Synchronize staff member appointments with Outlook Calendar."
|
467 |
+
msgstr "將員工預約與Outlook日曆同步。"
|
468 |
+
|
469 |
+
msgid "Calendar"
|
470 |
+
msgstr "日曆"
|
471 |
+
|
472 |
+
msgid "-- Select calendar --"
|
473 |
+
msgstr "-- 選擇日曆 -- "
|
474 |
+
|
475 |
+
msgid ""
|
476 |
+
"When you connect a calendar all future and past events will be synchronized "
|
477 |
+
"according to the selected synchronization mode. This may take a few minutes. "
|
478 |
+
"Please wait."
|
479 |
+
msgstr "當您連接日曆時,所有將來和過去的事件將根據所選的同步模式進行同步。這可能需要幾分鐘的時間。請耐心等待。"
|
480 |
+
|
481 |
+
msgid "Can't change calendar for archived staff"
|
482 |
+
msgstr "無法更改已存檔員工的日曆"
|
483 |
+
|
484 |
msgid "Custom Fields"
|
485 |
msgstr "自定欄位"
|
486 |
|
1180 |
"appointment cannot be done (changed status, etc.)."
|
1181 |
msgstr "設置無法批准重複預約(狀態更改等原因)時顯示給員工的頁面的URL。"
|
1182 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1183 |
msgid "Edit"
|
1184 |
msgstr "編輯"
|
1185 |
|
1210 |
msgid "Every"
|
1211 |
msgstr "每個"
|
1212 |
|
1213 |
+
msgid ""
|
1214 |
+
"You are going to reschedule the recurring appointment. Please select "
|
1215 |
+
"recurring appointments which should be rescheduled as well."
|
1216 |
+
msgstr "您將重新安排定期預約。請選擇應重新安排的定期預約。"
|
1217 |
+
|
1218 |
+
msgid "Only this appointment"
|
1219 |
+
msgstr "只是這個預約"
|
1220 |
+
|
1221 |
+
msgid "This and next appointments"
|
1222 |
+
msgstr "這個和下個預約"
|
1223 |
+
|
1224 |
+
msgid "All appointments"
|
1225 |
+
msgstr "所有預約"
|
1226 |
+
|
1227 |
+
msgid "Number of days to shift appointments"
|
1228 |
+
msgstr "輪班預約的天數"
|
1229 |
+
|
1230 |
+
msgid "Appointments will be scheduled at"
|
1231 |
+
msgstr "預約將會在"
|
1232 |
+
|
1233 |
msgid "Back"
|
1234 |
msgstr "返回"
|
1235 |
|
1266 |
msgid "Close"
|
1267 |
msgstr "關閉"
|
1268 |
|
1269 |
+
msgid "Enabled"
|
1270 |
+
msgstr "啟用"
|
1271 |
+
|
1272 |
+
msgid "Allow this service to have recurring appointments."
|
1273 |
+
msgstr "允許此服務具有定期預約。"
|
1274 |
+
|
1275 |
+
msgid "Frequencies"
|
1276 |
+
msgstr "頻率"
|
1277 |
+
|
1278 |
+
msgid "All"
|
1279 |
+
msgstr "所有"
|
1280 |
+
|
1281 |
+
msgid "Nothing selected"
|
1282 |
+
msgstr "沒有選擇任何東西"
|
1283 |
+
|
1284 |
msgid "Save"
|
1285 |
msgstr "保存"
|
1286 |
|
1305 |
msgid "Duration"
|
1306 |
msgstr "時長"
|
1307 |
|
1308 |
+
msgid "Show service price next to duration"
|
1309 |
+
msgstr "在時長旁邊顯示服務價格"
|
1310 |
+
|
1311 |
+
msgid "Hide this field"
|
1312 |
+
msgstr "隱藏字段"
|
1313 |
+
|
1314 |
msgid ""
|
1315 |
"Set service duration. If you select Custom, a client, while booking, will "
|
1316 |
"have to choose the duration of the service from several time units. In the "
|
1334 |
msgid "Custom"
|
1335 |
msgstr "自定義"
|
1336 |
|
1337 |
+
msgid "Are you sure?"
|
1338 |
+
msgstr "確定?"
|
1339 |
|
1340 |
+
msgid "Duplicate dates are not permitted."
|
1341 |
+
msgstr "不允許重複日期。"
|
1342 |
+
|
1343 |
+
msgid "Date in the past."
|
1344 |
+
msgstr "過去日期"
|
1345 |
+
|
1346 |
+
msgid "Add Staff Special Days"
|
1347 |
+
msgstr "添加員工特別日子"
|
1348 |
|
1349 |
msgid "Delete break"
|
1350 |
msgstr "刪除休息"
|
1364 |
msgid "Special Days"
|
1365 |
msgstr "特別日子"
|
1366 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1367 |
msgid "The requested interval is not available"
|
1368 |
msgstr "要求的時段不可選"
|
1369 |
|
1370 |
msgid "OFF"
|
1371 |
msgstr "關閉"
|
1372 |
|
|
|
|
|
|
|
1373 |
msgid "Uncategorized"
|
1374 |
msgstr "未分類"
|
1375 |
|
1376 |
+
msgid "Compound"
|
1377 |
+
msgstr "複合"
|
1378 |
+
|
1379 |
+
msgid "Part of compound service"
|
1380 |
+
msgstr "複合服務的一部分"
|
1381 |
+
|
1382 |
+
msgid "Compound service"
|
1383 |
+
msgstr "複合服務"
|
1384 |
+
|
1385 |
msgid "Spare time"
|
1386 |
msgstr "空閒時間"
|
1387 |
|
1400 |
"searching available slots for all sub-services."
|
1401 |
msgstr "如果啟用此選項,並且客戶在預訂表單的第一步中選擇了一名工作人員,則在搜索所有子服務的可用時段時只會顯示這名工作人員的時間。"
|
1402 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1403 |
msgid "Short Codes"
|
1404 |
msgstr "簡碼"
|
1405 |
|
1501 |
msgid "Upcoming appointments"
|
1502 |
msgstr "將要發生的預約"
|
1503 |
|
|
|
|
|
|
|
1504 |
msgid "Delimiter"
|
1505 |
msgstr "分隔符"
|
1506 |
|
1638 |
msgid "Processing..."
|
1639 |
msgstr "處理..."
|
1640 |
|
|
|
|
|
|
|
|
|
|
|
1641 |
msgid "service tax amount"
|
1642 |
msgstr "服務稅量"
|
1643 |
|
1660 |
"根據所使用的付款方,此設置會影響預約的費用。指定百分比或固定金額。使用減號(\"-"
|
1661 |
"\")進行減價/折扣。請注意,系統將不為額外費用計稅。如果您需要向付款系統報告確切的稅額,請不要使用額外費用。"
|
1662 |
|
1663 |
+
msgid "Taxation"
|
1664 |
+
msgstr ""
|
1665 |
+
"\n"
|
1666 |
+
"稅收"
|
1667 |
+
|
1668 |
msgid "Customer Information"
|
1669 |
msgstr "客戶資料"
|
1670 |
|
1723 |
msgid "Number of persons"
|
1724 |
msgstr "人數"
|
1725 |
|
|
|
|
|
|
|
1726 |
msgid "Group bookings information format"
|
1727 |
msgstr "組別預約信息格式"
|
1728 |
|
1748 |
msgid "capacity of service"
|
1749 |
msgstr "服務能力"
|
1750 |
|
1751 |
+
msgid "Show information about group bookings"
|
1752 |
+
msgstr "顯示有關團體預約的信息"
|
1753 |
+
|
1754 |
+
msgid "Disable capacity update"
|
1755 |
+
msgstr "禁用更新容量"
|
1756 |
+
|
1757 |
+
msgid "Capacity (min and max)"
|
1758 |
+
msgstr "容量(最小和最大)"
|
1759 |
+
|
1760 |
msgid ""
|
1761 |
"The minimum and maximum number of customers allowed to book the service for "
|
1762 |
"the certain time period."
|
1770 |
"the service cap
|