{"version":3,"sources":["../../../../../../src/material/table/table.ts","../../../../../../src/material/table/cell.ts","../../../../../../src/material/table/row.ts","../../../../../../src/material/table/text-column.ts","../../../../../../src/material/table/table-module.ts","../../../../../../src/material/table/table-data-source.ts","../../../../../../src/material/table/public-api.ts","../../../../../../src/material/table/index.ts","./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../../../../../../src/cdk/portal/portal-errors.ts","../../../../../../src/cdk/portal/portal.ts","../../../../../../src/cdk/portal/dom-portal-outlet.ts","../../../../../../src/cdk/portal/portal-directives.ts","../../../../../../src/cdk/portal/portal-injector.ts","../../../../../../src/cdk/portal/public-api.ts","../../../../../../src/cdk/portal/index.ts","../../../src/internal/operators/repeat.ts","../../../src/internal/operators/distinctUntilChanged.ts","../../../src/internal/operators/distinct.ts","../../../src/internal/observable/fromEventPattern.ts","../../../src/internal/operators/publishReplay.ts","../../../../../../src/cdk/collections/data-source.ts","../../../../../../src/cdk/collections/array-data-source.ts","../../../../../../src/cdk/collections/collection-viewer.ts","../../../../../../src/cdk/collections/dispose-view-repeater-strategy.ts","../../../../../../src/cdk/collections/recycle-view-repeater-strategy.ts","../../../../../../src/cdk/collections/selection-model.ts","../../../../../../src/cdk/collections/unique-selection-dispatcher.ts","../../../../../../src/cdk/collections/tree-adapter.ts","../../../../../../src/cdk/collections/view-repeater.ts","../../../../../../src/cdk/collections/public-api.ts","../../../../../../src/cdk/collections/index.ts","../../../src/internal/operators/concatAll.ts","../../../../../../src/material/dialog/dialog-config.ts","../../../../../../src/material/dialog/dialog-animations.ts","../../../../../../src/material/dialog/dialog-container.ts","../../../../../../src/material/dialog/dialog-ref.ts","../../../../../../src/material/dialog/dialog.ts","../../../../../../src/material/dialog/dialog-content-directives.ts","../../../../../../src/material/dialog/dialog-module.ts","../../../../../../src/material/dialog/public-api.ts","../../../../../../src/material/dialog/index.ts","../../../src/internal/operators/endWith.ts","../../../src/internal/operators/reduce.ts","../../../src/internal/operators/takeUntil.ts","./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../src/internal/operators/sampleTime.ts","../../../../../../src/material/slide-toggle/slide-toggle-config.ts","../../../../../../src/material/slide-toggle/slide-toggle.ts","../../../../../../src/material/slide-toggle/slide-toggle-required-validator.ts","../../../../../../src/material/slide-toggle/slide-toggle-module.ts","../../../../../../src/material/slide-toggle/public-api.ts","../../../../../../src/material/slide-toggle/index.ts","../../../src/util/util.ts","../../../src/environment.ts","../../../src/ngb-config.ts","../../../src/accordion/accordion-config.ts","../../../src/util/transition/util.ts","../../../src/util/transition/ngbTransition.ts","../../../src/util/transition/ngbCollapseTransition.ts","../../../src/accordion/accordion.ts","../../../src/accordion/accordion.module.ts","../../../src/alert/alert-config.ts","../../../src/alert/alert-transition.ts","../../../src/alert/alert.ts","../../../src/alert/alert.module.ts","../../../src/buttons/label.ts","../../../src/buttons/checkbox.ts","../../../src/buttons/radio.ts","../../../src/buttons/buttons.module.ts","../../../src/carousel/carousel-config.ts","../../../src/carousel/carousel-transition.ts","../../../src/carousel/carousel.ts","../../../src/carousel/carousel.module.ts","../../../src/collapse/collapse-config.ts","../../../src/collapse/collapse.ts","../../../src/collapse/collapse.module.ts","../../../src/datepicker/ngb-date.ts","../../../src/datepicker/ngb-calendar.ts","../../../src/datepicker/datepicker-tools.ts","../../../src/datepicker/datepicker-i18n.ts","../../../src/datepicker/datepicker-service.ts","../../../src/datepicker/datepicker-view-model.ts","../../../src/datepicker/datepicker-config.ts","../../../src/datepicker/adapters/ngb-date-adapter.ts","../../../src/datepicker/datepicker.ts","../../../src/util/key.ts","../../../src/datepicker/datepicker-keyboard-service.ts","../../../src/datepicker/datepicker-month.ts","../../../src/datepicker/datepicker-navigation.ts","../../../src/util/autoclose.ts","../../../src/util/focus-trap.ts","../../../src/util/positioning.ts","../../../src/datepicker/ngb-date-parser-formatter.ts","../../../src/datepicker/datepicker-input-config.ts","../../../src/datepicker/datepicker-input.ts","../../../src/datepicker/datepicker-day-view.ts","../../../src/datepicker/datepicker-navigation-select.ts","../../../src/datepicker/hijri/ngb-calendar-hijri.ts","../../../src/datepicker/hijri/ngb-calendar-islamic-civil.ts","../../../src/datepicker/hijri/ngb-calendar-islamic-umalqura.ts","../../../src/datepicker/jalali/jalali.ts","../../../src/datepicker/jalali/ngb-calendar-persian.ts","../../../src/datepicker/hebrew/hebrew.ts","../../../src/datepicker/hebrew/ngb-calendar-hebrew.ts","../../../src/datepicker/hebrew/datepicker-i18n-hebrew.ts","../../../src/datepicker/adapters/ngb-date-native-adapter.ts","../../../src/datepicker/adapters/ngb-date-native-utc-adapter.ts","../../../src/datepicker/datepicker.module.ts","../../../src/dropdown/dropdown-config.ts","../../../src/dropdown/dropdown.ts","../../../src/dropdown/dropdown.module.ts","../../../src/modal/modal-config.ts","../../../src/util/popup.ts","../../../src/util/scrollbar.ts","../../../src/modal/modal-backdrop.ts","../../../src/modal/modal-ref.ts","../../../src/modal/modal-dismiss-reasons.ts","../../../src/modal/modal-window.ts","../../../src/modal/modal-stack.ts","../../../src/modal/modal.ts","../../../src/modal/modal.module.ts","../../../src/nav/nav-config.ts","../../../src/nav/nav.ts","../../../src/nav/nav-transition.ts","../../../src/nav/nav-outlet.ts","../../../src/nav/nav.module.ts","../../../src/pagination/pagination-config.ts","../../../src/pagination/pagination.ts","../../../src/pagination/pagination.module.ts","../../../src/util/triggers.ts","../../../src/popover/popover-config.ts","../../../src/popover/popover.ts","../../../src/popover/popover.module.ts","../../../src/progressbar/progressbar-config.ts","../../../src/progressbar/progressbar.ts","../../../src/progressbar/progressbar.module.ts","../../../src/rating/rating-config.ts","../../../src/rating/rating.ts","../../../src/rating/rating.module.ts","../../../src/timepicker/ngb-time.ts","../../../src/timepicker/timepicker-config.ts","../../../src/timepicker/ngb-time-adapter.ts","../../../src/timepicker/timepicker-i18n.ts","../../../src/timepicker/timepicker.ts","../../../src/timepicker/timepicker.module.ts","../../../src/toast/toast-config.ts","../../../src/toast/toast-transition.ts","../../../src/toast/toast.ts","../../../src/toast/toast.module.ts","../../../src/tooltip/tooltip-config.ts","../../../src/tooltip/tooltip.ts","../../../src/tooltip/tooltip.module.ts","../../../src/typeahead/highlight.ts","../../../src/typeahead/typeahead-window.ts","../../../src/util/accessibility/live.ts","../../../src/typeahead/typeahead-config.ts","../../../src/typeahead/typeahead.ts","../../../src/typeahead/typeahead.module.ts","../../../src/index.ts","../../../src/ng-bootstrap.ts","./node_modules/@angular/compiler/fesm2015/compiler.js","../../../src/internal/observable/zip.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../src/internal/symbol/rxSubscriber.ts","../../../src/internal/observable/partition.ts","../../src/internal/BehaviorSubject.ts","./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../src/internal/config.ts","../../../src/internal/operators/skipWhile.ts","../../../src/internal/operators/delay.ts","../../../src/internal/scheduler/AsyncAction.ts","../../../../../../packages/forms/src/directives/control_value_accessor.ts","../../../../../../packages/forms/src/directives/checkbox_value_accessor.ts","../../../../../../packages/forms/src/directives/default_value_accessor.ts","../../../../../../packages/forms/src/validators.ts","../../../../../../packages/forms/src/directives/abstract_control_directive.ts","../../../../../../packages/forms/src/directives/control_container.ts","../../../../../../packages/forms/src/directives/ng_control.ts","../../../../../../packages/forms/src/directives/ng_control_status.ts","../../../../../../packages/forms/src/model.ts","../../../../../../packages/forms/src/directives/number_value_accessor.ts","../../../../../../packages/forms/src/directives/radio_control_value_accessor.ts","../../../../../../packages/forms/src/directives/range_value_accessor.ts","../../../../../../packages/forms/src/directives/error_examples.ts","../../../../../../packages/forms/src/directives/reactive_errors.ts","../../../../../../packages/forms/src/directives/select_control_value_accessor.ts","../../../../../../packages/forms/src/directives/select_multiple_control_value_accessor.ts","../../../../../../packages/forms/src/directives/shared.ts","../../../../../../packages/forms/src/directives/ng_form.ts","../../../../../../packages/forms/src/directives/abstract_form_group_directive.ts","../../../../../../packages/forms/src/directives/template_driven_errors.ts","../../../../../../packages/forms/src/directives/ng_model_group.ts","../../../../../../packages/forms/src/directives/ng_model.ts","../../../../../../packages/forms/src/directives/ng_no_validate_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_name.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_name.ts","../../../../../../packages/forms/src/directives/validators.ts","../../../../../../packages/forms/src/directives.ts","../../../../../../packages/forms/src/form_builder.ts","../../../../../../packages/forms/src/version.ts","../../../../../../packages/forms/src/form_providers.ts","../../../../../../packages/forms/src/forms.ts","../../../../../../packages/forms/public_api.ts","../../../../../../packages/forms/index.ts","../../../../../../packages/forms/forms.ts","../../../src/internal/operators/auditTime.ts","../../../src/internal/operators/ignoreElements.ts","../../../src/internal/util/ArgumentOutOfRangeError.ts","../../../src/internal/observable/bindNodeCallback.ts","../../../src/internal/operators/race.ts","../../../src/internal/operators/timeInterval.ts","../../../src/internal/scheduled/schedulePromise.ts","../../../src/internal/operators/mergeMap.ts","../../../src/internal/operators/mergeScan.ts","../../src/internal/InnerSubscriber.ts","../../../src/internal/scheduled/scheduleObservable.ts","../../../src/internal/observable/never.ts","../../../src/internal/operators/debounce.ts","../../../src/internal/util/isObservable.ts","../../../src/internal/scheduled/scheduled.ts","../../../src/internal/scheduler/asap.ts","../../src/internal/Subscriber.ts","ng2-file-upload/file-upload/file-like-object.class.ts","ng2-file-upload/file-upload/file-item.class.ts","ng2-file-upload/file-upload/file-type.class.ts","ng2-file-upload/file-upload/file-uploader.class.ts","ng2-file-upload/file-upload/file-select.directive.ts","ng2-file-upload/file-upload/file-drop.directive.ts","ng2-file-upload/file-upload/file-upload.module.ts","../../../src/internal/scheduler/Action.ts","../../../src/internal/operators/combineAll.ts","../../../../../../src/cdk/coercion/boolean-property.ts","../../../../../../src/cdk/coercion/number-property.ts","../../../../../../src/cdk/coercion/array.ts","../../../../../../src/cdk/coercion/css-pixel-value.ts","../../../../../../src/cdk/coercion/element.ts","../../../../../../src/cdk/coercion/string-array.ts","../../../../../../src/cdk/coercion/public-api.ts","../../../../../../src/cdk/coercion/index.ts","../../../src/internal/util/canReportError.ts","../../../src/internal/operators/bufferCount.ts","../../../src/internal/operators/elementAt.ts","../../../src/internal/util/ObjectUnsubscribedError.ts","../../../src/internal/operators/partition.ts","../../../src/internal/operators/takeLast.ts","./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../src/internal/util/isIterable.ts","../../../src/internal/util/subscribeToObservable.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../src/internal/observable/from.ts","../../../src/internal/operators/mapTo.ts","../../../src/internal/scheduler/async.ts","../../../src/internal/util/isArray.ts","./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","ngx-extended-pdf-viewer/lib/options/pdf-default-options.ts","ngx-extended-pdf-viewer/lib/options/verbosity-level.ts","ngx-extended-pdf-viewer/lib/events/find-result.ts","ngx-extended-pdf-viewer/lib/pdf-dummy-components/pdf-dummy-components.component.ts","ngx-extended-pdf-viewer/lib/pdf-notification-service.ts","ngx-extended-pdf-viewer/lib/secondary-toolbar/pdf-secondary-toolbar/pdf-secondary-toolbar.component.ts","ngx-extended-pdf-viewer/lib/options/pdf-cursor-tools.ts","ngx-extended-pdf-viewer/lib/pinch-on-mobile-support.ts","ngx-extended-pdf-viewer/lib/sidebar/pdf-sidebar/pdf-sidebar.component.ts","ngx-extended-pdf-viewer/lib/options/pdf-viewer.ts","ngx-extended-pdf-viewer/lib/ngx-extended-pdf-viewer.component.ts","ngx-extended-pdf-viewer/lib/ngx-extended-pdf-viewer.service.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-hand-tool/pdf-hand-tool.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-bookmark/pdf-bookmark.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-context-menu/pdf-context-menu.component.ts","ngx-extended-pdf-viewer/lib/document-properties/pdf-document-properties-overlay/pdf-document-properties-overlay.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-download/pdf-download.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-findbar.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-findbar-message-container/pdf-findbar-message-container.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-findbar-options-one-container.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-findbar-options-three-container.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-findbar-options-two-container.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-find-button/pdf-find-button.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-word/pdf-find-entire-word.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-fuzzily/pdf-find-fuzzily.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-highlight-all/pdf-find-highlight-all.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-ignore-accents/pdf-find-ignore-accents.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-find-input-area/pdf-find-input-area.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-findbar-options-one-container/pdf-find-match-case/pdf-find-match-case.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-findbar-service.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-findbar-options-two-container/pdf-find-entire-phrase/pdf-find-entire-phrase.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-find-next/pdf-find-next.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-find-previous/pdf-find-previous.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-findbar-options-three-container/pdf-find-results-count/pdf-find-results-count.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-paging-area/pdf-first-page/pdf-first-page.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-paging-area/pdf-last-page/pdf-last-page.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-paging-area/pdf-next-page/pdf-next-page.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-open-file/pdf-open-file.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-paging-area/pdf-page-number/pdf-page-number.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-paging-area/pdf-paging-area.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-presentation-mode/pdf-presentation-mode.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-paging-area/pdf-previous-page/pdf-previous-page.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-print/pdf-print.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-rotate-page/pdf-rotate-page.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-findbar/pdf-search-input-field/pdf-search-input-field.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-toggle-secondary-toolbar/pdf-toggle-secondary-toolbar.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-toggle-sidebar/pdf-toggle-sidebar.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-toolbar/pdf-toolbar.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-dropdown/pdf-zoom-dropdown.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-in/pdf-zoom-in.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-out/pdf-zoom-out.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-zoom-toolbar/pdf-zoom-toolbar.component.ts","ngx-extended-pdf-viewer/lib/toolbar/pdf-select-tool/pdf-select-tool.component.ts","ngx-extended-pdf-viewer/lib/dynamic-css/dynamic-css.component.ts","ngx-extended-pdf-viewer/lib/sidebar/pdf-sidebar/pdf-sidebar-content/pdf-sidebar-content.component.ts","ngx-extended-pdf-viewer/lib/sidebar/pdf-sidebar/pdf-sidebar-toolbar/pdf-sidebar-toolbar.component.ts","ngx-extended-pdf-viewer/lib/theme/pdf-light-theme/pdf-light-theme.component.ts","ngx-extended-pdf-viewer/lib/theme/pdf-original-theme/pdf-original.component.ts","ngx-extended-pdf-viewer/lib/theme/pdf-dark-theme/pdf-dark-theme.component.ts","ngx-extended-pdf-viewer/lib/ngx-extended-pdf-viewer.module.ts","ngx-extended-pdf-viewer/lib/pdf-document-properties-extractor.ts","ngx-extended-pdf-viewer/lib/options/link-target.ts","../../../src/internal/observable/ConnectableObservable.ts","../../../src/internal/observable/empty.ts","../../../src/internal/util/not.ts","../../../src/internal/operators/bufferToggle.ts","../../../../../../src/material/core/version.ts","../../../../../../src/material/core/animation/animation.ts","../../../../../../src/material/core/common-behaviors/common-module.ts","../../../../../../src/material/core/common-behaviors/disabled.ts","../../../../../../src/material/core/common-behaviors/color.ts","../../../../../../src/material/core/common-behaviors/disable-ripple.ts","../../../../../../src/material/core/common-behaviors/tabindex.ts","../../../../../../src/material/core/common-behaviors/error-state.ts","../../../../../../src/material/core/common-behaviors/initialized.ts","../../../../../../src/material/core/common-behaviors/index.ts","../../../../../../src/material/core/datetime/date-adapter.ts","../../../../../../src/material/core/datetime/date-formats.ts","../../../../../../src/material/core/datetime/native-date-adapter.ts","../../../../../../src/material/core/datetime/native-date-formats.ts","../../../../../../src/material/core/datetime/index.ts","../../../../../../src/material/core/error/error-options.ts","../../../../../../src/material/core/line/line.ts","../../../../../../src/material/core/ripple/ripple-ref.ts","../../../../../../src/material/core/ripple/ripple-renderer.ts","../../../../../../src/material/core/ripple/ripple.ts","../../../../../../src/material/core/ripple/index.ts","../../../../../../src/material/core/selection/pseudo-checkbox/pseudo-checkbox.ts","../../../../../../src/material/core/selection/index.ts","../../../../../../src/material/core/option/optgroup.ts","../../../../../../src/material/core/option/option.ts","../../../../../../src/material/core/option/index.ts","../../../../../../src/material/core/public-api.ts","../../../../../../src/material/core/index.ts","../../../src/internal/operators/expand.ts","../../../src/internal/operators/min.ts","../../../../../../src/cdk/keycodes/keycodes.ts","../../../../../../src/cdk/keycodes/modifiers.ts","../../../../../../src/cdk/keycodes/public-api.ts","../../../../../../src/cdk/keycodes/index.ts","../../../src/internal/operators/takeWhile.ts","../../../../../../src/cdk/observers/observe-content.ts","../../../../../../src/cdk/observers/public-api.ts","../../../../../../src/cdk/observers/index.ts","../../../src/internal/operators/every.ts","../../../src/internal/operators/zip.ts","../../../src/internal/operators/repeatWhen.ts","../../../src/internal/observable/concat.ts","../../src/internal/Observable.ts","../../../src/internal/scheduler/QueueScheduler.ts","../../../src/internal/observable/onErrorResumeNext.ts","../../../src/internal/operators/count.ts","../../../src/internal/util/isArrayLike.ts","../../../src/internal/operators/toArray.ts","../../../src/internal/scheduler/AsyncScheduler.ts","../../../src/internal/operators/take.ts","../../../src/internal/operators/catchError.ts","./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../src/internal/operators/startWith.ts","./node_modules/@babel/runtime/helpers/esm/inherits.js","../../../src/internal/operators/zipAll.ts","../../../projects/ngx-spinner/src/lib/ngx-spinner.enum.ts","../../../projects/ngx-spinner/src/lib/ngx-spinner.service.ts","../../../projects/ngx-spinner/src/lib/ngx-spinner.component.ts","../../../projects/ngx-spinner/src/lib/safe-html.pipe.ts","../../../projects/ngx-spinner/src/lib/ngx-spinner.module.ts","../../../projects/ngx-spinner/src/public_api.ts","../../../projects/ngx-spinner/src/ngx-spinner.ts","../../../src/internal/operators/findIndex.ts","./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../src/internal/operators/debounceTime.ts","../../../src/internal/operators/scan.ts","../../../src/internal/util/noop.ts","./node_modules/@babel/runtime/helpers/esm/createSuper.js","../../../src/internal/observable/of.ts","../../../src/internal/symbol/iterator.ts","../../../src/internal/scheduled/scheduleIterable.ts","../../../src/internal/operators/retryWhen.ts","./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../src/internal/AsyncSubject.ts","../../../src/internal/util/hostReportError.ts","../../../src/internal/operators/last.ts","../../../src/internal/observable/range.ts","../../../src/internal/observable/defer.ts","../../../src/internal/operators/publish.ts","../../../src/internal/observable/race.ts","../../../src/internal/observable/SubscribeOnObservable.ts","./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../src/internal/operators/groupBy.ts","../../../src/internal/operators/bufferTime.ts","./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../src/internal/operators/distinctUntilKeyChanged.ts","../../../src/internal/operators/bufferWhen.ts","../../../src/internal/observable/timer.ts","../../../src/internal/scheduler/AsapAction.ts","../../../src/internal/util/isInteropObservable.ts","../../../src/internal/observable/using.ts","../../../src/internal/observable/bindCallback.ts","../../../../../../packages/animations/src/animation_builder.ts","../../../../../../packages/animations/src/animation_metadata.ts","../../../../../../packages/animations/src/util.ts","../../../../../../packages/animations/src/players/animation_player.ts","../../../../../../packages/animations/src/players/animation_group_player.ts","../../../../../../packages/animations/src/private_export.ts","../../../../../../packages/animations/src/animations.ts","../../../../../../packages/animations/public_api.ts","../../../../../../packages/animations/index.ts","../../../../../../packages/animations/animations.ts","../../../../../../packages/platform-browser/animations/src/animation_builder.ts","../../../../../../packages/platform-browser/animations/src/animation_renderer.ts","../../../../../../packages/platform-browser/animations/src/providers.ts","../../../../../../packages/platform-browser/animations/src/module.ts","../../../../../../packages/platform-browser/animations/src/private_export.ts","../../../../../../packages/platform-browser/animations/src/animations.ts","../../../../../../packages/platform-browser/animations/public_api.ts","../../../../../../packages/platform-browser/animations/index.ts","../../../../../../packages/platform-browser/animations/animations.ts","./node_modules/@babel/runtime/helpers/esm/construct.js","../../../src/internal/scheduler/AsapScheduler.ts","./node_modules/@babel/runtime/helpers/esm/get.js","../../../src/internal/util/subscribeTo.ts","../../../src/internal/util/identity.ts","../../../src/internal/operators/first.ts","./node_modules/@babel/runtime/helpers/esm/toArray.js","./node_modules/@babel/runtime/helpers/esm/typeof.js","../../../src/internal/operators/publishBehavior.ts","../../../src/internal/operators/windowTime.ts","../../../src/internal/operators/mergeMapTo.ts","../../../src/internal/operators/shareReplay.ts","../../../src/internal/observable/merge.ts","../../../src/internal/scheduler/AnimationFrameAction.ts","../../src/internal/Notification.ts","../../../src/internal/observable/generate.ts","../../../src/internal/util/toSubscriber.ts","../../../src/internal/operators/throwIfEmpty.ts","../../src/internal/Subject.ts","./node_modules/@babel/runtime/helpers/esm/superPropBase.js","../../../src/internal/util/isObject.ts","../../../src/internal/operators/exhaustMap.ts","../../src/internal/Scheduler.ts","../../../src/internal/util/TimeoutError.ts","../../../src/internal/operators/switchAll.ts","../../../src/internal/util/isNumeric.ts","./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../src/internal/SubjectSubscription.ts","../../../src/internal/scheduler/QueueAction.ts","../../../src/internal/util/subscribeToResult.ts","../../../src/internal/operators/pairwise.ts","../../../src/internal/operators/sequenceEqual.ts","./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../../../packages/platform-browser-dynamic/src/compiler_reflector.ts","../../../../../../packages/platform-browser-dynamic/src/compiler_factory.ts","../../../../../../packages/platform-browser-dynamic/src/platform_core_dynamic.ts","../../../../../../packages/platform-browser-dynamic/src/resource_loader/resource_loader_impl.ts","../../../../../../packages/platform-browser-dynamic/src/platform_providers.ts","../../../../../../packages/platform-browser-dynamic/src/resource_loader/resource_loader_cache.ts","../../../../../../packages/platform-browser-dynamic/src/private_export.ts","../../../../../../packages/platform-browser-dynamic/src/version.ts","../../../../../../packages/platform-browser-dynamic/src/platform-browser-dynamic.ts","../../../../../../packages/platform-browser-dynamic/public_api.ts","../../../../../../packages/platform-browser-dynamic/index.ts","../../../../../../packages/platform-browser-dynamic/platform-browser-dynamic.ts","../../../src/internal/util/subscribeToPromise.ts","../../../src/internal/operators/switchMapTo.ts","../../../src/internal/operators/mergeAll.ts","../../../src/internal/operators/concatMap.ts","../../../../../../src/material/checkbox/checkbox-config.ts","../../../../../../src/material/checkbox/checkbox.ts","../../../../../../src/material/checkbox/checkbox-required-validator.ts","../../../../../../src/material/checkbox/checkbox-module.ts","../../../../../../src/material/checkbox/public-api.ts","../../../../../../src/material/checkbox/index.ts","../../../../../../src/material/button/button.ts","../../../../../../src/material/button/button-module.ts","../../../../../../src/material/button/public-api.ts","../../../../../../src/material/button/index.ts","../../../src/internal/util/isPromise.ts","../../../src/internal/operators/sample.ts","../../../src/internal/util/Immediate.ts","../../../src/internal/operators/find.ts","../../../../../../src/cdk/bidi/dir-document-token.ts","../../../../../../src/cdk/bidi/directionality.ts","../../../../../../src/cdk/bidi/dir.ts","../../../../../../src/cdk/bidi/bidi-module.ts","../../../../../../src/cdk/bidi/public-api.ts","../../../../../../src/cdk/bidi/index.ts","../../../src/internal/operators/delayWhen.ts","../../../src/internal/observable/forkJoin.ts","../../../src/internal/operators/single.ts","../../../../../../src/material/select/select-animations.ts","../../../../../../src/material/select/select-errors.ts","../../../../../../src/material/select/select.ts","../../../../../../src/material/select/select-module.ts","../../../../../../src/material/select/public-api.ts","../../../../../../src/material/select/index.ts","../../../src/internal/operators/materialize.ts","../../../src/internal/operators/switchMap.ts","../../../src/internal/scheduler/animationFrame.ts","../../../src/internal/operators/concat.ts","../../../../../../src/cdk/table/can-stick.ts","../../../../../../src/cdk/table/tokens.ts","../../../../../../src/cdk/table/cell.ts","../../../../../../src/cdk/table/coalesced-style-scheduler.ts","../../../../../../src/cdk/table/row.ts","../../../../../../src/cdk/table/sticky-styler.ts","../../../../../../src/cdk/table/table-errors.ts","../../../../../../src/cdk/table/table.ts","../../../../../../src/cdk/table/text-column.ts","../../../../../../src/cdk/table/table-module.ts","../../../../../../src/cdk/table/public-api.ts","../../../../../../src/cdk/table/index.ts","../../../src/internal/operators/combineLatest.ts","./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js","./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../src/internal/Observer.ts","../../../src/internal/operators/throttleTime.ts","./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../../../src/internal/observable/pairs.ts","../../../src/internal/scheduler/VirtualTimeScheduler.ts","../../../../../../src/cdk/text-field/autofill.ts","../../../../../../src/cdk/text-field/autosize.ts","../../../../../../src/cdk/text-field/text-field-module.ts","../../../../../../src/cdk/text-field/public-api.ts","../../../../../../src/cdk/text-field/index.ts","../../../src/internal/observable/combineLatest.ts","../../../src/internal/scheduled/scheduleArray.ts","../../../../../../packages/platform-browser/src/browser/generic_browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/server-transition.ts","../../../../../../packages/platform-browser/src/browser/testability.ts","../../../../../../packages/platform-browser/src/dom/util.ts","../../../../../../packages/platform-browser/src/dom/debug/ng_probe.ts","../../../../../../packages/platform-browser/src/dom/events/event_manager.ts","../../../../../../packages/platform-browser/src/dom/shared_styles_host.ts","../../../../../../packages/platform-browser/src/dom/dom_renderer.ts","../../../../../../packages/platform-browser/src/dom/events/dom_events.ts","../../../../../../packages/platform-browser/src/dom/events/hammer_gestures.ts","../../../../../../packages/platform-browser/src/dom/events/key_events.ts","../../../../../../packages/platform-browser/src/security/dom_sanitization_service.ts","../../../../../../packages/platform-browser/src/browser.ts","../../../../../../packages/platform-browser/src/browser/meta.ts","../../../../../../packages/platform-browser/src/browser/title.ts","../../../../../../packages/platform-browser/src/browser/tools/browser.ts","../../../../../../packages/platform-browser/src/browser/tools/common_tools.ts","../../../../../../packages/platform-browser/src/browser/tools/tools.ts","../../../../../../packages/platform-browser/src/browser/transfer_state.ts","../../../../../../packages/platform-browser/src/dom/debug/by.ts","../../../../../../packages/platform-browser/src/private_export.ts","../../../../../../packages/platform-browser/src/version.ts","../../../../../../packages/platform-browser/src/platform-browser.ts","../../../../../../packages/platform-browser/public_api.ts","../../../../../../packages/platform-browser/index.ts","../../../../../../packages/platform-browser/platform-browser.ts","../../src/internal/ReplaySubject.ts","./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../../../src/internal/symbol/observable.ts","../../src/operators/index.ts","../../../src/internal/operators/skipLast.ts","../../../src/internal/operators/dematerialize.ts","../../../../../../src/material/form-field/error.ts","../../../../../../src/material/form-field/form-field-animations.ts","../../../../../../src/material/form-field/form-field-control.ts","../../../../../../src/material/form-field/form-field-errors.ts","../../../../../../src/material/form-field/hint.ts","../../../../../../src/material/form-field/label.ts","../../../../../../src/material/form-field/placeholder.ts","../../../../../../src/material/form-field/prefix.ts","../../../../../../src/material/form-field/suffix.ts","../../../../../../src/material/form-field/form-field.ts","../../../../../../src/material/form-field/form-field-module.ts","../../../../../../src/material/form-field/public-api.ts","../../../../../../src/material/form-field/index.ts","../../../src/internal/observable/interval.ts","../../src/internal/OuterSubscriber.ts","../../../src/internal/operators/map.ts","../../../src/internal/operators/windowCount.ts","./node_modules/regenerator-runtime/runtime.js","../../../src/internal/operators/isEmpty.ts","../../../src/internal/util/pipe.ts","./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../src/internal/operators/window.ts","../../../src/internal/util/isDate.ts","./node_modules/tslib/tslib.es6.js","../../../src/internal/util/isFunction.ts","../../../../../../src/cdk/platform/platform.ts","../../../../../../src/cdk/platform/platform-module.ts","../../../../../../src/cdk/platform/features/input-types.ts","../../../../../../src/cdk/platform/features/passive-listeners.ts","../../../../../../src/cdk/platform/features/scrolling.ts","../../../../../../src/cdk/platform/features/shadow-dom.ts","../../../../../../src/cdk/platform/public-api.ts","../../../../../../src/cdk/platform/index.ts","../../../src/internal/operators/finalize.ts","../../../src/internal/util/subscribeToArray.ts","./node_modules/@babel/runtime/regenerator/index.js","../../../src/internal/operators/multicast.ts","../../../../../../packages/common/src/dom_adapter.ts","../../../../../../packages/common/src/dom_tokens.ts","../../../../../../packages/common/src/location/platform_location.ts","../../../../../../packages/common/src/private_export.ts","../../../../../../packages/common/src/location/util.ts","../../../../../../packages/common/src/location/location_strategy.ts","../../../../../../packages/common/src/location/hash_location_strategy.ts","../../../../../../packages/common/src/location/location.ts","../../../../../../packages/common/src/location/index.ts","../../../../../../packages/common/src/i18n/currencies.ts","../../../../../../packages/common/src/i18n/locale_data_api.ts","../../../../../../packages/common/src/i18n/format_date.ts","../../../../../../packages/common/src/i18n/format_number.ts","../../../../../../packages/common/src/i18n/localization.ts","../../../../../../packages/common/src/i18n/locale_data.ts","../../../../../../packages/common/src/cookie.ts","../../../../../../packages/common/src/directives/ng_class.ts","../../../../../../packages/common/src/directives/ng_component_outlet.ts","../../../../../../packages/common/src/directives/ng_for_of.ts","../../../../../../packages/common/src/directives/ng_if.ts","../../../../../../packages/common/src/directives/ng_switch.ts","../../../../../../packages/common/src/directives/ng_plural.ts","../../../../../../packages/common/src/directives/ng_style.ts","../../../../../../packages/common/src/directives/ng_template_outlet.ts","../../../../../../packages/common/src/directives/index.ts","../../../../../../packages/common/src/pipes/invalid_pipe_argument_error.ts","../../../../../../packages/common/src/pipes/async_pipe.ts","../../../../../../packages/common/src/pipes/case_conversion_pipes.ts","../../../../../../packages/common/src/pipes/date_pipe.ts","../../../../../../packages/common/src/pipes/i18n_plural_pipe.ts","../../../../../../packages/common/src/pipes/i18n_select_pipe.ts","../../../../../../packages/common/src/pipes/json_pipe.ts","../../../../../../packages/common/src/pipes/keyvalue_pipe.ts","../../../../../../packages/common/src/pipes/number_pipe.ts","../../../../../../packages/common/src/pipes/slice_pipe.ts","../../../../../../packages/common/src/pipes/index.ts","../../../../../../packages/common/src/common_module.ts","../../../../../../packages/common/src/platform_id.ts","../../../../../../packages/common/src/version.ts","../../../../../../packages/common/src/viewport_scroller.ts","../../../../../../packages/common/src/common.ts","../../../../../../packages/common/public_api.ts","../../../../../../packages/common/index.ts","../../../../../../packages/common/common.ts","../../../src/internal/operators/buffer.ts","./node_modules/ngx-extended-pdf-viewer/node_modules/tslib/tslib.es6.js","../../../src/internal/operators/filter.ts","../../../src/internal/util/subscribeToIterable.ts","../../../src/internal/operators/windowWhen.ts","../../../src/internal/util/UnsubscriptionError.ts","../../../src/internal/operators/observeOn.ts","../../../src/internal/operators/concatMapTo.ts","../../../src/internal/operators/merge.ts","../src/index.ts","../../../../../../src/material/input/autosize.ts","../../../../../../src/material/input/input-errors.ts","../../../../../../src/material/input/input-value-accessor.ts","../../../../../../src/material/input/input.ts","../../../../../../src/material/input/input-module.ts","../../../../../../src/material/input/public-api.ts","../../../../../../src/material/input/index.ts","../../../src/internal/operators/publishLast.ts","../../../src/internal/scheduler/queue.ts","../../src/internal/Subscription.ts","../../../src/internal/operators/timestamp.ts","../../../src/internal/observable/iif.ts","../../../../../../src/cdk/overlay/scroll/block-scroll-strategy.ts","../../../../../../src/cdk/overlay/scroll/scroll-strategy.ts","../../../../../../src/cdk/overlay/scroll/close-scroll-strategy.ts","../../../../../../src/cdk/overlay/scroll/noop-scroll-strategy.ts","../../../../../../src/cdk/overlay/position/scroll-clip.ts","../../../../../../src/cdk/overlay/scroll/reposition-scroll-strategy.ts","../../../../../../src/cdk/overlay/scroll/scroll-strategy-options.ts","../../../../../../src/cdk/overlay/scroll/index.ts","../../../../../../src/cdk/overlay/overlay-config.ts","../../../../../../src/cdk/overlay/position/connected-position.ts","../../../../../../src/cdk/overlay/dispatchers/base-overlay-dispatcher.ts","../../../../../../src/cdk/overlay/dispatchers/overlay-keyboard-dispatcher.ts","../../../../../../src/cdk/overlay/dispatchers/overlay-outside-click-dispatcher.ts","../../../../../../src/cdk/overlay/overlay-container.ts","../../../../../../src/cdk/overlay/overlay-ref.ts","../../../../../../src/cdk/overlay/position/flexible-connected-position-strategy.ts","../../../../../../src/cdk/overlay/position/connected-position-strategy.ts","../../../../../../src/cdk/overlay/position/global-position-strategy.ts","../../../../../../src/cdk/overlay/position/overlay-position-builder.ts","../../../../../../src/cdk/overlay/overlay.ts","../../../../../../src/cdk/overlay/overlay-directives.ts","../../../../../../src/cdk/overlay/overlay-module.ts","../../../../../../src/cdk/overlay/dispatchers/index.ts","../../../../../../src/cdk/overlay/fullscreen-overlay-container.ts","../../../../../../src/cdk/overlay/public-api.ts","../../../../../../src/cdk/overlay/index.ts","./node_modules/@babel/runtime/helpers/esm/defineProperty.js","./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../src/internal/operators/windowToggle.ts","../../../src/internal/util/EmptyError.ts","../../../src/internal/operators/timeoutWith.ts","../../../../../../packages/animations/browser/src/render/shared.ts","../../../../../../packages/animations/browser/src/render/animation_driver.ts","../../../../../../packages/animations/browser/src/util.ts","../../../../../../packages/animations/browser/src/dsl/animation_transition_expr.ts","../../../../../../packages/animations/browser/src/dsl/animation_ast_builder.ts","../../../../../../packages/animations/browser/src/dsl/animation_timeline_instruction.ts","../../../../../../packages/animations/browser/src/dsl/element_instruction_map.ts","../../../../../../packages/animations/browser/src/dsl/animation_timeline_builder.ts","../../../../../../packages/animations/browser/src/dsl/animation.ts","../../../../../../packages/animations/browser/src/dsl/style_normalization/animation_style_normalizer.ts","../../../../../../packages/animations/browser/src/dsl/style_normalization/web_animations_style_normalizer.ts","../../../../../../packages/animations/browser/src/dsl/animation_transition_instruction.ts","../../../../../../packages/animations/browser/src/dsl/animation_transition_factory.ts","../../../../../../packages/animations/browser/src/dsl/animation_trigger.ts","../../../../../../packages/animations/browser/src/render/timeline_animation_engine.ts","../../../../../../packages/animations/browser/src/render/transition_animation_engine.ts","../../../../../../packages/animations/browser/src/render/animation_engine_next.ts","../../../../../../packages/animations/browser/src/render/special_cased_styles.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/element_animation_style_handler.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/css_keyframes_player.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/direct_style_player.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/css_keyframes_driver.ts","../../../../../../packages/animations/browser/src/render/web_animations/web_animations_player.ts","../../../../../../packages/animations/browser/src/render/web_animations/web_animations_driver.ts","../../../../../../packages/animations/browser/src/private_export.ts","../../../../../../packages/animations/browser/src/browser.ts","../../../../../../packages/animations/browser/public_api.ts","../../../../../../packages/animations/browser/index.ts","../../../../../../packages/animations/browser/browser.ts","../../../src/internal/operators/timeout.ts","../../../src/internal/operators/subscribeOn.ts","../../../../../../packages/common/http/src/backend.ts","../../../../../../packages/common/http/src/headers.ts","../../../../../../packages/common/http/src/params.ts","../../../../../../packages/common/http/src/request.ts","../../../../../../packages/common/http/src/response.ts","../../../../../../packages/common/http/src/client.ts","../../../../../../packages/common/http/src/interceptor.ts","../../../../../../packages/common/http/src/jsonp.ts","../../../../../../packages/common/http/src/xhr.ts","../../../../../../packages/common/http/src/xsrf.ts","../../../../../../packages/common/http/src/module.ts","../../../../../../packages/common/http/public_api.ts","../../../../../../packages/common/http/index.ts","../../../../../../packages/common/http/http.ts","../../../src/internal/operators/audit.ts","../../../../../../packages/router/src/events.ts","../../../../../../packages/router/src/shared.ts","../../../../../../packages/router/src/utils/collection.ts","../../../../../../packages/router/src/url_tree.ts","../../../../../../packages/router/src/utils/tree.ts","../../../../../../packages/router/src/router_state.ts","../../../../../../packages/router/src/create_router_state.ts","../../../../../../packages/router/src/create_url_tree.ts","../../../../../../packages/router/src/operators/activate_routes.ts","../../../../../../packages/router/src/config.ts","../../../../../../packages/router/src/utils/type_guards.ts","../../../../../../packages/router/src/operators/prioritized_guard_value.ts","../../../../../../packages/router/src/components/empty_outlet.ts","../../../../../../packages/router/src/utils/config.ts","../../../../../../packages/router/src/apply_redirects.ts","../../../../../../packages/router/src/operators/apply_redirects.ts","../../../../../../packages/router/src/utils/preactivation.ts","../../../../../../packages/router/src/operators/check_guards.ts","../../../../../../packages/router/src/recognize.ts","../../../../../../packages/router/src/operators/recognize.ts","../../../../../../packages/router/src/operators/resolve_data.ts","../../../../../../packages/router/src/operators/switch_tap.ts","../../../../../../packages/router/src/route_reuse_strategy.ts","../../../../../../packages/router/src/router_config_loader.ts","../../../../../../packages/router/src/router_outlet_context.ts","../../../../../../packages/router/src/url_handling_strategy.ts","../../../../../../packages/router/src/router.ts","../../../../../../packages/router/src/directives/router_link.ts","../../../../../../packages/router/src/directives/router_link_active.ts","../../../../../../packages/router/src/directives/router_outlet.ts","../../../../../../packages/router/src/router_preloader.ts","../../../../../../packages/router/src/router_scroller.ts","../../../../../../packages/router/src/router_module.ts","../../../../../../packages/router/src/version.ts","../../../../../../packages/router/src/private_export.ts","../../../../../../packages/router/src/index.ts","../../../../../../packages/router/public_api.ts","../../../../../../packages/router/index.ts","../../../../../../packages/router/router.ts","../../../../../../src/cdk/a11y/aria-describer/aria-reference.ts","../../../../../../src/cdk/a11y/aria-describer/aria-describer.ts","../../../../../../src/cdk/a11y/key-manager/list-key-manager.ts","../../../../../../src/cdk/a11y/key-manager/activedescendant-key-manager.ts","../../../../../../src/cdk/a11y/key-manager/focus-key-manager.ts","../../../../../../src/cdk/a11y/interactivity-checker/interactivity-checker.ts","../../../../../../src/cdk/a11y/focus-trap/focus-trap.ts","../../../../../../src/cdk/a11y/focus-trap/configurable-focus-trap.ts","../../../../../../src/cdk/a11y/focus-trap/polyfill.ts","../../../../../../src/cdk/a11y/focus-trap/event-listener-inert-strategy.ts","../../../../../../src/cdk/a11y/focus-trap/configurable-focus-trap-config.ts","../../../../../../src/cdk/a11y/focus-trap/focus-trap-inert-strategy.ts","../../../../../../src/cdk/a11y/focus-trap/focus-trap-manager.ts","../../../../../../src/cdk/a11y/focus-trap/configurable-focus-trap-factory.ts","../../../../../../src/cdk/a11y/live-announcer/live-announcer-tokens.ts","../../../../../../src/cdk/a11y/live-announcer/live-announcer.ts","../../../../../../src/cdk/a11y/fake-mousedown.ts","../../../../../../src/cdk/a11y/focus-monitor/focus-monitor.ts","../../../../../../src/cdk/a11y/high-contrast-mode/high-contrast-mode-detector.ts","../../../../../../src/cdk/a11y/a11y-module.ts","../../../../../../src/cdk/a11y/public-api.ts","../../../../../../src/cdk/a11y/index.ts","./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../../../src/internal/operators/onErrorResumeNext.ts","../../../src/internal/operators/retry.ts","../../../src/internal/operators/tap.ts","../../../src/internal/operators/skipUntil.ts","./node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../../../src/cdk/scrolling/virtual-scroll-strategy.ts","../../../../../../src/cdk/scrolling/fixed-size-virtual-scroll.ts","../../../../../../src/cdk/scrolling/scroll-dispatcher.ts","../../../../../../src/cdk/scrolling/scrollable.ts","../../../../../../src/cdk/scrolling/viewport-ruler.ts","../../../../../../src/cdk/scrolling/virtual-scroll-viewport.ts","../../../../../../src/cdk/scrolling/virtual-for-of.ts","../../../../../../src/cdk/scrolling/scrolling-module.ts","../../../../../../src/cdk/scrolling/virtual-scroll-repeater.ts","../../../../../../src/cdk/scrolling/public-api.ts","../../../../../../src/cdk/scrolling/index.ts","../../../src/internal/operators/share.ts","../../../src/internal/operators/pluck.ts","../../../src/internal/operators/refCount.ts","../../../src/internal/operators/defaultIfEmpty.ts","../../../src/internal/observable/fromEvent.ts","../../../../../../src/cdk/version.ts","../../../../../../src/cdk/public-api.ts","../../../../../../src/cdk/index.ts","../../../src/internal/observable/fromArray.ts","../../../src/internal/operators/max.ts","../../../src/internal/operators/throttle.ts","../../../src/internal/util/isScheduler.ts","../../../src/internal/observable/throwError.ts","../../../src/internal/operators/skip.ts","../../../src/internal/scheduler/AnimationFrameScheduler.ts","../../../src/internal/operators/withLatestFrom.ts","../../../src/internal/operators/exhaust.ts","../../src/internal/innerSubscribe.ts"],"names":["observableOf","nextId","NGB_DATEPICKER_VALUE_ACCESSOR","mod","GREGORIAN_EPOCH","isGregorianLeapYear","fromGregorian","toGregorian","TagContentType","splitNsName","elementName","colonIndex","indexOf","Error","slice","isNgContainer","tagName","isNgContent","isNgTemplate","getNsPrefix","fullName","mergeNsAndName","prefix","localName","NAMED_ENTITIES","NGSP_UNICODE","HtmlTagDefinition","closedByChildren","implicitNamespacePrefix","contentType","PARSABLE_DATA","closedByParent","isVoid","ignoreFirstLf","preventNamespaceInheritance","canSelfClose","length","forEach","name","toLowerCase","_DEFAULT_TAG_DEFINITION","TAG_DEFINITIONS","getHtmlTagDefinition","_a","_b","RAW_TEXT","ESCAPABLE_RAW_TEXT","_SELECTOR_REGEXP","RegExp","CssSelector","element","classNames","attrs","notSelectors","hasElementSelector","classAttr","join","i","attrName","attrValue","result","push","concat","value","res","klass","notSelector","selector","results","_addResult","cssSel","cssSelector","match","current","inNot","lastIndex","exec","tag","addAttribute","substr","addClassName","setElement","attribute","SelectorMatcher","_elementMap","Map","_elementPartialMap","_classMap","_classPartialMap","_attrValueMap","_attrValuePartialMap","_listContexts","cssSelectors","callbackCtxt","listContext","SelectorListContext","_addSelectable","matcher","selectable","SelectorContext","isTerminal","_addTerminal","_addPartial","className","terminalMap","terminalValuesMap","get","set","partialMap","partialValuesMap","map","terminalList","matchedCallback","alreadyMatched","_matchTerminal","_matchPartial","selectables","starSelectables","finalize","nestedSelector","notMatcher","addSelectables","selectors","cbContext","callback","createNotMatcher","createInject","makeMetadataFactory","token","createInjectionToken","desc","_desc","ɵprov","undefined","createAttribute","attributeName","createContentChildren","data","Object","assign","first","isViewQuery","descendants","createContentChild","createViewChildren","createViewChild","createDirective","dir","ViewEncapsulation","ChangeDetectionStrategy","createComponent","c","changeDetection","Default","createPipe","p","pure","createInput","bindingPropertyName","createOutput","createHostBinding","hostPropertyName","createHostListener","eventName","args","createNgModule","ngModule","createInjectable","injectable","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","createOptional","createSelf","createSkipSelf","createHost","Type","Function","SecurityContext","MissingTranslationStrategy","props","factory","values","ngMetadataName","isTypeOf","obj","parserSelectorToSimpleSelector","classes","parserSelectorToNegativeSelector","parserSelectorToR3Selector","positive","negative","parseSelectorToR3Selector","parse","core","freeze","__proto__","TypeModifier","Type$1","modifiers","modifier","BuiltinTypeName","BuiltinType","visitor","context","visitBuiltinType","ExpressionType","typeParams","visitExpressionType","ArrayType","of","visitArrayType","MapType","valueType","visitMapType","DYNAMIC_TYPE","Dynamic","INFERRED_TYPE","Inferred","BOOL_TYPE","Bool","INT_TYPE","Int","NUMBER_TYPE","Number","STRING_TYPE","String","FUNCTION_TYPE","NONE_TYPE","None","UnaryOperator","BinaryOperator","nullSafeIsEquivalent","base","other","isEquivalent","areAllEquivalent","len","Expression","type","sourceSpan","ReadPropExpr","index","ReadKeyExpr","params","InvokeMethodExpr","InvokeFunctionExpr","InstantiateExpr","trueCase","falseCase","ConditionalExpr","rhs","BinaryOperatorExpr","Equals","NotEquals","Identical","NotIdentical","Minus","Plus","Divide","Multiply","Modulo","And","parens","BitwiseAnd","Or","Lower","LowerEquals","Bigger","BiggerEquals","equals","TYPED_NULL_EXPR","CastExpr","ExpressionStatement","BuiltinVar","ReadVarExpr","builtin","e","visitReadVarExpr","WriteVarExpr","TypeofExpr","expr","visitTypeofExpr","isConstant","WrappedNodeExpr","node","visitWrappedNodeExpr","visitWriteVarExpr","DeclareVarStmt","toDeclStmt","StmtModifier","Final","WriteKeyExpr","receiver","visitWriteKeyExpr","WritePropExpr","visitWritePropExpr","BuiltinMethod","method","visitInvokeMethodExpr","fn","visitInvokeFunctionExpr","classExpr","visitInstantiateExpr","LiteralExpr","visitLiteralExpr","MessagePiece","text","LiteralPiece","PlaceholderPiece","LocalizedString","metaBlock","messageParts","placeHolderNames","expressions","visitLocalizedString","MEANING_SEPARATOR","ID_SEPARATOR","LEGACY_ID_INDICATOR","description","meaning","customId","legacyIds","legacyId","createCookedRawString","getMessagePartSourceSpan","_c","_d","partIndex","placeholderName","messagePart","escapeSlashes","str","replace","escapeStartingColon","escapeColons","escapeForMessagePart","range","cooked","raw","ExternalExpr","moduleName","runtime","visitExternalExpr","ExternalReference","condition","visitConditionalExpr","NotExpr","visitNotExpr","AssertNotNull","visitAssertNotNullExpr","visitCastExpr","FnParam","param","FunctionExpr","statements","visitFunctionExpr","DeclareFunctionStmt","UnaryOperatorExpr","operator","visitUnaryOperatorExpr","lhs","visitBinaryOperatorExpr","visitReadPropExpr","visitReadKeyExpr","LiteralArrayExpr","entries","every","visitLiteralArrayExpr","LiteralMapEntry","key","quoted","LiteralMapExpr","visitLiteralMapExpr","CommaExpr","parts","visitCommaExpr","THIS_EXPR","This","SUPER_EXPR","Super","CATCH_ERROR_VAR","CatchError","CATCH_STACK_VAR","CatchStack","NULL_EXPR","LeadingComment","multiline","trailingNewline","JSDocComment","tags","serializeTags","Statement","leadingComments","leadingComment","stmt","visitDeclareVarStmt","visitDeclareFunctionStmt","visitExpressionStmt","ReturnStatement","visitReturnStmt","AbstractClassPart","ClassField","initializer","f","ClassMethod","body","m","ClassGetter","ClassStmt","parent","fields","getters","constructorMethod","methods","visitDeclareClassStmt","IfStmt","visitIfStmt","TryCatchStmt","bodyStmts","catchStmts","visitTryCatchStmt","ThrowStmt","error","visitThrowStmt","AstTransformer","ast","transformExpr","visitExpression","visitAllExpressions","visitAllStatements","entry","mapType","exprs","transformStmt","getter","ctorMethod","stmts","visitStatement","RecursiveAstVisitor","visitType","findReadVarNames","_ReadVarVisitor","varNames","arguments","Set","add","collectExternalReferences","_FindExternalReferencesVisitor","externalReferences","applySourceSpanToStatementIfNeeded","transformer","_ApplySourceSpanTransformer","applySourceSpanToExpressionIfNeeded","clone","create","constructor","prototype","keys","prop","_clone","jsDocComment","variable","importExpr","id","importType","typeModifiers","expressionType","typeofExpr","literalArr","literalMap","unary","not","assertNotNull","ifStmt","thenClause","elseClause","literal","localizedString","placeholderNames","isNull","exp","tagToString","out","DASH_CASE_REGEXP","dashCaseToCamelCase","input","toUpperCase","splitAtColon","defaultValues","_splitAt","splitAtPeriod","character","characterIndex","trim","visitValue","Array","isArray","visitArray","isStrictStringMap","visitStringMap","visitPrimitive","visitOther","isDefined","val","noUndefined","ValueTransformer","arr","SyncAsync","assertSync","isPromise","then","cb","all","syncAsyncValues","some","Promise","msg","syntaxError","parseErrors","ERROR_SYNTAX_ERROR","ERROR_PARSE_ERRORS","isSyntaxError","getParseErrors","escapeRegExp","s","STRING_MAP_PROTO","getPrototypeOf","utf8Encode","encoded","codePoint","charCodeAt","low","fromCharCode","stringify","overriddenName","toString","newLineIndex","substring","resolveForwardRef","hasOwnProperty","Version","full","splits","split","major","minor","patch","__window","window","__self","self","WorkerGlobalScope","__global","global","_global","newArray","size","list","partitionArray","conditionFn","truthy","falsy","item","CONSTANT_PREFIX","UNKNOWN_VALUE_KEY","KEY_CONTEXT","POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS","FixupExpression","resolved","original","expression","shared","ConstantPool","isClosureCompilerEnabled","literals","literalFactories","injectorDefinitions","directiveDefinitions","componentDefinitions","pipeDefinitions","nextNameIndex","forceShared","isLongStringLiteral","keyOf","fixup","newValue","freshName","definition","usage","callFn","kind","ctx","definitions","definitionsOf","property","propertyNameOf","argumentsForKey","_getLiteralFactory","expressionForKey","resultMap","literalFactory","literalFactoryArguments","filter","resultExpressions","getConstLiteral","parameters","isVariable","pureFunctionDeclaration","uniqueName","KeyVisitor","invalid","mapKey","quote","mapEntry","arg","CORE","Identifiers","ANALYZE_FOR_ENTRY_COMPONENTS","ElementRef","NgModuleRef","ViewContainerRef","ChangeDetectorRef","QueryList","TemplateRef","Renderer2","CodegenComponentFactoryResolver","ComponentFactoryResolver","ComponentFactory","ComponentRef","NgModuleFactory","createModuleFactory","moduleDef","moduleProviderDef","RegisterModuleFactoryFn","inject","directiveInject","INJECTOR","Injector","ɵɵdefineInjectable","InjectableDef","LOCALE_ID","TRANSLATIONS_FORMAT","inlineInterpolate","interpolate","EMPTY_ARRAY","EMPTY_MAP","Renderer","viewDef","elementDef","anchorDef","textDef","directiveDef","providerDef","queryDef","pureArrayDef","pureObjectDef","purePipeDef","pipeDef","nodeValue","ngContentDef","unwrapValue","createRendererType2","RendererType2","ViewDefinition","createComponentFactory","setClassMetadata","createTokenForReference","reference","identifier","createTokenForExternalReference","reflector","resolveExternalReference","StaticSymbol","filePath","members","JSON","StaticSymbolCache","cache","declarationFile","memberSuffix","HOST_REG_EXP","sanitizeIdentifier","_anonymousTypeIndex","identifierName","compileIdentifier","ref","identifierModuleUrl","viewClassName","compType","embeddedTemplateIndex","rendererTypeName","hostViewClassName","componentFactoryName","CompileSummaryKind","tokenName","tokenReference","CompileStylesheetMetadata","moduleUrl","styles","styleUrls","_normalizeArray","CompileTemplateMetadata","encapsulation","template","templateUrl","htmlAst","externalStylesheets","animations","ngContentSelectors","interpolation","isInline","preserveWhitespaces","flatten","CompileDirectiveMetadata","isHost","isComponent","exportAs","inputs","outputs","hostListeners","hostProperties","hostAttributes","providers","viewProviders","queries","guards","viewQueries","entryComponents","componentViewType","rendererType","componentFactory","summaryKind","Directive","toSummary","host","matches","inputsMap","bindConfig","outputsMap","CompilePipeMetadata","Pipe","CompileShallowModuleMetadata","CompileNgModuleMetadata","declaredDirectives","exportedDirectives","declaredPipes","exportedPipes","bootstrapComponents","importedModules","exportedModules","schemas","transitiveModule","module","NgModule","modules","TransitiveCompileNgModuleMetadata","directivesSet","directives","exportedDirectivesSet","pipesSet","pipes","exportedPipesSet","modulesSet","entryComponentsSet","provider","has","ec","componentType","ProviderMeta","useClass","useValue","useExisting","useFactory","deps","multi","dependencies","reduce","flat","flatItem","jitSourceUrl","url","templateSourceUrl","ngModuleType","compMeta","templateMeta","sharedStylesheetJitUrl","meta","pathParts","baseName","ngModuleJitUrl","moduleMeta","templateJitUrl","CORE$1","Identifiers$1","NEW_METHOD","TRANSFORM_METHOD","PATCH_DEPS","namespaceHTML","namespaceMathML","namespaceSVG","elementStart","elementEnd","advance","syntheticHostProperty","syntheticHostListener","attributeInterpolate1","attributeInterpolate2","attributeInterpolate3","attributeInterpolate4","attributeInterpolate5","attributeInterpolate6","attributeInterpolate7","attributeInterpolate8","attributeInterpolateV","classProp","elementContainerStart","elementContainerEnd","elementContainer","styleMap","styleMapInterpolate1","styleMapInterpolate2","styleMapInterpolate3","styleMapInterpolate4","styleMapInterpolate5","styleMapInterpolate6","styleMapInterpolate7","styleMapInterpolate8","styleMapInterpolateV","classMap","classMapInterpolate1","classMapInterpolate2","classMapInterpolate3","classMapInterpolate4","classMapInterpolate5","classMapInterpolate6","classMapInterpolate7","classMapInterpolate8","classMapInterpolateV","styleProp","stylePropInterpolate1","stylePropInterpolate2","stylePropInterpolate3","stylePropInterpolate4","stylePropInterpolate5","stylePropInterpolate6","stylePropInterpolate7","stylePropInterpolate8","stylePropInterpolateV","nextContext","templateCreate","enableBindings","disableBindings","getCurrentView","textInterpolate","textInterpolate1","textInterpolate2","textInterpolate3","textInterpolate4","textInterpolate5","textInterpolate6","textInterpolate7","textInterpolate8","textInterpolateV","restoreView","pureFunction0","pureFunction1","pureFunction2","pureFunction3","pureFunction4","pureFunction5","pureFunction6","pureFunction7","pureFunction8","pureFunctionV","pipeBind1","pipeBind2","pipeBind3","pipeBind4","pipeBindV","hostProperty","propertyInterpolate","propertyInterpolate1","propertyInterpolate2","propertyInterpolate3","propertyInterpolate4","propertyInterpolate5","propertyInterpolate6","propertyInterpolate7","propertyInterpolate8","propertyInterpolateV","i18n","i18nAttributes","i18nExp","i18nStart","i18nEnd","i18nApply","i18nPostprocess","pipe","projection","projectionDef","injectAttribute","injectPipeChangeDetectorRef","invalidFactory","invalidFactoryDep","templateRefExtractor","resolveWindow","resolveDocument","resolveBody","defineComponent","setComponentScope","ComponentDefWithMeta","FactoryDef","defineDirective","DirectiveDefWithMeta","InjectorDef","defineInjector","NgModuleDefWithMeta","ModuleWithProviders","defineNgModule","setNgModuleScope","PipeDefWithMeta","definePipe","queryRefresh","viewQuery","staticViewQuery","staticContentQuery","loadQuery","contentQuery","NgOnChangesFeature","InheritDefinitionFeature","CopyDefinitionFeature","ProvidersFeature","listener","getFactoryOf","getInheritedFactory","sanitizeHtml","sanitizeStyle","sanitizeResourceUrl","sanitizeScript","sanitizeUrl","sanitizeUrlOrResourceUrl","trustConstantHtml","trustConstantScript","trustConstantResourceUrl","mapToMapExpression","convertMetaToOutput","typeWithParameters","numParams","ANIMATE_SYMBOL_PREFIX","prepareSyntheticPropertyName","prepareSyntheticListenerName","phase","isSyntheticPropertyOrListener","charAt","getSyntheticPropertyName","prepareSyntheticListenerFunctionName","jitOnlyGuardedExpression","ngJitMode","jitFlagNotDefined","jitFlagUndefinedOrTrue","wrapReference","wrapped","Text","visitText","BoundText","visitBoundText","TextAttribute","valueSpan","visitTextAttribute","BoundAttribute","securityContext","unit","keySpan","visitBoundAttribute","BoundEvent","handler","target","handlerSpan","visitBoundEvent","event","targetOrPhase","Element","attributes","children","references","startSourceSpan","endSourceSpan","visitElement","Template","templateAttrs","variables","visitTemplate","Content","visitContent","Variable","visitVariable","Reference","visitReference","Icu","vars","placeholders","visitIcu","NullVisitor","content","icu","RecursiveVisitor","visitAll","TransformVisitor","newAttributes","transformAll","newInputs","newOutputs","newChildren","newReferences","newTemplateAttrs","newVariables","nodes","visit","newNode","changed","Message","placeholderToMessage","sources","start","file","startLine","line","startCol","col","endLine","end","endCol","Text$1","Container","visitContainer","Icu$1","cases","TagPlaceholder","startName","closeName","visitTagPlaceholder","Placeholder","visitPlaceholder","IcuPlaceholder","visitIcuPlaceholder","CloneVisitor","container","n","expressionPlaceholder","ph","RecurseVisitor","child","k","digest","message","computeDigest","sha1","serializeNodes","decimalDigest","computeDecimalDigest","_SerializerIgnoreIcuExpVisitor","a","computeMsgId","_SerializerVisitor","strCases","serializerVisitor","utf8","words32","stringToWords32","Endian","Big","w","b","d","h0","h1","h2","h3","h4","j","rol32","fkVal","fk","temp","add32","byteStringToHexString","words32ToByteString","fingerprint","hi","hash32","lo","msgFingerprint","meaningFingerprint","add64","rol64","byteStringToDecString","wordAt","Little","mix","sub32","add32to64","high","ah","al","bh","bl","carry","l","h","count","num","endian","byteAt","word","word32ToByteString","hex","decimal","toThePower","addBigInt","numberTimesBigInt","reverse","x","y","sum","Math","max","tmpSum","product","bToThePower","Serializer","SimplePlaceholderMapper","mapName","internalToPublic","publicToNextId","publicToInternal","internalName","publicName","visitPlaceholderName","_Visitor","strAttrs","_serializeAttributes","strChildren","decl","doctype","rootTag","dtd","_visitor","serialize","Declaration","unescapedAttrs","escapeXml","visitDeclaration","Doctype","visitDoctype","Tag","visitTag","Text$2","unescapedValue","CR","ws","_ESCAPED_CHARS","_MESSAGES_TAG","_MESSAGE_TAG","_PLACEHOLDER_TAG","_EXAMPLE_TAG","_SOURCE_TAG","_DOCTYPE","Xmb","messages","locale","exampleVisitor","ExampleVisitor","_Visitor$1","rootNode","sourceTags","source","version","encoding","addDefaultExamples","digest$1","toPublicName","startTagAsText","startEx","startTagPh","closeTagAsText","closeEx","closeTagPh","interpolationAsText","exTag","icuExpression","icuType","icuCases","icuAsText","exText","CLOSURE_TRANSLATION_VAR_PREFIX","TRANSLATION_VAR_PREFIX","I18N_ATTR","I18N_ATTR_PREFIX","I18N_ICU_VAR_PREFIX","I18N_ICU_MAPPING_PREFIX","I18N_PLACEHOLDER_SYMBOL","isI18nAttribute","startsWith","isI18nRootNode","isSingleI18nIcu","hasI18nMeta","hasI18nAttrs","attr","icuFromI18nMessage","wrapI18nPlaceholder","contextId","blockId","assembleI18nBoundString","strings","bindingStartIndex","acc","lastIdx","getSeqNumberGenerator","startsAt","placeholdersToParams","updatePlaceholderMap","assembleBoundTextPlaceholders","startIdx","find","idx","i18nFormatPlaceholderNames","useCamelCase","_params","formatI18nPlaceholderName","chunks","postfix","test","pop","shift","getTranslationConstPrefix","extra","declareI18nVariable","UNSAFE_OBJECT_KEY_NAME_REGEXP","TEMPORARY_NAME","CONTEXT_NAME","RENDER_FLAGS","REFERENCE_PREFIX","IMPLICIT_REFERENCE","NON_BINDABLE_ATTR","temporaryAllocator","unsupported","feature","invalid$1","asLiteral","conditionallyCreateMapObjectLiteral","keepDeclared","getOwnPropertyNames","mapToExpression","declaredName","minifiedName","trimTrailingNulls","getQueryPredicate","query","constantPool","predicate","noop","DefinitionMap","getAttrsForDirectiveMatching","elOrTpl","attributesMap","o","chainedInstruction","calls","span","getInterpolationArgsLength","R3FactoryDelegateType","R3FactoryTarget","R3ResolvedDependencyType","compileFactoryFunction","t","ctorDepsType","typeForCtor","isDelegatedMetadata","internalType","ctorExpr","injectDependencies","injectFn","createCtorDepsType","baseFactory","baseFactoryStmt","Exported","ctorExprFinal","retExpr","makeConditionalFactory","nonCtorExpr","r","ctorStmt","toStmt","delegateType","Factory","delegateFactory","delegate","delegateFactoryStmt","delegateArgs","delegateDeps","factoryExpr","Class","isExpressionFactoryMetadata","typeArgumentCount","isPipe","dep","compileInjectDependency","Token","flags","skipSelf","optional","flagsParam","injectArgs","Attribute","Invalid","hasTypes","attributeTypes","createCtorDepType","dependenciesFromGlobalMetadata","outputCtx","injectorRef","diDeps","dependency","tokenRef","isAttribute","isOptional","isSelf","isSkipSelf","compileInjectable","factoryMeta","Injectable","useClassOnSelf","userDeps","delegateToFactory","injectableProps","providedIn","callMethod","assertArrayOfStrings","UNUSABLE_INTERPOLATION_REGEXPS","assertInterpolationSymbols","regexp","InterpolationConfig","markers","DEFAULT_INTERPOLATION_CONFIG","VERSION","JS_B64_PREFIX","SourceMapGenerator","sourcesContent","lines","lastCol0","hasMappings","col0","sourceUrl","sourceLine0","sourceCol0","currentLine","sourcesIndex","from","mappings","lastSourceIndex","lastSourceLine0","lastSourceCol0","segments","segment","segAsStr","toBase64VLQ","toBase64String","b64","i1","i2","i3","toBase64Digit","isNaN","digit","B64_DIGITS","_SINGLE_QUOTE_ESCAPE_STRING_RE","_LEGAL_IDENTIFIER_RE","_INDENT_WITH","CATCH_ERROR_VAR$1","CATCH_STACK_VAR$1","_EmittedLine","indent","partsLength","srcSpans","EmitterVisitorContext","_indent","_classes","_preambleLineCount","_lines","lastPart","print","_currentLine","part","newLine","lineIsEmpty","clazz","sourceLines","_createIndent","genFilePath","startsAtLine","firstOffsetMapped","mapFirstOffsetIfNeeded","addSource","addMapping","addLine","lineIdx","spans","spanIdx","sourceLine","sourceCol","column","emittedLine","columnsLeft","AbstractEmitterVisitor","_escapeDollarInStrings","comment","println","printLeadingComments","hasElseCase","removeEmptyLastLine","incIndent","decIndent","lineWasEmpty","getBuiltinMethodName","varName","escapeIdentifier","head","serializeI18nHead","serializeI18nTemplatePart","opStr","visitAllObjects","separator","incrementedIndent","lineLength","escapeDollar","alwaysQuote","requiresQuotes","AbstractJsEmitterVisitor","pushClass","_visitClassConstructor","_visitClassGetter","_visitClassMethod","popClass","_visitParams","fnExpr","currentClass","ConcatArray","SubscribeObservable","Bind","JitEvaluator","createSourceMaps","converter","JitEmitterVisitor","createRoot","isUseStrictStatement","createReturnStmt","evaluateCode","getArgs","createSourceMap","fnBody","toSource","fnArgNames","fnArgValues","argName","emptyFn","headerLines","toSourceMapGenerator","toJsComment","executeFunction","_evalArgNames","_evalArgValues","_evalExportedVars","resultVar","_emitReferenceToExternal","hasModifier","statement","$EOF","$BSPACE","$TAB","$LF","$VTAB","$FF","$CR","$SPACE","$BANG","$DQ","$HASH","$$","$PERCENT","$AMPERSAND","$SQ","$LPAREN","$RPAREN","$STAR","$PLUS","$COMMA","$MINUS","$PERIOD","$SLASH","$COLON","$SEMICOLON","$LT","$EQ","$GT","$QUESTION","$0","$7","$9","$A","$E","$F","$X","$Z","$LBRACKET","$BACKSLASH","$RBRACKET","$CARET","$_","$a","$b","$e","$f","$n","$r","$t","$u","$v","$x","$z","$LBRACE","$BAR","$RBRACE","$NBSP","$PIPE","$TILDA","$AT","$BT","isWhitespace","code","isDigit","isAsciiLetter","isAsciiHexDigit","isNewLine","isOctalDigit","ParseLocation","offset","delta","ch","priorLine","lastIndexOf","maxChars","maxLines","startOffset","endOffset","ctxChars","ctxLines","before","after","ParseSourceFile","ParseSourceSpan","fullStart","details","ParseErrorLevel","ParseError","level","ERROR","getContext","contextualMessage","typeSourceSpan","sourceFileName","sourceFile","r3JitTypeSourceSpan","typeName","R3JitReflector","typeOrFunc","lcProperty","cmpMetadata","mapLiteral","compileNgModule","moduleType","bootstrap","declarations","imports","exports","containsForwardDecls","emitInline","additionalStatements","definitionMap","refsToArray","setNgModuleScopeCall","generateSetNgModuleScopeCall","tupleTypeOf","adjacentType","scopeMap","fnCall","guardedCall","iife","iifeCall","compileInjector","compileNgModuleFromRender2","injectableCompiler","rawImports","rawExports","injectorDefArg","factoryFor","symbol","rawProviders","injectorDef","Static","accessExportScope","selectorScope","types","refs","shouldForwardDeclare","compilePipeFromMetadata","metadata","definitionMapValues","pipeName","compilePipeFromRender2","factoryRes","definitionField","ngFactoryDefStatement","pipeDefStatement","ParserError","errLocation","ctxLocation","ParseSpan","absoluteOffset","AbsoluteSourceSpan","AST","ASTWithName","nameSpan","Quote","uninterpretedExpression","location","visitQuote","EmptyExpr","ImplicitReceiver","visitImplicitReceiver","ThisReceiver","visitThisReceiver","call","Chain","visitChain","Conditional","trueExp","falseExp","visitConditional","PropertyRead","visitPropertyRead","PropertyWrite","visitPropertyWrite","SafePropertyRead","visitSafePropertyRead","KeyedRead","visitKeyedRead","KeyedWrite","visitKeyedWrite","BindingPipe","visitPipe","LiteralPrimitive","visitLiteralPrimitive","LiteralArray","visitLiteralArray","LiteralMap","visitLiteralMap","Interpolation","visitInterpolation","Binary","operation","left","right","visitBinary","Unary","binaryOp","binaryLeft","binaryRight","visitUnary","PrefixNot","visitPrefixNot","NonNullAssert","visitNonNullAssert","MethodCall","visitMethodCall","SafeMethodCall","visitSafeMethodCall","FunctionCall","visitFunctionCall","ASTWithSource","errors","visitASTWithSource","VariableBinding","ExpressionBinding","RecursiveAstVisitor$1","asts","AstTransformer$1","createPlus","createMinus","AstMemoryEfficientTransformer","modified","ParsedProperty","isLiteral","ParsedPropertyType","LITERAL_ATTR","isAnimation","ANIMATION","ParsedEvent","ParsedVariable","BoundElementProperty","EventHandlerVars","ConvertActionBindingResult","allowDefault","render3Stmts","convertActionBinding","localResolver","implicitReceiver","action","bindingId","interpolationFunction","baseSourceSpan","implicitReceiverAccesses","globals","DefaultLocalResolver","actionWithoutBuiltins","convertPropertyBindingBuiltins","createLiteralArrayConverter","argCount","createLiteralMapConverter","createPipeConverter","_AstToIrVisitor","actionStmts","flattenStatements","_Mode","prependTemporaryDecls","temporaryCount","usesImplicitReceiver","notifyImplicitReceiverUse","preventDefaultVar","lastStatement","returnExpr","convertStmtIntoExpression","createPreventDefaultVar","cast","notIdentical","converterFactory","convertBuiltins","ConvertPropertyBindingResult","currValExpr","BindingForm","convertPropertyBinding","expressionWithoutBuiltins","form","outputExpr","getStatementsFromVisitor","TrySimple","createCurrValueExpr","convertUpdateArguments","contextVariableExpression","expressionWithArgumentsToExtract","temporaryDeclaration","_BuiltinAstConverter","temporaryName","temporaryNumber","unshift","ensureStatementMode","mode","ensureExpressionMode","convertToStatementIfNeeded","_converterFactory","BuiltinFunctionCall","_localResolver","_implicitReceiver","_nodeMap","_resultMap","_currentTemporary","op","_visit","convertSourceSpan","conditional","convertedArgs","fnResult","leftMostSafe","leftMostSafeNode","convertSafeAccess","getLocal","prevUsesImplicitReceiver","varExpr","_getLocal","addImplicitReceiverAccess","localExpr","guardedExpression","temporary","needsTemporary","allocateTemporary","isBlank","access","delete","releaseTemporary","visitSome","tempNumber","moveBy","output","ShadowCss","strictStyling","cssText","hostSelector","commentsWithHash","extractCommentsWithHash","stripComments","_insertDirectives","scopedCssText","_scopeCssText","_insertPolyfillDirectivesInCssText","_insertPolyfillRulesInCssText","_cssContentNextSelectorRe","_cssContentRuleRe","rule","scopeSelector","unscopedRules","_extractUnscopedRulesFromCssText","_insertPolyfillHostInCssText","_convertColonHost","_convertColonHostContext","_convertShadowDOMSelectors","_scopeSelectors","_cssContentUnscopedRuleRe","_convertColonRule","_cssColonHostRe","_colonHostPartReplacer","_cssColonHostContextRe","_colonHostContextPartReplacer","regExp","partReplacer","_polyfillHostNoCombinator","suffix","_polyfillHost","_shadowDOMSelectorsRe","pattern","processRules","_scopeSelector","CssRule","strict","_shadowDeepSelectors","deepParts","shallowPart","otherParts","applyScope","_selectorNeedsScoping","_applyStrictSelectorScope","_applySelectorScope","re","_makeScopeMatcher","lre","rre","_selectorReSuffix","_applySimpleSelectorScope","_polyfillHostRe","replaceBy","_polyfillHostNoCombinatorRe","hnc","_","colon","isRe","_scopeSelectorPart","scopedP","safeContent","SafeSelector","scopedSelector","startIndex","sep","hasHost","shouldScope","scopedPart","restore","_colonHostContextRe","_polyfillHostContext","_colonHostRe","keep","_content","pseudo","_parenSuffix","_commentRe","_commentWithHashRe","BLOCK_PLACEHOLDER","QUOTE_PLACEHOLDER","_ruleRe","_quotedRe","CONTENT_PAIRS","QUOTE_PAIRS","ruleCallback","inputWithEscapedQuotes","escapeBlocks","inputWithEscapedBlocks","escapedString","nextBlockIndex","nextQuoteIndex","contentPrefix","blocks","StringWithEscapedBlocks","charPairs","placeholder","resultParts","escapedBlocks","openCharCount","nonBlockStartIndex","blockStartIndex","openChar","closeChar","char","COMPONENT_VARIABLE","HOST_ATTR","CONTENT_ATTR","StylesCompileDependency","setValue","CompiledStylesheet","stylesVar","isShimmed","StyleCompiler","_urlResolver","_shadowCss","comp","_compileStyles","needsStyleShim","stylesheet","shim","Emulated","isComponentStylesheet","styleExpressions","plainStyle","_shimIfNeeded","styleUrl","exprIndex","getStylesVarName","Const","style","shimCssText","component","AstPath","path","position","ctor","NodeWithI18n","Text$3","Expansion","switchValue","switchValueSourceSpan","visitExpansion","ExpansionCase","valueSourceSpan","expSourceSpan","visitExpansionCase","visitAttribute","Element$1","Comment","visitComment","visitAll$1","astResult","RecursiveVisitor$1","visitChildren","apply","spanOf","findNode","TokenType","TokenError","errorMsg","tokenType","TokenizeResult","tokens","nonNormalizedIcuExpressions","tokenize","getTagDefinition","options","tokenizer","_Tokenizer","mergeTextTokens","_CR_OR_CRLF_REGEXP","_unexpectedCharacterErrorMsg","charCode","_unknownEntityErrorMsg","entitySrc","_unparsableEntityErrorMsg","entityStr","CharacterReferenceType","_ControlFlowError","_file","_getTagDefinition","_currentTokenStart","_currentTokenType","_expansionCaseStack","_inInterpolation","_tokenizeIcu","tokenizeExpansionForms","_interpolationConfig","interpolationConfig","_leadingTriviaCodePoints","leadingTriviaChars","codePointAt","endPos","startPos","_cursor","EscapedCharacterCursor","PlainCharacterCursor","_preserveLineEndings","preserveLineEndings","_escapedString","_i18nNormalizeLineEndingsInICUs","i18nNormalizeLineEndingsInICUs","init","handleError","peek","_attemptCharCode","_consumeCdata","_consumeComment","_consumeDocType","_consumeTagClose","_consumeTagOpen","_tokenizeExpansionForm","_consumeText","_beginToken","EOF","_endToken","isExpansionFormStart","_consumeExpansionFormStart","isExpansionCaseStart","_isInExpansionForm","_consumeExpansionCaseStart","_isInExpansionCase","_consumeExpansionCaseEnd","_consumeExpansionFormEnd","getSpan","CursorError","_createError","cursor","compareCharCodeCaseInsensitive","chars","charsLeft","initialPosition","_attemptCharCodeCaseInsensitive","_attemptStr","_attemptCharCodeUntilFn","diff","decodeEntities","_decodeEntity","fromCodePoint","isHex","codeStart","isDigitEntityEnd","entityType","HEX","DEC","getChars","strNum","parseInt","nameStart","isNamedEntityEnd","endMarkerPredicate","tagCloseStart","foundEndMarker","_readChar","_processCarriageReturns","COMMENT_START","_requireCharCode","_consumeRawText","COMMENT_END","_requireStr","CDATA_START","CDATA_END","DOC_TYPE","contentStart","_attemptUntilChar","nameOrPrefixStart","isPrefixEnd","_requireCharCodeUntilFn","isNameEnd","openTagToken","_consumeTagOpenStart","isNotWhitespace","_consumeAttributeName","_consumeAttributeValue","_consumeTagOpenEnd","INCOMPLETE_TAG_OPEN","TEXT","contentTokenType","_consumeRawTextWithTagClose","textToken","_attemptStrCaseInsensitive","TAG_CLOSE","TAG_OPEN_START","_consumePrefixAndName","attrNameStart","ATTR_NAME","prefixAndName","ATTR_QUOTE","quoteChar","ATTR_VALUE","valueStart","TAG_OPEN_END_VOID","TAG_OPEN_END","EXPANSION_FORM_START","_readUntil","normalizedCondition","conditionToken","EXPANSION_CASE_VALUE","EXPANSION_CASE_EXP_START","EXPANSION_CASE_EXP_END","EXPANSION_FORM_END","_isTextEnd","isInterpolation","code1","code2","toUpperCaseCharCode","srcTokens","dstTokens","lastDstToken","fileOrCursor","state","advanceState","updatePeek","leadingTriviaCodePoints","startLocation","locationFromCursor","endLocation","fullStartLocation","pos","currentChar","internalState","processEscapeSequence","digitStart","decodeHexDigits","octal","previous","TreeError","ParseTreeResult","rootNodes","Parser","tokenizeResult","parser","_TreeBuilder","build","_index","_elementStack","_advance","_peek","_consumeStartTag","_consumeEndTag","_closeVoidElement","_consumeExpansion","prev","_startToken","_advanceIf","_addToParent","expCase","_parseExpansionCase","_collectExpansionExpTokens","expansionCaseParser","expansionFormStack","lastOnStack","_getParentElement","el","startTagToken","_consumeAttr","_getElementFullName","selfClosing","tagDef","startSpan","_pushElement","_popElement","parentEl","isClosedByChild","endTagToken","errMsg","stackIndex","splice","valueToken","quoteToken","parentElement","parentTagName","parentTagDefinition","stack","HtmlParser","PRESERVE_WS_ATTR_NAME","SKIP_WS_TRIM_TAGS","WS_CHARS","NO_WS_REGEXP","WS_REPLACE_REGEXP","hasPreserveWhitespacesAttr","replaceNgsp","WhitespaceVisitor","visitAllWithSiblings","isNotBlank","hasExpansionSibling","next","expansion","expansionCase","removeWhitespaces","htmlAstWithErrors","PLURAL_CASES","expandNodes","expander","_Expander","ExpansionResult","isExpanded","expanded","ExpansionError","_expandPluralForm","_expandDefaultForm","icuCase","expansionResult","switchAttr","TextAst","ngContentIndex","BoundTextAst","AttrAst","visitAttr","BoundPropertyMapping","BoundElementPropertyAst","visitElementProperty","BoundEventAst","calcFullName","visitEvent","ReferenceAst","originalValue","VariableAst","v","ElementAst","hasViewContainer","queryMatches","EmbeddedTemplateAst","visitEmbeddedTemplate","BoundDirectivePropertyAst","directiveName","templateName","visitDirectiveProperty","DirectiveAst","directive","hostEvents","contentQueryStartId","visitDirective","ProviderAst","multiProvider","eager","providerType","lifecycleHooks","isModule","ProviderAstType","NgContentAst","visitNgContent","NullTemplateVisitor","RecursiveTemplateAstVisitor","templateVisitAll","ProviderError","ProviderViewContext","_getViewQueries","ProviderElementContext","viewContext","_parent","_isViewRoot","_directiveAsts","isTemplate","_sourceSpan","_transformedProviders","_seenProviders","_queriedTokens","transformedHasViewContainer","_attrs","attrAst","directivesMeta","directiveAst","_allProviders","_resolveProvidersFromDirectives","_contentQueries","_getContentQueries","_addQueryReadsTo","templateRefId","refAst","defaultQueryValue","_getOrCreateLocalProvider","defaultValue","queryReadTokens","_getQueriesFor","queryValue","read","queryId","currentEl","distance","requestingProviderType","resolvedProvider","PublicService","PrivateService","Builtin","transformedProviderAst","transformedProviders","transformedUseValue","transformedUseExisting","transformedDeps","existingDiDep","_getDependency","_transformProvider","_transformProviderAst","isValue","Component","currElement","currEager","_getLocalDependency","prevElement","lazyProviders","eagerProviders","sortedProviderTypes","transformProviders","sortedDirectives","sort","dir1","dir2","allMatches","NgModuleProviderAnalyzer","extraProviders","_errors","ngModuleProvider","_resolveProviders","errorString","requestorSourceSpan","foundLocal","targetErrors","providersByToken","dirProvider","directivesWithComponentFirst","targetProvidersByToken","isUseValue","viewQueryId","_addQueryToTokenMap","contentQueryId","contentQueries","directiveIndex","StyleWithImports","isStyleUrlResolvable","schemeMatch","URL_WITH_SCHEMA_REGEXP","extractStyleUrls","resolver","baseUrl","foundUrls","modifiedCssText","CSS_STRIPPABLE_COMMENT_REGEXP","CSS_IMPORT_REGEXP","resolve","PROPERTY_PARTS_SEPARATOR","ATTRIBUTE_PREFIX","CLASS_PREFIX","STYLE_PREFIX","TEMPLATE_ATTR_PREFIX","ANIMATE_PROP_PREFIX","BindingParser","_exprParser","_schemaRegistry","pipesByName","_usedPipes","dirMeta","boundProps","propName","parsePropertyBinding","_reportError","elementSelector","createBoundHostProperties","createBoundElementProperty","targetEvents","parseEvent","sourceInfo","parseInterpolation","_reportExpressionParserErrors","_checkPipes","wrapLiteralPrimitive","parseInterpolationExpression","tplKey","tplValue","absoluteValueOffset","targetMatchableAttrs","targetProps","targetVars","isIvyAst","absoluteKeyOffset","bindings","_parseTemplateBindings","binding","bindingSpan","moveParseSourceSpan","srcSpan","_parsePropertyAst","parseLiteralAttr","bindingsResult","parseTemplateBindings","templateBindings","warnings","warning","WARNING","isAnimationLabel","_parseAnimation","isAnimationProp","_parseBinding","DEFAULT","isHostBinding","parseSimpleBinding","parseBinding","boundProp","skipValidation","mapPropertyName","NONE","bindingType","boundPropertyName","securityContexts","_validatePropertyOrAttributeName","calcPossibleSecurityContexts","nsSeparatorIdx","ns","STYLE","mappedPropName","getMappedPropName","_parseAnimationEvent","_parseRegularEvent","_parseAction","parseAction","collector","PipeCollector","pipeMeta","isAttr","report","validateAttribute","validateProperty","registry","ctxs","elementNames","allKnownElementNames","notElementNames","isElementSelector","possibleElementNames","absoluteSpan","startDiff","endDiff","NG_CONTENT_SELECT_ATTR","LINK_ELEMENT","LINK_STYLE_REL_ATTR","LINK_STYLE_HREF_ATTR","LINK_STYLE_REL_VALUE","STYLE_ELEMENT","SCRIPT_ELEMENT","NG_NON_BINDABLE_ATTR","NG_PROJECT_AS","preparseElement","selectAttr","hrefAttr","relAttr","nonBindable","projectAs","lcAttrName","normalizeNgContentSelect","nodeName","PreparsedElementType","OTHER","NG_CONTENT","SCRIPT","STYLESHEET","PreparsedElement","BIND_NAME_REGEXP","KW_BIND_IDX","KW_LET_IDX","KW_REF_IDX","KW_ON_IDX","KW_BINDON_IDX","KW_AT_IDX","IDENT_KW_IDX","IDENT_BANANA_BOX_IDX","IDENT_PROPERTY_IDX","IDENT_EVENT_IDX","TEMPLATE_ATTR_PREFIX$1","CLASS_ATTR","_TEXT_CSS_SELECTOR","TEXT_CSS_SELECTOR","TemplateParseError","TemplateParseResult","templateAst","usedPipes","TemplateParser","_config","_reflector","_htmlParser","_console","transforms","tryParse","warn","htmlParseResult","getInterpolationConfig","tryParseHtml","expandHtml","uniqDirectives","removeSummaryDuplicates","uniqPipes","providerViewContext","bindingParser","parseVisitor","TemplateParseVisitor","EMPTY_ELEMENT_CONTEXT","getUsedPipes","_assertNoReferenceDuplicationOnTemplate","transform","forced","expandedHtmlAst","fromArray","existingReferences","config","_bindingParser","_schemas","_targetErrors","selectorMatcher","directivesIndex","ngContentCount","findNgContentIndex","valueNoNgsp","queryStartIndex","elName","preparsedElement","matchableAttrs","elementOrDirectiveProps","elementOrDirectiveRefs","elementVars","events","templateElementOrDirectiveProps","templateMatchableAttrs","templateElementVars","hasInlineTemplates","isTemplateElement","parsedVariables","hasBinding","_parseAttr","fromParsedVariable","templateValue","templateKey","normalizedName","_normalizeAttributeName","hasTemplateBinding","parseInlineTemplateBinding","elementCssSelector","createElementCssSelector","_parseDirectives","directiveMetas","matchElement","boundDirectivePropNames","directiveAsts","_createDirectiveAsts","elementProps","_createElementPropertyAsts","isViewRoot","providerContext","NON_BINDABLE_VISITOR","ElementContext","afterElement","projectionSelector","parsedElement","_isEmptyTextNode","_assertAllEventsPublishedByDirectives","_assertNoComponentsNorElementBindingsOnTemplate","transformedDirectiveAsts","_assertElementExists","_assertOnlyOneComponent","templateQueryStartIndex","templateSelector","templateBoundDirectivePropNames","templateDirectiveAsts","templateElementProps","templateProviderContext","targetRefs","boundEvents","bindParts","_parseVariable","_parseReference","_parseAssignmentEvent","parsePropertyInterpolation","fromParsedEvent","ElementOrDirectiveRef","elementSourceSpan","targetReferences","targetBoundDirectivePropNames","matchedReferences","directiveProperties","boundProperties","createDirectiveHostPropertyAsts","fromBoundProperty","_checkPropertiesInSchema","parsedEvents","createDirectiveHostEventAsts","_createDirectivePropertyAsts","elOrDirRef","isReferenceToDirective","refToken","targetBoundDirectiveProps","boundPropsByName","prevValue","dirProp","elProp","isEmptyExpression","boundElementProps","_findComponentDirectives","componentTypeNames","_findComponentDirectiveNames","hasElement","allDirectiveEvents","hasProperty","NonBindableVisitor","attrNameAndValues","splitExportAs","splitClasses","classAttrValue","_ngContentIndexMatcher","_wildcardNgContentIndex","ngContentIndices","wildcardNgContentIndex","elNameNoNs","attrNameNoNs","items","parenDepth","propStart","currentProp","valueHasQuotes","hyphenate","styleVal","stripUnnecessaryQuotes","qS","qE","tempValue","IMPORTANT_FLAG","MIN_STYLING_BINDING_SLOTS_REQUIRED","StylingBuilder","_directiveExpr","_hasInitialValues","hasBindings","hasBindingsWithPipes","_classMapInput","_styleMapInput","_singleStyleInputs","_singleClassInputs","_lastStylingInput","_firstStylingInput","_stylesIndex","_classesIndex","_initialStyleValues","_initialClassValues","registerInputBasedOnName","registerStyleInput","registerClassInput","isStyle","isClass","isMapBased","normalizePropName","parseProperty","hasOverrideFlag","bindingSuffix","registerIntoMap","_checkForPipes","populateInitialStylingAttrs","valueConverter","_buildMapBasedInstruction","isClassBased","stylingInput","totalBindingSlotsRequired","mapValue","getClassMapInterpolationExpression","getStyleMapInterpolationExpression","supportsInterpolation","allocateBindingSlots","convertFn","convertResult","getInterpolationExpressionFn","instructions","previousInstruction","referenceForCall","_buildSingleInputs","getStylePropInterpolationExpression","styleMapInstruction","buildStyleMapInstruction","classMapInstruction","buildClassMapInstruction","_buildStyleInputs","_buildClassInputs","overrideIndex","unitIndex","TokenType$1","KEYWORDS","Lexer","scanner","_Scanner","scanToken","Token$1","numValue","strValue","Character","Operator","Identifier","Keyword","newCharacterToken","newIdentifierToken","newKeywordToken","newOperatorToken","newStringToken","newNumberToken","newErrorToken","isIdentifierStart","scanIdentifier","scanNumber","scanCharacter","scanString","scanOperator","scanComplexOperator","one","twoCode","two","threeCode","three","isIdentifierPart","simple","isExponentStart","isExponentSign","parseIntAutoRadix","parseFloat","buffer","marker","unescapedCode","unescape","last","isIdentifier","isQuote","SplitInterpolation","stringSpans","expressionsSpans","offsets","TemplateBindingParseResult","defaultInterpolateRegExp","_createInterpolateRegExp","_getInterpolateRegExp","Parser$1","_lexer","simpleExpressionChecker","SimpleExpressionChecker","_checkNoInterpolation","sourceToLex","_stripComments","_ParseAST","parseChain","_parseBindingAst","checker","checkSimpleExpression","_parseQuote","prefixSeparatorIndex","toAbsolute","splitInterpolation","expressionText","createInterpolationAst","expressionSpans","atInterpolation","extendLastString","interpStart","interpEnd","exprStart","exprEnd","fullEnd","_commentStart","outerQuote","nextChar","_findInterpolationErrorColumn","partInErrIdx","IvyParser","IvySimpleExpressionChecker","ParseContextFlags","inputLength","rparensExpected","rbracketsExpected","rbracesExpected","sourceSpanCache","currentEndIndex","serial","inputIndex","ret","isCharacter","isKeywordLet","isKeywordAs","consumeOptionalCharacter","isOperator","consumeOptionalOperator","tok","isKeyword","prettyPrintToken","isString","parsePipe","parseExpression","expectIdentifierOrKeyword","parseConditional","parseLogicalOr","yes","no","parseLogicalAnd","parseEquality","parseRelational","parseAdditive","parseMultiplicative","parsePrefix","parseCallChain","parsePrimary","resultStart","parseAccessMemberOrMethodCall","withContext","Writable","expectCharacter","parseCallArguments","isKeywordNull","isKeywordUndefined","isKeywordTrue","isKeywordFalse","isKeywordThis","elements","parseExpressionList","parseLiteralMap","isNumber","toNumber","literalValue","terminator","expectIdentifierOrKeywordOrString","isSafe","positionals","operatorFound","currentAbsoluteOffset","parseDirectiveKeywordBindings","letBinding","parseLetBinding","expectTemplateBindingKey","parseAsBinding","consumeStatementTerminator","getDirectiveBoundTarget","spanEnd","asBinding","peekKeywordAs","peekKeywordLet","spanStart","locationText","skip","isError","atEOF","curToken","_SECURITY_SCHEMA","SECURITY_SCHEMA","registerContext","HTML","URL","RESOURCE_URL","specs","spec","ElementSchemaRegistry","BOOLEAN","NUMBER","STRING","OBJECT","SCHEMA","_ATTR_TO_PROP","DomElementSchemaRegistry","_schema","encodedType","strType","strProperties","properties","typeNames","superName","superType","schemaMetas","schema","elementProperties","camelCaseProp","userProvidedProp","strVal","_isPixelDimensionStyle","valAndSuffixMatch","BIND_NAME_REGEXP$1","KW_BIND_IDX$1","KW_LET_IDX$1","KW_REF_IDX$1","KW_ON_IDX$1","KW_BINDON_IDX$1","KW_AT_IDX$1","IDENT_KW_IDX$1","IDENT_BANANA_BOX_IDX$1","IDENT_PROPERTY_IDX$1","IDENT_EVENT_IDX$1","TEMPLATE_ATTR_PREFIX$2","htmlAstToRender3Ast","htmlNodes","HtmlAstToIvyAst","ivyNodes","allErrors","inI18nBlock","isI18nRootElement","reportError","contents","textContents","parsedProperties","i18nAttrsMeta","templateParsedProperties","templateVariables","elementHasInlineTemplate","normalizeAttributeName","isTemplateBinding","parseAttribute","NON_BINDABLE_VISITOR$1","isEmptyTextNode","isCommentNode","extractAttributes","bound","hoistedAttrs","_visitTextWithInterpolation","formattedKey","i18nPropsMeta","bep","fromBoundElementProperty","matchableAttributes","createKeySpan","normalizationAdjustment","keySpanStart","keySpanEnd","parseVariable","parseReference","addEvents","parseAssignmentEvent","NonBindableVisitor$1","TagType","setupRegistry","getUniqueId","icus","I18nContext","templateIndex","isEmitted","_unresolvedCtxCount","_registry","closed","serializePlaceholderValue","phs","appendTag","TEMPLATE","ELEMENT","findTemplateFn","childPhs","tmplIdx","findIndex","isCloseTag","isTemplateTag","endsWith","tmpl","wrap","wrapTag","IcuSerializerVisitor","formatPh","serializer","serializeIcuNode","TAG_TO_PLACEHOLDER_NAMES","PlaceholderRegistry","_placeHolderNameCounts","_signatureToName","signature","_hashTag","upperTag","_generateUniqueName","_hashClosingTag","upperName","seen","_expParser","createI18nMessageFactory","_I18nVisitor","visitNodeFn","toI18nMessage","noopVisitNodeFn","_html","_expressionParser","isIcu","icuDepth","placeholderRegistry","placeholderToContent","i18nodes","startPhName","getStartTagPlaceholderName","closePhName","getCloseTagPlaceholderName","i18nIcuCases","i18nIcu","caze","expPh","getUniquePlaceholder","phName","getPlaceholderName","_icuCase","_context","sDelimiter","eDelimiter","_extractPlaceholderName","stringSpan","getOffsetSourceSpan","expressionSpan","lastStringIdx","_CUSTOM_PH_EXP","setI18nRefs","htmlNode","i18nNode","previousMessage","I18nMetaVisitor","keepI18nAttrs","enableI18nLegacyMessageIdFormat","_createI18nMessage","_parseMetadata","_setMessageId","_setLegacyIds","attrsMeta","_generateI18nMessage","currentMessage","parseI18nMeta","I18N_MEANING_SEPARATOR","I18N_ID_SEPARATOR","idIndex","descIndex","meaningAndDesc","i18nMetaToJSDoc","GOOG_GET_MSG","createGoogleGetMsgStatements","variable$1","closureVar","messageString","serializeI18nMessageForGetMsg","googGetMsgStmt","toConstDecl","metaComment","addLeadingComment","i18nAssignmentStmt","GetMsgSerializerVisitor","serializerVisitor$1","createLocalizeStatements","serializeI18nMessageForLocalize","placeHolders","getSourceSpan","localizedString$1","variableInitialization","LocalizeSerializerVisitor","createPlaceholderPiece","serializerVisitor$2","pieces","processMessagePieces","startNode","endNode","createEmptyMessagePart","NG_CONTENT_SELECT_ATTR$1","NG_PROJECT_AS_ATTR_NAME","EVENT_BINDING_SCOPE_GLOBALS","GLOBAL_TARGET_RESOLVERS","LEADING_TRIVIA_CHARS","renderFlagCheckIfStmt","bitwiseAnd","prepareEventListenerParameters","eventAst","handlerName","scope","eventArgumentName","implicitReceiverExpr","bindingLevel","getOrCreateSharedContextVar","bindingExpr","restoreViewStatement","variableDeclarations","fnName","fnArgs","handlerFn","createComponentDefConsts","prepareStatements","constExpressions","TemplateDefinitionBuilder","parentBindingScope","contextName","i18nContext","directiveMatcher","pipeTypeByName","_namespace","relativeContextFilePath","i18nUseExternalIds","_constants","_dataIndex","_bindingContext","_prefixCode","_creationCodeFns","_updateCodeFns","_currentIndex","_tempVariables","_nestedTemplateFns","_unsupported","_pureFunctionSlots","_bindingSlots","_ngContentReservedSlots","_ngContentSelectorsOffset","_implicitReceiverExpr","_bindingScope","nestedScope","fileBasedI18nSuffix","_valueConverter","ValueConverter","allocateDataSlot","numSlots","allocatePureFunctionSlots","slot","pipeType","creationInstruction","ngContentSelectorsOffset","registerContextVariables","initI18nContext","isSingleElementTemplate","selfClosingI18nInstruction","hasTextChildrenOnly","updatePipeSlotOffsets","buildTemplateFn","r3ReservedSlots","creationStatements","updateStatements","creationVariables","viewSnapshotStatements","updateVariables","creationBlock","updateBlock","transformFn","_ref","i18nGenerateMainBlockVar","i18nGenerateClosureVar","getTranslationDeclStmts","scopedName","freshReferenceName","retrievalLevel","relativeLevel","sharedCtxVar","getSharedContextName","generateNextContextExpr","appendBinding","label","i18nAppendBindings","messageId","uniqueSuffix","isRoot","isResolved","getSerializedPlaceholders","icuMapping","needsPostprocessing","instruction","i18nTranslate","forkChildContext","addToConsts","reconcileChildContext","i18nUpdateRef","chainBindings","updateInstructionChainWithAdvance","getConstCount","updateInstruction","nodeIndex","i18nAttrArgs","converted","constIndex","namespaceKey","nsInstruction","elementIndex","updateInstructionWithAdvance","getUpdateInstructionArguments","ngContent","projectionSlotIdx","nonContentSelectAttributes","getAttributeExpressions","appendProjection","stylingBuilder","isNonBindableMode","outputAttrs","isNgContainer$1","registerStyleAttr","registerClassAttr","matchDirectives","allOtherInputs","boundI18nAttrs","stylingInputWasSet","registerBoundInput","addAttrsToConsts","prepareRefsArray","wasInNamespace","currentNamespace","getNamespaceInstruction","addNamespaceInstruction","appendElement","hasChildren","createSelfClosingInstruction","createSelfClosingI18nInstruction","i18nAttributesInstruction","listeners","outputAst","prepareListenerParameter","creationInstructionChain","stylingInstructions","buildUpdateLevelInstructions","limit","processStylingUpdateInstruction","emptyValueBindInstruction","propertyBindings","attributeBindings","inputType","hasValue","attrNamespace","isAttributeBinding","sanitizationRef","resolveSanitizationFn","namespaceLiteral","interpolatedUpdateInstruction","getPropertyInterpolationExpression","getAttributeInterpolationExpression","boundValue","NG_TEMPLATE_TAG_NAME","appendTemplate","attrsExprs","templateVisitor","templateFunctionExpr","buildTemplateFunction","getVarCount","templatePropertyBindings","i18nInputs","appendBoundText","getTextInterpolationExpression","initWasInvoked","i18nBindProps","formatted","appendIcu","fns","paramsOrFn","prepend","instructionFn","addAdvanceInstructionIfNecessary","fnParams","updateInstructionChain","originalSlots","convertedPropertyBinding","getImplicitReceiverExpr","bindingContext","valExpr","createCssSelector","staticType","renderAttributes","alreadySeen","attrExprs","ngProjectAsAttr","getAttributeNameLiterals","trustedConstAttribute","getNgProjectAsLiteral","addAttrExpr","attrsLengthBeforeInputs","consts","refsParam","variableName","nextContextStmt","refExpr","bindingFnName","allocateSlot","_pipeBindExprs","slotPseudoLocal","pureFunctionSlot","pipeBindingCallInfo","isVarLength","pipeBindExpr","bindingSlots","slotOffset","array","getLiteralFactory","pipeBindingIdentifiers","pureFunctionIdentifiers","pureFunctionCallInfo","relativeLevelDiff","literal$1","allocateSlots","startSlot","attributeNamespace","nameLiteral","SHARED_CONTEXT_KEY","BindingScope","referenceNameIndex","restoreViewVariable","declareLocalCallback","declare","priority","localRef","maybeGenerateSharedContextVar","maybeRestoreView","getComponentProperty","newScope","generateSharedContextVar","bindingKey","sharedCtxObj","componentValue","localRefLookup","isListenerScope","getCurrentViewInstruction","currentContextLevel","levelDiff","currStmts","elementNameNoNs","nameNoNs","parsedR3Selector","parseTemplate","makeBindingParser","htmlParser","parseResult","i18nMetaVisitor","elementRegistry","isTextNode","NG_I18N_CLOSURE_MODE","createClosureModeGuard","and","ATTR_REGEX","baseDirectiveFields","createContentQueriesFunction","createViewQueriesFunction","createHostBindingsFunction","addFeatures","features","usesInheritance","fullInheritance","lifecycle","usesOnChanges","compileDirectiveFromMetadata","toLiteralMap","createDirectiveTypeParams","compileComponentFromMetadata","firstSelector","selectorAttributes","getAttrs","templateTypeName","directivesUsed","pipesUsed","templateBuilder","createRootScope","templateFunctionExpression","getNgContentSelectors","getConsts","constsExpr","directivesExpr","wrapDirectivesAndPipesInClosure","pipesExpr","styleValues","compileStyles","stringArrayAsType","compileDirectiveFromRender2","directiveMetadataFromGlobalMetadata","directiveDefStatement","compileComponentFromRender2","render3Ast","directiveTypeBySel","summary","typeMapToExpressionMap","queriesFromGlobalMetadata","componentDefStatement","propertyName","selectorsFromGlobalMetadata","static","selectorStrings","prepareQueryParams","convertAttributesToExpressions","createStatements","tempAllocator","queryInstruction","getQueryList","refresh","updateDirective","contentQueriesFnName","stringAsType","stringMapAsType","mapValues","selectorForType","q","queryDefinition","viewQueryFnName","hostBindingsMetadata","styleBuilder","specialAttributes","styleAttr","hostBindingSourceSpan","directiveSummary","metadataAsSummary","eventBindings","createHostListeners","allOtherBindings","totalHostVarsCount","getValueConverter","hostVarsCountFn","originalVarsCount","syntheticHostBindings","bindingFn","getBindingNameAndInstruction","bindingName","sanitizerFn","instructionParams","hostAttrs","assignHostAttrs","convertStylingCall","hostBindingsFnName","implicit","attrMatches","syntheticListeners","HOST_REG_EXP$1","parseHostBindings","verifyHostBindings","shadowCss","ResourceLoader","CompilerFacadeImpl","jitEvaluator","elementSchemaRegistry","angularCoreEnv","sourceMapUrl","facade","wrapReference$1","convertR3DependencyMetadataArray","jitExpression","computeProvidedIn","wrapExpression","USE_CLASS","USE_FACTORY","USE_VALUE","USE_EXISTING","convertDirectiveFacadeToMetadata","err","getDefaultComponentElementName","jitExpressionSourceMap","def","preStatements","evaluateStatements","convertToR3QueryMetadata","inputsFromMetadata","parseInputOutputs","outputsFromMetadata","propMetadata","inputsFromType","outputsFromType","field","ann","isInput","isOutput","extractHostBindings","convertR3DependencyMetadata","tokenExpr","facades","isHostListener","piece","publishFacade","ng","ɵcompilerFacade","VERSION$1","CompilerConfig","defaultEncapsulation","useJit","jitDevMode","missingTranslation","strictInjectionParameters","preserveWhitespacesDefault","preserveWhitespacesOption","defaultSetting","DirectiveNormalizer","_resourceLoader","_resourceLoaderCache","clear","normalizedDirective","prenormData","_preParseTemplate","preparsedTemplate","_normalizeTemplateMetadata","prenomData","_fetch","_preparseLoadedTemplate","templateAbsUrl","rootNodesAndErrors","templateMetadataStyles","_normalizeStylesheet","TemplatePreparseVisitor","templateStyles","inlineStyleUrls","_loadMissingExternalStylesheets","_normalizeLoadedTemplateMetadata","stylesheets","_inlineStyles","targetStyles","loadedStylesheets","loadedStyle","allStyleUrls","allStyles","styleWithImports","ngNonBindableStackCount","textContent","QUERY_METADATA_IDENTIFIERS","DirectiveResolver","typeMetadata","annotations","isDirectiveMetadata","throwIfNotFound","findLast","propertyMetadata","_mergeWithPropertyMetadata","dm","directiveType","hostBindings","hostBinding","startWith","hostListener","_merge","names","publicNames","reversedResult","_extractPublicName","mergedInputs","_dedupeBindings","mergedOutputs","mergedHost","mergedQueries","moduleId","I18nError","_I18N_ATTR","_I18N_ATTR_PREFIX","_I18N_COMMENT_PREFIX_REGEXP","i18nCommentsWarned","extractMessages","implicitTags","implicitAttrs","_Visitor$2","extract","mergeTranslations","translations","merge","ExtractionResult","_VisitorMode","_implicitTags","_implicitAttrs","_init","Extract","_inI18nBlock","_messages","Merge","_translations","wrapper","translatedNode","_mode","_mayBeAddBlockChildren","wasInIcu","_inIcu","_isInTranslatableSection","_addMessage","isOpening","_isOpeningComment","isClosing","_isClosingComment","_inI18nNode","console","_blockStartDepth","_depth","_blockChildren","_blockMeaningAndDesc","_openTranslatableSection","_closeTranslatableSection","_translateMessage","wasInI18nNode","wasInImplicitNode","_inImplicitNode","childNodes","translatedChildNodes","i18nAttr","_getI18nAttr","i18nMeta","isImplicit","isTopLevelImplicit","isTranslatable","visitNodes","visited","_visitAttributesOf","translatedAttrs","_translateAttributes","_msgCountAtSectionStart","explicitAttrNameToValue","implicitAttrNames","msgMeta","_parseMessageMeta","i18nParsedMessageMeta","translatedAttributes","directChildren","significantChildren","XmlTagDefinition","currentParent","_TAG_DEFINITION","getXmlTagDefinition","XmlParser","_VERSION","_XMLNS","_DEFAULT_SOURCE_LANG","_PLACEHOLDER_TAG$1","_MARKER_TAG","_FILE_TAG","_SOURCE_TAG$1","_SEGMENT_SOURCE_TAG","_ALT_TRANS_TAG","_TARGET_TAG","_UNIT_TAG","_CONTEXT_GROUP_TAG","_CONTEXT_TAG","Xliff","_WriteVisitor","transUnits","contextTags","contextGroupTag","purpose","transUnit","datatype","xliff","xmlns","xliffParser","XliffParser","msgIdToHtml","i18nNodesByMsgId","XmlToI18n","msgId","convert","i18nNodes","ctype","getCtypeForTag","equivText","_locale","_unitMlString","_msgIdToHtml","xml","idAttr","_addError","innerTextStart","innerTextEnd","innerText","localeAttr","xmlIcu","nameAttr","caseMap","_VERSION$1","_XMLNS$1","_DEFAULT_SOURCE_LANG$1","_PLACEHOLDER_TAG$2","_PLACEHOLDER_SPANNING_TAG","_MARKER_TAG$1","_XLIFF_TAG","_SOURCE_TAG$2","_TARGET_TAG$1","_UNIT_TAG$1","Xliff2","_WriteVisitor$1","units","notes","category","srcLang","xliff2Parser","Xliff2Parser","XmlToI18n$1","getTypeForTag","tagPh","_nextPlaceholderId","equiv","disp","tagPc","equivStart","equivEnd","dispStart","dispEnd","idStr","versionAttr","startAttr","endAttr","startId","endId","_TRANSLATIONS_TAG","_TRANSLATION_TAG","_PLACEHOLDER_TAG$3","Xtb","xtbParser","XtbParser","XmlToI18n$2","valueFn","createLazyProperty","defineProperty","configurable","enumerable","xtb","_bundleDepth","langAttr","TranslationBundle","_i18nNodesByMsgId","mapperFactory","missingTranslationStrategy","Warning","_i18nToHtml","I18nToHtmlVisitor","srcMsg","html","load","digestFn","createNameMapper","_digest","_mapperFactory","_missingTranslationStrategy","_contextStack","_convertToText","_srcMsg","_mapper","mapper","toInternalName","I18NHtmlParser","translationsFormat","createSerializer","_translationBundle","format","QUOTED_KEYS","convertValueToOutputAst","_ValueOutputAstTransformer","quotedSet","mapEntry$1","InjectableCompiler","alwaysGenerateDef","tokenInjector","retValue","depsArray","depArgs","injectableDef","STRIP_SRC_FILE_SUFFIXES","GENERATED_FILE","JIT_SUMMARY_FILE","JIT_SUMMARY_NAME","ngfactoryFilePath","forceSourceFile","urlWithSuffix","splitTypescriptSuffix","normalizeGenFileSuffix","stripGeneratedFileSuffix","isGeneratedFile","lastDot","srcFileSuffix","summaryFileName","fileName","fileNameWithoutSuffix","summaryForJitFileName","stripSummaryForJitFileSuffix","summaryForJitName","symbolName","stripSummaryForJitNameSuffix","LOWERED_SYMBOL","isLoweredSymbol","createLoweredSymbol","LifecycleHooks","LIFECYCLE_HOOKS_VALUES","OnInit","OnDestroy","DoCheck","OnChanges","AfterContentInit","AfterContentChecked","AfterViewInit","AfterViewChecked","hasLifecycleHook","hook","getHookName","getAllLifecycleHooks","unexpected","ERROR_COMPONENT_TYPE","CompileMetadataResolver","_ngModuleResolver","_directiveResolver","_pipeResolver","_summaryResolver","_directiveNormalizer","_staticSymbolCache","_errorCollector","_nonNormalizedDirectiveCache","_directiveCache","_summaryCache","_pipeCache","_ngModuleCache","_ngModuleOfTypes","_shallowModuleCache","clearCacheFor","clearCache","baseType","proxyClass","setDelegate","dirType","_createProxyClass","getGeneratedClass","hostView","getHostComponentViewClass","typeSummary","resolveSummary","hostViewType","hostType","getHostComponentType","getMatchingElementTemplate","isSync","getNonNormalizedDirectiveMetadata","annotation","createDirectiveMetadata","templateMetadata","normalizedDirMeta","initComponentFactory","normalizeTemplate","componentModuleUrl","componentStillLoadingError","cacheEntry","nonNormalizedTemplateMetadata","changeDetectionStrategy","entryComponentMetadata","_getProvidersMetadata","stringifyType","flattenAndDedupeArray","_getEntryComponentMetadata","_getQueriesMetadata","_getTypeMetadata","getComponentViewClass","getRendererType","getComponentFactory","dirSummary","_loadSummary","isDirective","isNgModule","alreadyCollecting","moduleSummary","getNgModuleMetadata","loading","promise","loadDirectiveMetadata","_loadPipeMetadata","compileMeta","ngModuleMeta","shallowAnnotations","exportedNonModuleIdentifiers","importedType","importedModuleType","isValidType","moduleWithProviders","_checkSelfImport","_getTypeDescriptor","importedModuleSummary","getNgModuleSummary","exportedType","exportedModuleSummary","_getIdentifierMetadata","_getTransitiveNgModuleMetadata","declaredType","declaredIdentifier","isAbstractDirective","addDirective","_addTypeToModule","addPipe","exportedId","addExportedDirective","addExportedPipe","addEntryComponent","addProvider","addModule","provide","oldModule","modulesByToken","modSummary","addedTokens","prevModules","moduleRef","tryAnnotations","throwOnUnknownDeps","_getDependenciesMetadata","pipeSummary","pipeAnnotation","hasUnknownDeps","dependenciesMetadata","paramEntry","_getTokenMetadata","depsTokens","compileToken","targetEntryComponents","debugInfo","compileProviders","providerIdx","providerMeta","_validateProvider","providersInfo","soFar","seenProvider","seenProviderIdx","_getEntryComponentsFromProvider","getProviderMetadata","components","collectedIdentifiers","extractIdentifiers","compileDeps","compileTypeMetadata","compileFactoryMetadata","_getInjectableTypeMetadata","_getFactoryMetadata","_getQueryMetadata","_queryVarBindings","otherType","flattenArray","tree","dedupeArray","targetIdentifiers","_CompileValueConverter","providerAst","lifecycleHook","lifecycleHookToNodeFlag","multiProviderDef","singleProviderDef","providerExpr","providerFlags","depsExpr","allDepDefs","allParams","providerIndex","depExprs","convertDeps","instantiate","depIndex","paramName","depDef","tokenMeta","nodeFlag","componentFactoryResolverProviderDef","entryComponentFactories","entryComponent","classMeta","NgModuleCompileResult","ngModuleFactoryVar","LOG_VAR","NgModuleCompiler","providerParser","providerDefs","ngModuleDef","ngModuleDefFactory","_createNgModuleFactory","registerFactoryStmt","ngModuleReference","ngModuleFactoryStmt","NgModuleResolver","debugOutputAstAsTypeScript","_TsEmitterVisitor","TypeScriptEmitter","preamble","emitSourceMaps","referenceFilter","importFilter","preambleLines","reexports","exportedModuleName","reexportsCode","reexport","as","importsWithPrefixes","importedModuleName","sm","setPreambleLineCount","sourceText","emitStatementsAndContext","typeExpression","defaultType","_visitIdentifier","_printColonType","_visitClassField","Private","typeStr","suppliedParameters","PipeResolver","metas","TypeCheckCompiler","componentId","externalReferenceVars","embeddedViewCount","viewBuilderFactory","embeddedViewIndex","ViewBuilder","DYNAMIC_VAR_NAME","TypeCheckLocalResolver","defaultResolver","isHostComponent","refOutputVars","updates","actions","guard","useIf","astNodes","targetStatements","viewStmts","bindingCount","preprocessUpdateExpression","nameResolver","getOutputVar","General","guardExpression","guardClause","viewName","viewFactory","astWithSource","inter","visitElementOrTemplate","fullTemplateTypeCheck","getTypeGuardExpressions","childVisitor","inputDefs","updateRendererExpressions","outputDefs","inputAst","dirAst","outputVarType","hostEventAst","currBuilder","varAst","pipeExpr","pipeOutputVar","CLASS_ATTR$1","STYLE_ATTR","IMPLICIT_TEMPLATE_VAR","ViewCompileResult","viewClassVar","rendererTypeVar","ViewCompiler","renderComponentVarName","customRenderData","renderComponentVar","ViewBuilder$1","LOG_VAR$1","VIEW_VAR","CHECK_VAR","COMP_VAR","EVENT_NAME_VAR","ALLOW_DEFAULT_VAR","purePipeNodeIndices","refNodeIndices","_createPipe","queryIndex","calcStaticDynamicQueryFlags","nodeFlags","nodeDef","needsAdditionalRootNode","_createNodeExpressions","updateRendererStmts","updateDirectivesStmts","nodeDefExprs","updateRendererFn","_createUpdateFn","updateDirectivesFn","viewFlags","OnPush","updateStmts","updateFn","preStmts","checkIndex","bindingIndex","_preprocessUpdateExpression","updateRenderer","_visitElementOrTemplate","queryMatchesExpr","childCount","_createElementHandleEventFn","usedEvents","dirHostBindings","elementBindingDef","compAst","compRendererType","compView","fixedAttrsDef","elementEventNameAndTarget","elementEventFullName","_visitComponentFactoryResolverProvider","localDirAst","_visitDirective","dirHostEvents","_visitProvider","queryMatchExprs","_visitProviderOrDirective","updateDirectiveExpressions","dirContextExpr","updateDirectives","_addProviderNode","componentDirMeta","currViewExpr","refNodeIndex","varValue","valueExpr","callCheckStmt","compViewExpr","compBuilder","pipeNodeIndex","pipeValueExpr","callUnwrapValue","nodeValueExpr","diDep","_createLiteralArrayConverter","_createLiteralMapConverter","_createPipeConverter","updateBindingCount","createUpdateStatements","logWithNodeDef","allowEmptyExprs","handlers","handleEventStmts","handleEventBindingCount","trueStmts","eventTarget","fullEventName","identical","handleEventFn","lastAstNode","elementAst","mapResult","mergeAttributeValue","attrValue1","attrValue2","bindingIdx","MessageBundle","htmlParserResult","i18nParserResult","filterSources","mapperVisitor","MapPlaceholderNames","msgList","src","transformedMessage","write","GeneratedFile","srcFileUrl","genFileUrl","sourceOrStmts","toTypeScript","emitStatements","listLazyRoutes","allLazyRoutes","ROUTES","loadChildren","_collectLoadChildren","route","parseLazyRoute","routes","routePath","routeName","referencedModule","TS","ResolvedStaticSymbol","SUPPORTED_SCHEMA_VERSION","StaticSymbolResolver","staticSymbolCache","summaryResolver","errorRecorder","metadataCache","resolvedSymbols","importAs","symbolResourcePaths","symbolFromFile","knownFileNameToModuleNames","staticSymbol","_resolveSymbolMembers","resultFromSummary","_resolveSymbolFromSummary","resultFromCache","_createSymbolsOf","useSummaries","baseSymbol","getStaticSymbol","baseImportAs","getImportAs","summarizedFileName","summarizedName","resolvedSymbol","unwrapResolvedMetadata","resolveSymbol","arity","sourceSymbol","targetSymbol","assertNoMembers","symbols","recorder","baseResolvedSymbol","baseMetadata","__symbolic","statics","getModuleMetadata","metadataKey","decorators","summarySymbols","getSymbolsOf","moduleExport","export","exportSymbol","unescapeIdentifier","symName","resolvedModule","resolveModule","createExport","nestedExports","topLevelSymbolNames","origins","symbolMeta","origin","originFilePath","getOutputName","createResolvedSymbol","uniqueSymbols","topLevelPath","isTsFile","isLibraryFile","transformedMeta","_originalFileMemo","getOriginalName","ReferenceTransformer","functionParams","symbolic","oldLen","getMetadataFor","unwrappedTransformedMeta","moduleMetadata","moduleMetadatas","maxVersion","md","errorMessage","containingFile","moduleNameToFileName","serializeSummaries","srcFileName","forJitCtx","symbolResolver","createExternalSymbolReexports","toJsonSerializer","ToJsonSerializer","addSummary","json","forJitSerializer","ForJitSerializer","addSourceType","unprocessedSymbolSummariesBySymbol","addLibType","deserializeSummaries","symbolCache","libraryFileName","deserializer","FromJsonDeserializer","deserialize","createForJitStub","createSummaryForJitFunction","indexBySymbol","reexportedBy","processedSummaryBySymbol","processedSummaries","getKnownModuleName","unprocessedSummary","processedSummary","processValue","isCall","isFunctionCall","isMethodCallOnVariable","declarationSymbol","ngModuleSummary","summaries","reexportSymbol","__symbol","toSummaryFileName","visitStaticSymbol","loadSummary","isLibrary","exportAsArr","exportAsBySymbol","ngModuleSymbols","serializeSummaryWithDeps","ngModuleSymbol","jitExportAsName","serializeSummaryRef","serializeSummary","typeSymbol","jitImportedSymbol","Transformer","allImportAs","serializedSymbol","fromSummaryFileName","AotCompiler","_options","_host","_metadataResolver","_templateParser","_styleCompiler","_viewCompiler","_typeCheckCompiler","_ngModuleCompiler","_injectableCompiler","_outputEmitter","_symbolResolver","_templateAstCache","_analyzedFiles","_analyzedFilesForInjectables","rootFiles","analyzeResult","analyzeAndValidateNgModules","ngModules","loadNgModuleDirectiveAndPipeMetadata","analyzedFile","analyzeFile","analyzeFileForInjectables","genFileNames","_analyzeFile","allowEmptyCodegenFiles","injectables","exportsNonSourceFiles","enableSummariesForJit","fileSuffix","dirSymbol","normalizedUrl","resourceNameToFileName","needsShim","_stylesModuleUrl","genFileName","originalFileName","_createOutputContext","originalFile","_createNgFactoryStub","_createEmptyStub","_codegenSourceModule","fileNames","tsFiles","files","loadingPromises","analyzedInjectables","tsFile","_analyzeFileForInjectables","analyzedModules","mergeAndValidateNgFiles","emitFlags","ngModuleIndex","createStub","_externalIdentifierReferences","typeIndex","dirId","getDirectiveMetadata","_createTypeCheckBlock","getHostComponentMetadata","_parseTemplate","parsedTemplate","compileComponent","messageBundle","compMetas","updateFromTemplate","r3Files","ngModuleByPipeOrDirective","contextMap","_compilePartialModule","_compileShallowModules","shallowModules","schemaRegistry","hostBindingParser","expressionParser","directiveMetadata","getDirectiveSummary","getPipeSummary","pipeMetadata","getPipeMetadata","compile","_emitPartialModule2","sourceModules","_compileImplFile","generatedFiles","_createSummary","_compileModule","componentStylesheet","stylesheetMeta","_codegenStyles","compViewVars","_compileComponent","_compileComponentFactory","srcModule","ngFactoryCtx","symbolSummaries","typeData","getInjectableSummary","forJitOutputCtx","createExternalSymbolFactoryReexports","summaryJson","normalizedLocale","i18nFormat","hostMeta","hostViewFactoryVar","compFactoryVar","inputsExprs","outputsExprs","directiveIdentifiers","componentStyles","stylesExpr","viewResult","_resolveStyleStatements","importExpr$1","getTypeArity","importModule","_fileNameToModuleName","selfReference","suppliedTypeParams","missingTypeParamsCount","allTypeParams","memberName","importedFilePath","containingFilePath","fileNameToModuleName","stylesheetMetadata","compiledStylesheet","entryRoute","visitLazyRoute","lazyRoutes","lazyRoute","seenRoutes","compileResult","stylesheetUrl","analyzeNgModules","staticSymbolResolver","metadataResolver","_analyzeFilesIncludingNonProgramFiles","mergeAnalyzedFiles","validateAnalyzedModules","symbolsMissingModule","seenFiles","visitFile","isSourceFile","modMeta","abstractDirectives","hasDecorators","isDeclarationFile","isNgSymbol","isInjectable","getInjectableMetadata","isValueExportingNonSourceFile","getShallowModuleMetadata","Visitor","analyzedFiles","allNgModules","allPipesAndDirectives","af","FORMATTED_MESSAGE","indentStr","half","floor","formatChain","chain","kid","formattedError","isFormattedError","ANGULAR_CORE","ANGULAR_ROUTER","HIDDEN_KEY","IGNORE","USE_VALUE$1","PROVIDE","REFERENCE_SET","TYPEGUARD_POSTFIX","USE_IF","shouldIgnore","StaticReflector","knownMetadataClasses","knownMetadataFunctions","annotationCache","shallowAnnotationCache","propertyCache","parameterCache","methodCache","staticCache","conversionMap","resolvedExternalReferences","annotationForParentClassWithSummaryKind","initializeConversionMap","kc","_registerDecoratorOrConstructor","kf","_registerFunction","findSymbolDeclaration","getResourcePath","refSymbol","getSymbolByModule","recordModuleNameForFileName","recordImportAs","ignoreErrorsFor","findDeclaration","resolvedMetadata","originalRecorder","_annotations","simplify","classMetadata","getTypeMetadata","parentType","findParentType","parentAnnotations","ownAnnotations","requiredAnnotationTypes","typeHasRequiredAnnotation","requiredType","formatMetadataError","metadataError","parentPropMetadata","parentProp","propData","ctorData","rawParameterTypes","parameterDecorators","rawParamType","nestedResult","paramType","trySimplify","methodNames","parentMethodNames","_methodNames","isMethod","staticMembers","staticMemberData","_staticMembers","injectionToken","opaqueToken","tryFindDeclaration","lazy","BindingScope$1","empty","calling","rootContext","simplifyInContext","depth","resolveReferenceValue","simplifyEagerly","simplifyLazily","simplifyNested","nestedContext","isMetadataError","summaryMsg","errorSummary","advise","simplifyCall","functionSymbol","targetFunction","targetExpression","defaults","functionScope","define","oldScope","done","FUNCTION_CALL_NOT_SUPPORTED","isPrimitive","spreadArray","spreadItem","declarationValue","operand","indexTarget","member","selectContext","selectTarget","localValue","missing","argExpressions","mapStringMap","reportingContext","METADATA_ERROR","REFERENCE_TO_NONEXPORTED_CLASS","VARIABLE_NOT_INITIALIZED","DESTRUCTURE_NOT_SUPPORTED","COULD_NOT_RESOLVE_TYPE","REFERENCE_TO_LOCAL_SYMBOL","LAMBDA_NOT_SUPPORTED","expandedMessage","messageAdvise","PopulatedScope","formatMetadataMessageChain","nesting","AotSummaryResolver","summaryCache","loadedFilePaths","referringSrcFileName","referringLibFileName","rootSymbol","_loadSummaryFile","hasSummary","summaryFilePath","createAotUrlResolver","basePath","createAotCompiler","compilerHost","errorCollector","urlResolver","staticReflector","enableIvy","normalizer","loadResource","tmplParser","viewCompiler","typeCheckCompiler","compiler","SummaryResolver","JitSummaryResolver","_summaries","interpretStatements","_ExecutionContext","StatementInterpreter","exportName","_executeFunctionStatements","varValues","childCtx","createChildWihtLocalVars","instance","ReturnValue","createDynamicClass","_classStmt","_ctx","propertyDescriptors","instanceCtx","paramNames","writable","ctorParamNames","superClass","initialValue","currCtx","CATCH_ERROR_VAR$2","CATCH_STACK_VAR$2","subscribe","bind","_declareFn","JitCompiler","_jitEvaluator","_compilerConfig","getExtraNgModuleProviders","_compiledTemplateCache","_compiledHostTemplateCache","_compiledDirectiveWrapperCache","_compiledNgModuleCache","_sharedStylesheetCount","_addedAotSummaries","_compileModuleAndComponents","_compileModuleAndAllComponents","_addAotSummaries","ids","hasAotSummary","_loadModules","_compileComponents","componentFactories","ngModuleFactory","mainModule","mainNgModule","_filterJitIdentifiers","nestedNgModule","getOrLoadPipeMetadata","createOutputContext","_interpretOrJit","allComponentFactories","moduleByJitDirective","templates","transJitModules","localMod","localModuleMeta","dirRef","_createCompiledTemplate","_createCompiledHostTemplate","entryComponentType","_compileTemplate","compiledTemplate","assertComponent","viewDefFactory","CompiledTemplate","isCompiled","externalStylesheetsByModuleUrl","outputContext","_resolveStylesCompileResult","evalResult","viewClass","compiled","nestedCompileResult","nestedStylesArr","_resolveAndEvalStylesCompileResult","_viewClass","CompileReflector","createUrlResolverWithoutPackagePrefix","UrlResolver","createOfflineCompileUrlResolver","_packagePrefix","resolvedUrl","_resolveUrl","resolvedParts","_split","_ComponentIndex","Scheme","Path","getUrlScheme","_buildFromEncodedParts","opt_scheme","opt_userInfo","opt_domain","opt_port","opt_path","opt_queryData","opt_fragment","_splitRe","uri","_removeDotSegments","leadingSlash","trailingSlash","up","_joinAndCanonicalizePath","UserInfo","Domain","Port","QueryData","Fragment","encodeURI","baseParts","Extractor","extractor","R3TargetBinder","Scope","templateEntities","extractTemplateEntities","DirectiveBinder","TemplateBinder","nestingLevel","R3BoundTarget","parentScope","namedEntities","childScopes","ingest","maybeDeclare","thing","lookup","newRootScope","dirTarget","setAttributeBinding","ioType","hasBindingPropertyName","visitNode","childScope","getChildScope","binder","maybeMap","exprTargets","dirs","rootScope","entityMap","extractScopeEntities","currentEntities","scopesToProcess","entities","getDOM","isObservable","Examples","_buildValueString","_extractId","resolvedPromise","formControlBinding","formDirectiveProvider","NgNoValidate","NgSelectMultipleOption","InternalFormsSharedModule","CDK_VERSION","AnimationEngine","AnimationStyleNormalizer","supportsWebAnimations","WebAnimationsDriver","CssKeyframesDriver","WebAnimationsStyleNormalizer","DomRendererFactory2","NoopAnimationDriver","ReflectionCapabilities","Console","PLATFORM_BROWSER_ID","INTERNAL_BROWSER_PLATFORM_PROVIDERS","noSideEffects","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","parentClass","additionalProcessing","typeFn","metaCtor","makeMetadataCtor","DecoratorFactory","annotationInstance","TypeDecorator","cls","annotationCls","makeParamDecorator","ParamDecoratorFactory","ParamDecorator","unusedKey","makePropDecorator","PropDecoratorFactory","decoratorInstance","PropDecorator","ɵ0","Inject","Optional","Self","SkipSelf","Host","ɵ1","InjectFlags","getClosureSafeProperty","objWithPropertyToExtract","fillProperties","opts","defineInjectable","ɵɵdefineInjector","getInjectableDef","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","getInheritedInjectableDef","getTypeName","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ɵinj","ngInjectableDef","ngInjectorDef","concatStringsWithSpace","__forward_ref__","forwardRef","forwardRefFn","isForwardRef","__globalThis","globalThis","getCompilerFacade","globalNg","NG_COMP_DEF","ɵcmp","NG_DIR_DEF","ɵdir","NG_PIPE_DEF","ɵpipe","NG_MOD_DEF","ɵmod","NG_LOC_ID_DEF","ɵloc","NG_FACTORY_DEF","ɵfac","NG_ELEMENT_ID","__NG_ELEMENT_ID__","ngDevModeResetPerfCounters","locationString","newCounters","namedConstructors","firstCreatePass","tNode","tView","rendererCreateTextNode","rendererSetText","rendererCreateElement","rendererAddEventListener","rendererSetAttribute","rendererRemoveAttribute","rendererSetProperty","rendererSetClassName","rendererAddClass","rendererRemoveClass","rendererSetStyle","rendererRemoveStyle","rendererDestroy","rendererDestroyNode","rendererMoveNode","rendererRemoveNode","rendererAppendChild","rendererInsertBefore","rendererCreateComment","allowNgDevModeTrue","initNgDevMode","ngDevMode","assertNumber","actual","throwError","assertNumberInRange","minInclusive","maxInclusive","assertLessThanOrEqual","assertGreaterThanOrEqual","assertString","assertEqual","expected","assertNotEqual","assertSame","assertNotSame","assertLessThan","assertGreaterThan","assertNotDefined","assertDefined","comparison","assertDomNode","Node","assertIndexInRange","maxLen","assertOneOf","validValues","InjectionToken","_THROW_IF_NOT_FOUND","THROW_IF_NOT_FOUND","NG_TEMP_TOKEN_PATH","NG_TOKEN_PATH","NEW_LINE","NO_NEW_LINE","SOURCE","ɵ0$1","_currentInjector","setCurrentInjector","injector","former","_injectImplementation","setInjectImplementation","impl","assertInjectImplementationNot","injectInjectorOnly","injectRootLimpMode","ɵɵinject","ɵɵinvalidFactoryDep","notFoundValue","NullInjector","catchInjectorError","injectorErrorName","tokenPath","formatError","angularCoreDiEnv","typeAny","addAllToArray","dst","deepForEach","addToArray","removeFromArray","arraySplice","arrayInsert","previousEnd","arrayInsert2","value1","value2","arrayInsertSorted","arrayIndexOfSorted","arrayRemoveSorted","_arrayIndexOfSorted","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","keyValueArrayGet","keyValueArrayDelete","middle","ChangeDetectorStatus","isDefaultChangeDetectionStrategy","ViewEncapsulation$1","EMPTY_OBJ","_renderCompCount","ɵɵdefineComponent","componentDefinition","typePrototype","declaredInputs","providersResolver","decls","hostVars","onPush","directiveDefs","pipeDefs","setInput","directiveTypes","pipeTypes","invertObject","extractDirectiveDef","extractPipeDef","ɵɵsetComponentScope","getComponentDef","getDirectiveDef","getPipeDef","autoRegisterModuleById","ɵɵdefineNgModule","transitiveCompileScopes","ɵɵsetNgModuleScope","getNgModuleDef","secondary","newLookup","minifiedKey","ɵɵdefineDirective","ɵɵdefinePipe","onDestroy","ngOnDestroy","getFactoryDef","throwNotFound","hasFactoryDef","getNgLocaleIdDef","HOST","TVIEW","FLAGS","PARENT","NEXT","TRANSPLANTED_VIEWS_TO_REFRESH","T_HOST","CLEANUP","CONTEXT","INJECTOR$1","RENDERER_FACTORY","RENDERER","SANITIZER","CHILD_HEAD","CHILD_TAIL","DECLARATION_VIEW","DECLARATION_COMPONENT_VIEW","DECLARATION_LCONTAINER","PREORDER_HOOK_FLAGS","QUERIES","HEADER_OFFSET","TViewTypeAsString","unusedValueExportToPlacateAjd","TYPE","HAS_TRANSPLANTED_VIEWS","NATIVE","VIEW_REFS","MOVED_VIEWS","CONTAINER_HEADER_OFFSET","unusedValueExportToPlacateAjd$1","isLView","isLContainer","isContentQueryHost","isComponentHost","isDirectiveHost","isComponentDef","isRootView","assertTNodeForLView","lView","assertTNodeForTView","assertTNode","tView_","assertTIcu","tIcu","currentCaseLViewIndex","assertComponentType","assertNgModuleType","assertCurrentTNodeIsParent","isParent","assertHasParent","assertDataNext","assertLContainer","assertLViewOrUndefined","assertLView","assertFirstCreatePass","errMessage","assertFirstUpdatePass","firstUpdatePass","assertDirectiveDef","assertIndexInDeclRange","assertBetween","assertIndexInVarsRange","expandoStartIndex","assertIndexInExpandoRange","lower","upper","assertNodeInjector","injectorIndex","RuntimeError","formatRuntimeError","fullCode","renderStringify","stringifyForError","ɵ0$2","requestAnimationFrame","setTimeout","defaultScheduler","ɵɵresolveWindow","ownerDocument","defaultView","ɵɵresolveDocument","ɵɵresolveBody","INTERPOLATION_DELIMITER","maybeUnwrapFn","throwCyclicDependencyError","depPath","throwMultipleComponentError","throwMixedMultiProviderError","throwInvalidProviderError","ngModuleDetail","providerDetail","throwErrorIfNoChangesMode","creationMode","oldValue","currValue","constructDetailsForInterpolation","rootIndex","expressionIndex","changedValue","slotIdx","getExpressionChangedErrorDetails","tData","throwProviderNotFoundError","injectorName","injectorDetails","SimpleChange","previousValue","currentValue","firstChange","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","ngOnChanges","ngOnChangesSetInput","rememberChangeHistoryAndInvokeOnChangesHook","ngInherit","simpleChangesStore","getSimpleChangesStore","privateName","setSimpleChangesStore","previousChange","SIMPLE_CHANGES_STORE","store","SVG_NAMESPACE","MATH_ML_NAMESPACE","MONKEY_PATCH_KEY_NAME","DOCUMENT","setDocument","document","getDocument","RendererStyleFlags3","isProceduralRenderer","renderer","listen","ɵ0$3","hostElement","domRendererFactory3","createRenderer","unusedValueExportToPlacateAjd$2","unwrapRNode","unwrapLView","unwrapLContainer","getNativeByIndex","getNativeByTNode","getNativeByTNodeOrNull","getTNode","view","getComponentLViewByIndex","slotValue","readPatchedData","readPatchedLView","isCreationMode","viewAttachedToChangeDetector","viewAttachedToContainer","getConstant","resetPreOrderHookFlags","updateTransplantedViewCount","lContainer","amount","viewOrContainer","instructionState","lFrame","createLFrame","bindingsEnabled","isInCheckNoChangesMode","specOnlyIsInstructionStateEmpty","getElementDepthCount","elementDepthCount","increaseElementDepthCount","decreaseElementDepthCount","getBindingsEnabled","ɵɵenableBindings","ɵɵdisableBindings","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","getCurrentTNode","currentTNode","getCurrentTNodePlaceholderOk","getCurrentParentTNode","setCurrentTNode","isCurrentTNodeParent","setCurrentTNodeAsNotParent","setCurrentTNodeAsParent","getContextLView","setIsInCheckNoChangesMode","getBindingRoot","bindingRootIndex","getBindingIndex","setBindingIndex","nextBindingIndex","incrementBindingIndex","isInI18nBlock","inI18n","setInI18nBlock","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveIndex","getCurrentDirectiveDef","getCurrentQueryIndex","currentQueryIndex","setCurrentQueryIndex","getDeclarationTNode","declTNode","enterDI","parentTNode","parentLView","allocLFrame","enterView","newView","newLFrame","selectedIndex","firstChild","currentLFrame","childLFrame","leaveViewLight","oldLFrame","leaveDI","leaveView","nextContextImpl","walkUpViews","currentView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceMathML","ɵɵnamespaceHTML","namespaceHTMLInternal","getNamespace","registerPreOrderHooks","ngOnInit","ngDoCheck","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","registerPostOrderHooks","directiveStart","directiveEnd","ngAfterContentInit","ngAfterContentChecked","ngAfterViewInit","ngAfterViewChecked","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","hooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentNodeIndex","nodeIndexLimit","lastNodeIndexFound","isInitHook","callHook","indexWithintInitPhase","NO_PARENT_INJECTOR","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","isFactory","unusedValueExportToPlacateAjd$3","toTNodeTypeAsString","tNodeType","unusedValueExportToPlacateAjd$4","hasClassInput","hasStyleInput","assertTNodeType","expectedTypes","assertPureTNodeType","setUpAttributes","native","isProc","namespaceURI","attrVal","setAttribute","setAttributeNS","setProperty","isNameOnlyAttributeMarker","mergeHostAttrs","srcMarker","mergeHostAttribute","key1","key2","markerInsertPosition","dstValue","hasParentInjector","parentLocation","getParentInjectorIndex","parentInjectorIndex","getParentInjectorViewOffset","getParentInjectorView","startView","viewOffset","parentView","includeViewProviders","setIncludeViewProviders","BLOOM_SIZE","BLOOM_MASK","nextNgElementId","bloomAdd","bloomBit","mask","b7","b6","b5","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","parentData","footer","declarationViewOffset","lViewCursor","tViewType","diPublicInInjector","injectAttributeImpl","attrNameToInject","attrsLength","notFoundValueOrThrow","lookupTokenUsingModuleInjector","moduleInjector","previousInjectImplementation","getOrCreateInjectable","bloomHash","bloomHashBitOrFactory","NodeInjector","previousTView","hostTElementNode","shouldSearchParent","bloomHasToken","searchTokensOnInjector","NOT_FOUND","currentTView","canAccessViewProviders","isHostSpecialCase","injectableIdx","locateDirectiveOrProvider","getNodeInjectable","nodeProviderIndexes","providerIndexes","tInjectables","injectablesStart","directivesStart","cptViewProvidersCount","startingIndex","endIndex","providerTokenOrDef","dirDef","previousIncludeViewProviders","success","tokenId","injectorView","isFirstHostTNode","_tNode","_lView","ɵɵgetFactoryOf","ɵɵgetInheritedFactory","ownConstructor","ownFactory","objectPrototype","ERROR_TYPE","ERROR_DEBUG_CONTEXT","ERROR_ORIGINAL_ERROR","ERROR_LOGGER","wrappedError","originalError","getType","getDebugContext","getOriginalError","getErrorLogger","defaultErrorLogger","ErrorHandler","_findOriginalError","_findContext","errorLogger","policy","getPolicy","trustedTypes","createPolicy","createHTML","createScript","createScriptURL","trustedHTMLFromString","trustedScriptFromString","script","trustedScriptURLFromString","newTrustedFunctionForDev","SafeValueImpl","changingThisBreaksApplicationSecurity","SafeHtmlImpl","SafeStyleImpl","SafeScriptImpl","SafeUrlImpl","SafeResourceUrlImpl","unwrapSafeValue","allowSanitizationBypassAndThrow","actualType","getSanitizationBypassType","bypassSanitizationTrustHtml","trustedHtml","bypassSanitizationTrustStyle","trustedStyle","bypassSanitizationTrustScript","trustedScript","bypassSanitizationTrustUrl","trustedUrl","bypassSanitizationTrustResourceUrl","trustedResourceUrl","_devMode","_runModeLocked","isDevMode","enableProdMode","getInertBodyHelper","defaultDoc","isDOMParserAvailable","DOMParserHelper","InertDocumentHelper","DOMParser","parseFromString","removeChild","inertDocument","implementation","createHTMLDocument","inertHtml","createElement","appendChild","inertBodyElement","templateEl","innerHTML","inertBody","documentMode","stripCustomNsAttrs","elAttrs","attrib","removeAttribute","childNode","nodeType","ELEMENT_NODE","nextSibling","SAFE_URL_PATTERN","SAFE_SRCSET_PATTERN","DATA_URL_PATTERN","_sanitizeUrl","sanitizeSrcset","srcset","tagSet","sets","VOID_ELEMENTS","OPTIONAL_END_TAG_BLOCK_ELEMENTS","OPTIONAL_END_TAG_INLINE_ELEMENTS","OPTIONAL_END_TAG_ELEMENTS","BLOCK_ELEMENTS","INLINE_ELEMENTS","VALID_ELEMENTS","URI_ATTRS","SRCSET_ATTRS","HTML_ATTRS","ARIA_ATTRS","VALID_ATTRS","SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS","SanitizingHtmlSerializer","sanitizedSomething","buf","traverseContent","startElement","TEXT_NODE","endElement","checkClobberedElement","parentNode","elAttr","encodeEntities","nextNode","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","outerHTML","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","unsafeHtml","getInertBodyElement","mXSSAttempts","parsedHtml","sanitizer","safeHtml","sanitizeChildren","getTemplateContent","ɵɵsanitizeHtml","getSanitizer","sanitize","ɵɵsanitizeStyle","unsafeStyle","ɵɵsanitizeUrl","unsafeUrl","ɵɵsanitizeResourceUrl","unsafeResourceUrl","ɵɵsanitizeScript","unsafeScript","ɵɵtrustConstantHtml","ɵɵtrustConstantScript","ɵɵtrustConstantResourceUrl","getUrlSanitizer","ɵɵsanitizeUrlOrResourceUrl","validateAgainstEventProperties","validateAgainstEventAttributes","createNamedArrayType","normalizeDebugBindingName","camelCaseToDashCase","CAMEL_CASE_REGEXP","normalizeDebugBindingValue","getLContext","mpValue","isComponentInstance","findViaComponent","isDirectiveInstance","findViaDirective","getDirectivesAtNodeIndex","findViaNativeElement","existingCtx","createLContext","attachPatchData","rElement","parentContext","localRefs","getComponentViewByInstance","componentInstance","traverseNextElement","componentIndices","elementComponentIndex","componentView","rootComponentView","rootComponent","directiveInstance","directiveIndexStart","directiveIndexEnd","includeComponents","directiveStartIndex","directiveEndIndex","getComponentAtNodeIndex","discoverLocalRefs","localNames","localIndex","_icuContainerIterate","icuContainerIterate","tIcuContainerNode","ensureIcuContainerVisitorLoaded","loader","unusedValueExportToPlacateAjd$5","getLViewParent","getRootView","componentOrLView","getRootContext","viewOrComponent","rootView","getFirstLContainer","getNearestLContainer","getNextLContainer","unusedValueToPlacateAjd","applyToElementOrContainer","lNodeToHandle","beforeNode","rNode","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","destroyNode","applyContainer","createTextNode","createText","updateTextNode","createCommentNode","createComment","createElementNode","namespace","createElementNS","removeViewFromContainer","applyView","addViewToContainer","parentNativeNode","renderDetachView","destroyViewTree","lViewOrLContainer","cleanUpView","firstView","insertView","indexInContainer","containerLength","declarationLContainer","trackMovedView","lQueries","declarationContainer","movedViews","insertedLContainer","insertedComponentLView","declaredComponentLView","detachMovedView","declarationViewIndex","insertionLContainer","detachView","removeIndex","viewToDetach","removedLView","destroyLView","executeOnDestroys","removeListeners","destroy","tCleanup","cleanup","lCleanup","idxOrTargetGetter","useCaptureOrSubIdx","removeEventListener","unsubscribe","toCall","getParentRElement","getClosestRElement","isMove","insertBefore","nativeAppendOrInsertBefore","nativeRemoveChild","isHostElement","nativeParentNode","nativeNextSibling","getInsertInFrontOfRNode","_getInsertInFrontOfRNodeWithI18n","getInsertInFrontOfRNodeWithNoI18n","_processI18nInsertBefore","setI18nHandling","getInsertInFrontOfRNodeWithI18n","processI18nInsertBefore","childRNode","childTNode","parentRNode","anchorNode","getFirstNativeNode","getBeforeNodeForView","elIcuContainerChild","rNodeOrLContainer","nextRNode","componentHost","firstProjectedTNode","viewIndexInContainer","nextViewIndex","firstTNodeOfView","nativeParent","applyNodes","parentRElement","isProjection","rawSlotValue","applyProjectionRecursive","projectionNext","applyProjection","tProjectionNode","componentLView","componentNode","nodeToProjectOrRNodes","nodeToProject","projectedComponentLView","anchor","applyStyling","isProcedural","removeClass","classList","remove","addClass","removeStyle","removeProperty","setStyle","writeDirectStyle","writeDirectClass","classIndexOf","classToSearch","foundIndex","unusedValueToPlacateAjd$1","NG_TEMPLATE_SELECTOR","isCssClassMatching","cssClassToMatch","isProjectionMode","isInlineTemplate","hasTagAndTypeMatch","currentSelector","tagNameToCompare","isNodeMatchingSelector","nodeAttrs","nameOnlyMarkerIdx","getNameOnlyMarkerIndex","skipToNextSelector","isPositive","selectorAttrValue","attrIndexInNode","findAttrIndexInNode","nodeAttrValue","compareAgainstClassName","bindingsMode","maybeAttrName","matchTemplateAttribute","isNodeMatchingSelectorList","getProjectAsAttrValue","ngProjectAsAttrIdx","nodeAttr","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","chunk","stringifyCSSSelector","currentChunk","valueOrMarker","stringifyCSSSelectorList","selectorList","extractAttrsAndClassesFromSelector","NO_CHANGE","__brand__","ɵɵadvance","selectIndexInternal","checkNoChangesMode","hooksInitPhaseCompleted","toTStylingRange","getTStylingRangePrev","tStylingRange","getTStylingRangePrevDuplicate","setTStylingRangePrev","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","getTStylingRangeNextDuplicate","setTStylingRangeNextDuplicate","getTStylingRangeTail","attachDebugObject","debug","attachDebugGetter","debugGetter","NG_DEV_MODE","LVIEW_COMPONENT_CACHE","LVIEW_EMBEDDED_CACHE","LVIEW_ROOT","cloneToLViewFromTViewBlueprint","debugTView","getLViewToClone","componentArray","nameSuffix","embeddedArray","TViewConstructor","hostBindingOpCodes","staticViewQueries","staticContentQueries","directiveRegistry","pipeRegistry","incompleteFirstPass","_decls","_vars","processTNodeChildren","TNode","insertBeforeIndex","directiveStylingLast","mergedAttrs","initialInputs","tViews","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","buildDebugNode","type_","flags_","toDebugStyleBinding","providerIndexStart_","TNodeDebug","itemKey","itemRange","prevDuplicate","nextDuplicate","nextIndex","prevIndex","template_","TViewData","TVIEWDATA_EMPTY","cloneToTViewData","LViewBlueprint","MatchesArray","TViewComponents","TNodeLocalNames","TNodeInitialInputs","TNodeInitialData","LCleanup","TCleanup","attachLViewDebug","LViewDebug","attachLContainerDebug","LContainerDebug","toDebug","toHtml","includeChildren","COMMENT_NODE","_raw_lView","__raw__flags__","initPhaseState","firstViewPass","checkAlways","dirty","attached","destroyed","indexWithinInitPhase","mapToHTML","toDebugNodes","toLViewRange","childViews","childHead","debugNodes","tNodeCursor","rawValue","factories","instances","buildNodeInjectorDebug","providerIndexEnd_","nodeInjectorDebug","bloom","toBloom","cumulativeBloom","binary","_raw_lContainer","ɵ0$4","_CLEAN_PROMISE","processHostBindingOpCodes","opCode","directiveIdx","bindingRootIndx","hostBindingFn","refreshContentQueries","queryStartIdx","directiveDefIdx","refreshChildComponents","hostLView","refreshComponent","renderChildComponents","renderComponent","createLView","tHostNode","rendererFactory","getOrCreateTNode","createTNodeAtIndex","createTNode","allocExpando","numSlotsToAlloc","allocIdx","renderView","executeViewQueryFn","templateFn","executeTemplate","refreshView","isInCheckNoChangesPass","markTransplantedViewsForRefresh","refreshEmbeddedViews","renderComponentOrTemplate","normalExecutionPath","creationModeIsActive","begin","rf","prevSelectedIndex","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","invokeDirectivesHostBindings","saveResolvedLocalsInData","viewData","localRefExtractor","getOrCreateTComponentView","createTView","constsOrFactory","initialViewLength","createViewBlueprint","fill","seal","createError","assertHostNodeExists","elementOrSelector","locateHostElement","preserveContent","ShadowDom","selectRootElement","querySelector","storeCleanupWithContext","cleanupFn","getLCleanup","getTViewCleanup","tParent","generatePropertyAliases","inputAliasMap","propStore","initializeInputAndOutputAliases","tViewData","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","directiveInputs","generateInitialInputs","mapPropName","elementPropertyInternal","nativeOnly","inputData","dataValue","setInputsForProperty","markDirtyIfOnPush","setNgReflectProperties","logUnknownPropertyError","matchingSchemas","viewIndex","childComponentLView","setNgReflectProperty","debugValue","instantiateRootComponent","rootTNode","configureViewWithDirective","resolveDirectives","hasDirectives","findDirectiveDefMatches","exportsMap","initTNodeFlags","preOrderHooksFound","preOrderCheckHooksFound","saveNameToExportMap","lifeCycleHooks","cacheMatchingLocalNames","registerHostBindingOpCodes","directiveVarsIdx","elementIndx","lastSelectedElementIdx","addComponentLogic","setInputsFromAttrs","dirIndex","invokeHostBindingsInCreationMode","markAsComponentHost","hostTNode","numberOfDirectives","directiveFactory","nodeInjectorFactory","addToViewTree","elementAttributeInternal","setElementAttribute","initialInputData","nativeElement","inputsToStore","LContainerArray","createLContainer","hostNative","embeddedLView","embeddedTView","movedLView","componentHostIdx","refreshContainsDirtyView","componentTView","syncViewWithBlueprint","markViewDirty","scheduleTick","nothingScheduled","clean","scheduler","tickRootContext","playerHandler","flushPlayers","detectChangesInternal","detectChangesInRootView","checkNoChangesInternal","checkNoChangesInRootView","viewQueryFn","storePropertyBindingMetadata","propBindingIdxs","bindingMetadata","interpolationParts","CLEAN_PROMISE","loadComponentRenderer","currentDef","errorHandler","textBindingInternal","ViewRef","_cdRefInjectingView","_appRef","_viewContainerRef","detach","vcRef","appRef","collectNativeNodes","RootViewRef","_view","lNode","lViewInAContainer","lViewFirstChildTNode","nodesInSlot","injectElementRef","ElementRefToken","createElementRef","R3ElementRef","R3TemplateRef","injectTemplateRef","TemplateRefToken","createTemplateRef","_declarationView","_declarationTContainer","elementRef","declarationViewLQueries","createEmbeddedView","R3ViewContainerRef","injectViewContainerRef","ViewContainerRefToken","previousTNode","createContainerRef","_lContainer","_hostTNode","_hostView","templateRef","viewRef","insert","projectableNodes","ngModuleRef","contextInjector","parentInjector","componentRef","allocateContainerIfNeeded","prevIdx","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","attachToViewContainerRef","newIndex","viewRefsArr","detachedView","wasDetached","commentNode","parentOfHostNative","commentTNode","injectChangeDetectorRef","createViewRef","isComponentView","hostComponentView","getOrCreateRenderer2","injectRenderer2","nodeAtIndex","SWITCH_CHANGE_DETECTOR_REF_FACTORY","SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__","SWITCH_CHANGE_DETECTOR_REF_FACTORY__PRE_R3__","ɵ0$5","isType","ES5_DELEGATE_CTOR","ES2015_INHERITED_CLASS","ES2015_INHERITED_CLASS_WITH_CTOR","ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR","isDelegateCtor","reflect","_reflect","paramTypes","paramAnnotations","parentCtor","tsickleCtorParams","ctorParameters","ctorParam","convertTsickleDecoratorIntoMetadata","_zipTypesAndAnnotations","getOwnMetadata","getParentCtor","_ownParameters","_ownAnnotations","propDecorators","ownPropMetadata","_ownPropMetadata","functionBody","enumIdentifier","decoratorInvocations","decoratorInvocation","decoratorType","annotationArgs","parentProto","getReflect","reflectDependencies","convertDependencies","reflectDependency","setTokenAndResolvedType","proto","srcMeta","ngFactoryDef","compileFactory","ɵ0$6","isUseClassProvider","isUseValueProvider","isUseFactoryProvider","isUseExistingProvider","compilerMeta","ɵ0$7","USE_VALUE$2","EMPTY_ARRAY$1","convertInjectableProviderToFactory","reflectionCapabilities","valueProvider","existingProvider","factoryProvider","classProvider","ɵ0$8","SWITCH_COMPILE_INJECTABLE","render2CompileInjectable","injectableType","SWITCH_COMPILE_INJECTABLE__POST_R3__","SWITCH_COMPILE_INJECTABLE__PRE_R3__","INJECTOR_SCOPE","NOT_YET","CIRCULAR","EMPTY_ARRAY$2","NULL_INJECTOR","getNullInjector","createInjector","defType","additionalProviders","createInjectorWithoutInjectorInstances","_resolveInjectorDefTypes","R3Injector","records","injectorDefTypes","_destroyed","dedupStack","processProvider","processInjectorType","makeRecord","record","assertNotDestroyed","service","previousInjector","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","nextInjector","defOrWrappedDef","parents","defName","isDuplicate","importTypesWithProviders","imported","defProviders","injectorType","isTypeProvider","providerToRecord","multiRecord","existing","hasOnDestroy","getUndecoratedInjectableFactory","paramLength","inheritedInjectableDef","isValueProvider","providerToFactory","unwrappedProvider","isFactoryProvider","isExistingProvider","classRef","hasDeps","isClassProvider","INJECTOR_IMPL__PRE_R3__","StaticInjector","INJECTOR_IMPL__POST_R3__","INJECTOR_IMPL","NULL","IDENT","ɵ0$9","EMPTY","CIRCULAR$1","MULTI_PROVIDER_FN","ɵ1$1","NO_NEW_LINE$1","_records","useNew","recursivelyProcessProviders","resolveProvider","lastInjector","tryResolveToken","computeDeps","staticError","multiProviderMixError","resolveToken","depRecords","depRecord","childRecord","providerDeps","findFirstClosedCycle","constructResolvingPath","reversed","tokenStrs","injectionError","constructResolvingMessage","addKey","injectors","noProviderError","cyclicDependencyError","instantiationError","originalException","originalStack","invalidProviderError","noAnnotationError","ii","parameter","outOfBoundsError","mixingMultiProvidersWithRegularProvidersError","provider1","provider2","ReflectiveKey","displayName","_globalKeyRegistry","numberOfKeys","KeyRegistry","_allKeys","newKey","Reflector","caps","setter","importUri","resourceUri","resolveIdentifier","resolveEnum","ReflectiveDependency","visibility","_EMPTY_LIST","ResolvedReflectiveProvider_","resolvedFactories","resolvedFactory","ResolvedReflectiveFactory","resolveReflectiveFactory","factoryFn","resolvedDeps","_dependenciesFor","aliasInstance","fromKey","constructDependencies","resolveReflectiveProvider","resolveReflectiveProviders","normalized","_normalizeProviders","resolvedProviderMap","mergeResolvedReflectiveProviders","normalizedProvidersMap","_extractToken","_createDependency","paramMetadata","UNDEFINED","ReflectiveInjector","ResolvedReflectiveProviders","fromResolvedProviders","ReflectiveInjector_","_providers","_constructionCounter","keyIds","objs","_getByKey","createChildFromResolved","inj","instantiateResolved","_instantiateProvider","_getMaxNumberOfObjects","_instantiate","_getByReflectiveDependency","INJECTOR_KEY","_getByKeySelf","_getByKeyDefault","keyId","_new","_getObjByKeyId","_throwOrNull","inj_","_mapProviders","getProviderAtIndex","Query","ɵ0$a","ContentChildren","ɵ1$2","ContentChild","ɵ2","ViewChildren","ɵ3","ViewChild","resolveComponentResources","resourceResolver","componentResolved","urlMap","cachedResourceResolve","resp","unwrapResponse","componentResourceResolutionQueue","promises","styleOffset","fullyResolved","componentDefResolved","clearResolutionOfComponentResourcesQueue","componentDefPendingResolution","maybeQueueResolutionOfComponentResources","componentNeedsResolution","isComponentDefPendingResolution","old","restoreComponentResolutionQueue","queue","isComponentResourceResolutionQueueEmpty","response","computeStaticStyling","writeToHost","styleValue","detectChanges","markDirty","tick","getComponent","assertDomElement","loadLContext","getOwningComponent","elementOrDir","getRootComponents","getInjector","getInjectionTokens","providerTokens","isDirectiveDefHack","getDirectives","throwOnNotFound","getLocalRefs","getHostElement","componentOrDirective","getRenderedText","loadLContextFromNode","getListeners","lContext","firstParam","secondParam","listenerElement","useCaptureOrIndx","useCapture","sortListeners","getDebugNode","debugNode","valueInLView","getComponentLView","nodeIndx","applyChanges","GLOBAL_PUBLISH_EXPANDO_KEY","_published","publishDefaultGlobalUtils","publishGlobalUtil","COMPILED","ɵ0$b","NULL_INJECTOR$1","renderComponent$1","componentDef","componentTag","hostRenderer","hostRNode","rootFlags","createRootContext","rootTView","createRootComponentView","createRootComponent","hostFeatures","viewRenderer","rootLView","LifecycleHooksFeature","whenRendered","getSuperType","ɵɵInheritDefinitionFeature","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","animation","defData","mergeHostAttrsAcrossInheritance","prevViewQuery","prevContentQueries","prevHostBindings","COPY_DIRECTIVE_FIELDS","COPY_COMPONENT_FIELDS","ɵɵCopyDefinitionFeature","defAny","_symbolIterator","getSymbolIterator","Symbol","iterator","devModeEqual","isListLikeIterableA","isListLikeIterable","isListLikeIterableB","areIterablesEqual","isAObject","isBObject","is","WrappedValue","isWrapped","isJsObject","comparator","iterator1","iterator2","item1","item2","iterateListLike","updateBinding","getBinding","bindingUpdated","oldValueToCompare","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolationV","isBindingUpdated","interpolation1","v0","interpolation2","i0","v1","interpolation3","v2","interpolation4","v3","interpolation5","v4","interpolation6","i4","v5","interpolation7","i5","v6","interpolation8","i6","v7","ɵɵattributeInterpolate1","interpolatedValue","ɵɵattributeInterpolate2","ɵɵattributeInterpolate3","ɵɵattributeInterpolate4","ɵɵattributeInterpolate5","ɵɵattributeInterpolate6","ɵɵattributeInterpolate7","ɵɵattributeInterpolate8","ɵɵattributeInterpolateV","interpolated","interpolationInBetween","templateFirstCreatePass","attrsIndex","localRefsIndex","tViewConsts","ɵɵtemplate","adjustedIndex","ɵɵreference","ɵɵdirectiveInject","ɵɵinjectAttribute","ɵɵinvalidFactory","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","elementStartFirstCreatePass","logUnknownElementError","ɵɵelementStart","ɵɵelementEnd","ɵɵelement","isUnknown","HTMLUnknownElement","customElements","elementContainerStartFirstCreatePass","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","ɵɵlistener","listenerFn","eventTargetResolver","listenerInternal","ɵɵsyntheticHostListener","findExistingListener","tNodeIdx","cleanupEventName","listenerIdxInLCleanup","isTNodeDirectiveHost","processOutputs","lCleanupIndex","existingListener","lastListenerFn","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","addEventListener","propsLength","subscription","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","preventDefault","returnValue","ɵɵnextContext","matchingProjectionSlotIndex","projectionSlots","ngProjectAsAttrVal","ɵɵprojectionDef","numProjectionSlots","projectionHeads","tails","componentChild","slotIndex","ɵɵprojection","selectorIndex","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","ɵɵpropertyInterpolate2","ɵɵpropertyInterpolate3","ɵɵpropertyInterpolate4","ɵɵpropertyInterpolate5","ɵɵpropertyInterpolate6","ɵɵpropertyInterpolate7","ɵɵpropertyInterpolate8","ɵɵpropertyInterpolateV","EMPTY_OBJ$1","EMPTY_ARRAY$3","__unused_const_as_closure_does_not_like_standalone_comment_blocks__","insertTStylingBinding","tStylingKeyWithStatic","isClassBinding","tBindings","tmplHead","tmplTail","isKeyDuplicateOfStatic","tStylingKey","staticKeyValueArray","hasTemplateBindings","previousNode","markDuplicates","markDuplicateOfResidualStyling","residual","isPrevDir","tStylingAtIndex","isMap","foundDuplicate","tStylingValueAtCursor","tStyleRangeAtCursor","isStylingMatch","tStylingKeyCursor","parserState","textEnd","keyEnd","valueEnd","getLastParsedKey","getLastParsedValue","parseClassName","resetParserState","parseClassNameNext","consumeWhitespace","consumeClassToken","parseStyle","parseStyleNext","consumeStyleKey","consumeSeparator","consumeStyleValue","malformedStyleError","ch1","ch2","ch3","lastChIndex","consumeQuotedText","quoteCharCode","expecting","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵstyleMap","checkStylingMap","styleKeyValueArraySet","styleStringParser","ɵɵclassMap","classStringParser","stylingFirstUpdatePass","updateStyling","normalizeSuffix","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","updateStylingMap","toStylingKeyValueArray","isHostBindings","wrapInStaticStylingKey","stylingKey","hostDirectiveDef","isFirstStylingInstructionInTemplate","collectStylingFromDirectives","collectStylingFromTAttrs","isFirstStylingInstructionInHostBinding","templateStylingKey","getTemplateHeadTStylingKey","setTemplateHeadTStylingKey","collectResidual","currentDirective","desiredMarker","currentMarker","styleKeyValueArray","unwrappedValue","oldKeyValueArray","newKeyValueArray","oldIndex","oldKey","setKey","tRange","higherPriorityValue","findStylingValue","isStylingValuePresent","isPrevDirection","rawKey","containsStatics","isStylingMap","valueAtLViewIndex","ɵɵtext","textNative","ɵɵtextInterpolate","ɵɵtextInterpolate1","ɵɵtextInterpolate2","ɵɵtextInterpolate3","ɵɵtextInterpolate4","ɵɵtextInterpolate5","ɵɵtextInterpolate6","ɵɵtextInterpolate7","ɵɵtextInterpolate8","ɵɵtextInterpolateV","ɵɵclassMapInterpolate1","ɵɵclassMapInterpolate2","ɵɵclassMapInterpolate3","ɵɵclassMapInterpolate4","ɵɵclassMapInterpolate5","ɵɵclassMapInterpolate6","ɵɵclassMapInterpolate7","ɵɵclassMapInterpolate8","ɵɵclassMapInterpolateV","ɵɵstyleMapInterpolate1","ɵɵstyleMapInterpolate2","ɵɵstyleMapInterpolate3","ɵɵstyleMapInterpolate4","ɵɵstyleMapInterpolate5","ɵɵstyleMapInterpolate6","ɵɵstyleMapInterpolate7","ɵɵstyleMapInterpolate8","ɵɵstyleMapInterpolateV","ɵɵstylePropInterpolate1","valueSuffix","ɵɵstylePropInterpolate2","ɵɵstylePropInterpolate3","ɵɵstylePropInterpolate4","ɵɵstylePropInterpolate5","ɵɵstylePropInterpolate6","ɵɵstylePropInterpolate7","ɵɵstylePropInterpolate8","ɵɵstylePropInterpolateV","ɵɵhostProperty","ɵɵsyntheticHostProperty","ngI18nClosureMode","goog","getMsg","u","plural","abs","localeEn","LOCALE_DATA","registerLocaleData","localeId","extraData","LocaleDataIndex","LocaleId","ExtraData","findLocaleData","normalizeLocale","getLocaleData","parentLocale","getLocaleCurrencyCode","CurrencyCode","getLocalePluralCase","PluralCase","common","locales","unregisterAllLocaleData","pluralMapping","getPluralCase","DEFAULT_LOCALE_ID","USD_CURRENCY_CODE","ELEMENT_MARKER","ICU_MARKER","I18nCreateOpCode","unusedValueExportToPlacateAjd$6","setLocaleId","getLocaleId","tNodeInsertBeforeIndex","i18nParent","anchorRNode","i18nChild","addTNodeAndUpdateInsertBeforeIndex","previousTNodes","newTNode","existingTNode","isI18nText","isNewTNodeCreatedBefore","getInsertBeforeIndex","setInsertBeforeIndex","getTIcu","setTIcu","setTNodeInsertBeforeIndex","createTNodePlaceholder","getCurrentICUCaseIndex","currentCase","getParentFromIcuCreateOpCode","mergedCode","getRefFromIcuCreateOpCode","getInstructionFromIcuCreateOpCode","icuCreateOpCode","parentIdx","refIdx","changeMask","changeMaskCounter","setMaskBit","hasChange","min","applyI18n","tI18n","updateOpCodes","update","bindingsStartIndex","applyUpdateOpCodes","applyCreateOpCodes","createOpCodes","insertInFrontOf","isComment","COMMENT","appendNow","APPEND_EAGERLY","SHIFT","applyMutableOpCodes","mutableOpCodes","rootIdx","rootRNode","textNodeIndex","caseIndex","anchorIdx","elementNodeIndex","commentValue","commentNodeIndex","commentRNode","elementRNode","checkBit","skipCodes","sanitizeFn","tNodeOrTagName","rText","applyIcuSwitchCase","applyIcuUpdateCase","currentIndex","activeCaseIndex","getCaseIndex","applyIcuSwitchCaseRemove","removeCodes","nodeOrIcuIndex","bindingValue","resolvedCase","loadIcuContainerVisitor","_stack","_removes","icuContainerIteratorStart","enterIcu","icuContainerIteratorNext","removeOpCode","tIcuIndex","i18nCreateOpCodesToString","opcodes","i18nUpdateOpCodesToString","OpCodeParser","consumeOpCode","consumeString","sanitizationFn","consumeFunction","hasMore","consumeNumber","consumeNumberOrString","opCodeText","icuCreateOpCodesToString","lastRef","consumeNumberStringOrMarker","i18nRemoveOpCodesToString","codes","BINDING_REGEXP","ICU_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","MARKER","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","i18nStartFirstCreatePass","parentTNodeIndex","subTemplateIndex","existingTNodeStack","getTranslationForTemplate","msgParts","i18nParseTextIntoPartsAndICU","i18nStartFirstCreatePassProcessTextNode","icuContainerTNode","createTNodeAndAddOpCode","mainBinding","icuNodeIndex","icuStart","existingTNodes","isICU","i18nNodeIdx","generateBindingUpdateOpCodes","i18nAttributesFirstPass","previousElement","previousElementIndex","destinationNode","maskIndex","sizeIndex","textParts","textValue","toMaskBit","isRootTemplateMessage","removeInnerTemplateTranslation","inTemplate","tagMatched","search","bindingMask","addUpdateIcuSwitch","valueArr","nestedIcus","icuIndex","parseIcuCase","addUpdateIcuUpdate","parseICUBlock","prevPos","braceStack","braces","block","caseName","unsafeCaseHtml","inertRootNode","walkIcuTree","sharedUpdateOpCodes","currentNode","addCreateNodeAndAppend","lowerAttrName","addCreateAttribute","addRemoveNode","isNestedIcu","nestedIcuIndex","addRemoveNestedIcu","appendToParentIdx","createAtIdx","ROOT_TEMPLATE_ID","PP_MULTI_VALUE_PLACEHOLDERS_REGEXP","PP_PLACEHOLDERS_REGEXP","PP_ICU_VARS_REGEXP","PP_ICU_PLACEHOLDERS_REGEXP","PP_ICUS_REGEXP","PP_CLOSE_TEMPLATE_REGEXP","PP_TEMPLATE_ID_REGEXP","replacements","templateIdsStack","templateId","isCloseTemplateTag","currentTemplateId","_type","_idx","ɵɵi18nStart","messageIndex","sameViewParentTNode","ɵɵi18nEnd","ɵɵi18n","ɵɵi18nAttributes","ɵɵi18nExp","ɵɵi18nApply","ɵɵi18nPostprocess","resolveProvider$1","lInjectablesBlueprint","providerFactory","beginIndex","existingFactoryIndex","registerDestroyHooksIfSupported","existingProvidersFactoryIndex","existingViewProvidersFactoryIndex","doesProvidersFactoryExist","doesViewProvidersFactoryExist","multiFactory","multiViewProvidersFactoryResolver","multiProvidersFactoryResolver","indexInFactory","multiFactoryAdd","componentProviders","contextIndex","providerIsTypeProvider","existingCallbacksIndex","isComponentProvider","lData","multiResolve","componentCount","multiProviders","ɵɵProvidersFeature","processProvidersFn","noComponentFactoryError","ERROR_COMPONENT","getComponent$1","_NullComponentFactoryResolver","_ngModule","_factories","resolveComponentFactory","ComponentFactoryBoundToModule","rootSelectorOrNode","SWITCH_ELEMENT_REF_FACTORY","SWITCH_ELEMENT_REF_FACTORY__POST_R3__","SWITCH_ELEMENT_REF_FACTORY__PRE_R3__","Renderer2Interceptor","RendererFactory2","RendererStyleFlags2","SWITCH_RENDERER2_FACTORY","SWITCH_RENDERER2_FACTORY__POST_R3__","SWITCH_RENDERER2_FACTORY__PRE_R3__","Sanitizer","DefaultIterableDifferFactory","trackByFn","DefaultIterableDiffer","trackByIdentity","ɵ0$c","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","_trackByFn","_next","nextIt","nextRemove","addRemoveOffset","moveOffsets","getPreviousIndex","adjPreviousIndex","_nextRemoved","previousIndex","localMovePreviousIndex","localCurrentIndex","_nextPrevious","_nextAdded","_nextMoved","_nextIdentityChange","collection","check","_reset","mayBeDirty","itemTrackBy","trackById","_mismatch","_verifyReinsertion","_addIdentityChange","_truncate","isDirty","previousRecord","_prev","_remove","_moveAfter","_reinsertAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","nextRecord","_addToRemovals","_unlink","prevRecord","_prevRemoved","_insertAfter","_DuplicateMap","put","toIndex","_prevDup","_nextDup","_DuplicateItemRecordList","_head","_tail","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","KeyValueChangeRecord_","_addToAdditions","_addToChanges","IterableDiffers","iterable","supports","getTypeNameForDebugging","copied","KeyValueDiffers","kv","keyValDiff","iterableDiff","defaultIterableDiffers","defaultKeyValueDiffers","SWITCH_TEMPLATE_REF_FACTORY","SWITCH_TEMPLATE_REF_FACTORY__POST_R3__","SWITCH_TEMPLATE_REF_FACTORY__PRE_R3__","SWITCH_VIEW_CONTAINER_REF_FACTORY","SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__","SWITCH_VIEW_CONTAINER_REF_FACTORY__PRE_R3__","expressionChangedAfterItHasBeenCheckedError","isFirstCheck","viewDebugError","viewWrappedDebugError","_addDebugContext","logError","isViewDebugError","viewDestroyedError","shiftInitState","priorInitState","newInitState","initState","initIndex","shouldCallLifecycleInitHook","NodeData","asTextData","asElementData","asProviderData","asPureExpressionData","asQueryList","DebugContext","Services","setCurrentNode","createRootView","createComponentView","createNgModuleRef","overrideProvider","overrideComponentView","clearOverrides","checkAndUpdateView","checkNoChangesView","destroyView","resolveDep","createDebugContext","handleEvent","dirtyParentQueries","NOOP","_tokenKeyCache","tokenKey","nodeIdx","unwrap","globalBindingIdx","oldValues","UNDEFINED_RENDERER_TYPE_ID","EMPTY_RENDERER_TYPE_ID","_renderCompCount$1","resolveRendererType2","isFilled","checkBinding","checkAndUpdateBinding","checkBindingNoChanges","markParentViewsForCheck","currView","viewContainerParent","markParentViewsForCheckProjectedViews","endView","dispatchEvent","root","declaredViewContainer","parentNodeDef","viewParentEl","renderNode","renderElement","renderText","isEmbeddedView","filterQueryId","splitMatchedQueriesDsl","matchedQueriesDsl","matchedQueries","matchedQueryIds","splitDepsDsl","sourceName","getParentRenderElement","renderHost","renderParent","componentRendererType","DEFINITION_CACHE","WeakMap","resolveDefinition","rootRenderNodes","renderNodes","visitRootRenderNodes","lastRenderRootNode","visitSiblingRenderNodes","visitRenderNode","visitProjectedRenderNodes","hostElDef","projectedNodes","execRenderNodeAction","rn","bindingFlags","embeddedViews","viewContainer","_embeddedViews","NS_PREFIX_RE","splitNamespace","calcBindingFlags","valueCount","constAndInterp","_toStringWithNull","c0","a1","c1","a2","c2","a3","c3","a4","c4","a5","c5","a6","c6","a7","c7","a8","c8","a9","c9","EMPTY_ARRAY$4","UNDEFINED_VALUE","InjectorRefTokenKey","INJECTORRefTokenKey","NgModuleRefTokenKey","moduleProvideDef","depDefs","providersByKey","initNgModule","_def","provDef","_createProviderInstance","resolveNgModuleDep","providerInstance","targetsModule","moduleTransitivelyPresent","_createClass","_callFactory","depValues","callNgModuleLifecycle","lifecycles","attachEmbeddedView","elementData","attachProjectedView","prevView","renderAttachEmbeddedView","vcElementData","dvcElementData","projectedViews","_projectedViews","markNodeAsProjectedTemplate","childFlags","detachEmbeddedView","renderDetachView$1","detachProjectedView","moveEmbeddedView","oldViewIndex","newViewIndex","prevRenderNode","EMPTY_CONTEXT","ComponentFactory_","getComponentViewDefinitionFactory","_inputs","_outputs","componentNodeIndex","componentProvider","ComponentRef_","ViewRef_","inputsArr","outputsArr","_viewRef","_component","_elDef","changeDetectorRef","Injector_","createViewContainerData","elDef","elData","ViewContainerRef_","_data","viewRef_","createChangeDetectorRef","fs","disposables","createTemplateData","TemplateRef_","_parentView","createInjector$1","allowPrivateServices","NgModuleRef_","_moduleType","_bootstrapComponents","_destroyListeners","injectFlags","Renderer2TokenKey","ElementRefTokenKey","ViewContainerRefTokenKey","TemplateRefTokenKey","ChangeDetectorRefTokenKey","InjectorRefTokenKey$1","INJECTORRefTokenKey$1","nonMinifiedName","outputIndex","directChildFlags","childMatchedQueries","createProviderInstance","_createProviderInstance$1","createPipeInstance","createClass","createDirectiveInstance","outputObservable","eventHandlerClosure","checkAndUpdateDirectiveInline","v8","v9","providerData","changes","bindLen","updateProp","checkAndUpdateDirectiveDynamic","callFactory","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","searchView","findCompView","cdView","allProviders","publicProviders","callLifecycleHooksChildrenFirst","callProviderLifecycles","callElementProvidersLifecycles","ComponentFactoryResolver$1","ComponentFactory$1","toRefArray","nonMinified","minified","getNamespace$1","SCHEDULER","createChainedInjector","rootViewInjector","isBoundToModule","tElementNode","nodesforSlot","ComponentRef$1","componentFactoryResolver","injectComponentFactoryResolver","_rootLView","destroyCbs","registerModuleFactory","assertSameOrNotExisting","incoming","registerNgModuleType","recurse","clearModulesForTest","getRegisteredNgModuleType","NgModuleRef$1","ngLocaleIdDef","_r3Injector","NgModuleFactory$1","ɵɵpureFunction0","pureFn","thisArg","ɵɵpureFunction1","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","ɵɵpureFunction4","pureFunction4Internal","ɵɵpureFunction5","exp5","ɵɵpureFunction6","exp6","ɵɵpureFunction7","exp7","ɵɵpureFunction8","exp8","ɵɵpureFunctionV","exps","pureFunctionVInternal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","getPipeDef$1","pipeFactory","pipeInstance","ɵɵpipeBind1","unwrapValue$1","isPure","ɵɵpipeBind2","ɵɵpipeBind3","ɵɵpipeBind4","ɵɵpipeBindV","bindingToInvalidateIdx","EventEmitter_","isAsync","__isAsync","generatorOrNext","complete","schedulerFn","errorFn","completeFn","sink","Subscription","Subject","EventEmitter","symbolIterator","_results","resultsTree","emit","unusedValueExportToPlacateAjd$7","unusedValueExportToPlacateAjd$8","unusedValueToPlacateAjd$2","LQuery_","queryList","setDirty","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","parentLQuery","indexInDeclarationView","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","isStatic","TQueries_","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","matchIdx","createResultByTNodeType","createResultForNode","matchingIdx","createSpecialToken","materializeViewResults","lQuery","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","ɵɵqueryRefresh","reset","notifyOnChanges","ɵɵstaticViewQuery","descend","viewQueryInternal","ɵɵviewQuery","createTQuery","createLQuery","ɵɵcontentQuery","contentQueryInternal","ɵɵstaticContentQuery","saveContentQueryAndDirectiveIndex","ɵɵloadQuery","loadQueryInternal","track","tViewContentQueries","lastSavedDirectiveIndex","ɵɵtemplateRefExtractor","ɵɵinjectPipeChangeDetectorRef","ɵ0$d","jitOptions","setJitOptions","getJitOptions","resetJitOptions","EMPTY_ARRAY$5","moduleQueue","enqueueModuleForDelayedScoping","flushingModuleQueue","flushModuleScopingQueueAsMuchAsPossible","isResolvedDeclaration","setScopeOnDeclaredComponents","declaration","compileNgModuleDefs","allowDuplicateDeclarationsInRoot","expandModuleWithProviders","verifySemanticsOfNgModuleDef","importingModule","verifiedNgModule","unwrapModuleWithProvidersImports","verifySemanticsOfNgModuleImport","verifyDeclarationsHaveDefinitions","verifyDirectivesHaveSelector","combinedDeclarations","computeCombinedExports","verifyExportsAreDeclaredOrReExported","verifyDeclarationIsUnique","verifyComponentEntryComponentsIsPartOfNgModule","getAnnotation","verifyCorrectBootstrapType","verifyComponentIsPartOfNgModule","suppressErrors","existingModule","ownerNgModule","typeOrWithProviders","collect","__annotations__","readAnnotation","decorator","resetCompiledComponents","transitiveScopes","transitiveScopesFor","patchComponentDefWithScope","ngSelectorScope","compilation","scopes","exported","importedScope","declared","declaredWithDefs","exportedScope","isModuleWithProviders","compilationDepth","ngComponentDef","addDirectiveFactoryDef","createParseSourceSpan","addDirectiveDefToUndecoratedParents","hasSelectorScope","compileDirective","ngDirectiveDef","extendsDirectlyFromObject","extractQueriesMetadata","isContentQuery","extractExportAs","objPrototype","shouldAddAbstractDirective","convertToR3QueryPredicate","splitByComma","isQueryAnn","queriesMeta","isInputAnnotation","LIFECYCLE_HOOKS","hookName","metadataName","compilePipe","ngPipeDef","ɵ0$e","ɵ1$3","SWITCH_COMPILE_DIRECTIVE","ɵ2$1","ɵ3$1","SWITCH_COMPILE_COMPONENT","ɵ4","ɵ5","SWITCH_COMPILE_PIPE","ɵ6","Input","ɵ7","Output","ɵ8","HostBinding","ɵ9","HostListener","SWITCH_COMPILE_COMPONENT__POST_R3__","SWITCH_COMPILE_DIRECTIVE__POST_R3__","SWITCH_COMPILE_PIPE__POST_R3__","SWITCH_COMPILE_COMPONENT__PRE_R3__","SWITCH_COMPILE_DIRECTIVE__PRE_R3__","SWITCH_COMPILE_PIPE__PRE_R3__","ɵ0$f","ɵ1$4","SWITCH_COMPILE_NGMODULE","preR3NgModuleCompile","SWITCH_COMPILE_NGMODULE__POST_R3__","SWITCH_COMPILE_NGMODULE__PRE_R3__","APP_INITIALIZER","ApplicationInitStatus","appInits","initialized","donePromise","rej","reject","asyncInitPromises","initResult","catch","ApplicationInitStatus_Factory","APP_ID","_appIdRandomProviderFactory","_randomChar","APP_ID_RANDOM_PROVIDER","random","PLATFORM_INITIALIZER","PLATFORM_ID","APP_BOOTSTRAP_LISTENER","PACKAGE_ROOT_URL","log","Console_Factory","LOCALE_ID$1","DEFAULT_CURRENCY_CODE","TRANSLATIONS","SWITCH_IVY_ENABLED__POST_R3__","SWITCH_IVY_ENABLED__PRE_R3__","ivyEnabled","ModuleWithComponentFactories","_throwError","Compiler_compileModuleSync__PRE_R3__","Compiler_compileModuleSync__POST_R3__","Compiler_compileModuleSync","Compiler_compileModuleAsync__PRE_R3__","Compiler_compileModuleAsync__POST_R3__","Compiler_compileModuleAsync","Compiler_compileModuleAndAllComponentsSync__PRE_R3__","Compiler_compileModuleAndAllComponentsSync__POST_R3__","Compiler_compileModuleAndAllComponentsSync","Compiler_compileModuleAndAllComponentsAsync__PRE_R3__","Compiler_compileModuleAndAllComponentsAsync__POST_R3__","Compiler_compileModuleAndAllComponentsAsync","Compiler","compileModuleSync","compileModuleAsync","compileModuleAndAllComponentsSync","compileModuleAndAllComponentsAsync","Compiler_Factory","COMPILER_OPTIONS","CompilerFactory","scheduleMicroTask","Zone","getNativeRequestAnimationFrame","nativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","__symbol__","unpatchedCancelAnimationFrame","NgZone","enableLongStackTrace","shouldCoalesceEventChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","isStable","onUnstable","onMicrotaskEmpty","onStable","onError","assertZonePatched","_nesting","_outer","_inner","fork","lastRequestAnimationFrameId","forkInnerZoneWithAngularBehavior","applyThis","applyArgs","run","zone","task","scheduleEventTask","EMPTY_PAYLOAD","noop$1","runTask","cancelTask","runGuarded","isInAngularZone","checkStable","runOutsideAngular","delayChangeDetectionForEvents","fakeTopEventTask","updateMicroTaskStatus","invoke","delayChangeDetectionForEventsDelegate","maybeDelayChangeDetection","onInvokeTask","onEnter","invokeTask","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","change","_hasPendingMicrotasks","microTask","macroTask","onHandleError","NoopNgZone","Testability","_ngZone","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","clearTimeout","timeoutId","doneCb","pending","getPendingTasks","updateCb","macroTasks","creationLocation","timeout","addCallback","using","exactMatch","Testability_Factory","TestabilityRegistry","_applications","_testabilityGetter","addToWindow","testability","elem","findInAncestors","findTestabilityInTree","TestabilityRegistry_Factory","_NoopGetTestability","setTestabilityGetter","_platform","compileNgModuleFactory","compileNgModuleFactory__POST_R3__","compileNgModuleFactory__PRE_R3__","compilerFactory","createCompiler","moduleFactory","compilerOptions","_lastDefined","compilerProviders","_mergeArrays","compilerInjector","resourceLoader","publishDefaultGlobalUtils__PRE_R3__","publishDefaultGlobalUtils__POST_R3__","publishDefaultGlobalUtils$1","isBoundToModule__POST_R3__","isBoundToModule__PRE_R3__","cf","ALLOW_MULTIPLE_PLATFORMS","NgProbeToken","createPlatform","PlatformRef","inits","createPlatformFactory","parentPlatformFactory","platform","getPlatform","injectedProviders","assertPlatform","requiredToken","destroyPlatform","_injector","_modules","ngZoneOption","ngZone","ngZoneEventCoalescing","getNgZone","ngZoneInjector","exceptionHandler","_callAndReportToErrorHandler","initStatus","runInitializers","_moduleDoBootstrap","optionsReducer","bootstrapModuleFactory","ApplicationRef","ngDoBootstrap","PlatformRef_Factory","_zone","_exceptionHandler","_componentFactoryResolver","_initStatus","_bootstrapListeners","_views","_runningTick","_enforceNoNewChanges","_stable","componentTypes","isCurrentlyStable","Observable","observer","stableSub","unstableSub","assertInAngularZone","merge$1","share","componentOrFactory","selectorOrNode","compRef","_unloadComponent","registerApplication","_loadComponent","checkNoChanges","attachToAppRef","detachFromAppRef","attachView","ApplicationRef_Factory","NgModuleFactoryLoader","getModuleFactory__PRE_R3__","noModuleError","getModuleFactory__POST_R3__","getModuleFactory","_SEPARATOR","FACTORY_CLASS_SUFFIX","SystemJsNgModuleLoaderConfig","DEFAULT_CONFIG","factoryPathPrefix","factoryPathSuffix","SystemJsNgModuleLoader","_compiler","legacyOfflineMode","loadFactory","loadAndCompile","System","checkNotEmpty","factoryClassSuffix","SystemJsNgModuleLoader_Factory","modulePath","ViewRef$1","EmbeddedViewRef","DebugEventListener","DebugNode__PRE_R3__","nativeNode","_debugContext","DebugElement__PRE_R3__","addChild","childIndex","siblingIndex","refChild","newChild","refIndex","queryAll","_queryElementChildren","_queryNodeChildren","eventObj","asNativeElements","debugEls","DebugNode__POST_R3__","DebugElement__POST_R3__","_queryAllR3","invokedListeners","eventListeners","unwrappedListener","copyDomProperties","collectPropertyBindings","lowercaseTNodeAttrs","eAttrs","lowercaseName","baseVal","getDebugNode__POST_R3__","NodePrototype","descriptors","getOwnPropertyDescriptors","isPrimitiveValue","elementsOnly","_queryNodeChildrenR3","_queryNativeNodeDescendants","rootNativeNode","_addQueryMatchR3","nodeOrContainer","_queryNodeChildrenInContainerR3","nextLView","nextTNode","childView","getDebugNode$1","bindingIndexes","metadataParts","_nativeNodeToDebugNode","getDebugNode__PRE_R3__","NG_DEBUG_PROPERTY","getDebugNodeR2__PRE_R3__","getDebugNodeR2__POST_R3__","_nativeNode","getDebugNodeR2","getAllDebugNodes","indexDebugNode","removeDebugNodeFromIndex","DebugNode","DebugElement","_CORE_PLATFORM_PROVIDERS","platformCore","_iterableDiffersFactory","_keyValueDiffersFactory","_localeFactory","getGlobalLocale","LOCALE","$localize","ɵ0$g","APPLICATION_MODULE_PROVIDERS","zoneSchedulerFactory","ApplicationModule","ApplicationModule_Factory","templateFactory","namespaceAndName","fixedAttrs","bindingDefs","suffixOrSecurityContext","listenToElementOutputs","handleEventClosure","renderEventHandlerClosure","listenTarget","listenerView","disposable","checkAndUpdateElementInline","checkAndUpdateElementValue","checkAndUpdateElementDynamic","setElementAttribute$1","setElementClass","setElementStyle","bindView","setElementProperty","renderValue","filterId","createQuery","queryIds","nodeMatchedQueries","tplDef","checkAndUpdateQuery","newValues","calcQueryValues","notify","getQueryValue","embeddedView","dvc","projectedView","queryValueType","appendNgContent","_pureExpressionDef","propToIndex","nbKeys","propertyNames","createPureExpression","checkAndUpdatePureExpressionInline","checkAndUpdatePureExpressionDynamic","staticText","checkAndUpdateTextInline","_addInterpolationPart","checkAndUpdateTextDynamic","valueStr","viewBindingCount","viewDisposableCount","viewNodeFlags","viewRootNodeFlags","viewMatchedQueries","currentRenderParent","currentElementHasPublicProviders","currentElementHasPrivateProviders","validateNode","isPrivateService","newParent","rootNodeFlags","outputCount","nodeCount","parentFlags","parentEnd","createView","initView","createViewNodes","compRenderer","hostDef","nodeData","compViewDef","execComponentViewsAction","ViewAction","CreateViewNodes","execQueriesAction","markProjectedViewsForCheck","execEmbeddedViewsAction","CheckNoChanges","CheckAndUpdate","callInit","checkAndUpdateNode","argStyle","checkAndUpdateNodeInline","checkAndUpdateNodeDynamic","checkNoChangesNode","checkNoChangesNodeInline","checkNoChangesNodeDynamic","checkNoChangesQuery","Destroy","destroyViewNodes","callViewAction","viewState","execProjectedViewsAction","CheckNoChangesProjectedViews","CheckAndUpdateProjectedViews","queryFlags","staticDynamicQueryFlag","checkType","initServicesIfNeeded","services","createDebugServices","createProdServices","createProdRootView","DebugContext_","prodCheckAndUpdateNode","prodCheckNoChangesNode","debugSetCurrentNode","debugCreateRootView","debugCreateEmbeddedView","debugCreateComponentView","debugCreateNgModuleRef","debugOverrideProvider","debugOverrideComponentView","debugClearOverrides","debugCheckAndUpdateView","debugCheckNoChangesView","debugDestroyView","debugHandleEvent","debugUpdateDirectives","debugUpdateRenderer","elInjector","createRootData","DebugRendererFactory2","defWithOverride","applyProviderOverridesToView","callWithDebugContext","DebugAction","viewDefOverrides","applyProviderOverridesToNgModule","providerOverrides","providerOverridesWithScope","override","compFactory","hostViewDef","elementIndicesWithOverwrittenProviders","findElementIndicesWithOverwrittenProviders","applyProviderOverridesToElement","elIndicesWithOverwrittenProviders","lastElementDef","elIndex","calcHasOverrides","hasOverrides","hasDeprecatedOverrides","applyProviderOverrides","deprecatedBehavior","moduleSet","_currentAction","_currentView","_currentNodeIndex","nextDirectiveWithBinding","debugCheckDirectivesFn","debugCheckAndUpdateNode","debugCheckNoChangesNode","nextRenderNodeWithBinding","debugCheckRenderNodeFn","givenValues","bindingValues","elView","logViewDef","logNodeIndex","renderNodeIndex","getRenderNodeIndex","currRenderNodeIndex","nodeLogger","elOrCompView","childDef","collectReferences","findHostElement","refName","oldAction","oldView","oldNodeIndex","getCurrentDebugContext","renderData","DebugRenderer2","whenRenderingDone","debugContextFactory","debugCtx","debugEl","debugChildEl","debugRefEl","oldChild","createNgModuleFactory","defFactory","NgModuleFactory_","cloneNgModuleDefinition","_ngModuleDefFactory","DomAdapter","parseCookieValue","setRootDomAdapter","allowSanitizationBypassOrThrow","nextUniqueId","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","isGeneratorFunction","genFun","mark","setPrototypeOf","awrap","__await","AsyncIterator","PromiseImpl","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","async","iter","doneResult","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","object","iteratorMethod","skipTempReset","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","PRE_STYLE","AnimationGroupPlayer","ONE_SECOND","lastValue","EmptyOutletComponent","applyRedirects","applyRedirectsFn","NoMatch","getOutlet","recognize","recognizeFn"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SCFgB,S,CAAU,K,EAAU;AAClC,SAAO,QAAQ,WAAI,KAAJ,GAAa,EAAb,CAAf;AACD;;AACD,SACgB,QADhB,CACyB,KADzB,EACmC;AACjC,SAAQ,KAAK,KAAK,SAAV,IAAuB,KAAK,KAAK,IAAlC,aAA6C,KAA7C,IAAuD,EAA9D;AACD;;AACD,SACgB,eADhB,CACgC,KADhC,EAC+C,GAD/C,EACmE;AAAA,MAAP,GAAO,uEAAD,CAAC;AACjE,SAAO,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,GAAL,CAAS,KAAT,EAAgB,GAAhB,CAAT,EAA+B,GAA/B,CAAP;AACD;;AACD,SACgB,QADhB,CACyB,KADzB,EACmC;AACjC,SAAO,OAAO,KAAP,KAAiB,QAAxB;AACD;;AACD,SACgB,QADhB,CACyB,KADzB,EACmC;AACjC,SAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAD,CAAV,CAAb;AACD;;AACD,SACgB,SADhB,CAC0B,KAD1B,EACoC;AAClC,SAAO,OAAO,KAAP,KAAiB,QAAjB,IAA6B,QAAQ,CAAC,KAAD,CAArC,IAAgD,IAAI,CAAC,KAAL,CAAW,KAAX,MAAsB,KAA7E;AACD;;AACD,SACgB,SADhB,CAC0B,KAD1B,EACoC;AAClC,SAAO,KAAK,KAAK,SAAV,IAAuB,KAAK,KAAK,IAAxC;AACD;;AACD,SACgB,SADhB,CAC0B,KAD1B,EACuC;AACrC,MAAI,QAAQ,CAAC,KAAD,CAAZ,EAAqB;AACnB,WAAO,WAAI,KAAJ,EAAY,KAAZ,CAAkB,CAAC,CAAnB,CAAP;AACD,GAFD,MAEO;AACL,WAAO,EAAP;AACD;AACF;;AACD,SACgB,YADhB,CAC6B,IAD7B,EACiC;AAC/B,SAAO,IAAI,CAAC,OAAL,CAAa,0BAAb,EAAyC,MAAzC,CAAP;AACD;;AACD,SACgB,YADhB,CAC6B,OAD7B,EAC2C,SAD3C,EAC4D;AAC1D,SAAO,OAAO,IAAI,OAAO,CAAC,SAAnB,IAAgC,OAAO,CAAC,SAAR,CAAkB,KAAlD,IACH,OAAO,CAAC,SAAR,CAAkB,KAAlB,CAAwB,KAAxB,EAA+B,OAA/B,CAAuC,SAAvC,KAAqD,CADzD;AAED;;AAED,IAAI,OAAO,OAAP,KAAmB,WAAnB,IAAkC,CAAC,OAAO,CAAC,SAAR,CAAkB,OAAzD,EAAkE;AAClE;AAEE,MAAI,CAAC,OAAO,CAAC,SAAR,CAAkB,OAAvB,EAAgC;AAClC;AACI,WAAO,CAAC,SAAR,CAAkB,OAAlB,GAA6B,OAAO,CAAC,SAAR,CAA0B,iBAA1B,IAA+C,OAAO,CAAC,SAAR,CAAkB,qBAA9F;AACD;;AAED,SAAO,CAAC,SAAR,CAAkB,OAAlB,GAA4B,UAAS,CAAT,EAAkB;AAC5C,QAAI,EAAE,GAAG,IAAT;;AACA,QAAI,CAAC,QAAQ,CAAC,eAAT,CAAyB,QAAzB,CAAkC,EAAlC,CAAL,EAA4C;AAC1C,aAAO,IAAP;AACD;;AACD,OAAG;AACD,UAAI,EAAE,CAAC,OAAH,CAAW,CAAX,CAAJ,EAAmB;AACjB,eAAO,EAAP;AACD;;AACD,QAAE,GAAG,EAAE,CAAC,aAAH,IAAoB,EAAE,CAAC,UAA5B;AACD,KALD,QAKS,EAAE,KAAK,IAAP,IAAe,EAAE,CAAC,QAAH,KAAgB,CALxC;;AAMA,WAAO,IAAP;AACD,GAZD;AAaD;;AACD,SACgB,OADhB,CACwB,OADxB,EAC8C,QAD9C,EAC+D;AAC7D,MAAI,CAAC,QAAL,EAAe;AACb,WAAO,IAAP;AACD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AACE;AACE;AAEJ;;;AAAP,MAAI,OAAO,OAAO,CAAC,OAAf,KAA2B,WAA/B,EAA4C;AAC1C,WAAO,IAAP;AACD;;AAED,SAAO,OAAO,CAAC,OAAR,CAAgB,QAAhB,CAAP;AACD;AAED;AACA;AACA;AACA;;;AACA,SAAgB,MAAhB,CAAuB,OAAvB,EAA2C;AACzC,SAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,IAArB,EAA2B,YAAlC;AACF;;AC/FO,IAAM,WAAW,GAAG;AACzB,WAAS,EAAE,IADc;AAEzB,wBAAsB,EAAE;AAFC,CAApB;ACGP;AACA;AACA;AACA;AACA;;IAEa,S,GADb;AAAA;;AAEE,mBAAY,WAAW,CAAC,SAAxB;AACD,C;;;;AACA,C;;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;kEAJS,S,EAAE;AAAkB,QAAC,0DAAnB;;;;AAAA,I;;;AACR,C;ACNL;AACA;AACA;AACA;AACA;AACA;;;IAEa,kB,GAKX,4BAAY,SAAZ,EAAgC;AAAA;;AAHhC,qBAAc,KAAd;AAGoC,OAAK,SAAL,GAAiB,SAAS,CAAC,SAA3B;AAAuC,C;;;;AAC5E,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA,cAPK;AAOL;;AAPM;AAAA,UADL;AAAA,UARgB;AAQhB,GACK;AAAA;AADiB;;;AAAQ,aAAC;AAAA;kEAAA;;;;AAAA,M;;;;GAAA,E,IAAA;AARV,CAQS;;AARP,SCDR,uBDCQ,CCDgB,ODChB,ECDoC;AAAA,8BACZ,MAAM,CAAC,gBAAP,CAAwB,OAAxB,CADY;AAAA,MACnD,eADmD,yBACnD,eADmD;AAAA,MAClC,kBADkC,yBAClC,kBADkC;;AAE1D,MAAM,kBAAkB,GAAG,UAAU,CAAC,eAAD,CAArC;AACA,MAAM,qBAAqB,GAAG,UAAU,CAAC,kBAAD,CAAxC;AAEA,SAAO,CAAC,kBAAkB,GAAG,qBAAtB,IAA+C,IAAtD;AACF;;ACcA,IAAM,MAAM,GAAuB,SAA7B,MAA6B,IAAQ,CAA3C;;AACA;IACO,sB,GAA0B,W,CAA1B,sB;AACP,IAAM,kBAAkB,GAAG,IAAI,GAAJ,EAA3B;;AAEO,IAAM,gBAAgB,GACzB,SADS,gBACT,CAAI,OAAJ,EAA0B,OAA1B,EAA4D,OAA5D,EAA4F;AAC5F;AAGM,MAAI,OAAO,GAAG,OAAO,CAAC,OAAR,IAAsB,EAApC,CAJsF,CAKhG;;AAEU,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAnB,CAAuB,OAAvB,CAAhB;;AACA,MAAI,OAAJ,EAAa;AACX,YAAQ,OAAO,CAAC,iBAAhB;AACZ;AAA+G;AAEjG,WAAK,UAAL;AACE,eAAO,2CAAP;AAChB;AAA0G;AACU;;AAEtG,WAAK,MAAL;AACE,eAAO,CAAC,WAAR,CAAoB,QAApB;AACA,eAAO,GAAG,MAAM,CAAC,MAAP,CAAc,OAAO,CAAC,OAAtB,EAA+B,OAA/B,CAAV;AACA,0BAAkB,CAAC,MAAnB,CAA0B,OAA1B;AAXJ;AAaD,GAtBqF,CAuBhG;AACsE;;;AAE5D,QAAM,CAAC,OAAD,CAAN;AAEA,MAAM,KAAK,GAAG,OAAO,CAAC,OAAD,EAAU,OAAV,CAAP,IAA6B,MAA3C,CA5BsF,CA6BhG;AACqF;AACL;AACS;;AAE/E,MAAI,CAAC,OAAO,CAAC,SAAT,IAAsB,MAAM,CAAC,gBAAP,CAAwB,OAAxB,EAAiC,kBAAjC,KAAwD,MAAlF,EAA0F;AACxF,SAAK;AACL,WAAO,gDAAE,CAAC,SAAD,CAAT;AACD,GArCqF,CAsChG;;;AAEU,MAAM,WAAW,GAAG,IAAI,6CAAJ,EAApB;AACA,MAAM,KAAK,GAAG,WAAW,CAAC,IAAZ,CAAiB,+DAAO,CAAC,IAAD,CAAxB,CAAd;AACA,oBAAkB,CAAC,GAAnB,CAAuB,OAAvB,EAAgC;AAAC,eAAW,EAAX,WAAD;AAAc,WAAO,EAAP;AAAd,GAAhC;AAEA,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,OAAD,CAApD,CA5CsF,CA6ChG;AAC+F;AACP;AACD;AACnB;AACS;;AAEnE,MAAM,cAAc,GAChB,uDAAS,CAAC,OAAD,EAAU,eAAV,CAAT,CAAoC,IAApC,CAAyC,iEAAS,CAAC,KAAD,CAAlD,EAA2D,8DAAM,CAAC;AAAA,QAAE,MAAF,QAAE,MAAF;AAAA,WAAc,MAAM,KAAK,OAAzB;AAAA,GAAD,CAAjE,CADJ;AAEA,MAAM,MAAM,GAAG,mDAAK,CAAC,oBAAoB,GAAG,sBAAxB,CAAL,CAAqD,IAArD,CAA0D,iEAAS,CAAC,KAAD,CAAnE,CAAf;AAEA,oDAAI,CAAC,MAAD,EAAS,cAAT,CAAJ,CAA6B,IAA7B,CAAkC,iEAAS,CAAC,KAAD,CAA3C,EAAoD,SAApD,CAA8D;AAC5D,sBAAkB,CAAC,MAAnB,CAA0B,OAA1B;AACA,SAAK;AACL,eAAW,CAAC,IAAZ;AACA,eAAW,CAAC,QAAZ;AACD,GALD;AAOA,SAAO,WAAW,CAAC,YAAZ,EAAP;AACD,CAjEF;;ACjBP,SAAS,gCAAT,CAA0C,OAA1C,EAA8D;AAAI;AAEhE,MAAI,OAAO,SAAP,KAAqB,WAAzB,EAAsC;AACpC,WAAO,KAAP;AACD;;AAJ2D,MAMrD,SANqD,GAMxC,OANwC,CAMrD,SANqD;AAO5D,MAAM,aAAa,GAAG,SAAS,CAAC,QAAV,CAAmB,MAAnB,CAAtB;;AACA,MAAI,CAAC,aAAL,EAAoB;AAClB,aAAS,CAAC,GAAV,CAAc,MAAd;AACD;;AAED,SAAO,CAAC,KAAR,CAAc,MAAd,GAAuB,EAAvB;AACA,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAR,GAAgC,MAAhC,GAAyC,IAAxD;;AAEA,MAAI,CAAC,aAAL,EAAoB;AAClB,aAAS,CAAC,MAAV,CAAiB,MAAjB;AACD;;AAED,SAAO,MAAP;AACD;;AAEM,IAAM,uBAAuB,GAChC,SADS,uBACT,CAAC,OAAD,EAAuB,OAAvB,EAA8C;AAAA,MACvC,SADuC,GACf,OADe,CACvC,SADuC;AAAA,MAC5B,SAD4B,GACf,OADe,CAC5B,SAD4B;AAAA,MAErC,SAFqC,GAExB,OAFwB,CAErC,SAFqC,EAGlD;;AAEM,MAAI,CAAC,SAAL,EAAgB;AACd,aAAS,GAAG,gCAAgC,CAAC,OAAD,CAA5C;AACA,WAAO,CAAC,SAAR,GAAoB,SAApB,CAFc,CAGtB;;AAEQ,WAAO,CAAC,KAAR,CAAc,MAAd,GAAuB,SAAS,KAAK,MAAd,GAAuB,SAAvB,GAAmC,KAA1D;AAEA,aAAS,CAAC,MAAV,CAAiB,UAAjB;AACA,aAAS,CAAC,MAAV,CAAiB,YAAjB;AACA,aAAS,CAAC,MAAV,CAAiB,MAAjB;AAEA,UAAM,CAAC,OAAD,CAAN,CAXc,CAYtB;;AAEQ,aAAS,CAAC,GAAV,CAAc,YAAd;AACD,GApB2C,CAqBlD;;;AAEM,SAAO,CAAC,KAAR,CAAc,MAAd,GAAuB,SAAS,KAAK,MAAd,GAAuB,SAAvB,GAAmC,KAA1D;AAEA,SAAO;AACL,aAAS,CAAC,MAAV,CAAiB,YAAjB;AACA,aAAS,CAAC,GAAV,CAAc,UAAd;;AACA,QAAI,SAAS,KAAK,MAAlB,EAA0B;AACxB,eAAS,CAAC,GAAV,CAAc,MAAd;AACD,KAFD,MAEO;AACL,eAAS,CAAC,MAAV,CAAiB,MAAjB;AACD;;AAED,WAAO,CAAC,KAAR,CAAc,MAAd,GAAuB,EAAvB;AACD,GAVD;AAWD,CArCE;;ACLP,IAAI,MAAM,GAAG,CAAb;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEa,c,GACX,wBAAmB,WAAnB,EAAgD;AAAA;;AAA7B;AAAiC,C;;+BAFrD,sB,CAAS,C,EAAA;AAAA,SAAE,KAAQ,CAAE,kBAAV,EAAU,gEAA8B,yDAA9B,CAAV,CAAF;AAA0C,C;;;;gDAC/C,E;;;AAAC;AAAA,UACU;AAAA,UArCd,yDAAW;AAqCG,GADV;AAAA;;;;;;;;;;;;;;;AAnCH,C;AAuCH;AACA;AACA;AACA;AACA;;;IAEa,a,GACX,uBAAmB,WAAnB,EAAgD;AAAA;;AAA7B;AAAiC,C;;8BAFrD,qB,CAAS,C,EAAA;AAAA,SAAE,KAAQ,KAAE,aAAV,EAAU,gEAA6B,yDAA7B,CAAV,CAAF;AAAyC,C;;;;+CAC9C,E;;;AAAC;AAAA,UACU;AAAA,UA/Cd,yDAAW;AA+CG,GADV;AAAA;;;;;;;;;;;;;;;AA7CH,C;AAiDH;AACA;AACA;;;IAEa,e,GACX,yBAAmB,WAAnB,EAAgD;AAAA;;AAA7B;AAAiC,C;;gCAFrD,uB,CAAS,C,EAAA;AAAC,SAAC,KAAU,oBAAV,EAAU,gEAA+B,yDAA/B,CAAV,CAAD;AAA0C,C;;;;iDAChD,E;;;AAAC;AAAA,UACU;AAAA,UAvDd,yDAAW;AAuDG,GADV;AAAA;;;;;;;;;;;;;;;AArDH,C;AAyDH;AACA;AACA;;;IAEa,Q;AADb;AAAA;;AAAgB;AAAY;AAEzB;AAGQ,oBAAW,KAAX;AACX;AAEK;AAEC;AAAW;AAEA;;AAAN,kCAAkB,MAAM,EAAxB;AAET,kBAAS,KAAT;AACF;;AAEE,yBAAgB,KAAhB;AACF;;AAEE,6BAAoB,KAApB;AACF;AAEK;AAEkE;AAAW;AAAwB;;AAwB9F,iBAAQ,IAAI,0DAAJ,EAAR;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,kBAAS,IAAI,0DAAJ,EAAT;AAoBX;;;;4CATsB;AACvB;AACI;AACI;AACI;AACR,WAAK,QAAL,GAAgB,KAAK,SAAL,CAAe,KAA/B;AACA,WAAK,SAAL,GAAiB,KAAK,UAAL,CAAgB,KAAjC;AACA,WAAK,UAAL,GAAkB,KAAK,WAAL,CAAiB,KAAnC;AACD;;;;;;yBA3EF,gB,CAAA,C,EAAS;AAAA,SAAC,KAAC,KAAQ,QAAT,GAAD;AAAuB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAC5B;;;AAAC;AAA4B;AAAA,UAI/B,mDAAK;AAJ0B,IAA5B;AAIO;AAAA,UAOV,mDAAK;AAPK,IAJP;AAWO;AAAA,UAeV,mDAAK;AAfK,IAXP;AA0BO;AAAA,UAQV,mDAAK;AARK,IA1BP;AAkCO;AAAA,UAOV,mDAAK;AAPK,IAlCP;AAyCO;AAAA,UAOV,oDAAM;AAPI,IAzCP;AAgDQ;AAAA,UAOX,oDAAM;AAPK,IAhDR;AAuDQ;AAAA,UAOX,6DAPW;AAOI,WAAC,aAAD,EAAgB;AAAC,iBAAW,EAAE;AAAd,KAAhB;AAPJ,IAvDR;AA8DuD;AAAA,UAC1D,6DAD0D;AAC3C,WAAC,cAAD,EAAiB;AAAC,iBAAW,EAAE;AAAd,KAAjB;AAD2C,IA9DvD;AA+DwD;AAAA,UAC3D,6DAD2D;AAC5C,WAAC,eAAD,EAAkB;AAAC,iBAAW,EAAE;AAAd,KAAlB;AAD4C;AA/DxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgE0D,C;AAmChE;AACA;AACA;AACA;AACA;AACA;;;IA4Ba,Y;AA4DX,wBACI,MADJ,EACwC,QADxC,EACsE,OADtE,EAEY,eAFZ,EAE8C;AAAA;;AADN;AAA8B;AAC1D;AAAmC;AACxC;AAE6B;AACrC;AAKiB;AAAsC;;AAvD7C,qBAAwC,EAAxC;AACX;AAEK;AAIF;;AAKQ,yBAAgB,IAAhB;AACX;AAEK;AAEsC;AAAW;AACX;;AAS/B,uBAAc,IAAI,0DAAJ,EAAd;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,iBAAQ,IAAI,0DAAJ,EAAR;AACZ;AAEK;AACM;AAEC;AACP;AACkB;;AAAX,kBAAS,IAAI,0DAAJ,EAAT;AAKR,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,IAAL,GAAY,MAAM,CAAC,IAAnB;AACA,SAAK,gBAAL,GAAwB,MAAM,CAAC,WAA/B;AACD;AACH;AAEC;AACE;;;;;+BACU,O,EAAe;AAAa,aAAO,KAAK,SAAL,CAAe,OAAf,CAAuB,OAAvB,IAAkC,CAAC,CAA1C;AAA8C;AACvF;AAEC;AACE;AACE;AAEJ;;;;2BAAQ,O,EAAe;AAAU,WAAK,gBAAL,CAAsB,KAAK,cAAL,CAAoB,OAApB,CAAtB,EAAoD,IAApD;AAA4D;AAC9F;AAEC;AACE;AACE;AAEJ;;;;gCAAU;AAAA;;AACP,UAAI,KAAK,gBAAT,EAA2B;AACzB,YAAI,KAAK,SAAL,CAAe,MAAf,KAA0B,CAA1B,IAA+B,KAAK,MAAL,CAAY,MAA/C,EAAuD;AACrD,eAAK,gBAAL,CAAsB,KAAK,MAAL,CAAY,KAAlC,EAAyC,IAAzC;AACD;AACF,OAJD,MAIO;AACL,aAAK,MAAL,CAAY,OAAZ,CAAoB,eAAK;AAAA,iBAAI,KAAI,CAAC,gBAAL,CAAsB,KAAtB,EAA6B,IAA7B,CAAJ;AAAA,SAAzB;AACD;AACF;AACH;AAEC;AACE;AACE;AAEJ;;;;6BAAU,O,EAAe;AAAI,WAAK,gBAAL,CAAsB,KAAK,cAAL,CAAoB,OAApB,CAAtB,EAAoD,KAApD;AAA6D;AAC3F;AAEC;AACE;;;;kCACU;AAAA;;AACT,WAAK,MAAL,CAAY,OAAZ,CAAoB,UAAC,KAAD,EAAM;AAAO,cAAI,CAAC,gBAAL,CAAsB,KAAtB,EAA6B,KAA7B;AAAsC,OAAvE;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;2BAAQ,O,EAAe;AACpB,UAAM,KAAK,GAAG,KAAK,cAAL,CAAoB,OAApB,CAAd;;AACA,UAAI,KAAJ,EAAW;AACT,aAAK,gBAAL,CAAsB,KAAtB,EAA6B,CAAC,KAAK,CAAC,MAApC;AACD;AACF;;;4CAEoB;AAAA;;AACvB;AACI,UAAI,QAAQ,CAAC,KAAK,SAAN,CAAZ,EAA8B;AAC5B,aAAK,SAAL,GAAiB,KAAK,SAAL,CAAe,KAAf,CAAqB,SAArB,CAAjB;AACD,OAJkB,CAKvB;;;AAEI,WAAK,MAAL,CAAY,OAAZ,CAAoB,eAAK;AAAM,aAAK,CAAC,MAAN,GAAe,CAAC,KAAK,CAAC,QAAP,IAAmB,MAAI,CAAC,SAAL,CAAe,OAAf,CAAuB,KAAK,CAAC,EAA7B,IAAmC,CAAC,CAAtE;AAA0E,OAAzG,EAPmB,CAQvB;;AAEI,UAAI,KAAK,SAAL,CAAe,MAAf,GAAwB,CAAxB,IAA6B,KAAK,gBAAtC,EAAwD;AACtD,aAAK,YAAL,CAAkB,KAAK,SAAL,CAAe,CAAf,CAAlB,EAAqC,KAArC;;AACA,aAAK,gBAAL;AACD,OAbkB,CAcvB;;;AAEI,WAAK,OAAL,CAAa,QAAb,CAAsB,IAAtB,CAA2B,4DAAI,CAAC,CAAD,CAA/B,EAAoC,SAApC,CAA8C;AAC5C,cAAI,CAAC,MAAL,CAAY,OAAZ,CAAoB,eAAK;AACvB,cAAM,YAAY,GAAG,MAAI,CAAC,gBAAL,CAAsB,KAAK,CAAC,EAA5B,CAArB;;AACA,cAAI,YAAJ,EAAkB;AAChB,gBAAI,CAAC,KAAK,CAAC,aAAX,EAA0B;AACxB,mBAAK,CAAC,aAAN,GAAsB,IAAtB;AADwB,kBAEjB,SAFiB,GAEJ,YAFI,CAEjB,SAFiB;AAGxB,uBAAS,CAAC,GAAV,CAAc,UAAd;;AACA,kBAAI,KAAK,CAAC,MAAV,EAAkB;AAChB,yBAAS,CAAC,GAAV,CAAc,MAAd;AACD;AACF;AACF,WATD,MASO;AACf;AACU,iBAAK,CAAC,aAAN,GAAsB,KAAtB;AACD;AACF,SAfD;AAgBD,OAjBD;AAkBD;;;qCAEwB,K,EAAwB,S,EAAkB;AACjE,UAAI,KAAK,IAAI,IAAT,IAAiB,CAAC,KAAK,CAAC,QAAxB,IAAoC,KAAK,CAAC,MAAN,KAAiB,SAAzD,EAAoE;AAClE,YAAI,gBAAgB,GAAG,KAAvB;AAEA,aAAK,WAAL,CAAiB,IAAjB,CACI;AAAC,iBAAO,EAAE,KAAK,CAAC,EAAhB;AAAoB,mBAAS,EAAE,SAA/B;AAA0C,wBAAc,EAAE;AAAQ,4BAAgB,GAAG,IAAnB;AAA0B;AAA5F,SADJ;;AAGA,YAAI,CAAC,gBAAL,EAAuB;AACrB,eAAK,CAAC,MAAN,GAAe,SAAf;AACA,eAAK,CAAC,iBAAN,GAA0B,IAA1B;;AAEA,cAAI,SAAS,IAAI,KAAK,gBAAtB,EAAwC;AACtC,iBAAK,YAAL,CAAkB,KAAK,CAAC,EAAxB;AACD;;AACD,eAAK,gBAAL;;AACA,eAAK,eAAL,CAAqB,KAAK,SAA1B;AACD;AACF;AACF;;;iCAEoB,O,EAAwC;AAAA,UAAvB,gBAAuB,uEAAJ,IAAI;AAC3D,WAAK,MAAL,CAAY,OAAZ,CAAoB,eAAK;AACvB,YAAI,KAAK,CAAC,EAAN,KAAa,OAAb,IAAwB,KAAK,CAAC,MAAlC,EAA0C;AACxC,eAAK,CAAC,MAAN,GAAe,KAAf;AACA,eAAK,CAAC,iBAAN,GAA0B,gBAA1B;AACD;AACF,OALD;AAMD;;;mCAEsB,O,EAAe;AAAqB,aAAO,KAAK,MAAL,CAAY,IAAZ,CAAiB,WAAC;AAAA,eAAI,CAAC,CAAC,EAAF,KAAS,OAAb;AAAA,OAAlB,KAA2C,IAAlD;AAAyD;;;uCAE5F;AACtB,WAAK,SAAL,GAAiB,KAAK,MAAL,CAAY,MAAZ,CAAmB,eAAK;AAAA,eAAI,KAAK,CAAC,MAAN,IAAgB,CAAC,KAAK,CAAC,QAA3B;AAAA,OAAxB,EAA6D,GAA7D,CAAiE,eAAK;AAAA,eAAI,KAAK,CAAC,EAAV;AAAA,OAAtE,CAAjB;AACD;;;oCAEuB,S,EAAoC;AAAA;;AAAA,UAAhB,SAAgB,uEAAJ,IAAI;;AAC9D;AACI;AACA,WAAK,eAAL,CAAqB,aAArB;;AAEA,WAAK,MAAL,CAAY,OAAZ,CAAoB,eAAK;AAC7B;AACM;AACA,YAAI,KAAK,CAAC,iBAAV,EAA6B;AAC3B,cAAM,YAAY,GAAG,MAAI,CAAC,gBAAL,CAAsB,KAAK,CAAC,EAA5B,CAArB;;AACA,0BAAgB,CAAC,YAAD,EAAiB,uBAAjB,EAA0C;AACxD,qBAAS,EAAT,SADwD;AAExD,6BAAiB,EAAE,MAFqC;AAGxD,mBAAO,EAAE;AAAC,uBAAS,EAAE,KAAK,CAAC,MAAN,GAAe,MAAf,GAAwB;AAApC;AAH+C,WAA1C,CAAhB,CAIG,SAJH,CAIa;AACX,iBAAK,CAAC,iBAAN,GAA0B,KAA1B;;AACA,gBAAI,SAAJ,EAAe;AAAA,kBACN,EADM,GACA,KADA,CACN,EADM;;AAEb,kBAAI,KAAK,CAAC,MAAV,EAAkB;AAChB,qBAAK,CAAC,KAAN,CAAY,IAAZ;;AACA,sBAAI,CAAC,KAAL,CAAW,IAAX,CAAgB,EAAhB;AACD,eAHD,MAGO;AACL,qBAAK,CAAC,MAAN,CAAa,IAAb;;AACA,sBAAI,CAAC,MAAL,CAAY,IAAZ,CAAiB,EAAjB;AACD;AACF;AACF,WAhBD;AAiBD;AACF,OAvBD;AAwBD;;;qCAEwB,O,EAAe;AACtC,aAAO,KAAK,QAAL,CAAc,aAAd,CAA4B,aAA5B,CAA0C,MAAM,OAAhD,CAAP;AACD;;;;;;6BA5PF,oB,CAAS,C,EAAA;AAAA,SAAC,wBACC,gEAAe,kBAAf,CADD,EAEC,gEAAc,wDAAd,CAFD,EAGM,gEAAsB,oDAAtB,CAHN,EAIT,gEAAgB,+DAAhB,CAJS,CAAD;AAIwC,C;;oBAA6B,gEAAsB;AAAA;AACnG,WAAU,qBADyF;AACzF;AAAA;;;;;;;;;GADyF;gDAAA;aAAA;;;;;GAAA;;;;;;;GAAA;;;;;GAAA;4BAAA;UAAA;SAAA;gQAqBlG,M,GAAA,qBACF,CADE,EACF,IADE,C,EACF,gB,CAtBoG;AAsBpG;AAAA;;;;;;;;;GAtBoG;;;GAAA;iBAuBhG;AAvBgG,CAAtB,C;;AAuBzE;AAAA,UAAsC;AAAA,UA3LpC;AA2LoC,GAAtC,EA3LwB;AAAA,UAd5B,wDAAU;AAckB,GA2LxB,EAxMJ;AAAA,UAQA,oDAAM;AARN,GAwMI,EA/LJ;AAAA,UAdA,+DAAiB;AAcjB,GA+LI;AAAA;;AA5MF;AAEA;AAAA,UA2MD,6DA3MC;AA2Mc,WAAC,QAAD;AA3Md,IAFA;AA6M8B;AAAA,UAO/B,mDAAK;AAP0B,IA7M9B;AAoNS;AAAA,UAQV,mDAAK;AARK,IApNT;AA4NS;AAAA,UAOV,mDAPU;AAOL,WAAC,aAAD;AAPK,IA5NT;AAmOyB;AAAA,UAK1B,mDAAK;AALqB,IAnOzB;AAwOS;AAAA,UAQV,mDAAK;AARK,IAxOT;AAgPS;AAAA,UAOV,oDAAM;AAPI,IAhPT;AAuPU;AAAA,UAOX,oDAAM;AAPK,IAvPV;AA8PU;AAAA,UAQX,oDAAM;AARK;AA9PV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsQW,C;AA0Kf;AACA;AACA;AACA;AACA;AACA;AACA;;;IAYa,c;AAUX,0BAAmB,SAAnB,EAAuE,KAAvE,EAAsF;AAAA;;AAAnE;AAAoD;AAAmB;;;;sBANvE,K,EAAe;AAChC,UAAI,KAAJ,EAAW;AACT,aAAK,KAAL,GAAa,KAAb;AACD;AACF;;;;;;+BAnBF,sB,CAAS,C,EAAA;AAAA,SAAC,0BACC,gEAAwB,YAAxB,CADD,EAET,gEAAM,QAAN,EACU,CADV,CAFS,CAAD;AAGE,C;;eACR,I,GAAA,gEAAc;AAAA,MAAgB,gBAAhB;AAAgB,WAC9B,cAAqB,gBAArB,EAAoC,EAApC,EADc;AACsB,sBACpC,QADoC,CADtB;AAEd,UAAwB,GAFV;AAEU,cAAc,uCAChB,EADgB,EACd,GADc,EACd;AAAA,QAAU,MAAV,EAAU;AAClC,+DAAW,OAAX,EAAW,mDAEd;AAAA;AAAA,OAFG;;;;;;;;GAJc;;oBAOb;;AAPa,CAAd,C;;AAOE;AAAA,UACU;AAAA,UASgB;AAThB,GADV,EAU0C;AAAA,UAAgC,QAAhC;AAAwC;AAAA,YAAzC,sDAAQ;AAAiC,OAAjC;AAAA,YAAI,kDAAI;AAAR,KAAiC;AAAxC,GAV1C;AAAA;;AAUkE;AAE7D;AAAA,UATR,mDAAK;AASG;AAF6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AANrE,C;;ACxbH,IAAM,wBAAwB,GAC1B,CAAC,YAAD,EAAe,QAAf,EAAyB,aAAzB,EAAwC,eAAxC,EAAyD,cAAzD,EAAyE,cAAzE,CADJ;;IAIa,kB;;;;yFADZ;AAAA,MAAQ;AAAR,C;mBAAgD,I,GAAE,+DAAS;AAAA,SAA0B,WAAU,0BAAV,CAAwB,CAAxB,EAAwB;AAAA;AAAA,GAAlD;AAAkD;AAAlD,CAAT,C;;;;;;;;;;;;;;;;;;;;;;;;;;;AAC9C,C;AClBL;AACA;AACA;AACA;AACA;AACA;;;IAEa,c,GAKX,wBAAY,SAAZ,EAAgC;AAAA;;AAHhC,qBAAc,IAAd;AACA,cAAO,SAAP;AAEoC,OAAK,SAAL,GAAiB,SAAS,CAAC,SAA3B;AAAuC,C;;;;AAC5E,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA,cAPK;AAOL;;AAPM;AAAA,UADL;AAAA,UARgB;AAQhB,GACK;AAAA;AADiB;;;AAAQ,aAAC;AAAA;kEAAA;;;;AAAA,M;;;;GAAA,E,IAAA;AARV,CAQS;;ACPxB,IAAM,wBAAwB,GAAyB,SAAjD,wBAAiD,QAAyB;AAAA,MAAvB,SAAuB,SAAvB,SAAuB;AACrF,WAAS,CAAC,MAAV,CAAiB,MAAjB;AACD,CAFM;ACkBP;AACA;AACA;AACA;AACA;;;IAiBa,Q;AAoCX,oBAAY,MAAZ,EAA4C,SAA5C,EAA0E,QAA1E,EAA8F;AAAA;;AAAlD;AAA8B;AAAqB;AACxF;AAMA;AAAW;AAAwB;;AAVhC,kBAAS,IAAI,0DAAJ,EAAT;AAIR,SAAK,WAAL,GAAmB,MAAM,CAAC,WAA1B;AACA,SAAK,IAAL,GAAY,MAAM,CAAC,IAAnB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACD;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAEJ;;;;;4BAAJ;AAAA;;AACH,UAAM,UAAU,GAAG,gBAAgB,CAC/B,KAAK,QAAL,CAAc,aADiB,EACF,wBADE,EAE/B;AAAC,iBAAS,EAAE,KAAK,SAAjB;AAA4B,yBAAiB,EAAE;AAA/C,OAF+B,CAAnC;AAGA,gBAAU,CAAC,SAAX,CAAqB;AAAA,eAAM,MAAI,CAAC,MAAL,CAAY,IAAZ,EAAN;AAAA,OAArB;AACA,aAAO,UAAP;AACD;;;gCAEW,O,EAAsB;AAChC,UAAM,UAAU,GAAG,OAAO,CAAC,MAAD,CAA1B;;AACA,UAAI,UAAU,IAAI,CAAC,UAAU,CAAC,WAA9B,EAA2C;AACzC,aAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,QAAL,CAAc,aAAzC,kBAAiE,UAAU,CAAC,aAA5E;;AACA,aAAK,SAAL,CAAe,QAAf,CAAwB,KAAK,QAAL,CAAc,aAAtC,kBAA8D,UAAU,CAAC,YAAzE;AACD;AACF;;;+BAEO;AAAK,WAAK,SAAL,CAAe,QAAf,CAAwB,KAAK,QAAL,CAAc,aAAtC,kBAA8D,KAAK,IAAnE;AAA6E;;;;;;yBApF3F,gB,CAAA,C,EAAS;AAAA,SAAC,oBACT,gEAAqB,cAArB,CADS,EAET,gEAAoB,uDAApB,CAFS,EAGT,gEAAiB,wDAAjB,CAHS,CAAD;AAGuC,C;;AAC/C,gFAAiC;AAAI,gBAAJ;AAAI,WAEhC,iBAF4B;AAEX,WAAS,WAAY,OAAZ,EAAc,CAAd,EAAc,OAAd,EAA8B,MAA9B,CAFE;AAEyC,aAFzC;AAEyC,gBAA2B,SAAE,qBAAF,CAAgB,EAAhB,EACrG,GADqG,EACrG;AAAA,QAAU,MAAV,EAAU;;;GAHuB;;;;;GAAA;;;GAAA;aAS9B,U,CAT8B;AAS9B,gFAT8B;AAS9B,yBAT8B;AAWlC,UAXkC;AAWlC,SAXkC;AAWlC;AAAA;;AAAA;;;KAAA,M;;;;;;;;;;;;;;GAXkC;;;;;;;;;;;;GAAA;qEAAA;sCAAA;kBAAA;mBAY9B;AAZ8B,CAAjC;;AAYI;AAAA,UAAkC;AAAA,UAzBhC;AAyBgC,GAAlC,EAzBoB;AAAA,UAVxB,uDAAS;AAUe,GAyBpB,EAlCJ;AAAA,kEAAU;AAAV,GAkCI;AAAA;;AAjCF;AAEK;AAAA,UAyCN,mDAAK;AAzCC,IAFL;AA2CS;AAAA,UAQV,mDAAK;AARK,IA3CT;AAmDS;AAAA,UAQV,mDAAK;AARK,IAnDT;AA2DS;AAAA,UAOV,oDAAM;AAPI;AA3DT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEW,C;;ICjEF,c;;;;qFADZ;AAAA,MAAQ;AAAR,C;AAAsB,cAAc,KAAd,GAAqB,+DAAwB;AAAA,WAAY,SAAG,sBAAH,CAA+B,CAA/B,EAA+B;AAAA;AAAA,GAA3C;AAA2C;AAA3C,CAAxB,CAArB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAClB,C;;ICFQ,c;;;;+BALZ,sB,CAAS,C,EAAA;AAAA,SAAC,2BAAD;AACE,C;;AAAkB,sFAEV;AAAE,QAAM,cAAR;AAAU,WAAkB,GAAQ,KAAE,gBAAF,EAAsB,EAAtB,CAAR,CAA5B;AAA0D,UAAY,GAAtE;AAAsE,cAAiB,WAAU,2BAAV,CAC1G,EAD0G,EAC1G,GAD0G,EAC1G;AAAA;;;;AADmB,CAFU;;;;;;;;;;;;;;;;AAIzB,C;;ACFL,IAAM,2BAA2B,GAAG;AAClC,SAAO,EAAE,iEADyB;AAElC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,WAAN;AAAA,GAAD,CAFW;AAGlC,OAAK,EAAE;AAH2B,CAApC;AAOA;AACA;AACA;AACA;AACA;AACA;;IAYa,W;AA8BX,uBAAoB,MAApB,EAAoD,GAApD,EAA0E;AAAA;;AAAtD;AAAgC;AAAuB;AAEtE;AACiC;;AAzB7B,oBAAW,KAAX;AACX;AAEK;AAEA;;AAAM,wBAAe,IAAf;AACX;AAEK;AAEA;;AAAM,0BAAiB,KAAjB;;AAET,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;;AACA,qBAAY,aAAQ,CAApB;AAS8E;;;;kCAEhE,M,EAAM;AAClB,UAAM,gBAAgB,GAAG,MAAM,CAAC,MAAP,CAAc,OAAd,GAAwB,KAAK,YAA7B,GAA4C,KAAK,cAA1E;AACA,WAAK,QAAL,CAAc,gBAAd;AACA,WAAK,SAAL;AACA,WAAK,UAAL,CAAgB,gBAAhB;AACD;;;qCAEgB,E,EAAuB;AAAU,WAAK,QAAL,GAAgB,EAAhB;AAAqB;;;sCAErD,E,EAAa;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;;;qCAE9C,U,EAAmB;AAClC,WAAK,QAAL,GAAgB,UAAhB;AACA,WAAK,MAAL,CAAY,QAAZ,GAAuB,UAAvB;AACD;;;+BAEU,K,EAAK;AACd,WAAK,OAAL,GAAe,KAAK,KAAK,KAAK,YAA9B;AACA,WAAK,MAAL,CAAY,MAAZ,GAAqB,KAAK,OAA1B,CAFc,CAGlB;;AAEI,WAAK,GAAL,CAAS,YAAT;AACD;;;sBA/BW,S,EAAkB;AAC5B,WAAK,MAAL,CAAY,OAAZ,GAAsB,SAAtB;;AACA,UAAI,CAAC,SAAL,EAAgB;AACd,aAAK,SAAL;AACD;AACF;;;;;;4BAvCF,mB,CAAS,C,EAAA;AAAA,SAAC,uBACD,gEAAE,cAAF,CADC,EAC6B,gEAChC,+DADgC,CAD7B,CAAD;AAGO,C;;AAAS,mFACR;AAAU,mBAAV;AAAU,WACxB,IAAU,EAAV,EAAY,WAAZ,EAAY,EAAZ,EAAY,MAAZ,EAAmC,UAAnC,EADc;AACqB,UACnC,GAFc;AAEL,cAAE,WAAgB,wBAAhB,CACH,EADG,EACD,GADC,EACD;AAAA,aAAiB,CAAjB,EAAiB;AAC5B,yEACD,SAAY,qCAAZ,CAAwC,MAAxC,EACD;AAAA;AAAA,OAFE,EAEF,OAFE,EAEF;AAAA;AAAA,OAFE,EAEF,MAFE,EAEF;AAAA;AAAA,OAFE;;;;;;GAJe;;;;;GAAA;+EAOb,2B;AAPa,CADQ;;AAQpB;AAAA,UAAqC;AAAA,UA1BnC;AA0BmC,GAArC,EA1BoB;AAAA,UAHlB,+DAAiB;AAGC,GA0BpB;AAAA;;AA7ByB;AAA+B;AAAA,UAqC3D,mDAAK;AArCsD,IAA/B;AAqClB;AAAA,UAKV,mDAAK;AALK,IArCkB;AA0ClB;AAAA,UAKV,mDAAK;AALK;AA1CkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CjB,C;;AC1Cd,IAAM,wBAAwB,GAAG;AAC/B,SAAO,EAAE,iEADsB;AAE/B,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,aAAN;AAAA,GAAD,CAFQ;AAG/B,OAAK,EAAE;AAHwB,CAAjC;AAMA,IAAIC,QAAM,GAAG,CAAb;AAEA;AACA;AACA;AACA;AACA;AACA;;IAEa,a;AADb;AAAA;;AAEU,mBAAyB,IAAI,GAAJ,EAAzB;AACA,kBAAS,IAAT;AACV;AAAY;AAGP;AAAW;AAGT;AAE2B;AAAW;AACS;;AAI3C,oCAAoBA,QAAM,EAA1B;;AAET,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;;AACA,qBAAY,aAAQ,CAApB;AA6BD;;;;kCA3Be,K,EAAe;AAC3B,WAAK,UAAL,CAAgB,KAAK,CAAC,KAAtB;AACA,WAAK,QAAL,CAAc,KAAK,CAAC,KAApB;AACD;;;yCAEiB;AAAK,WAAK,kBAAL;AAA4B;;;6BAE1C,K,EAAe;AAAI,WAAK,OAAL,CAAa,GAAb,CAAiB,KAAjB;AAA0B;;;qCAErC,E,EAAuB;AAAU,WAAK,QAAL,GAAgB,EAAhB;AAAqB;;;sCAErD,E,EAAa;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;;;qCAE9C,U,EAAmB;AAClC,WAAK,SAAL,GAAiB,UAAjB;;AACA,WAAK,qBAAL;AACD;;;+BAEU,K,EAAe;AAAI,WAAK,OAAL,CAAa,MAAb,CAAoB,KAApB;AAA6B;;;+BAEhD,K,EAAK;AACd,WAAK,MAAL,GAAc,KAAd;;AACA,WAAK,kBAAL;AACD;;;yCAEyB;AAAA;;AAAK,WAAK,OAAL,CAAa,OAAb,CAAqB,UAAC,KAAD;AAAA,eAAW,KAAK,CAAC,WAAN,CAAkB,MAAI,CAAC,MAAvB,CAAX;AAAA,OAArB;AAAkE;;;4CACpE;AAAK,WAAK,OAAL,CAAa,OAAb,CAAqB,UAAC,KAAD;AAAA,eAAW,KAAK,CAAC,cAAN,EAAX;AAAA,OAArB;AAA0D;;;wBA1ChF;AAAK,aAAO,KAAK,SAAZ;AAAwB,K;sBAC5B,U,EAAmB;AAAI,WAAK,gBAAL,CAAsB,UAAtB;AAAoC;;;;;;8BAPzE,qB,CAAS,C,EAAA;AAAA,SAAE,KAAQ,KAAE,aAAV,GAAF;AAA+B,C;;AAAM,aAAS,KAAT,GAAS,gEAA2B;AAAA;AAA0B,wCAA1B;AAA0B,mCAA1B;AAA0B;AAAA;AAAA,GAA1B;AAA0B;AAA1B,CAA3B,CAAT;AACzC;AAAiC;AAAA,UAgBpC,mDAAK;AAhB+B;AAAjC;;;;;;;;;;;;;;;;;;;;AAgBQ,C;AAmCd;AACA;AACA;AACA;;;IAYa,Q;AAoDX,oBACY,MADZ,EAC2C,MAD3C,EAC2E,SAD3E,EAEY,QAFZ,EAE4D,GAF5D,EAEkF;AAAA;;AADtE;AAA+B;AAAgC;AAC/D;AAAgD;AAjDpD,kBAAc,IAAd;;AAkDN,SAAK,MAAL,CAAY,QAAZ,CAAqB,IAArB;;AACA,SAAK,cAAL;AACD;AACH;AACO;AAEiB;;;;;kCAFX;AAAK,WAAK,MAAL,CAAY,UAAZ,CAAuB,IAAvB;AAA+B;;;+BAEvC;AAAK,WAAK,MAAL,CAAY,aAAZ,CAA0B,IAA1B;AAAkC;;;gCAEnC,K,EAAK;AACnB;AACI,UAAI,KAAK,KAAL,KAAe,KAAnB,EAA0B;AACxB,aAAK,GAAL,CAAS,YAAT;AACD;;AAED,WAAK,QAAL,GAAgB,KAAK,KAAL,KAAe,KAA/B;AACA,WAAK,MAAL,CAAY,MAAZ,GAAqB,KAAK,QAA1B;AACD;;;qCAEa;AAAK,WAAK,MAAL,CAAY,QAAZ,GAAuB,KAAK,QAA5B;AAAuC;;;sBAtDhD,K,EAAU;AAClB,WAAK,MAAL,GAAc,KAAd;AACA,UAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC,QAAN,EAAH,GAAsB,EAA/C;;AACA,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,QAAL,CAAc,aAAzC,EAAwD,OAAxD,EAAiE,WAAjE;;AACA,WAAK,MAAL,CAAY,kBAAZ;AACD;AACH;AAEC;AACE;;wBAoBQ;AAAK,aAAO,KAAK,MAAZ;AAAqB;;;sBAlBtB,U,EAAmB;AAC9B,WAAK,SAAL,GAAiB,UAAU,KAAK,KAAhC;AACA,WAAK,cAAL;AACD,K;wBAaW;AAAK,aAAO,KAAK,MAAL,CAAY,QAAZ,IAAwB,KAAK,SAApC;AAAgD;;;sBAXrD,S,EAAkB;AAC5B,UAAI,KAAK,MAAT,EAAiB;AACf,aAAK,MAAL,CAAY,OAAZ,GAAsB,SAAtB;AACD;;AACD,UAAI,CAAC,SAAL,EAAgB;AACd,aAAK,MAAL,CAAY,SAAZ;AACD;AACF;;;wBAEU;AAAK,aAAO,KAAK,QAAZ;AAAuB;;;wBAM3B;AAAK,aAAO,KAAK,IAAL,IAAa,KAAK,MAAL,CAAY,IAAhC;AAAuC;;;;;;yBA7DzD,gB,CAAA,C,EAAS;AAAA,SAAC,oBACT,gEAAU,aAAV,CADS,EAC0B,gEAC7B,cAD6B,CAD1B,EAGP,gEAAsB,uDAAtB,CAHO,EAIP,gEAAwB,wDAAxB,CAJO,EAKP,gEAAoB,+DAApB,CALO,CAAD;AAMM,C;;AAAY,gFACb;AAAA;AAAgB,gCACjB,EADiB,EACjB,MADiB,EACjB,OADiB,EAAhB;AACgB,aADhB;AAEZ,cACF;AAAA;;;;;;;;;;;;;GAHc;;;;UAIV;;AAJU,CADa;;AAKtB;AAAA,UAAkC;AAAA,UAqDlB;AArDkB,GAAlC,EAqDiC;AAAA,UAxI/B;AAwI+B,GArDjC,EAnFoB;AAAA,UAHsD,uDAAS;AAG/D,GAmFpB,EAtFuF;AAAA,UAAvD,wDAAU;AAA6C,GAsFvF,EAtF8C;AAAA,UAA5C,+DAAiB;AAA2B,GAsF9C;AAAA;;AAtFyB;AAA4B;AAAA,UAmGxD,mDAAK;AAnGmD,IAA5B;AAmGlB;AAAA,UAKV,mDALU;AAKL,WAAC,OAAD;AALK,IAnGkB;AAyG1B;AAAA,UAUF,mDAVE;AAUG,WAAC,UAAD;AAVH;AAzG0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoHzB,C;;AC1GN,IAAM,qBAAqB,GAAG,CAAC,cAAD,EAAiB,WAAjB,EAA8B,aAA9B,EAA6C,QAA7C,CAA9B;;IAGa,gB;;;;uFADZ;AAAA,MAAQ;AAAR,C;AAAwB,wBAAuB,+DAAS;AAAA,SAAsB;AAAA;AAAA;AAAtB,CAAT,CAAvB;;;;;;;;;;;;;;;;;;;AACpB,C;ACVL;AACA;AACA;AACA;AACA;AACA;;;IAEa,iB,GAUX,2BAAY,SAAZ,EAAgC;AAAA;;AARhC,kBAAW,IAAX;AACA,cAAO,IAAP;AACA,kBAAW,IAAX;AACA,sBAAe,IAAf;AACA,sBAAe,IAAf;AACA,8BAAuB,IAAvB;AACA,kCAA2B,IAA3B;AAEoC,OAAK,SAAL,GAAiB,SAAS,CAAC,SAA3B;AAAuC,C;;;;AAC5E,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA,cAZK;AAYL;;AAZM;AAAA,UADL;AAAA,UARgB;AAQhB,GACK;AAAA;AADiB;;;AAAQ,aAAC;AAAA;kEAAA;;;;AAAA,M;;;;GAAA,E,IAAA;AARV,CAQS;ACN/B;AACA;AACA;;;AACA,IAAY,sBAAZ;;AAAA,WAAY,sBAAZ,EAAkC;AAChC;AACA;AACD,CAHD,EAAY,sBAAsB,KAAtB,sBAAsB,MAAlC;;AAOA,IAAM,UAAU,GAAG,SAAb,UAAa,QAAY;AAAA,MAAV,SAAU,SAAV,SAAU;AAC7B,SAAO,SAAS,CAAC,QAAV,CAAmB,oBAAnB,KAA4C,SAAS,CAAC,QAAV,CAAmB,qBAAnB,CAAnD;AACD,CAFD;;AAGA;;AACA,IAAM,sBAAsB,GAAG,SAAzB,sBAAyB,QAAY;AAAA,MAAV,SAAU,SAAV,SAAU;AACzC,WAAS,CAAC,MAAV,CAAiB,oBAAjB;AACA,WAAS,CAAC,MAAV,CAAiB,qBAAjB;AACD,CAHD;;AAIA;;AACA,IAAM,aAAa,GAAG,SAAhB,aAAgB,QAAY;AAAA,MAAV,SAAU,SAAV,SAAU;AAChC,wBAAsB,CAAC;AAAC,aAAS,EAAT;AAAD,GAAD,CAAtB;AACA,WAAS,CAAC,MAAV,CAAiB,oBAAjB;AACA,WAAS,CAAC,MAAV,CAAiB,oBAAjB;AACD,CAJD;;AAKA;;AACO,IAAM,uBAAuB,GAChC,SADS,uBACT,CAAC,OAAD,SAAkD;AAAA,MAA1B,SAA0B,SAA1B,SAA0B;AAAA,MACzC,SADyC,GAC5B,OAD4B,CACzC,SADyC;;AAEhD,MAAI,UAAU,CAAC,OAAD,CAAd,EAAyB;AAC/B;AACQ,0BAAsB,CAAC,OAAD,CAAtB;AACD,GAHD,MAGO;AACb;AACQ,aAAS,CAAC,GAAV,CAAc,oBAAoB,SAAS,KAAK,sBAAsB,CAAC,IAArC,GAA4C,MAA5C,GAAqD,MAAzE,CAAd;AACA,UAAM,CAAC,OAAD,CAAN;AACA,aAAS,CAAC,GAAV,CAAc,mBAAmB,SAAjC;AACD;;AAED,SAAO;AACL,iBAAa,CAAC,OAAD,CAAb;AACA,aAAS,CAAC,GAAV,CAAc,QAAd;AACD,GAHD;AAID,CAjBE;;AAmBA,IAAM,wBAAwB,GACjC,SADS,wBACT,CAAC,OAAD,SAAkD;AAAA,MAA1B,SAA0B,SAA1B,SAA0B;AAAA,MACzC,SADyC,GAC5B,OAD4B,CACzC,SADyC,EAEtD;;AACM,MAAI,UAAU,CAAC,OAAD,CAAd,EAAyB;AAC/B;AACQ,0BAAsB,CAAC,OAAD,CAAtB;AACD,GAHD,MAGO;AACL,aAAS,CAAC,GAAV,CAAc,mBAAmB,SAAjC;AACD;;AAED,SAAO;AACL,iBAAa,CAAC,OAAD,CAAb;AACA,aAAS,CAAC,MAAV,CAAiB,QAAjB;AACD,GAHD;AAID,CAfE;;ACZP,IAAIA,QAAM,GAAG,CAAb;AAEA;AACA;AACA;;IAEa,Q,GAeX,kBAAmB,MAAnB,EAA2C;AAAA;;AAAxB;AAAyB;AAI7C;AAAiE;AAE5D;AAA4E;;AAfvE,gCAAkBA,QAAM,EAAxB;AACX;AAEK;AAEC;AAAW;AAEA;;AAAL,cAAO,IAAI,0DAAJ,EAAP;AAEqC,C;;yBAhBhD,gB,CAAA,C,EAAS;AAAA,SAAC,KAAC,KAAQ,QAAT,EAAW,gEAAwB,yDAAxB,CAAX,CAAD;AAAoC,C;;;;;;;;;UACzC;;;;AAAC;AAAA,UAEI;AAAA,UA1BR,yDAAW;AA0BH,GAFJ;AAAA;;AAvBF;AACO;AAAA,UA4BR,mDAAK;AA5BG,IADP;AA6BS;AAAA,UAOV,oDAAM;AAPI;AA7BT;;;;;;;;;;;;;;;;;;;;;AAoCW,C;AAKf;AACA;AACA;AACA;AACA;;;IA2Ca,W;AAwHX,uBACI,MADJ,EAC4D,WAD5D,EACiF,OADjF,EAEY,GAFZ,EAE4C,UAF5C,EAEkE;AAAA;;AADN;AAAqB;AACrE;AAAgC;AAtHrC,+BAAsB,mBAAtB;AAEC,qBAAY,IAAI,6CAAJ,EAAZ;AACA,sBAAa,IAAI,qDAAJ,CAAoB,CAApB,CAAb;AACA,wBAAe,IAAI,qDAAJ,CAAoB,KAApB,CAAf;AACA,qBAAY,IAAI,qDAAJ,CAAoB,KAApB,CAAZ;AACA,0BAAiB,IAAI,qDAAJ,CAAoB,KAApB,CAAjB;AACA,0BAAiB,IAAI,qDAAJ,CAAoB,KAApB,CAAjB;AACA,mBAAU,IAAI,qDAAJ,CAAoB,KAApB,CAAV;AACA,kBAAS,IAAI,qDAAJ,CAAoB,KAApB,CAAT;AACV;AAEK;AAGA;AACK;AAKN;;AAsEQ,iBAAQ,IAAI,0DAAJ,EAAR;AACZ;AAEK;AAEC;AAAW;AAGjB;AACK;AAAwB;;AAAjB,gBAAO,IAAI,0DAAJ,EAAP;AACZ;AAEK;AACM;AAEA;;AAAD,0BAA0C,IAA1C;AAaN,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,IAAL,GAAY,MAAM,CAAC,IAAnB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,YAAL,GAAoB,MAAM,CAAC,YAA3B;AACA,SAAK,YAAL,GAAoB,MAAM,CAAC,YAA3B;AACA,SAAK,oBAAL,GAA4B,MAAM,CAAC,oBAAnC;AACA,SAAK,wBAAL,GAAgC,MAAM,CAAC,wBAAvC;AACD;AACH;AACO;AAE0B;;;;;gCAFtB;AACP,WAAK,KAAL;AACA,WAAK,IAAL,CAAU,mBAAmB,CAAC,UAA9B;AACD;;;iCAES;AACR,WAAK,KAAL;AACA,WAAK,IAAL,CAAU,mBAAmB,CAAC,WAA9B;AACD;;;yCAEiB;AAAA;;AACpB;AACI;AACA,UAAI,0EAAiB,CAAC,KAAK,WAAN,CAArB,EAAyC;AACvC,aAAK,OAAL,CAAa,iBAAb,CAA+B;AAC7B,cAAM,aAAa,GAAG,2DAAa,CAAC,CACZ,MAAI,CAAC,KAAL,CAAW,IAAX,CAAgB,2DAAG,CAAC,oBAAU;AAAA,mBAAI,UAAU,CAAC,OAAf;AAAA,WAAX,CAAnB,EAAuD,iEAAS,CAAC,MAAI,CAAC,QAAN,CAAhE,CADY,EAEZ,MAAI,CAAC,MAFO,EAEC,MAAI,CAAC,MAAL,CAAY,OAAZ,CAAoB,IAApB,CAAyB,iEAAS,CAAC,IAAD,CAAlC,CAFD,CAAD,CAAb,CAIK,IAJL,CAKQ,2DAAG,CAAC,iBAAuB;AAAA;AAAA,gBAArB,cAAqB;AAAA,gBAAL,IAAK;;AACzB,gBAAM,QAAQ,GAAG,MAAI,CAAC,MAAL,CAAY,OAAZ,EAAjB;;AACA,gBAAM,eAAe,GAAG,MAAI,CAAC,gBAAL,CAAsB,cAAtB,CAAxB;;AACA,mBAAO,IAAI,GAAG,QAAQ,CAAC,MAAT,GAAkB,CAArB,GAAyB,eAAe,GAAG,QAAQ,CAAC,MAAT,GAAkB,CAAxE;AACD,WAJE,CALX,EAUQ,4EAAoB,EAV5B,CAAtB;AAWA,qEAAa,CAAC,CACZ,MAAI,CAAC,OADO,EACE,MAAI,CAAC,cADP,EACuB,MAAI,CAAC,YAD5B,EAC0C,MAAI,CAAC,cAD/C,EAC+D,MAAI,CAAC,SADpE,EAC+E,MAAI,CAAC,UADpF,EAEZ,aAFY,CAAD,CAAb,CAIK,IAJL,CAKQ,2DAAG,CAAC;AAAA;AAAA,gBAAE,KAAF;AAAA,gBAAS,YAAT;AAAA,gBAAuB,UAAvB;AAAA,gBAAmC,YAAnC;AAAA,gBAAiD,OAAjD;AAAA,gBAA0D,QAA1D;AAAA,gBACE,YADF;;AAAA,mBAEM,KAAK,IAAK,YAAY,IAAI,UAA1B,IAA0C,YAAY,IAAI,OAA1D,IAAsE,CAAC,YAAxE,GACI,CADJ,GAEI,QAJT;AAAA,WAAD,CALX,EAWQ,4EAAoB,EAX5B,EAWgC,iEAAS,CAAC,kBAAQ;AAAA,mBAAI,QAAQ,GAAG,CAAX,GAAe,mDAAK,CAAC,QAAD,EAAW,QAAX,CAApB,GAA2C,2CAA/C;AAAA,WAAT,CAXzC,EAYQ,iEAAS,CAAC,MAAI,CAAC,SAAN,CAZjB,EAaK,SAbL,CAae;AAAA,mBAAM,MAAI,CAAC,OAAL,CAAa,GAAb,CAAiB;AAAA,qBAAM,MAAI,CAAC,IAAL,CAAU,mBAAmB,CAAC,KAA9B,CAAN;AAAA,aAAjB,CAAN;AAAA,WAbf;AAcD,SA1BD;AA2BD;;AAED,WAAK,MAAL,CAAY,OAAZ,CAAoB,IAApB,CAAyB,iEAAS,CAAC,KAAK,SAAN,CAAlC,EAAoD,SAApD,CAA8D;AAAA,eAAM,MAAI,CAAC,GAAL,CAAS,YAAT,EAAN;AAAA,OAA9D;AACD;;;4CAEoB;AACnB,UAAI,WAAW,GAAG,KAAK,aAAL,CAAmB,KAAK,QAAxB,CAAlB;;AACA,WAAK,QAAL,GAAgB,WAAW,GAAG,WAAW,CAAC,EAAf,GAAqB,KAAK,MAAL,CAAY,MAAZ,GAAqB,KAAK,MAAL,CAAY,KAAZ,CAAkB,EAAvC,GAA4C,EAA5F;AACD;;;sCAEc;AACjB;AACI,UAAI,KAAK,QAAT,EAAmB;AACjB,YAAM,OAAO,GAAG,KAAK,gBAAL,CAAsB,KAAK,QAA3B,CAAhB;;AACA,YAAI,OAAJ,EAAa;AACX,iBAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,QAAtB;AACD;AACF;AACF;;;kCAEU;AAAK,WAAK,SAAL,CAAe,IAAf;AAAwB;AAC1C;AAEC;AACE;;;;2BACM,O,EAAiB,M,EAA4B;AAClD,WAAK,gBAAL,CAAsB,OAAtB,EAA+B,KAAK,uBAAL,CAA6B,KAAK,QAAlC,EAA4C,OAA5C,CAA/B,EAAqF,MAArF;AACD;AACH;AAEC;AACE;;;;yBACI,M,EAA4B;AAC/B,WAAK,gBAAL,CAAsB,KAAK,aAAL,CAAmB,KAAK,QAAxB,CAAtB,EAAyD,sBAAsB,CAAC,KAAhF,EAAuF,MAAvF;AACD;AACH;AAEC;AACE;;;;yBACI,M,EAA4B;AAC/B,WAAK,gBAAL,CAAsB,KAAK,aAAL,CAAmB,KAAK,QAAxB,CAAtB,EAAyD,sBAAsB,CAAC,IAAhF,EAAsF,MAAtF;AACD;AACH;AAEC;AACE;;;;4BACI;AAAK,WAAK,OAAL,CAAa,IAAb,CAAkB,IAAlB;AAA0B;AACtC;AAEC;AACE;;;;4BACI;AAAK,WAAK,OAAL,CAAa,IAAb,CAAkB,KAAlB;AAA2B;AACvC;AAEC;AACE;;;;4BACI;AAAK,WAAK,UAAL,CAAgB,aAAhB,CAA8B,KAA9B;AAAwC;;;qCAEzB,Q,EAAkB,S,EAAmC,M,EAA4B;AAAA;;AACxG,UAAM,aAAa,GAAG,KAAK,cAA3B;;AACA,UAAI,aAAa,KAAK,aAAa,CAAC,CAAD,CAAb,KAAqB,QAArB,IAAiC,aAAa,CAAC,CAAD,CAAb,KAAqB,KAAK,QAAhE,CAAjB,EAA4F;AAChG;AACM;AACD;;AAED,UAAI,aAAa,GAAG,KAAK,aAAL,CAAmB,QAAnB,CAApB;;AACA,UAAI,aAAa,IAAI,aAAa,CAAC,EAAd,KAAqB,KAAK,QAA/C,EAAyD;AACvD,aAAK,cAAL,GAAsB,CAAC,KAAK,QAAN,EAAgB,QAAhB,CAAtB;AACA,aAAK,KAAL,CAAW,IAAX,CACI;AAAC,cAAI,EAAE,KAAK,QAAZ;AAAsB,iBAAO,EAAE,aAAa,CAAC,EAA7C;AAAiD,mBAAS,EAAE,SAA5D;AAAuE,gBAAM,EAAE,KAAK,OAAL,CAAa,KAA5F;AAAmG,gBAAM,EAAN;AAAnG,SADJ;AAGA,YAAM,OAAO,GAAyC;AACpD,mBAAS,EAAE,KAAK,SADoC;AAEpD,2BAAiB,EAAE,MAFiC;AAGpD,iBAAO,EAAE;AAAC,qBAAS,EAAT;AAAD;AAH2C,SAAtD;AAMA,YAAM,WAAW,GAA2B,EAA5C;;AACA,YAAM,WAAW,GAAG,KAAK,aAAL,CAAmB,KAAK,QAAxB,CAApB;;AACA,YAAI,WAAJ,EAAiB;AACf,cAAM,qBAAqB,GACvB,gBAAgB,CAAC,KAAK,gBAAL,CAAsB,WAAW,CAAC,EAAlC,CAAD,EAAwC,wBAAxC,EAAkE,OAAlE,CADpB;AAEA,+BAAqB,CAAC,SAAtB,CAAgC;AAAQ,uBAAW,CAAC,IAAZ,CAAiB,IAAjB,CAAsB;AAAC,qBAAO,EAAE,KAAV;AAAiB,uBAAS,EAAT,SAAjB;AAA4B,oBAAM,EAAN;AAA5B,aAAtB;AAA6D,WAArG;AACA,qBAAW,CAAC,IAAZ,CAAiB,qBAAjB;AACD;;AAED,YAAM,UAAU,GAAG,KAAK,QAAxB;AACA,aAAK,QAAL,GAAgB,aAAa,CAAC,EAA9B;;AACA,YAAM,SAAS,GAAG,KAAK,aAAL,CAAmB,KAAK,QAAxB,CAAlB;;AACA,YAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,gBAAL,CAAsB,aAAa,CAAC,EAApC,CAAD,EAA0C,uBAA1C,EAAmE,OAAnE,CAAnC;AACA,kBAAU,CAAC,SAAX,CAAqB;AAAQ,mBAAS,SAAT,aAAS,WAAT,GAAS,MAAT,YAAS,CAAG,IAAZ,CAAiB,IAAjB,CAAsB;AAAC,mBAAO,EAAE,IAAV;AAAgB,qBAAS,EAAT,SAAhB;AAA2B,kBAAM,EAAN;AAA3B,WAAtB;AAA4D,SAAzF;AACA,mBAAW,CAAC,IAAZ,CAAiB,UAAjB;AAEA,iDAAG,MAAH,SAAO,WAAP,EAAoB,IAApB,CAAyB,4DAAI,CAAC,CAAD,CAA7B,EAAkC,SAAlC,CAA4C;AAC1C,gBAAI,CAAC,cAAL,GAAsB,IAAtB;;AACA,gBAAI,CAAC,IAAL,CAAU,IAAV,CACI;AAAC,gBAAI,EAAE,UAAP;AAAmB,mBAAO,EAAE,aAAe,CAAC,EAA5C;AAAgD,qBAAS,EAAE,SAA3D;AAAsE,kBAAM,EAAE,MAAI,CAAC,OAAL,CAAa,KAA3F;AAAkG,kBAAM,EAAN;AAAlG,WADJ;AAED,SAJD;AAKD,OAxCuG,CAyC5G;;;AAEI,WAAK,GAAL,CAAS,YAAT;AACD;;;4CAE+B,oB,EAA8B,iB,EAAyB;AACrF,UAAM,qBAAqB,GAAG,KAAK,gBAAL,CAAsB,oBAAtB,CAA9B;;AACA,UAAM,kBAAkB,GAAG,KAAK,gBAAL,CAAsB,iBAAtB,CAA3B;;AAEA,aAAO,qBAAqB,GAAG,kBAAxB,GAA6C,sBAAsB,CAAC,KAApE,GAA4E,sBAAsB,CAAC,IAA1G;AACD;;;kCAEqB,O,EAAe;AACnC,aAAO,KAAK,MAAL,CAAY,IAAZ,CAAiB,eAAK;AAAA,eAAI,KAAK,CAAC,EAAN,KAAa,OAAjB;AAAA,OAAtB,KAAmD,IAA1D;AACD;;;qCAEwB,O,EAAe;AACtC,UAAM,KAAK,GAAG,KAAK,aAAL,CAAmB,OAAnB,CAAd;;AACA,aAAO,KAAK,IAAI,IAAT,GAAgB,KAAK,MAAL,CAAY,OAAZ,GAAsB,OAAtB,CAA8B,KAA9B,CAAhB,GAAuD,CAAC,CAA/D;AACD;;;kCAEqB,c,EAAsB;AAC1C,UAAM,QAAQ,GAAG,KAAK,MAAL,CAAY,OAAZ,EAAjB;;AACA,UAAM,eAAe,GAAG,KAAK,gBAAL,CAAsB,cAAtB,CAAxB;;AACA,UAAM,WAAW,GAAG,eAAe,KAAK,QAAQ,CAAC,MAAT,GAAkB,CAA1D;AAEA,aAAO,WAAW,GAAI,KAAK,IAAL,GAAY,QAAQ,CAAC,CAAD,CAAR,CAAY,EAAxB,GAA6B,QAAQ,CAAC,QAAQ,CAAC,MAAT,GAAkB,CAAnB,CAAR,CAA8B,EAA/D,GACG,QAAQ,CAAC,eAAe,GAAG,CAAnB,CAAR,CAA8B,EADnD;AAED;;;kCAEqB,c,EAAsB;AAC1C,UAAM,QAAQ,GAAG,KAAK,MAAL,CAAY,OAAZ,EAAjB;;AACA,UAAM,eAAe,GAAG,KAAK,gBAAL,CAAsB,cAAtB,CAAxB;;AACA,UAAM,YAAY,GAAG,eAAe,KAAK,CAAzC;AAEA,aAAO,YAAY,GAAI,KAAK,IAAL,GAAY,QAAQ,CAAC,QAAQ,CAAC,MAAT,GAAkB,CAAnB,CAAR,CAA8B,EAA1C,GAA+C,QAAQ,CAAC,CAAD,CAAR,CAAY,EAA/D,GACG,QAAQ,CAAC,eAAe,GAAG,CAAnB,CAAR,CAA8B,EADpD;AAED;;;qCAEwB,O,EAAe;AACtC,aAAO,KAAK,UAAL,CAAgB,aAAhB,CAA8B,aAA9B,kBAAsD,OAAtD,EAAP;AACD;;;sBAzRY,K,EAAa;AACxB,WAAK,UAAL,CAAgB,IAAhB,CAAqB,KAArB;AACD,K;wBAEW;AAAK,aAAO,KAAK,UAAL,CAAgB,KAAvB;AAA+B;AAClD;AAEC;AACE;;;;sBAEQ,K,EAAc;AACrB,WAAK,MAAL,CAAY,IAAZ,CAAiB,KAAjB;AACD,K;wBAEO;AAAK,aAAO,KAAK,MAAL,CAAY,KAAnB;AAA2B;AAC1C;AAEC;AAAiF;AAAO;AAElF;;;;sBAQY,K,EAAc;AAC7B,WAAK,cAAL,CAAoB,IAApB,CAAyB,KAAzB;AACD,K;wBAEe;AAAK,aAAO,KAAK,cAAL,CAAoB,KAA3B;AAAmC;AAC1D;AAEC;AACE;;;;sBAEgB,K,EAAc;AAC7B,WAAK,cAAL,CAAoB,IAApB,CAAyB,KAAzB;AACD,K;wBAEe;AAAK,aAAO,KAAK,cAAL,CAAoB,KAA3B;AAAmC;;;sBAsCzC,K,EAAc;AAAI,WAAK,YAAL,CAAkB,IAAlB,CAAuB,KAAvB;AAAgC,K;wBAEnD;AAAK,aAAO,KAAK,YAAL,CAAkB,KAAzB;AAAiC;;;sBAExC,K,EAAc;AAAI,WAAK,SAAL,CAAe,IAAf,CAAoB,KAApB;AAA6B,K;wBAEhD;AAAK,aAAO,KAAK,SAAL,CAAe,KAAtB;AAA8B;;;;;;4BAhK/C,mB,CAAS,C,EAAA;AAAA,SAAC,uBACD,gEAAgB,iBAAhB,CADC,EAEC,gEAAa,yDAAb,CAFD,EAGT,gEAAiB,oDAAjB,CAHS,EAGsC,gEAC/C,+DAD+C,CAHtC,EAI4B,gEAC/B,wDAD+B,CAJ5B,CAAD;AAMN,C;;AAAO,WAAE,KAAF,GAAE,gEACT;AAAA;AAAmB,WAAS,oBAA5B;AACA,gBAAe,sCACf,EADe,EACM,GADN,EACQ,QADR,EACQ;AAAA,gBAAyB;mEAChD,Q,EAAsB,Q,EAAE,K;;;QAA0B,M,EAAA;UAClD,E;;AAAc,mEAAE,EAAmB,8DAArB,MACd,aAAgB,EADF;;GAJd;AAKoC,0BACpC,GADoC,EACpC,CADoC,EACpC,UADoC,EACvB,OADuB,CALpC;AAM6B,aAN7B;AAM6B,cAC7B,WAAc,wBAAd,CAA+B,EAA/B,EAA+B,GAA/B,EAA+B;AAAA,QAC/B,MAD+B,EAC/B;+DAAgC,mB,EACjC,4DACS;AAAA;AAAA,O,EAAA,oB,EAAA;AAAA;AAAA,O,EAAA,Y,EAAA;AAAA;AAAA,O,EAAA,Y,EAAA;AAAA;AAAA,O,EAAA,S,EAAA;AAAA;AAAA,O,EAAA,U,EAAA;AAAA;AAAA,O;;;;;;;GAVR;;;;;;;;;;;GAAA;;;;GAAA;2BAAA;UAAA;SAAA;;;;;;;;UAiCD,sEACF;AAAA;AAAA;AAAA,Q;;;;;;;;;;;;;;;;;;;;;;;;;GAlCG;;;;;;;;;;;;;;;;;;;;;;;;GAAA;kMAAA;kBAAA;mBAmCC;AAnCD,CADS,CAAF;;AAoCL;AAAA,UAAqC;AAAA,UAnFnC;AAmFmC,GAArC,EAnFuB;AAAA;AAAA;AAAA,YA4MK,oDA5ML;AA4MW,aAAC,yDAAD;AA5MX;AAAA,GAmFvB,EAyHuD;AAAA,UAvN3D,oDAAM;AAuNqD,GAzHvD,EA7FJ;AAAA,UATA,+DAAiB;AASjB,GA6FI,EArGJ;AAAA,UAGA,wDAAU;AAHV,GAqGI;AAAA;;AAjGF;AAGJ;AAAA,UAgGG,6DAhGH;AAgGkB,WAAC,QAAD;AAhGlB,IAHI;AAmG8B;AAAA,UAkB/B,mDAAK;AAlB0B,IAnG9B;AAqHS;AAAA,UAOV,mDAAK;AAPK,IArHT;AA4HS;AAAA,UAKV,mDAAK;AALK,IA5HT;AAkIF;AAAA,UASC,mDAAK;AATN,IAlIE;AA4IF;AAAA,UASC,mDAAK;AATN,IA5IE;AAqJS;AAAA,UAOV,mDAAK;AAPK,IArJT;AA6JF;AAAA,UASC,mDAAK;AATN,IA7JE;AAuKF;AAAA,UAWC,mDAAK;AAXN,IAvKE;AAkLS;AAAA,UAOV,mDAAK;AAPK,IAlLT;AAyLS;AAAA,UAOV,oDAAM;AAPI,IAzLT;AAgMU;AAAA,UASX,oDAAM;AATK;AAhMV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyMW,C;;AAAC,IAsRJ,mBAtRI;;AAsRhB,WAAY,mBAAZ,EAA+B;AAC7B;AACA;AACA;AACA;AACD,CALD,EAAY,mBAAmB,KAAnB,mBAAmB,MAA/B;;AAMA,IACa,uBAAuB,GAAG,CAAC,WAAD,EAAc,QAAd,CADvC;;ICpea,iB;;;;wFADZ;AAAA,MAAQ;AAAR,C;kBAA+C,I,GAAE,+DAAS;AAAA,SAAyB,WAAU,yBAAV,CAAwB,CAAxB,EAAwB;AAAA;AAAA,GAAjD;AAAiD;AAAjD,CAAT,C;;;;;;;;;;;;;;;;;;;;;;;;;;;AAC7C,C;ACPL;AACA;AACA;AACA;AACA;AACA;;;IAEa,iB,GAGX,2BAAY,SAAZ,EAAgC;AAAA;;AAAI,OAAK,SAAL,GAAiB,SAAS,CAAC,SAA3B;AAAuC,C;;;;AAC5E,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA,cALK;AAKL;;AALM;AAAA,UADL;AAAA,UARgB;AAQhB,GACK;AAAA;AADiB;;;AAAQ,aAAC;AAAA;kEAAA;;;;AAAA,M;;;;GAAA,E,IAAA;AARV,CAQS;ACK/B;AACA;AACA;;;IAEa,W;AAiCX,uBAAoB,QAApB,EAA0C,MAA1C,EAAmE;AAAA;;AAA/C;AAAqB;AAAY;AAAiD;AAEpG;AAEA;AAA2C;AAC5C;AAEmB;;AA/BX,qBAAY,KAAZ;AACX;AAEK;AAEA;;AAAmB,qBAAY,KAAZ;AAEZ,6BAAoB,IAAI,0DAAJ,EAApB;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,iBAAQ,IAAI,0DAAJ,EAAR;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,kBAAS,IAAI,0DAAJ,EAAT;AAG6D,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AAAoC;;;;+BAEnG;AACN,WAAK,QAAL,CAAc,aAAd,CAA4B,SAA5B,CAAsC,GAAtC,CAA0C,UAA1C;;AACA,WAAK,cAAL,CAAoB,KAAK,SAAzB,EAAoC,KAApC,EAA2C,KAA3C;AACD;;;wCAEqC;AAAA,UAAzB,SAAyB,UAAzB,SAAyB;;AACpC,UAAI,CAAC,SAAS,CAAC,WAAf,EAA4B;AAC1B,aAAK,cAAL,CAAoB,KAAK,SAAzB,EAAoC,KAAK,SAAzC;AACD;AACF;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAEJ;;;;6BAAgC;AAAA,UAA9B,IAA8B,uEAAd,KAAK,SAAS;AACnC,WAAK,SAAL,GAAiB,CAAC,IAAlB;AACA,WAAK,iBAAL,CAAuB,IAAvB,CAA4B,KAAK,SAAjC;;AACA,WAAK,cAAL,CAAoB,KAAK,SAAzB,EAAoC,KAAK,SAAzC;AACD;;;mCAEsB,S,EAAoB,S,EAAoC;AAAA;;AAAA,UAAhB,SAAgB,uEAAJ,IAAI;AAC7E,sBAAgB,CAAC,KAAK,QAAL,CAAc,aAAf,EAA8B,uBAA9B,EAAuD;AACrE,iBAAS,EAAT,SADqE;AAErE,yBAAiB,EAAE,MAFkD;AAGrE,eAAO,EAAE;AAAC,mBAAS,EAAE,SAAS,GAAG,MAAH,GAAY;AAAjC;AAH4D,OAAvD,CAAhB,CAIG,SAJH,CAIa;AACX,YAAI,SAAJ,EAAe;AACb,cAAI,SAAJ,EAAe;AACb,kBAAI,CAAC,MAAL,CAAY,IAAZ;AACD,WAFD,MAEO;AACL,kBAAI,CAAC,KAAL,CAAW,IAAX;AACD;AACF;AACF,OAZD;AAaD;;;;;;4BA3EF,mB,CAAS,C,EAAA;AAAA,SAAE,UAAU,WAAV,EAAU,gEAA2B,wDAA3B,CAAV,EAAmD,kFAAnD,CAAF;AAAqD,C;;;;;;;;;;;;;;;;;;AACzD;AAAA,UAAqC;AAAA,UAhBzC,wDAAU;AAgB+B,GAArC,EAfJ;AAAA,UASM;AATN,GAeI;AAAA;;AANyB;AAG3B;AAAA,UAYD,mDAAK;AAZJ,IAH2B;AAelB;AAAA,UAKV,mDALU;AAKL,WAAC,aAAD;AALK,IAfkB;AAoBF;AAAA,UAE1B,oDAAM;AAFoB,IApBE;AAsBjB;AAAA,UAOX,oDAAM;AAPK,IAtBiB;AA6BjB;AAAA,UAOX,oDAAM;AAPK;AA7BiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoChB,C;;ICzCF,iB;;;;wFADZ;AAAA,MAAQ;AAAR,C;AAAyB,iBAAc,KAAd,GAAwB,+DAAa;AAAA;AAAA;AAAA;AAAA,CAAb,CAAxB;;;;;;;;;;;;;;;;;;;AACrB,C;ACJL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACa,O;AA8BX,mBAAY,IAAZ,EAA0B,KAA1B,EAAyC,GAAzC,EAAoD;AAAA;;AAClD,SAAK,IAAL,GAAY,SAAS,CAAC,IAAD,CAAT,GAAkB,IAAlB,GAA8B,IAA1C;AACA,SAAK,KAAL,GAAa,SAAS,CAAC,KAAD,CAAT,GAAmB,KAAnB,GAAgC,IAA7C;AACA,SAAK,GAAL,GAAW,SAAS,CAAC,GAAD,CAAT,GAAiB,GAAjB,GAA4B,IAAvC;AACD;AACH;AAEC;AAEoB;AAAO;AACS;AAAO;AAI9B;;;;;;AAfd;AACO;AACE;2BAQA,K,EAA4B;AACjC,aAAO,KAAK,IAAI,IAAT,IAAiB,KAAK,IAAL,KAAc,KAAK,CAAC,IAArC,IAA6C,KAAK,KAAL,KAAe,KAAK,CAAC,KAAlE,IAA2E,KAAK,GAAL,KAAa,KAAK,CAAC,GAArG;AACD;AACH;AAEC;AACE;;;;2BACM,K,EAA4B;AACjC,UAAI,CAAC,KAAL,EAAY;AACV,eAAO,KAAP;AACD;;AAED,UAAI,KAAK,IAAL,KAAc,KAAK,CAAC,IAAxB,EAA8B;AAC5B,YAAI,KAAK,KAAL,KAAe,KAAK,CAAC,KAAzB,EAAgC;AAC9B,iBAAO,KAAK,GAAL,KAAa,KAAK,CAAC,GAAnB,GAAyB,KAAzB,GAAiC,KAAK,GAAL,GAAW,KAAK,CAAC,GAAzD;AACD,SAFD,MAEO;AACL,iBAAO,KAAK,KAAL,GAAa,KAAK,CAAC,KAA1B;AACD;AACF,OAND,MAMO;AACL,eAAO,KAAK,IAAL,GAAY,KAAK,CAAC,IAAzB;AACD;AACF;AACH;AAEC;AACE;;;;0BACK,K,EAA4B;AAChC,UAAI,CAAC,KAAL,EAAY;AACV,eAAO,KAAP;AACD;;AACD,UAAI,KAAK,IAAL,KAAc,KAAK,CAAC,IAAxB,EAA8B;AAC5B,YAAI,KAAK,KAAL,KAAe,KAAK,CAAC,KAAzB,EAAgC;AAC9B,iBAAO,KAAK,GAAL,KAAa,KAAK,CAAC,GAAnB,GAAyB,KAAzB,GAAiC,KAAK,GAAL,GAAW,KAAK,CAAC,GAAzD;AACD,SAFD,MAEO;AACL,iBAAO,KAAK,KAAL,GAAa,KAAK,CAAC,KAA1B;AACD;AACF,OAND,MAMO;AACL,eAAO,KAAK,IAAL,GAAY,KAAK,CAAC,IAAzB;AACD;AACF;;;yBAvDW,I,EAA2B;AACrC,UAAI,IAAI,YAAY,OAApB,EAA6B;AAC3B,eAAO,IAAP;AACD;;AACD,aAAO,IAAI,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,IAAI,CAAC,GAAxC,CAAH,GAAkD,IAA7D;AACD;;;;;;AAoDF,SC9Fe,UD8Ff,CC9F0B,MD8F1B,EC9FsC;AACrC,SAAO,IAAI,OAAJ,CAAY,MAAM,CAAC,WAAP,EAAZ,EAAkC,MAAM,CAAC,QAAP,KAAoB,CAAtD,EAAyD,MAAM,CAAC,OAAP,EAAzD,CAAP;AACD;;AACD,SAAgB,QAAhB,CAAyB,IAAzB,EAAsC;AACpC,MAAM,MAAM,GAAG,IAAI,IAAJ,CAAS,IAAI,CAAC,IAAd,EAAoB,IAAI,CAAC,KAAL,GAAa,CAAjC,EAAoC,IAAI,CAAC,GAAzC,EAA8C,EAA9C,CAAf,CADoC,CAEtC;;AACE,MAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAP,EAAD,CAAV,EAA8B;AAC5B,UAAM,CAAC,WAAP,CAAmB,IAAI,CAAC,IAAxB;AACD;;AACD,SAAO,MAAP;AACD;;AACD,SAGgB,+BAHhB,GAG+C;AAC7C,SAAO,IAAI,oBAAJ,EAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;;IAEsB,W;;;;;;AACrB,C;;AAAC;AAAA;AAAA;AAAA;AAAA;;;;kEAFS,W,EAAE;AAAkB,QAAE,0DAApB;;gBAA+D,EAAC,M;AAAA;;AAAhE,I;AACR,C;;IA8DQ,oB;;;;;;;;;;;;;qCACG;AAAK,aAAO,CAAP;AAAW;;;gCAErB;AAAK,aAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,EAA5B,EAAgC,EAAhC,EAAoC,EAApC,CAAP;AAAiD;;;uCAE/C;AAAK,aAAO,CAAP;AAAW;;;4BAExB,I,EAAkD;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AACxD,UAAI,MAAM,GAAG,QAAQ,CAAC,IAAD,CAArB;AACA,UAAI,UAAU,GAAG,IAAjB;AACA,UAAI,aAAa,GAAG,MAAM,CAAC,QAAP,EAApB;;AAEA,cAAQ,MAAR;AACE,aAAK,GAAL;AACE,gBAAM,CAAC,WAAP,CAAmB,MAAM,CAAC,WAAP,KAAuB,MAA1C;AACA;;AACF,aAAK,GAAL;AACE,uBAAa,IAAI,MAAjB;AACA,gBAAM,CAAC,QAAP,CAAgB,aAAhB;AACA,uBAAa,GAAG,aAAa,GAAG,EAAhC;;AACA,cAAI,aAAa,GAAG,CAApB,EAAuB;AACrB,yBAAa,GAAG,aAAa,GAAG,EAAhC;AACD;;AACD;;AACF,aAAK,GAAL;AACE,gBAAM,CAAC,OAAP,CAAe,MAAM,CAAC,OAAP,KAAmB,MAAlC;AACA,oBAAU,GAAG,KAAb;AACA;;AACF;AACE,iBAAO,IAAP;AAjBJ;;AAoBA,UAAI,UAAU,IAAI,MAAM,CAAC,QAAP,OAAsB,aAAxC,EAAuD;AAC3D;AACM;AACA,cAAM,CAAC,OAAP,CAAe,CAAf;AACD;;AAED,aAAO,UAAU,CAAC,MAAD,CAAjB;AACD;;;4BAEO,I,EAAkD;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AAAI,aAAO,KAAK,OAAL,CAAa,IAAb,EAAmB,MAAnB,EAA2B,CAAC,MAA5B,CAAP;AAA6C;;;+BAEhG,I,EAAa;AACtB,UAAI,MAAM,GAAG,QAAQ,CAAC,IAAD,CAArB;AACA,UAAI,GAAG,GAAG,MAAM,CAAC,MAAP,EAAV,CAFsB,CAG1B;;AACI,aAAO,GAAG,KAAK,CAAR,GAAY,CAAZ,GAAgB,GAAvB;AACD;;;kCAEa,I,EAA0B,c,EAAsB;AAChE;AACI,UAAI,cAAc,KAAK,CAAvB,EAA0B;AACxB,sBAAc,GAAG,CAAjB;AACD;;AAED,UAAM,aAAa,GAAG,CAAC,IAAI,CAAJ,GAAQ,cAAT,IAA2B,CAAjD;AACA,UAAI,IAAI,GAAG,IAAI,CAAC,aAAD,CAAf;AAEA,UAAM,MAAM,GAAG,QAAQ,CAAC,IAAD,CAAvB;AACA,YAAM,CAAC,OAAP,CAAe,MAAM,CAAC,OAAP,KAAmB,CAAnB,IAAwB,MAAM,CAAC,MAAP,MAAmB,CAA3C,CAAf,EAV4D,CAUE;;AAC9D,UAAM,IAAI,GAAG,MAAM,CAAC,OAAP,EAAb;AACA,YAAM,CAAC,QAAP,CAAgB,CAAhB,EAZ4D,CAYzC;;AACnB,YAAM,CAAC,OAAP,CAAe,CAAf;AACA,aAAO,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,MAAM,CAAC,OAAP,EAAR,IAA4B,QAAvC,IAAmD,CAA9D,IAAmE,CAA1E;AACD;;;+BAEO;AAAc,aAAO,UAAU,CAAC,IAAI,IAAJ,EAAD,CAAjB;AAAgC;;;4BAE9C,I,EAAqB;AAC3B,UAAI,CAAC,IAAD,IAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAN,CAAnB,IAAkC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAN,CAA5C,IAA4D,CAAC,SAAS,CAAC,IAAI,CAAC,GAAN,CAA1E,EAAsF;AACpF,eAAO,KAAP;AACD,OAH0B,CAI/B;;;AAEI,UAAI,IAAI,CAAC,IAAL,KAAc,CAAlB,EAAqB;AACnB,eAAO,KAAP;AACD;;AAED,UAAM,MAAM,GAAG,QAAQ,CAAC,IAAD,CAAvB;AAEA,aAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAP,EAAD,CAAN,IAA4B,MAAM,CAAC,WAAP,OAAyB,IAAI,CAAC,IAA1D,IAAkE,MAAM,CAAC,QAAP,KAAoB,CAApB,KAA0B,IAAI,CAAC,KAAjG,IACH,MAAM,CAAC,OAAP,OAAqB,IAAI,CAAC,GAD9B;AAED;;;;EAnFuC,W;;qCADzC,4B,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACT,C;;AAAE,SCtFY,aDsFZ,CCtF0B,IDsF1B,ECtFiD,IDsFjD,ECtFsE;AACxE,SAAO,CAAC,cAAc,CAAC,IAAD,EAAO,IAAP,CAAtB;AACD;;AACD,SACgB,cADhB,CAC+B,IAD/B,EACsD,IADtD,EAC2E;AACzE,SAAO,CAAC,IAAD,IAAS,CAAC,IAAV,GAAiB,KAAjB,GAAyB,CAAC,IAAD,IAAS,CAAC,IAAV,GAAiB,IAAjB,GAAwB,IAAI,CAAC,IAAL,KAAc,IAAI,CAAC,IAAnB,IAA2B,IAAI,CAAC,KAAL,KAAe,IAAI,CAAC,KAAvG;AACD;;AACD,SACgB,cADhB,CAC+B,IAD/B,EACsD,IADtD,EAC2E;AACzE,SAAQ,CAAC,IAAD,IAAS,CAAC,IAAX,IAAqB,CAAC,CAAC,IAAF,IAAU,CAAC,CAAC,IAAZ,IAAoB,IAAI,CAAC,MAAL,CAAY,IAAZ,CAAhD;AACD;;AACD,SACgB,iBADhB,CACkC,OADlC,EAC4D,OAD5D,EACoF;AAClF,MAAI,OAAO,IAAI,OAAX,IAAsB,OAAO,CAAC,MAAR,CAAe,OAAf,CAA1B,EAAmD;AACjD,UAAM,IAAI,KAAJ,qBAAuB,OAAvB,+CAAmE,OAAnE,EAAN;AACD;AACF;;AACD,SACgB,gBADhB,CACiC,IADjC,EACwD,OADxD,EACkF,OADlF,EAC0G;AAExG,MAAI,IAAI,IAAI,OAAR,IAAmB,IAAI,CAAC,MAAL,CAAY,OAAZ,CAAvB,EAA6C;AAC3C,WAAO,OAAP;AACD;;AACD,MAAI,IAAI,IAAI,OAAR,IAAmB,IAAI,CAAC,KAAL,CAAW,OAAX,CAAvB,EAA4C;AAC1C,WAAO,OAAP;AACD;;AAED,SAAO,IAAI,IAAI,IAAf;AACD;;AACD,SACgB,gBADhB,CACiC,IADjC,EACmE,KADnE,EAC6F;AAAA,MACpF,OADoF,GACxC,KADwC,CACpF,OADoF;AAAA,MAC3E,OAD2E,GACxC,KADwC,CAC3E,OAD2E;AAAA,MAClE,QADkE,GACxC,KADwC,CAClE,QADkE;AAAA,MACxD,YADwD,GACxC,KADwC,CACxD,YADwD,EAE7F;;AACE,SAAO,EACL,IAAI,KAAK,IAAT,IACA,IAAI,KAAK,SADT,IAEA,QAFA,IAGC,YAAY,IAAI,YAAY,CAAC,IAAD,EAAO;AAAC,QAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,SAAK,EAAE,IAAI,CAAC;AAA9B,GAAP,CAH7B,IAIC,OAAO,IAAI,IAAI,CAAC,MAAL,CAAY,OAAZ,CAJZ,IAKC,OAAO,IAAI,IAAI,CAAC,KAAL,CAAW,OAAX,CANP,CAAP,CAH2F,CAW7F;AACC;;AACD,SACgB,uBADhB,CAEI,QAFJ,EAE2B,IAF3B,EAE0C,OAF1C,EAEmE,OAFnE,EAE0F;AACxF,MAAI,CAAC,IAAL,EAAW;AACT,WAAO,EAAP;AACD;;AAED,MAAI,MAAM,GAAG,QAAQ,CAAC,SAAT,CAAmB,IAAI,CAAC,IAAxB,CAAb;;AAEA,MAAI,OAAO,IAAI,IAAI,CAAC,IAAL,KAAc,OAAO,CAAC,IAArC,EAA2C;AACzC,QAAM,KAAK,GAAG,MAAM,CAAC,SAAP,CAAiB,eAAK;AAAA,aAAI,KAAK,KAAK,OAAO,CAAC,KAAtB;AAAA,KAAtB,CAAd;AACA,UAAM,GAAG,MAAM,CAAC,KAAP,CAAa,KAAb,CAAT;AACD;;AAED,MAAI,OAAO,IAAI,IAAI,CAAC,IAAL,KAAc,OAAO,CAAC,IAArC,EAA2C;AACzC,QAAM,MAAK,GAAG,MAAM,CAAC,SAAP,CAAiB,eAAK;AAAA,aAAI,KAAK,KAAK,OAAO,CAAC,KAAtB;AAAA,KAAtB,CAAd;;AACA,UAAM,GAAG,MAAM,CAAC,KAAP,CAAa,CAAb,EAAgB,MAAK,GAAG,CAAxB,CAAT;AACD;;AAED,SAAO,MAAP;AACD;;AACD,SACgB,sBADhB,CACuC,IADvC,EACsD,OADtD,EAC+E,OAD/E,EACsG;AACpG,MAAI,CAAC,IAAL,EAAW;AACT,WAAO,EAAP;AACD;;AAED,MAAM,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC,GAAL,CAAS,OAAO,CAAC,IAAjB,EAAuB,IAAI,CAAC,IAAL,GAAY,GAAnC,CAAH,GAA6C,IAAI,CAAC,IAAL,GAAY,EAA9E;AACA,MAAM,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,GAAL,CAAS,OAAO,CAAC,IAAjB,EAAuB,IAAI,CAAC,IAAL,GAAY,GAAnC,CAAH,GAA6C,IAAI,CAAC,IAAL,GAAY,EAA5E;AAEA,MAAM,MAAM,GAAG,GAAG,GAAG,KAAN,GAAc,CAA7B;AACA,MAAM,OAAO,GAAG,KAAK,CAAC,MAAD,CAArB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAApB,EAA4B,CAAC,EAA7B,EAAiC;AAC/B,WAAO,CAAC,CAAD,CAAP,GAAa,KAAK,GAAG,CAArB;AACD;;AAED,SAAO,OAAP;AACD;;AACD,SACgB,iBADhB,CACkC,QADlC,EACyD,IADzD,EACwE,OADxE,EAC+F;AAC7F,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAP,CAAc,QAAQ,CAAC,OAAT,CAAiB,IAAjB,EAAuB,GAAvB,CAAd,EAA2C;AAAC,OAAG,EAAE;AAAN,GAA3C,CAAjB;AACA,SAAO,OAAO,IAAI,IAAX,IAAmB,QAAQ,CAAC,KAAT,CAAe,OAAf,CAA1B;AACD;;AACD,SACgB,iBADhB,CACkC,QADlC,EACyD,IADzD,EACwE,OADxE,EAC+F;AAC7F,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAP,CAAc,QAAQ,CAAC,OAAT,CAAiB,IAAjB,EAAuB,GAAvB,CAAd,EAA2C;AAAC,OAAG,EAAE;AAAN,GAA3C,CAAjB;AACA,SAAO,OAAO,IAAI,IAAX,KAAoB,QAAQ,CAAC,IAAT,KAAkB,OAAO,CAAC,IAA1B,IAAkC,QAAQ,CAAC,KAAT,GAAiB,OAAO,CAAC,KAA3D,IACA,QAAQ,CAAC,IAAT,GAAgB,OAAO,CAAC,IAAxB,IAAgC,OAAO,CAAC,KAAR,KAAkB,CADtE,CAAP;AAED;;AACD,SACgB,WADhB,CAEI,QAFJ,EAE2B,IAF3B,EAE0C,KAF1C,EAEsE,IAFtE,EAGI,KAHJ,EAGkB;AAAA,MACT,aADS,GACgB,KADhB,CACT,aADS;AAAA,MACM,MADN,GACgB,KADhB,CACM,MADN,EAElB;;AACE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAP,CAAc,CAAd,EAAiB,MAAM,CAAC,MAAxB,CAAtB,CAHgB,CAIlB;;AAEE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAN,CAAW;AAAC,UAAM,EAAE;AAAT,GAAX,EAAoC,UAAC,CAAD,EAAI,CAAJ,EAAK;AAC1D,QAAM,SAAS,GAAG,MAAM,CAAC,MAAP,CAAc,QAAQ,CAAC,OAAT,CAAiB,IAAjB,EAAuB,GAAvB,EAA4B,CAA5B,CAAd,EAA8C;AAAC,SAAG,EAAE;AAAN,KAA9C,CAAlB;AACA,UAAM,CAAC,CAAD,CAAN,GAAiB,IAAjB;;AAEA,QAAI,CAAC,KAAL,EAAY;AACV,UAAM,WAAW,GAAG,aAAa,CAAC,SAAd,CAAwB,eAAK;AAAA,eAAI,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,SAAvB,CAAJ;AAAA,OAA7B,CAApB,CADU,CAEhB;;AACM,UAAI,WAAW,KAAK,CAAC,CAArB,EAAwB;AACtB,cAAM,CAAC,CAAD,CAAN,GAAY,aAAa,CAAC,MAAd,CAAqB,WAArB,EAAkC,CAAlC,EAAqC,CAArC,CAAZ;AACD;AACF;;AAED,WAAO,SAAP;AACD,GAbkB,CAAnB,CANgB,CAoBlB;;AAEE,YAAU,CAAC,OAAX,CAAmB,UAAC,SAAD,EAAY,CAAZ,EAAa;AAC9B,QAAI,MAAM,CAAC,CAAD,CAAN,KAAc,IAAlB,EAAwB;AACtB,YAAM,CAAC,CAAD,CAAN,GAAY,UAAU,CAAC,QAAD,EAAW,SAAX,EAAsB,KAAtB,EAA6B,IAA7B,EAAmC,aAAa,CAAC,KAAd,MAAyB,EAA5D,CAAtB;AACD;AACF,GAJD;AAMA,SAAO,MAAP;AACD;;AACD,SACgB,UADhB,CAEI,QAFJ,EAE2B,IAF3B,EAE0C,KAF1C,EAEsE,IAFtE,EAGgD;AAAA,MAA5C,KAA4C,uEAApB,EAAoB;AAAA,MACvC,eADuC,GACyC,KADzC,CACvC,eADuC;AAAA,MACtB,OADsB,GACyC,KADzC,CACtB,OADsB;AAAA,MACb,OADa,GACyC,KADzC,CACb,OADa;AAAA,MACJ,cADI,GACyC,KADzC,CACJ,cADI;AAAA,MACY,YADZ,GACyC,KADzC,CACY,YADZ;AAAA,MAC0B,WAD1B,GACyC,KADzC,CAC0B,WAD1B;AAE9C,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAT,EAAtB;AAEA,OAAK,CAAC,SAAN,GAAuB,IAAvB;AACA,OAAK,CAAC,QAAN,GAAsB,IAAtB;AACA,OAAK,CAAC,MAAN,GAAe,IAAI,CAAC,KAApB;AACA,OAAK,CAAC,IAAN,GAAa,IAAI,CAAC,IAAlB;AACA,OAAK,CAAC,KAAN,GAAc,KAAK,CAAC,KAAN,IAAe,EAA7B;AACA,OAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,QAAN,IAAkB,EAAnC;AAEA,MAAI,GAAG,gBAAgB,CAAC,QAAD,EAAW,IAAX,EAAiB,cAAjB,CAAvB,CAX8C,CAYhD;;AAEE,OAAK,IAAI,IAAI,GAAG,CAAhB,EAAmB,IAAI,GAAG,QAAQ,CAAC,gBAAT,EAA1B,EAAuD,IAAI,EAA3D,EAA+D;AAC7D,QAAI,UAAU,GAAG,KAAK,CAAC,KAAN,CAAY,IAAZ,CAAjB;;AACA,QAAI,CAAC,UAAL,EAAiB;AACf,gBAAU,GAAG,KAAK,CAAC,KAAN,CAAY,IAAZ,IAAoB;AAAC,cAAM,EAAE,CAAT;AAAY,YAAI,EAAE,EAAlB;AAAsB,iBAAS,EAAE;AAAjC,OAAjC;AACD;;AACD,QAAM,IAAI,GAAG,UAAU,CAAC,IAAxB,CAL6D,CAMjE;;AAEI,SAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,GAAG,QAAQ,CAAC,cAAT,EAAxB,EAAmD,GAAG,EAAtD,EAA0D;AACxD,UAAI,IAAI,KAAK,CAAb,EAAgB;AACd,aAAK,CAAC,QAAN,CAAe,GAAf,IAAsB,QAAQ,CAAC,UAAT,CAAoB,IAApB,CAAtB;AACD;;AAED,UAAM,OAAO,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,IAAI,CAAC,GAAxC,CAAhB;AACA,UAAM,QAAQ,GAAG,QAAQ,CAAC,OAAT,CAAiB,OAAjB,CAAjB;AAEA,UAAM,SAAS,GAAG,IAAI,CAAC,eAAL,CAAqB,OAArB,CAAlB,CARwD,CAS9D;;AAEM,UAAI,QAAQ,GAAG,CAAC,EAAG,OAAO,IAAI,OAAO,CAAC,MAAR,CAAe,OAAf,CAAZ,IAAyC,OAAO,IAAI,OAAO,CAAC,KAAR,CAAc,OAAd,CAAtD,CAAhB;;AACA,UAAI,CAAC,QAAD,IAAa,YAAjB,EAA+B;AAC7B,gBAAQ,GAAG,YAAY,CAAC,OAAD,EAAU;AAAC,eAAK,EAAE,KAAK,CAAC,MAAd;AAAsB,cAAI,EAAE,KAAK,CAAC;AAAlC,SAAV,CAAvB;AACD,OAduD,CAe9D;;;AAEM,UAAI,KAAK,GAAG,OAAO,CAAC,MAAR,CAAe,aAAf,CAAZ,CAjBwD,CAkB9D;;AAEM,UAAI,eAAe,GACf,eAAe,GAAG,eAAe,CAAC,OAAD,EAAU;AAAC,aAAK,EAAE,KAAK,CAAC,MAAd;AAAsB,YAAI,EAAE,KAAK,CAAC;AAAlC,OAAV,CAAlB,GAAuE,SAD1F,CApBwD,CAsB9D;;AAEM,UAAI,KAAK,CAAC,SAAN,KAAoB,IAApB,IAA4B,OAAO,CAAC,KAAR,KAAkB,KAAK,CAAC,MAAxD,EAAgE;AAC9D,aAAK,CAAC,SAAN,GAAkB,OAAlB;AACD,OA1BuD,CA2B9D;;;AAEM,UAAI,OAAO,CAAC,KAAR,KAAkB,KAAK,CAAC,MAAxB,IAAkC,QAAQ,CAAC,KAAT,KAAmB,KAAK,CAAC,MAA/D,EAAuE;AACrE,aAAK,CAAC,QAAN,GAAiB,OAAjB;AACD;;AAED,UAAI,SAAS,GAAG,IAAI,CAAC,GAAD,CAApB;;AACA,UAAI,CAAC,SAAL,EAAgB;AACd,iBAAS,GAAG,IAAI,CAAC,GAAD,CAAJ,GAAY,EAAxB;AACD;;AACD,eAAS,CAAC,IAAV,GAAiB,OAAjB;AACA,eAAS,CAAC,OAAV,GAAoB,MAAM,CAAC,MAAP,CAAc,SAAS,CAAC,OAAV,IAAqB,EAAnC,EAAuC;AACzD,iBAAS,EAAE,OAD8C;AAEzD,YAAI,EAAE,OAFmD;AAGzD,YAAI,EAAE,eAHmD;AAIzD,oBAAY,EAAE,KAAK,CAAC,MAJqC;AAKzD,mBAAW,EAAE,KAAK,CAAC,IALsC;AAKhC,gBAAQ,EAAR,QALgC;AAMzD,eAAO,EAAE,KANgD;AAOzD,gBAAQ,EAAE,KAP+C;AAOxC,aAAK,EAAL;AAPwC,OAAvC,CAApB;AASA,eAAS,CAAC,QAAV,GAAqB,CAAC,CAAtB;AACA,eAAS,CAAC,SAAV,GAAsB,SAAtB;AACA,eAAS,CAAC,MAAV,GAAmB,KAAnB;AAEA,UAAI,GAAG,QAAP;AACD;;AAED,cAAU,CAAC,MAAX,GAAoB,QAAQ,CAAC,aAAT,CAAuB,IAAI,CAAC,GAAL,CAAS,aAAG;AAAA,aAAI,GAAG,CAAC,IAAR;AAAA,KAAZ,CAAvB,EAAkD,cAAlD,CAApB,CA9D6D,CA+DjE;;AAEI,cAAU,CAAC,SAAX,GAAuB,WAAW,KAAK,WAAhB,IAA+B,IAAI,CAAC,CAAD,CAAJ,CAAQ,IAAR,CAAa,KAAb,KAAuB,KAAK,CAAC,MAA5D,IACnB,IAAI,CAAC,IAAI,CAAC,MAAL,GAAc,CAAf,CAAJ,CAAsB,IAAtB,CAA2B,KAA3B,KAAqC,KAAK,CAAC,MAD/C;AAED;;AAED,SAAO,KAAP;AACD;;AACD,SACgB,gBADhB,CACiC,QADjC,EACwD,IADxD,EACuE,cADvE,EAC6F;AAC3F,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAT,EAApB;AACA,MAAM,cAAc,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,CAAnC,CAAvB;AACA,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAT,CAAoB,cAApB,IAAsC,WAAxD;AACA,SAAO,QAAQ,CAAC,OAAT,CAAiB,cAAjB,EAAiC,GAAjC,EAAsC,CAAC,WAAW,GAAG,SAAd,GAA0B,cAA3B,IAA6C,WAAnF,CAAP;AACF;;AACC,SC7Ne,0BD6Nf,CC7N0C,MD6N1C,EC7NgD;AAC/C,SAAO,IAAI,wBAAJ,CAA6B,MAA7B,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEsB,iB;;;;;;;;AACtB;AACE;AACE;AACE;AAAoB;mCA8BT,I,EAAmB;AAAY,uBAAU,IAAI,CAAC,GAAf;AAAuB;AACvE;AAEC;AACE;AACE;AAEJ;;;;oCAAiB,U,EAAkB;AAAY,uBAAU,UAAV;AAAyB;AACzE;AAEC;AACE;AACE;AAEJ;;;;oCAAiB,I,EAAY;AAAY,uBAAU,IAAV;AAAmB;;;;;;;;AAC5D,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;kEAnDC,iB,EAAY;AAAkB,QAAE,0DAApB;;AAA0D,gBAAE,EAAI,M;AAAG,gBAAW,4B;AAAA;;AAA9E,I;AACR,C;;IAoDQ,wB;;;;;AAKX,oCAAuC,OAAvC,EAAsD;AAAA;;AAAA;;AACpD;AADqC;AAGrC,QAAM,wBAAwB,GAAG,0EAAiB,CAAC,OAAD,EAAU,0DAAS,CAAC,UAApB,EAAgC,iEAAgB,CAAC,KAAjD,CAAlD;AACA,YAAK,cAAL,GAAsB,wBAAwB,CAAC,GAAzB,CAA6B,UAAC,GAAD,EAAM,KAAN;AAAA,aAAgB,wBAAwB,CAAC,CAAC,KAAK,GAAG,CAAT,IAAc,CAAf,CAAxC;AAAA,KAA7B,CAAtB;AAEA,YAAK,YAAL,GAAoB,4EAAmB,CAAC,OAAD,EAAU,0DAAS,CAAC,UAApB,EAAgC,iEAAgB,CAAC,WAAjD,CAAvC;AACA,YAAK,WAAL,GAAmB,4EAAmB,CAAC,OAAD,EAAU,0DAAS,CAAC,UAApB,EAAgC,iEAAgB,CAAC,IAAjD,CAAtC;AAPoD;AAQrD;;;;wCAEmB,O,EAAe;AAAY,aAAO,KAAK,cAAL,CAAoB,OAAO,GAAG,CAA9B,KAAoC,EAA3C;AAAgD;;;sCAE7E,K,EAAa;AAAY,aAAO,KAAK,YAAL,CAAkB,KAAK,GAAG,CAA1B,KAAgC,EAAvC;AAA4C;;;qCAEtE,K,EAAa;AAAY,aAAO,KAAK,WAAL,CAAiB,KAAK,GAAG,CAAzB,KAA+B,EAAtC;AAA2C;;;oCAErE,I,EAAmB;AACjC,UAAM,MAAM,GAAG,IAAI,IAAJ,CAAS,IAAI,CAAC,IAAd,EAAoB,IAAI,CAAC,KAAL,GAAa,CAAjC,EAAoC,IAAI,CAAC,GAAzC,CAAf;AACA,aAAO,mEAAU,CAAC,MAAD,EAAS,UAAT,EAAqB,KAAK,OAA1B,CAAjB;AACD;;;;EAxB2C,iB;;yCAD7C,gC,CAAU,C,EAAA;AAAA;AAAA,C;;;;oCACT;;;AAAC;AAAA,UAAkD;AAAA;AAAA;AAAA,YAKtC,oDALsC;AAKhC,aAAC,uDAAD;AALgC;AAAA,GAAlD;AAAA;;;;;;;;;;;;;;;;AAKsC,C;;ICnD5B,oB;AAkGX,gCAAoB,SAApB,EAAoD,KAApD,EAA4E;AAAA;;AAAA;;AAAxD;AAAgC;AAjG5C,uBAC4G;AAC9G,qBAAe,EAAE,yBAAC,gBAAD,EAAoC;AACnD,YAAI,OAAI,CAAC,MAAL,CAAY,eAAZ,KAAgC,gBAApC,EAAqD;AACnD,iBAAO;AAAC,2BAAe,EAAf;AAAD,WAAP;AACD;AACF,OAL6G;AAM9G,mBAAa,EAAE,uBAAC,cAAD,EAAsB;AACnC,sBAAa,GAAG,SAAS,CAAC,cAAD,CAAzB;;AACA,YAAI,SAAS,CAAC,cAAD,CAAT,IAA4B,cAAa,GAAG,CAA5C,IAAiD,OAAI,CAAC,MAAL,CAAY,aAAZ,KAA8B,cAAnF,EAAkG;AAChG,iBAAO;AAAC,yBAAa,EAAb;AAAD,WAAP;AACD;AACF,OAX6G;AAY9G,cAAQ,EAAE,kBAAC,SAAD,EAAkB;AAC1B,YAAI,OAAI,CAAC,MAAL,CAAY,QAAZ,KAAyB,SAA7B,EAAuC;AACrC,iBAAO;AAAC,oBAAQ,EAAR;AAAD,WAAP;AACD;AACF,OAhB6G;AAiB9G,oBAAc,EAAE,wBAAC,eAAD,EAAuB;AACrC,uBAAc,GAAG,SAAS,CAAC,eAAD,CAA1B;;AACA,YAAI,SAAS,CAAC,eAAD,CAAT,IAA6B,eAAc,IAAI,CAA/C,IAAoD,OAAI,CAAC,MAAL,CAAY,cAAZ,KAA+B,eAAvF,EAAuG;AACrG,iBAAO;AAAC,0BAAc,EAAd;AAAD,WAAP;AACD;AACF,OAtB6G;AAuB9G,kBAAY,EAAE,sBAAC,aAAD,EAAsB;AAClC,YAAI,OAAI,CAAC,MAAL,CAAY,YAAZ,KAA6B,aAA7B,IAA6C,CAAC,OAAI,CAAC,MAAL,CAAY,QAA9D,EAAwE;AACtE,iBAAO;AAAC,wBAAY,EAAZ;AAAD,WAAP;AACD;AACF,OA3B6G;AA4B9G,kBAAY,EAAE,sBAAC,aAAD,EAA8B;AAC1C,YAAI,OAAI,CAAC,MAAL,CAAY,YAAZ,KAA6B,aAAjC,EAA+C;AAC7C,iBAAO;AAAC,wBAAY,EAAZ;AAAD,WAAP;AACD;AACF,OAhC6G;AAiC9G,aAAO,EAAE,iBAAC,IAAD,EAAc;AACrB,YAAM,OAAO,GAAG,OAAI,CAAC,WAAL,CAAiB,IAAjB,EAAuB,IAAvB,CAAhB;;AACA,YAAI,aAAa,CAAC,OAAI,CAAC,MAAL,CAAY,OAAb,EAAsB,OAAtB,CAAjB,EAAiD;AAC/C,iBAAO;AAAC,mBAAO,EAAP;AAAD,WAAP;AACD;AACF,OAtC6G;AAuC9G,aAAO,EAAE,iBAAC,IAAD,EAAc;AACrB,YAAM,OAAO,GAAG,OAAI,CAAC,WAAL,CAAiB,IAAjB,EAAuB,IAAvB,CAAhB;;AACA,YAAI,aAAa,CAAC,OAAI,CAAC,MAAL,CAAY,OAAb,EAAsB,OAAtB,CAAjB,EAAiD;AAC/C,iBAAO;AAAC,mBAAO,EAAP;AAAD,WAAP;AACD;AACF,OA5C6G;AA6C9G,gBAAU,EAAE,oBAAC,WAAD,EAAyC;AACnD,YAAI,OAAI,CAAC,MAAL,CAAY,UAAZ,KAA2B,WAA/B,EAA2C;AACzC,iBAAO;AAAC,sBAAU,EAAV;AAAD,WAAP;AACD;AACF,OAjD6G;AAkD9G,iBAAW,EAAE,qBAAC,YAAD,EAAgD;AAC3D,YAAI,OAAI,CAAC,MAAL,CAAY,WAAZ,KAA4B,YAAhC,EAA6C;AAC3C,iBAAO;AAAC,uBAAW,EAAX;AAAD,WAAP;AACD;AACF;AAtD6G,KAD5G;AA0DA,mBAAU,IAAI,6CAAJ,EAAV;AAEA,wBAAe,IAAI,6CAAJ,EAAf;AAEA,kBAA8B;AACpC,qBAAe,EAAE,IADmB;AAEpC,kBAAY,EAAE,IAFsB;AAGpC,aAAO,EAAE,IAH2B;AAIpC,aAAO,EAAE,IAJ2B;AAKpC,cAAQ,EAAE,KAL0B;AAMpC,mBAAa,EAAE,CANqB;AAOpC,eAAS,EAAE,IAPyB;AAQpC,oBAAc,EAAE,CARoB;AASpC,cAAQ,EAAE,IAT0B;AAUpC,eAAS,EAAE,IAVyB;AAWpC,kBAAY,EAAE,KAXsB;AAYpC,YAAM,EAAE,EAZ4B;AAapC,gBAAU,EAAE,QAbwB;AAcpC,iBAAW,EAAE,SAduB;AAepC,kBAAY,EAAE,KAfsB;AAgBpC,kBAAY,EAAE,KAhBsB;AAiBpC,kBAAY,EAAE,IAjBsB;AAkBpC,iBAAW,EAAE;AAAC,aAAK,EAAE,EAAR;AAAY,cAAM,EAAE;AAApB;AAlBuB,KAA9B;AAmCwE;;;;wBAV5E,O,EAAgC;AAAA;;AAClC,UAAI,KAAK,GAAG,MAAM,CAAC,IAAP,CAAY,OAAZ,EACK,GADL,CACS,aAAG;AAAA,eAAI,OAAI,CAAC,WAAL,CAAiB,GAAjB,EAAsB,OAAO,CAAC,GAAD,CAA7B,CAAJ;AAAA,OADZ,EAEK,MAFL,CAEY,UAAC,GAAD,EAAM,IAAN;AAAA,eAAU,gCAAU,GAAV,GAAkB,IAAlB,CAAV;AAAA,OAFZ,EAEgD,EAFhD,CAAZ;;AAIA,UAAI,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,MAAnB,GAA4B,CAAhC,EAAmC;AACjC,aAAK,UAAL,CAAgB,KAAhB;AACD;AACF;;;0BAIK,I,EAAqB;AACzB,UAAM,WAAW,GAAG,KAAK,WAAL,CAAiB,IAAjB,EAAuB,IAAvB,CAApB;;AACA,UAAI,WAAW,IAAI,IAAf,IAAuB,CAAC,KAAK,MAAL,CAAY,QAApC,IAAgD,aAAa,CAAC,KAAK,MAAL,CAAY,SAAb,EAAwB,WAAxB,CAAjE,EAAuG;AACrG,aAAK,UAAL,CAAgB;AAAC,mBAAS,EAAE;AAAZ,SAAhB;AACD;AACF;;;kCAEU;AACT,UAAI,gBAAgB,CAAC,KAAK,MAAL,CAAY,SAAb,EAAwB,KAAK,MAA7B,CAApB,EAA0D;AACxD,aAAK,MAAL,CAAY,KAAK,MAAL,CAAY,SAAxB,EAAmC;AAAC,mBAAS,EAAE;AAAZ,SAAnC;AACD;AACF;;;yBAEI,I,EAAqB;AACxB,UAAM,SAAS,GAAG,KAAK,WAAL,CAAiB,IAAjB,EAAuB,KAAK,SAAL,CAAe,QAAf,EAAvB,CAAlB;;AACA,UAAI,SAAS,IAAI,IAAb,IAAqB,CAAC,KAAK,MAAL,CAAY,QAAlC,KACC,CAAC,KAAK,MAAL,CAAY,SAAb,IAA0B,cAAc,CAAC,KAAK,MAAL,CAAY,SAAb,EAAwB,SAAxB,CADzC,CAAJ,EACkF;AAChF,aAAK,UAAL,CAAgB;AAAC,mBAAS,EAAT;AAAD,SAAhB;AACD;AACF;;;2BAEM,I,EAA0D;AAAA,UAAnC,OAAmC,uEAAF,EAAE;AAC/D,UAAM,YAAY,GAAG,KAAK,WAAL,CAAiB,IAAjB,EAAuB,IAAvB,CAArB;;AACA,UAAI,YAAY,IAAI,IAAhB,IAAwB,CAAC,KAAK,MAAL,CAAY,QAAzC,EAAmD;AACjD,YAAI,aAAa,CAAC,KAAK,MAAL,CAAY,YAAb,EAA2B,YAA3B,CAAjB,EAA2D;AACzD,eAAK,UAAL,CAAgB;AAAC,wBAAY,EAAZ;AAAD,WAAhB;AACD;;AAED,YAAI,OAAO,CAAC,SAAR,IAAqB,gBAAgB,CAAC,YAAD,EAAe,KAAK,MAApB,CAAzC,EAAsE;AACpE,eAAK,YAAL,CAAkB,IAAlB,CAAuB,YAAvB;AACD;AACF;AACF;;;gCAEW,I,EAA6B,Y,EAA6B;AACpE,UAAM,OAAO,GAAG,OAAO,CAAC,IAAR,CAAa,IAAb,CAAhB;;AACA,UAAI,YAAY,KAAK,SAArB,EAAgC;AAC9B,oBAAY,GAAG,KAAK,SAAL,CAAe,QAAf,EAAf;AACD;;AACD,aAAO,KAAK,SAAL,CAAe,OAAf,CAAuB,OAAvB,IAAkC,OAAlC,GAA4C,YAAnD;AACD;;;6BAEQ,M,EAAqB;AAAA,wKACV,KAAK,MAAL,CAAY,MADF;AAAA;;AAAA;AAC5B,4DAAsC;AAAA,cAA7B,KAA6B;;AACpC,cAAI,MAAM,CAAC,KAAP,KAAiB,KAAK,CAAC,MAAvB,IAAiC,MAAM,CAAC,IAAP,KAAgB,KAAK,CAAC,IAA3D,EAAiE;AAC/D,mBAAO,KAAP;AACD;AACF;AAL2B;AAAA;AAAA;AAAA;AAAA;;AAM5B,YAAM,IAAI,KAAJ,iBAAmB,MAAM,CAAC,KAA1B,sBAA2C,MAAM,CAAC,IAAlD,gBAAN;AACD;;;+BAEkB,K,EAAmC;AACpD,UAAM,QAAQ,GAAG,KAAK,YAAL,CAAkB,KAAlB,CAAjB;;AACA,WAAK,cAAL,CAAoB,QAApB;;AACA,WAAK,MAAL,GAAc,QAAd;;AACA,WAAK,OAAL,CAAa,IAAb,CAAkB,KAAK,MAAvB;AACD;;;mCAEsB,K,EAA0B;AAAA,UACxC,MADwC,GAC+C,KAD/C,CACxC,MADwC;AAAA,UAChC,aADgC,GAC+C,KAD/C,CAChC,aADgC;AAAA,UACjB,YADiB,GAC+C,KAD/C,CACjB,YADiB;AAAA,UACH,SADG,GAC+C,KAD/C,CACH,SADG;AAAA,UACQ,YADR,GAC+C,KAD/C,CACQ,YADR;AAAA,UACsB,QADtB,GAC+C,KAD/C,CACsB,QADtB;AAAA,UACgC,WADhC,GAC+C,KAD/C,CACgC,WADhC;AAE/C,WAAK,CAAC,MAAN,CAAa,OAAb,CAAqB,eAAK;AACxB,aAAK,CAAC,KAAN,CAAY,OAAZ,CAAoB,cAAI;AACtB,cAAI,CAAC,IAAL,CAAU,OAAV,CAAkB,aAAG;AAC7B;AAEU,gBAAI,SAAJ,EAAe;AACb,iBAAG,CAAC,OAAJ,CAAY,OAAZ,GAAsB,SAAS,CAAC,MAAV,CAAiB,GAAG,CAAC,IAArB,KAA8B,YAApD;AACD,aALkB,CAM7B;;;AAEU,eAAG,CAAC,QAAJ,GACI,CAAC,QAAD,IAAa,SAAb,IAA0B,GAAG,CAAC,IAAJ,CAAS,MAAT,CAAgB,SAAhB,CAA1B,IAAwD,SAAS,CAAC,KAAV,KAAoB,KAAK,CAAC,MAAlF,GAA2F,CAA3F,GAA+F,CAAC,CADpG,CARmB,CAU7B;;AAEU,gBAAI,QAAQ,KAAK,IAAjB,EAAuB;AACrB,iBAAG,CAAC,OAAJ,CAAY,QAAZ,GAAuB,IAAvB;AACD,aAdkB,CAe7B;;;AAEU,gBAAI,YAAY,KAAK,SAArB,EAAgC;AAC9B,iBAAG,CAAC,OAAJ,CAAY,QAAZ,GAAuB,YAAY,KAAK,IAAjB,IAAyB,YAAY,CAAC,MAAb,CAAoB,GAAG,CAAC,IAAxB,CAAhD;AACD,aAnBkB,CAoB7B;;;AAEU,gBAAI,KAAK,CAAC,MAAN,KAAiB,GAAG,CAAC,IAAJ,CAAS,KAA9B,EAAqC;AACnC,iBAAG,CAAC,MAAJ,GAAa,WAAW,KAAK,QAAhB,IAA4B,WAAW,KAAK,WAA5C,IACR,aAAa,GAAG,CAAhB,IAAqB,GAAG,CAAC,IAAJ,CAAS,KAAT,CAAe,MAAM,CAAC,CAAD,CAAN,CAAU,SAAzB,CAArB,IACA,GAAG,CAAC,IAAJ,CAAS,MAAT,CAAgB,MAAM,CAAC,aAAa,GAAG,CAAjB,CAAN,CAA0B,QAA1C,CAFL;AAGD;AACF,WA3BD;AA4BD,SA7BD;AA8BD,OA/BD;AAgCD;;;iCAEoB,K,EAAmC;AAAI;AAE1D,UAAM,KAAK,GAAG,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,KAAK,MAAvB,EAA+B,KAA/B,CAAd;AAEA,UAAI,SAAS,GAAG,KAAK,CAAC,SAAtB,CAJsD,CAK1D;;AAEI,UAAI,aAAa,KAAb,IAAsB,aAAa,KAAvC,EAA8C;AAC5C,yBAAiB,CAAC,KAAK,CAAC,OAAP,EAAgB,KAAK,CAAC,OAAtB,CAAjB;AACA,aAAK,CAAC,SAAN,GAAkB,gBAAgB,CAAC,KAAK,CAAC,SAAP,EAAkB,KAAK,CAAC,OAAxB,EAAiC,KAAK,CAAC,OAAvC,CAAlC;AACA,aAAK,CAAC,SAAN,GAAkB,gBAAgB,CAAC,KAAK,CAAC,SAAP,EAAkB,KAAK,CAAC,OAAxB,EAAiC,KAAK,CAAC,OAAvC,CAAlC;AACA,iBAAS,GAAG,KAAK,CAAC,SAAlB;AACD,OAZqD,CAa1D;;;AAEI,UAAI,cAAc,KAAlB,EAAyB;AACvB,aAAK,CAAC,YAAN,GAAqB,KAArB;AACD,OAjBqD,CAkB1D;;;AAEI,UAAI,kBAAkB,KAAlB,IAA2B,KAAK,MAAL,CAAY,MAAZ,CAAmB,MAAnB,KAA8B,CAA7D,EAAgE;AAC9D,iBAAS,GAAG,KAAK,CAAC,YAAlB;AACD,OAtBqD,CAuB1D;;;AAEI,UAAI,kBAAkB,KAAtB,EAA6B;AAC3B,eAAO,KAAP;AACD,OA3BqD,CA4B1D;;;AAEI,UAAI,eAAe,KAAnB,EAA0B;AACxB,aAAK,CAAC,SAAN,GAAkB,gBAAgB,CAAC,KAAK,CAAC,SAAP,EAAkB,KAAK,CAAC,OAAxB,EAAiC,KAAK,CAAC,OAAvC,CAAlC;AACA,iBAAS,GAAG,KAAK,CAAC,SAAlB,CAFwB,CAG9B;;AAEM,YAAI,KAAK,CAAC,MAAN,CAAa,MAAb,KAAwB,CAAxB,IAA6B,KAAK,CAAC,SAAnC,IAAgD,CAAC,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAK,CAAC,SAA7B,CAAjD,IACA,CAAC,KAAK,CAAC,SAAN,CAAgB,KAAhB,CAAsB,KAAK,CAAC,QAA5B,CADL,EAC4C;AAC1C,iBAAO,KAAP;AACD;AACF,OAvCqD,CAwC1D;;;AAEI,UAAI,eAAe,KAAnB,EAA0B;AACxB,aAAK,CAAC,SAAN,GAAkB,gBAAgB,CAAC,KAAK,CAAC,SAAP,EAAkB,KAAK,CAAC,OAAxB,EAAiC,KAAK,CAAC,OAAvC,CAAlC;AACA,iBAAS,GAAG,KAAK,CAAC,SAAlB;AACD,OA7CqD,CA8C1D;;;AAEI,UAAI,SAAJ,EAAe;AACb,YAAM,YAAY,GAAG,qBAAqB,KAArB,IAA8B,oBAAoB,KAAlD,IAA2D,kBAAkB,KAA7E,IACjB,aAAa,KADI,IACK,aAAa,KADlB,IAC2B,cAAc,KADzC,IACkD,iBAAiB,KADxF;AAGA,YAAM,MAAM,GAAG,WAAW,CAAC,KAAK,SAAN,EAAiB,SAAjB,EAA4B,KAA5B,EAAmC,KAAK,KAAxC,EAA+C,YAA/C,CAA1B,CAJa,CAKnB;;AAEM,aAAK,CAAC,MAAN,GAAe,MAAf;AACA,aAAK,CAAC,SAAN,GAAkB,MAAM,CAAC,CAAD,CAAN,CAAU,SAA5B;AACA,aAAK,CAAC,QAAN,GAAiB,MAAM,CAAC,MAAM,CAAC,MAAP,GAAgB,CAAjB,CAAN,CAA0B,QAA3C,CATa,CAUnB;;AAEM,YAAI,kBAAkB,KAAlB,IAA2B,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAP,EAAqB,KAArB,CAAhD,EAA6E;AAC3E,eAAK,CAAC,YAAN,GAAqB,IAArB;AACD,SAdY,CAenB;;;AAEM,YAAI,eAAe,KAAnB,EAA0B;AACxB,cAAI,CAAC,KAAK,CAAC,SAAP,IAAoB,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAK,CAAC,SAA7B,CAApB,IAA+D,KAAK,CAAC,SAAN,CAAgB,KAAhB,CAAsB,KAAK,CAAC,QAA5B,CAAnE,EAA0G;AACxG,iBAAK,CAAC,SAAN,GAAkB,SAAlB;AACD;AACF,SArBY,CAsBnB;;;AAEM,YAAM,WAAW,GAAG,CAAC,KAAK,MAAL,CAAY,SAAb,IAA0B,KAAK,MAAL,CAAY,SAAZ,CAAsB,IAAtB,KAA+B,KAAK,CAAC,SAAN,CAAgB,IAA7F;AACA,YAAM,YAAY,GAAG,CAAC,KAAK,MAAL,CAAY,SAAb,IAA0B,KAAK,MAAL,CAAY,SAAZ,CAAsB,KAAtB,KAAgC,KAAK,CAAC,SAAN,CAAgB,KAA/F;;AACA,YAAI,KAAK,CAAC,UAAN,KAAqB,QAAzB,EAAmC;AACzC;AACQ,cAAI,aAAa,KAAb,IAAsB,aAAa,KAAnC,IAA4C,KAAK,CAAC,WAAN,CAAkB,KAAlB,CAAwB,MAAxB,KAAmC,CAA/E,IAAoF,WAAxF,EAAqG;AACnG,iBAAK,CAAC,WAAN,CAAkB,KAAlB,GAA0B,sBAAsB,CAAC,KAAK,CAAC,SAAP,EAAkB,KAAK,CAAC,OAAxB,EAAiC,KAAK,CAAC,OAAvC,CAAhD;AACD,WAJgC,CAKzC;;;AAEQ,cAAI,aAAa,KAAb,IAAsB,aAAa,KAAnC,IAA4C,KAAK,CAAC,WAAN,CAAkB,MAAlB,CAAyB,MAAzB,KAAoC,CAAhF,IAAqF,WAAzF,EAAsG;AACpG,iBAAK,CAAC,WAAN,CAAkB,MAAlB,GACI,uBAAuB,CAAC,KAAK,SAAN,EAAiB,KAAK,CAAC,SAAvB,EAAkC,KAAK,CAAC,OAAxC,EAAiD,KAAK,CAAC,OAAvD,CAD3B;AAED;AACF,SAXD,MAWO;AACL,eAAK,CAAC,WAAN,GAAoB;AAAC,iBAAK,EAAE,EAAR;AAAY,kBAAM,EAAE;AAApB,WAApB;AACD,SAvCY,CAwCnB;;;AAEM,YAAI,CAAC,KAAK,CAAC,UAAN,KAAqB,QAArB,IAAiC,KAAK,CAAC,UAAN,KAAqB,QAAvD,MACC,YAAY,IAAI,WAAhB,IAA+B,aAAa,KAA5C,IAAqD,aAAa,KAAlE,IAA2E,cAAc,KAD1F,CAAJ,EACsG;AACpG,eAAK,CAAC,YAAN,GAAqB,KAAK,CAAC,QAAN,IAAkB,iBAAiB,CAAC,KAAK,SAAN,EAAiB,KAAK,CAAC,SAAvB,EAAkC,KAAK,CAAC,OAAxC,CAAxD;AACA,eAAK,CAAC,YAAN,GAAqB,KAAK,CAAC,QAAN,IAAkB,iBAAiB,CAAC,KAAK,SAAN,EAAiB,KAAK,CAAC,QAAvB,EAAiC,KAAK,CAAC,OAAvC,CAAxD;AACD;AACF;;AAED,aAAO,KAAP;AACD;;;wBAhNS;AAAsC,aAAO,KAAK,OAAL,CAAa,IAAb,CAAkB,8DAAM,CAAC,eAAK;AAAA,eAAI,KAAK,CAAC,MAAN,CAAa,MAAb,GAAsB,CAA1B;AAAA,OAAN,CAAxB,CAAP;AAAqE;;;wBAEtG;AAA0B,aAAO,KAAK,YAAL,CAAkB,IAAlB,CAAuB,8DAAM,CAAC,cAAI;AAAA,eAAI,IAAI,KAAK,IAAb;AAAA,OAAL,CAA7B,CAAP;AAA+D;;;;;;qCAvFzG,4B,CAAU,C,EAAA;AAAA;AAAA,C;;;;gCACT;;;AAAC;AAAA,UACU;AAAA,UA7BL;AA6BK,GADV,EA5BoB;AAAA,UAqBf;AArBe,GA4BpB;AAAA;;;;;;;;;;;;;;AAP2B,C,KCiC9B;;;AAEA,IAAY,eAAZ;;AAAA,WAAY,eAAZ,EAA2B;AACzB;AACA;AACD,CAHD,EAAY,eAAe,KAAf,eAAe,MAA3B;ACpDA;AACA;AACA;AACA;AACA;AACA;;;IAEa,mB,GADb;AAAA;;AAKE,uBAAgB,CAAhB;AACA,wBAAiB,CAAjB;AAIA,oBAA2C,QAA3C;AACA,qBAAkD,SAAlD;AACA,sBAAe,IAAf;AACA,yBAAkB,KAAlB;AAED,C;;;;AACA,C;;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;kEAhBD,mB,EAAY;AAAkB,QAAC,0DAAnB;;;;AAAA,I;;;AACR,C;;AAAE,SCPS,mCDOT,GCP4C;AACjD,SAAO,IAAI,oBAAJ,EAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEsB,c;;;;;;AAAkB,C;;AAAC;AAAA;AAAA;AAAA;AAAA;;;;kEAD9B,c,EAAE;AAAkB,QAAE,0DAApB;;kBAAmE,M;AAAC;;AAApE,I;AACR,C;;IAaQ,oB;;;;;;;;;;;;;;AACb;AACE;AACE;8BACQ,I,EAA0B;AAClC,aAAQ,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAN,CAAjB,IAAgC,SAAS,CAAC,IAAI,CAAC,KAAN,CAAzC,IAAyD,SAAS,CAAC,IAAI,CAAC,GAAN,CAAnE,GACH;AAAC,YAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,aAAK,EAAE,IAAI,CAAC,KAA9B;AAAqC,WAAG,EAAE,IAAI,CAAC;AAA/C,OADG,GAEH,IAFJ;AAGD;AACH;AAEC;AACE;;;;4BACO,I,EAA0B;AAChC,aAAQ,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAN,CAAjB,IAAgC,SAAS,CAAC,IAAI,CAAC,KAAN,CAAzC,IAAyD,SAAS,CAAC,IAAI,CAAC,GAAN,CAAnE,GACH;AAAC,YAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,aAAK,EAAE,IAAI,CAAC,KAA9B;AAAqC,WAAG,EAAE,IAAI,CAAC;AAA/C,OADG,GAEH,IAFJ;AAGD;;;;EAjBuC,c;;qCADzC,4B,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACT,C;;AAAE,ICCS,6BAA6B,GAAG;AAC3C,SAAO,EAAE,iEADkC;AAE3C,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,aAAN;AAAA,GAAD,CAFoB;AAG3C,OAAK,EAAE;AAHoC,CDDzC;ACsEJ;AACA;AACA;AACA;AACA;;IAEa,oB,GACX,8BAAmB,WAAnB,EAAgD;AAAA;;AAA7B;AAAiC,C;;qCAFrD,4B,CAAU,C,EAAC;AAAA,SAAU,gGAAoC,yDAApC,EAAV;AAA8C,C;;;;sDACrD,E;;;AAAC;AAAA,UACU;AAAA,UA7Fd,yDAAW;AA6FG,GADV;AAAA;;;;;;;;;;;;;;;AA3FH,C;AA+FH;AACA;AACA;AACA;AACA;;;IAkDa,a;AAwIX,yBACY,QADZ,EACoD,SADpD,EACmF,IADnF,EAEI,MAFJ,EAEiC,EAFjC,EAEgE,WAFhE,EAGY,eAHZ,EAG0D,OAH1D,EAGyE;AAAA;;AAAA;;AAF7D;AAAwC;AAA+B;AACnB;AACpD;AAA8C;AA/HlD,yBAAgC,IAAhC;AACA,uBAAc,IAAI,6CAAJ,EAAd;AACA,wBAAwC,EAAxC;AACV;AAEK;AAEmC;AAAW;AAEiC;;AAqGxE,oBAAW,IAAI,0DAAJ,EAAX;AACZ;AAEK;AAEC;AAAW;AAGjB;AACK;AAAwB;;AAAjB,sBAAa,IAAI,0DAAJ,EAAb;;AAEV,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;;AACA,qBAAY,aAAQ,CAApB;;AAME,KAAC,aAAD,EAAgB,iBAAhB,EAAmC,eAAnC,EAAoD,gBAApD,EAAsE,gBAAtE,EAAwF,cAAxF,EAAwG,SAAxG,EACC,SADD,EACY,YADZ,EAC0B,aAD1B,EACyC,cADzC,EACyD,iBADzD,EAC4E,WAD5E,EAEK,OAFL,CAEa,eAAK;AAAA,aAAI,OAAI,CAAC,KAAD,CAAJ,GAAc,MAAM,CAAC,KAAD,CAAxB;AAAA,KAFlB;;AAIA,YAAQ,CAAC,WAAT,CAAqB,IAArB,CAA0B,iEAAS,CAAC,KAAK,WAAN,CAAnC,EAAuD,SAAvD,CAAiE,cAAI;AAAM,aAAI,CAAC,UAAL,CAAgB,IAAhB,CAAqB,IAArB;AAA6B,KAAxG;;AAEA,YAAQ,CAAC,MAAT,CAAgB,IAAhB,CAAqB,iEAAS,CAAC,KAAK,WAAN,CAA9B,EAAkD,SAAlD,CAA4D,eAAK;AAC/D,UAAM,OAAO,GAAG,KAAK,CAAC,SAAtB;AACA,UAAM,OAAO,GAAG,OAAI,CAAC,KAAL,GAAa,OAAI,CAAC,KAAL,CAAW,SAAxB,GAAoC,IAApD,CAF+D,CAGrE;;AAEM,aAAI,CAAC,YAAL,GAAoB;AAClB,eAAO,EAAE,KAAK,CAAC,OADG;AAElB,eAAO,EAAE,KAAK,CAAC,OAFG;AAGlB,iBAAS,EAAE,KAAK,CAAC,SAHC;AAIlB,gBAAQ,EAAE,KAAK,CAAC,QAJE;AAKlB,mBAAW,EAAE,KAAK,CAAC,SALD;AAMlB,cAAM,EAAE,KAAK,CAAC,MAAN,CAAa,GAAb,CAAiB,mBAAS;AAAA,iBAAI,SAAS,CAAC,SAAd;AAAA,SAA1B;AANU,OAApB;AASA,UAAI,mBAAmB,GAAG,KAA1B,CAd+D,CAerE;;AACM,UAAI,CAAC,OAAO,CAAC,MAAR,CAAe,OAAf,CAAL,EAA8B;AAC5B,eAAI,CAAC,QAAL,CAAc,IAAd,CAAmB;AACjB,iBAAO,EAAE,OAAO,GAAG;AAAC,gBAAI,EAAE,OAAO,CAAC,IAAf;AAAqB,iBAAK,EAAE,OAAO,CAAC;AAApC,WAAH,GAAgD,IAD/C;AAEjB,cAAI,EAAE;AAAC,gBAAI,EAAE,OAAO,CAAC,IAAf;AAAqB,iBAAK,EAAE,OAAO,CAAC;AAApC,WAFW;AAGjB,wBAAc,EAAE;AAAA,mBAAM,mBAAmB,GAAG,IAA5B;AAAA;AAHC,SAAnB,EAD4B,CAMpC;;;AAEQ,YAAI,mBAAmB,IAAI,OAAO,KAAK,IAAvC,EAA6C;AAC3C,iBAAI,CAAC,QAAL,CAAc,IAAd,CAAmB,OAAnB;;AACA;AACD;AACF;;AAED,UAAM,eAAe,GAAG,KAAK,CAAC,YAA9B;AACA,UAAM,cAAc,GAAG,KAAK,CAAC,SAA7B;AACA,UAAM,cAAc,GAAG,OAAI,CAAC,KAAL,GAAa,OAAI,CAAC,KAAL,CAAW,SAAxB,GAAoC,IAA3D;AAEA,aAAI,CAAC,KAAL,GAAa,KAAb,CAlC+D,CAmCrE;;AAEM,UAAI,aAAa,CAAC,eAAD,EAAkB,OAAI,CAAC,aAAvB,CAAjB,EAAwD;AACtD,eAAI,CAAC,aAAL,GAAqB,eAArB;;AACA,eAAI,CAAC,SAAL;;AACA,eAAI,CAAC,QAAL,CAAc,OAAI,CAAC,eAAL,CAAqB,OAArB,CAA6B,eAA7B,CAAd;AACD,OAzC8D,CA0CrE;;;AAEM,UAAI,aAAa,CAAC,cAAD,EAAiB,cAAjB,CAAb,IAAiD,cAAjD,IAAmE,KAAK,CAAC,YAA7E,EAA2F;AACzF,eAAI,CAAC,KAAL;AACD;;AAED,QAAE,CAAC,YAAH;AACD,KAjDD;AAkDD;AACH;AAEC;AACE;AACE;AAEJ;;;;;;AAQD;AAEC;AACE;8BACS,I,EAA2B;AAAU,WAAK,QAAL,CAAc,KAAd,CAAoB,OAAO,CAAC,IAAR,CAAa,IAAb,CAApB;AAA0C;AAC3F;AAEC;AACE;;;;kCACU;AAAW,WAAK,QAAL,CAAc,WAAd;AAA8B;;;4BAE/C;AAAA;;AACH,WAAK,OAAL,CAAa,QAAb,CAAsB,YAAtB,GAAqC,IAArC,CAA0C,4DAAI,CAAC,CAAD,CAA9C,EAAmD,SAAnD,CAA6D;AAC3D,YAAM,cAAc,GAChB,OAAI,CAAC,WAAL,CAAiB,aAAjB,CAA+B,aAA/B,CAA6D,8BAA7D,CADJ;;AAEA,YAAI,cAAJ,EAAoB;AAClB,wBAAc,CAAC,KAAf;AACD;AACF,OAND;AAOD;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAEJ;;;;+BAAM,I,EAAkD;AAC3D,WAAK,QAAL,CAAc,IAAd,CAAmB,OAAO,CAAC,IAAR,CAAa,IAAI,GAAG,IAAI,CAAC,GAAL,GAAW,IAAX,GAAgC,gCAAO,IAAP,GAAW;AAAE,WAAG,EAAE;AAAP,OAAX,CAAnC,GAA0D,IAA3E,CAAnB;AACD;;;sCAEc;AAAA;;AACb,WAAK,OAAL,CAAa,iBAAb,CAA+B;AAC7B,YAAM,SAAS,GAAG,uDAAS,CAAa,OAAI,CAAC,UAAL,CAAgB,aAA7B,EAA4C,SAA5C,CAA3B;AACA,YAAM,UAAU,GAAG,uDAAS,CAAa,OAAI,CAAC,UAAL,CAAgB,aAA7B,EAA4C,UAA5C,CAA5B;AAF6B,YAGtB,aAHsB,GAGL,OAAI,CAAC,WAHA,CAGtB,aAHsB,EAInC;AAEK;;AACC,2DAAK,CAAC,SAAD,EAAY,UAAZ,CAAL,CACK,IADL,CAEQ,8DAAM,CACF;AAAA,cAAE,MAAF,UAAE,MAAF;AAAA,cAAU,aAAV,UAAU,aAAV;AAAA,iBACI,EAAE,YAAY,CAAC,MAAD,EAAS,YAAT,CAAZ,IAAsC,YAAY,CAAC,aAAD,EAAgB,YAAhB,CAAlD,IACA,aAAa,CAAC,QAAd,CAAuB,MAAvB,CADA,IAC0C,aAAa,CAAC,QAAd,CAAuB,aAAvB,CAD5C,CADJ;AAAA,SADE,CAFd,EAMQ,iEAAS,CAAC,OAAI,CAAC,WAAN,CANjB,EAOK,SAPL,CAOe;AAAA,cAAE,IAAF,UAAE,IAAF;AAAA,iBAAY,OAAI,CAAC,OAAL,CAAa,GAAb,CAAiB;AAAA,mBAAM,OAAI,CAAC,QAAL,CAAc,GAAd,CAAkB;AAAC,0BAAY,EAAE,IAAI,KAAK;AAAxB,aAAlB,CAAN;AAAA,WAAjB,CAAZ;AAAA,SAPf;AAQD,OAfD;AAgBD;;;kCAEU;AAAK,WAAK,WAAL,CAAiB,IAAjB;AAA0B;;;+BAElC;AAAA;;AACN,UAAI,KAAK,KAAL,KAAe,SAAnB,EAA8B;AAC5B,YAAM,MAAM,GAA4B,EAAxC;AACA,SAAC,iBAAD,EAAoB,eAApB,EAAqC,cAArC,EAAqD,gBAArD,EAAuE,YAAvE,EAAqF,SAArF,EAAgG,SAAhG,EACC,aADD,EAEK,OAFL,CAEa,cAAI;AAAA,iBAAI,MAAM,CAAC,IAAD,CAAN,GAAe,OAAI,CAAC,IAAD,CAAvB;AAAA,SAFjB;;AAGA,aAAK,QAAL,CAAc,GAAd,CAAkB,MAAlB;;AAEA,aAAK,UAAL,CAAgB,KAAK,SAArB;AACD;;AACD,UAAI,CAAC,KAAK,WAAV,EAAuB;AACrB,aAAK,WAAL,GAAmB,KAAK,mBAAxB;AACD;AACF;;;gCAEW,O,EAAsB;AAAA;;AAChC,UAAM,MAAM,GAA4B,EAAxC;AACA,OAAC,iBAAD,EAAoB,eAApB,EAAqC,cAArC,EAAqD,gBAArD,EAAuE,YAAvE,EAAqF,SAArF,EAAgG,SAAhG,EACC,aADD,EAEK,MAFL,CAEY,cAAI;AAAA,eAAI,IAAI,IAAI,OAAZ;AAAA,OAFhB,EAGK,OAHL,CAGa,cAAI;AAAA,eAAI,MAAM,CAAC,IAAD,CAAN,GAAe,OAAI,CAAC,IAAD,CAAvB;AAAA,OAHjB;;AAIA,WAAK,QAAL,CAAc,GAAd,CAAkB,MAAlB;;AAEA,UAAI,eAAe,OAAnB,EAA4B;AAAA,iCACY,OAAO,CAAC,SADpB;AAAA,YACnB,YADmB,sBACnB,YADmB;AAAA,YACL,aADK,sBACL,aADK;;AAE1B,YAAI,cAAc,CAAC,aAAD,EAAgB,YAAhB,CAAlB,EAAiD;AAC/C,eAAK,UAAL,CAAgB,KAAK,SAArB;AACD;AACF;AACF;;;iCAEY,I,EAAa;AACxB,WAAK,QAAL,CAAc,KAAd,CAAoB,IAApB;;AACA,WAAK,QAAL,CAAc,MAAd,CAAqB,IAArB,EAA2B;AAAC,iBAAS,EAAE;AAAZ,OAA3B;AACD;;;yCAEoB,I,EAAa;AAAI,WAAK,QAAL,CAAc,IAAd,CAAmB,IAAnB;AAA2B;;;oCAEjD,K,EAAsB;AACpC,cAAQ,KAAR;AACE,aAAK,eAAe,CAAC,IAArB;AACE,eAAK,QAAL,CAAc,IAAd,CAAmB,KAAK,SAAL,CAAe,OAAf,CAAuB,KAAK,KAAL,CAAW,SAAlC,EAA+C,GAA/C,EAAoD,CAApD,CAAnB;;AACA;;AACF,aAAK,eAAe,CAAC,IAArB;AACE,eAAK,QAAL,CAAc,IAAd,CAAmB,KAAK,SAAL,CAAe,OAAf,CAAuB,KAAK,KAAL,CAAW,SAAlC,EAA+C,GAA/C,EAAoD,CAApD,CAAnB;;AACA;AANJ;AAQD;;;qCAEgB,E,EAAuB;AAAU,WAAK,QAAL,GAAgB,EAAhB;AAAqB;;;sCAErD,E,EAAa;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;;;qCAE9C,Q,EAAiB;AAAI,WAAK,QAAL,CAAc,GAAd,CAAkB;AAAC,gBAAQ,EAAR;AAAD,OAAlB;AAAgC;;;+BAE3D,K,EAAK;AACd,WAAK,aAAL,GAAqB,OAAO,CAAC,IAAR,CAAa,KAAK,eAAL,CAAqB,SAArB,CAA+B,KAA/B,CAAb,CAArB;;AACA,WAAK,QAAL,CAAc,MAAd,CAAqB,KAAK,aAA1B;AACD;;;wBAxHQ;AAAyB,aAAO,KAAK,YAAZ;AAA2B;AAC/D;AAEC;AACE;AACE;AAEJ;;;;wBAAa;AAAkB,aAAO,KAAK,SAAZ;AAAwB;;;;;;8BAnQvD,qB,CAAS,C,EAAA;AAAA,SAAC,yBACC,gEAAe,oBAAf,CADD,EAEC,gEAAgB,WAAhB,CAFD,EAGT,gEAAiB,iBAAjB,CAHS,EAGsC,gEAChC,mBADgC,CAHtC,EAI4B,gEAE7B,+DAF6B,CAJ5B,EAMC,yHAND,EAMC,+EAND,EAMC,qHAND,CAAD;AAME,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EAwCT,e,GAAA,sBACD,UADC,EACW,YADX,EACW,cADX,EAC0C,cAD1C,EAC+D,aAD/D,EAC+D,UAD/D,EAC+D,QAD/D,EAC+D,CAD/D,EAC+D,MAD/D,C,EAC+D,qB,EAAA,e,EAAA,uB,EAAA,0F,EAAA,gD,EAAA,mB,EAAA,yC,EAAA,Y,EAAA,wB,EAAA,oH;AAAA;AAAA;;;;+DACjE,C,EAAA,kD,EAAA,C,EAAA,C,EAAA,2B,EAAA,C;;;;;;;;;;;;;;;;;;;;;;;;;;mBACI;;;AAAC;AAAA,UAAuC;AAAA,UA/IZ;AA+IY,GAAvC,EA/ImD;AAAA,UAFjD;AAEiD,GA+InD,EAjJiB;AAAA,UAQf;AARe,GAiJjB,EAzIuB;AAAA,UAHrB;AAGqB,GAyIvB,EA5IyB;AAAA,UAxB7B,+DAAiB;AAwBY,GA4IzB,EAnKJ;AAAA,UAGA,wDAAU;AAHV,GAmKI,EA/JJ;AAAA,UAoBM;AApBN,GA+JI,EA3IoB;AAAA,UAjBxB,oDAAM;AAiBkB,GA2IpB;AAAA;;AA3JF;AAGH;AAAA,UAgKE,uDAhKF;AAgKW,WAAC,oBAAD,EAAuB;AAAC,YAAM,EAAE;AAAT,KAAvB;AAhKX,IAHG;AAmKoD;AAAA,UACrD,uDADqD;AAC5C,WAAC,SAAD,EAAY;AAAC,YAAM,EAAE;AAAT,KAAZ;AAD4C,IAnKpD;AAoKyC;AAAA,UAC1C,0DAD0C;AAC9B,WAAC,oBAAD,EAAuB;AAAC,YAAM,EAAE;AAAT,KAAvB;AAD8B,IApKzC;AAqKuD;AAAA,UAaxD,mDAAK;AAbmD,IArKvD;AAkLS;AAAA,UAUV,mDAAK;AAVK,IAlLT;AA4LS;AAAA,UAKV,mDAAK;AALK,IA5LT;AAiMS;AAAA,UAOV,mDAAK;AAPK,IAjMT;AAwMS;AAAA,UAOV,mDAAK;AAPK,IAxMT;AA+MS;AAAA,UASV,mDAAK;AATK,IA/MT;AAwNS;AAAA,UAOV,mDAAK;AAPK,IAxNT;AA+NS;AAAA,UAOV,mDAAK;AAPK,IA/NT;AAsOS;AAAA,UASV,mDAAK;AATK,IAtOT;AA+OS;AAAA,UAWV,mDAAK;AAXK,IA/OT;AA0PS;AAAA,UAKV,mDAAK;AALK,IA1PT;AA+PS;AAAA,UAKV,mDAAK;AALK,IA/PT;AAoQS;AAAA,UAUV,mDAAK;AAVK,IApQT;AA8QS;AAAA,UAOV,oDAAM;AAPI,IA9QT;AAqRU;AAAA,UASX,oDAAM;AATK;AArRV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8RW,C;;AC3Sf,IAAY,GAAZ;;AAAA,WAAY,GAAZ,EAAe;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD,CAbD,EAAY,GAAG,KAAH,GAAG,MAAf;ACIA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,4B;;;;;;;;AACb;AACE;AACE;+BACS,K,EAAsB,U,EAAyB;AAAA,UACjD,KADiD,GAC9B,UAD8B,CACjD,KADiD;AAAA,UAC1C,QAD0C,GAC9B,UAD8B,CAC1C,QAD0C,EAE5D;;AACI,cAAQ,KAAK,CAAC,KAAd;AACE,aAAK,GAAG,CAAC,MAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,CAAC,WAAvB,EAAoC,KAAK,CAAC,QAAN,GAAiB,GAAjB,GAAuB,GAA3D,EAAgE,CAAhE,CAArB;AACA;;AACF,aAAK,GAAG,CAAC,QAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,CAAC,WAAvB,EAAoC,KAAK,CAAC,QAAN,GAAiB,GAAjB,GAAuB,GAA3D,EAAgE,CAAhE,CAArB;AACA;;AACF,aAAK,GAAG,CAAC,GAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,KAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,OAAvB,GAAiC,KAAK,CAAC,QAA5D;AACA;;AACF,aAAK,GAAG,CAAC,IAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,KAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,OAAvB,GAAiC,KAAK,CAAC,SAA5D;AACA;;AACF,aAAK,GAAG,CAAC,SAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,CAAC,WAAvB,EAAoC,GAApC,EAAyC,CAAzC,CAArB;AACA;;AACF,aAAK,GAAG,CAAC,OAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,CAAC,WAAvB,EAAoC,GAApC,EAAyC,QAAQ,CAAC,cAAT,EAAzC,CAArB;AACA;;AACF,aAAK,GAAG,CAAC,UAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,CAAC,WAAvB,EAAoC,GAApC,EAAyC,CAAzC,CAArB;AACA;;AACF,aAAK,GAAG,CAAC,SAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,CAAC,WAAvB,EAAoC,GAApC,EAAyC,QAAQ,CAAC,cAAT,EAAzC,CAArB;AACA;;AACF,aAAK,GAAG,CAAC,KAAT;AACA,aAAK,GAAG,CAAC,KAAT;AACE,oBAAU,CAAC,WAAX;AACA;;AACF;AACE;AA9BJ;;AAgCA,WAAK,CAAC,cAAN;AACA,WAAK,CAAC,eAAN;AACD;;;;;;;;AACF,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;kEA5CC,4B,EAAY;AAAkB,QAAC,0DAAnB;;;;AAAA,I;AACR,C;ACJL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IA8Ba,kB;AAcX,8BACW,IADX,EAC2C,UAD3C,EAEY,gBAFZ,EAEoE,QAFpE,EAEkG;AAAA;;AADvF;AAAgC;AAC/B;AAAwD;AAAkC;AACxG;AACO;AAA+C;AAAO;AAEzC;AAEL;;;;;8BAJH,K,EAAoB;AAAI,WAAK,gBAAL,CAAsB,UAAtB,CAAiC,KAAjC,EAAwC,KAAK,UAA7C;AAA2D;;;6BAEpF,G,EAAiB;AACxB,UAAI,CAAC,GAAG,CAAC,OAAJ,CAAY,QAAb,IAAyB,CAAC,GAAG,CAAC,MAAlC,EAA0C;AACxC,aAAK,UAAL,CAAgB,YAAhB,CAA6B,GAAG,CAAC,IAAjC;AACD;AACF;;;sBAhBS,K,EAAoB;AAC5B,WAAK,SAAL,GAAiB,KAAK,QAAL,CAAc,QAAd,CAAuB,KAAvB,CAAjB;AACD;;;;;;mCAvCF,0B,CAAS,C,EAAC;AAAA,mBACT,kBADS,EACC,gEAAsB,iBAAtB,CADD,EAEM,gEAAqB,aAArB,CAFN,EAE+C,gEACxD,4BADwD,CAF/C,EAG4B,gEAE7B,oBAF6B,CAH5B;AAKC,C;;;;;;;;;;;;;;;;;;8uBAsBT,Y,EAAA,C,EAAA,U,EAAA,O,GAAA,W,EAAA,kD;AAAA;AAAA;;;;;;;;;;;;WACF,qkB;AAAA;;;AACK;AAAA,UAEI;AAAA,UA7CF;AA6CE,GAFJ,EA3CuB;AAAA,UADrB;AACqB,GA2CvB,EA5CmB;AAAA,UAEjB;AAFiB,GA4CnB,EA1CkC;AAAA,UAChC;AADgC,GA0ClC;AAAA;;AAzC4B;AACrB;AAAA,UA+CV,mDAAK;AA/CK;AADqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiD/B,C;;ICXU,uB;AAcX,mCAAmB,IAAnB,EAA0C;AAAA;;AAAvB;AAbnB,sBAAa,eAAb;AAIS,kBAA2B,EAA3B;AAMC,oBAAW,IAAI,0DAAJ,EAAX;AACA,kBAAS,IAAI,0DAAJ,EAAT;AAEoC;;;;gCAElC,K,EAAiB;AAC1B,WAAK,CAAC,aAAN,CAAoC,KAApC;AACD,WAAK,QAAL,CAAc,IAAd,CAAmB,KAAK,UAAL,CAAgB,IAAnC;AACD;;;gCAEW,K,EAAiB;AAC1B,WAAK,CAAC,aAAN,CAAoC,KAApC;AACD,WAAK,QAAL,CAAc,IAAd,CAAmB,KAAK,UAAL,CAAgB,IAAnC;AACD;;;;;;wCA7DF,+B,CAAU,C,EAAA;AAAA,cACT,4BADS,EACC,gEACV,iBADU,CADD;AAEQ,C;;AAAuB,uBAAO,KAAP,GAAO,gEAChC;AAAA;AAAsB,WAErC,IAAQ,2BAAR,EAFe;AAEL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAFK;AAEL;AAAA;AAAA;AAAA,GAFK;AAEL,UAFK;AAEL,SAFK;AAEL;AAAA;;AAAA;;;KAAA,M;;;;;;;;;;;;;;;;;gBA8BP,mE;;;;;;;;;;;;;;4hBACJ,Q,GAAA,2B,EAAA,oC,EAAA,wB;AAAA,GAjCgB;AAiChB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAjCgB;;;GAAA;8kCAAA;kBAAA;mBAkCZ;AAlCY,CADgC,CAAP;;AAmCpC;AAAA,UACU;AAAA,UAxCR;AAwCQ,GADV;AAAA;;AAvCyB;AAGxB;AAAA,UAuCJ,mDAAK;AAvCD,IAHwB;AA0ClB;AAAA,UACV,mDAAK;AADK,IA1CkB;AA2ClB;AAAA,UACV,mDAAK;AADK,IA3CkB;AA4ClB;AAAA,UACV,mDAAK;AADK,IA5CkB;AA6ClB;AAAA,UACV,mDAAK;AADK,IA7CkB;AA8ClB;AAAA,UACV,mDAAK;AADK,IA9CkB;AA+ClB;AAAA,UACV,mDAAK;AADK,IA/CkB;AAgDlB;AAAA,UAEV,oDAAM;AAFI,IAhDkB;AAkDjB;AAAA,UACX,oDAAM;AADK;AAlDiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDhB,C;;AChDf,IAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,OAAD,EAAuB,KAAvB;AAAA,SAClB,KAAK,GAAG,KAAK,CAAC,IAAN,CAAW,cAAI;AAAA,WAAI,IAAI,CAAC,QAAL,CAAc,OAAd,CAAJ;AAAA,GAAf,CAAH,GAAgD,KADnC;AAAA,CAAtB;;AAEA;;AACA,IAAM,oBAAoB,GAAG,SAAvB,oBAAuB,CAAC,OAAD,EAAuB,QAAvB;AAAA,SACzB,CAAC,QAAD,IAAa,OAAO,CAAC,OAAD,EAAU,QAAV,CAAP,IAA8B,IADlB;AAAA,CAA7B;;AAEA;;AACkC,WAEhB,SAFgB,IAEhB;AAChB,MAAM,KAAK,GAAG,SAAR,KAAQ;AAAA,WAAM,mBAAmB,IAAnB,CAAwB,SAAS,CAAC,SAAlC,KACf,YAAY,IAAZ,CAAiB,SAAS,CAAC,SAA3B,KAAyC,SAAS,CAAC,cAAnD,IAAqE,SAAS,CAAC,cAAV,GAA2B,CADvF;AAAA,GAAd;;AAEA,MAAM,SAAS,GAAG,SAAZ,SAAY;AAAA,WAAM,UAAU,IAAV,CAAe,SAAS,CAAC,SAAzB,CAAN;AAAA,GAAlB;;AAEA,SAAO,OAAO,SAAP,KAAqB,WAArB,GAAmC,CAAC,CAAC,SAAS,CAAC,SAAZ,KAA0B,KAAK,MAAM,SAAS,EAA9C,CAAnC,GAAuF,KAA9F;AACD,CARiC,C,CAAlC;AACA;;;AACA,IAAM,QAAQ,GAAG,MAAjB,C,CAQA;AACA;;AACA,IAAM,kBAAkB,GAAG,SAArB,kBAAqB,GAAE;AAAA,SAAI,QAAQ,GAAG;AAAA,WAAM,UAAU,CAAC;AAAA,aAAM,EAAE,EAAR;AAAA,KAAD,EAAa,GAAb,CAAhB;AAAA,GAAH,GAAuC,EAAnD;AAAA,CAA7B;;AACA;;AAC8B,SAEd,YAFc,CAG1B,IAH0B,EAGZ,QAHY,EAGG,IAHH,EAGyC,KAHzC,EAI1B,OAJ0B,EAIA,cAJA,EAI+B,cAJ/B,EAI+D,cAJ/D,EAIsF;AACpH;AACE,MAAI,IAAJ,EAAU;AACR,QAAI,CAAC,iBAAL,CAAuB,kBAAkB,CAAC;AAExC,UAAM,kBAAkB,GAAG,SAArB,kBAAqB,CAAC,KAAD,EAAkB;AAC3C,YAAM,OAAO,GAAG,KAAK,CAAC,MAAtB;;AACA,YAAI,KAAK,CAAC,MAAN,KAAiB,CAAjB,IAAsB,aAAa,CAAC,OAAD,EAAU,cAAV,CAAvC,EAAkE;AAChE,iBAAO,KAAP;AACD;;AACD,YAAI,IAAI,KAAK,QAAb,EAAuB;AACrB,iBAAO,aAAa,CAAC,OAAD,EAAU,cAAV,CAAb,IAA0C,oBAAoB,CAAC,OAAD,EAAU,cAAV,CAArE;AACD,SAFD,MAEO,IAAI,IAAI,KAAK,SAAb,EAAwB;AAC7B,iBAAO,CAAC,aAAa,CAAC,OAAD,EAAU,cAAV,CAArB;AACD,SAFM;AAEL;AAA8B;AAC9B,mBAAO,oBAAoB,CAAC,OAAD,EAAU,cAAV,CAApB,IAAiD,CAAC,aAAa,CAAC,OAAD,EAAU,cAAV,CAAtE;AACD;AACF,OAZD;;AAcA,UAAM,QAAQ,GAAG,uDAAS,CAAgB,QAAhB,EAA0B,SAA1B,CAAT,CACK,IADL,CAEQ,iEAAS,CAAC,OAAD,CAFjB,EAGtB;AAC8B,oEAAM,CAAC,WAAC;AAAA,eAAI,CAAC,CAAC,KAAF,KAAY,GAAG,CAAC,MAApB;AAAA,OAAF,CAJd,EAI6C,2DAAG,CAAC,WAAC;AAAA,eAAI,CAAC,CAAC,cAAF,EAAJ;AAAA,OAAF,CAJhD,CAAjB,CAhBwC,CAqB9C;AAGI;;AACE,UAAM,WAAW,GACb,uDAAS,CAAa,QAAb,EAAuB,WAAvB,CAAT,CAA6C,IAA7C,CAAkD,2DAAG,CAAC,kBAAD,CAArD,EAA2E,iEAAS,CAAC,OAAD,CAApF,CADJ;AAGA,UAAM,gBAAgB,GAAG,uDAAS,CAAa,QAAb,EAAuB,SAAvB,CAAT,CACK,IADL,CAEQ,sEAAc,CAAC,WAAD,CAFtB,EAEqC,8DAAM,CAAC;AAAA;AAAA,YAAE,CAAF;AAAA,YAAK,WAAL;;AAAA,eAAsB,WAAtB;AAAA,OAAD,CAF3C,EAEgF,6DAAK,CAAC,CAAD,CAFrF,EAGQ,iEAAS,CAAC,OAAD,CAHjB,CAAzB;AAMA,wDAAI,CAAS,CACX,QAAQ,CAAC,IAAT,CAAc,2DAAG,CAAC,WAAC;AAAA;AAAA;AAAA;AAAF,OAAjB,CADW,EAC6B,gBAAgB,CAAC,IAAjB,CAAsB,2DAAG,CAAC,WAAC;AAAA;AAAA;AAAA;AAAF,OAAzB,CAD7B,CAAT,CAAJ,CAEG,SAFH,CAEa,UAAC,MAAD;AAAA,eAAoB,IAAI,CAAC,GAAL,CAAS;AAAA,iBAAM,KAAK,CAAC,MAAD,CAAX;AAAA,SAAT,CAApB;AAAA,OAFb;AAGD,KArCwC,CAAzC;AAsCD;AACH;;AChEO,IAAM,2BAA2B,GAAG,CACzC,SADyC,EAC9B,wBAD8B,EACJ,4CADI,EAC0C,wBAD1C,EAEzC,0BAFyC,EAEb,mBAFa,EAEQ,iCAFR,EAGzC,IAHyC,CAGpC,IAHoC,CAApC;AAKP;AACA;AACA;;AACA,SAAgB,4BAAhB,CAA6C,OAA7C,EAAiE;AAC/D,MAAM,IAAI,GACN,KAAK,CAAC,IAAN,CAAW,OAAO,CAAC,gBAAR,CAAyB,2BAAzB,CAAX,EACK,MADL,CACY,YAAE;AAAA,WAAI,EAAE,CAAC,QAAH,KAAgB,CAAC,CAArB;AAAA,GADd,CADJ;AAGA,SAAO,CAAC,IAAI,CAAC,CAAD,CAAL,EAAU,IAAI,CAAC,IAAI,CAAC,MAAL,GAAc,CAAf,CAAd,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,IAAM,YAAY,GACrB,SADS,YACT,CAAC,IAAD,EAAe,OAAf,EAAqC,cAArC,EAA4F;AAAA,MAAtB,cAAsB,uEAAL,KAAK;AAC1F,MAAI,CAAC,iBAAL,CAAuB;AAC7B;AACQ,QAAM,mBAAmB,GACrB,uDAAS,CAAa,OAAb,EAAsB,SAAtB,CAAT,CAA0C,IAA1C,CAA+C,iEAAS,CAAC,cAAD,CAAxD,EAA0E,2DAAG,CAAC,WAAC;AAAA,aAAI,CAAC,CAAC,MAAN;AAAA,KAAF,CAA7E,CADJ,CAFqB,CAI7B;;AAEQ,2DAAS,CAAgB,OAAhB,EAAyB,SAAzB,CAAT,CACK,IADL,CAEQ,iEAAS,CAAC,cAAD,CAFjB,EAGP;AACe,kEAAM,CAAC,WAAC;AAAA,aAAI,CAAC,CAAC,KAAF,KAAY,GAAG,CAAC,GAApB;AAAA,KAAF,CAJd,EAKP;AACe,0EAAc,CAAC,mBAAD,CANtB,EAOK,SAPL,CAOe,kBAA2B;AAAA;AAAA,UAAzB,QAAyB;AAAA,UAAf,cAAe;;AAAA,kCACf,4BAA4B,CAAC,OAAD,CADb;AAAA;AAAA,UAC9B,KAD8B;AAAA,UACvB,IADuB;;AAGpC,UAAI,CAAC,cAAc,KAAK,KAAnB,IAA4B,cAAc,KAAK,OAAhD,KAA4D,QAAQ,CAAC,QAAzE,EAAmF;AACjF,YAAI,CAAC,KAAL;AACA,gBAAQ,CAAC,cAAT;AACD;;AAED,UAAI,cAAc,KAAK,IAAnB,IAA2B,CAAC,QAAQ,CAAC,QAAzC,EAAmD;AACjD,aAAK,CAAC,KAAN;AACA,gBAAQ,CAAC,cAAT;AACD;AACF,KAnBL,EANqB,CA0B7B;;AAEQ,QAAI,cAAJ,EAAoB;AAClB,6DAAS,CAAC,OAAD,EAAU,OAAV,CAAT,CACK,IADL,CACU,iEAAS,CAAC,cAAD,CADnB,EACqC,sEAAc,CAAC,mBAAD,CADnD,EAC0E,2DAAG,CAAC,aAAG;AAAA,eAAI,GAAG,CAAC,CAAD,CAAP;AAAA,OAAJ,CAD7E,EAEK,SAFL,CAEe,4BAAkB;AAAA,eAAI,kBAAkB,CAAC,KAAnB,EAAJ;AAAA,OAFjC;AAGD;AACF,GAjCD;AAkCD,CApCE,C,CCnCP;AACA;;;IACa,W;;;;;;;iCACU,O,EAAoB;AAAI,aAAO,MAAM,CAAC,gBAAP,CAAwB,OAAxB,CAAP;AAA0C;;;6BAEtE,O,EAAsB,I,EAAY;AAAY,aAAO,KAAK,YAAL,CAAkB,OAAlB,EAA2B,IAA3B,CAAP;AAA0C;;;uCAE9E,O,EAAoB;AAC7C,aAAO,CAAC,KAAK,QAAL,CAAc,OAAd,EAAuB,UAAvB,KAAsC,QAAvC,MAAqD,QAA5D;AACD;;;iCAEoB,O,EAAoB;AACvC,UAAI,cAAc,GAAgB,OAAO,CAAC,YAAR,IAAwB,QAAQ,CAAC,eAAnE;;AAEA,aAAO,cAAc,IAAI,cAAc,KAAK,QAAQ,CAAC,eAA9C,IAAiE,KAAK,kBAAL,CAAwB,cAAxB,CAAxE,EAAiH;AAC/G,sBAAc,GAAgB,cAAc,CAAC,YAA7C;AACD;;AAED,aAAO,cAAc,IAAI,QAAQ,CAAC,eAAlC;AACD;;;6BAEQ,O,EAAkC;AAAA,UAAZ,KAAY,uEAAJ,IAAI;AACzC,UAAI,UAAJ;AACA,UAAI,YAAY,GAAe;AAAC,aAAK,EAAE,CAAR;AAAW,cAAM,EAAE,CAAnB;AAAsB,WAAG,EAAE,CAA3B;AAA8B,cAAM,EAAE,CAAtC;AAAyC,YAAI,EAAE,CAA/C;AAAkD,aAAK,EAAE;AAAzD,OAA/B;;AAEA,UAAI,KAAK,QAAL,CAAc,OAAd,EAAuB,UAAvB,MAAuC,OAA3C,EAAoD;AAClD,kBAAU,GAAG,OAAO,CAAC,qBAAR,EAAb;AACA,kBAAU,GAAG;AACX,aAAG,EAAE,UAAU,CAAC,GADL;AAEX,gBAAM,EAAE,UAAU,CAAC,MAFR;AAGX,cAAI,EAAE,UAAU,CAAC,IAHN;AAIX,eAAK,EAAE,UAAU,CAAC,KAJP;AAKX,gBAAM,EAAE,UAAU,CAAC,MALR;AAMX,eAAK,EAAE,UAAU,CAAC;AANP,SAAb;AAQD,OAVD,MAUO;AACL,YAAM,cAAc,GAAG,KAAK,YAAL,CAAkB,OAAlB,CAAvB;AAEA,kBAAU,GAAG,KAAK,MAAL,CAAY,OAAZ,EAAqB,KAArB,CAAb;;AAEA,YAAI,cAAc,KAAK,QAAQ,CAAC,eAAhC,EAAiD;AAC/C,sBAAY,GAAG,KAAK,MAAL,CAAY,cAAZ,EAA4B,KAA5B,CAAf;AACD;;AAED,oBAAY,CAAC,GAAb,IAAoB,cAAc,CAAC,SAAnC;AACA,oBAAY,CAAC,IAAb,IAAqB,cAAc,CAAC,UAApC;AACD;;AAED,gBAAU,CAAC,GAAX,IAAkB,YAAY,CAAC,GAA/B;AACA,gBAAU,CAAC,MAAX,IAAqB,YAAY,CAAC,GAAlC;AACA,gBAAU,CAAC,IAAX,IAAmB,YAAY,CAAC,IAAhC;AACA,gBAAU,CAAC,KAAX,IAAoB,YAAY,CAAC,IAAjC;;AAEA,UAAI,KAAJ,EAAW;AACT,kBAAU,CAAC,GAAX,GAAiB,IAAI,CAAC,KAAL,CAAW,UAAU,CAAC,GAAtB,CAAjB;AACA,kBAAU,CAAC,MAAX,GAAoB,IAAI,CAAC,KAAL,CAAW,UAAU,CAAC,MAAtB,CAApB;AACA,kBAAU,CAAC,IAAX,GAAkB,IAAI,CAAC,KAAL,CAAW,UAAU,CAAC,IAAtB,CAAlB;AACA,kBAAU,CAAC,KAAX,GAAmB,IAAI,CAAC,KAAL,CAAW,UAAU,CAAC,KAAtB,CAAnB;AACD;;AAED,aAAO,UAAP;AACD;;;2BAEM,O,EAAkC;AAAA,UAAZ,KAAY,uEAAJ,IAAI;AACvC,UAAM,KAAK,GAAG,OAAO,CAAC,qBAAR,EAAd;AACA,UAAM,cAAc,GAAG;AACrB,WAAG,EAAE,MAAM,CAAC,WAAP,GAAqB,QAAQ,CAAC,eAAT,CAAyB,SAD9B;AAErB,YAAI,EAAE,MAAM,CAAC,WAAP,GAAqB,QAAQ,CAAC,eAAT,CAAyB;AAF/B,OAAvB;AAKA,UAAI,QAAQ,GAAG;AACb,cAAM,EAAE,KAAK,CAAC,MAAN,IAAgB,OAAO,CAAC,YADnB;AAEb,aAAK,EAAE,KAAK,CAAC,KAAN,IAAe,OAAO,CAAC,WAFjB;AAGb,WAAG,EAAE,KAAK,CAAC,GAAN,GAAY,cAAc,CAAC,GAHnB;AAIb,cAAM,EAAE,KAAK,CAAC,MAAN,GAAe,cAAc,CAAC,GAJzB;AAKb,YAAI,EAAE,KAAK,CAAC,IAAN,GAAa,cAAc,CAAC,IALrB;AAMb,aAAK,EAAE,KAAK,CAAC,KAAN,GAAc,cAAc,CAAC;AANvB,OAAf;;AASA,UAAI,KAAJ,EAAW;AACT,gBAAQ,CAAC,MAAT,GAAkB,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,MAApB,CAAlB;AACA,gBAAQ,CAAC,KAAT,GAAiB,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,KAApB,CAAjB;AACA,gBAAQ,CAAC,GAAT,GAAe,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,GAApB,CAAf;AACA,gBAAQ,CAAC,MAAT,GAAkB,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,MAApB,CAAlB;AACA,gBAAQ,CAAC,IAAT,GAAgB,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,IAApB,CAAhB;AACA,gBAAQ,CAAC,KAAT,GAAiB,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,KAApB,CAAjB;AACD;;AAED,aAAO,QAAP;AACD;AACH;AAEC;AACE;;;;qCACgB,W,EAA0B,a,EAA4B,S,EAAmB,Y,EAAsB;AAAA,6BAE7C,SAAS,CAAC,KAAV,CAAgB,GAAhB,CAF6C;AAAA;AAAA;AAAA,UAExG,gBAFwG,mCAErF,KAFqF;AAAA;AAAA,UAE9E,kBAF8E,oCAEzD,QAFyD;;AAI9G,UAAM,cAAc,GAAG,YAAY,GAAG,KAAK,MAAL,CAAY,WAAZ,EAAyB,KAAzB,CAAH,GAAqC,KAAK,QAAL,CAAc,WAAd,EAA2B,KAA3B,CAAxE;AACA,UAAM,cAAc,GAAG,KAAK,YAAL,CAAkB,aAAlB,CAAvB;AAEA,UAAM,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,SAAhB,CAA5B;AACA,UAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,YAAhB,CAA/B;AACA,UAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,UAAhB,CAA7B;AACA,UAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,WAAhB,CAA9B;AAEA,UAAI,WAAW,GAAG,CAAlB;AACA,UAAI,YAAY,GAAG,CAAnB;;AAEA,cAAQ,gBAAR;AACE,aAAK,KAAL;AACE,qBAAW,GAAI,cAAc,CAAC,GAAf,IAAsB,aAAa,CAAC,YAAd,GAA6B,SAA7B,GAAyC,YAA/D,CAAf;AACA;;AACF,aAAK,QAAL;AACE,qBAAW,GAAI,cAAc,CAAC,GAAf,GAAqB,cAAc,CAAC,MAAnD;AACA;;AACF,aAAK,MAAL;AACE,sBAAY,GAAI,cAAc,CAAC,IAAf,IAAuB,aAAa,CAAC,WAAd,GAA4B,UAA5B,GAAyC,WAAhE,CAAhB;AACA;;AACF,aAAK,OAAL;AACE,sBAAY,GAAI,cAAc,CAAC,IAAf,GAAsB,cAAc,CAAC,KAArD;AACA;AAZJ;;AAeA,cAAQ,kBAAR;AACE,aAAK,KAAL;AACE,qBAAW,GAAG,cAAc,CAAC,GAA7B;AACA;;AACF,aAAK,QAAL;AACE,qBAAW,GAAG,cAAc,CAAC,GAAf,GAAqB,cAAc,CAAC,MAApC,GAA6C,aAAa,CAAC,YAAzE;AACA;;AACF,aAAK,MAAL;AACE,sBAAY,GAAG,cAAc,CAAC,IAA9B;AACA;;AACF,aAAK,OAAL;AACE,sBAAY,GAAG,cAAc,CAAC,IAAf,GAAsB,cAAc,CAAC,KAArC,GAA6C,aAAa,CAAC,WAA1E;AACA;;AACF,aAAK,QAAL;AACE,cAAI,gBAAgB,KAAK,KAArB,IAA8B,gBAAgB,KAAK,QAAvD,EAAiE;AAC/D,wBAAY,GAAI,cAAc,CAAC,IAAf,GAAsB,cAAc,CAAC,KAAf,GAAuB,CAA7C,GAAiD,aAAa,CAAC,WAAd,GAA4B,CAA7F;AACD,WAFD,MAEO;AACL,uBAAW,GAAI,cAAc,CAAC,GAAf,GAAqB,cAAc,CAAC,MAAf,GAAwB,CAA7C,GAAiD,aAAa,CAAC,YAAd,GAA6B,CAA7F;AACD;;AACD;AAnBJ,OA9B8G,CAmDlH;AAEG;;;AACC,mBAAa,CAAC,KAAd,CAAoB,SAApB,uBAA6C,IAAI,CAAC,KAAL,CAAW,YAAX,CAA7C,iBAA4E,IAAI,CAAC,KAAL,CAAW,WAAX,CAA5E,SAtD8G,CAuDlH;;AAEI,UAAM,WAAW,GAAG,aAAa,CAAC,qBAAd,EAApB;AACA,UAAM,IAAI,GAAG,QAAQ,CAAC,eAAtB;AACA,UAAM,YAAY,GAAG,MAAM,CAAC,WAAP,IAAsB,IAAI,CAAC,YAAhD;AACA,UAAM,WAAW,GAAG,MAAM,CAAC,UAAP,IAAqB,IAAI,CAAC,WAA9C;AAEA,aAAO,WAAW,CAAC,IAAZ,IAAoB,CAApB,IAAyB,WAAW,CAAC,GAAZ,IAAmB,CAA5C,IAAiD,WAAW,CAAC,KAAZ,IAAqB,WAAtE,IACH,WAAW,CAAC,MAAZ,IAAsB,YAD1B;AAED;;;;;;AAGH,IAAM,kBAAkB,GAAG,KAA3B;AACO,IAAM,eAAe,GAAG,IAAI,WAAJ,EAAxB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAgB,gBAAhB,CACI,WADJ,EAC8B,aAD9B,EAC0D,SAD1D,EAEI,YAFJ,EAE4B,SAF5B,EAE8C;AAE5C,MAAI,aAAa,GACb,KAAK,CAAC,OAAN,CAAc,SAAd,IAA2B,SAA3B,GAAuC,SAAS,CAAC,KAAV,CAAgB,kBAAhB,CAD3C;AAGA,MAAM,iBAAiB,GAAG,CACxB,KADwB,EACjB,QADiB,EACP,MADO,EACC,OADD,EACU,UADV,EACsB,WADtB,EACmC,aADnC,EACkD,cADlD,EACkE,UADlE,EAC8E,aAD9E,EAExB,WAFwB,EAEX,cAFW,CAA1B;AAKA,MAAM,SAAS,GAAG,aAAa,CAAC,SAAhC;;AACA,MAAM,kBAAkB,GAAG,SAArB,kBAAqB,CAAC,eAAD,EAA2B;AAAA,gCACxB,eAAe,CAAC,KAAhB,CAAsB,GAAtB,CADwB;AAAA;AAAA,QAC9C,OAD8C;AAAA,QACrC,SADqC;;AAEpD,QAAM,OAAO,GAAa,EAA1B;;AACA,QAAI,SAAJ,EAAe;AACb,aAAO,CAAC,IAAR,WAAgB,SAAhB,cAA6B,OAA7B;;AACA,UAAI,SAAJ,EAAe;AACb,eAAO,CAAC,IAAR,WAAgB,SAAhB,cAA6B,OAA7B,cAAwC,SAAxC;AACD;;AAED,aAAO,CAAC,OAAR,CAAgB,UAAC,SAAD,EAAU;AAAO,iBAAS,CAAC,GAAV,CAAc,SAAd;AAA2B,OAA5D;AACD;;AACD,WAAO,OAAP;AACD,GAZD,CAX4C,CAwB9C;;;AAEE,MAAI,SAAJ,EAAe;AACb,qBAAiB,CAAC,OAAlB,CAA0B,UAAC,iBAAD,EAAkB;AAAO,eAAS,CAAC,MAAV,WAAoB,SAApB,cAAiC,iBAAjC;AAAwD,KAA3G;AACD,GA5B2C,CA6B9C;;;AAEE,MAAI,OAAO,GAAG,aAAa,CAAC,SAAd,CAAwB,aAAG;AAAA,WAAI,GAAG,KAAK,MAAZ;AAAA,GAA3B,CAAd;;AACA,MAAI,OAAO,IAAI,CAAf,EAAkB;AAChB,qBAAiB,CAAC,OAAlB,CAA0B,UAAS,GAAT,EAAY;AACpC,UAAI,aAAa,CAAC,IAAd,CAAmB,aAAG;AAAA,eAAI,GAAG,CAAC,MAAJ,CAAW,MAAM,GAAjB,MAA0B,CAAC,CAA/B;AAAA,OAAtB,KAA2D,IAA/D,EAAqE;AACnE,qBAAa,CAAC,MAAd,CAAqB,OAAO,EAA5B,EAAgC,CAAhC,EAAmC,GAAnC;AACD;AACF,KAJD;AAKD,GAtC2C,CAuC9C;AAGA;;;AACE,MAAM,KAAK,GAAG,aAAa,CAAC,KAA5B;AACA,OAAK,CAAC,QAAN,GAAiB,UAAjB;AACA,OAAK,CAAC,GAAN,GAAY,GAAZ;AACA,OAAK,CAAC,IAAN,GAAa,GAAb;AACA,OAAK,CAAC,aAAD,CAAL,GAAuB,WAAvB;AAEA,MAAI,aAAa,GAAqB,IAAtC;AACA,MAAI,YAAY,GAAG,KAAnB;;AAlD4C,qKAmDtB,aAnDsB;AAAA;;AAAA;AAmD5C,2DAAqC;AAAhC,mBAAgC;AACnC,UAAI,YAAY,GAAG,kBAAkB,CAAC,aAAD,CAArC;;AAEA,UAAI,eAAe,CAAC,gBAAhB,CAAiC,WAAjC,EAA8C,aAA9C,EAA6D,aAA7D,EAA4E,YAA5E,CAAJ,EAA+F;AAC7F,oBAAY,GAAG,IAAf;AACA;AACD,OANkC,CAOvC;;;AAEI,UAAI,SAAJ,EAAe;AACb,oBAAY,CAAC,OAAb,CAAqB,UAAC,SAAD,EAAU;AAAO,mBAAS,CAAC,MAAV,CAAiB,SAAjB;AAA8B,SAApE;AACD;AACF;AA/D2C;AAAA;AAAA;AAAA;AAAA;;AAiE5C,MAAI,CAAC,YAAL,EAAmB;AACrB;AACI,iBAAa,GAAG,aAAa,CAAC,CAAD,CAA7B;AACA,sBAAkB,CAAC,aAAD,CAAlB;AACA,mBAAe,CAAC,gBAAhB,CAAiC,WAAjC,EAA8C,aAA9C,EAA6D,aAA7D,EAA4E,YAA5E;AACD;;AAED,SAAO,aAAP;AACF;;AAEA,SCvPgB,uCDuPhB,GCvPuD;AACrD,SAAO,IAAI,yBAAJ,EAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEsB,sB;;;;;;AACrB,C;;AAAC;AAAA;AAAA;AAAA;AAAA;;;;kEAFD,sB,EAAY;AAAkB,QAAE,0DAApB;;kBAAuE,M;AAAC;;AAAxE,I;AACR,C;;IAmBQ,yB;;;;;;;;;;;;;0BACL,K,EAAa;AACjB,UAAI,KAAK,IAAI,IAAb,EAAmB;AACjB,YAAM,SAAS,GAAG,KAAK,CAAC,IAAN,GAAa,KAAb,CAAmB,GAAnB,CAAlB;;AACA,YAAI,SAAS,CAAC,MAAV,KAAqB,CAArB,IAA0B,QAAQ,CAAC,SAAS,CAAC,CAAD,CAAV,CAAtC,EAAsD;AACpD,iBAAO;AAAC,gBAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAD,CAAV,CAAhB;AAAgC,iBAAK,EAAO,IAA5C;AAAkD,eAAG,EAAO;AAA5D,WAAP;AACD,SAFD,MAEO,IAAI,SAAS,CAAC,MAAV,KAAqB,CAArB,IAA0B,QAAQ,CAAC,SAAS,CAAC,CAAD,CAAV,CAAlC,IAAoD,QAAQ,CAAC,SAAS,CAAC,CAAD,CAAV,CAAhE,EAAgF;AACrF,iBAAO;AAAC,gBAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAD,CAAV,CAAhB;AAAgC,iBAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAD,CAAV,CAAhD;AAAgE,eAAG,EAAO;AAA1E,WAAP;AACD,SAFM,MAEA,IAAI,SAAS,CAAC,MAAV,KAAqB,CAArB,IAA0B,QAAQ,CAAC,SAAS,CAAC,CAAD,CAAV,CAAlC,IAAoD,QAAQ,CAAC,SAAS,CAAC,CAAD,CAAV,CAA5D,IAA8E,QAAQ,CAAC,SAAS,CAAC,CAAD,CAAV,CAA1F,EAA0G;AAC/G,iBAAO;AAAC,gBAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAD,CAAV,CAAhB;AAAgC,iBAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAD,CAAV,CAAhD;AAAgE,eAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAD,CAAV;AAA9E,WAAP;AACD;AACF;;AACD,aAAO,IAAP;AACD;;;2BAEM,I,EAA0B;AAC/B,aAAO,IAAI,aACJ,IAAI,CAAC,IADD,cACS,QAAQ,CAAC,IAAI,CAAC,KAAN,CAAR,GAAuB,SAAS,CAAC,IAAI,CAAC,KAAN,CAAhC,GAA+C,EADxD,cAC8D,QAAQ,CAAC,IAAI,CAAC,GAAN,CAAR,GAAqB,SAAS,CAAC,IAAI,CAAC,GAAN,CAA9B,GAA2C,EADzG,IAEP,EAFJ;AAGD;;;;EAnB4C,sB;;0CAD9C,iC,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACT,C;ACtCF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,wB;;;;;AADb;AAAA;;AAAA;;AAAgB;AAEd,wBAA4C,IAA5C;AAGA,wBAA4B,CAAC,aAAD,EAAgB,cAAhB,EAAgC,UAAhC,EAA4C,WAA5C,CAA5B;AACA,2BAA4C,IAA5C;AANF;AAOC;;;EAN6C,mB;;;;AAO7C,C;;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;4CARD,iFAAwB,wBAAxB,C;;;;;;;;;;AACI,C;;AC8BL,IAAMC,+BAA6B,GAAG;AACpC,SAAO,EAAE,iEAD2B;AAEpC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,kBAAN;AAAA,GAAD,CAFa;AAGpC,OAAK,EAAE;AAH6B,CAAtC;AAMA,IAAM,wBAAwB,GAAG;AAC/B,SAAO,EAAE,6DADsB;AAE/B,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,kBAAN;AAAA,GAAD,CAFQ;AAG/B,OAAK,EAAE;AAHwB,CAAjC;AAMA;AACA;AACA;AACA;AACA;;IAgBa,kB;AAgNX,8BACY,gBADZ,EAC8D,MAD9D,EAEY,MAFZ,EAE8C,SAF9C,EAE4E,IAF5E,EAGY,OAHZ,EAGqC,SAHrC,EAGqE,YAHrE,EAI8B,SAJ9B,EAIsD,eAJtD,EAKI,MALJ,EAKoC;AAAA;;AAAA;;AAJxB;AAAkD;AAClD;AAAkC;AAA8B;AAChE;AAAyB;AAAgC;AACvC;AAAwB;AA7M9C,iBAA2C,IAA3C;AACA,qBAAY,KAAZ;AACA,wBAAmC,IAAnC;AACA,kBAAyB,IAAzB;AACV;AAAY;AAIM;AAAW;AAAqE;AAAW;AAErG;;AA8JI,sBAAa,IAAI,0DAAJ,EAAb;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,oBAAW,IAAI,0DAAJ,EAAX;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,kBAAS,IAAI,0DAAJ,EAAT;;AAcF,qBAAY,UAAC,CAAD,EAAO,CAAO,CAA1B;;AACA,sBAAa,aAAQ,CAArB;;AACA,4BAAmB,aAAQ,CAA3B;;AASN,KAAC,WAAD,EAAc,WAAd,EAA2B,gBAA3B,EAA6C,WAA7C,EAA0D,OAA1D,CAAkE,eAAK;AAAA,aAAI,OAAI,CAAC,KAAD,CAAJ,GAAc,MAAM,CAAC,KAAD,CAAxB;AAAA,KAAvE;AACA,SAAK,iBAAL,GAAyB,OAAO,CAAC,QAAR,CAAiB,SAAjB,CAA2B;AAAA,aAAM,OAAI,CAAC,oBAAL,EAAN;AAAA,KAA3B,CAAzB;AACD;;;;qCAEgB,E,EAAuB;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;;;sCAEtD,E,EAAa;AAAU,WAAK,UAAL,GAAkB,EAAlB;AAAuB;;;8CAEtC,E,EAAc;AAAU,WAAK,gBAAL,GAAwB,EAAxB;AAA6B;;;qCAE9D,U,EAAmB;AAAU,WAAK,QAAL,GAAgB,UAAhB;AAA6B;;;6BAElE,C,EAAkB;AAAA,UAClB,KADkB,GACT,CADS,CAClB,KADkB;;AAGzB,UAAI,KAAK,IAAI,IAAb,EAAmB;AACjB,YAAM,OAAO,GAAG,KAAK,eAAL,CAAqB,KAAK,YAAL,CAAkB,SAAlB,CAA4B,KAA5B,CAArB,CAAhB;;AAEA,YAAI,CAAC,OAAL,EAAc;AACZ,iBAAO;AAAC,uBAAW;AAAC,qBAAO,EAAE;AAAV;AAAZ,WAAP;AACD;;AAED,YAAI,KAAK,OAAL,IAAgB,OAAO,CAAC,MAAR,CAAe,OAAO,CAAC,IAAR,CAAa,KAAK,OAAlB,CAAf,CAApB,EAAgE;AAC9D,iBAAO;AAAC,uBAAW;AAAC,qBAAO,EAAE;AAAC,uBAAO,EAAE,KAAK,OAAf;AAAwB,sBAAM,EAAE;AAAhC;AAAV;AAAZ,WAAP;AACD;;AAED,YAAI,KAAK,OAAL,IAAgB,OAAO,CAAC,KAAR,CAAc,OAAO,CAAC,IAAR,CAAa,KAAK,OAAlB,CAAd,CAApB,EAA+D;AAC7D,iBAAO;AAAC,uBAAW;AAAC,qBAAO,EAAE;AAAC,uBAAO,EAAE,KAAK,OAAf;AAAwB,sBAAM,EAAE;AAAhC;AAAV;AAAZ,WAAP;AACD;AACF;;AAED,aAAO,IAAP;AACD;;;+BAEU,K,EAAK;AACd,WAAK,MAAL,GAAc,KAAK,eAAL,CAAqB,KAAK,YAAL,CAAkB,SAAlB,CAA4B,KAA5B,CAArB,CAAd;;AACA,WAAK,gBAAL,CAAsB,KAAK,MAA3B;AACD;;;qCAEgB,K,EAAiC;AAAA,UAAlB,UAAkB,uEAAL,KAAK;AAChD,UAAM,iBAAiB,GAAG,KAAK,KAAK,KAAK,WAAzC;;AACA,UAAI,iBAAJ,EAAuB;AACrB,aAAK,WAAL,GAAmB,KAAnB;AACA,aAAK,MAAL,GAAc,KAAK,eAAL,CAAqB,KAAK,gBAAL,CAAsB,KAAtB,CAA4B,KAA5B,CAArB,CAAd;AACD;;AACD,UAAI,iBAAiB,IAAI,CAAC,UAA1B,EAAsC;AACpC,aAAK,SAAL,CAAe,KAAK,MAAL,GAAc,KAAK,YAAL,CAAkB,OAAlB,CAA0B,KAAK,MAA/B,CAAd,GAAwD,KAAK,KAAK,EAAV,GAAe,IAAf,GAAsB,KAA7F;AACD;;AACD,UAAI,UAAU,IAAI,KAAK,MAAvB,EAA+B;AAC7B,aAAK,gBAAL,CAAsB,KAAK,MAA3B;AACD;AACF;;;6BAEK;AAAK,aAAO,CAAC,CAAC,KAAK,KAAd;AAAsB;AACnC;AAEC;AACE;AACE;AAEJ;;;;2BAAK;AAAA;;AACF,UAAI,CAAC,KAAK,MAAL,EAAL,EAAoB;AAClB,YAAM,EAAE,GAAG,KAAK,IAAL,CAAU,uBAAV,CAAkC,aAAlC,CAAX;;AACA,aAAK,KAAL,GAAa,KAAK,MAAL,CAAY,eAAZ,CAA4B,EAA5B,CAAb;;AAEA,aAAK,kBAAL,CAAwB,KAAK,KAAL,CAAW,QAAX,CAAoB,aAA5C;;AACA,aAAK,sBAAL,CAA4B,KAAK,KAAL,CAAW,QAAvC;;AACA,aAAK,8BAAL,CAAoC,KAAK,KAAL,CAAW,QAA/C;;AACA,aAAK,KAAL,CAAW,QAAX,CAAoB,QAApB;;AACA,aAAK,KAAL,CAAW,QAAX,CAAoB,UAApB,CAA+B,KAAK,YAAL,CAAkB,OAAlB,CAA0B,KAAK,MAA/B,CAA/B,EARkB,CASxB;;;AAEM,aAAK,KAAL,CAAW,QAAX,CAAoB,gBAApB,CAAqC,UAAC,YAAD,EAAa;AAChD,iBAAI,CAAC,UAAL,CAAgB,YAAhB;;AACA,iBAAI,CAAC,SAAL,CAAe,YAAf;;AACA,iBAAI,CAAC,UAAL;AACD,SAJD;;AAMA,aAAK,KAAL,CAAW,iBAAX,CAA6B,aAA7B;;AAEA,aAAK,KAAL,CAAW,QAAX,CAAoB,gBAApB,CAAqC,KAAK,QAA1C;;AAEA,YAAI,KAAK,SAAL,KAAmB,MAAvB,EAA+B;AAC7B,eAAK,SAAL,CAAe,aAAf,CAA6B,KAAK,SAAlC,EAA6C,WAA7C,CAAyD,KAAK,KAAL,CAAW,QAAX,CAAoB,aAA7E;AACD,SAvBiB,CAwBxB;;;AAEM,aAAK,YAAL,GAAoB,KAAK,SAAL,CAAe,aAAnC;AACA,oBAAY,CAAC,KAAK,OAAN,EAAe,KAAK,KAAL,CAAW,QAAX,CAAoB,aAAnC,EAAkD,KAAK,MAAvD,EAA+D,IAA/D,CAAZ;;AACA,aAAK,KAAL,CAAW,QAAX,CAAoB,KAApB;;AAEA,oBAAY,CACR,KAAK,OADG,EACM,KAAK,SADX,EACsB,KAAK,SAD3B,EACsC;AAAA,iBAAM,OAAI,CAAC,KAAL,EAAN;AAAA,SADtC,EAC0D,KAAK,MAD/D,EACuE,EADvE,EAER,CAAC,KAAK,MAAL,CAAY,aAAb,EAA4B,KAAK,KAAL,CAAW,QAAX,CAAoB,aAAhD,CAFQ,CAAZ;AAGD;AACF;AACH;AAEC;AACE;;;;4BACI;AACH,UAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,aAAK,MAAL,CAAY,MAAZ,CAAmB,KAAK,MAAL,CAAY,OAAZ,CAAoB,KAAK,KAAL,CAAa,QAAjC,CAAnB;;AACA,aAAK,KAAL,GAAa,IAAb;AACA,aAAK,MAAL,CAAY,IAAZ;;AACA,aAAK,eAAL,CAAqB,YAArB,GAJiB,CAKvB;;;AAEM,YAAI,cAAc,GAAuB,KAAK,YAA9C;;AACA,YAAI,QAAQ,CAAC,KAAK,YAAN,CAAZ,EAAiC;AAC/B,wBAAc,GAAG,KAAK,SAAL,CAAe,aAAf,CAA6B,KAAK,YAAlC,CAAjB;AACD,SAFD,MAEO,IAAI,KAAK,YAAL,KAAsB,SAA1B,EAAqC;AAC1C,wBAAc,GAAG,KAAK,YAAtB;AACD,SAZgB,CAavB;;;AAEM,YAAI,cAAc,IAAI,cAAc,CAAC,OAAD,CAApC,EAA+C;AAC7C,wBAAc,CAAC,KAAf;AACD,SAFD,MAEO;AACL,eAAK,SAAL,CAAe,IAAf,CAAoB,KAApB;AACD;AACF;AACF;AACH;AAEC;AACE;;;;6BACK;AACJ,UAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,aAAK,KAAL;AACD,OAFD,MAEO;AACL,aAAK,IAAL;AACD;AACF;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAEJ;;;;+BAAM,I,EAAkD;AAC3D,UAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,aAAK,KAAL,CAAa,QAAb,CAAsB,UAAtB,CAAiC,IAAjC;AACD;AACF;;;6BAEK;AAAK,WAAK,UAAL;AAAoB;;;8BAExB;AAAK,WAAK,YAAL,GAAoB,KAAK,MAAL,CAAY,aAAhC;AAAgD;;;gCAEhD,O,EAAsB;AAChC,UAAI,OAAO,CAAC,SAAD,CAAP,IAAsB,OAAO,CAAC,SAAD,CAAjC,EAA8C;AAC5C,aAAK,gBAAL;;AAEA,YAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,cAAI,OAAO,CAAC,SAAD,CAAX,EAAwB;AACtB,iBAAK,KAAL,CAAa,QAAb,CAAsB,OAAtB,GAAgC,KAAK,OAArC;AACD;;AACD,cAAI,OAAO,CAAC,SAAD,CAAX,EAAwB;AACtB,iBAAK,KAAL,CAAa,QAAb,CAAsB,OAAtB,GAAgC,KAAK,OAArC;AACD;;AACD,eAAK,KAAL,CAAa,QAAb,CAAsB,WAAtB,CAAkC,OAAlC;AACD;AACF;AACF;;;kCAEU;AACT,WAAK,KAAL;;AACA,WAAK,iBAAL,CAAuB,WAAvB;AACD;;;2CAE8B,kB,EAAiC;AAAA;;AAC9D,OAAC,aAAD,EAAgB,iBAAhB,EAAmC,eAAnC,EAAoD,gBAApD,EAAsE,gBAAtE,EAAwF,cAAxF,EAAwG,SAAxG,EACC,SADD,EACY,YADZ,EAC0B,aAD1B,EACyC,gBADzC,EAC2D,cAD3D,EAC2E,iBAD3E,EAEK,OAFL,CAEa,UAAC,UAAD,EAAmB;AAC1B,YAAI,OAAI,CAAC,UAAD,CAAJ,KAAqB,SAAzB,EAAoC;AAClC,4BAAkB,CAAC,UAAD,CAAlB,GAAiC,OAAI,CAAC,UAAD,CAArC;AACD;AACF,OANL;AAOA,wBAAkB,CAAC,SAAnB,GAA+B,KAAK,SAAL,IAAkB,KAAK,MAAtD;AACD;;;uCAE0B,a,EAAkB;AAC3C,WAAK,SAAL,CAAe,QAAf,CAAwB,aAAxB,EAAuC,eAAvC;;AACA,WAAK,SAAL,CAAe,QAAf,CAAwB,aAAxB,EAAuC,MAAvC;;AAEA,UAAI,KAAK,SAAL,KAAmB,MAAvB,EAA+B;AAC7B,aAAK,SAAL,CAAe,QAAf,CAAwB,aAAxB,EAAuC,aAAvC;AACD;AACF;;;mDAEsC,kB,EAAiC;AAAA;;AACtE,wBAAkB,CAAC,QAAnB,CAA4B,SAA5B,CAAsC,uBAAa;AAAA,eAAI,OAAI,CAAC,QAAL,CAAc,IAAd,CAAmB,aAAnB,CAAJ;AAAA,OAAnD;AACA,wBAAkB,CAAC,UAAnB,CAA8B,SAA9B,CAAwC,cAAI;AAC1C,eAAI,CAAC,UAAL,CAAgB,IAAhB,CAAqB,IAArB;;AACA,YAAI,OAAI,CAAC,SAAL,KAAmB,IAAnB,IAA2B,OAAI,CAAC,SAAL,KAAmB,QAAlD,EAA4D;AAC1D,iBAAI,CAAC,KAAL;AACD;AACF,OALD;AAMD;;;qCAEwB,K,EAAqB;AAC5C,UAAM,KAAK,GAAG,KAAK,gBAAL,CAAsB,MAAtB,CAA6B,KAA7B,CAAd;;AACA,WAAK,WAAL,GAAmB,KAAnB;;AACA,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,MAAL,CAAY,aAAvC,EAAsD,OAAtD,EAA+D,KAA/D;;AACA,UAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,aAAK,KAAL,CAAa,QAAb,CAAsB,UAAtB,CAAiC,KAAK,YAAL,CAAkB,OAAlB,CAA0B,KAA1B,CAAjC;;AACA,aAAK,UAAL;AACD;AACF;;;oCAEuB,I,EAA0B;AAChD,UAAM,OAAO,GAAG,IAAI,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,IAAI,CAAC,GAAxC,CAAH,GAAkD,IAAtE;AACA,aAAO,KAAK,SAAL,CAAe,OAAf,CAAuB,OAAvB,IAAkC,OAAlC,GAA4C,IAAnD;AACD;;;2CAE2B;AAC1B,UAAI,CAAC,KAAK,KAAV,EAAiB;AACf;AACD;;AAED,UAAI,WAAJ;;AACA,UAAI,QAAQ,CAAC,KAAK,cAAN,CAAZ,EAAmC;AACjC,mBAAW,GAAG,KAAK,SAAL,CAAe,aAAf,CAA6B,KAAK,cAAlC,CAAd;AACD,OAFD,MAEO,IAAI,KAAK,cAAL,YAA+B,WAAnC,EAAgD;AACrD,mBAAW,GAAG,KAAK,cAAnB;AACD,OAFM,MAEA;AACL,mBAAW,GAAG,KAAK,MAAL,CAAY,aAA1B;AACD;;AAED,UAAI,KAAK,cAAL,IAAuB,CAAC,WAA5B,EAAyC;AACvC,cAAM,IAAI,KAAJ,CAAU,wFAAV,CAAN;AACD;;AAED,sBAAgB,CAAC,WAAD,EAAc,KAAK,KAAL,CAAW,QAAX,CAAoB,aAAlC,EAAiD,KAAK,SAAtD,EAAiE,KAAK,SAAL,KAAmB,MAApF,CAAhB;AACD;;;wBApQW;AACV,aAAO,KAAK,SAAZ;AACD,K;sBACY,K,EAAU;AACrB,WAAK,SAAL,GAAiB,KAAK,KAAK,EAAV,IAAiB,KAAK,IAAI,KAAK,KAAK,OAArD;;AAEA,UAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,aAAK,KAAL,CAAa,QAAb,CAAsB,gBAAtB,CAAuC,KAAK,SAA5C;AACD;AACF;;;;;;mCAxNF,0B,CAAS,C,EAAC;AAAA,mBACT,kBADS,EACC,gEAAsB,sBAAtB,CADD,EAEC,gEACN,wDADM,CAFD,EAGH,gEACO,8DADP,CAHG,EAII,gEACX,uDADW,CAJJ,EAKK,uIALL,EAKkD,gEACnC,oDADmC,CALlD,EAMe,gEACF,WADE,CANf,EAOa,gEACN,cADM,CAPb,EAQiB,gEAE1B,yDAF0B,CARjB,EAUE,gEACTA,+DADS,CAVF,EAWPA,gEAA+B,wBAA/BA,CAXO;AAYN,C;;AAAO,kBAAE,KAAF,GAAuB,gEAAa;AAAA;AAAyB,WACtE,aACF,eADE,EACF,EADE,EAD6C;AAE/C,aAF+C;AAE/C;AAAA;;;;;;;;;;;;;;;GAF+C;;;;;;;;;;;;;;;;;;;;;GAAA;;;;;GAAA;6BAAA;;;;;AAAA,CAAb,CAAvB;;AAGN;AAAA,UAA4C;AAAA,UAtC1C;AAsC0C,GAA5C,EAtC4B;AAAA,UAjChC,wDAAU;AAiCsB,GAsC5B,EAtEJ;AAAA,UAWA,8DAAgB;AAXhB,GAsEI,EA1DH;AAAA,UAJD,uDAAS;AAIR,GA0DG,EA7DJ;AAAA,UAbA,sEAAwB;AAaxB,GA6DI,EAzEJ;AAAA,UAOA,oDAAM;AAPN,GAyEI,EAjEJ;AAAA,UAyBM;AAzBN,GAiEI,EAxCiB;AAAA,UAHf;AAGe,GAwCjB,EA3CoB;AAAA;AAAA;AAAA,YA+PnB,oDA/PmB;AA+Pb,aAAC,yDAAD;AA/Pa;AAAA,GA2CpB,EAoNyB;AAAA,UA/R7B,+DAAiB;AA+RY,GApNzB,EA1EJ;AAAA,UAsCM;AAtCN,GA0EI;AAAA;;AApCgC;AAC9B;AAAA,UA2DL,mDAAK;AA3DA,IAD8B;AA4DzB;AAAA,UASV,mDAAK;AATK,IA5DyB;AAqEzB;AAAA,UAUV,mDAAK;AAVK,IArEyB;AA+EzB;AAAA,UAKV,mDAAK;AALK,IA/EyB;AAoFzB;AAAA,UAOV,mDAAK;AAPK,IApFyB;AA2FzB;AAAA,UAOV,mDAAK;AAPK,IA3FyB;AAkGzB;AAAA,UASV,mDAAK;AATK,IAlGyB;AA2GzB;AAAA,UAOV,mDAAK;AAPK,IA3GyB;AAkHzB;AAAA,UAOV,mDAAK;AAPK,IAlHyB;AAyHzB;AAAA,UASV,mDAAK;AATK,IAzHyB;AAkIzB;AAAA,UAWV,mDAAK;AAXK,IAlIyB;AA6IzB;AAAA,UAeV,mDAAK;AAfK,IA7IyB;AA4JzB;AAAA,UAUV,mDAAK;AAVK,IA5JyB;AAsKzB;AAAA,UAKV,mDAAK;AALK,IAtKyB;AA2KzB;AAAA,UAKV,mDAAK;AALK,IA3KyB;AAgLzB;AAAA,UAUV,mDAAK;AAVK,IAhLyB;AA0LzB;AAAA,UAOV,mDAAK;AAPK,IA1LyB;AAiMzB;AAAA,UASV,mDAAK;AATK,IAjMyB;AA0MzB;AAAA,UASV,oDAAM;AATI,IA1MyB;AAmNxB;AAAA,UAOX,oDAAM;AAPK,IAnNwB;AA0NxB;AAAA,UAOX,oDAAM;AAPK,IA1NwB;AAiOxB;AAAA,UAEX,mDAAK;AAFM;AAjOwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoOnC,C;;ICzPU,oB;AAOX,gCAAmB,IAAnB,EAA0C;AAAA;;AAAvB;AAA2B;;;;8BAEvC;AAAK,aAAO,CAAC,KAAK,QAAN,KAAmB,KAAK,IAAL,CAAU,KAAV,KAAoB,KAAK,YAAzB,IAAyC,KAAK,QAAjE,CAAP;AAAoF;;;;;;qCAxBjG,4B,CAAU,C,EAAA;AAAA,eACT,wBADS,EACC,gEAAwB,iBAAxB,CADD;AAEQ,C;;AAAuB,oBAAC,KAAD,GAAO,gEAC/C;AAAa,MAAE,sBAAf;AAAqC,mBAErC,sBAFqC,EAE/B,EAF+B,EAArC;AAGE,WAAS,MAAW,WAAX,CAHX;AAGsB,UACpB,IAJF;AAIE,gBAAoB,SAAE,iCAAF,CACpB,EADoB,EACpB,GADoB,EACpB;AAAoB,QAAE,MAAF,EAAY;gEAChC,Y,EAAoB,GAAE,S,EAAW,Y,EAAA,Y,EACjC,Y,EAAmB,a,EAAW,S,EAAA,IAC9B,OAD8B,E,EAC9B,Q,EAAkB,W;;GARpB;AASC;AAAA,gBACD,gBADC;AACS,gBADT;AACS,YAAiC,YAD1C;AAC0C,sBAD1C;AAC0C;AAD1C,GATD;AAU2C,aAV3C;AAU2C,UAV3C;AAU2C,SAV3C;AAU2C;AAAA;;;;;AAC5C;;GAXC;qLAAA;kBAAA;mBAYG;AAZH,CAD+C,CAAP;;AAapC;AAAA,UACU;AAAA,UAlBR;AAkBQ,GADV;AAAA;;AAjByB;AAG3B;AAAA,UAeD,mDAAK;AAfJ,IAH2B;AAkBlB;AAAA,UACV,mDAAK;AADK,IAlBkB;AAmBlB;AAAA,UACV,mDAAK;AADK,IAnBkB;AAoBlB;AAAA,UACV,mDAAK;AADK,IApBkB;AAqBlB;AAAA,UACV,mDAAK;AADK;AArBkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBjB,C;;ICgBD,6B;AAcX,yCAAmB,IAAnB,EAAoD,SAApD,EAAwE;AAAA;;AAArD;AAAiC;AAR1C,kBAAS,IAAI,0DAAJ,EAAT;AAKF,kBAAS,CAAC,CAAV;AACA,iBAAQ,CAAC,CAAT;AAEoE;;;;gCAEhE,K,EAAa;AAAI,WAAK,MAAL,CAAY,IAAZ,CAAiB,IAAI,OAAJ,CAAY,KAAK,IAAL,CAAU,IAAtB,EAA4B,SAAS,CAAC,KAAD,CAArC,EAA8C,CAA9C,CAAjB;AAAqE;;;+BAEvF,I,EAAY;AAAI,WAAK,MAAL,CAAY,IAAZ,CAAiB,IAAI,OAAJ,CAAY,SAAS,CAAC,IAAD,CAArB,EAA6B,KAAK,IAAL,CAAU,KAAvC,EAA8C,CAA9C,CAAjB;AAAqE;;;yCAE9E;AAChB,UAAI,KAAK,IAAT,EAAe;AACb,YAAI,KAAK,IAAL,CAAU,KAAV,KAAoB,KAAK,MAA7B,EAAqC;AACnC,eAAK,MAAL,GAAc,KAAK,IAAL,CAAU,KAAxB;;AACA,eAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,OAA3D,EAAoE,KAAK,MAAzE;AACD;;AACD,YAAI,KAAK,IAAL,CAAU,IAAV,KAAmB,KAAK,KAA5B,EAAmC;AACjC,eAAK,KAAL,GAAa,KAAK,IAAL,CAAU,IAAvB;;AACA,eAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,UAAL,CAAgB,aAA3C,EAA0D,OAA1D,EAAmE,KAAK,KAAxE;AACD;AACF;AACF;;;;;;8CAvDF,qC,CAAU,C,EAAA;AAAA,SACT,KAAQ,KAAE,6BAAV,EAA4C,gEAC5C,iBAD4C,CAA5C,EACiB,gEAA8B,uDAA9B,CADjB,CADS;AAGT,C;;AAAa,6BAAwB,KAAxB,GAAwB,gEAE3B;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;GAAA;;;;;;GAAA;;;GAAA;UAAA;SAAA;;;;;8FAiBT,c;;;;;;;;oDACF,iB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GAlBW;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA;yNAAA;iTAAA;kBAAA;mBAmBP;AAnBO,CAF2B,CAAxB;;AAqBT;AAAA,UAAuD;AAAA,UA1BrD;AA0BqD,GAAvD,EA1BuB;AAAA,UAJ3B,uDAAS;AAIkB,GA0BvB;AAAA;;AA7BD;AACyB;AAAA,UA6B3B,mDAAK;AA7BsB,IADzB;AA8BQ;AAAA,UACV,mDAAK;AADK,IA9BR;AA+BQ;AAAA,UACV,mDAAK;AADK,IA/BR;AAgCQ;AAAA,UACV,mDAAK;AADK,IAhCR;AAiCQ;AAAA,UAEV,oDAAM;AAFI,IAjCR;AAmCS;AAAA,UAEX,uDAFW;AAEF,WAAC,OAAD,EAAU;AAAC,YAAM,EAAE,IAAT;AAAe,UAAI,EAAE,wDAAU;AAA/B,KAAV;AAFE,IAnCT;AAqCwD;AAAA,UAC1D,uDAD0D;AACjD,WAAC,MAAD,EAAS;AAAC,YAAM,EAAE,IAAT;AAAe,UAAI,EAAE,wDAAU;AAA/B,KAAT;AADiD;AArCxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCwD,C;;IC3CvC,gB;;;;;;;;;;;;;qCAmBN;AAAK,aAAO,CAAP;AAAW;;;gCAErB;AAAK,aAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,EAA5B,EAAgC,EAAhC,EAAoC,EAApC,CAAP;AAAiD;;;uCAE/C;AAAK,aAAO,CAAP;AAAW;;;4BAExB,I,EAAkD;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AACxD,UAAI,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,IAAI,CAAC,GAAxC,CAAP;;AAEA,cAAQ,MAAR;AACE,aAAK,GAAL;AACE,cAAI,GAAG,KAAK,QAAL,CAAc,IAAd,EAAoB,IAAI,CAAC,IAAL,GAAY,MAAhC,CAAP;AACA,cAAI,CAAC,KAAL,GAAa,CAAb;AACA,cAAI,CAAC,GAAL,GAAW,CAAX;AACA,iBAAO,IAAP;;AACF,aAAK,GAAL;AACE,cAAI,GAAG,KAAK,SAAL,CAAe,IAAf,EAAqB,IAAI,CAAC,KAAL,GAAa,MAAlC,CAAP;AACA,cAAI,CAAC,GAAL,GAAW,CAAX;AACA,iBAAO,IAAP;;AACF,aAAK,GAAL;AACE,iBAAO,KAAK,OAAL,CAAa,IAAb,EAAmB,IAAI,CAAC,GAAL,GAAW,MAA9B,CAAP;;AACF;AACE,iBAAO,IAAP;AAbJ;AAeD;;;4BAEO,I,EAAkD;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AAAI,aAAO,KAAK,OAAL,CAAa,IAAb,EAAmB,MAAnB,EAA2B,CAAC,MAA5B,CAAP;AAA6C;;;+BAEhG,I,EAAa;AACtB,UAAM,GAAG,GAAG,KAAK,WAAL,CAAiB,IAAjB,EAAuB,MAAvB,EAAZ,CADsB,CAE1B;;AACI,aAAO,GAAG,KAAK,CAAR,GAAY,CAAZ,GAAgB,GAAvB;AACD;;;kCAEa,I,EAA0B,c,EAAsB;AAChE;AACI,UAAI,cAAc,KAAK,CAAvB,EAA0B;AACxB,sBAAc,GAAG,CAAjB;AACD;;AAED,UAAM,aAAa,GAAG,CAAC,IAAI,CAAJ,GAAQ,cAAT,IAA2B,CAAjD;AACA,UAAM,IAAI,GAAG,IAAI,CAAC,aAAD,CAAjB;AAEA,UAAM,MAAM,GAAG,KAAK,WAAL,CAAiB,IAAjB,CAAf;AACA,YAAM,CAAC,OAAP,CAAe,MAAM,CAAC,OAAP,KAAmB,CAAnB,IAAwB,MAAM,CAAC,MAAP,MAAmB,CAA3C,CAAf,EAV4D,CAUE;;AAC9D,UAAM,IAAI,GAAG,MAAM,CAAC,OAAP,EAAb;AACA,UAAM,OAAO,GAAG,KAAK,WAAL,CAAiB,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,CAAvB,EAA0B,CAA1B,CAAjB,CAAhB,CAZ4D,CAYG;;AAC/D,aAAO,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,OAAO,CAAC,OAAR,EAAR,IAA6B,QAAxC,IAAoD,CAA/D,IAAoE,CAA3E;AACD;;;+BAEO;AAAc,aAAO,KAAK,aAAL,CAAmB,IAAI,IAAJ,EAAnB,CAAP;AAAwC;;;4BAGtD,I,EAAqB;AAC3B,aAAO,IAAI,IAAI,IAAR,IAAgB,QAAQ,CAAC,IAAI,CAAC,IAAN,CAAxB,IAAuC,QAAQ,CAAC,IAAI,CAAC,KAAN,CAA/C,IAA+D,QAAQ,CAAC,IAAI,CAAC,GAAN,CAAvE,IACH,CAAC,KAAK,CAAC,KAAK,WAAL,CAAiB,IAAjB,EAAuB,OAAvB,EAAD,CADV;AAED;;;4BAEe,I,EAAe,G,EAAW;AACxC,SAAG,GAAG,CAAC,GAAP;AACA,UAAI,KAAK,GAAG,KAAK,eAAL,CAAqB,IAAI,CAAC,KAA1B,EAAiC,IAAI,CAAC,IAAtC,CAAZ;;AACA,UAAI,GAAG,IAAI,CAAX,EAAc;AACZ,eAAO,GAAG,IAAI,CAAd,EAAiB;AACf,cAAI,GAAG,KAAK,SAAL,CAAe,IAAf,EAAqB,IAAI,CAAC,KAAL,GAAa,CAAlC,CAAP;AACA,eAAK,GAAG,KAAK,eAAL,CAAqB,IAAI,CAAC,KAA1B,EAAiC,IAAI,CAAC,IAAtC,CAAR;AACA,aAAG,IAAI,KAAP;AACD;AACF,OAND,MAMO,IAAI,GAAG,GAAG,KAAV,EAAiB;AACtB,eAAO,GAAG,GAAG,KAAb,EAAoB;AAClB,aAAG,IAAI,KAAP;AACA,cAAI,GAAG,KAAK,SAAL,CAAe,IAAf,EAAqB,IAAI,CAAC,KAAL,GAAa,CAAlC,CAAP;AACA,eAAK,GAAG,KAAK,eAAL,CAAqB,IAAI,CAAC,KAA1B,EAAiC,IAAI,CAAC,IAAtC,CAAR;AACD;AACF;;AACD,UAAI,CAAC,GAAL,GAAW,GAAX;AACA,aAAO,IAAP;AACD;;;8BAEiB,I,EAAe,K,EAAa;AAC5C,WAAK,GAAG,CAAC,KAAT;AACA,UAAI,CAAC,IAAL,GAAY,IAAI,CAAC,IAAL,GAAY,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,EAAzB,CAAxB;AACA,UAAI,CAAC,KAAL,GAAa,IAAI,CAAC,KAAL,CAAW,CAAC,CAAC,KAAK,GAAG,CAAT,IAAc,EAAd,GAAmB,EAApB,IAA0B,EAArC,IAA2C,CAAxD;AACA,aAAO,IAAP;AACD;;;6BAEgB,I,EAAe,I,EAAY;AAC1C,UAAI,CAAC,IAAL,GAAY,CAAC,IAAb;AACA,aAAO,IAAP;AACD;;;;EA3G4C,W;;iCAD9C,wB,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACT,C;ACFF;AACA;AACA;;;AACA,SAAS,iBAAT,CAA2B,KAA3B,EAAwC;AACtC,SAAO,CAAC,KAAK,KAAK,KAAX,IAAoB,EAApB,GAAyB,EAAhC;AACD;AAED;AACA;AACA;;;AACA,SAAS,mBAAT,CAA6B,KAA7B,EAAwC;AACtC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAN,EAAb;AACA,SAAO,IAAI,GAAG,CAAP,KAAa,CAAb,IAAkB,IAAI,GAAG,GAAP,KAAe,CAAjC,IAAsC,IAAI,GAAG,GAAP,KAAe,CAA5D;AACD;AAED;AACA;AACA;AACA;AACA;;;AACA,SAAS,oBAAT,CAA8B,KAA9B,EAA6C,MAA7C,EAA2D;AACzD,SAAO,IAAI,CAAC,IAAL,CAAU,OAAO,MAAjB,IAA2B,CAAC,KAAK,GAAG,CAAT,IAAc,GAAzC,GAA+C,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,KAAK,KAAV,IAAmB,IAA9B,CAAtD;AACD;AAED;AACA;AACA;AACA;;;AACA,SAAS,mBAAT,CAA6B,IAA7B,EAAyC;AACvC,SAAO,CAAC,IAAI,GAAG,CAAR,IAAa,GAAb,GAAmB,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,KAAK,IAAV,IAAkB,IAA7B,CAA1B;AACD;;AAED,SAAS,GAAT,CAAa,CAAb,EAAwB,CAAxB,EAAiC;AAC/B,SAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,CAAf,CAAf;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAM,eAAe,GAAG,SAAxB;AACA,IAAM,aAAa,GAAG,SAAtB;;IAGa,uB;;;;;;;;;;;;;;AACb;AACE;AACE;AAEJ;kCAAgB,K,EAAW;AACvB,UAAM,KAAK,GAAG,KAAK,CAAC,WAAN,EAAd;AAAA,UAAmC,MAAM,GAAG,KAAK,CAAC,QAAN,EAA5C;AAAA,UAA8D,IAAI,GAAG,KAAK,CAAC,OAAN,EAArE;AAEA,UAAI,SAAS,GAAG,eAAe,GAAG,CAAlB,GAAsB,OAAO,KAAK,GAAG,CAAf,CAAtB,GAA0C,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,CAAzB,CAA1C,GACZ,CAAC,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,GAAzB,CADW,GACqB,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,GAAzB,CADrB,GAEZ,IAAI,CAAC,KAAL,CACI,CAAC,OAAO,MAAM,GAAG,CAAhB,IAAqB,GAAtB,IAA6B,EAA7B,IAAmC,MAAM,GAAG,CAAT,IAAc,CAAd,GAAkB,CAAlB,GAAsB,mBAAmB,CAAC,KAAD,CAAnB,GAA6B,CAAC,CAA9B,GAAkC,CAAC,CAA5F,IAAiG,IADrG,CAFJ;AAIA,eAAS,GAAG,IAAI,CAAC,KAAL,CAAW,SAAX,IAAwB,GAApC;AAEA,UAAM,IAAI,GAAG,SAAS,GAAG,aAAzB;AACA,UAAM,KAAK,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,IAAL,GAAY,KAAb,IAAsB,OAAjC,CAAd;AACA,UAAI,MAAM,GAAG,IAAI,CAAC,IAAL,CAAU,CAAC,IAAI,GAAG,EAAP,GAAY,mBAAmB,CAAC,KAAD,CAAhC,IAA2C,IAArD,CAAb;AACA,YAAM,GAAG,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,EAAjB,CAAT;AACA,UAAM,IAAI,GAAG,IAAI,CAAC,IAAL,CAAU,IAAI,GAAG,oBAAoB,CAAC,KAAD,EAAQ,MAAR,CAArC,IAAwD,CAArE;AACA,aAAO,IAAI,OAAJ,CAAY,KAAZ,EAAmB,MAAM,GAAG,CAA5B,EAA+B,IAA/B,CAAP;AACD;AACH;AAEC;AACE;AACE;;;;gCACS,K,EAAc;AACxB,UAAM,KAAK,GAAG,KAAK,CAAC,IAApB;AACA,UAAM,MAAM,GAAG,KAAK,CAAC,KAAN,GAAc,CAA7B;AACA,UAAM,IAAI,GAAG,KAAK,CAAC,GAAnB;AACA,UAAM,SAAS,GACX,IAAI,GAAG,IAAI,CAAC,IAAL,CAAU,OAAO,MAAjB,CAAP,GAAkC,CAAC,KAAK,GAAG,CAAT,IAAc,GAAhD,GAAsD,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,KAAK,KAAV,IAAmB,EAA9B,CAAtD,GAA0F,aAA1F,GAA0G,CAD9G;AAGA,UAAM,GAAG,GAAG,IAAI,CAAC,KAAL,CAAW,SAAS,GAAG,GAAvB,IAA8B,GAA1C;AAAA,UAA+C,MAAM,GAAG,GAAG,GAAG,eAA9D;AAAA,UACM,UAAU,GAAG,IAAI,CAAC,KAAL,CAAW,MAAM,GAAG,MAApB,CADnB;AAAA,UACgD,GAAG,GAAG,GAAG,CAAC,MAAD,EAAS,MAAT,CADzD;AAAA,UAC2E,IAAI,GAAG,IAAI,CAAC,KAAL,CAAW,GAAG,GAAG,KAAjB,CADlF;AAAA,UAEM,KAAK,GAAG,GAAG,CAAC,GAAD,EAAM,KAAN,CAFjB;AAAA,UAE+B,IAAI,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,IAAnB,CAFtC;AAAA,UAEgE,KAAK,GAAG,GAAG,CAAC,KAAD,EAAQ,IAAR,CAF3E;AAAA,UAGM,MAAM,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,GAAnB,CAHf;AAIA,UAAI,IAAI,GAAG,UAAU,GAAG,GAAb,GAAmB,IAAI,GAAG,GAA1B,GAAgC,IAAI,GAAG,CAAvC,GAA2C,MAAtD;;AACA,UAAI,EAAE,IAAI,KAAK,CAAT,IAAc,MAAM,KAAK,CAA3B,CAAJ,EAAmC;AACjC,YAAI;AACL;;AAED,UAAM,UAAU,GAAG,eAAe,GAAG,OAAO,IAAI,GAAG,CAAd,CAAlB,GAAqC,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,CAAxB,CAArC,GAAkE,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,GAAxB,CAAlE,GACf,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,GAAxB,CADJ;AAGA,UAAM,OAAO,GAAG,GAAG,GAAG,UAAtB;AAEA,UAAM,GAAG,GAAG,eAAe,GAAG,CAAlB,GAAsB,OAAO,IAAI,GAAG,CAAd,CAAtB,GAAyC,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,CAAxB,CAAzC,GAAsE,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,GAAxB,CAAtE,GACR,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,GAAxB,CADQ,GACuB,IAAI,CAAC,KAAL,CAAW,MAAM,EAAN,IAAY,mBAAmB,CAAC,IAAI,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,CAAD,CAAnB,GAA4C,CAAC,CAA7C,GAAiD,CAAC,CAA9D,IAAmE,CAA9E,CADnC;AAGA,UAAM,OAAO,GAAG,GAAG,GAAG,GAAN,GAAY,CAAZ,GAAgB,mBAAmB,CAAC,IAAI,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,CAAD,CAAnB,GAA4C,CAA5C,GAAgD,CAAhF;AAEA,UAAM,KAAK,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,CAAC,OAAO,GAAG,OAAX,IAAsB,EAAtB,GAA2B,GAA5B,IAAmC,GAA9C,CAAd;AACA,UAAM,IAAI,GAAG,eAAe,GAAG,CAAlB,GAAsB,OAAO,IAAI,GAAG,CAAd,CAAtB,GAAyC,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,CAAxB,CAAzC,GAAsE,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,GAAxB,CAAtE,GACT,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,GAAxB,CADS,GAET,IAAI,CAAC,KAAL,CACI,CAAC,MAAM,KAAN,GAAc,GAAf,IAAsB,EAAtB,IAA4B,KAAK,IAAI,CAAT,GAAa,CAAb,GAAiB,mBAAmB,CAAC,IAAI,IAAJ,CAAS,IAAT,EAAe,KAAK,GAAG,CAAvB,EAA0B,CAA1B,CAAD,CAAnB,GAAoD,CAAC,CAArD,GAAyD,CAAC,CAAvG,IACA,CAFJ,CAFJ;AAMA,UAAM,GAAG,GAAG,GAAG,GAAG,IAAN,GAAa,CAAzB;AAEA,aAAO,IAAI,IAAJ,CAAS,IAAT,EAAe,KAAK,GAAG,CAAvB,EAA0B,GAA1B,CAAP;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;oCAAiB,K,EAAe,I,EAAY;AACzC,UAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,EAAnB,CAAd;AACA,WAAK,GAAI,CAAC,KAAK,GAAG,CAAT,IAAc,EAAf,GAAqB,CAA7B;AACA,UAAI,MAAM,GAAG,KAAK,KAAK,GAAG,CAA1B;;AACA,UAAI,KAAK,KAAK,EAAV,IAAgB,iBAAiB,CAAC,IAAD,CAArC,EAA6C;AAC3C,cAAM;AACP;;AACD,aAAO,MAAP;AACD;;;;EA7E0C,gB;;wCAD5C,+B,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACT,C;ACjDF;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAM,oBAAoB,GAAG,IAAI,IAAJ,CAAS,IAAT,EAAe,EAAf,EAAmB,EAAnB,CAA7B;AACA,IAAM,mBAAmB,GAAG,IAAI,IAAJ,CAAS,IAAT,EAAe,EAAf,EAAmB,EAAnB,CAA5B;AACA,IAAM,WAAW,GAAG,IAApB;AACA,IAAM,SAAS,GAAG,IAAlB;AACA,IAAM,OAAO,GAAG,OAAO,EAAP,GAAY,EAAZ,GAAiB,EAAjC;AAEA,IAAM,YAAY,GAAG,CACrB;AACE,cAFmB,EAEH,cAFG,EAEa,cAFb,EAE6B,cAF7B,EAE6C,cAF7C,EAGrB;AACE,cAJmB,EAIH,cAJG,EAIa,cAJb,EAI6B,cAJ7B,EAI6C,cAJ7C,EAKrB;AACE,cANmB,EAMH,cANG,EAMa,cANb,EAM6B,cAN7B,EAM6C,cAN7C,EAOrB;AACE,cARmB,EAQH,cARG,EAQa,cARb,EAQ6B,cAR7B,EAQ6C,cAR7C,EASrB;AACE,cAVmB,EAUH,cAVG,EAUa,cAVb,EAU6B,cAV7B,EAU6C,cAV7C,EAWrB;AACE,cAZmB,EAYH,cAZG,EAYa,cAZb,EAY6B,cAZ7B,EAY6C,cAZ7C,EAarB;AACE,cAdmB,EAcH,cAdG,EAca,cAdb,EAc6B,cAd7B,EAc6C,cAd7C,EAerB;AACE,cAhBmB,EAgBH,cAhBG,EAgBa,cAhBb,EAgB6B,cAhB7B,EAgB6C,cAhB7C,EAiBrB;AACE,cAlBmB,EAkBH,cAlBG,EAkBa,cAlBb,EAkB6B,cAlB7B,EAkB6C,cAlB7C,EAmBrB;AACE,cApBmB,EAoBH,cApBG,EAoBa,cApBb,EAoB6B,cApB7B,EAoB6C,cApB7C,EAqBrB;AACE,cAtBmB,EAsBH,cAtBG,EAsBa,cAtBb,EAsB6B,cAtB7B,EAsB6C,cAtB7C,EAuBrB;AACE,cAxBmB,EAwBH,cAxBG,EAwBa,cAxBb,EAwB6B,cAxB7B,EAwB6C,cAxB7C,EAyBrB;AACE,cA1BmB,EA0BH,cA1BG,EA0Ba,cA1Bb,EA0B6B,cA1B7B,EA0B6C,cA1B7C,EA2BrB;AACE,cA5BmB,EA4BH,cA5BG,EA4Ba,cA5Bb,EA4B6B,cA5B7B,EA4B6C,cA5B7C,EA6BrB;AACE,cA9BmB,EA8BH,cA9BG,EA8Ba,cA9Bb,EA8B6B,cA9B7B,EA8B6C,cA9B7C,EA+BrB;AACE,cAhCmB,EAgCH,cAhCG,EAgCa,cAhCb,EAgC6B,cAhC7B,EAgC6C,cAhC7C,EAiCrB;AACE,cAlCmB,EAkCH,cAlCG,EAkCa,cAlCb,EAkC6B,cAlC7B,EAkC6C,cAlC7C,EAmCrB;AACE,cApCmB,EAoCH,cApCG,EAoCa,cApCb,EAoC6B,cApC7B,EAoC6C,cApC7C,EAqCrB;AACE,cAtCmB,EAsCH,cAtCG,EAsCa,cAtCb,EAsC6B,cAtC7B,EAsC6C,cAtC7C,EAuCrB;AACE,cAxCmB,EAwCH,cAxCG,EAwCa,cAxCb,EAwC6B,cAxC7B,EAwC6C,cAxC7C,EAyCrB;AACE,cA1CmB,EA0CH,cA1CG,EA0Ca,cA1Cb,EA0C6B,cA1C7B,EA0C6C,cA1C7C,EA2CrB;AACE,cA5CmB,EA4CH,cA5CG,EA4Ca,cA5Cb,EA4C6B,cA5C7B,EA4C6C,cA5C7C,EA6CrB;AACE,cA9CmB,EA8CH,cA9CG,EA8Ca,cA9Cb,EA8C6B,cA9C7B,EA8C6C,cA9C7C,EA+CrB;AACE,cAhDmB,EAgDH,cAhDG,EAgDa,cAhDb,EAgD6B,cAhD7B,EAgD6C,cAhD7C,EAiDrB;AACE,cAlDmB,EAkDH,cAlDG,EAkDa,cAlDb,EAkD6B,cAlD7B,EAkD6C,cAlD7C,EAmDrB;AACE,cApDmB,EAoDH,cApDG,EAoDa,cApDb,EAoD6B,cApD7B,EAoD6C,cApD7C,EAqDrB;AACE,cAtDmB,EAsDH,cAtDG,EAsDa,cAtDb,EAsD6B,cAtD7B,EAsD6C,cAtD7C,EAuDrB;AACE,cAxDmB,EAwDH,cAxDG,EAwDa,cAxDb,EAwD6B,cAxD7B,EAwD6C,cAxD7C,EAyDrB;AACE,cA1DmB,EA0DH,cA1DG,EA0Da,cA1Db,EA0D6B,cA1D7B,EA0D6C,cA1D7C,EA2DrB;AACE,cA5DmB,EA4DH,cA5DG,EA4Da,cA5Db,EA4D6B,cA5D7B,EA4D6C,cA5D7C,EA6DrB;AACE,cA9DmB,EA8DH,cA9DG,EA8Da,cA9Db,EA8D6B,cA9D7B,EA8D6C,cA9D7C,EA+DrB;AACE,cAhEmB,EAgEH,cAhEG,EAgEa,cAhEb,EAgE6B,cAhE7B,EAgE6C,cAhE7C,EAiErB;AACE,cAlEmB,EAkEH,cAlEG,EAkEa,cAlEb,EAkE6B,cAlE7B,EAkE6C,cAlE7C,EAmErB;AACE,cApEmB,EAoEH,cApEG,EAoEa,cApEb,EAoE6B,cApE7B,EAoE6C,cApE7C,EAqErB;AACE,cAtEmB,EAsEH,cAtEG,EAsEa,cAtEb,EAsE6B,cAtE7B,EAsE6C,cAtE7C,EAuErB;AACE,cAxEmB,EAwEH,cAxEG,EAwEa,cAxEb,EAwE6B,cAxE7B,EAwE6C,cAxE7C,EAyErB;AACE,cA1EmB,EA0EH,cA1EG,EA0Ea,cA1Eb,EA0E6B,cA1E7B,EA0E6C,cA1E7C,EA2ErB;AACE,cA5EmB,EA4EH,cA5EG,EA4Ea,cA5Eb,EA4E6B,cA5E7B,EA4E6C,cA5E7C,EA6ErB;AACE,cA9EmB,EA8EH,cA9EG,EA8Ea,cA9Eb,EA8E6B,cA9E7B,EA8E6C,cA9E7C,EA+ErB;AACE,cAhFmB,EAgFH,cAhFG,EAgFa,cAhFb,EAgF6B,cAhF7B,EAgF6C,cAhF7C,EAiFrB;AACE,cAlFmB,EAkFH,cAlFG,EAkFa,cAlFb,EAkF6B,cAlF7B,EAkF6C,cAlF7C,EAmFrB;AACE,cApFmB,EAoFH,cApFG,EAoFa,cApFb,EAoF6B,cApF7B,EAoF6C,cApF7C,EAqFrB;AACE,cAtFmB,EAsFH,cAtFG,EAsFa,cAtFb,EAsF6B,cAtF7B,EAsF6C,cAtF7C,EAuFrB;AACE,cAxFmB,EAwFH,cAxFG,EAwFa,cAxFb,EAwF6B,cAxF7B,EAwF6C,cAxF7C,EAyFrB;AACE,cA1FmB,EA0FH,cA1FG,EA0Fa,cA1Fb,EA0F6B,cA1F7B,EA0F6C,cA1F7C,EA2FrB;AACE,cA5FmB,EA4FH,cA5FG,EA4Fa,cA5Fb,EA4F6B,cA5F7B,EA4F6C,cA5F7C,EA6FrB;AACE,cA9FmB,EA8FH,cA9FG,EA8Fa,cA9Fb,EA8F6B,cA9F7B,EA8F6C,cA9F7C,EA+FrB;AACE,cAhGmB,EAgGH,cAhGG,EAgGa,cAhGb,EAgG6B,cAhG7B,EAgG6C,cAhG7C,EAiGrB;AACE,cAlGmB,EAkGH,cAlGG,EAkGa,cAlGb,EAkG6B,cAlG7B,EAkG6C,cAlG7C,EAmGrB;AACE,cApGmB,EAoGH,cApGG,EAoGa,cApGb,EAoG6B,cApG7B,EAoG6C,cApG7C,EAqGrB;AACE,cAtGmB,EAsGH,cAtGG,EAsGa,cAtGb,EAsG6B,cAtG7B,EAsG6C,cAtG7C,EAuGrB;AACE,cAxGmB,EAwGH,cAxGG,EAwGa,cAxGb,EAwG6B,cAxG7B,EAwG6C,cAxG7C,EAyGrB;AACE,cA1GmB,EA0GH,cA1GG,EA0Ga,cA1Gb,EA0G6B,cA1G7B,EA0G6C,cA1G7C,EA2GrB;AACE,cA5GmB,EA4GH,cA5GG,EA4Ga,cA5Gb,EA4G6B,cA5G7B,EA4G6C,cA5G7C,EA6GrB;AACE,cA9GmB,EA8GH,cA9GG,EA8Ga,cA9Gb,EA8G6B,cA9G7B,EA8G6C,cA9G7C,EA+GrB;AACE,cAhHmB,EAgHH,cAhHG,EAgHa,cAhHb,EAgH6B,cAhH7B,EAgH6C,cAhH7C,EAiHrB;AACE,cAlHmB,EAkHH,cAlHG,EAkHa,cAlHb,EAkH6B,cAlH7B,EAkH6C,cAlH7C,EAmHrB;AACE,cApHmB,EAoHH,cApHG,EAoHa,cApHb,EAoH6B,cApH7B,EAoH6C,cApH7C,EAqHrB;AACE,cAtHmB,EAsHH,cAtHG,EAsHa,cAtHb,EAsH6B,cAtH7B,EAsH6C,cAtH7C,EAuHrB;AACE,cAxHmB,EAwHH,cAxHG,EAwHa,cAxHb,EAwH6B,cAxH7B,EAwH6C,cAxH7C,EAyHrB;AACE,cA1HmB,CAArB;;AA6HA,SAAS,WAAT,CAAqB,KAArB,EAAkC,KAAlC,EAA6C;AAAI;AAE/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAL,CAAS,KAAK,CAAC,WAAN,EAAT,EAA8B,KAAK,CAAC,QAAN,EAA9B,EAAgD,KAAK,CAAC,OAAN,EAAhD,CAAd;AACA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAL,CAAS,KAAK,CAAC,WAAN,EAAT,EAA8B,KAAK,CAAC,QAAN,EAA9B,EAAgD,KAAK,CAAC,OAAN,EAAhD,CAAd;AACA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAL,CAAS,KAAK,GAAG,KAAjB,CAAb;AACA,SAAO,IAAI,CAAC,KAAL,CAAW,IAAI,GAAG,OAAlB,CAAP;AACD;;IAGY,0B;;;;;;;;;;;;;;AACb;AACE;AACE;AAEH;kCAAe,K,EAAW;AACvB,UAAI,IAAI,GAAG,CAAX;AAAA,UAAc,MAAM,GAAG,CAAvB;AAAA,UAA0B,KAAK,GAAG,IAAlC;AACA,UAAI,QAAQ,GAAG,WAAW,CAAC,KAAD,EAAQ,oBAAR,CAA1B;;AACA,UAAI,KAAK,CAAC,OAAN,KAAkB,oBAAoB,CAAC,OAArB,EAAlB,IAAoD,CAApD,IAAyD,KAAK,CAAC,OAAN,KAAkB,mBAAmB,CAAC,OAApB,EAAlB,IAAmD,CAAhH,EAAmH;AACjH,YAAI,IAAI,GAAG,IAAX;;AACA,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAAY,CAAC,MAAjC,EAAyC,CAAC,IAAI,IAAI,EAAlD,EAAsD;AACpD,eAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,EAApB,EAAwB,CAAC,EAAzB,EAA6B;AAC3B,gBAAI,SAAS,GAAG,CAAC,YAAY,CAAC,CAAD,CAAZ,CAAgB,CAAhB,CAAD,GAAsB,EAAtC;;AACA,gBAAI,QAAQ,IAAI,SAAhB,EAA2B;AACzB,kBAAI,GAAG,QAAQ,GAAG,CAAlB;;AACA,kBAAI,IAAI,GAAG,SAAX,EAAsB;AACpB,oBAAI,GAAG,CAAP;AACA,iBAAC;AACF;;AACD,kBAAI,CAAC,GAAG,EAAR,EAAY;AACV,iBAAC,GAAG,CAAJ;AACA,oBAAI;AACL;;AACD,oBAAM,GAAG,CAAT;AACA,mBAAK,GAAG,IAAR;AACA,qBAAO,IAAI,OAAJ,CAAY,KAAZ,EAAmB,MAAM,GAAG,CAA5B,EAA+B,IAA/B,CAAP;AACD;;AACD,oBAAQ,GAAG,QAAQ,GAAG,SAAtB;AACD;AACF;;AACD,eAAO,IAAP;AACD,OAvBD,MAuBO;AACL,2VAA2B,KAA3B;AACD;AACF;AACH;AACE;AACE;;;;gCACU,K,EAAc;AACxB,UAAM,KAAK,GAAG,KAAK,CAAC,IAApB;AACA,UAAM,MAAM,GAAG,KAAK,CAAC,KAAN,GAAc,CAA7B;AACA,UAAM,IAAI,GAAG,KAAK,CAAC,GAAnB;AACA,UAAI,KAAK,GAAG,IAAI,IAAJ,CAAS,oBAAT,CAAZ;AACA,UAAI,OAAO,GAAG,IAAI,GAAG,CAArB;;AACA,UAAI,KAAK,IAAI,WAAT,IAAwB,KAAK,IAAI,SAArC,EAAgD;AAC9C,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,GAAG,WAA5B,EAAyC,CAAC,EAA1C,EAA8C;AAC5C,eAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,EAApB,EAAwB,CAAC,EAAzB,EAA6B;AAC3B,mBAAO,IAAI,CAAC,YAAY,CAAC,CAAD,CAAZ,CAAgB,CAAhB,CAAD,GAAsB,EAAjC;AACD;AACF;;AACD,aAAK,IAAI,EAAC,GAAG,CAAb,EAAgB,EAAC,GAAG,MAApB,EAA4B,EAAC,EAA7B,EAAiC;AAC/B,iBAAO,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,WAAT,CAAZ,CAAkC,EAAlC,CAAD,GAAwC,EAAnD;AACD;;AACD,aAAK,CAAC,OAAN,CAAc,oBAAoB,CAAC,OAArB,KAAiC,OAA/C;AACD,OAVD,MAUO;AACL,aAAK,GAAG,0UAAkB,KAArB,CAAL;AACD;;AACD,aAAO,KAAP;AACD;AACH;AACE;AACE;AACE;AAEH;;;;oCAAe,M,EAAgB,K,EAAa;AAC3C,UAAI,KAAK,IAAI,WAAT,IAAwB,KAAK,IAAI,SAArC,EAAgD;AAC9C,YAAM,GAAG,GAAG,KAAK,GAAG,WAApB;AACA,eAAO,CAAC,YAAY,CAAC,GAAD,CAAZ,CAAkB,MAAM,GAAG,CAA3B,CAAD,GAAiC,EAAxC;AACD;;AACD,2VAA6B,MAA7B,EAAqC,KAArC;AACD;;;;EAtE6C,uB;;2CAD/C,kC,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACT,C;ACrJF;AACA;AACA;AACA;;;AACA,SAAgB,WAAhB,CAA4B,UAA5B,EAA+C;AAC7C,MAAI,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC,IAAZ,EAAkB,UAAU,CAAC,KAA7B,EAAoC,UAAU,CAAC,GAA/C,CAAxB;AACA,MAAI,IAAI,GAAG,iBAAiB,CAAC,GAAD,CAA5B;AACA,MAAI,CAAC,QAAL,CAAc,CAAd,EAAiB,EAAjB,EAAqB,CAArB,EAAwB,GAAxB;AACA,SAAO,IAAP;AACD;AAED;AACA;AACA;AACA;AACA;;;AACA,SAAgB,aAAhB,CAA8B,KAA9B,EAAyC;AACvC,MAAI,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAN,EAAD,EAAsB,KAAK,CAAC,QAAN,KAAmB,CAAzC,EAA4C,KAAK,CAAC,OAAN,EAA5C,CAA3B;AACA,SAAO,cAAc,CAAC,GAAD,CAArB;AACD;;AACD,SACgB,aADhB,CAC8B,IAD9B,EAC6C,SAD7C,EAC8D;AAC5D,MAAI,CAAC,IAAL,GAAY,CAAC,SAAb;AACA,SAAO,IAAP;AACD;;AACD,SACgB,cADhB,CAC+B,IAD/B,EAC8C,KAD9C,EAC2D;AACzD,OAAK,GAAG,CAAC,KAAT;AACA,MAAI,CAAC,IAAL,GAAY,IAAI,CAAC,IAAL,GAAY,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,EAAzB,CAAxB;AACA,MAAI,CAAC,KAAL,GAAa,IAAI,CAAC,KAAL,CAAW,CAAC,CAAC,KAAK,GAAG,CAAT,IAAc,EAAd,GAAmB,EAApB,IAA0B,EAArC,IAA2C,CAAxD;AACA,SAAO,IAAP;AACD;;AACD,SACgB,YADhB,CAC6B,IAD7B,EAC4C,GAD5C,EACuD;AACrD,MAAI,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAA3B;;AACA,MAAI,GAAG,IAAI,CAAX,EAAc;AACZ,WAAO,GAAG,IAAI,CAAd,EAAiB;AACf,UAAI,GAAG,cAAc,CAAC,IAAD,EAAO,IAAI,CAAC,KAAL,GAAa,CAApB,CAArB;AACA,WAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAAvB;AACA,SAAG,IAAI,KAAP;AACD;AACF,GAND,MAMO,IAAI,GAAG,GAAG,KAAV,EAAiB;AACtB,WAAO,GAAG,GAAG,KAAb,EAAoB;AAClB,SAAG,IAAI,KAAP;AACA,UAAI,GAAG,cAAc,CAAC,IAAD,EAAO,IAAI,CAAC,KAAL,GAAa,CAApB,CAArB;AACA,WAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAAvB;AACD;AACF;;AACD,MAAI,CAAC,GAAL,GAAW,GAAX;AACA,SAAO,IAAP;AACD;;AAED,SAASC,KAAT,CAAa,CAAb,EAAwB,CAAxB,EAAiC;AAC/B,SAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,CAAf,CAAf;AACD;;AAED,SAAS,GAAT,CAAa,CAAb,EAAwB,CAAxB,EAAiC;AAC/B,SAAO,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,CAAf,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,MAAT,CAAgB,UAAhB,EAAkC;AAClC;AACE,MAAI,MAAM,GACN,CAAC,CAAC,EAAF,EAAM,CAAN,EAAS,EAAT,EAAa,GAAb,EAAkB,GAAlB,EAAuB,GAAvB,EAA4B,GAA5B,EAAiC,GAAjC,EAAsC,IAAtC,EAA4C,IAA5C,EAAkD,IAAlD,EAAwD,IAAxD,EAA8D,IAA9D,EAAoE,IAApE,EAA0E,IAA1E,EAAgF,IAAhF,EAAsF,IAAtF,EAA4F,IAA5F,EAAkG,IAAlG,EAAwG,IAAxG,CADJ;AAEA,MAAM,YAAY,GAAG,MAAM,CAAC,MAA5B;AACA,MAAM,KAAK,GAAG,UAAU,GAAG,GAA3B;AACA,MAAI,KAAK,GAAG,CAAC,EAAb;AACA,MAAI,EAAE,GAAG,MAAM,CAAC,CAAD,CAAf;;AAEA,MAAI,UAAU,GAAG,EAAb,IAAmB,UAAU,IAAI,MAAM,CAAC,YAAY,GAAG,CAAhB,CAA3C,EAA+D;AAC7D,UAAM,IAAI,KAAJ,CAAU,yBAAyB,UAAnC,CAAN;AACD,GAX+B,CAYlC;;;AAEE,MAAI,IAAJ;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAApB,EAAkC,CAAC,IAAI,CAAvC,EAA0C;AACxC,QAAM,EAAE,GAAG,MAAM,CAAC,CAAD,CAAjB;AACA,QAAI,GAAG,EAAE,GAAG,EAAZ;;AACA,QAAI,UAAU,GAAG,EAAjB,EAAqB;AACnB;AACD;;AACD,SAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAD,EAAO,EAAP,CAAH,GAAgB,CAAxB,GAA4B,GAAG,CAACA,KAAG,CAAC,IAAD,EAAO,EAAP,CAAJ,EAAgB,CAAhB,CAAvC;AACA,MAAE,GAAG,EAAL;AACD;;AACD,MAAI,CAAC,GAAG,UAAU,GAAG,EAArB,CAxBgC,CAyBlC;AAEC;;AACC,OAAK,GAAG,KAAK,GAAG,GAAG,CAAC,CAAD,EAAI,EAAJ,CAAH,GAAa,CAArB,GAAyB,GAAG,CAACA,KAAG,CAAC,CAAD,EAAI,EAAJ,CAAHA,GAAa,CAAd,EAAiB,CAAjB,CAApC;;AACA,MAAIA,KAAG,CAAC,IAAD,EAAO,EAAP,CAAHA,KAAkB,CAAlBA,IAAuB,IAAI,GAAG,CAAP,KAAa,CAAxC,EAA2C;AACzC,SAAK,IAAI,CAAT;AACD,GA/B+B,CAgClC;;;AAEE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAD,EAAQ,CAAR,CAAH,GAAgB,GAAG,CAAC,CAAC,GAAG,CAAC,KAAD,EAAQ,GAAR,CAAH,GAAkB,CAAnB,IAAwB,CAAzB,EAA4B,CAA5B,CAAnB,GAAoD,GAAlE,CAlCgC,CAmClC;;AAEE,MAAM,KAAK,GAAG,KAAK,KAAL,GAAa,KAA3B,CArCgC,CAsClC;;AAEE,MAAI,IAAI,GAAG,CAAP,GAAW,CAAf,EAAkB;AAChB,KAAC,GAAG,CAAC,GAAG,IAAJ,GAAW,GAAG,CAAC,IAAI,GAAG,CAAR,EAAW,EAAX,CAAH,GAAoB,EAAnC;AACD;;AACD,MAAI,IAAI,GAAGA,KAAG,CAACA,KAAG,CAAC,CAAC,GAAG,CAAL,EAAQ,EAAR,CAAHA,GAAiB,CAAlB,EAAqB,CAArB,CAAd;;AACA,MAAI,IAAI,KAAK,CAAC,CAAd,EAAiB;AACf,QAAI,GAAG,CAAP;AACD;;AAED,SAAO;AAAC,QAAI,EAAE,IAAP;AAAa,MAAE,EAAE,KAAjB;AAAwB,SAAK,EAAE;AAA/B,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,iBAAT,CAA2B,eAA3B,EAAkD;AAChD,MAAI,CAAC,GAAG,IAAI,eAAJ,GAAsB,SAA9B;AACA,GAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,eAAJ,GAAsB,SAAvB,EAAkC,MAAlC,CAAH,GAA+C,CAAhD,EAAmD,CAAnD,CAAH,GAA2D,CAA/D,GAAmE,IAAvE;AACA,MAAM,CAAC,GAAG,GAAG,CAACA,KAAG,CAAC,CAAD,EAAI,IAAJ,CAAJ,EAAe,CAAf,CAAH,GAAuB,CAAvB,GAA2B,GAArC;AACA,MAAM,IAAI,GAAG,GAAG,CAACA,KAAG,CAAC,CAAD,EAAI,GAAJ,CAAJ,EAAc,CAAd,CAAH,GAAsB,CAAnC;AACA,MAAM,MAAM,GAAGA,KAAG,CAAC,GAAG,CAAC,CAAD,EAAI,GAAJ,CAAJ,EAAc,EAAd,CAAHA,GAAuB,CAAtC;AACA,MAAM,KAAK,GAAG,GAAG,CAAC,CAAD,EAAI,IAAJ,CAAH,GAAe,MAAf,GAAwB,GAAG,CAAC,IAAI,MAAL,EAAa,CAAb,CAAzC;AAEA,SAAO,IAAI,IAAJ,CAAS,KAAT,EAAgB,MAAM,GAAG,CAAzB,EAA4B,IAA5B,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,iBAAT,CAA2B,EAA3B,EAAuC,EAAvC,EAAmD,EAAnD,EAA6D;AAC3D,MAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAN,EAAS,CAAT,CAAR,GAAsB,MAAvB,IAAiC,IAAlC,EAAwC,CAAxC,CAAH,GAAgD,GAAG,CAAC,MAAMA,KAAG,CAAC,EAAE,GAAG,CAAN,EAAS,EAAT,CAAT,GAAwB,CAAzB,EAA4B,CAA5B,CAAnD,GAAoF,EAApF,GAAyF,QAAjG;AACA,GAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,MAAL,GAAc,GAAG,CAAC,EAAE,GAAG,CAAN,EAAS,CAAT,CAAlB,EAA+B,GAA/B,CAAH,GAAyC,CAA1C,EAA6C,CAA7C,CAAP,GAAyD,GAA7D;AACA,SAAO,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,cAAT,CAAwB,eAAxB,EAA+C;AAC7C,MAAI,EAAE,GAAG,iBAAiB,CAAC,eAAD,CAAjB,CAAmC,WAAnC,EAAT,CAAyD;AAAzD;AAAA,MAEI,UAAU,GAAG,EAAE,GAAG,GAFtB;AAAA,MAE2B,CAAC,GAAG,MAAM,CAAC,UAAD,CAFrC;AAAA,MAEmD,YAAY,GAAG,iBAAiB,CAAC,EAAD,EAAK,CAAL,EAAQ,CAAC,CAAC,KAAV,CAFnF;AAAA,MAEqG,SAFrG;AAAA,MAGI,WAHJ;AAAA,MAGiB,YAHjB,CAD6C,CAK/C;;AAEE,cAAY,GAAG,eAAe,GAAG,YAAjC;;AACA,MAAI,YAAY,IAAI,CAApB,EAAuB;AACrB,QAAI,YAAY,IAAI,GAApB,EAAyB;AAC7B;AACM,iBAAW,GAAG,IAAI,GAAG,CAAC,YAAD,EAAe,EAAf,CAArB;AACA,eAAS,GAAGA,KAAG,CAAC,YAAD,EAAe,EAAf,CAAHA,GAAwB,CAApC;AACA,aAAO,IAAI,OAAJ,CAAY,UAAZ,EAAwB,WAAxB,EAAqC,SAArC,CAAP;AACD,KALD,MAKO;AACX;AACM,kBAAY,IAAI,GAAhB;AACD;AACF,GAVD,MAUO;AACT;AACI,cAAU,IAAI,CAAd;AACA,gBAAY,IAAI,GAAhB;;AACA,QAAI,CAAC,CAAC,IAAF,KAAW,CAAf,EAAkB;AAChB,kBAAY,IAAI,CAAhB;AACD;AACF;;AACD,aAAW,GAAG,IAAI,GAAG,CAAC,YAAD,EAAe,EAAf,CAArB;AACA,WAAS,GAAGA,KAAG,CAAC,YAAD,EAAe,EAAf,CAAHA,GAAwB,CAApC;AAEA,SAAO,IAAI,OAAJ,CAAY,UAAZ,EAAwB,WAAxB,EAAqC,SAArC,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,cAAT,CAAwB,KAAxB,EAAuC,MAAvC,EAAuD,IAAvD,EAAmE;AACjE,MAAI,CAAC,GAAG,MAAM,CAAC,KAAD,CAAd;AACA,SAAO,iBAAiB,CAAC,CAAC,CAAC,EAAH,EAAO,CAAP,EAAU,CAAC,CAAC,KAAZ,CAAjB,GAAsC,CAAC,MAAM,GAAG,CAAV,IAAe,EAArD,GAA0D,GAAG,CAAC,MAAD,EAAS,CAAT,CAAH,IAAkB,MAAM,GAAG,CAA3B,CAA1D,GAA0F,IAA1F,GAAiG,CAAxG;AACD;AAED;AACA;AACA;;;AACA,SAAS,eAAT,CAAyB,KAAzB,EAAwC,IAAxC,EAAoD;AAClD,MAAI,KAAK,IAAI,CAAb,EAAgB;AACd,WAAO,EAAP;AACD;;AACD,MAAI,KAAK,IAAI,EAAb,EAAiB;AACf,WAAO,EAAP;AACD;;AACD,MAAI,MAAM,CAAC,IAAD,CAAN,CAAa,IAAb,KAAsB,CAA1B,EAA6B;AAC3B,WAAO,EAAP;AACD;;AACD,SAAO,EAAP;AACF;;IC1Na,kB;;;;;;;;;;;;;qCACG;AAAK,aAAO,CAAP;AAAW;;;gCAErB;AAAK,aAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,EAA5B,EAAgC,EAAhC,EAAoC,EAApC,CAAP;AAAiD;;;uCAE/C;AAAK,aAAO,CAAP;AAAW;;;4BAExB,I,EAAkD;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AACxD,UAAI,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,IAAI,CAAC,GAAxC,CAAP;;AAEA,cAAQ,MAAR;AACE,aAAK,GAAL;AACE,cAAI,GAAG,aAAa,CAAC,IAAD,EAAO,IAAI,CAAC,IAAL,GAAY,MAAnB,CAApB;AACA,cAAI,CAAC,KAAL,GAAa,CAAb;AACA,cAAI,CAAC,GAAL,GAAW,CAAX;AACA,iBAAO,IAAP;;AACF,aAAK,GAAL;AACE,cAAI,GAAG,cAAc,CAAC,IAAD,EAAO,IAAI,CAAC,KAAL,GAAa,MAApB,CAArB;AACA,cAAI,CAAC,GAAL,GAAW,CAAX;AACA,iBAAO,IAAP;;AACF,aAAK,GAAL;AACE,iBAAO,YAAY,CAAC,IAAD,EAAO,IAAI,CAAC,GAAL,GAAW,MAAlB,CAAnB;;AACF;AACE,iBAAO,IAAP;AAbJ;AAeD;;;4BAEO,I,EAAkD;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AAAI,aAAO,KAAK,OAAL,CAAa,IAAb,EAAmB,MAAnB,EAA2B,CAAC,MAA5B,CAAP;AAA6C;;;+BAEhG,I,EAAa;AACtB,UAAM,GAAG,GAAG,WAAW,CAAC,IAAD,CAAX,CAAkB,MAAlB,EAAZ,CADsB,CAE1B;;AACI,aAAO,GAAG,KAAK,CAAR,GAAY,CAAZ,GAAgB,GAAvB;AACD;;;kCAEa,I,EAA0B,c,EAAsB;AAChE;AACI,UAAI,cAAc,KAAK,CAAvB,EAA0B;AACxB,sBAAc,GAAG,CAAjB;AACD;;AAED,UAAM,aAAa,GAAG,CAAC,IAAI,CAAJ,GAAQ,cAAT,IAA2B,CAAjD;AACA,UAAM,IAAI,GAAG,IAAI,CAAC,aAAD,CAAjB;AAEA,UAAM,MAAM,GAAG,WAAW,CAAC,IAAD,CAA1B;AACA,YAAM,CAAC,OAAP,CAAe,MAAM,CAAC,OAAP,KAAmB,CAAnB,IAAwB,MAAM,CAAC,MAAP,MAAmB,CAA3C,CAAf,EAV4D,CAUE;;AAC9D,UAAM,IAAI,GAAG,MAAM,CAAC,OAAP,EAAb;AACA,UAAM,SAAS,GAAG,WAAW,CAAC,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,CAAvB,EAA0B,CAA1B,CAAD,CAA7B;AACA,aAAO,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,SAAS,CAAC,OAAV,EAAR,IAA+B,QAA1C,IAAsD,CAAjE,IAAsE,CAA7E;AACD;;;+BAEO;AAAc,aAAO,aAAa,CAAC,IAAI,IAAJ,EAAD,CAApB;AAAmC;;;4BAEjD,I,EAAqB;AAC3B,aAAO,IAAI,IAAI,IAAR,IAAgB,SAAS,CAAC,IAAI,CAAC,IAAN,CAAzB,IAAwC,SAAS,CAAC,IAAI,CAAC,KAAN,CAAjD,IAAiE,SAAS,CAAC,IAAI,CAAC,GAAN,CAA1E,IACH,CAAC,KAAK,CAAC,WAAW,CAAC,IAAD,CAAX,CAAkB,OAAlB,EAAD,CADV;AAED;;;;EAxDqC,W;;mCADvC,0B,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACT,C;;ACLF,IAAM,cAAc,GAAG,IAAvB;AACA,IAAM,aAAa,GAAG,KAAK,cAA3B;AACA,IAAM,sBAAsB,GAAG,KAAK,cAAL,GAAsB,GAArD;AACA,IAAM,eAAe,GAAG,KAAK,aAAL,GAAqB,sBAA7C;AACA,IAAM,OAAO,GAAG,KAAK,cAAL,GAAsB,GAAtC;AACA,IAAM,wBAAwB,GAAG,OAAjC;AACA,IAAMC,iBAAe,GAAG,SAAxB;;AAEA,SAASC,qBAAT,CAA6B,IAA7B,EAAyC;AACvC,SAAO,IAAI,GAAG,CAAP,KAAa,CAAb,IAAkB,IAAI,GAAG,GAAP,KAAe,CAAjC,IAAsC,IAAI,GAAG,GAAP,KAAe,CAA5D;AACD;;AAED,SAAS,sBAAT,CAAgC,IAAhC,EAA4C;AAC1C,MAAI,gBAAgB,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,MAAM,IAAN,GAAa,GAAd,IAAqB,EAAhC,CAAvB;AACA,MAAI,0BAA0B,GAAG,gBAAgB,GAAG,sBAAnB,GAA4C,OAA7E;AACA,MAAI,SAAS,GAAG,gBAAgB,GAAG,EAAnB,GAAwB,IAAI,CAAC,KAAL,CAAW,0BAA0B,GAAG,aAAxC,CAAxC;AACA,MAAI,SAAS,GAAG,0BAA0B,GAAG,aAA7C;AAEA,MAAI,SAAS,GAAG,SAAS,GAAG,CAA5B,CAN0C,CAMZ;;AAE9B,MAAI,SAAS,KAAK,CAAd,IAAmB,SAAS,KAAK,CAAjC,IAAsC,SAAS,KAAK,CAAxD,EAA2D;AACzD,aAAS;AACT,aAAS,GAAG,SAAS,GAAG,CAAxB;AACD;;AACD,MAAI,SAAS,KAAK,CAAd,IAAmB,SAAS,GAAG,KAAK,cAAL,GAAsB,GAArD,IAA4D,CAAC,gBAAgB,CAAC,IAAD,CAAjF,EAAyF;AACvF,aAAS,IAAI,CAAb;AACD,GAFD,MAEO,IAAI,SAAS,KAAK,CAAd,IAAmB,SAAS,GAAG,KAAK,cAAL,GAAsB,GAArD,IAA4D,gBAAgB,CAAC,IAAI,GAAG,CAAR,CAAhF,EAA4F;AACjG,aAAS;AACV;;AACD,SAAO,SAAP;AACD;;AAED,SAAS,uBAAT,CAAiC,KAAjC,EAAgD,IAAhD,EAA4D;AAC1D,MAAI,IAAI,GAAG,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,EAAiB,EAAjB,EAAqB,EAArB,EAAyB,EAAzB,EAA6B,EAA7B,EAAiC,EAAjC,EAAqC,EAArC,EAAyC,EAAzC,EAA6C,EAA7C,CAAX;;AACA,MAAIA,qBAAmB,CAAC,IAAD,CAAvB,EAA+B;AAC7B,QAAI,CAAC,CAAD,CAAJ;AACD;;AACD,SAAO,IAAI,CAAC,KAAK,GAAG,CAAT,CAAX;AACD;;AAED,SAAS,eAAT,CAAyB,IAAzB,EAAqC;AACnC,SAAO,gBAAgB,CAAC,IAAD,CAAhB,GAAyB,EAAzB,GAA8B,EAArC;AACD;AAED;AACA;AACA;AACA;;;AACA,SAAS,mBAAT,CAA6B,IAA7B,EAAyC;AACvC,SAAO,sBAAsB,CAAC,IAAI,GAAG,CAAR,CAAtB,GAAmC,sBAAsB,CAAC,IAAD,CAAhE;AACD;;AACD,SACgB,gBADhB,CACiC,IADjC,EAC8C;AAC5C,MAAI,IAAI,IAAI,IAAZ,EAAkB;AAChB,QAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAP,GAAY,EAAb,IAAmB,EAA3B;AACA,WAAO,CAAC,KAAM,CAAC,GAAG,CAAL,GAAU,CAAC,CAAX,GAAe,EAApB,CAAR;AACD;;AACD,SAAO,KAAP;AACD;AAED;AACA;AACA;AACA;AACA;;;AACA,SAAgB,oBAAhB,CAAqC,KAArC,EAAoD,IAApD,EAAgE;AAC9D,MAAI,UAAU,GAAG,sBAAsB,CAAC,IAAI,GAAG,CAAR,CAAtB,GAAmC,sBAAsB,CAAC,IAAD,CAA1E;AACA,MAAI,QAAQ,GAAG,CAAC,UAAU,IAAI,GAAd,GAAoB,UAApB,GAAkC,UAAU,GAAG,EAAhD,IAAuD,GAAtE;AACA,MAAI,QAAQ,GAAG,gBAAgB,CAAC,IAAD,CAA/B;AACA,MAAI,WAAW,GAAG,QAAQ,GAAG,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,EAAiB,EAAjB,EAAqB,EAArB,EAAyB,EAAzB,EAA6B,EAA7B,EAAiC,EAAjC,EAAqC,EAArC,EAAyC,EAAzC,EAA6C,EAA7C,EAAiD,EAAjD,CAAH,GACG,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,EAAiB,EAAjB,EAAqB,EAArB,EAAyB,EAAzB,EAA6B,EAA7B,EAAiC,EAAjC,EAAqC,EAArC,EAAyC,EAAzC,EAA6C,EAA7C,CAD7B;;AAEA,MAAI,QAAQ,GAAG,CAAf,EAAkB;AAChB,eAAW,CAAC,CAAD,CAAX,GADgB,CACC;AAClB;;AACD,MAAI,QAAQ,GAAG,CAAf,EAAkB;AAChB,eAAW,CAAC,CAAD,CAAX,GADgB,CACC;AAClB;;AACD,SAAO,WAAW,CAAC,KAAK,GAAG,CAAT,CAAlB;AACD;;AACD,SACgB,wBADhB,CACyC,IADzC,EACsD;AACpD,MAAI,WAAW,GAAG,CAAlB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAAI,CAAC,KAAzB,EAAgC,CAAC,EAAjC,EAAqC;AACnC,eAAW,IAAI,oBAAoB,CAAC,CAAD,EAAI,IAAI,CAAC,IAAT,CAAnC;AACD;;AACD,SAAO,WAAW,GAAG,IAAI,CAAC,GAA1B;AACD;;AACD,SACgB,cADhB,CAC+B,IAD/B,EAC8C,GAD9C,EACyD;AACvD,MAAI,KAAK,GAAG,GAAG,IAAI,CAAnB;;AACA,MAAI,CAAC,KAAL,EAAY;AACV,OAAG,GAAG,CAAC,GAAP;AACD;;AACD,SAAO,GAAG,GAAG,CAAb,EAAgB;AACd,QAAI,KAAJ,EAAW;AACT,UAAI,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,IAAN,CAAf,GAA6B,IAAI,CAAC,KAA5C,EAAmD;AACjD,WAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAN,CAAf,GAA6B,IAAI,CAAC,KAAlC,GAA0C,CAAjD;AACA,YAAI,CAAC,IAAL;AACA,YAAI,CAAC,KAAL,GAAa,CAAb;AACD,OAJD,MAIO;AACL,YAAI,CAAC,KAAL,IAAc,GAAd;AACA,WAAG,GAAG,CAAN;AACD;AACF,KATD,MASO;AACL,UAAI,GAAG,IAAI,IAAI,CAAC,KAAhB,EAAuB;AACrB,YAAI,CAAC,IAAL;AACA,WAAG,IAAI,IAAI,CAAC,KAAZ;AACA,YAAI,CAAC,KAAL,GAAa,eAAe,CAAC,IAAI,CAAC,IAAN,CAA5B;AACD,OAJD,MAIO;AACL,YAAI,CAAC,KAAL,IAAc,GAAd;AACA,WAAG,GAAG,CAAN;AACD;AACF;AACF;;AACD,SAAO,IAAP;AACD;;AACD,SACgB,YADhB,CAC6B,IAD7B,EAC4C,GAD5C,EACuD;AACrD,MAAI,KAAK,GAAG,GAAG,IAAI,CAAnB;;AACA,MAAI,CAAC,KAAL,EAAY;AACV,OAAG,GAAG,CAAC,GAAP;AACD;;AACD,SAAO,GAAG,GAAG,CAAb,EAAgB;AACd,QAAI,KAAJ,EAAW;AACT,UAAI,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAN,CAAnB,GAAiC,wBAAwB,CAAC,IAAD,CAAnE,EAA2E;AACzE,WAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAN,CAAnB,GAAiC,wBAAwB,CAAC,IAAD,CAAzD,GAAkE,CAAzE;AACA,YAAI,CAAC,IAAL;AACA,YAAI,CAAC,KAAL,GAAa,CAAb;AACA,YAAI,CAAC,GAAL,GAAW,CAAX;AACD,OALD,MAKO,IAAI,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAApB,GAA8C,IAAI,CAAC,GAA7D,EAAkE;AACvE,WAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAApB,GAA8C,IAAI,CAAC,GAAnD,GAAyD,CAAhE;AACA,YAAI,CAAC,KAAL;AACA,YAAI,CAAC,GAAL,GAAW,CAAX;AACD,OAJM,MAIA;AACL,YAAI,CAAC,GAAL,IAAY,GAAZ;AACA,WAAG,GAAG,CAAN;AACD;AACF,KAdD,MAcO;AACL,UAAI,GAAG,IAAI,IAAI,CAAC,GAAhB,EAAqB;AACnB,WAAG,IAAI,IAAI,CAAC,GAAZ;AACA,YAAI,CAAC,KAAL;;AACA,YAAI,IAAI,CAAC,KAAL,KAAe,CAAnB,EAAsB;AACpB,cAAI,CAAC,IAAL;AACA,cAAI,CAAC,KAAL,GAAa,eAAe,CAAC,IAAI,CAAC,IAAN,CAA5B;AACD;;AACD,YAAI,CAAC,GAAL,GAAW,oBAAoB,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAA/B;AACD,OARD,MAQO;AACL,YAAI,CAAC,GAAL,IAAY,GAAZ;AACA,WAAG,GAAG,CAAN;AACD;AACF;AACF;;AACD,SAAO,IAAP;AACD;AAED;AACA;AACA;AACA;;;AACA,SAAgBC,eAAhB,CAA8B,KAA9B,EAAyC;AACvC,MAAM,IAAI,GAAG,IAAI,IAAJ,CAAS,KAAT,CAAb;AACA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAL,EAAd;AAAA,MAAkC,MAAM,GAAG,IAAI,CAAC,QAAL,EAA3C;AAAA,MAA4D,IAAI,GAAG,IAAI,CAAC,OAAL,EAAnE;AACA,MAAI,SAAS,GAAGF,iBAAe,GAAG,CAAlBA,GAAsB,OAAO,KAAK,GAAG,CAAf,CAAtBA,GAA0C,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,CAAzB,CAA1CA,GACZ,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,GAAzB,CADYA,GACoB,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,GAAzB,CADpBA,GAEZ,IAAI,CAAC,KAAL,CAAW,CAAC,OAAO,MAAM,GAAG,CAAhB,IAAqB,GAAtB,IAA6B,EAA7B,IAAmC,MAAM,GAAG,CAAT,IAAc,CAAd,GAAkB,CAAlB,GAAsBC,qBAAmB,CAAC,KAAD,CAAnBA,GAA6B,CAAC,CAA9BA,GAAkC,CAAC,CAA5F,IAAiG,IAA5G,CAFJ;AAGA,WAAS,GAAG,IAAI,CAAC,KAAL,CAAW,SAAS,GAAG,GAAvB,CAAZ;AACA,MAAI,iBAAiB,GAAG,SAAS,GAAG,MAApC;AACA,MAAI,mBAAmB,GAAG,IAAI,CAAC,KAAL,CAAW,iBAAiB,GAAG,aAApB,GAAoC,eAA/C,CAA1B;AACA,MAAI,KAAK,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,mBAAmB,GAAG,EAAtB,GAA2B,GAA5B,IAAmC,GAA9C,IAAqD,CAAjE;AACA,MAAI,kBAAkB,GAAG,sBAAsB,CAAC,KAAD,CAA/C;AACA,MAAI,SAAS,GAAG,iBAAiB,GAAG,kBAApC;;AACA,SAAO,SAAS,GAAG,CAAnB,EAAsB;AACpB,SAAK;AACL,sBAAkB,GAAG,sBAAsB,CAAC,KAAD,CAA3C;AACA,aAAS,GAAG,iBAAiB,GAAG,kBAAhC;AACD;;AACD,MAAI,MAAM,GAAG,CAAb;AACA,MAAI,IAAI,GAAG,SAAX;;AACA,SAAO,IAAI,GAAG,oBAAoB,CAAC,MAAD,EAAS,KAAT,CAAlC,EAAmD;AACjD,QAAI,IAAI,oBAAoB,CAAC,MAAD,EAAS,KAAT,CAA5B;AACA,UAAM;AACP;;AACD,SAAO,IAAI,OAAJ,CAAY,KAAZ,EAAmB,MAAnB,EAA2B,IAA3B,CAAP;AACD;AAED;AACA;AACA;AACA;;;AACA,SAAgBE,aAAhB,CAA4B,UAA5B,EAA+D;AAC7D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAzB;AACA,MAAM,MAAM,GAAG,UAAU,CAAC,KAA1B;AACA,MAAM,IAAI,GAAG,UAAU,CAAC,GAAxB;AACA,MAAI,IAAI,GAAG,sBAAsB,CAAC,KAAD,CAAjC;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAApB,EAA4B,CAAC,EAA7B,EAAiC;AAC/B,QAAI,IAAI,oBAAoB,CAAC,CAAD,EAAI,KAAJ,CAA5B;AACD;;AACD,MAAI,IAAI,IAAR;AACA,MAAI,QAAQ,GAAG,IAAI,GAAG,wBAAtB;AACA,MAAI,KAAK,GAAG,QAAQ,IAAI,CAAxB;;AACA,MAAI,CAAC,KAAL,EAAY;AACV,YAAQ,GAAG,CAAC,QAAZ;AACD;;AACD,MAAI,KAAK,GAAG,IAAZ;AACA,MAAI,MAAM,GAAG,CAAb;AACA,MAAI,IAAI,GAAG,CAAX;;AACA,SAAO,QAAQ,GAAG,CAAlB,EAAqB;AACnB,QAAI,KAAJ,EAAW;AACT,UAAI,QAAQ,KAAKF,qBAAmB,CAAC,KAAD,CAAnBA,GAA6B,GAA7BA,GAAmC,GAAxC,CAAZ,EAA0D;AACxD,gBAAQ,IAAIA,qBAAmB,CAAC,KAAD,CAAnBA,GAA6B,GAA7BA,GAAmC,GAA/C;AACA,aAAK;AACN,OAHD,MAGO,IAAI,QAAQ,IAAI,uBAAuB,CAAC,MAAD,EAAS,KAAT,CAAvC,EAAwD;AAC7D,gBAAQ,IAAI,uBAAuB,CAAC,MAAD,EAAS,KAAT,CAAnC;AACA,cAAM;AACP,OAHM,MAGA;AACL,YAAI,IAAI,QAAR;AACA,gBAAQ,GAAG,CAAX;AACD;AACF,KAXD,MAWO;AACL,UAAI,QAAQ,KAAKA,qBAAmB,CAAC,KAAK,GAAG,CAAT,CAAnBA,GAAiC,GAAjCA,GAAuC,GAA5C,CAAZ,EAA8D;AAC5D,gBAAQ,IAAIA,qBAAmB,CAAC,KAAK,GAAG,CAAT,CAAnBA,GAAiC,GAAjCA,GAAuC,GAAnD;AACA,aAAK;AACN,OAHD,MAGO;AACL,YAAI,MAAM,GAAG,CAAb,EAAgB;AACd,gBAAM;AACP,SAFD,MAEO;AACL,gBAAM,GAAG,EAAT;AACA,eAAK;AACN;;AACD,YAAI,QAAQ,IAAI,uBAAuB,CAAC,MAAD,EAAS,KAAT,CAAvC,EAAwD;AACtD,kBAAQ,IAAI,uBAAuB,CAAC,MAAD,EAAS,KAAT,CAAnC;AACD,SAFD,MAEO;AACL,cAAI,GAAG,uBAAuB,CAAC,MAAD,EAAS,KAAT,CAAvB,GAAyC,QAAzC,GAAoD,CAA3D;AACA,kBAAQ,GAAG,CAAX;AACD;AACF;AACF;AACF;;AACD,SAAO,IAAI,IAAJ,CAAS,KAAT,EAAgB,MAAM,GAAG,CAAzB,EAA4B,IAA5B,CAAP;AACD;;AACD,SACgB,cADhB,CAC+B,QAD/B,EAC+C;AAC7C,MAAI,CAAC,QAAL,EAAe;AACb,WAAO,EAAP;AACD;;AACD,MAAM,SAAS,GAAG,CAAC,EAAD,EAAK,QAAL,EAAe,QAAf,EAAyB,QAAzB,EAAmC,QAAnC,EAA6C,QAA7C,EAAuD,QAAvD,EAAiE,QAAjE,EAA2E,QAA3E,EAAqF,QAArF,CAAlB;AACA,MAAM,WAAW,GAAG,CAClB,QADkB,EACR,cADQ,EACQ,cADR,EACwB,cADxB,EACwC,cADxC,EACwD,cADxD,EACwE,cADxE,EAElB,cAFkB,EAEF,cAFE,EAEc,cAFd,CAApB;AAIA,MAAM,WAAW,GAAG,CAAC,EAAD,EAAK,EAAL,EAAS,QAAT,EAAmB,QAAnB,EAA6B,QAA7B,EAAuC,QAAvC,EAAiD,QAAjD,EAA2D,QAA3D,EAAqE,QAArE,EAA+E,QAA/E,CAApB;AACA,MAAM,aAAa,GAAG,CACpB,EADoB,EAChB,QADgB,EACN,QADM,EACI,QADJ,EACc,QADd,EACwB,cADxB,EACwC,cADxC,EACwD,cADxD,EACwE,cADxE,EAEpB,oBAFoB,CAAtB;AAIA,MAAM,eAAe,GAAG,CACtB,EADsB,EAClB,QADkB,EACR,QADQ,EACE,cADF,EACkB,cADlB,EACkC,QADlC,EAC4C,cAD5C,EAC4D,cAD5D,EAEtB,oBAFsB,EAEA,oBAFA,CAAxB;AAIA,MAAM,MAAM,GAAG,QAAf;AAAA,MAAyB,QAAQ,GAAG,QAApC;AACA,MAAI,GAAG,GAAG,CAAV;AACA,MAAI,MAAM,GAAa,EAAvB;AACA,MAAI,IAAI,GAAG,CAAX;;AACA,SAAO,QAAQ,GAAG,CAAlB,EAAqB;AACnB,QAAI,CAAC,GAAG,QAAQ,GAAG,EAAnB;;AACA,QAAI,IAAI,KAAK,CAAb,EAAgB;AACd,SAAG,GAAG,CAAN;AACD,KAFD,MAEO,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,UAAI,CAAC,KAAK,CAAV,EAAa;AACX,cAAM,CAAC,OAAP,CAAe,WAAW,CAAC,CAAD,CAA1B,EAA+B,SAAS,CAAC,GAAD,CAAxC;AACD,OAFD,MAEO;AACL,cAAM,CAAC,OAAP,CAAe,WAAW,CAAC,GAAD,CAA1B;AACD;AACF,KANM,MAMA,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,YAAM,CAAC,OAAP,CAAe,aAAa,CAAC,CAAD,CAA5B;AACD,KAFM,MAEA;AACL,UAAI,CAAC,KAAK,CAAV,EAAa;AACX,cAAM,CAAC,OAAP,CAAe,eAAe,CAAC,CAAD,CAA9B,EAAmC,MAAnC,EAA2C,GAA3C;AACD;;AACD;AACD;;AACD,YAAQ,GAAG,IAAI,CAAC,KAAL,CAAW,QAAQ,GAAG,EAAtB,CAAX;;AACA,QAAI,IAAI,KAAK,CAAT,IAAc,QAAQ,KAAK,CAA/B,EAAkC;AAChC,YAAM,CAAC,OAAP,CAAe,SAAS,CAAC,CAAD,CAAxB;AACD;;AACD,QAAI;AACL;;AACD,QAAM,GAAG,MAAM,CAAC,IAAP,CAAY,EAAZ,EAAgB,KAAhB,CAAsB,EAAtB,CAAT;;AACA,MAAI,MAAM,CAAC,MAAP,KAAkB,CAAtB,EAAyB;AACvB,UAAM,CAAC,IAAP,CAAY,MAAZ;AACD,GAFD,MAEO,IAAI,MAAM,CAAC,MAAP,GAAgB,CAApB,EAAuB;AAC5B,UAAM,CAAC,MAAP,CAAc,MAAM,CAAC,MAAP,GAAgB,CAA9B,EAAiC,CAAjC,EAAoC,QAApC;AACD;;AACD,SAAO,MAAM,CAAC,IAAP,CAAY,EAAZ,CAAP;AACF;AC3RA;AACA;AACA;;;IAEa,iB;;;;;;;;;;;;;qCACG;AAAK,aAAO,CAAP;AAAW;;;8BAEpB,I,EAAa;AACrB,UAAI,IAAI,IAAI,gBAAgB,CAAC,IAAD,CAA5B,EAAoC;AAClC,eAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,EAA5B,EAAgC,EAAhC,EAAoC,EAApC,EAAwC,EAAxC,CAAP;AACD,OAFD,MAEO;AACL,eAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,EAA5B,EAAgC,EAAhC,EAAoC,EAApC,CAAP;AACD;AACF;;;uCAEe;AAAK,aAAO,CAAP;AAAW;;;4BAExB,I,EAAqB;AAC3B,UAAI,IAAI,IAAI,IAAZ,EAAkB;AAChB,YAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAN,CAAR,IAAuB,QAAQ,CAAC,IAAI,CAAC,KAAN,CAA/B,IAA+C,QAAQ,CAAC,IAAI,CAAC,GAAN,CAA/D;AACA,SAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAL,GAAa,CAAlB,IAAuB,IAAI,CAAC,KAAL,KAAe,gBAAgB,CAAC,IAAI,CAAC,IAAN,CAAhB,GAA8B,EAA9B,GAAmC,EAAlD,CAA3B;AACA,SAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAL,GAAW,CAAhB,IAAqB,IAAI,CAAC,GAAL,IAAY,oBAAoB,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAAzD;AACA,eAAO,CAAC,IAAI,CAAC,KAAK,CAACE,aAAW,CAAC,IAAD,CAAXA,CAAkB,OAAlBA,EAAD,CAAlB;AACD;;AAED,aAAO,KAAP;AACD;;;4BAEO,I,EAAkD;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AACxD,UAAI,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,IAAI,CAAC,GAAxC,CAAP;;AAEA,cAAQ,MAAR;AACE,aAAK,GAAL;AACE,cAAI,CAAC,IAAL,IAAa,MAAb;AACA,cAAI,CAAC,KAAL,GAAa,CAAb;AACA,cAAI,CAAC,GAAL,GAAW,CAAX;AACA,iBAAO,IAAP;;AACF,aAAK,GAAL;AACE,cAAI,GAAG,cAAc,CAAC,IAAD,EAAO,MAAP,CAArB;AACA,cAAI,CAAC,GAAL,GAAW,CAAX;AACA,iBAAO,IAAP;;AACF,aAAK,GAAL;AACE,iBAAO,YAAY,CAAC,IAAD,EAAO,MAAP,CAAnB;;AACF;AACE,iBAAO,IAAP;AAbJ;AAeD;;;4BAEO,I,EAAkD;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AAAI,aAAO,KAAK,OAAL,CAAa,IAAb,EAAmB,MAAnB,EAA2B,CAAC,MAA5B,CAAP;AAA6C;;;+BAEhG,I,EAAa;AACtB,UAAM,GAAG,GAAGA,aAAW,CAAC,IAAD,CAAXA,CAAkB,MAAlBA,EAAZ,CADsB,CAE1B;;AACI,aAAO,GAAG,KAAK,CAAR,GAAY,CAAZ,GAAgB,GAAvB;AACD;;;kCAEa,I,EAA0B,c,EAAsB;AAC5D,UAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAL,GAAc,CAAf,CAAjB;AACA,aAAO,IAAI,CAAC,IAAL,CAAU,wBAAwB,CAAC,IAAD,CAAxB,GAAiC,CAA3C,CAAP;AACD;;;+BAEO;AAAc,aAAOD,eAAa,CAAC,IAAI,IAAJ,EAAD,CAApB;AAAmC;AAC3D;AAEC;AACE;;;;gCACW,I,EAAa;AAAa,aAAO,UAAU,CAACC,aAAW,CAAC,IAAD,CAAZ,CAAjB;AAAuC;AAC/E;AAEC;AACE;;;;kCACa,I,EAAa;AAAa,aAAOD,eAAa,CAAC,QAAQ,CAAC,IAAD,CAAT,CAApB;AAAuC;;;;EAnE1C,W;;kCADtC,yB,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACT,C;;ACZF,IAAM,QAAQ,GAAG,CAAC,KAAD,EAAQ,OAAR,EAAiB,OAAjB,EAA0B,OAA1B,EAAmC,MAAnC,EAA2C,KAA3C,EAAkD,OAAlD,CAAjB;AACA,IAAM,MAAM,GAAG,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,EAAyB,KAAzB,EAAgC,KAAhC,EAAuC,KAAvC,EAA8C,MAA9C,EAAsD,MAAtD,EAA8D,MAA9D,EAAsE,MAAtE,EAA8E,IAA9E,EAAoF,MAApF,CAAf;AACA,IAAM,WAAW,GACb,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,EAAyB,KAAzB,EAAgC,KAAhC,EAAuC,QAAvC,EAAiD,QAAjD,EAA2D,MAA3D,EAAmE,MAAnE,EAA2E,MAA3E,EAAmF,MAAnF,EAA2F,IAA3F,EAAiG,MAAjG,CADJ;AAGA;AACA;AACA;;IAEa,uB;;;;;;;;;;;;;sCACO,K,EAAe,I,EAAa;AAAY,aAAO,KAAK,gBAAL,CAAsB,KAAtB,EAA6B,IAA7B,CAAP;AAA4C;;;qCAErF,K,EAAe,I,EAAa;AAC3C,aAAO,gBAAgB,CAAC,IAAD,CAAhB,GAAyB,WAAW,CAAC,KAAK,GAAG,CAAT,CAAX,IAA0B,EAAnD,GAAwD,MAAM,CAAC,KAAK,GAAG,CAAT,CAAN,IAAqB,EAApF;AACD;;;wCAEmB,O,EAAe;AAAY,aAAO,QAAQ,CAAC,OAAO,GAAG,CAAX,CAAR,IAAyB,EAAhC;AAAqC;;;oCAEpE,I,EAAmB;AACjC,uBAAU,cAAc,CAAC,IAAI,CAAC,GAAN,CAAxB,cAAsC,KAAK,gBAAL,CAAsB,IAAI,CAAC,KAA3B,EAAkC,IAAI,CAAC,IAAvC,CAAtC,cAAsF,cAAc,CAAC,IAAI,CAAC,IAAN,CAApG;AACD;;;mCAEc,I,EAAmB;AAAY,aAAO,cAAc,CAAC,IAAI,CAAC,GAAN,CAArB;AAAkC;;;oCAEhE,U,EAAkB;AAAY,aAAO,cAAc,CAAC,UAAD,CAArB;AAAoC;;;oCAElE,I,EAAY;AAAY,aAAO,cAAc,CAAC,IAAD,CAArB;AAA8B;;;;EAjB3B,iB;;wCAD5C,+B,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACT,C;ACVF;AACA;AACA;AACA;;;IAEa,oB;;;;;;;;;;;;;;AACb;AACE;AACE;8BACQ,I,EAAiB;AACzB,aAAQ,IAAI,YAAY,IAAhB,IAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAL,EAAD,CAA/B,GAAmD,KAAK,eAAL,CAAqB,IAArB,CAAnD,GAAgF,IAAvF;AACD;AACH;AAEC;AACE;;;;4BACO,I,EAA0B;AAChC,aAAO,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAN,CAAjB,IAAgC,SAAS,CAAC,IAAI,CAAC,KAAN,CAAzC,IAAyD,SAAS,CAAC,IAAI,CAAC,GAAN,CAAlE,GAA+E,KAAK,aAAL,CAAmB,IAAnB,CAA/E,GAC+E,IADtF;AAED;;;oCAEyB,I,EAAU;AAClC,aAAO;AAAC,YAAI,EAAE,IAAI,CAAC,WAAL,EAAP;AAA2B,aAAK,EAAE,IAAI,CAAC,QAAL,KAAkB,CAApD;AAAuD,WAAG,EAAE,IAAI,CAAC,OAAL;AAA5D,OAAP;AACD;;;kCAEuB,I,EAAmB;AACzC,UAAM,MAAM,GAAG,IAAI,IAAJ,CAAS,IAAI,CAAC,IAAd,EAAoB,IAAI,CAAC,KAAL,GAAa,CAAjC,EAAoC,IAAI,CAAC,GAAzC,EAA8C,EAA9C,CAAf,CADyC,CAE7C;;AACI,YAAM,CAAC,WAAP,CAAmB,IAAI,CAAC,IAAxB;AACA,aAAO,MAAP;AACD;;;;EAzBuC,c;;qCADzC,4B,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACT,C;ACNF;AACA;AACA;AACA;AACA;;;IAEa,uB;;;;;;;;;;;;;oCACe,I,EAAU;AAClC,aAAO;AAAC,YAAI,EAAE,IAAI,CAAC,cAAL,EAAP;AAA8B,aAAK,EAAE,IAAI,CAAC,WAAL,KAAqB,CAA1D;AAA6D,WAAG,EAAE,IAAI,CAAC,UAAL;AAAlE,OAAP;AACD;;;kCAEuB,I,EAAmB;AACzC,UAAM,MAAM,GAAG,IAAI,IAAJ,CAAS,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,IAAd,EAAoB,IAAI,CAAC,KAAL,GAAa,CAAjC,EAAoC,IAAI,CAAC,GAAzC,CAAT,CAAf,CADyC,CAE7C;;AACI,YAAM,CAAC,cAAP,CAAsB,IAAI,CAAC,IAA3B;AACA,aAAO,MAAP;AACD;;;;EAV0C,oB;;wCAD5C,+B,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACT,C;;ICgCW,mB;;;;0FATZ;AAAA,MAAQ;AAAR,C;AACa,mBAAE,KAAF,GAAE,+DACG;AAAA,oBAAoB,2BAApB,CAA0C,CAA1C,EAA0C;AAAA,gBAAuB,CAAE,uBAAzB;AAAsD,GAAhG;AAAgG,4EAC/G,2DAD+G;AAAhG,CADH,CAAF;;;GAE8B,qBACzC,WADyC,IACzC,S,KACS,iEAAe,mBAAf,EAAqC;AAAA,gBAAoB,0BAAmB;AAAA,6BAC7E,oBAD6E,EAC9D,kBAD8D,EAClD,uBADkD,EAEpE,6BAFoE,EAGvF,oBAHuF,EAGvF,kBAHuF;AAGvF,KAHgD;AAGhD;AAAA;AAAA,KAHgD;AAGhD;AAAA;AAAA;AAHgD,GAArC,C;AAGX,C;;;;;;;;;;;;;;AACI,C;ACvCL;AACA;AACA;AACA;AACA;AACA;;;IAEa,iB,GADb;AAAA;;AAEE,mBAA4C,IAA5C;AACA,mBAA4B,CAAC,aAAD,EAAgB,cAAhB,EAAgC,UAAhC,EAA4C,WAA5C,CAA5B;AAED,C;;;;AACA,C;;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;kEAND,iB,EAAY;AAAkB,QAAC,0DAAnB;;;;AAAA,I;;;AACR,C;;ICqBQ,S;;;;0BADZ,iB,CAAA,C,EAAS;AAAA,SAAC,KAAC,KAAQ,SAAT,GAAD;AAAsB,C;;;;;;;;;;;;;;;AAC3B,C;AAGL;AACA;AACA;AACA;AACA;AACA;;;IAEa,e;AAYX,2BAAmB,UAAnB,EAAsD;AAAA;;AAAnC;AATX,qBAAY,KAAZ;AASkD;;;;sBAN7C,K,EAAc;AACzB,WAAK,SAAL,GAAsB,KAAK,KAAK,EAAV,IAAgB,KAAK,KAAK,IAAhD,CADyB,CAC4B;AACtD,K;wBAEW;AAAc,aAAO,KAAK,SAAZ;AAAwB;;;;;;gCAXnD,uB,CAAS,C,EAAA;AAAC,SAAC,KAAU,oBAAV,EAA+B,gEAAgB,wDAAhB,CAA/B,CAAD;AAAiE,C;;AAAkB,eAAY,CAAC,IAAb,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;GAAA;;cACvG;;AADuG,EAAd;;AACxF;AAAA,UACU;AAAA,UArCd,wDAAU;AAqCI,GADV;AAAA;;AAnCF;AAEK;AAAA,UAsCN,mDAAK;AAtCC;AAFL;;;;;;;;;;;;;;;;;;;;;;AAyCD,C;AASH;AACA;AACA;;;IAiBa,e,GAOX,yBAA0D,QAA1D,EAAoE,WAApE,EAAwG;AAAA;;AAA9C;AAL1D,mBAA8B,QAA9B;AACA,gBAAS,KAAT;AAKE,OAAK,aAAL,GAAqB,WAAW,CAAC,aAAjC;AACD,C;;gCAzBF,uB,CAAS,C,EAAA;AAAC,oCACC,gEAAmB,gEACzB;AAAA,WAAE,WAAF;AAAA,IADM,CADD,EAEH,gEACmB,wDADnB,CAFG;AAGwB,C;;AAC/B,uBAAgB,gEAAmB;AAAA;AACnC,aAAoB,CAAE,wBAAW,EAAX,CAAF,CADe;AACF,gBACjC,WAAqB,8BAArB,CAAiD,EAAjD,EAAiD,GAAjD,EAAiD,QAAjD,EACA;AAAA;AAAuB,6EAA4B,eAA5B,EACvB,KADuB;;;AACP,QAAE,MAAF,EAAE;;;AAA4B,mEAC9C,gEAD8C,MAC7B,gBAA4B,EADC;;AAE9C,GANmC;AAMnC,aANmC;AAMnC,cAAmB,wCAA4B,EAA5B,EACnB,GADmB,EACnB;AAAA,aAAiB,CAAjB,EAAmB;+DAA4B,iB,EAAA,SAC/C,kDAD+C,CACF,MADE,EACF;AAC7C,4BAAqB,SAArB,CAAuB,MAAvB;AAAuB,O,EAAA,mB,EAA4B,SACpD,oDADoD,CAEtD,MAFsD,EAEtD;AAAA;AAAA,O,EAAA,c,EAAA;AAAA;AAAA,O,EAAA,a,EAAA;AAAA;AAAA,O,EAAA,e,EAAA;AAAA;AAAA,O,EAAA,e,EAAA;AAAA;AAAA,O,EAAA,a,EAAA;AAAA;AAAA,O,EAAA,mB,EAAA;AAAA;AAAA,O;;;;;;;AACI;AAZkC,CAAnB,CAAhB;;AAYE;AAAA,UACU;AAAA;AAAA;AAAA,YAMD,oDANC;AAMK,aAAC,gEAAU,CAAC;AAAA,eAAM,WAAN;AAAA,OAAD,CAAX;AANL;AAAA,GADV,EAOsD;AAAA,UA7E1D,wDAAU;AA6EgD,GAPtD;AAAA;;AArEF;AAEK;AAAA,UAwEN,6DAxEM;AAwES,WAAC,eAAD;AAxET;AAFL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0EsC,C;AAO1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAGa,iB,GAEX,2BAA0D,QAA1D,EAAoE,WAApE,EAAwG;AAAA;;AAA9C;AACxD,OAAK,aAAL,GAAqB,WAAW,CAAC,aAAjC;AACD,C;;kCANF,yB,CAAS,C,EACN;AAAC,cAAU,sBAAV,EAAiC,gEAAgB,gEAAmB;AAAA;AAAA,IAAnC,CAAjC,EAA4F,gEAAqB,wDAArB,CAA5F;AAAiH,C;;;;;;;;;;;AACjH;;;AAAC;AAAA,UACU;AAAA;AAAA;AAAA,YACD,oDADC;AACK,aAAC,gEAAU,CAAC;AAAA,eAAM,WAAN;AAAA,OAAD,CAAX;AADL;AAAA,GADV,EAEsD;AAAA,UA/F1D,wDAAU;AA+FgD,GAFtD;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA5FH,C;AAmGH;AACA;AACA;AACA;AACA;;;IAgBa,iB;;;;;AACX,6BAAmD,QAAnD,EAA6D,UAA7D,EAAgG;AAAA;;AAAA,+BACxF,QADwF,EAC9E,UAD8E;AAE/F;;;EAHoC,iB;;kCAftC,yB,CAAS,C,EAAC;AAAA,mBACT,iBADS,EACC,gEAAqB,gEACzB;AAAA;AAAA,IADI,CADD,EAGP,gEAAS,wDAAT,CAHO;AAGmB,C;;kBACJ,I,GAAE,gEAAmB;AAAA;AAChC,mBAAmB,mBAAnB,EAAmB,EAAnB,EADgC;AAE3C,iBAAmB,iBAAnB,CAF2C;AAEtB,YAA4B,CAFN;AAEM,yBACjD,8BADiD,CAC1B,EAD0B,EAC1B,GAD0B,EAC1B;AAAA,QAA4B,MAA5B,EAA4B;AACnD,wEAAkB,sDAClB;AAAA,eAAiB,qBAAjB;AAAiB,OADjB,EACiB,iBADjB,EAC6C,SAC7C,oDAD6C,CACA,MADA,EACA;AAC7C,4BAAqB,SAArB,CAAuB,MAAvB;AAAuB,OAHvB,EAGuB,mBAHvB,EAGmD,SACpD,sDADoD,CAEd,MAFc,EAEZ;AAAA,eAAa,aAAW,SAAX,CAAiB,MAAjB,CAAb;AAAgD,OALvF,EAKyF,cALzF,EAMH;AAAA;AAAA,OANG,EAMH,aANG,EAMH;AAAA;AAAA,OANG,EAMH,aANG,EAMH;AAAA;AAAA,OANG,EAMH,mBANG,EAMH;AAAA;AAAA,OANG;;;;;;GAJ2C;;;;;;;AAAA,CAAnB,C;;AAWtB;AAAA,UAA2C;AAAA;AAAA;AAAA,YAClC,oDADkC;AAC5B,aAAC,gEAAU,CAAC;AAAA,eAAM,WAAN;AAAA,OAAD,CAAX;AAD4B;AAAA,GAA3C,EACsD;AAAA,UAzH1D,wDAAU;AAyHgD,GADtD;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAvHH,C;AA6HH;AACA;AACA;;;IAEa,W;AAmEX,uBACY,eADZ,EACgD,MADhD,EACqG,SADrG,EAEY,OAFZ,EAEqC,WAFrC,EAEmF,SAFnF,EAGgB,SAHhB,EAGoC;AAAA;;AAAA;;AAFxB;AAAyF;AACzF;AAAyB;AAA8C;AAlE3E,oBAAW,IAAI,6CAAJ,EAAX;AAEA,0BAAqC,IAArC;AACV;AACW;AACT;;AAee,iBAAQ,KAAR;AACjB;AAEK;AAEc;AAAW;AAA6C;AAC9C;AAA+C;;AAoChE,sBAAa,IAAI,0DAAJ,EAAb;AAMR,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AAEA,SAAK,OAAL,GAAe,SAAS,GAAG,QAAH,GAAc,SAAtC;AAEA,SAAK,iBAAL,GAAyB,OAAO,CAAC,QAAR,CAAiB,SAAjB,CAA2B;AAAQ,aAAI,CAAC,aAAL;AAAuB,KAA1D,CAAzB;AACD;;;;yCAEiB;AAAA;;AAChB,WAAK,OAAL,CAAa,QAAb,CAAsB,IAAtB,CAA2B,4DAAI,CAAC,CAAD,CAA/B,EAAoC,SAApC,CAA8C;AAC5C,eAAI,CAAC,sBAAL;;AACA,YAAI,OAAI,CAAC,KAAT,EAAgB;AACd,iBAAI,CAAC,iBAAL;AACD;AACF,OALD;AAMD;;;gCAEW,O,EAAsB;AAChC,UAAI,OAAO,CAAC,SAAR,IAAqB,KAAK,KAA9B,EAAqC;AACnC,aAAK,eAAL,CAAqB,KAAK,SAA1B;AACD;;AAED,UAAI,OAAO,CAAC,SAAR,IAAqB,CAAC,OAAO,CAAC,SAAR,CAAkB,aAA5C,EAA2D;AACzD,aAAK,sBAAL;AACD;AACF;AACH;AAEC;AACE;;;;6BACK;AAAc,aAAO,KAAK,KAAZ;AAAoB;AAC1C;AAEC;AACE;;;;2BACG;AACF,UAAI,CAAC,KAAK,KAAV,EAAiB;AACf,aAAK,KAAL,GAAa,IAAb;;AACA,aAAK,eAAL,CAAqB,KAAK,SAA1B;;AACA,aAAK,UAAL,CAAgB,IAAhB,CAAqB,IAArB;;AACA,aAAK,iBAAL;;AACA,YAAI,KAAK,OAAT,EAAkB;AAChB,eAAK,OAAL,CAAa,aAAb,CAA2B,KAA3B;AACD;AACF;AACF;;;wCAEwB;AAAA;;AACvB,kBAAY,CACR,KAAK,OADG,EACM,KAAK,SADX,EACsB,KAAK,SAD3B,EAER,UAAC,MAAD,EAAe;AACb,eAAI,CAAC,KAAL;;AACA,YAAI,MAAM;AAAA;AAAV,UAA8B;AAC5B,mBAAI,CAAC,OAAL,CAAa,aAAb,CAA2B,KAA3B;AACD;AACF,OAPO,EAQR,KAAK,QARG,EAQO,KAAK,KAAL,GAAa,CAAC,KAAK,KAAL,CAAW,aAAZ,CAAb,GAA0C,EARjD,EAQqD,KAAK,OAAL,GAAe,CAAC,KAAK,OAAL,CAAa,aAAd,CAAf,GAA8C,EARnG,EASR,kCATQ,CAAZ;AAUD;AACH;AAEC;AACE;;;;4BACI;AACH,UAAI,KAAK,KAAT,EAAgB;AACd,aAAK,KAAL,GAAa,KAAb;;AACA,aAAK,eAAL;;AACA,aAAK,QAAL,CAAc,IAAd;;AACA,aAAK,UAAL,CAAgB,IAAhB,CAAqB,KAArB;;AACA,aAAK,eAAL,CAAqB,YAArB;AACD;AACF;AACH;AAEC;AACE;;;;6BACK;AACJ,UAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,aAAK,KAAL;AACD,OAFD,MAEO;AACL,aAAK,IAAL;AACD;AACF;;;kCAEU;AACT,WAAK,eAAL;;AAEA,WAAK,QAAL,CAAc,IAAd;;AACA,WAAK,iBAAL,CAAuB,WAAvB;AACD;;;8BAES,K,EAAoB;AAAA;;AAChC;AACI,UAAM,GAAG,GAAG,KAAK,CAAC,KAAlB;;AACA,UAAM,YAAY,GAAG,KAAK,gBAAL,EAArB;;AAEA,UAAI,QAAQ,GAAG,CAAC,CAAhB;AACA,UAAI,WAAW,GAAuB,IAAtC;;AACA,UAAM,iBAAiB,GAAG,KAAK,kBAAL,CAAwB,KAAxB,CAA1B;;AAEA,UAAI,CAAC,iBAAD,IAAsB,YAAY,CAAC,MAAvC,EAA+C;AAC7C,oBAAY,CAAC,OAAb,CAAqB,UAAC,IAAD,EAAO,KAAP,EAAY;AAC/B,cAAI,IAAI,CAAC,QAAL,CAAc,KAAK,CAAC,MAApB,CAAJ,EAAgD;AAC9C,uBAAW,GAAG,IAAd;AACD;;AACD,cAAI,IAAI,KAAK,OAAI,CAAC,SAAL,CAAe,aAA5B,EAA2C;AACzC,oBAAQ,GAAG,KAAX;AACD;AACF,SAPD;AAQD,OAlB2B,CAmBhC;;;AAEI,UAAI,GAAG,KAAK,GAAG,CAAC,KAAZ,IAAqB,GAAG,KAAK,GAAG,CAAC,KAArC,EAA4C;AAC1C,YAAI,WAAW,KAAK,KAAK,SAAL,KAAmB,IAAnB,IAA2B,KAAK,SAAL,KAAmB,QAAnD,CAAf,EAA6E;AACnF;AACQ;AACQ;AACR,iEAAS,CAAC,WAAD,EAAc,OAAd,CAAT,CAAgC,IAAhC,CAAqC,4DAAI,CAAC,CAAD,CAAzC,EAA8C,SAA9C,CAAwD;AAAA,mBAAM,OAAI,CAAC,KAAL,EAAN;AAAA,WAAxD;AACD;;AACD;AACD;;AAED,UAAI,GAAG,KAAK,GAAG,CAAC,GAAhB,EAAqB;AACnB,YAAI,KAAK,CAAC,MAAN,IAAgB,KAAK,MAAL,EAAhB,IAAiC,KAAK,SAA1C,EAAqD;AACnD,cAAI,KAAK,OAAL,CAAa,aAAb,KAA+B,KAAK,CAAC,MAAzC,EAAiD;AAC/C,gBAAI,KAAK,SAAL,KAAmB,MAAnB,IAA6B,CAAC,KAAK,CAAC,QAAxC,EAAkD;AAC5D;AACY;AACY;AACY;AACY;AACpC,mBAAK,SAAL,CAAe,YAAf,CAA4B,KAAK,KAAL,CAAW,aAAvC,EAAsD,UAAtD,EAAkE,GAAlE;;AACA,mBAAK,KAAL,CAAW,aAAX,CAAyB,KAAzB;;AACA,mBAAK,SAAL,CAAe,eAAf,CAA+B,KAAK,KAAL,CAAW,aAA1C,EAAyD,UAAzD;AACD,aATD,MASO,IAAI,KAAK,CAAC,QAAV,EAAoB;AACzB,mBAAK,KAAL;AACD;;AACD;AACD,WAdD,MAcO,IAAI,KAAK,SAAL,KAAmB,MAAvB,EAA+B;AACpC,gBAAM,iBAAiB,GAAG,KAAK,KAAL,CAAW,aAAX,CAAyB,gBAAzB,CAA0C,2BAA1C,CAA1B;;AACA,gBAAI,KAAK,CAAC,QAAN,IAAkB,KAAK,CAAC,MAAN,KAAiB,iBAAiB,CAAC,CAAD,CAAxD,EAA6D;AAC3D,mBAAK,OAAL,CAAa,aAAb,CAA2B,KAA3B;;AACA,mBAAK,CAAC,cAAN;AACD,aAHD,MAGO,IAAI,CAAC,KAAK,CAAC,QAAP,IAAmB,KAAK,CAAC,MAAN,KAAiB,iBAAiB,CAAC,iBAAiB,CAAC,MAAlB,GAA2B,CAA5B,CAAzD,EAAyF;AAC9F,mBAAK,OAAL,CAAa,aAAb,CAA2B,KAA3B;;AACA,mBAAK,KAAL;AACD;AACF,WATM,MASA;AACL,mEAAS,CAAa,KAAK,CAAC,MAAnB,EAA0C,UAA1C,CAAT,CAA+D,IAA/D,CAAoE,4DAAI,CAAC,CAAD,CAAxE,EAA6E,SAA7E,CAAuF,kBAAgB;AAAA,kBAAd,aAAc,UAAd,aAAc;;AACrG,kBAAI,CAAC,OAAI,CAAC,WAAL,CAAiB,aAAjB,CAA+B,QAA/B,CAAwC,aAAxC,CAAL,EAA4E;AAC1E,uBAAI,CAAC,KAAL;AACD;AACF,aAJD;AAKD;AACF;;AACD;AACD,OAjE2B,CAkEhC;;;AAEI,UAAI,iBAAiB,IAAI,WAAzB,EAAsC;AACpC,aAAK,IAAL;;AAEA,YAAI,YAAY,CAAC,MAAjB,EAAyB;AACvB,kBAAQ,GAAR;AACE,iBAAK,GAAG,CAAC,SAAT;AACE,sBAAQ,GAAG,IAAI,CAAC,GAAL,CAAS,QAAQ,GAAG,CAApB,EAAuB,YAAY,CAAC,MAAb,GAAsB,CAA7C,CAAX;AACA;;AACF,iBAAK,GAAG,CAAC,OAAT;AACE,kBAAI,KAAK,SAAL,MAAoB,QAAQ,KAAK,CAAC,CAAtC,EAAyC;AACvC,wBAAQ,GAAG,YAAY,CAAC,MAAb,GAAsB,CAAjC;AACA;AACD;;AACD,sBAAQ,GAAG,IAAI,CAAC,GAAL,CAAS,QAAQ,GAAG,CAApB,EAAuB,CAAvB,CAAX;AACA;;AACF,iBAAK,GAAG,CAAC,IAAT;AACE,sBAAQ,GAAG,CAAX;AACA;;AACF,iBAAK,GAAG,CAAC,GAAT;AACE,sBAAQ,GAAG,YAAY,CAAC,MAAb,GAAsB,CAAjC;AACA;AAhBJ;;AAkBA,sBAAY,CAAC,QAAD,CAAZ,CAAuB,KAAvB;AACD;;AACD,aAAK,CAAC,cAAN;AACD;AACF;;;gCAEgB;AAAc,aAAO,KAAK,WAAL,CAAiB,aAAjB,CAA+B,SAA/B,CAAyC,QAAzC,CAAkD,QAAlD,CAAP;AAAqE;;;uCAEzE,K,EAAoB;AAC7C,aAAO,KAAK,OAAL,CAAa,aAAb,CAA2B,QAA3B,CAAoC,KAAK,CAAC,MAA1C,CAAP;AACD;;;uCAEuB;AACtB,UAAM,IAAI,GAAG,KAAK,KAAlB;;AACA,UAAI,IAAI,IAAI,IAAZ,EAAkB;AAChB,eAAO,EAAP;AACD;;AACD,aAAO,IAAI,CAAC,SAAL,CAAe,MAAf,CAAsB,cAAI;AAAA,eAAI,CAAC,IAAI,CAAC,QAAV;AAAA,OAA1B,EAA8C,GAA9C,CAAkD,cAAI;AAAA,eAAI,IAAI,CAAC,UAAL,CAAgB,aAApB;AAAA,OAAtD,CAAP;AACD;;;oCAEoB;AACnB,UAAM,IAAI,GAAG,KAAK,KAAlB;;AACA,UAAI,KAAK,MAAL,MAAiB,IAArB,EAA2B;AACzB,aAAK,sBAAL,CACI,KAAK,OAAL,KAAiB,SAAjB,GAA6B,gBAAgB,CACZ,KAAK,OAAL,CAAa,aADD,EACgB,KAAK,cAAL,IAAuB,KAAK,KAAL,CAAW,aADlD,EAEZ,KAAK,SAFO,EAEI,KAAK,SAAL,KAAmB,MAFvB,CAA7C,GAG6B,KAAK,kBAAL,CAAwB,KAAK,SAA7B,CAJjC;AAKD;AACF;;;uCAE0B,S,EAAyB;AAClD,aAAO,KAAK,CAAC,OAAN,CAAc,SAAd,IAA2B,SAAS,CAAC,CAAD,CAApC,GAA0C,SAAS,CAAC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAjD;AACD;;;sCAEsB;AACrB,UAAM,QAAQ,GAAG,KAAK,SAAtB;;AACA,UAAI,KAAK,KAAT,EAAgB;AACd,YAAM,eAAe,GAAG,KAAK,WAAL,CAAiB,aAAzC;AACA,YAAM,mBAAmB,GAAG,KAAK,KAAL,CAAW,aAAvC;AAEA,gBAAQ,CAAC,WAAT,CAAqB,eAArB,EAAsC,mBAAtC;AACA,gBAAQ,CAAC,WAAT,CAAqB,mBAArB,EAA0C,UAA1C;AACA,gBAAQ,CAAC,WAAT,CAAqB,mBAArB,EAA0C,WAA1C;AACD;;AACD,UAAI,KAAK,cAAT,EAAyB;AACvB,gBAAQ,CAAC,WAAT,CAAqB,KAAK,SAAL,CAAe,IAApC,EAA0C,KAAK,cAA/C;AACA,aAAK,cAAL,GAAsB,IAAtB;AACD;AACF;;;sCAEsD;AAAA,UAA/B,SAA+B,uEAAJ,IAAI;;AACrD,WAAK,eAAL;;AACA,UAAI,SAAS,KAAK,MAAlB,EAA0B;AACxB,YAAM,QAAQ,GAAG,KAAK,SAAtB;AACA,YAAM,mBAAmB,GAAG,KAAK,KAAL,CAAW,aAAvC;AACA,YAAM,aAAa,GAAG,KAAK,cAAL,GAAsB,KAAK,cAAL,IAAuB,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAnE,CAHwB,CAI9B;;AAEM,gBAAQ,CAAC,QAAT,CAAkB,aAAlB,EAAiC,UAAjC,EAA6C,UAA7C;AACA,gBAAQ,CAAC,QAAT,CAAkB,mBAAlB,EAAuC,UAAvC,EAAmD,QAAnD;AACA,gBAAQ,CAAC,QAAT,CAAkB,aAAlB,EAAiC,SAAjC,EAA4C,MAA5C;AAEA,gBAAQ,CAAC,WAAT,CAAqB,aAArB,EAAoC,mBAApC;AACA,gBAAQ,CAAC,WAAT,CAAqB,KAAK,SAAL,CAAe,IAApC,EAA0C,aAA1C;AACD;AACF;;;2CAE8B,S,EAA4B;AACzD,UAAM,IAAI,GAAG,KAAK,KAAlB;;AACA,UAAI,IAAJ,EAAU;AACR,YAAI,CAAC,SAAL,EAAgB;AACd,mBAAS,GAAG,KAAK,kBAAL,CAAwB,KAAK,SAA7B,CAAZ;AACD;;AAED,YAAM,QAAQ,GAAG,KAAK,SAAtB;AACA,YAAM,eAAe,GAAG,KAAK,WAAL,CAAiB,aAAzC,CANQ,CAOd;;AAEM,gBAAQ,CAAC,WAAT,CAAqB,eAArB,EAAsC,QAAtC;AACA,gBAAQ,CAAC,WAAT,CAAqB,eAArB,EAAsC,UAAtC;AACA,YAAI,CAAC,SAAL,GAAiB,KAAK,OAAL,KAAiB,QAAjB,GAA4B,IAA5B,GAAmC,SAApD;AACN;AAEK;AACM;AAEH;;AAAF,YAAM,aAAa,GAAG,SAAS,CAAC,MAAV,CAAiB,MAAjB,MAA6B,CAAC,CAA9B,GAAkC,QAAlC,GAA6C,UAAnE;AACA,gBAAQ,CAAC,QAAT,CAAkB,eAAlB,EAAmC,aAAnC;AAEA,YAAM,aAAa,GAAG,KAAK,cAA3B;;AACA,YAAI,aAAJ,EAAmB;AACjB,kBAAQ,CAAC,WAAT,CAAqB,aAArB,EAAoC,QAApC;AACA,kBAAQ,CAAC,WAAT,CAAqB,aAArB,EAAoC,UAApC;AACA,kBAAQ,CAAC,QAAT,CAAkB,aAAlB,EAAiC,aAAjC;AACD;AACF;AACF;;;;;;4BA/VF,mB,CAAS,C,EAAA;AAAA,SAAE,UAAU,WAAV,EAAU,gEAA2B,+DAA3B,CAAV,EAA2E,gEAAY,iBAAZ,CAA3E,EAAuF,0HAAvF,EAAuF,qHAAvF,EAAuF,yHAAvF,EAAuF,wHAAvF,EAAuF,6EAAvF,CAAF;AAAyF,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAC7F;AAAA,UAAqC;AAAA,UAtIzC,+DAAiB;AAsIwB,GAArC,EArIJ;AAAA,UAyBM;AAzBN,GAqII,EA5GuB;AAAA;AAAA;AAAA,YAgLiD,oDAhLjD;AAgLuD,aAAC,yDAAD;AAhLvD;AAAA,GA4GvB,EAoEgG;AAAA,UAjMpG,oDAAM;AAiM8F,GApEhG,EA5HJ;AAAA,UANA,wDAAU;AAMV,GA4HI,EAjIJ;AAAA,UASA,uDAAS;AATT,GAiII,EAvHJ;AAAA,UA6L2B,SA7L3B;AA6LoC;AAAA,YAA/B,sDAAQ;AAAuB;AA7LpC,GAuHI;AAAA;;AAsEkB;AACX;AAAA,UAhEV,0DAgEU;AAhEE,WAAC,eAAD,EAAkB;AAAC,YAAM,EAAE;AAAT,KAAlB;AAgEF,IADW;AA/D+B;AAAA,UACpD,0DADoD;AACxC,WAAC,iBAAD,EAAoB;AAAC,YAAM,EAAE;AAAT,KAApB;AADwC,IA+D/B;AA9DiC;AAAA,UAUtD,mDAAK;AAViD,IA8DjC;AApDX;AAAA,UAKV,mDALU;AAKL,WAAC,MAAD;AALK,IAoDW;AA/CF;AAAA,UAenB,mDAAK;AAfc,IA+CE;AAhCX;AAAA,UAQV,mDAAK;AARK,IAgCW;AAxBX;AAAA,UAUV,mDAAK;AAVK,IAwBW;AAdX;AAAA,UASV,oDAAM;AATI;AAcW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AALT,C;;ACpLf,IAAM,uBAAuB,GACzB,CAAC,WAAD,EAAc,iBAAd,EAAiC,iBAAjC,EAAoD,eAApD,EAAqE,eAArE,EAAsF,SAAtF,CADJ;;IAIa,iB;;;;wFADZ;AAAA,MAAQ;AAAR,C;kBAA+C,I,GAAE,+DAAS;AAAA,SAAwB;AAAA;AAAA;AAAxB,CAAT,C;;;;;;;;;;;;;;;;;;;AAC7C,C;AC+EL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,c,GAeX,wBAAY,SAAZ,EAAgC;AAAA;;AAXhC,kBAA+B,IAA/B;AAKA,kBAAW,IAAX;AAMoC,OAAK,SAAL,GAAiB,SAAS,CAAC,SAA3B;AAAuC,C;;;;AAC5E,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA,cAjBK;AAiBL;;AAjBM;AAAA,UADL;AAAA,UA9GgB;AA8GhB,GACK;AAAA;AADiB;;;AAAQ,aAAC;AAAA;kEAAA;;;;AAAA,M;;;;GAAA,E,IAAA;AA9GV,CA8GS;;IC9FlB,U,GACX,oBAAmB,KAAnB,EAAwC,OAAxC,EAAkE,YAAlE,EAAkG;AAAA;;AAA/E;AAAqB;AAA0B;AAAoC,C;;IAG3F,Y;AAIX,wBACY,KADZ,EACgC,SADhC,EAC6D,iBAD7D,EAEY,SAFZ,EAE0C,OAF1C,EAGY,yBAHZ,EAGyE,eAHzE,EAGwG;AAAA;;AAF5F;AAAoB;AAA6B;AACjD;AAA8B;AAC9B;AAA6D;AANjE,sBAAoC,IAApC;AACA,uBAAiC,IAAjC;AAKoG;;;;yBAEvG,O,EAAqC,O,EAAgC;AAAA,UAAjB,SAAiB,uEAAL,KAAK;;AAExE,UAAI,CAAC,KAAK,UAAV,EAAsB;AACpB,aAAK,WAAL,GAAmB,KAAK,cAAL,CAAoB,OAApB,EAA6B,OAA7B,CAAnB;AACA,aAAK,UAAL,GAAkB,KAAK,iBAAL,CAAuB,eAAvB,CACd,KAAK,yBAAL,CAA+B,uBAA/B,CAA0D,KAAK,KAA/D,CADc,EACyD,KAAK,iBAAL,CAAuB,MADhF,EAEd,KAAK,SAFS,EAEE,KAAK,WAAL,CAAiB,KAFnB,CAAlB;AAGD;;AAPuE,UASjE,aATiE,GAShD,KAAK,UAAL,CAAgB,QATgC,CASjE,aATiE;;AAUxE,UAAM,SAAS,GAAG,KAAK,OAAL,CAAa,QAAb,CAAsB,YAAtB,GAAqC,IAArC,CAA0C,4DAAI,CAAC,CAAD,CAA9C,CAAlB;;AACA,UAAM,WAAW,GAAG,SAAS,CAAC,IAAV,CAChB,gEAAQ,CACJ;AAAA,eAAM,gBAAgB,CAClB,aADkB,EACH;AAAA,cAAE,SAAF,UAAE,SAAF;AAAA,iBAAiB,SAAS,CAAC,GAAV,CAAc,MAAd,CAAjB;AAAA,SADG,EACqC;AAAC,mBAAS,EAAT,SAAD;AAAY,2BAAiB,EAAE;AAA/B,SADrC,CAAtB;AAAA,OADI,CADQ,CAApB;AAKA,aAAO;AAAC,iBAAS,EAAE,KAAK,UAAjB;AAA6B,mBAAW,EAAX;AAA7B,OAAP;AACD;;;4BAEsB;AAAA;;AAAA,UAAjB,SAAiB,uEAAL,KAAK;;AACrB,UAAI,CAAC,KAAK,UAAV,EAAsB;AACpB,eAAO,gDAAE,CAAC,SAAD,CAAT;AACD;;AAED,aAAO,gBAAgB,CACZ,KAAK,UAAL,CAAgB,QAAhB,CAAyB,aADb,EAC4B;AAAA,YAAE,SAAF,UAAE,SAAF;AAAA,eAAiB,SAAS,CAAC,MAAV,CAAiB,MAAjB,CAAjB;AAAA,OAD5B,EAEZ;AAAC,iBAAS,EAAT,SAAD;AAAY,yBAAiB,EAAE;AAA/B,OAFY,CAAhB,CAGF,IAHE,CAGG,2DAAG,CAAC;AAClB;;AAAU,YAAI,OAAI,CAAC,UAAT,EAAqB;AAC/B;AACY,iBAAI,CAAC,iBAAL,CAAuB,MAAvB,CAA8B,OAAI,CAAC,iBAAL,CAAuB,OAAvB,CAA+B,OAAI,CAAC,UAAL,CAAgB,QAA/C,CAA9B;;AACA,iBAAI,CAAC,UAAL,GAAkB,IAAlB;AACD;;AACD,kBAAI,OAAI,CAAC,WAAT,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAE,OAAtB,EAA+B;AAC7B,iBAAI,CAAC,eAAL,CAAqB,UAArB,CAAgC,OAAI,CAAC,WAAL,CAAiB,OAAjD;;AACA,iBAAI,CAAC,WAAL,CAAiB,OAAjB,CAAyB,OAAzB;;AACA,iBAAI,CAAC,WAAL,GAAmB,IAAnB;AACD;AACF,OAXQ,CAHN,CAAP;AAeD;;;mCAEsB,O,EAAqC,O,EAAa;AACvE,UAAI,CAAC,OAAL,EAAc;AACZ,eAAO,IAAI,UAAJ,CAAe,EAAf,CAAP;AACD,OAFD,MAEO,IAAI,OAAO,YAAY,yDAAvB,EAAoC;AACzC,YAAM,OAAO,GAAG,OAAO,CAAC,kBAAR,CAA2B,OAA3B,CAAhB;;AACA,aAAK,eAAL,CAAqB,UAArB,CAAgC,OAAhC;;AACA,eAAO,IAAI,UAAJ,CAAe,CAAC,OAAO,CAAC,SAAT,CAAf,EAAoC,OAApC,CAAP;AACD,OAJM,MAIA;AACL,eAAO,IAAI,UAAJ,CAAe,CAAC,CAAC,KAAK,SAAL,CAAe,UAAf,WAA6B,OAA7B,EAAD,CAAD,CAAf,CAAP;AACD;AACF;;;;;;AC7EH,IAAM,IAAI,GAAG,SAAP,IAAO,IAAQ,CAArB;;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;;IAEa,S;AACX,qBAAsC,SAAtC,EAAoD;AAAA;;AAAd;AAAkB;AAC1D;AAEC;AACE;AACE;AACE;AACE;AAEH;AAAO;AACE;AAEJ;;;;;iCAAC;AACR,UAAM,KAAK,GAAG,KAAK,SAAL,EAAd;;AACA,aAAO,CAAC,KAAK,UAAL,CAAgB,KAAhB,CAAD,GAA0B,IAA1B,GAAiC,KAAK,WAAL,CAAiB,KAAjB,CAAxC;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;gCAAqB,c,EAAsB;AACxC,UAAM,IAAI,GAAG,KAAK,SAAL,CAAe,IAA5B;AACA,UAAM,mBAAmB,GAAG,IAAI,CAAC,KAAL,CAAW,YAAvC;AACA,UAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAP,CAAwB,IAAxB,EAA8B,eAA9B,CAAD,CAAhC;AACA,UAAI,CAAC,KAAL,CAAW,eAAX,cAAiC,aAAa,GAAG,cAAjD;AACA,aAAO;AAAA,eAAM,IAAI,CAAC,KAAL,CAAW,eAAX,IAA8B,mBAApC;AAAA,OAAP;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;+BAAoB,c,EAAsB;AACvC,UAAM,IAAI,GAAG,KAAK,SAAL,CAAe,IAAf,CAAoB,qBAApB,EAAb;;AACA,UAAM,iBAAiB,GAAG,MAAM,CAAC,UAAP,IAAqB,IAAI,CAAC,IAAL,GAAY,IAAI,CAAC,KAAtC,CAA1B;AACA,UAAM,WAAW,GAAG,MAAM,cAA1B;AACA,aAAO,iBAAiB,IAAI,cAAc,GAAG,WAA7C;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;gCAAkB;AACf,UAAM,QAAQ,GAAG,KAAK,SAAL,CAAe,aAAf,CAA6B,KAA7B,CAAjB;;AACA,cAAQ,CAAC,SAAT,GAAqB,yBAArB;AAEA,UAAM,IAAI,GAAG,KAAK,SAAL,CAAe,IAA5B;AACA,UAAI,CAAC,WAAL,CAAiB,QAAjB;AACA,UAAM,KAAK,GAAG,QAAQ,CAAC,qBAAT,GAAiC,KAAjC,GAAyC,QAAQ,CAAC,WAAhE;AACA,UAAI,CAAC,WAAL,CAAiB,QAAjB;AAEA,aAAO,KAAP;AACD;;;;;;;;AACF,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA,cA5DK;AA4DL;;AA5DM;AAAA,UADL;AAAA,UAAU,SAAV;AAAY,cAAU,EAAE;AAAA,UAAM,EAEhB,oDAFU;AAEJ,aAAC,yDAAD;AAFI;AAAxB,GACK;AAAA;;;;;;;;;;;;;;;;;;;AACkC,C;;ICH3B,gB;AAIX,4BAAoB,GAApB,EAA0D,KAA1D,EAAuE;AAAA;;AAAnD;AAAsC;AAAiB;;;;+BAEnE;AAAA;;AACN,WAAK,KAAL,CAAW,QAAX,CAAoB,YAApB,GAAmC,IAAnC,CAAwC,4DAAI,CAAC,CAAD,CAA5C,EAAiD,SAAjD,CAA2D;AACzD,wBAAgB,CACZ,OAAI,CAAC,GAAL,CAAS,aADG,EACY;AAAA,cAAE,SAAF,UAAE,SAAF;AAAA,iBAAiB,SAAS,CAAC,GAAV,CAAc,MAAd,CAAjB;AAAA,SADZ,EAEZ;AAAC,mBAAS,EAAE,OAAI,CAAC,SAAjB;AAA4B,2BAAiB,EAAE;AAA/C,SAFY,CAAhB;AAGD,OAJD;AAKD;;;2BAEG;AACF,aAAO,gBAAgB,CACnB,KAAK,GAAL,CAAS,aADU,EACK;AAAA,YAAE,SAAF,UAAE,SAAF;AAAA,eAAiB,SAAS,CAAC,MAAV,CAAiB,MAAjB,CAAjB;AAAA,OADL,EAEnB;AAAC,iBAAS,EAAE,KAAK,SAAjB;AAA4B,yBAAiB,EAAE;AAA/C,OAFmB,CAAvB;AAGD;;;;;;iCA7BF,wB,CAAS,C,EAAA;AAAC,mBACT,gBADS,EACC,gEAAoB,wDAApB,CADD,EAEM,gEAAsB,oDAAtB,CAFN;AAGT,C;;AAAQ,gBAAI,KAAJ,GAAI,gEACN;AAAA,MACJ,kBADI;AACO,qCADP;AACO,iBAA+D,SAA/D,EAA+D,MAA/D,CADP;AACsE,UAC1E,GAFI;AAEJ,cAAgB,WAAY,6BAAZ,CACF,EADE,EACA,GADA,EACA;AAAA,QAAW,MAAX,EAAW;AAC3B,+DAAS,oBAAe,oBAE3B,uBAF2B,GAE3B,EAFY,CAAT;;;GAJI;;;;GAAA;UAAA;SAAA;0DAAA;iBAOH;AAPG,CADM,CAAJ;;AAQJ;AAAA,UAA0C;AAAA,UAlB7B,wDAAU;AAkBmB,GAA1C,EAlB2B;AAAA,UAAK,oDAAM;AAAX,GAkB3B;AAAA;;AAlB4C;AAAoC;AAAA,UAmBnF,mDAAK;AAnB8E,IAApC;AAmBrC;AAAA,UACV,mDAAK;AADK;AAnBqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBpC,C;ACVd;AACA;AACA;AACA;AACA;AACA;;;IACa,c;;;;;;;;AACb;AACE;AACE;AACE;AAEJ;0BAAM,M,EAAY,CAAU;AAC9B;AAEC;AACE;AACE;AAEJ;;;;4BAAS,M,EAAY,CAAU;;;;;AAGhC;AACA;AACA;;;IACa,W;AA+DX,uBACY,cADZ,EACkE,WADlE,EAEY,gBAFZ,EAEuE,cAFvE,EAEgG;AAAA;;AAAA;;AADpF;AAAsD;AACtD;AAA2D;AAhE/D,mBAAU,IAAI,6CAAJ,EAAV;AACA,sBAAa,IAAI,6CAAJ,EAAb;AACA,mBAAU,IAAI,6CAAJ,EAAV;;AA+DN,kBAAc,CAAC,QAAf,CAAwB,YAAxB,CAAqC,SAArC,CAA+C,UAAC,MAAD,EAAY;AAAO,aAAI,CAAC,OAAL,CAAa,MAAb;AAAuB,KAAzF;;AAEA,SAAK,MAAL,GAAc,IAAI,OAAJ,CAAY,UAAC,OAAD,EAAU,MAAV,EAAgB;AACxC,aAAI,CAAC,QAAL,GAAgB,OAAhB;AACA,aAAI,CAAC,OAAL,GAAe,MAAf;AACD,KAHa,CAAd;AAIA,SAAK,MAAL,CAAY,IAAZ,CAAiB,IAAjB,EAAuB,aAAQ,CAA/B;AACD;AACH;AAEC;AAEG;AAAO;AAGX;;;;;;AAnBA;AACO;AAC0C;AAAO;AACX;0BAerC,M,EAAY;AAChB,UAAI,KAAK,cAAT,EAAyB;AACvB,aAAK,OAAL,CAAa,IAAb,CAAkB,MAAlB;;AACA,aAAK,QAAL,CAAc,MAAd;;AACA,aAAK,oBAAL;AACD;AACF;;;6BAEgB,M,EAAY;AAC3B,WAAK,UAAL,CAAgB,IAAhB,CAAqB,MAArB;;AACA,WAAK,OAAL,CAAa,MAAb;;AACA,WAAK,oBAAL;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;4BAAS,M,EAAY;AAAA;;AAClB,UAAI,KAAK,cAAT,EAAyB;AACvB,YAAI,CAAC,KAAK,cAAV,EAA0B;AACxB,eAAK,QAAL,CAAc,MAAd;AACD,SAFD,MAEO;AACL,cAAM,OAAO,GAAG,KAAK,cAAL,EAAhB;;AACA,cAAI,OAAO,IAAI,OAAO,CAAC,IAAvB,EAA6B;AAC3B,mBAAO,CAAC,IAAR,CACI,gBAAM;AACJ,kBAAI,MAAM,KAAK,KAAf,EAAsB;AACpB,uBAAI,CAAC,QAAL,CAAc,MAAd;AACD;AACF,aALL,EAMI,aAAQ,CANZ;AAOD,WARD,MAQO,IAAI,OAAO,KAAK,KAAhB,EAAuB;AAC5B,iBAAK,QAAL,CAAc,MAAd;AACD;AACF;AACF;AACF;;;2CAE2B;AAAA;;AAC1B,UAAM,iBAAiB,GAAG,KAAK,cAAL,CAAoB,QAApB,CAA6B,IAA7B,EAA1B;;AACA,UAAM,mBAAmB,GAAG,KAAK,gBAAL,GAAwB,KAAK,gBAAL,CAAsB,QAAtB,CAA+B,IAA/B,EAAxB,GAAgE,gDAAE,CAAC,SAAD,CAA9F,CAF0B,CAG9B;;AAEI,uBAAiB,CAAC,SAAlB,CAA4B;AAAA,YACnB,aADmB,GACF,OAAI,CAAC,cAAL,CAAoB,QADlB,CACnB,aADmB;AAE1B,qBAAa,CAAC,UAAd,CAAyB,WAAzB,CAAqC,aAArC;;AACA,eAAI,CAAC,cAAL,CAAoB,OAApB;;AAEA,YAAI,OAAI,CAAC,WAAL,IAAoB,OAAI,CAAC,WAAL,CAAiB,OAAzC,EAAkD;AAChD,iBAAI,CAAC,WAAL,CAAiB,OAAjB,CAAyB,OAAzB;AACD;;AAED,eAAI,CAAC,cAAL,GAA2B,IAA3B;AACA,eAAI,CAAC,WAAL,GAAwB,IAAxB;AACD,OAXD,EAL0B,CAiB9B;;AAEI,yBAAmB,CAAC,SAApB,CAA8B;AAC5B,YAAI,OAAI,CAAC,gBAAT,EAA2B;AAAA,cAClB,aADkB,GACD,OAAI,CAAC,gBAAL,CAAsB,QADrB,CAClB,aADkB;AAEzB,uBAAa,CAAC,UAAd,CAAyB,WAAzB,CAAqC,aAArC;;AACA,iBAAI,CAAC,gBAAL,CAAsB,OAAtB;;AACA,iBAAI,CAAC,gBAAL,GAA6B,IAA7B;AACD;AACF,OAPD,EAnB0B,CA2B9B;;AAEI,uDAAG,CAAC,iBAAD,EAAoB,mBAApB,CAAH,CAA4C,SAA5C,CAAsD;AACpD,eAAI,CAAC,OAAL,CAAa,IAAb;;AACA,eAAI,CAAC,OAAL,CAAa,QAAb;AACD,OAHD;AAID;;;wBA7IoB;AACnB,UAAI,KAAK,WAAL,IAAoB,KAAK,WAAL,CAAiB,YAAzC,EAAuD;AACrD,eAAO,KAAK,WAAL,CAAiB,YAAjB,CAA8B,QAArC;AACD;AACF;AACH;AAEC;AAAqF;AAAO;AAK1E;AAAO;AAAoB;;;;wBAMlC;AAAsB,aAAO,KAAK,OAAL,CAAa,YAAb,GAA4B,IAA5B,CAAiC,iEAAS,CAAC,KAAK,OAAN,CAA1C,CAAP;AAAmE;AACrG;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAEJ;;;;wBAAQ;AAAsB,aAAO,KAAK,UAAL,CAAgB,YAAhB,GAA+B,IAA/B,CAAoC,iEAAS,CAAC,KAAK,OAAN,CAA7C,CAAP;AAAsE;AAC3G;AAEC;AACE;AAEH;AAAO;AAEH;AAAO;AAEJ;;;;wBAAK;AAAuB,aAAO,KAAK,OAAL,CAAa,YAAb,EAAP;AAAqC;AACxE;AAEC;AACE;AAEH;AAAO;AACE;AAEH;AAAO;AAEJ;;;;wBAAE;AAAuB,aAAO,KAAK,cAAL,CAAoB,QAApB,CAA6B,KAA7B,CAAmC,YAAnC,EAAP;AAA2D;;;;;;AA8F5F,IC9LW,mBD8LX;;AC9LD,WAAY,mBAAZ,EAA+B;AAC7B;AACA;AACD,CAHD,EAAY,mBAAmB,KAAnB,mBAAmB,MAA/B;;IC4Ca,c;AAsBX,0BAC8B,SAD9B,EACsD,MADtD,EAC+F,KAD/F,EAC4G;AAAA;;AAA9E;AAAwB;AAAyC;AArBvF,oBAAW,IAAI,6CAAJ,EAAX;AACA,wBAA+B,IAA/B,CAoBoG,CApBhE;;AAOnC,oBAA6B,IAA7B;AAEA,oBAAW,IAAX;AAKU,wBAAe,IAAI,0DAAJ,EAAf;AAEnB,iBAAQ,IAAI,6CAAJ,EAAR;AACA,kBAAS,IAAI,6CAAJ,EAAT;AAGgH;;;;4BAExG,M,EAAM;AAAU,WAAK,YAAL,CAAkB,IAAlB,CAAuB,MAAvB;AAAiC;;;+BAEjD;AAAK,WAAK,YAAL,GAAoB,KAAK,SAAL,CAAe,aAAnC;AAAmD;;;sCAEjD;AAAK,WAAK,KAAL;AAAe;;;kCAExB;AAAK,WAAK,qBAAL;AAA+B;;;2BAE3C;AAAA;;AAAA,UACK,aADL,GACsB,KAAK,MAD3B,CACK,aADL;AAEF,UAAM,OAAO,GAA8B;AAAC,iBAAS,EAAE,KAAK,SAAjB;AAA4B,yBAAiB,EAAE;AAA/C,OAA3C;AAEA,UAAM,iBAAiB,GAAG,gBAAgB,CAAC,aAAD,EAAgB;AAAA,eAAM,aAAa,CAAC,SAAd,CAAwB,MAAxB,CAA+B,MAA/B,CAAN;AAAA,OAAhB,EAA8D,OAA9D,CAA1C;AACA,UAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,SAAL,CAAe,aAAhB,EAA+B,aAAQ,CAAvC,EAAyC,OAAzC,CAA1C;AAEA,UAAM,YAAY,GAAG,iDAAG,CAAC,iBAAD,EAAoB,iBAApB,CAAxB;AACA,kBAAY,CAAC,SAAb,CAAuB;AACrB,eAAI,CAAC,MAAL,CAAY,IAAZ;;AACA,eAAI,CAAC,MAAL,CAAY,QAAZ;AACD,OAHD;;AAKA,WAAK,qBAAL;;AACA,WAAK,aAAL;;AAEA,aAAO,YAAP;AACD;;;4BAEY;AAAA;;AAAA,UACJ,aADI,GACa,KAAK,MADlB,CACJ,aADI;AAEX,UAAM,OAAO,GAA8B;AAAC,iBAAS,EAAE,KAAK,SAAjB;AAA4B,yBAAiB,EAAE;AAA/C,OAA3C;AAEA,UAAM,iBAAiB,GAAG,gBAAgB,CAAC,aAAD,EAAgB;AAAA,eAAM,aAAa,CAAC,SAAd,CAAwB,GAAxB,CAA4B,MAA5B,CAAN;AAAA,OAAhB,EAA2D,OAA3D,CAA1C;AACA,UAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,SAAL,CAAe,aAAhB,EAA+B,aAAQ,CAAvC,EAAyC,OAAzC,CAA1C;AAEA,uDAAG,CAAC,iBAAD,EAAoB,iBAApB,CAAH,CAA0C,SAA1C,CAAoD;AAClD,eAAI,CAAC,KAAL,CAAW,IAAX;;AACA,eAAI,CAAC,KAAL,CAAW,QAAX;AACD,OAHD;;AAKA,WAAK,oBAAL;;AACA,WAAK,SAAL;AACD;;;2CAE2B;AAAA;;AAAA,UACnB,aADmB,GACF,KAAK,MADH,CACnB,aADmB;;AAE1B,WAAK,KAAL,CAAW,iBAAX,CAA6B;AAC3B,+DAAS,CAAgB,aAAhB,EAA+B,SAA/B,CAAT,CACK,IADL,CAEQ,iEAAS,CAAC,OAAI,CAAC,QAAN,CAFjB,EAGL;AACa,sEAAM,CAAC,WAAC;AAAA,iBAAI,CAAC,CAAC,KAAF,KAAY,GAAG,CAAC,MAApB;AAAA,SAAF,CAJd,EAKK,SALL,CAKe,eAAK;AACd,cAAI,OAAI,CAAC,QAAT,EAAmB;AACjB,iCAAqB,CAAC;AACpB,kBAAI,CAAC,KAAK,CAAC,gBAAX,EAA6B;AAC3B,uBAAI,CAAC,KAAL,CAAW,GAAX,CAAe;AAAA,yBAAM,OAAI,CAAC,OAAL,CAAa,mBAAmB,CAAC,GAAjC,CAAN;AAAA,iBAAf;AACD;AACF,aAJoB,CAArB;AAKD,WAND,MAMO,IAAI,OAAI,CAAC,QAAL,KAAkB,QAAtB,EAAgC;AACrC,mBAAI,CAAC,aAAL;AACD;AACF,SAfL,EAD2B,CAiBjC;AAEK;;AACC,YAAI,YAAY,GAAG,KAAnB;AACA,+DAAS,CAAa,OAAI,CAAC,SAAL,CAAe,aAA5B,EAA2C,WAA3C,CAAT,CACK,IADL,CAEQ,iEAAS,CAAC,OAAI,CAAC,QAAN,CAFjB,EAEkC,2DAAG,CAAC;AAAA,iBAAM,YAAY,GAAG,KAArB;AAAA,SAAD,CAFrC,EAGQ,iEAAS,CAAC;AAAA,iBAAM,uDAAS,CAAa,aAAb,EAA4B,SAA5B,CAAT,CAAgD,IAAhD,CAAqD,iEAAS,CAAC,OAAI,CAAC,QAAN,CAA9D,EAA+E,4DAAI,CAAC,CAAD,CAAnF,CAAN;AAAA,SAAD,CAHjB,EAIQ,8DAAM,CAAC;AAAA,cAAE,MAAF,UAAE,MAAF;AAAA,iBAAc,aAAa,KAAK,MAAhC;AAAA,SAAD,CAJd,EAKK,SALL,CAKe;AAAQ,sBAAY,GAAG,IAAf;AAAsB,SAL7C,EArB2B,CA2BjC;AAEK;AACM;AACM;;AACX,+DAAS,CAAa,aAAb,EAA4B,OAA5B,CAAT,CAA8C,IAA9C,CAAmD,iEAAS,CAAC,OAAI,CAAC,QAAN,CAA5D,EAA6E,SAA7E,CAAuF,kBAAS;AAAA,cAAP,MAAO,UAAP,MAAO;;AAC9F,cAAI,aAAa,KAAK,MAAtB,EAA8B;AAC5B,gBAAI,OAAI,CAAC,QAAL,KAAkB,QAAtB,EAAgC;AAC9B,qBAAI,CAAC,aAAL;AACD,aAFD,MAEO,IAAI,OAAI,CAAC,QAAL,KAAkB,IAAlB,IAA0B,CAAC,YAA/B,EAA6C;AAClD,qBAAI,CAAC,KAAL,CAAW,GAAX,CAAe;AAAA,uBAAM,OAAI,CAAC,OAAL,CAAa,mBAAmB,CAAC,cAAjC,CAAN;AAAA,eAAf;AACD;AACF;;AAED,sBAAY,GAAG,KAAf;AACD,SAVD;AAWD,OA3CD;AA4CD;;;4CAE4B;AAAK,WAAK,QAAL,CAAc,IAAd;AAAuB;;;gCAExC;AAAA,UACR,aADQ,GACS,KAAK,MADd,CACR,aADQ;;AAEf,UAAI,CAAC,aAAa,CAAC,QAAd,CAAuB,QAAQ,CAAC,aAAhC,CAAL,EAAqD;AACnD,YAAM,aAAa,GAAG,aAAa,CAAC,aAAd,kBAAtB;AACA,YAAM,cAAc,GAAG,4BAA4B,CAAC,aAAD,CAA5B,CAA4C,CAA5C,CAAvB;AAEA,YAAM,cAAc,GAAG,aAAa,IAAI,cAAjB,IAAmC,aAA1D;AACA,sBAAc,CAAC,KAAf;AACD;AACF;;;oCAEoB;AAAA;;AACnB,UAAM,IAAI,GAAG,KAAK,SAAL,CAAe,IAA5B;AACA,UAAM,WAAW,GAAG,KAAK,YAAzB;AAEA,UAAI,cAAJ;;AACA,UAAI,WAAW,IAAI,WAAW,CAAC,OAAD,CAA1B,IAAuC,IAAI,CAAC,QAAL,CAAc,WAAd,CAA3C,EAAuE;AACrE,sBAAc,GAAG,WAAjB;AACD,OAFD,MAEO;AACL,sBAAc,GAAG,IAAjB;AACD;;AACD,WAAK,KAAL,CAAW,iBAAX,CAA6B;AAC3B,kBAAU,CAAC;AAAA,iBAAM,cAAc,CAAC,KAAf,EAAN;AAAA,SAAD,CAAV;AACA,eAAI,CAAC,YAAL,GAAoB,IAApB;AACD,OAHD;AAID;;;oCAEoB;AACnB,UAAI,KAAK,QAAL,KAAkB,QAAtB,EAAgC;AAC9B,wBAAgB,CAAC,KAAK,MAAL,CAAY,aAAb,EAA4B,kBAAY;AAAA,cAAV,SAAU,UAAV,SAAU;AACtD,mBAAS,CAAC,GAAV,CAAc,cAAd;AACA,iBAAO;AAAA,mBAAM,SAAS,CAAC,MAAV,CAAiB,cAAjB,CAAN;AAAA,WAAP;AACD,SAHe,EAGb;AAAC,mBAAS,EAAE,KAAK,SAAjB;AAA4B,2BAAiB,EAAE;AAA/C,SAHa,CAAhB;AAID;AACF;;;;;;+BA5KF,sB,CAAS,C,EAAA;AAAA,SAAC,0BACC,gEAAkB,yDAAlB,CADD,EAEL,gEACF,wDADE,CAFK,EAGI,qHAHJ,CAAD;AAGK,C;;AAA0D,sFACrD;AAAA,MAAW,gBAAX;AAAW,WACrB,EAAE,sBADQ;AACA,WAChB,WAAY,oBAAZ,CAAgB,EAAhB,EACA,GADA,EACA;AAAA,gBAAmB;AAAQ,sEAC3B,IAD2B,EAC3B,IAD2B;AACH;;AAAA,QAAE,MAAF,EAAE;AAAgB;;AAC1C,wEAAyB,2DAAzB,MAA4C,gBAC7C,QADC;AAEF;AAAA,GAPkB;AAOV,WAAE,sCAPQ;AAOR,aAPQ;AAOR;AAAA;;AAKP,kFACY,kBAAkB,MAAI,eAAtB,GAAsB,EADlC;;;GAZe;;;;;oBAenB,gB;AAAA,sC;AAAA,wB;AAAA,4B;AAAA,gB;AAAA;GAfmB;AAenB;AAAA;AAAA,GAfmB;AAenB,yBAfmB;AAenB,UAfmB;AAenB,SAfmB;AAenB,sEAfmB;AAenB;AAAA;;;;;;;;;;;;GAfmB;2JAAA;iBAgBf;AAhBe,CADqD;;AAiBnE;AAAA,UAAwC;AAAA;AAAA;AAAA,YAuBvC,oDAvBuC;AAuBjC,aAAC,yDAAD;AAvBiC;AAAA,GAAxC,EAuByB;AAAA,UA/D7B,wDAAU;AA+DmB,GAvBzB,EAvCJ;AAAA,UAGA,oDAAM;AAHN,GAuCI;AAAA;;AAnCF;AAGC;AAAA,UAqCF,uDArCE;AAqCO,WAAC,QAAD,EAAW;AAAC,YAAM,EAAE;AAAT,KAAX;AArCP,IAHD;AAwCwC;AAAA,UAEzC,mDAAK;AAFoC,IAxCxC;AA0CS;AAAA,UACV,mDAAK;AADK,IA1CT;AA2CS;AAAA,UACV,mDAAK;AADK,IA3CT;AA4CS;AAAA,UACV,mDAAK;AADK,IA5CT;AA6CS;AAAA,UACV,mDAAK;AADK,IA7CT;AA8CS;AAAA,UACV,mDAAK;AADK,IA9CT;AA+CS;AAAA,UACV,mDAAK;AADK,IA/CT;AAgDS;AAAA,UACV,mDAAK;AADK,IAhDT;AAiDS;AAAA,UACV,mDAAK;AADK,IAjDT;AAkDS;AAAA,UAEV,oDAFU;AAEJ,WAAC,SAAD;AAFI;AAlDT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDuB,C;;ICpCd,a;AAYX,yBACY,eADZ,EACqD,SADrD,EACoG,SADpG,EAEY,UAFZ,EAE2C,gBAF3C,EAEuF,OAFvF,EAEsG;AAAA;;AAAA;;AAD1F;AAAyC;AAA+C;AACxF;AAA+B;AAA4C;AAb/E,uCAA8B,IAAI,6CAAJ,EAA9B;AACA,6BAAiD,IAAI,GAAJ,EAAjD;AACA,+BAAsB,CAAC,WAAD,EAAc,eAAd,CAAtB;AACA,sBAA4B,EAA5B;AACA,6BAAoB,CAC1B,WAD0B,EACb,gBADa,EACK,iBADL,EACwB,UADxB,EACoC,UADpC,EACgD,UADhD,EAC4D,YAD5D,EAC0E,MAD1E,EAE1B,aAF0B,CAApB;AAIA,wBAA+C,EAA/C;AACA,4BAAgD,IAAI,0DAAJ,EAAhD,CAI8F,CAHxG;;AAKI,SAAK,2BAAL,CAAiC,SAAjC,CAA2C;AACzC,UAAI,OAAI,CAAC,YAAL,CAAkB,MAAtB,EAA8B;AAC5B,YAAM,gBAAgB,GAAG,OAAI,CAAC,YAAL,CAAkB,OAAI,CAAC,YAAL,CAAkB,MAAlB,GAA2B,CAA7C,CAAzB;AACA,oBAAY,CAAC,OAAI,CAAC,OAAN,EAAe,gBAAgB,CAAC,QAAjB,CAA0B,aAAzC,EAAwD,OAAI,CAAC,2BAA7D,CAAZ;;AACA,eAAI,CAAC,iBAAL;;AACA,eAAI,CAAC,cAAL,CAAoB,gBAAgB,CAAC,QAAjB,CAA0B,aAA9C;AACD;AACF,KAPD;AAQD;;;;yBAEI,S,EAAqC,e,EAA2B,O,EAAc,O,EAAO;AAAA;;AACxF,UAAM,WAAW,GAAG,OAAO,CAAC,SAAR,YAA6B,WAA7B,GAA2C,OAAO,CAAC,SAAnD,GAA+D,SAAS,CAAC,OAAO,CAAC,SAAT,CAAT,GACpB,KAAK,SAAL,CAAe,aAAf,CAA6B,OAAO,CAAC,SAArC,CADoB,GAEpB,KAAK,SAAL,CAAe,IAF9E;;AAGA,UAAM,QAAQ,GAAG,KAAK,gBAAL,CAAsB,cAAtB,CAAqC,IAArC,EAA2C,IAA3C,CAAjB;;AAEA,UAAM,yBAAyB,GAAG,KAAK,UAAL,CAAgB,UAAhB,EAAlC;;AACA,UAAM,eAAe,GAAG,SAAlB,eAAkB;AACtB,YAAI,CAAC,OAAI,CAAC,UAAL,CAAgB,MAArB,EAA6B;AAC3B,kBAAQ,CAAC,WAAT,CAAqB,OAAI,CAAC,SAAL,CAAe,IAApC,EAA0C,YAA1C;;AACA,iBAAI,CAAC,iBAAL;AACD;AACF,OALD;;AAOA,UAAI,CAAC,WAAL,EAAkB;AAChB,cAAM,IAAI,KAAJ,2CAA4C,OAAO,CAAC,SAAR,IAAqB,MAAjE,kCAAN;AACD;;AAED,UAAM,WAAW,GAAG,IAAI,cAAJ,EAApB;;AACA,UAAM,UAAU,GACZ,KAAK,cAAL,CAAoB,SAApB,EAA+B,OAAO,CAAC,QAAR,IAAoB,eAAnD,EAAoE,OAApE,EAA6E,WAA7E,EAA0F,OAA1F,CADJ;;AAGA,UAAI,eAAe,GACf,OAAO,CAAC,QAAR,KAAqB,KAArB,GAA6B,KAAK,eAAL,CAAqB,SAArB,EAAgC,WAAhC,CAA7B,GAA4E,SADhF;;AAEA,UAAI,aAAa,GAAiC,KAAK,sBAAL,CAA4B,SAA5B,EAAuC,WAAvC,EAAoD,UAApD,CAAlD;;AACA,UAAI,WAAW,GAAgB,IAAI,WAAJ,CAAgB,aAAhB,EAA+B,UAA/B,EAA2C,eAA3C,EAA4D,OAAO,CAAC,aAApE,CAA/B;;AAEA,WAAK,iBAAL,CAAuB,WAAvB;;AACA,WAAK,mBAAL,CAAyB,aAAzB;;AACA,iBAAW,CAAC,MAAZ,CAAmB,IAAnB,CAAwB,yBAAxB,EAAmD,yBAAnD;AACA,iBAAW,CAAC,MAAZ,CAAmB,IAAnB,CAAwB,eAAxB,EAAyC,eAAzC;;AACA,iBAAW,CAAC,KAAZ,GAAoB,UAAC,MAAD,EAAY;AAAO,mBAAW,CAAC,KAAZ,CAAkB,MAAlB;AAA4B,OAAnE;;AACA,iBAAW,CAAC,OAAZ,GAAsB,UAAC,MAAD,EAAY;AAAO,mBAAW,CAAC,OAAZ,CAAoB,MAApB;AAA8B,OAAvE;;AAEA,WAAK,mBAAL,CAAyB,aAAa,CAAC,QAAvC,EAAiD,OAAjD;;AACA,UAAI,KAAK,UAAL,CAAgB,MAAhB,KAA2B,CAA/B,EAAkC;AAChC,gBAAQ,CAAC,QAAT,CAAkB,KAAK,SAAL,CAAe,IAAjC,EAAuC,YAAvC;AACD;;AAED,UAAI,eAAe,IAAI,eAAe,CAAC,QAAvC,EAAiD;AAC/C,aAAK,qBAAL,CAA2B,eAAe,CAAC,QAA3C,EAAqD,OAArD;AACD;;AACD,aAAO,WAAP;AACD;;;+BAIU,M,EAAY;AAAI,WAAK,UAAL,CAAgB,OAAhB,CAAwB,qBAAW;AAAA,eAAI,WAAW,CAAC,OAAZ,CAAoB,MAApB,CAAJ;AAAA,OAAnC;AAAsE;;;oCAEpF;AAAc,aAAO,KAAK,UAAL,CAAgB,MAAhB,GAAyB,CAAhC;AAAoC;;;oCAEvC,S,EAAqC,W,EAAgB;AAC3E,UAAI,eAAe,GAAG,SAAS,CAAC,uBAAV,CAAkC,gBAAlC,CAAtB;AACA,UAAI,eAAe,GAAG,eAAe,CAAC,MAAhB,CAAuB,KAAK,SAA5B,CAAtB;;AACA,WAAK,eAAL,CAAqB,UAArB,CAAgC,eAAe,CAAC,QAAhD;;AACA,iBAAW,CAAC,WAAZ,CAAwB,eAAe,CAAC,QAAhB,CAAyB,aAAjD;AACA,aAAO,eAAP;AACD;;;2CAE8B,S,EAAqC,W,EAAkB,U,EAAe;AAEnG,UAAI,aAAa,GAAG,SAAS,CAAC,uBAAV,CAAkC,cAAlC,CAApB;AACA,UAAI,aAAa,GAAG,aAAa,CAAC,MAAd,CAAqB,KAAK,SAA1B,EAAqC,UAAU,CAAC,KAAhD,CAApB;;AACA,WAAK,eAAL,CAAqB,UAArB,CAAgC,aAAa,CAAC,QAA9C;;AACA,iBAAW,CAAC,WAAZ,CAAwB,aAAa,CAAC,QAAd,CAAuB,aAA/C;AACA,aAAO,aAAP;AACD;;;wCAE2B,c,EAAgC,O,EAAe;AACzE,WAAK,iBAAL,CAAuB,OAAvB,CAA+B,UAAC,UAAD,EAAmB;AAChD,YAAI,SAAS,CAAC,OAAO,CAAC,UAAD,CAAR,CAAb,EAAoC;AAClC,wBAAc,CAAC,UAAD,CAAd,GAA6B,OAAO,CAAC,UAAD,CAApC;AACD;AACF,OAJD;AAKD;;;0CAE6B,gB,EAAoC,O,EAAe;AAC/E,WAAK,mBAAL,CAAyB,OAAzB,CAAiC,UAAC,UAAD,EAAmB;AAClD,YAAI,SAAS,CAAC,OAAO,CAAC,UAAD,CAAR,CAAb,EAAoC;AAClC,0BAAgB,CAAC,UAAD,CAAhB,GAA+B,OAAO,CAAC,UAAD,CAAtC;AACD;AACF,OAJD;AAKD;;;mCAGG,S,EAAqC,e,EAA2B,O,EAAc,W,EAC9E,O,EAAwB;AAC1B,UAAI,CAAC,OAAL,EAAc;AACZ,eAAO,IAAI,UAAJ,CAAe,EAAf,CAAP;AACD,OAFD,MAEO,IAAI,OAAO,YAAY,yDAAvB,EAAoC;AACzC,eAAO,KAAK,sBAAL,CAA4B,OAA5B,EAAqC,WAArC,CAAP;AACD,OAFM,MAEA,IAAI,QAAQ,CAAC,OAAD,CAAZ,EAAuB;AAC5B,eAAO,KAAK,iBAAL,CAAuB,OAAvB,CAAP;AACD,OAFM,MAEA;AACL,eAAO,KAAK,oBAAL,CAA0B,SAA1B,EAAqC,eAArC,EAAsD,OAAtD,EAA+D,WAA/D,EAA4E,OAA5E,CAAP;AACD;AACF;;;2CAE8B,O,EAA2B,W,EAA2B;AACnF,UAAM,OAAO,GAAG;AACd,iBAAS,EAAE,WADG;AAEd,aAFc,iBAER,MAFQ,EAEF;AAAI,qBAAW,CAAC,KAAZ,CAAkB,MAAlB;AAA4B,SAF9B;AAGd,eAHc,mBAGN,MAHM,EAGA;AAAI,qBAAW,CAAC,OAAZ,CAAoB,MAApB;AAA8B;AAHlC,OAAhB;AAKA,UAAM,OAAO,GAAG,OAAO,CAAC,kBAAR,CAA2B,OAA3B,CAAhB;;AACA,WAAK,eAAL,CAAqB,UAArB,CAAgC,OAAhC;;AACA,aAAO,IAAI,UAAJ,CAAe,CAAC,OAAO,CAAC,SAAT,CAAf,EAAoC,OAApC,CAAP;AACD;;;sCAEyB,O,EAAe;AACvC,UAAM,SAAS,GAAG,KAAK,SAAL,CAAe,cAAf,WAAiC,OAAjC,EAAlB;;AACA,aAAO,IAAI,UAAJ,CAAe,CAAC,CAAC,SAAD,CAAD,CAAf,CAAP;AACD;;;yCAGG,S,EAAqC,e,EAA2B,O,EAAc,O,EAC9E,O,EAAwB;AAC1B,UAAM,kBAAkB,GAAG,SAAS,CAAC,uBAAV,CAAkC,OAAlC,CAA3B;AACA,UAAM,oBAAoB,GACtB,sDAAQ,CAAC,MAAT,CAAgB;AAAC,iBAAS,EAAE,CAAC;AAAC,iBAAO,EAAE,cAAV;AAA0B,kBAAQ,EAAE;AAApC,SAAD,CAAZ;AAA4D,cAAM,EAAE;AAApE,OAAhB,CADJ;AAEA,UAAM,YAAY,GAAG,kBAAkB,CAAC,MAAnB,CAA0B,oBAA1B,CAArB;AACA,UAAM,iBAAiB,GAAG,YAAY,CAAC,QAAb,CAAsB,aAAhD;;AACA,UAAI,OAAO,CAAC,UAAZ,EAAwB;AACrB,yBAAiC,CAAC,SAAlC,CAA4C,GAA5C,CAAgD,2BAAhD;AACF;;AACD,WAAK,eAAL,CAAqB,UAArB,CAAgC,YAAY,CAAC,QAA7C,EAT0B,CAU9B;AACI;;;AACA,aAAO,IAAI,UAAJ,CAAe,CAAC,CAAC,iBAAD,CAAD,CAAf,EAAsC,YAAY,CAAC,QAAnD,EAA6D,YAA7D,CAAP;AACD;;;mCAEsB,O,EAAgB;AAAA;;AACrC,UAAM,MAAM,GAAG,OAAO,CAAC,aAAvB;;AACA,UAAI,MAAM,IAAI,OAAO,KAAK,KAAK,SAAL,CAAe,IAAzC,EAA+C;AAC7C,aAAK,CAAC,IAAN,CAAW,MAAM,CAAC,QAAlB,EAA4B,OAA5B,CAAoC,iBAAO;AACzC,cAAI,OAAO,KAAK,OAAZ,IAAuB,OAAO,CAAC,QAAR,KAAqB,QAAhD,EAA0D;AACxD,mBAAI,CAAC,iBAAL,CAAuB,GAAvB,CAA2B,OAA3B,EAAoC,OAAO,CAAC,YAAR,CAAqB,aAArB,CAApC;;AACA,mBAAO,CAAC,YAAR,CAAqB,aAArB,EAAoC,MAApC;AACD;AACF,SALD;;AAOA,aAAK,cAAL,CAAoB,MAApB;AACD;AACF;;;wCAEwB;AACvB,WAAK,iBAAL,CAAuB,OAAvB,CAA+B,UAAC,KAAD,EAAQ,OAAR,EAAe;AAC5C,YAAI,KAAJ,EAAW;AACT,iBAAO,CAAC,YAAR,CAAqB,aAArB,EAAoC,KAApC;AACD,SAFD,MAEO;AACL,iBAAO,CAAC,eAAR,CAAwB,aAAxB;AACD;AACF,OAND;;AAOA,WAAK,iBAAL,CAAuB,KAAvB;AACD;;;sCAEyB,W,EAAwB;AAAA;;AAChD,UAAM,kBAAkB,GAAG,SAArB,kBAAqB;AACzB,YAAM,KAAK,GAAG,OAAI,CAAC,UAAL,CAAgB,OAAhB,CAAwB,WAAxB,CAAd;;AACA,YAAI,KAAK,GAAG,CAAC,CAAb,EAAgB;AACd,iBAAI,CAAC,UAAL,CAAgB,MAAhB,CAAuB,KAAvB,EAA8B,CAA9B;;AACA,iBAAI,CAAC,gBAAL,CAAsB,IAAtB,CAA2B,OAAI,CAAC,UAAhC;AACD;AACF,OAND;;AAOA,WAAK,UAAL,CAAgB,IAAhB,CAAqB,WAArB;;AACA,WAAK,gBAAL,CAAsB,IAAtB,CAA2B,KAAK,UAAhC;;AACA,iBAAW,CAAC,MAAZ,CAAmB,IAAnB,CAAwB,kBAAxB,EAA4C,kBAA5C;AACD;;;wCAE2B,a,EAA2C;AAAA;;AACrE,WAAK,YAAL,CAAkB,IAAlB,CAAuB,aAAvB;;AACA,WAAK,2BAAL,CAAiC,IAAjC;;AAEA,mBAAa,CAAC,SAAd,CAAwB;AACtB,YAAM,KAAK,GAAG,OAAI,CAAC,YAAL,CAAkB,OAAlB,CAA0B,aAA1B,CAAd;;AACA,YAAI,KAAK,GAAG,CAAC,CAAb,EAAgB;AACd,iBAAI,CAAC,YAAL,CAAkB,MAAlB,CAAyB,KAAzB,EAAgC,CAAhC;;AACA,iBAAI,CAAC,2BAAL,CAAiC,IAAjC;AACD;AACF,OAND;AAOD;;;wBAvIkB;AAAK,aAAO,KAAK,gBAAZ;AAA+B;;;;;;;;AAwIxD,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA,cAhNK;AAgNL;;AAhNM;AAAA,UADL;AAAA,UAtBe;AAsBf,GACK,EADiB;AAAE,UAhBvB,sDAAQ;AAgBa,GACjB,EAhBJ;AAAA;AAAA;AAAA,YA6B2E,oDA7B3E;AA6BiF,aAAC,yDAAD;AA7BjF;AAAA,GAgBI,EAa+F;AAAA,UArB7F;AAqB6F,GAb/F,EARe;AAAA,UAPnB,8DAAgB;AAOG,GAQf,EAdJ;AAAA,UAFA,oDAAM;AAEN,GAcI;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAfH,C;ACJH;AACA;AACA;AACA;AACA;AACA;;;IAEa,Q;AACX,oBACY,UADZ,EAC0D,SAD1D,EACuF,WADvF,EAEY,OAFZ,EAEmC;AAAA;;AADvB;AAA8C;AAA6B;AAC3E;AAA2B;AACzC;AAEC;AACE;AACE;AACE;AACE;AAEH;AAAO;AAEJ;;;;;yBAAF,O,EAA2C;AAAA,UAA7B,OAA6B,uEAAF,EAAE;AAC9C,UAAM,eAAe,GAAG,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,KAAK,OAAvB,EAAgC,OAAhC,CAAxB;AACA,aAAO,KAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAK,UAA3B,EAAuC,KAAK,SAA5C,EAAuD,OAAvD,EAAgE,eAAhE,CAAP;AACD;AACH;AAEC;AACE;;;;;AAEH;AAEC;AACE;AACE;AAEJ;+BAAY,M,EAAY;AAAI,WAAK,WAAL,CAAiB,UAAjB,CAA4B,MAA5B;AAAsC;AACnE;AAEC;AACE;AACE;AAEJ;;;;oCAAc;AAAc,aAAO,KAAK,WAAL,CAAiB,aAAjB,EAAP;AAA0C;;;wBAdlD;AAAK,aAAO,KAAK,WAAL,CAAiB,eAAxB;AAA0C;;;;;;;;AAenE,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA,cAtCK;AAsCL;;AAtCM;AAAA,UADL;AAAA,UAZqD;AAYrD,GACK,EAD0B;AAAA,UAZZ,sDAAQ;AAYI,GAC1B,EAb0B;AAAA,UAIxB;AAJwB,GAa1B,EATmB;AAAA,UAFA;AAEA,GASnB;AAAA;;;;;;;;;;;;;;;;;;;;;AAXsC,C;;ICc/B,c;;;;qFALZ;AAAA,MAAQ;AAAR,C;AACC,sBAAe,+DAAkB;AAAA,SAAe,kCAC9B,CAD8B,EAC9B;AAAA,gBAAkB,mBAAlB;AAAiC,GADlB;AACkB,WACnD;AAFiC,CAAlB,CAAf;;AAEoB,CAAC;AACtB;AAAA;AAAA;AAAA,CADqB;;;;;;;;;;;;;AAEjB,C;ACbL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,Y,GAOX,sBAAY,SAAZ,EAAgC;AAAA;;AALhC,uBAAgB,IAAhB;AACA,qBAAyC,YAAzC;AACA,eAA2B,SAA3B;AACA,kBAAyC,KAAzC;AAEoC,OAAK,SAAL,GAAiB,SAAS,CAAC,SAA3B;AAAuC,C;;;;AAC5E,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA,cATK;AASL;;AATM;AAAA,UADL;AAAA,UAVgB;AAUhB,GACK;AAAA;AADiB;;;AAAQ,aAAC;AAAA;kEAAA;;;;AAAA,M;;;;GAAA,E,IAAA;AAVV,CAUS;;ACe/B,IAAM,YAAY,GAAG,SAAf,YAAe,CAAC,EAAD;AAAA,SAAa,SAAS,CAAC,EAAD,CAAT,IAAiB,EAAE,KAAK,EAArC;AAAA,CAArB;;AACA;AACA,IAAI,UAAU,GAAG,CAAjB;AAiBA;AACA;AACA;AACA;AACA;;IAEa,a,GACX,uBAAmB,WAAnB,EAAgD;AAAA;;AAA7B;AAAiC,C;;8BAFrD,qB,CAAS,C,EAAA;AAAA,SAAE,KAAQ,KAAE,aAAV,EAAU,gEAA6B,yDAA7B,CAAV,CAAF;AAAyC,C;;;;+CAC9C,E;;;AAAC;AAAA,UACU;AAAA,UApCd,yDAAW;AAoCG,GADV;AAAA;;;;;;;;;;;;;;;AAlCF,C;AAuCJ;AACA;AACA;AACA;AACA;;;IAEa,U;AAmDX,sBAA8C,GAA9C,EAA0D,UAA1D,EAAqF;AAAA;;AAA3B;AAA4B;AAC/E;AAIL;AAAW;AAEA;;AA5CJ,oBAAW,KAAX;AACX;AAEK;AACwD;AAAW;AAEtE;;AAkBU,iBAAQ,IAAI,0DAAJ,EAAR;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,kBAAS,IAAI,0DAAJ,EAAT,CAM2E,CALvF;;AAOI,SAAK,IAAL,GAAY,GAAZ;AACD;;;;4CAEoB;AACvB;AACI;AACI;AACI;AACR,WAAK,UAAL,GAAkB,KAAK,WAAL,CAAiB,KAAnC;AACD;;;+BAEO;AACN,UAAI,CAAC,SAAS,CAAC,KAAK,KAAN,CAAd,EAA4B;AAC1B,aAAK,KAAL,qBAAwB,UAAU,EAAlC;AACD;AACF;;;mCAQW;AACV,aAAO,CAAC,SAAS,CAAC,KAAK,aAAN,CAAT,GAAgC,CAAC,KAAK,aAAtC,GAAsD,CAAC,KAAK,IAAL,CAAU,aAAlE,KAAoF,KAAK,MAAhG;AACD;;;wBARS;AAAK,aAAO,KAAK,IAAL,CAAU,QAAV,KAAuB,KAAK,EAAnC;AAAwC;;;wBAEjD;AAAK,aAAO,YAAY,CAAC,KAAK,GAAN,CAAZ,GAAyB,KAAK,GAA9B,GAAoC,KAAK,KAAhD;AAAwD;;;wBAErD;AAAK,uBAAU,KAAK,KAAf;AAA+B;;;;;;2BA3EnD,kB,CAAA,C,EAAS;AAAA,SAAE,UAAU,UAAV,EAAU,gEAA0B,gEAAoB,CAAC;AAAA;AAAA,GAAD,CAA9C,CAAV,EAAyD,gEAA4B,wDAA5B,CAAzD,CAAF;AAAuF,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAC5F,Y;;;AAAC;AAAA,UAAoC;AAAA;AAAA;AAAA,YAmD3B,oDAnD2B;AAmDrB,aAAC,gEAAU,CAAC;AAAA,eAAM,MAAN;AAAA,OAAD,CAAX;AAnDqB;AAAA,GAApC,EAmDiD;AAAA,UA1GrD,wDAAU;AA0G2C,GAnDjD;AAAA;;AAtDF;AAEA;AAAA,UA2DD,mDAAK;AA3DJ,IAFA;AA6DS;AAAA,UAOV,mDAAK;AAPK,IA7DT;AAoES;AAAA,UAQV,mDAAK;AARK,IApET;AA4ES;AAAA,UASV,mDATU;AASL,WAAC,YAAD;AATK,IA5ET;AAqFwB;AAAA,UAOzB,oDAAM;AAPmB,IArFxB;AA4FU;AAAA,UAOX,oDAAM;AAPK,IA5FV;AAmGU;AAAA,UAIX,6DAJW;AAII,WAAC,aAAD,EAAgB;AAAC,iBAAW,EAAE;AAAd,KAAhB;AAJJ;AAnGV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuG0D,C;AAiC9D;AACA;AACA;AACA;AACA;;;IAiBa,M;AAkFX,kBAC8B,IAD9B,EAC4C,MAD5C,EAC0E,GAD1E,EAE8B,SAF9B,EAE4C;AAAA;;AADd;AAA4C;AAC5C;AAAe;AACtC;AACmB;AAE3B;AAAW;AAKE;;AA5EF,0BAAiB,IAAI,0DAAJ,EAAjB;AACZ;AAEK;AAIgB;AAErB;AAC6D;AACrD;AAAwB;;AAsCpB,iBAAQ,IAAI,0DAAJ,EAAR;AACZ;AAEK;AAEC;AAAW;AAGjB;AACK;AAAwB;;AAAjB,kBAAS,IAAI,0DAAJ,EAAT;AAKV,0BAAiB,IAAI,6CAAJ,EAAjB;AACF;AACW;AAC4E;AAAW;AAGlF;AAAW;AAGvB;;AAUQ,qBAAY,IAAI,0DAAJ,EAAZ;AAdR,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,aAAL,GAAqB,MAAM,CAAC,aAA5B;AACA,SAAK,WAAL,GAAmB,MAAM,CAAC,WAA1B;AACA,SAAK,KAAL,GAAa,MAAM,CAAC,KAApB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACD;;;;0BAWK,I,EAAgB;AACpB,UAAI,CAAC,IAAI,CAAC,QAAV,EAAoB;AAClB,aAAK,eAAL,CAAqB,IAAI,CAAC,EAA1B;AACD;AACF;;;8BAES,K,EAAoB;AAAA;;AAC5B,UAAI,KAAK,KAAL,KAAe,SAAf,IAA4B,CAAC,KAAK,QAAtC,EAAgD;AAC9C;AACD,OAH2B,CAIhC;;;AACI,UAAM,GAAG,GAAG,KAAK,CAAC,KAAlB;AACA,UAAM,YAAY,GAAG,KAAK,KAAL,CAAW,MAAX,CAAkB,cAAI;AAAA,eAAI,CAAC,IAAI,CAAC,OAAL,CAAa,QAAlB;AAAA,OAAtB,CAArB;AAN4B,UAOrB,MAPqB,GAOX,YAPW,CAOrB,MAPqB;AAS5B,UAAI,QAAQ,GAAG,CAAC,CAAhB;AAEA,kBAAY,CAAC,OAAb,CAAqB,UAAC,IAAD,EAAO,KAAP,EAAY;AAC/B,YAAI,IAAI,CAAC,KAAL,CAAW,aAAX,KAA6B,OAAI,CAAC,SAAL,CAAe,aAAhD,EAA+D;AAC7D,kBAAQ,GAAG,KAAX;AACD;AACF,OAJD;;AAMA,UAAI,MAAJ,EAAY;AACV,gBAAQ,GAAR;AACE,eAAK,GAAG,CAAC,SAAT;AACE,gBAAI,KAAK,WAAL,KAAqB,UAAzB,EAAqC;AACnC;AACD;;AACD,oBAAQ,GAAG,CAAC,QAAQ,GAAG,CAAX,GAAe,MAAhB,IAA0B,MAArC;AACA;;AACF,eAAK,GAAG,CAAC,UAAT;AACE,gBAAI,KAAK,WAAL,KAAqB,UAAzB,EAAqC;AACnC;AACD;;AACD,oBAAQ,GAAG,CAAC,QAAQ,GAAG,CAAZ,IAAiB,MAA5B;AACA;;AACF,eAAK,GAAG,CAAC,SAAT;AACE,gBAAI,KAAK,WAAL,KAAqB,YAAzB,EAAuC;AACrC;AACD;;AACD,oBAAQ,GAAG,CAAC,QAAQ,GAAG,CAAZ,IAAiB,MAA5B;AACA;;AACF,eAAK,GAAG,CAAC,OAAT;AACE,gBAAI,KAAK,WAAL,KAAqB,YAAzB,EAAuC;AACrC;AACD;;AACD,oBAAQ,GAAG,CAAC,QAAQ,GAAG,CAAX,GAAe,MAAhB,IAA0B,MAArC;AACA;;AACF,eAAK,GAAG,CAAC,IAAT;AACE,oBAAQ,GAAG,CAAX;AACA;;AACF,eAAK,GAAG,CAAC,GAAT;AACE,oBAAQ,GAAG,MAAM,GAAG,CAApB;AACA;AA9BJ;;AAgCA,YAAI,KAAK,QAAL,KAAkB,kBAAtB,EAA0C;AACxC,eAAK,MAAL,CAAY,YAAY,CAAC,QAAD,CAAZ,CAAuB,OAAvB,CAA+B,EAA3C;AACD;;AACD,oBAAY,CAAC,QAAD,CAAZ,CAAuB,KAAvB,CAA6B,aAA7B,CAA2C,KAA3C;AAEA,aAAK,CAAC,cAAN;AACD;AACF;AACH;AAEC;AACE;AACE;;;;2BACI,E,EAAO;AAAI,WAAK,eAAL,CAAqB,EAArB,EAAyB,KAAzB;AAAkC;;;yCAElC;AAChB,UAAI,CAAC,SAAS,CAAC,KAAK,QAAN,CAAd,EAA+B;AAC7B,YAAM,OAAM,GAAG,KAAK,KAAL,CAAW,KAAX,GAAmB,KAAK,KAAL,CAAW,KAAX,CAAiB,EAApC,GAAyC,IAAxD;;AACA,YAAI,YAAY,CAAC,OAAD,CAAhB,EAA0B;AACxB,eAAK,eAAL,CAAqB,OAArB,EAA6B,KAA7B;;AACA,eAAK,GAAL,CAAS,aAAT;AACD;AACF;AACF;;;wCAEoC;AAAA,UAAxB,QAAwB,UAAxB,QAAwB;;AACnC,UAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAA1B,EAAuC;AACrC,aAAK,kBAAL,CAAwB,QAAQ,CAAC,YAAjC;AACD;AACF;;;oCAEuB,M,EAAiC;AAAA,UAApB,aAAoB,uEAAJ,IAAI;;AACvD,UAAI,KAAK,QAAL,KAAkB,MAAtB,EAA8B;AAC5B,YAAI,gBAAgB,GAAG,KAAvB;;AAEA,YAAI,aAAJ,EAAmB;AACjB,eAAK,SAAL,CAAe,IAAf,CAAoB;AAAC,oBAAQ,EAAE,KAAK,QAAhB;AAA0B,kBAAM,EAAN,MAA1B;AAAkC,0BAAc,EAAE;AAAQ,8BAAgB,GAAG,IAAnB;AAA0B;AAApF,WAApB;AACD;;AAED,YAAI,CAAC,gBAAL,EAAuB;AACrB,eAAK,QAAL,GAAgB,MAAhB;AACA,eAAK,cAAL,CAAoB,IAApB,CAAyB,MAAzB;;AACA,eAAK,kBAAL,CAAwB,MAAxB;AACD;AACF;AACF;;;uCAE0B,U,EAAe;AAAI,WAAK,cAAL,CAAoB,IAApB,CAAyB,KAAK,YAAL,CAAkB,UAAlB,CAAzB;AAA0D;;;iCAEnF,M,EAAW;AAC9B,aAAO,KAAK,KAAL,IAAc,KAAK,KAAL,CAAW,IAAX,CAAgB,cAAI;AAAA,eAAI,IAAI,CAAC,EAAL,KAAY,MAAhB;AAAA,OAApB,CAAd,IAA6D,IAApE;AACD;;;;;;uBAhOF,c,CAAA,C,EAAA;AAAS,cAAC,WAAD,EAAC,gEACW,MADX,CAAD,EACY,gEACF,YADE,CADZ,EAEU,gEACZ,+DADY,CAFV,EAIe,gEACrB,yDADqB,CAJf;AAKN,C;;AAAqB,MAAE,KAAF,GAAE,gEAA4B;AAAA;AACnD,6BAA2B,EAA3B,EADmD;AACxB;AAAA,QAA4E,MAA5E,EAA4E;AACvG,mEAAe,QAAf,EAAe,UAAf,EAAe,KAAf;AAA4D,6EAC5D,UAD4D,EACvC,IADuC;;;UAClB,I,EAAA;;;AAC1C,mEAAwB,gEAAxB,MAA2C,IAC3C,KAD2C,GAC3C,EADA;AACqB,mEAAqB,gEAArB,MACrB,YAAqB,EADA;;GAL8B;AAMX,aANW;AAMX,gBACxC,6BAAkB,EAAlB,EAAkB,GAAlB,EAAqC;AAAA;AACrC,+DAAiB,mBAAjB,EAAoC,qDAEvC,MAFuC,EAEvC;AAAA;AAAA,OAFG,EAEH,oBAFG,EAEH;AAAA;AAAA,OAFG,EAEH,mBAFG,EAEH;AAAA;AAAA,OAFG,EAEH,iBAFG,EAEH;AAAA;AAAA,OAFG,EAEH,cAFG,EAEH;AAAA;AAAA,OAFG,EAEH,aAFG,EAEH;AAAA;AAAA,OAFG;;;;;;;GARmD;;;;;;;;GAAA;;;;;;GAAA;sBAAA;;AAAA,CAA5B,CAAF;;AAWnB;AAAA,UAAgC;AAAA;AAAA;AAAA,YAmF/B,uDAnF+B;AAmFtB,aAAC,MAAD;AAnFsB;AAAA,GAAhC,EAmF0B;AAAA,UAjOxB;AAiOwB,GAnF1B,EA9IkB;AAAA,UAnBtB,+DAAiB;AAmBK,GA8IlB,EAhKJ;AAAA;AAAA;AAAA,YAoPK,oDApPL;AAoPW,aAAC,yDAAD;AApPX;AAAA,GAgKI;AAAA;;AAoF2B;AACxB;AAAA,UA5EN,mDAAK;AA4EC,IADwB;AA3EpB;AAAA,UAQV,oDAAM;AARI,IA2EoB;AAnEnB;AAAA,UAOX,mDAAK;AAPM,IAmEmB;AA5DpB;AAAA,UAMV,mDAAK;AANK,IA4DoB;AAtDpB;AAAA,UAOV,mDAAK;AAPK,IAsDoB;AA/CpB;AAAA,UAOV,mDAAK;AAPK,IA+CoB;AAxCpB;AAAA,UAaV,mDAAK;AAbK,IAwCoB;AA3BpB;AAAA,UASV,oDAAM;AATI,IA2BoB;AAlBnB;AAAA,UASX,oDAAM;AATK,IAkBmB;AATnB;AAAA,UAEX,6DAFW;AAEI,WAAC,UAAD;AAFJ,IASmB;AAPG;AAAA,UACjC,6DADiC;AAClB,WAAC,gEAAU,CAAC;AAAA,aAAM,UAAN;AAAA,KAAD,CAAX,EAA+B;AAAC,iBAAW,EAAE;AAAd,KAA/B;AADkB,IAOH;AAN0C;AAAA,UAqBxE,oDAAM;AArBkE;AAM1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAelB,C;AAiHf;AACA;AACA;AACA;AACA;;;IAkBa,U;AACX,sBAC8B,IAD9B,EACmD,OADnD,EAC+E,GAD/E,EAEW,KAFX,EAE4B;AAAA;;AADE;AAAqB;AAA4B;AACpE;AAAqB;;;;sCAEjB;AACjB;AACI,aAAO,KAAK,OAAL,CAAa,UAAb,CAAwB,aAAxB,CAAsC,QAAtC,KAAmD,IAAI,CAAC,YAA/D;AACD;;;;;;2BAzBF,kB,CAAA,C,EAAS;AAAA,SAAC,sBACT,gEAAyB,MAAzB,CADS,EACgB,gEACnB,UADmB,CADhB,EAGD,gEAAiB,MAAjB,CAHC,EAGgB,gEACH,wDADG,CAHhB,CAAD;AAIoB,C;;AAC1B,kFAAuC;AAAA;AAAA,WACvC,SAAe,YAAf,EAAe,EAAf,EADuC;AACxB,yBADwB;AACqB,cADrB;AACqB,cACtD,EAAE,SAAE,uBAAF,CACR,EADQ,EACR,GADQ,EACU;AAAA;AAAgB,+DAClC,OADkC,EAClC,SAAoB,mCAApB,CAAsC,MAAtC,EACA;AAAA,sBAAmB,WAAnB;AAAmB;AAAmC,OAFpB;AAGlC;;AAAA;AAAwB;AAAoD,gEAC5E,MAD4E,EAC5E,cAAsB,CAAE,IAAxB,GAAwB,gBAAgB,KAAhB,GAAgB,SADoC,EAE5E,UAF4E,EAE5E,YAAwB,QAAxB,GAAwB,EAAxB,GAA0C,SAFkC,EAElC,eAFkC,EAG5E,GAAW,QAAX,CAAW,YAAX,KAAW,sBAAX,GAAwD,IAHoB,EAGpB,eAHoB,EAI7E,GACF,QADE,CACF,MAL+E,EAK/E,eAL+E,EAK/E,oBAL+E;;;AAM3E;AAZsC,CAAvC;;AAYE;AAAA,UAEL;AAAA;AAAA;AAAA,YAAM,uDAAN;AAAe,aAAC,MAAD;AAAf;AAAA,GAFK,EAE0B;AAAA,UAA8B;AAA9B,GAF1B,EAEsE;AAAA,UAAU;AAAV,GAFtE,EAGJ;AAAA,UA3YA,wDAAU;AA2YV,GAHI;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAvYH,C;;ACLI,IAAM,uBAAuB,GAAyB,SAAhD,uBAAgD,SAAY;AAAA,MAAV,SAAU,UAAV,SAAU;AACvE,WAAS,CAAC,MAAV,CAAiB,MAAjB;AACA,SAAO;AAAA,WAAM,SAAS,CAAC,MAAV,CAAiB,QAAjB,CAAN;AAAA,GAAP;AACD,CAHM;;AAKA,IAAM,sBAAsB,GAAyB,SAA/C,sBAA+C,CAAC,OAAD,EAAqB;AAC/E,SAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,QAAtB;AACA,QAAM,CAAC,OAAD,CAAN;AACA,SAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,MAAtB;AACD,CAJM;;AAMA,IAAM,8BAA8B,GAAyB,SAAvD,8BAAuD,CAAC,OAAD,EAAqB;AACvF,SAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,QAAtB;AACA,SAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,MAAtB;AACD,CAHM;;ICcM,U,GAKX,oBAAmB,KAAnB,EAAiD;AAAA;;AAA9B;AAAkC,C;;2BAftD,kB,CAAA,C,EAAS;AAAA,SAAC,sBACT,gEAAwB,wDAAxB,CADS,CAAD;AAEF,C;;WACJ,I,GAAA,gEAAyB;AAAA;AACzB,WAAS,sBAAU,EAAV,EADgB;AACN,WACnB,iBAFyB;AAET,UAAe,GAFN;AAEM,yBAC/B,uBAD+B,CAChB,EADgB,EAChB,GADgB,EAChB;AAAA;AAAkD,mEACjE,IADiE,EACjE,mBADiE;AAC3B,wEACvC,WACF,QADE,GACF,sCAFyC,EAEzC,iBAFyC,EAEzC,cAFyC;;;GAJb;;;;UAOxB;;AAPwB,CAAzB,C;;AAOE;AAAA,UACU;AAAA,UAxBd,wDAAU;AAwBI,GADV;AAAA;;AAtBF;AAEQ;AAAA,UAqBT,mDAAK;AArBI,IAFR;AAuBS;AAAA,UACV,mDAAK;AADK,IAvBT;AAwBS;AAAA,UACV,mDAAK;AADK;AAxBT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBU,C;AAKd;AACA;AACA;AACA;AACA;;;IAca,Y;AAeX,wBAAoB,GAApB,EAA0C;AAAA;;AAAtB;AAdZ,uBAAiC,IAAjC;AAcsC;;;;yCAEzB,I,EAAgB;AAAA;;AAAI,aAAO,YAAK,WAAL,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAG,IAAnB,MAA4B,IAAnC;AAA0C;;;sCAEpE;AAAA;;AACjB,qBADiB,CAEhB;;;AAAG,WAAK,WAAL,GAAmB,KAAK,cAAL,EAAnB;AACA,iBAAK,WAAL,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAG,KAAH,CAAS,aAAT,CAAuB,SAAvB,CAAiC,GAAjC,CAAqC,MAArC,CAAhB;AACA,iBAAK,WAAL,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAG,KAAH,CAAS,aAAT,CAAuB,SAAvB,CAAiC,GAAjC,CAAqC,QAArC,CAAhB,CAJa,CAKjB;;AAEI,WAAK,GAAL,CAAS,cAAT,CACG,IADH,CACQ,iEAAS,CAAC,YAAK,WAAL,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAG,IAAnB,KAA2B,IAA5B,CADjB,EACoD,4EAAoB,EADxE,EAC4E,4DAAI,CAAC,CAAD,CADhF,EAEG,SAFH,CAEa,kBAAQ;AACnB,YAAM,OAAO,GAAoC;AAAC,mBAAS,EAAE,OAAI,CAAC,GAAL,CAAS,SAArB;AAAgC,2BAAiB,EAAE;AAAnD,SAAjD,CADmB,CAEzB;;AAEM,YAAI,OAAI,CAAC,WAAT,EAAsB;AACpB,0BAAgB,CAAC,OAAI,CAAC,WAAL,CAAiB,KAAjB,CAAuB,aAAxB,EAAuC,uBAAvC,EAAgE,OAAhE,CAAhB,CAAyF,SAAzF,CAAmG;AAC3G;;AAAU,gBAAM,UAAU,SAAG,OAAI,CAAC,WAAR,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAG,IAAtC,CADiG,CAE3G;AAES;;AACC,mBAAI,CAAC,GAAL,CAAS,aAAT;;AAEA,mBAAI,CAAC,WAAL,GAAmB,OAAI,CAAC,eAAL,CAAqB,QAArB,CAAnB,CAPiG,CAQ3G;;AAEU,gBAAI,OAAI,CAAC,WAAT,EAAsB;AACpB,kBAAM,gBAAgB,GAAG,OAAI,CAAC,GAAL,CAAS,SAAT,GAAqB,sBAArB,GAA8C,8BAAvE;AACA,8BAAgB,CAAC,OAAI,CAAC,WAAL,CAAiB,KAAjB,CAAuB,aAAxB,EAAuC,gBAAvC,EAAyD,OAAzD,CAAhB,CAAkF,SAAlF,CAA4F;AAC1F,oBAAI,QAAJ,EAAc;AACZ,0BAAQ,CAAC,KAAT,CAAe,IAAf;;AACA,yBAAI,CAAC,GAAL,CAAS,KAAT,CAAe,IAAf,CAAoB,QAAQ,CAAC,EAA7B;AACD;AACF,eALD;AAMD;;AAED,gBAAI,UAAJ,EAAgB;AACd,wBAAU,CAAC,MAAX,CAAkB,IAAlB;;AACA,qBAAI,CAAC,GAAL,CAAS,MAAT,CAAgB,IAAhB,CAAqB,UAAU,CAAC,EAAhC;AACD;AACF,WAxBD;AAyBD;AACA,OAjCH;AAkCD;;;oCAEuB,I,EAAuB;AAC7C,aAAO,KAAK,MAAL,IAAe,KAAK,MAAL,CAAY,IAAZ,CAAiB,cAAI;AAAA,eAAI,IAAI,CAAC,IAAL,KAAc,IAAlB;AAAA,OAArB,CAAf,IAA+D,IAAtE;AACD;;;qCAEqB;AACpB,aAAO,KAAK,MAAL,IAAe,KAAK,MAAL,CAAY,IAAZ,CAAiB,cAAI;AAAA,eAAI,IAAI,CAAC,IAAL,CAAU,MAAd;AAAA,OAArB,CAAf,IAA6D,IAApE;AACD;;;;;;6BAjFF,oB,CAAS,C,EAAA;AAAA,SAAC,wBACC,gEAAgB,+DAAhB,CADD,CAAD;AAED,C;;AAAqB,YAAE,KAAF,GAAS,gEACrC;AAAA,MAAe,cAAf;AAAgC,WAAK,wBAC3B,EAD2B,EAArC;AACU;AAAA;;;;;;;;;GADV;aAAA;;;;;GAAA;;cAQC,U;AAAA,0BACF,KADE;GARD;AASD,aATC;AASD,UATC;AASD,SATC;AASD,kMATC;AASD;AAAA;;;;;;;GATC;8MAAA;iBAUG;AAVH,CADqC,CAAT;;AAWxB;AAAA,UAAsC;AAAA,UApD1C,+DAAiB;AAoDyB,GAAtC;AAAA;;AAnDF;AAEM;AAAA,UAoDP,0DApDO;AAoDK,WAAC,UAAD;AApDL,IAFN;AAsD6B;AAAA,UAK9B,mDAAK;AALyB,IAtD7B;AA2DS;AAAA,UAKV,mDALU;AAKL,WAAC,cAAD;AALK;AA3DT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgE2B,C;;ACzD/B,IAAM,kBAAkB,GAAG,CAAC,aAAD,EAAgB,MAAhB,EAAwB,UAAxB,EAAoC,UAApC,EAAgD,YAAhD,EAA8D,UAA9D,CAA3B;;IAGa,Y;;;;mFADZ;AAAA,MAAQ;AAAR,C;AAAsB,YAAE,KAAF,GAAE,+DAA6B;AAAA,SAAoB,WAAU,oBAAV,CAAwB,CAAxB,EAAwB;AAAA;AAAA,GAA5C;AAA4C;AAA5C,CAA7B,CAAF;;;;;;;;;;;;;;;;;;;;;;;;;;;AAClB,C;ACXL;AACA;AACA;AACA;AACA;AACA;;;IAEa,mB,GADb;AAAA;;AAEE,kBAAW,KAAX;AACA,uBAAgB,KAAhB;AACA,wBAAiB,IAAjB;AACA,kBAAW,IAAX;AACA,iBAAU,CAAV;AACA,kBAAW,EAAX;AACA,gBAAS,KAAT;AAED,C;;;;AACA,C;;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;kEAXD,mB,EAAY;AAAkB,QAAC,0DAAnB;;;;AAAA,I;;;AACR,C;AC4CL;AACA;AACA;AACA;AACA;;;IAEa,qB,GACX,+BAAmB,WAAnB,EAAqE;AAAA;;AAAlD;AAAsD,C;;sCAF1E,6B,CAAU,C,EAAC;AAAA,SAAU,iGAAqC,yDAArC,EAAV;AAA+C,C;;;;uDACtD,E;;;AAAC;AAAA,UACU;AAAA,UAlDd,yDAAW;AAkDG,GADV;AAAA;;;;;;;;;;;;;;;AAhDF,C;AAoDJ;AACA;AACA;AACA;AACA;;;IAEa,kB,GACX,4BAAmB,WAAnB,EAAqE;AAAA;;AAAlD;AAAsD,C;;mCAF1E,0B,CAAS,C,EAAC;AAAC,SAAQ,KAAE,uBAAF,EAAE,gEAAkC,yDAAlC,CAAF,CAAR;AAA4C,C;;;;oDACnD,E;;;AAAC;AAAA,UACU;AAAA,UA5Dd,yDAAW;AA4DG,GADV;AAAA;;;;;;;;;;;;;;;AA1DF,C;AA8DJ;AACA;AACA;AACA;AACA;;;IAEa,iB,GACX,2BAAmB,WAAnB,EAAqE;AAAA;;AAAlD;AAAsD,C;;kCAF1E,yB,CAAS,C,EAAC;AAAC,cAAU,sBAAV,EAAU,gEAAiC,yDAAjC,CAAV;AAA2C,C;;;;mDAClD,E;;;AAAC;AAAA,UACU;AAAA,UAtEd,yDAAW;AAsEG,GADV;AAAA;;;;;;;;;;;;;;;AApEF,C;AAwEJ;AACA;AACA;AACA;AACA;;;IAEa,iB,GACX,2BAAmB,WAAnB,EAAqE;AAAA;;AAAlD;AAAsD,C;;kCAF1E,yB,CAAS,C,EAAC;AAAC,cAAU,sBAAV,EAAU,gEAAiC,yDAAjC,CAAV;AAA2C,C;;;;mDAClD,E;;;AAAC;AAAA,UACU;AAAA,UAhFd,yDAAW;AAgFG,GADV;AAAA;;;;;;;;;;;;;;;AA9EF,C;AAkFJ;AACA;AACA;AACA;AACA;;;IAEa,mB,GACX,6BAAmB,WAAnB,EAAuE;AAAA;;AAApD;AAAwD,C;;oCAF5E,2B,CAAS,C,EAAE;AAAA,SAAQ,KAAE,wBAAF,EAAE,gEAAmC,yDAAnC,CAAF,CAAR;AAA6C,C;;;;qDACpD,E;;;AAAC;AAAA,UACU;AAAA,UA1Fd,yDAAW;AA0FG,GADV;AAAA;;;;;;;;;;;;;;;AAxFF,C;AA4FJ;AACA;AACA;AACA;AACA;;;IAEa,qB,GACX,+BAAmB,WAAnB,EAAqE;AAAA;;AAAlD;AAAsD,C;;sCAF1E,6B,CAAU,C,EAAC;AAAA,SAAU,iGAAqC,yDAArC,EAAV;AAA+C,C;;;;uDACtD,E;;;AAAC;AAAA,UACU;AAAA,UApGd,yDAAW;AAoGG,GADV;AAAA;;;;;;;;;;;;;;;AAlGF,C;AAsGJ;AACA;AACA;;;IAmEa,a;AAgFX,yBAAY,MAAZ,EAAuC;AAAA;;AA/EvC,qBAAY,CAAZ;AACA,iBAAkB,EAAlB;AACF;AACW;AAA8B;AAAW;AACnD;;AAoDU,gBAAO,CAAP;AACX;AAEK;AAK0C;AAAW;AAEnD;AAAW;AAAyC;;AAI/C,sBAAa,IAAI,0DAAJ,CAAyB,IAAzB,CAAb;AAUR,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,aAAL,GAAqB,MAAM,CAAC,aAA5B;AACA,SAAK,cAAL,GAAsB,MAAM,CAAC,cAA7B;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,OAAL,GAAe,MAAM,CAAC,OAAtB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,MAAL,GAAc,MAAM,CAAC,MAArB;AACA,SAAK,IAAL,GAAY,MAAM,CAAC,IAAnB;AACD;;;;kCAEU;AAAc,aAAO,KAAK,IAAL,GAAY,CAAnB;AAAuB;;;8BAEzC;AAAc,aAAO,KAAK,IAAL,GAAY,KAAK,SAAxB;AAAoC;;;mCAE7C;AAAc,aAAO,CAAC,KAAK,OAAL,EAAD,IAAmB,KAAK,QAA/B;AAA0C;;;uCAEpD;AAAc,aAAO,CAAC,KAAK,WAAL,EAAD,IAAuB,KAAK,QAAnC;AAA8C;;;+BAEjE,U,EAAkB;AAAU,WAAK,YAAL,CAAkB,UAAlB;AAAgC;;;gCAE3D,O,EAAsB;AAAU,WAAK,YAAL,CAAkB,KAAK,IAAvB;AAA+B;;;+BAEhE,U,EAAU;AAAa,aAAO,UAAU,KAAK,CAAC,CAAvB;AAA2B;AAC/D;AAEC;AACE;;;;mCACsB,K,EAAe,G,EAAW;AAC/C,UAAI,KAAK,QAAT,EAAmB;AACjB,YAAI,KAAK,GAAG,CAAZ,EAAe;AACrB;AACQ;AACQ;AACQ;AAChB,cAAI,KAAK,GAAG,CAAZ,EAAe;AACb,iBAAK,KAAL,CAAW,OAAX,CAAmB,CAAC,CAApB;AACD,WAFD,MAEO,IAAI,KAAK,KAAK,CAAd,EAAiB;AACtB,iBAAK,KAAL,CAAW,OAAX,CAAmB,CAAnB;AACD;;AACD,eAAK,KAAL,CAAW,OAAX,CAAmB,CAAnB;AACD;;AACD,YAAI,GAAG,GAAG,KAAK,SAAf,EAA0B;AAChC;AACQ;AACQ;AACQ;AAChB,cAAI,GAAG,GAAI,KAAK,SAAL,GAAiB,CAA5B,EAAgC;AAC9B,iBAAK,KAAL,CAAW,IAAX,CAAgB,CAAC,CAAjB;AACD,WAFD,MAEO,IAAI,GAAG,KAAM,KAAK,SAAL,GAAiB,CAA9B,EAAkC;AACvC,iBAAK,KAAL,CAAW,IAAX,CAAgB,KAAK,SAAL,GAAiB,CAAjC;AACD;;AACD,eAAK,KAAL,CAAW,IAAX,CAAgB,KAAK,SAArB;AACD;AACF;AACF;AACH;AAEC;AACE;AAEH;AAAO;AACE;AACE;AAEJ;;;;qCAAiB;AACpB,UAAI,KAAK,GAAG,CAAZ;AACA,UAAI,GAAG,GAAG,KAAK,SAAf;AACA,UAAI,UAAU,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,OAAL,GAAe,CAA1B,CAAjB;AACA,UAAI,WAAW,GAAG,KAAK,OAAL,GAAe,CAAf,KAAqB,CAArB,GAAyB,UAAU,GAAG,CAAtC,GAA0C,UAA5D;;AAEA,UAAI,KAAK,IAAL,IAAa,UAAjB,EAA6B;AACjC;AACM,WAAG,GAAG,KAAK,OAAX;AACD,OAHD,MAGO,IAAI,KAAK,SAAL,GAAiB,KAAK,IAAtB,GAA6B,UAAjC,EAA6C;AACxD;AACM,aAAK,GAAG,KAAK,SAAL,GAAiB,KAAK,OAA9B;AACD,OAHM,MAGA;AACX;AACM,aAAK,GAAG,KAAK,IAAL,GAAY,UAAZ,GAAyB,CAAjC;AACA,WAAG,GAAG,KAAK,IAAL,GAAY,WAAlB;AACD;;AAED,aAAO,CAAC,KAAD,EAAQ,GAAR,CAAP;AACD;AACH;AAEC;AACE;;;;uCACuB;AACtB,UAAI,IAAI,GAAG,IAAI,CAAC,IAAL,CAAU,KAAK,IAAL,GAAY,KAAK,OAA3B,IAAsC,CAAjD;AACA,UAAI,KAAK,GAAG,IAAI,GAAG,KAAK,OAAxB;AACA,UAAI,GAAG,GAAG,KAAK,GAAG,KAAK,OAAvB;AAEA,aAAO,CAAC,KAAD,EAAQ,GAAR,CAAP;AACD;;;oCAEuB,S,EAAS;AAC/B,UAAM,UAAU,GAAG,KAAK,IAAxB;AACA,WAAK,IAAL,GAAY,eAAe,CAAC,SAAD,EAAY,KAAK,SAAjB,EAA4B,CAA5B,CAA3B;;AAEA,UAAI,KAAK,IAAL,KAAc,UAAd,IAA4B,QAAQ,CAAC,KAAK,cAAN,CAAxC,EAA+D;AAC7D,aAAK,UAAL,CAAgB,IAAhB,CAAqB,KAAK,IAA1B;AACD;AACF;;;iCAEoB,O,EAAe;AAClC,WAAK,SAAL,GAAiB,IAAI,CAAC,IAAL,CAAU,KAAK,cAAL,GAAsB,KAAK,QAArC,CAAjB;;AAEA,UAAI,CAAC,QAAQ,CAAC,KAAK,SAAN,CAAb,EAA+B;AAC7B,aAAK,SAAL,GAAiB,CAAjB;AACD,OALiC,CAMtC;;;AAEI,WAAK,KAAL,CAAW,MAAX,GAAoB,CAApB;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,IAAI,KAAK,SAA1B,EAAqC,CAAC,EAAtC,EAA0C;AACxC,aAAK,KAAL,CAAW,IAAX,CAAgB,CAAhB;AACD,OAXiC,CAYtC;;;AAEI,WAAK,eAAL,CAAqB,OAArB,EAdkC,CAetC;;;AAEI,UAAI,KAAK,OAAL,GAAe,CAAf,IAAoB,KAAK,SAAL,GAAiB,KAAK,OAA9C,EAAuD;AACrD,YAAI,KAAK,GAAG,CAAZ;AACA,YAAI,GAAG,GAAG,KAAK,SAAf,CAFqD,CAG3D;;AAEM,YAAI,KAAK,MAAT,EAAiB;AAAA,qCACA,KAAK,cAAL,EADA;;AAAA;;AACd,eADc;AACP,aADO;AAEhB,SAFD,MAEO;AAAA,sCACU,KAAK,gBAAL,EADV;;AAAA;;AACJ,eADI;AACG,aADH;AAEN;;AAED,aAAK,KAAL,GAAa,KAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB,EAAwB,GAAxB,CAAb,CAXqD,CAY3D;;AAEM,aAAK,cAAL,CAAoB,KAApB,EAA2B,GAA3B;AACD;AACF;;;;;;8BA7RF,qB,CAAS,C,EAAA;AAAA,SAAC,yBACC,gEAAgB,mBAAhB,CADD,CAAD;AAES,C;;qBAAuB,gEACxC;AAAA,MAAM,EAAC,aAAP;AAAe,WAAa,sBAA5B;AACQ,gBAAE;AAAA;;;;;;;;;;;;;;;;;;;GADV;mCAAA;;;;;;;;;;;;GAAA;;;GAAA;gFAAA;WAAA;SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDA6DC,iB,EAAA;AACF;;;;;;;;;;;;;;;;GA9DC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA;kMAAA;kBAAA;mBA+DG;AA/DH,CADwC,C;;AAgEpC;AAAA,UAAuC;AAAA,UAzKrC;AAyKqC,GAAvC;AAAA;;AAzK2B;AAG7B;AAAA,UA0KD,0DA1KC;AA0KW,WAAC,qBAAD,EAAwB;AAAC,YAAM,EAAE;AAAT,KAAxB;AA1KX,IAH6B;AA6K4B;AAAA,UAC1D,0DAD0D;AAC9C,WAAC,kBAAD,EAAqB;AAAC,YAAM,EAAE;AAAT,KAArB;AAD8C,IA7K5B;AA8KyB;AAAA,UACvD,0DADuD;AAC3C,WAAC,iBAAD,EAAoB;AAAC,YAAM,EAAE;AAAT,KAApB;AAD2C,IA9KzB;AA+KwB;AAAA,UACtD,0DADsD;AAC1C,WAAC,iBAAD,EAAoB;AAAC,YAAM,EAAE;AAAT,KAApB;AAD0C,IA/KxB;AAgLwB;AAAA,UACtD,0DADsD;AAC1C,WAAC,mBAAD,EAAsB;AAAC,YAAM,EAAE;AAAT,KAAtB;AAD0C,IAhLxB;AAiL0B;AAAA,UACxD,0DADwD;AAC5C,WAAC,qBAAD,EAAwB;AAAC,YAAM,EAAE;AAAT,KAAxB;AAD4C,IAjL1B;AAkL4B;AAAA,UAK1D,mDAAK;AALqD,IAlL5B;AAuLpB;AAAA,UAKV,mDAAK;AALK,IAvLoB;AA4LpB;AAAA,UAKV,mDAAK;AALK,IA5LoB;AAiMpB;AAAA,UAKV,mDAAK;AALK,IAjMoB;AAsMpB;AAAA,UAOV,mDAAK;AAPK,IAtMoB;AA6MpB;AAAA,UASV,mDAAK;AATK,IA7MoB;AAsNpB;AAAA,UAKV,mDAAK;AALK,IAtNoB;AA2NpB;AAAA,UAOV,mDAAK;AAPK,IA3NoB;AAkOpB;AAAA,UAKV,mDAAK;AALK,IAlOoB;AAuOpB;AAAA,UASV,oDAAM;AATI,IAvOoB;AAgPnB;AAAA,UAOX,mDAAK;AAPM;AAhPmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuPnB,C;;AC5Od,IAAM,UAAU,GAAG,CACjB,aADiB,EACF,qBADE,EACqB,kBADrB,EACyC,iBADzC,EAC4D,iBAD5D,EAC+E,mBAD/E,EAEjB,qBAFiB,CAAnB;;IAMa,mB;;;;0FADZ;AAAA,MAAQ;AAAR,C;AAAkC,mBAAW,KAAX,GAAW,+DAAsB;AAAa,SAAC;AAAA;AAAA,GAAd;AAAc;AAAd,CAAtB,CAAX;;;;;;;;;;;;;;;;;;;;;;;;;;;AAC9B,C;;IC1BQ,O;AACX,mBAAmB,IAAnB,EAAwC,KAAxC,EAAsD;AAAA;;AAAnC;AAAqB;;AACtC,QAAI,CAAC,KAAL,EAAY;AACV,WAAK,KAAL,GAAa,IAAb;AACD;AACF;;;;+BAEO;AAAK,aAAO,KAAK,IAAL,KAAc,QAAd,IAA0B,KAAK,KAAL,KAAe,QAAhD;AAA2D;;;;;;AAG1E,IAAM,eAAe,GAAG;AACtB,WAAS,CAAC,YAAD,EAAe,YAAf,CADa;AAEtB,WAAS,CAAC,SAAD,EAAY,UAAZ;AAFa,CAAxB;;AAIA,SACgB,aADhB,CAC8B,QAD9B,EACyE;AAAA,MAAzB,OAAyB,uEAAf,eAAe;AACvE,MAAM,eAAe,GAAG,CAAC,QAAQ,IAAI,EAAb,EAAiB,IAAjB,EAAxB;;AAEA,MAAI,eAAe,CAAC,MAAhB,KAA2B,CAA/B,EAAkC;AAChC,WAAO,EAAP;AACD;;AAED,MAAM,cAAc,GAAG,eAAe,CAAC,KAAhB,CAAsB,KAAtB,EAA6B,GAA7B,CAAiC,iBAAO;AAAA,WAAI,OAAO,CAAC,KAAR,CAAc,GAAd,CAAJ;AAAA,GAAxC,EAAgE,GAAhE,CAAoE,UAAC,WAAD,EAAY;AACrG,QAAI,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAD,CAAZ,CAAP,IAA2B,WAAvC;AACA,WAAO,IAAI,OAAJ,CAAY,KAAK,CAAC,CAAD,CAAjB,EAAsB,KAAK,CAAC,CAAD,CAA3B,CAAP;AACD,GAHsB,CAAvB;AAKA,MAAM,cAAc,GAAG,cAAc,CAAC,MAAf,CAAsB,qBAAW;AAAA,WAAI,WAAW,CAAC,QAAZ,EAAJ;AAAA,GAAjC,CAAvB;;AAEA,MAAI,cAAc,CAAC,MAAf,GAAwB,CAA5B,EAA+B;AAC7B,UAAM,0DAAN;AACD;;AAED,MAAI,cAAc,CAAC,MAAf,KAA0B,CAA1B,IAA+B,cAAc,CAAC,MAAf,GAAwB,CAA3D,EAA8D;AAC5D,UAAM,0EAAN;AACD;;AAED,SAAO,cAAP;AACD;;AACD,SACgB,eADhB,CAEI,QAFJ,EAEyB,aAFzB,EAEqD,QAFrD,EAE0E,UAF1E,EAEmG;AACjG,SAAO,IAAI,gDAAJ,CAAwB,oBAAU;AACvC,QAAM,SAAS,GAAe,EAA9B;;AACA,QAAM,MAAM,GAAG,SAAT,MAAS;AAAA,aAAM,UAAU,CAAC,IAAX,CAAgB,IAAhB,CAAN;AAAA,KAAf;;AACA,QAAM,OAAO,GAAG,SAAV,OAAU;AAAA,aAAM,UAAU,CAAC,IAAX,CAAgB,KAAhB,CAAN;AAAA,KAAhB;;AACA,QAAM,QAAQ,GAAG,SAAX,QAAW;AAAA,aAAM,UAAU,CAAC,IAAX,CAAgB,CAAC,UAAU,EAA3B,CAAN;AAAA,KAAjB;;AAEA,YAAQ,CAAC,OAAT,CAAiB,UAAC,OAAD,EAAiB;AAChC,UAAI,OAAO,CAAC,IAAR,KAAiB,OAAO,CAAC,KAA7B,EAAoC;AAClC,iBAAS,CAAC,IAAV,CAAe,QAAQ,CAAC,MAAT,CAAgB,aAAhB,EAA+B,OAAO,CAAC,IAAvC,EAA6C,QAA7C,CAAf;AACD,OAFD,MAEO;AACL,iBAAS,CAAC,IAAV,CACI,QAAQ,CAAC,MAAT,CAAgB,aAAhB,EAA+B,OAAO,CAAC,IAAvC,EAA6C,MAA7C,CADJ,EAEI,QAAQ,CAAC,MAAT,CAAgB,aAAhB,EAA+B,OAAO,CAAC,KAAvC,EAAgD,OAAhD,CAFJ;AAGD;AACF,KARD;AAUA,WAAO;AAAQ,eAAS,CAAC,OAAV,CAAkB,uBAAa;AAAA,eAAI,aAAa,EAAjB;AAAA,OAA/B;AAAsD,KAArE;AACD,GAjBM,CAAP;AAkBD;;AAED,IAAM,WAAW,GAAG,SAAd,WAAc,CAAI,IAAJ;AAAA,SAAqB,IAAI,GAAG,CAAP,GAAW,6DAAK,CAAI,IAAJ,CAAhB,GAA4B,UAAC,CAAD;AAAA,WAAsB,CAAtB;AAAA,GAAjD;AAAA,CAApB;;AACA;;AACyB,SAAT,YAAS,CAAI,SAAJ,EAAuB,UAAvB,EAA2C,UAA3C,EAAoE;AAC3F,SAAO,UAAC,MAAD,EAA4B;AACjC,QAAI,OAAO,GAA2B,IAAtC;AACA,QAAM,cAAc,GAAG,MAAM,CAAC,IAAP,CACnB,2DAAG,CAAC,cAAI;AAAA,aAAK;AAAC,YAAI,EAAJ;AAAD,OAAL;AAAA,KAAL,CADgB,EACI,8DAAM,CAAC,eAAK;AACjC,UAAM,aAAa,GAAG,UAAU,EAAhC;;AACA,UAAI,aAAa,KAAK,KAAK,CAAC,IAAxB,KAAiC,CAAC,OAAD,IAAY,OAAO,CAAC,IAAR,KAAiB,aAA9D,CAAJ,EAAkF;AAChF,eAAO,GAAG,KAAV;AACA,eAAO,IAAP;AACD;;AACD,UAAI,OAAO,IAAI,OAAO,CAAC,IAAR,KAAiB,KAAK,CAAC,IAAtC,EAA4C;AAC1C,eAAO,GAAG,IAAV;AACD;;AACD,aAAO,KAAP;AACD,KAV4B,CADV,EAYnB,6DAAK,EAZc,CAAvB;AAaA,QAAM,YAAY,GAAG,cAAc,CAAC,IAAf,CAAoB,8DAAM,CAAC,eAAK;AAAA,aAAI,KAAK,CAAC,IAAV;AAAA,KAAN,CAA1B,EAAiD,WAAW,CAAC,SAAD,CAA5D,CAArB;AACA,QAAM,aAAa,GAAG,cAAc,CAAC,IAAf,CAAoB,8DAAM,CAAC,eAAK;AAAA,aAAI,CAAC,KAAK,CAAC,IAAX;AAAA,KAAN,CAA1B,EAAkD,WAAW,CAAC,UAAD,CAA7D,CAAtB;AACA,WAAO,mDAAK,CAAC,YAAD,EAAe,aAAf,CAAL,CACF,IADE,CAEC,8DAAM,CAAC,eAAK;AACV,UAAI,KAAK,KAAK,OAAd,EAAuB;AACrB,eAAO,GAAG,IAAV;AACA,eAAO,KAAK,CAAC,IAAN,KAAe,UAAU,EAAhC;AACD;;AACD,aAAO,KAAP;AACD,KANK,CAFP,EASC,2DAAG,CAAC,eAAK;AAAA,aAAI,KAAK,CAAC,IAAV;AAAA,KAAN,CATJ,CAAP;AAUD,GA3BD;AA4BD;;AACD,SACgB,gBADhB,CAEI,QAFJ,EAEyB,aAFzB,EAEqD,QAFrD,EAEuE,UAFvE,EAEkG,MAFlG,EAGI,OAHJ,EAGoD;AAAA,MAA7B,SAA6B,uEAAjB,CAAiB;AAAA,MAAd,UAAc,uEAAD,CAAC;AAClD,MAAM,cAAc,GAAG,aAAa,CAAC,QAAD,CAApC;;AAEA,MAAI,cAAc,CAAC,MAAf,KAA0B,CAA1B,IAA+B,cAAc,CAAC,CAAD,CAAd,CAAkB,QAAlB,EAAnC,EAAiE;AAC/D,WAAO,aAAQ,CAAf;AACD;;AAED,MAAM,YAAY,GAAG,eAAe,CAAC,QAAD,EAAW,aAAX,EAA0B,cAA1B,EAA0C,UAA1C,CAAf,CACK,IADL,CACU,YAAY,CAAC,SAAD,EAAY,UAAZ,EAAwB,UAAxB,CADtB,EAEK,SAFL,CAEe,cAAI;AAAA,WAAK,IAAI,GAAG,MAAM,EAAT,GAAc,OAAO,EAA9B;AAAA,GAFnB,CAArB;AAIA,SAAO;AAAA,WAAM,YAAY,CAAC,WAAb,EAAN;AAAA,GAAP;AACF;AC7GA;AACA;AACA;AACA;AACA;AACA;;;IAEa,gB,GAWX,0BAAY,SAAZ,EAAgC;AAAA;;AAThC,mBAA4C,IAA5C;AACA,mBAA4B,MAA5B;AACA,kBAAW,OAAX;AAEA,wBAAiB,KAAjB;AAEA,mBAAY,CAAZ;AACA,oBAAa,CAAb;AAEoC,OAAK,SAAL,GAAiB,SAAS,CAAC,SAA3B;AAAuC,C;;;;AAC5E,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA,cAbK;AAaL;;AAbM;AAAA,UADL;AAAA,UARgB;AAQhB,GACK;AAAA;AADiB;;;AAAQ,aAAC;AAAA;kEAAA;;;;AAAA,M;;;;GAAA,E,IAAA;AARV,CAQS;;ACuB/B,IAAIL,QAAM,GAAG,CAAb;;IAqBa,gB;;;;;;;sCAOI;AAAK,aAAO,KAAK,KAAL,YAAsB,yDAA7B;AAA2C;;;;;;iCA1BhE,wB,CAAS,C,EAAA;AAAC,mBACT,gBADS;AACC,C;;AAAoB,wBAC9B,gEAAiB;AAAA;AAA8B,qCAA9B;AACF,WAAiB,EAAC,SAAI,SAAJ,CADhB;AAEjB,UAAM,GAFW;AAEX,yBACJ,6BADI,CACO,EADP,EACO,GADP,EACO;AAAA;AAAsD,mEACjE,IADiE,EACjE,GAAc,CAAE,EADiD;AACtC,4EACnB,mBAAS,SACjB,aADQ,GACI,EAFe;AAG5B,gEACD,MADC,EACO,GAAE,UADT;;GAPgB;;;;;;;GAAA;yBAAA;UAAA;SAAA;0JAc2C,yB,EAd3C;AAc2C;AAAA;;;;;;;;;;;;;GAd3C;wIAAA;WAgBlB,6pB,CAhBkB;AAgBlB,kBAhBkB;AAgBlB;AAhBkB,CAAjB,CAD8B;AAkB1B;AACI;AAAA,UAAP,mDAAK;AAAE,IADJ;AACO;AAAA,UACV,mDAAK;AADK,IADP;AAEO;AAAA,UACV,mDAAK;AADK,IAFP;AAGO;AAAA,UACV,mDAAK;AADK,IAHP;AAIO;AAAA,UACV,mDAAK;AADK;AAJP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKQ,C;AAKd;AACA;AACA;;;IAEa,U;AA0HX,sBACY,WADZ,EAC0D,SAD1D,EACgF,QADhF,EAEI,wBAFJ,EAEwD,gBAFxD,EAE4F,MAF5F,EAGY,OAHZ,EAGuD,SAHvD,EAG+E,eAH/E,EAII,cAJJ,EAIkC;AAAA;;AAAA;;AAHtB;AAA8C;AAE9C;AAA2C;AAAwB;AAAmC;AACzG;AAEmB;;AA9BlB,iBAAQ,IAAI,0DAAJ,EAAR;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,kBAAS,IAAI,0DAAJ,EAAT;AAEF,qDAAqCA,QAAM,EAA3C;AAEA,sBAAmD,IAAnD;AAkBN,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,cAAL,GAAsB,MAAM,CAAC,cAA7B;AACA,SAAK,YAAL,GAAoB,MAAM,CAAC,YAA3B;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,UAAL,GAAkB,MAAM,CAAC,UAAzB;AACA,SAAK,aAAL,GAAqB,IAAI,YAAJ,CACjB,gBADiB,EACC,QADD,EACW,gBADX,EAC6B,SAD7B,EACwC,KAAK,OAD7C,EACsD,wBADtD,EAEjB,cAFiB,CAArB;AAIA,SAAK,iBAAL,GAAyB,OAAO,CAAC,QAAR,CAAiB,SAAjB,CAA2B;AAClD,UAAI,OAAI,CAAC,UAAT,EAAqB;AACnB,wBAAgB,CACZ,OAAI,CAAC,WAAL,CAAiB,aADL,EACoB,OAAI,CAAC,UAAL,CAAgB,QAAhB,CAAyB,aAD7C,EAC4D,OAAI,CAAC,SADjE,EAEZ,OAAI,CAAC,SAAL,KAAmB,MAFP,EAEe,YAFf,CAAhB;AAGD;AACF,KANwB,CAAzB;AAOD;;;;kCAnCkB;AACjB,UAAI,KAAK,cAAT,EAAyB;AACvB,eAAO,IAAP;AACD;;AACD,UAAI,CAAC,KAAK,UAAN,IAAoB,CAAC,KAAK,YAA9B,EAA4C;AAC1C,eAAO,IAAP;AACD;;AACD,aAAO,KAAP;AACD;AACH;AACO;AACW;AAAO;AAAuD;AACC;;;;yBA+B1E,O,EAAa;AAAA;;AAChB,UAAI,CAAC,KAAK,UAAN,IAAoB,CAAC,KAAK,WAAL,EAAzB,EAA6C;AACjD;AADiD,oCAGvC,KAAK,aAAL,CAAmB,IAAnB,CAAwB,KAAK,UAA7B,EAAuE,OAAvE,EAAgF,KAAK,SAArF,CAHuC;AAAA,YAEpC,SAFoC,yBAEpC,SAFoC;AAAA,YAEzB,WAFyB,yBAEzB,WAFyB;;AAI3C,aAAK,UAAL,GAAkB,SAAlB;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,SAAzB,GAAqC,KAAK,SAA1C;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,KAAzB,GAAiC,KAAK,YAAtC;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,OAAzB,GAAmC,OAAnC;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,YAAzB,GAAwC,KAAK,YAA7C;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,EAAzB,GAA8B,KAAK,mBAAnC;;AAEA,aAAK,SAAL,CAAe,YAAf,CAA4B,KAAK,WAAL,CAAiB,aAA7C,EAA4D,kBAA5D,EAAgF,KAAK,mBAArF;;AAEA,YAAI,KAAK,SAAL,KAAmB,MAAvB,EAA+B;AAC7B,eAAK,SAAL,CAAe,aAAf,CAA6B,KAAK,SAAlC,EAA6C,WAA7C,CAAyD,KAAK,UAAL,CAAgB,QAAhB,CAAyB,aAAlF;AACD,SAf0C,CAgBjD;AAEK;AACM;;;AACL,aAAK,UAAL,CAAgB,iBAAhB,CAAkC,aAAlC,GApB2C,CAqBjD;AAEK;AACM;AACM;AACM;;;AACjB,aAAK,UAAL,CAAgB,iBAAhB,CAAkC,YAAlC;;AAEA,oBAAY,CACR,KAAK,OADG,EACM,KAAK,SADX,EACsB,KAAK,SAD3B,EACsC;AAAA,iBAAM,OAAI,CAAC,KAAL,EAAN;AAAA,SADtC,EAC0D,KAAK,MAD/D,EAER,CAAC,KAAK,UAAL,CAAgB,QAAhB,CAAyB,aAA1B,CAFQ,CAAZ;AAIA,mBAAW,CAAC,SAAZ,CAAsB;AAAA,iBAAM,OAAI,CAAC,KAAL,CAAW,IAAX,EAAN;AAAA,SAAtB;AACD;AACF;AACH;AAEC;AACE;AACE;AAEJ;;;;4BAAM;AAAA;;AACH,UAAI,KAAK,UAAT,EAAqB;AACnB,aAAK,SAAL,CAAe,eAAf,CAA+B,KAAK,WAAL,CAAiB,aAAhD,EAA+D,kBAA/D;;AACA,aAAK,aAAL,CAAmB,KAAnB,CAAyB,KAAK,SAA9B,EAAyC,SAAzC,CAAmD;AACjD,iBAAI,CAAC,UAAL,GAAkB,IAAlB;;AACA,iBAAI,CAAC,MAAL,CAAY,IAAZ;;AACA,iBAAI,CAAC,eAAL,CAAqB,YAArB;AACD,SAJD;AAKD;AACF;AACH;AAEC;AACE;AACE;AAEJ;;;;6BAAO;AACJ,UAAI,KAAK,UAAT,EAAqB;AACnB,aAAK,KAAL;AACD,OAFD,MAEO;AACL,aAAK,IAAL;AACD;AACF;AACH;AAEC;AACE;;;;6BACK;AAAc,aAAO,KAAK,UAAL,IAAmB,IAA1B;AAAiC;;;+BAE7C;AACN,WAAK,sBAAL,GAA8B,gBAAgB,CAC1C,KAAK,SADqC,EAC1B,KAAK,WAAL,CAAiB,aADS,EACM,KAAK,QADX,EACqB,KAAK,MAAL,CAAY,IAAZ,CAAiB,IAAjB,CADrB,EAC6C,KAAK,IAAL,CAAU,IAAV,CAAe,IAAf,CAD7C,EAE1C,KAAK,KAAL,CAAW,IAAX,CAAgB,IAAhB,CAF0C,EAEnB,CAAC,KAAK,SAFa,EAEF,CAAC,KAAK,UAFJ,CAA9C;AAGD;;;wCAEkF;AAAA,UAAtE,UAAsE,UAAtE,UAAsE;AAAA,UAA1D,YAA0D,UAA1D,YAA0D;AAAA,UAA5C,cAA4C,UAA5C,cAA4C;AAAA,UAA5B,YAA4B,UAA5B,YAA4B;;AACjF,UAAI,YAAY,IAAI,KAAK,MAAL,EAApB,EAAmC;AACjC,aAAK,UAAL,CAAkB,QAAlB,CAA2B,YAA3B,GAA0C,YAAY,CAAC,YAAvD;AACD,OAHgF,CAIrF;;;AACI,UAAI,CAAC,UAAU,IAAI,YAAd,IAA8B,cAA/B,KAAkD,KAAK,WAAL,EAAtD,EAA0E;AACxE,aAAK,KAAL;AACD;AACF;;;kCAEU;AACT,WAAK,KAAL,GADS,CAEb;AACI;;AACA,UAAI,KAAK,sBAAT,EAAiC;AAC/B,aAAK,sBAAL;AACD;;AACD,WAAK,iBAAL,CAAuB,WAAvB;AACD;;;;;;2BA5PF,kB,CAAA,C,EAAS;AAAA,SAAE,UAAU,UAAV,EAAU,gEAA0B,wDAA1B,CAAV,EAAiD,wHAAjD,EAAiD,uHAAjD,EAAiD,uIAAjD,EAAiD,+HAAjD,EAAiD,iFAAjD,EAAiD,qHAAjD,EAAiD,0HAAjD,EAAiD,gIAAjD,EAAiD,6HAAjD,CAAF;AAAmD,C;;;;;;;;;;;;;;;;;;;;;;;;;;AACvD;AAAA,UAAoC;AAAA,UAtDxC,wDAAU;AAsD8B,GAApC,EArDJ;AAAA,UAHA,uDAAS;AAGT,GAqDI,EAvDJ;AAAA,UAFA,sDAAQ;AAER,GAuDI,EAxDJ;AAAA,UAKA,sEAAwB;AALxB,GAwDI,EAlDJ;AAAA,UAFA,8DAAgB;AAEhB,GAkDI,EAnDJ;AAAA,UAcM;AAdN,GAmDI,EArCsB;AAAA,UAb1B,oDAAM;AAaoB,GAqCtB,EAjDJ;AAAA;AAAA;AAAA,YA8K8B,oDA9K9B;AA8KoC,aAAC,yDAAD;AA9KpC;AAAA,GAiDI,EA6HkD;AAAA,UA5KtD,+DAAiB;AA4KqC,GA7HlD,EA9CJ;AAAA,sEAAc;AAAd,GA8CI;AAAA;;AA7CD;AACM;AAAA,UAoDR,mDAAK;AApDG,IADN;AAqDQ;AAAA,UAaV,mDAAK;AAbK,IArDR;AAkEQ;AAAA,UAOV,mDAAK;AAPK,IAlER;AAyEQ;AAAA,UAOV,mDAAK;AAPK,IAzER;AAgFQ;AAAA,UAeV,mDAAK;AAfK,IAhFR;AA+FQ;AAAA,UAQV,mDAAK;AARK,IA/FR;AAuGQ;AAAA,UAOV,mDAAK;AAPK,IAvGR;AA8GQ;AAAA,UAOV,mDAAK;AAPK,IA9GR;AAqHQ;AAAA,UAOV,mDAAK;AAPK,IArHR;AA4HQ;AAAA,UAOV,mDAAK;AAPK,IA5HR;AAmIQ;AAAA,UAOV,mDAAK;AAPK,IAnIR;AA0IQ;AAAA,UAKV,oDAAM;AALI,IA1IR;AA+IS;AAAA,UAOX,oDAAM;AAPK;AA/IT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsJU,C;;IC9JF,gB;;;;uFANZ;AAAA,MAAQ;AAAR,C;AACC,gBAAc,CAAC,IAAf,GAAe,+DAA6B;AAAA,oBAC5C,wBAD4C,CACvB,CADuB,EACvB;AAAA,WACrB,KAAO,KAAG,gBAAV,GADqB;AACE,GAFqB;AAErB,SACvB;AAH4C,CAA7B,CAAf;;CAGkC,YAAC;AAAA,wBACpC,WADoC,IACpC,SADoC,KACpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADoC;AACpC,C;;;;;;;;;;;;;;AACI,C;ACbL;AACA;AACA;AACA;AACA;AACA;;;IAEa,oB,GADb;AAAA;;AAEE,aAAM,GAAN;AACA,kBAAW,KAAX;AACA,iBAAU,KAAV;AAGA,mBAAY,KAAZ;AAED,C;;;;AACA,C;;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;kEAVD,oB,EAAY;AAAkB,QAAC,0DAAnB;;;;AAAA,I;;;AACR,C;ACLL;AACA;AACA;;;IAea,c;AAgEX,0BAAY,MAAZ,EAAwC;AAAA;;AAC1C;AAAY;AACwB;AAC1B;AACW;AAbV,iBAAQ,CAAR;AAUP,SAAK,GAAL,GAAW,MAAM,CAAC,GAAlB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,OAAL,GAAe,MAAM,CAAC,OAAtB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,IAAL,GAAY,MAAM,CAAC,IAAnB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,MAAL,GAAc,MAAM,CAAC,MAArB;AACD;AACH;AACO;AAEF;AAAO;AAEA;;;;;+BAJF;AAAK,aAAO,eAAe,CAAC,KAAK,KAAN,EAAa,KAAK,GAAlB,CAAtB;AAA+C;;;sCAE7C;AAAK,aAAO,MAAM,KAAK,QAAL,EAAN,GAAwB,KAAK,GAApC;AAA0C;;;sBAnEtD,G,EAAW;AACjB,WAAK,IAAL,GAAY,CAAC,QAAQ,CAAC,GAAD,CAAT,IAAkB,GAAG,IAAI,CAAzB,GAA6B,GAA7B,GAAmC,GAA/C;AACD,K;wBAEM;AAAa,aAAO,KAAK,IAAZ;AAAmB;;;;;;+BA3BxC,sB,CAAS,C,EAAA;AAAA,SAAC,0BACC,gEAAiB,oBAAjB,CADD,CAAD;AAES,C;;eAAuB,I,GAAC,gEACzC;AAAA;AAAe,WAAkB,EAAI,qBAArC;AACM,WAAQ,iBADd;AACyB,aADzB;AAEA,cAAU;AAAA;;;GAFV;;;;;;;;;;GAAA;yBAAA;UAAA;UAAA;;;;;UASC,gEACF;AAAA;AAAA,Q;;;;;;;GAVC;;;;;;;;;;;;;;;;;GAAA;qEAAA;uEAAA;kBAAA;mBAWG;AAXH,CADyC,C;;AAYrC;AAAA,UACU;AAAA,UApBR;AAoBQ,GADV;AAAA;;AAnB4B;AAG9B;AAAA,UAwBD,mDAAK;AAxBJ,IAH8B;AA4BhC;AAAA,UAWC,mDAAK;AAXN,IA5BgC;AAuCrB;AAAA,UAKV,mDAAK;AALK,IAvCqB;AA4CrB;AAAA,UAKV,mDAAK;AALK,IA5CqB;AAiDrB;AAAA,UAUV,mDAAK;AAVK,IAjDqB;AA2DrB;AAAA,UAQV,mDAAK;AARK,IA3DqB;AAmErB;AAAA,UAOV,mDAAK;AAPK,IAnEqB;AA0ErB;AAAA,UAOV,mDAAK;AAPK,KAOL;AAAA,UAAI,yDAAJ;AAAe,WAAC,cAAD;AAAf,GAPK;AA1EqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFY,C;;IC1EjC,oB;;;;2FADZ;AAAA,MAAQ;AAAR,C;AAAuC,oBAAG,CAAO,IAAV,GAAa,+DAA2B;AAAA,WAAY,SAAE,4BAAF,CAAE,CAAF,EAAE;AAAA;AAAA,GAAd;AAAc;AAAd,CAA3B,CAAb;;;;;;;;;;;;;;;;;;;;;;;;;;;AACnC,C;ACPL;AACA;AACA;AACA;AACA;AACA;;;IAEa,e,GADb;AAAA;;AAEE,aAAM,EAAN;AACA,kBAAW,KAAX;AACA,oBAAa,KAAb;AACD,C;;;;AACA,C;;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;kEANS,e,EAAE;AAAkB,QAAC,0DAAnB;;;;AAAA,I;;;AACR,C;;AC0BL,IAAM,yBAAyB,GAAG;AAChC,SAAO,EAAE,iEADuB;AAEhC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,SAAN;AAAA,GAAD,CAFS;AAGhC,OAAK,EAAE;AAHyB,CAAlC;AAMA;AACA;AACA;;IA8Ba,S;AA2DX,qBAAY,MAAZ,EAA6C,kBAA7C,EAAkF;AAAA;;AAArC;AAzD7C,oBAAkC,EAAlC;AACA,oBAAW,KAAX;AACF;AAAY;AAMF;AAAW;AAGmC;;AA2B5C,iBAAQ,IAAI,0DAAJ,EAAR;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,iBAAQ,IAAI,0DAAJ,EAAR;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,sBAAa,IAAI,0DAAJ,CAAyB,IAAzB,CAAb;;AAEV,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;;AACA,qBAAY,aAAQ,CAApB;;AAGE,SAAK,GAAL,GAAW,MAAM,CAAC,GAAlB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACD;;;;oCAEY;AAAK,uBAAU,KAAK,QAAf,qBAAkC,KAAK,GAAvC;AAA+C;;;oCAEpD;AAAc,aAAO,CAAC,KAAK,QAAN,IAAkB,CAAC,KAAK,QAA/B;AAA0C;;;0BAE/D,K,EAAa;AACjB,UAAI,KAAK,aAAL,EAAJ,EAA0B;AACxB,aAAK,YAAL,CAAkB,KAAlB;AACD;;AACD,WAAK,KAAL,CAAW,IAAX,CAAgB,KAAhB;AACD;;;iCAES;AAAK,WAAK,SAAL;AAAmB;;;gCAEtB,K,EAAa;AACvB,UAAI,KAAK,aAAL,EAAJ,EAA0B;AACxB,aAAK,MAAL,CAAY,KAAK,UAAL,IAAmB,KAAK,IAAL,KAAc,KAAjC,GAAyC,CAAzC,GAA6C,KAAzD;AACD;AACF;;;kCAEa,K,EAAoB;AACpC;AACI,cAAQ,KAAK,CAAC,KAAd;AACE,aAAK,GAAG,CAAC,SAAT;AACA,aAAK,GAAG,CAAC,SAAT;AACE,eAAK,MAAL,CAAY,KAAK,IAAL,GAAY,CAAxB;AACA;;AACF,aAAK,GAAG,CAAC,OAAT;AACA,aAAK,GAAG,CAAC,UAAT;AACE,eAAK,MAAL,CAAY,KAAK,IAAL,GAAY,CAAxB;AACA;;AACF,aAAK,GAAG,CAAC,IAAT;AACE,eAAK,MAAL,CAAY,CAAZ;AACA;;AACF,aAAK,GAAG,CAAC,GAAT;AACE,eAAK,MAAL,CAAY,KAAK,GAAjB;AACA;;AACF;AACE;AAhBJ,OAFgC,CAoBpC;;;AAEI,WAAK,CAAC,cAAN;AACD;;;gCAEW,O,EAAsB;AAChC,UAAI,OAAO,CAAC,MAAD,CAAX,EAAqB;AACnB,aAAK,MAAL,CAAY,KAAK,IAAjB;AACD;AACF;;;+BAEO;AACN,WAAK,QAAL,GAAgB,KAAK,CAAC,IAAN,CAAW;AAAC,cAAM,EAAE,KAAK;AAAd,OAAX,EAA+B,UAAC,CAAD,EAAI,CAAJ;AAAA,eAAW;AAAC,cAAI,EAAE,CAAP;AAAU,eAAK,EAAE;AAAjB,SAAX;AAAA,OAA/B,CAAhB;;AACA,WAAK,YAAL,CAAkB,KAAK,IAAvB;AACD;;;qCAEgB,E,EAAuB;AAAU,WAAK,QAAL,GAAgB,EAAhB;AAAqB;;;sCAErD,E,EAAa;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;;;4BAE1D;AACH,WAAK,KAAL,CAAW,IAAX,CAAgB,KAAK,QAArB;;AACA,WAAK,YAAL,CAAkB,KAAK,IAAvB;AACD;;;qCAEgB,U,EAAmB;AAAI,WAAK,QAAL,GAAgB,UAAhB;AAA6B;;;2BAE9D,K,EAAoC;AAAA,UAArB,cAAqB,uEAAJ,IAAI;AACzC,UAAM,OAAO,GAAG,eAAe,CAAC,KAAD,EAAQ,KAAK,GAAb,EAAkB,CAAlB,CAA/B;;AACA,UAAI,KAAK,aAAL,MAAwB,KAAK,IAAL,KAAc,OAA1C,EAAmD;AACjD,aAAK,IAAL,GAAY,OAAZ;AACA,aAAK,UAAL,CAAgB,IAAhB,CAAqB,KAAK,IAA1B;AACD;;AACD,UAAI,cAAJ,EAAoB;AAClB,aAAK,QAAL,CAAc,KAAK,IAAnB;AACA,aAAK,SAAL;AACD;;AACD,WAAK,YAAL,CAAkB,KAAK,IAAvB;AACD;;;+BAEU,K,EAAK;AACd,WAAK,MAAL,CAAY,KAAZ,EAAmB,KAAnB;;AACA,WAAK,kBAAL,CAAwB,YAAxB;AACD;;;iCAEoB,S,EAAiB;AACpC,WAAK,QAAL,GAAgB,SAAhB;AACA,WAAK,QAAL,CAAc,OAAd,CACI,UAAC,OAAD,EAAU,KAAV;AAAA,eAAoB,OAAO,CAAC,IAAR,GAAe,IAAI,CAAC,KAAL,CAAW,eAAe,CAAC,SAAS,GAAG,KAAb,EAAoB,CAApB,EAAuB,CAAvB,CAAf,GAA2C,GAAtD,CAAnC;AAAA,OADJ;AAED;;;;;;0BArLF,iB,CAAA,C,EAAS;AAAA,SAAC,qBACT,gEAAsB,eAAtB,CADS,EAET,gEAAiB,+DAAjB,CAFS,CAAD;AAEuC,C;;AAC/C,iBAAe,gEAAsB;AAAA;AACjC,WAAE,kBAD+B;AAEnC,gBAAS,WAAe,wBAAf,CACT,EADS,EACG,GADH,EACK,QADL,EACK;AAAA,QAAmB,MAAnB,EAAmB;AACjC,mEAAgB,QAAhB,EAAgB,yDAAhB,EACA,IADA;AACe;;AAAE,QAAG,MAAH,EAAG;AACpB;;mEAA6B,gE,MAC7B,8BAAkC,Q;AAClC;AAAA,GARmC;AAQnC,sBAAyB,QAAzB,EAAyB,eAAzB,EAA0C,GAA1C,EAA0C,CAA1C,EACA,eADA,CARmC;AASnC,UAAwB,GATW;AASX,yBAAwB,sBAAxB,CACxB,EADwB,EACd,GADc,EACd;AAAA,UAAc,IAAd,EAAc;+DACb,M,EAAE,6CACb;AAAA,eAAgB,gBAAhB;AAAyB,O,EAAA,S,EAC1B,8CACS,MADT,EACS;AAAA;AAAA,O,EAAA,Y,EAAA;AAAA;AAAA,O;;;;;;;GAd2B;;;;;;;GAAA;;AAuBpC,kB;AAAA,WACD,O;AAAS,cAAG;GAxByB;AAwBC,8EACvC,2BADuC,GACvC,kEADuC,CAxBD;AAyBtC,UAzBsC;AAyBtC,SAzBsC;AAyBtC,kJAzBsC;AAyBtC;AAAA;;;;;;;;;GAzBsC;2IAAA;kBAAA;mBA0BlC;AA1BkC,CAAtB,CAAf;;AA0BI;AAAA,UAAmC;AAAA,UA1DjC;AA0DiC,GAAnC,EA1DqB;AAAA,UAbzB,+DAAiB;AAaQ,GA0DrB;AAAA;;AAtEF;AAEA;AAAA,UA8ED,mDAAK;AA9EJ,IAFA;AAgFS;AAAA,UAKV,mDAAK;AALK,IAhFT;AAqFS;AAAA,UAKV,mDAAK;AALK,IArFT;AA0FS;AAAA,UAKV,mDAAK;AALK,IA1FT;AA+FS;AAAA,UAOV,mDAAK;AAPK,IA/FT;AAsGS;AAAA,UACV,0DADU;AACE,WAAC,yDAAD,EAAc;AAAC,YAAM,EAAE;AAAT,KAAd;AADF,IAtGT;AAuG+C;AAAA,UAOhD,oDAAM;AAP0C,IAvG/C;AA8GU;AAAA,UAOX,oDAAM;AAPK,IA9GV;AAqHU;AAAA,UAOX,oDAAM;AAPK;AArHV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4HW,C;;ICtHF,e;;;;sFADZ;AAAA,MAAQ;AAAR,C;AAAwB,eAAa,KAAb,GAAsB,+DAAuB;AAAA,WAAY,SAAE,uBAAF,CAAE,CAAF,EAAE;AAAA;AAAA,GAAd;AAAc;AAAd,CAAvB,CAAtB;;;;;;;;;;;;;;;;;;;;;;;;;;;AACpB,C;;ICPQ,O;AAKX,mBAAY,IAAZ,EAA2B,MAA3B,EAA4C,MAA5C,EAA2D;AAAA;;AACzD,SAAK,IAAL,GAAY,SAAS,CAAC,IAAD,CAArB;AACA,SAAK,MAAL,GAAc,SAAS,CAAC,MAAD,CAAvB;AACA,SAAK,MAAL,GAAc,SAAS,CAAC,MAAD,CAAvB;AACD;;;;iCAEkB;AAAA,UAAR,IAAQ,uEAAD,CAAC;AAAI,WAAK,UAAL,CAAgB,CAAC,KAAK,CAAC,KAAK,IAAN,CAAL,GAAmB,CAAnB,GAAuB,KAAK,IAA7B,IAAqC,IAArD;AAA6D;;;+BAEzE,I,EAAY;AACrB,UAAI,QAAQ,CAAC,IAAD,CAAZ,EAAoB;AAClB,aAAK,IAAL,GAAY,CAAC,IAAI,GAAG,CAAP,GAAW,KAAK,IAAhB,GAAuB,IAAxB,IAAgC,EAA5C;AACD,OAFD,MAEO;AACL,aAAK,IAAL,GAAY,GAAZ;AACD;AACF;;;mCAEoB;AAAA,UAAR,IAAQ,uEAAD,CAAC;AAAI,WAAK,YAAL,CAAkB,CAAC,KAAK,CAAC,KAAK,MAAN,CAAL,GAAqB,CAArB,GAAyB,KAAK,MAA/B,IAAyC,IAA3D;AAAmE;;;iCAE/E,M,EAAc;AACzB,UAAI,QAAQ,CAAC,MAAD,CAAZ,EAAsB;AACpB,aAAK,MAAL,GAAc,MAAM,GAAG,EAAT,GAAc,CAAd,GAAkB,KAAK,MAAM,GAAG,EAAhC,GAAqC,MAAM,GAAG,EAA5D;AACA,aAAK,UAAL,CAAgB,IAAI,CAAC,KAAL,CAAW,MAAM,GAAG,EAApB,CAAhB;AACD,OAHD,MAGO;AACL,aAAK,MAAL,GAAc,GAAd;AACD;AACF;;;mCAEoB;AAAA,UAAR,IAAQ,uEAAD,CAAC;AAAI,WAAK,YAAL,CAAkB,CAAC,KAAK,CAAC,KAAK,MAAN,CAAL,GAAqB,CAArB,GAAyB,KAAK,MAA/B,IAAyC,IAA3D;AAAmE;;;iCAE/E,M,EAAc;AACzB,UAAI,QAAQ,CAAC,MAAD,CAAZ,EAAsB;AACpB,aAAK,MAAL,GAAc,MAAM,GAAG,CAAT,GAAa,KAAK,MAAM,GAAG,EAA3B,GAAgC,MAAM,GAAG,EAAvD;AACA,aAAK,YAAL,CAAkB,IAAI,CAAC,KAAL,CAAW,MAAM,GAAG,EAApB,CAAlB;AACD,OAHD,MAGO;AACL,aAAK,MAAL,GAAc,GAAd;AACD;AACF;;;8BAEuB;AAAA,UAAhB,SAAgB,uEAAJ,IAAI;AACtB,aAAO,QAAQ,CAAC,KAAK,IAAN,CAAR,IAAuB,QAAQ,CAAC,KAAK,MAAN,CAA/B,KAAiD,SAAS,GAAG,QAAQ,CAAC,KAAK,MAAN,CAAX,GAA2B,IAArF,CAAP;AACD;;;+BAEO;AAAK,uBAAU,KAAK,IAAL,IAAa,CAAvB,cAA4B,KAAK,MAAL,IAAe,CAA3C,cAAgD,KAAK,MAAL,IAAe,CAA/D;AAAqE;;;;;AC/CpF;AACA;AACA;AACA;AACA;AACA;;;IAEa,mB,GADb;AAAA;;AAEE,kBAAW,KAAX;AACA,kBAAW,IAAX;AACA,iBAAU,KAAV;AACA,kBAAW,CAAX;AACA,oBAAa,CAAb;AACA,oBAAa,CAAb;AACA,kBAAW,KAAX;AACA,wBAAiB,KAAjB;AACA,cAAqC,QAArC;AACD,C;;;;AACA,C;;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;kEAZD,mB,EAAY;AAAkB,QAAC,0DAAnB;;;;AAAA,I;;;AACR,C;;AAAE,SCLS,mCDKT,GCL4C;AACjD,SAAO,IAAI,oBAAJ,EAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEsB,c;;;;;;AAAkB,C;;AAAC;AAAA;AAAA;AAAA;AAAA;;;;kEAD9B,c,EAAE;AAAkB,QAAE,0DAApB;;kBAAmE,M;AAAC;;AAApE,I;AACR,C;;IAaQ,oB;;;;;;;;;;;;;;AACb;AACE;AACE;8BACQ,I,EAA0B;AAClC,aAAQ,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAN,CAAjB,IAAgC,SAAS,CAAC,IAAI,CAAC,MAAN,CAA1C,GACH;AAAC,YAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,cAAM,EAAE,IAAI,CAAC,MAA/B;AAAuC,cAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAN,CAAT,GAAyB,IAAI,CAAC,MAA9B,GAA4C;AAA3F,OADG,GAEH,IAFJ;AAGD;AACH;AAEC;AACE;;;;4BACO,I,EAA0B;AAChC,aAAQ,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAN,CAAjB,IAAgC,SAAS,CAAC,IAAI,CAAC,MAAN,CAA1C,GACH;AAAC,YAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,cAAM,EAAE,IAAI,CAAC,MAA/B;AAAuC,cAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAN,CAAT,GAAyB,IAAI,CAAC,MAA9B,GAA4C;AAA3F,OADG,GAEH,IAFJ;AAGD;;;;EAjBuC,c;;qCADzC,4B,CAAU,C,EAAA;AAAA;AAAA,C;;;;;;;;;;;;;AACT,C;;AAAE,SChCY,2BDgCZ,CChCwC,MDgCxC,EChC8C;AAChD,SAAO,IAAI,wBAAJ,CAA6B,MAA7B,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;;;IAEsB,iB;;;;;;AACrB,C;;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;kEAFD,iB,EAAY;AAAkB,QAAE,0DAApB;;AAA2D,gBAAE,EAAI,M;AAAG,gBAAW,6B;AAAA;;AAA/E,I;AACR,C;;IAaQ,wB;;;;;AAGX,oCAA+B,MAA/B,EAA6C;AAAA;;AAAA;;AAC3C;AAEA,YAAK,QAAL,GAAgB,4EAAmB,CAAC,MAAD,EAAS,0DAAS,CAAC,UAAnB,EAA+B,iEAAgB,CAAC,MAAhD,CAAnC;AAH2C;AAI5C;;;;uCAEe;AAAa,aAAO,KAAK,QAAL,CAAc,CAAd,CAAP;AAA0B;;;yCAErC;AAAa,aAAO,KAAK,QAAL,CAAc,CAAd,CAAP;AAA0B;;;;EAXb,iB;;yCAD7C,gC,CAAU,C,EAAA;AAAA;AAAA,C;;;;oCACT;;;AAAC;AAAA,UAAkD;AAAA;AAAA;AAAA,YAGtC,oDAHsC;AAGhC,aAAC,uDAAD;AAHgC;AAAA,GAAlD;AAAA;;;;;;;;;;;;;;;;AAGsC,C;;ACZzC,IAAM,YAAY,GAAG,SAArB;AAEA,IAAM,6BAA6B,GAAG;AACpC,SAAO,EAAE,iEAD2B;AAEpC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,aAAN;AAAA,GAAD,CAFa;AAGpC,OAAK,EAAE;AAH6B,CAAtC;AAMA;AACA;AACA;;IAyFa,a;AAkEX,yBACqB,OADrB,EAC2D,eAD3D,EAEY,GAFZ,EAE2C,IAF3C,EAEkE;AAAA;;AAD7C;AAAsC;AAC/C;AAA+B;;AAY3C,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;;AACA,qBAAY,aAAQ,CAApB;;AAZE,SAAK,QAAL,GAAgB,OAAO,CAAC,QAAxB;AACA,SAAK,QAAL,GAAgB,OAAO,CAAC,QAAxB;AACA,SAAK,OAAL,GAAe,OAAO,CAAC,OAAvB;AACA,SAAK,QAAL,GAAgB,OAAO,CAAC,QAAxB;AACA,SAAK,UAAL,GAAkB,OAAO,CAAC,UAA1B;AACA,SAAK,UAAL,GAAkB,OAAO,CAAC,UAA1B;AACA,SAAK,QAAL,GAAgB,OAAO,CAAC,QAAxB;AACA,SAAK,cAAL,GAAsB,OAAO,CAAC,cAA9B;AACA,SAAK,IAAL,GAAY,OAAO,CAAC,IAApB;AACD;AACH;AACO;AAIJ;;;;;+BADU,K,EAAK;AACd,UAAM,WAAW,GAAG,KAAK,eAAL,CAAqB,SAArB,CAA+B,KAA/B,CAApB;;AACA,WAAK,KAAL,GAAa,WAAW,GAAG,IAAI,OAAJ,CAAY,WAAW,CAAC,IAAxB,EAA8B,WAAW,CAAC,MAA1C,EAAkD,WAAW,CAAC,MAA9D,CAAH,GAA2E,IAAI,OAAJ,EAAnG;;AACA,UAAI,CAAC,KAAK,OAAN,KAAkB,CAAC,WAAD,IAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAb,CAA3C,CAAJ,EAAsE;AACpE,aAAK,KAAL,CAAW,MAAX,GAAoB,CAApB;AACD;;AACD,WAAK,GAAL,CAAS,YAAT;AACD;;;qCAEgB,E,EAAuB;AAAU,WAAK,QAAL,GAAgB,EAAhB;AAAqB;;;sCAErD,E,EAAa;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;;;qCAE9C,U,EAAmB;AAAI,WAAK,QAAL,GAAgB,UAAhB;AAA6B;;;+BAE1D,I,EAAY;AACrB,WAAK,KAAL,CAAW,UAAX,CAAsB,IAAtB;AACA,WAAK,oBAAL;AACD;;;iCAEY,I,EAAY;AACvB,WAAK,KAAL,CAAW,YAAX,CAAwB,IAAxB;AACA,WAAK,oBAAL;AACD;;;iCAEY,I,EAAY;AACvB,WAAK,KAAL,CAAW,YAAX,CAAwB,IAAxB;AACA,WAAK,oBAAL;AACD;;;+BAEU,M,EAAc;AACvB,UAAM,IAAI,GAAG,KAAK,KAAL,CAAW,IAAX,IAAmB,EAAhC;AACA,UAAM,WAAW,GAAG,SAAS,CAAC,MAAD,CAA7B;;AACA,UAAI,KAAK,QAAL,KAAkB,IAAI,IAAI,WAAW,GAAG,EAAtB,IAA4B,CAAC,IAAD,IAAS,WAAW,KAAK,EAAvE,CAAJ,EAAgF;AAC9E,aAAK,KAAL,CAAW,UAAX,CAAsB,WAAW,GAAG,EAApC;AACD,OAFD,MAEO;AACL,aAAK,KAAL,CAAW,UAAX,CAAsB,WAAtB;AACD;;AACD,WAAK,oBAAL;AACD;;;iCAEY,M,EAAc;AACzB,WAAK,KAAL,CAAW,YAAX,CAAwB,SAAS,CAAC,MAAD,CAAjC;AACA,WAAK,oBAAL;AACD;;;iCAEY,M,EAAc;AACzB,WAAK,KAAL,CAAW,YAAX,CAAwB,SAAS,CAAC,MAAD,CAAjC;AACA,WAAK,oBAAL;AACD;;;qCAEa;AACZ,UAAI,KAAK,QAAT,EAAmB;AACjB,aAAK,UAAL,CAAgB,EAAhB;AACD;AACF;;;gCAEW,K,EAAuB;AAAI,WAAK,CAAC,KAAN,GAAc,KAAK,CAAC,KAAN,CAAY,OAAZ,CAAoB,YAApB,EAAkC,EAAlC,CAAd;AAAsD;;;+BAElF,K,EAAc;AACvB,UAAI,QAAQ,CAAC,KAAD,CAAZ,EAAqB;AACnB,YAAI,KAAK,QAAT,EAAmB;AACjB,iBAAO,SAAS,CAAC,KAAK,GAAG,EAAR,KAAe,CAAf,GAAmB,EAAnB,GAAwB,KAAK,GAAG,EAAjC,CAAhB;AACD,SAFD,MAEO;AACL,iBAAO,SAAS,CAAC,KAAK,GAAG,EAAT,CAAhB;AACD;AACF,OAND,MAMO;AACL,eAAO,SAAS,CAAC,GAAD,CAAhB;AACD;AACF;;;iCAEY,K,EAAc;AAAI,aAAO,SAAS,CAAC,QAAQ,CAAC,KAAD,CAAR,GAAkB,KAAlB,GAA0B,GAA3B,CAAhB;AAAkD;;;gCAMrE,O,EAAsB;AAChC,UAAI,OAAO,CAAC,SAAD,CAAP,IAAsB,CAAC,KAAK,OAA5B,IAAuC,KAAK,KAA5C,IAAqD,CAAC,QAAQ,CAAC,KAAK,KAAL,CAAW,MAAZ,CAAlE,EAAuF;AACrF,aAAK,KAAL,CAAW,MAAX,GAAoB,CAApB;AACA,aAAK,oBAAL,CAA0B,KAA1B;AACD;AACF;;;2CAE0C;AAAA,UAAd,OAAc,uEAAJ,IAAI;;AACzC,UAAI,OAAJ,EAAa;AACX,aAAK,SAAL;AACD;;AACD,UAAI,KAAK,KAAL,CAAW,OAAX,CAAmB,KAAK,OAAxB,CAAJ,EAAsC;AACpC,aAAK,QAAL,CACI,KAAK,eAAL,CAAqB,OAArB,CAA6B;AAAC,cAAI,EAAE,KAAK,KAAL,CAAW,IAAlB;AAAwB,gBAAM,EAAE,KAAK,KAAL,CAAW,MAA3C;AAAmD,gBAAM,EAAE,KAAK,KAAL,CAAW;AAAtE,SAA7B,CADJ;AAED,OAHD,MAGO;AACL,aAAK,QAAL,CAAc,KAAK,eAAL,CAAqB,OAArB,CAA6B,IAA7B,CAAd;AACD;AACF;;;sBAnJY,I,EAAY;AACvB,WAAK,SAAL,GAAiB,SAAS,CAAC,IAAD,CAAT,GAAkB,IAAlB,GAAyB,KAAK,OAAL,CAAa,QAAvD;AACD,K;wBAEW;AAAa,aAAO,KAAK,SAAZ;AAAwB;AACnD;AAEC;AACE;;;;sBAEc,I,EAAY;AACzB,WAAK,WAAL,GAAmB,SAAS,CAAC,IAAD,CAAT,GAAkB,IAAlB,GAAyB,KAAK,OAAL,CAAa,UAAzD;AACD,K;wBAEa;AAAa,aAAO,KAAK,WAAZ;AAA0B;AACvD;AAEC;AACE;;;;sBAEc,I,EAAY;AACzB,WAAK,WAAL,GAAmB,SAAS,CAAC,IAAD,CAAT,GAAkB,IAAlB,GAAyB,KAAK,OAAL,CAAa,UAAzD;AACD,K;wBAEa;AAAa,aAAO,KAAK,WAAZ;AAA0B;;;wBAsGtC;AAAc,aAAO,KAAK,IAAL,KAAc,OAArB;AAA+B;;;wBAE7C;AAAc,aAAO,KAAK,IAAL,KAAc,OAArB;AAA+B;;;;;;8BAtP7D,qB,CAAS,C,EAAA;AAAA,SAAC,yBACC,gEAAgB,mBAAhB,CADD,EAEM,gEAAsB,cAAtB,CAFN,EAIT,gEAAU,+DAAV,CAJS,EAIC,kFAJD,CAAD;AAIE,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAiFT,S;AACD;;AAAA;;AAAY,qCAA8B,WAA9B,IAA8B,iBAA9B,EAA8B;;;;;KAA9B,M;;;;;;;;;;;;gBACb,S,sBAAA,e;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBACI;;;AAAC;AAAA,UAAuC;AAAA,UAvGrC;AAuGqC,GAAvC,EAvGyB;AAAA,UACvB;AADuB,GAuGzB,EAtGoB;AAAA,UAbxB,+DAAiB;AAaO,GAsGpB,EAlHJ;AAAA,UAaM;AAbN,GAkHI;AAAA;;AArGyB;AAErB;AAAA,UAiHP,mDAAK;AAjHE,IAFqB;AAmHlB;AAAA,UAKV,mDAAK;AALK,IAnHkB;AAwHlB;AAAA,UAKV,mDAAK;AALK,IAxHkB;AA6HlB;AAAA,UAKV,mDAAK;AALK,IA7HkB;AAmI7B;AAAA,UASC,mDAAK;AATN,IAnI6B;AA6I7B;AAAA,UASC,mDAAK;AATN,IA7I6B;AAuJ7B;AAAA,UASC,mDAAK;AATN,IAvJ6B;AAgKlB;AAAA,UAKV,mDAAK;AALK;AAhKkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqKjB,C;;ICxKD,mB;;;;0FADZ;AAAA,MAAQ;AAAR,C;AAAsC,mBAAG,KAAH,GAAa,+DAA0B;AAAA,WAAY,SAAE,2BAAF,CAAE,CAAF,EAAE;AAAA;AAAA,GAAd;AAAc;AAAd,CAA1B,CAAb;;;;;;;;;;;;;;;;;;;;;;;;;;;AAClC,C;ACkBL;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,c,GAMX,wBAAY,SAAZ,EAAgC;AAAA;;AAJhC,kBAAW,IAAX;AACA,eAAQ,GAAR;AACA,kBAA+B,QAA/B;AAEoC,OAAK,SAAL,GAAiB,SAAS,CAAC,SAA3B;AAAuC,C;;;;AAC5E,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA,cARK;AAQL;;AARM;AAAA,UADL;AAAA,UApCgB;AAoChB,GACK;AAAA;AADiB;;;AAAQ,aAAC;AAAA;kEAAA;;;;AAAA,M;;;;GAAA,E,IAAA;AApCV,CAoCS;;ACnCxB,IAAM,wBAAwB,GAAyB,SAAjD,wBAAiD,SAAyB;AAAA,MAAvB,SAAuB,UAAvB,SAAuB;AACrF,WAAS,CAAC,MAAV,CAAiB,MAAjB;AACA,WAAS,CAAC,GAAV,CAAc,SAAd;AAEA,SAAO;AACL,aAAS,CAAC,MAAV,CAAiB,SAAjB;AACA,aAAS,CAAC,GAAV,CAAc,MAAd;AACD,GAHD;AAID,CARM;;AAUA,IAAM,yBAAyB,GAAyB,SAAlD,yBAAkD,SAAyB;AAAA,MAAvB,SAAuB,UAAvB,SAAuB;AACtF,WAAS,CAAC,MAAV,CAAiB,MAAjB;AACA,SAAO;AAAQ,aAAS,CAAC,GAAV,CAAc,MAAd;AAAwB,GAAvC;AACD,CAHM;ACaP;AACA;AACA;AACA;AACA;AACA;;;IAEa,c;;;;+BADZ,sB,CAAS,C,EAAA;AAAA,SAAE,KAAQ,CAAE,kBAAV,GAAF;AAA+B,C;;;;;;;;;;;;;;;AACpC,C;AAGL;AACA;AACA;AACA;AACA;AACA;;;IA8Ba,Q;AA0DX,oBACmC,QADnC,EACqD,MADrD,EACqF,KADrF,EAEY,QAFZ,EAEgC;AAAA;;AADG;AAAkD;AACzE;AAAqB;AAC1B;AAGC;AAEJ;;AA/B6D,4BAA2C,IAA3C;AACnE;AAEK;AAEC;AAAW;AAEA;;AAAL,iBAAQ,IAAI,0DAAJ,EAAR;AACZ;AAEK;AAEC;AAAW;AACM;AACM;AAEC;AAAW;AAGtC;AAEqB;AAAW;AAExB;;AAFC,kBAAS,IAAI,0DAAJ,EAAT;;AAKR,QAAI,KAAK,QAAL,IAAiB,IAArB,EAA2B;AACzB,WAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACD;;AACD,SAAK,KAAL,GAAa,MAAM,CAAC,KAApB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACD;;;;yCAEiB;AAAA;;AAChB,WAAK,KAAL,CAAW,QAAX,CAAoB,YAApB,GAAmC,IAAnC,CAAwC,4DAAI,CAAC,CAAD,CAA5C,EAAiD,SAAjD,CAA2D;AACzD,eAAI,CAAC,KAAL;;AACA,eAAI,CAAC,IAAL;AACD,OAHD;AAID;;;gCAEW,O,EAAsB;AAChC,UAAI,cAAc,OAAlB,EAA2B;AACzB,aAAK,aAAL;;AACA,aAAK,KAAL;AACD;AACF;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAEJ;;;;2BAAL;AAAA;;AACF,WAAK,aAAL;;AACA,UAAM,UAAU,GAAG,gBAAgB,CAC/B,KAAK,QAAL,CAAc,aADiB,EACF,yBADE,EACyB;AAAC,iBAAS,EAAE,KAAK,SAAjB;AAA4B,yBAAiB,EAAE;AAA/C,OADzB,CAAnC;AAEA,gBAAU,CAAC,SAAX,CAAqB;AAAQ,eAAI,CAAC,MAAL,CAAY,IAAZ;AAAqB,OAAlD;AACA,aAAO,UAAP;AACD;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAEJ;;;;2BAAL;AAAA;;AACF,UAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,QAAL,CAAc,aAAf,EAA8B,wBAA9B,EAAwD;AACzF,iBAAS,EAAE,KAAK,SADyE;AAEzF,yBAAiB,EAAE;AAFsE,OAAxD,CAAnC;AAIA,gBAAU,CAAC,SAAX,CAAqB;AAAQ,eAAI,CAAC,KAAL,CAAW,IAAX;AAAoB,OAAjD;AACA,aAAO,UAAP;AACD;;;4BAEY;AAAA;;AACX,UAAI,KAAK,QAAL,IAAiB,CAAC,KAAK,UAA3B,EAAuC;AACrC,aAAK,UAAL,GAAkB,UAAU,CAAC;AAAA,iBAAM,OAAI,CAAC,IAAL,EAAN;AAAA,SAAD,EAAoB,KAAK,KAAzB,CAA5B;AACD;AACF;;;oCAEoB;AACnB,UAAI,KAAK,UAAT,EAAqB;AACnB,oBAAY,CAAC,KAAK,UAAN,CAAZ;AACA,aAAK,UAAL,GAAkB,IAAlB;AACD;AACF;;;;;;yBAhKF,gB,CAAA,C,EAAS;AAAA,SAAC,oBACT,gEAAqB,WAArB,CADS,EAET,gEAAoB,cAApB,CAFS,EAGT,gEAAe,oDAAf,CAHS,EAG4B,gEAC/B,wDAD+B,CAH5B,CAAD;AAKE,C;;AAAO,gFACf;AAAkB,MAAE,UAApB;AAA8B,4BAA9B;AACA,gBAAqB,mCACL,EADK,EACL,GADK,EACL,QADK,EACL;AAChB;AAAgB,yEACjB,QADiB,EACjB,cADiB,EAER,IAFQ,EAER,yDAFQ;;;;;;;;GAHhB;iEAAA;aAAA;;;;;;GAAA;;;;;;GAAA;;;;GAAA;AAoBD,wBApBC;AAoBD,gFApBC;AAoBD,yBApBC;AAoBD,UApBC;AAoBD,SApBC;AAoBD;AAAA;;AAAA,uEAEF;;;KAFE,M;;;;;GApBC;;;;;;;;;;;;;;;GAAA;wIAAA;6KAAA;iBAuBC;AAvBD,CADe;;AAwBb;AAAA,UAAkC;AAAA;AAAA;AAAA,YA2DjC,uDA3DiC;AA2DxB,aAAC,WAAD;AA3DwB;AAAA,GAAlC,EA2D+B;AAAA,UA7G7B;AA6G6B,GA3D/B,EAlDoB;AAAA,UANxB,oDAAM;AAMkB,GAkDpB,EAvDJ;AAAA,UAFA,wDAAU;AAEV,GAuDI;AAAA;;AAxDF;AACkB;AAAA,UAgEnB,mDAAK;AAhEc,IADlB;AAiES;AAAA,UAQV,mDAAK;AARK,IAjET;AAyES;AAAA,UAMV,mDAAK;AANK,IAzET;AA+ES;AAAA,UAMV,mDAAK;AANK,IA/ET;AAqFS;AAAA,UAMV,0DANU;AAME,WAAC,cAAD,EAAiB;AAAC,UAAI,EAAE,yDAAP;AAAoB,YAAM,EAAE;AAA5B,KAAjB;AANF,IArFT;AA2FoE;AAAA,UAOrE,oDAAM;AAP+D,IA3FpE;AAkGU;AAAA,UAcX,oDAAM;AAdK;AAlGV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgHW,C;;ICrHF,c;;;;qFADZ;AAAA,MAAQ;AAAR,C;AAAsB,cAAa,KAAb,GAAa,+DAA2B;AAAA,SAAe,WAAU,sBAAV,CAAkC,CAAlC,EAAoC;AAAA;AAAA,GAAnD;AAAmD;AAAnD,CAA3B,CAAb;;;;;;;;;;;;;;;;;;;;;;;;;;;AAClB,C;ACLL;AACA;AACA;AACA;AACA;AACA;;;IAEa,gB,GAWX,0BAAY,SAAZ,EAAgC;AAAA;;AAThC,mBAA4C,IAA5C;AACA,mBAA4B,MAA5B;AACA,kBAAW,aAAX;AAEA,wBAAiB,KAAjB;AAEA,mBAAY,CAAZ;AACA,oBAAa,CAAb;AAEoC,OAAK,SAAL,GAAiB,SAAS,CAAC,SAA3B;AAAuC,C;;;;AAC5E,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA,cAbK;AAaL;;AAbM;AAAA,UADL;AAAA,UARgB;AAQhB,GACK;AAAA;AADiB;;;AAAQ,aAAC;AAAA;kEAAA;;;;AAAA,M;;;;GAAA,E,IAAA;AARV,CAQS;;ACuB/B,IAAIA,QAAM,GAAG,CAAb;;IAea,gB;;;;iCAbZ,wB,CAAS,C,EAAA;AAAC,mBACT,gBADS;AACC,C;;AAAoB,wBAC9B,gEAAiB;AAAA;AAA8B,qCAA9B;AACF,WAAiB,EAAC,SAAI,SAAJ,CADhB;AAEjB,UAAM,GAFW;AAEX,yBACJ,6BADI,CACO,EADP,EACO,GADP,EACO;AAAA;AAAsD,mEACjE,IADiE,EACjE,GAAc,CAAE,EADiD;AACtC,4EACnB,mBAAS,SACjB,aADQ,GACI,EAFe;AAG5B,gEACD,MADC,EACO,GAAE,UADT;;GAPgB;;;;kBAQ8E;GAR9E;AAQ8E,yBAR9E;AAQ8E,UAR9E;AAQ8E,SAR9E;AAQ8E,8CAR9E;AAQ8E;AAAA;;;;;;;GAR9E;WAUlB,wpB,CAVkB;AAUlB,kBAVkB;AAUlB;AAVkB,CAAjB,CAD8B;AAY1B;AACI;AAAA,UAAP,mDAAK;AAAE,IADJ;AACO;AAAA,UACV,mDAAK;AADK,IADP;AAEO;AAAA,UACV,mDAAK;AADK;AAFP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGQ,C;AAGd;AACA;AACA;;;IAEa,U;AAkGX,sBACY,WADZ,EAC0D,SAD1D,EACgF,QADhF,EAEI,wBAFJ,EAEwD,gBAFxD,EAE4F,MAF5F,EAGY,OAHZ,EAGuD,SAHvD,EAG+E,eAH/E,EAII,cAJJ,EAIkC;AAAA;;AAAA;;AAHtB;AAA8C;AAE9C;AAA2C;AAAwB;AAAmC;AACzG;AAEmB;;AApBlB,iBAAQ,IAAI,0DAAJ,EAAR;AACZ;AAEK;AAEA;;AAAO,kBAAS,IAAI,0DAAJ,EAAT;AAGF,qDAAqCA,QAAM,EAA3C;AAEA,sBAAmD,IAAnD;AASN,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,cAAL,GAAsB,MAAM,CAAC,cAA7B;AACA,SAAK,YAAL,GAAoB,MAAM,CAAC,YAA3B;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,UAAL,GAAkB,MAAM,CAAC,UAAzB;AACA,SAAK,aAAL,GAAqB,IAAI,YAAJ,CACjB,gBADiB,EACC,QADD,EACW,gBADX,EAC6B,SAD7B,EACwC,KAAK,OAD7C,EACsD,wBADtD,EAEjB,cAFiB,CAArB;AAIA,SAAK,iBAAL,GAAyB,OAAO,CAAC,QAAR,CAAiB,SAAjB,CAA2B;AAClD,UAAI,OAAI,CAAC,UAAT,EAAqB;AACnB,wBAAgB,CACZ,OAAI,CAAC,WAAL,CAAiB,aADL,EACoB,OAAI,CAAC,UAAL,CAAgB,QAAhB,CAAyB,aAD7C,EAC4D,OAAI,CAAC,SADjE,EAEZ,OAAI,CAAC,SAAL,KAAmB,MAFP,EAEe,YAFf,CAAhB;AAGD;AACF,KANwB,CAAzB;AAOD;AACH;AAEC;AACE;AACE;AAEJ;;;;;;AASD;AAEC;AACE;AACE;AACE;AAEJ;yBAAI,O,EAAa;AAAA;;AAChB,UAAI,CAAC,KAAK,UAAN,IAAoB,KAAK,WAAzB,IAAwC,CAAC,KAAK,cAAlD,EAAkE;AAAA,qCAC/B,KAAK,aAAL,CAAmB,IAAnB,CAAwB,KAAK,WAA7B,EAA0C,OAA1C,EAAmD,KAAK,SAAxD,CAD+B;AAAA,YACzD,SADyD,0BACzD,SADyD;AAAA,YAC9C,WAD8C,0BAC9C,WAD8C;;AAEhE,aAAK,UAAL,GAAkB,SAAlB;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,SAAzB,GAAqC,KAAK,SAA1C;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,YAAzB,GAAwC,KAAK,YAA7C;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,EAAzB,GAA8B,KAAK,mBAAnC;;AAEA,aAAK,SAAL,CAAe,YAAf,CAA4B,KAAK,WAAL,CAAiB,aAA7C,EAA4D,kBAA5D,EAAgF,KAAK,mBAArF;;AAEA,YAAI,KAAK,SAAL,KAAmB,MAAvB,EAA+B;AAC7B,eAAK,SAAL,CAAe,aAAf,CAA6B,KAAK,SAAlC,EAA6C,WAA7C,CAAyD,KAAK,UAAL,CAAgB,QAAhB,CAAyB,aAAlF;AACD,SAX+D,CAYtE;AAEK;AACM;;;AACL,aAAK,UAAL,CAAgB,iBAAhB,CAAkC,aAAlC,GAhBgE,CAiBtE;AAEK;AACM;AACM;AACM;;;AACjB,aAAK,UAAL,CAAgB,iBAAhB,CAAkC,YAAlC;;AAEA,oBAAY,CACR,KAAK,OADG,EACM,KAAK,SADX,EACsB,KAAK,SAD3B,EACsC;AAAA,iBAAM,OAAI,CAAC,KAAL,EAAN;AAAA,SADtC,EAC0D,KAAK,MAD/D,EAER,CAAC,KAAK,UAAL,CAAgB,QAAhB,CAAyB,aAA1B,CAFQ,CAAZ;AAIA,mBAAW,CAAC,SAAZ,CAAsB;AAAA,iBAAM,OAAI,CAAC,KAAL,CAAW,IAAX,EAAN;AAAA,SAAtB;AACD;AACF;AACH;AAEC;AACE;AACE;AAEJ;;;;4BAAM;AAAA;;AACH,UAAI,KAAK,UAAL,IAAmB,IAAvB,EAA6B;AAC3B,aAAK,SAAL,CAAe,eAAf,CAA+B,KAAK,WAAL,CAAiB,aAAhD,EAA+D,kBAA/D;;AACA,aAAK,aAAL,CAAmB,KAAnB,CAAyB,KAAK,SAA9B,EAAyC,SAAzC,CAAmD;AACjD,iBAAI,CAAC,UAAL,GAAkB,IAAlB;;AACA,iBAAI,CAAC,MAAL,CAAY,IAAZ;;AACA,iBAAI,CAAC,eAAL,CAAqB,YAArB;AACD,SAJD;AAKD;AACF;AACH;AAEC;AACE;AACE;AAEJ;;;;6BAAO;AACJ,UAAI,KAAK,UAAT,EAAqB;AACnB,aAAK,KAAL;AACD,OAFD,MAEO;AACL,aAAK,IAAL;AACD;AACF;AACH;AAEC;AACE;;;;6BACK;AAAc,aAAO,KAAK,UAAL,IAAmB,IAA1B;AAAiC;;;+BAE7C;AACN,WAAK,sBAAL,GAA8B,gBAAgB,CAC1C,KAAK,SADqC,EAC1B,KAAK,WAAL,CAAiB,aADS,EACM,KAAK,QADX,EACqB,KAAK,MAAL,CAAY,IAAZ,CAAiB,IAAjB,CADrB,EAC6C,KAAK,IAAL,CAAU,IAAV,CAAe,IAAf,CAD7C,EAE1C,KAAK,KAAL,CAAW,IAAX,CAAgB,IAAhB,CAF0C,EAEnB,CAAC,KAAK,SAFa,EAEF,CAAC,KAAK,UAFJ,CAA9C;AAGD;;;wCAEwC;AAAA,UAA5B,YAA4B,UAA5B,YAA4B;;AACvC,UAAI,YAAY,IAAI,KAAK,MAAL,EAApB,EAAmC;AACjC,aAAK,UAAL,CAAkB,QAAlB,CAA2B,YAA3B,GAA0C,YAAY,CAAC,YAAvD;AACD;AACF;;;kCAEU;AACT,WAAK,KAAL,GADS,CAEb;AACI;;AACA,UAAI,KAAK,sBAAT,EAAiC;AAC/B,aAAK,sBAAL;AACD;;AACD,WAAK,iBAAL,CAAuB,WAAvB;AACD;;;sBAvGc,K,EAAkD;AAC/D,WAAK,WAAL,GAAmB,KAAnB;;AACA,UAAI,CAAC,KAAD,IAAU,KAAK,UAAnB,EAA+B;AAC7B,aAAK,KAAL;AACD;AACF,K;wBAEa;AAAK,aAAO,KAAK,WAAZ;AAA0B;;;;;;2BA3I9C,kB,CAAA,C,EAAS;AAAA,SAAE,UAAU,UAAV,EAAU,gEAA0B,wDAA1B,CAAV,EAAiD,wHAAjD,EAAiD,uHAAjD,EAAiD,uIAAjD,EAAiD,+HAAjD,EAAiD,iFAAjD,EAAiD,qHAAjD,EAAiD,0HAAjD,EAAiD,gIAAjD,EAAiD,6HAAjD,CAAF;AAAmD,C;;;;;;;;;;;;;;;;;;;;;;;;;AACvD;AAAA,UAAoC;AAAA,UA7CxC,wDAAU;AA6C8B,GAApC,EA5CJ;AAAA,UAHA,uDAAS;AAGT,GA4CI,EA9CJ;AAAA,UAFA,sDAAQ;AAER,GA8CI,EA/CJ;AAAA,UAKA,sEAAwB;AALxB,GA+CI,EAzCJ;AAAA,UAFA,8DAAgB;AAEhB,GAyCI,EA1CJ;AAAA,UAeM;AAfN,GA0CI,EA3BsB;AAAA,UAd1B,oDAAM;AAcoB,GA2BtB,EAxCJ;AAAA;AAAA;AAAA,YA6I8B,oDA7I9B;AA6IoC,aAAC,yDAAD;AA7IpC;AAAA,GAwCI,EAqGkD;AAAA,UA5ItD,+DAAiB;AA4IqC,GArGlD,EAtCJ;AAAA,sEAAc;AAAd,GAsCI;AAAA;;AArCF;AAEC;AAAA,UA2CF,mDAAK;AA3CH,IAFD;AA6CS;AAAA,UAaV,mDAAK;AAbK,IA7CT;AA0DS;AAAA,UAeV,mDAAK;AAfK,IA1DT;AAyES;AAAA,UAQV,mDAAK;AARK,IAzET;AAiFS;AAAA,UAOV,mDAAK;AAPK,IAjFT;AAwFS;AAAA,UAOV,mDAAK;AAPK,IAxFT;AA+FS;AAAA,UAOV,mDAAK;AAPK,IA/FT;AAsGS;AAAA,UAOV,mDAAK;AAPK,IAtGT;AA6GS;AAAA,UAOV,mDAAK;AAPK,IA7GT;AAoHS;AAAA,UAKV,oDAAM;AALI,IApHT;AAyHU;AAAA,UAKX,oDAAM;AALK,IAzHV;AA8HU;AAAA,UAyCX,mDAAK;AAzCM;AA9HV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwKD,C;;ICpLU,gB;;;;uFADZ;AAAA,MAAQ;AAAR,C;AAAwB,gBAAa,KAAb,GAAa,+DAA6B;AAAA,SAAa,oCAAoC,CAApC,EAAoC;AAAA;AAAA;AAAjD,CAA7B,CAAb;;;;;;;;;;;;;;;;;;;;AACpB,C;ACNL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAUa,Y;AATb;AAAA;;AACG;AAAY;AAEQ;AAYZ,0BAAiB,eAAjB;AAwBV;;;;gCARa,O,EAAsB;AAChC,UAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,MAAN,CAAvB;AAEA,UAAM,KAAK,GAAG,KAAK,CAAC,OAAN,CAAc,KAAK,IAAnB,IAA2B,KAAK,IAAhC,GAAuC,CAAC,KAAK,IAAN,CAArD;AACA,UAAM,YAAY,GAAG,KAAK,CAAC,GAAN,CAAU,cAAI;AAAA,eAAI,YAAY,CAAC,QAAQ,CAAC,IAAD,CAAT,CAAhB;AAAA,OAAd,EAAgD,MAAhD,CAAuD,cAAI;AAAA,eAAI,IAAJ;AAAA,OAA3D,CAArB;AAEA,WAAK,KAAL,GAAa,YAAY,CAAC,MAAb,GAAsB,MAAM,CAAC,KAAP,CAAa,IAAI,MAAJ,YAAe,YAAY,CAAC,IAAb,CAAkB,GAAlB,CAAf,QAA0C,KAA1C,CAAb,CAAtB,GAAuF,CAAC,MAAD,CAApG;AACD;;;;;;6BAtCF,oB,CAAS,C,EAAA;AAAA,SAAC,yBAAD;AACE,C;;AAAe,oFACR;AAAA;AAAuB,WAAO,qBAA9B;AACjB,QAAa,EAAE;AAAA,oBAAkB,gBAAlB;AAAsB,UACrC,UADe;AACL;AADK,GADE;AAEP,gFAFO;AAEP,OAAgE,GAFzD;AAEyD,SAFzD;AAEyD,UACtE,gFAHa;AAGb,2CAAkH,EAAlH,EAAkH,GAAlH,EAAkH;AAAA,QAClH,MADkH,EAClH;AAAgB,4HAErB,CAFqB;;;;;;GAJH;+HAAA;6CAAA;kBAAA;mBAOd;AAPc,CADQ;AAQrB;AAAgC;AAAA,UAMnC,mDAAK;AAN8B,IAAhC;AAMO;AAAA,UAQV,mDAAK;AARK,IANP;AAcO;AAAA,UAMV,mDAAK;AANK;AAdP;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBQ,C;;ICAD,kB;AArBb;AAAA;;AAsBE,qBAAY,CAAZ;AACF;AAEK;AACL;;AAOW,sBAAa,IAAb;AACX;AAEK;AAOF;AAEH;;AAIW,qBAAY,QAAZ;AACX;AAEK;AAEF;;AAKiB,uBAAc,IAAI,0DAAJ,EAAd;AAEM,6BAAoB,IAAI,0DAAJ,EAApB;AA2CzB;;;;gCAzCU;AAAK,aAAO,KAAK,SAAL,GAAiB,CAAC,CAAlB,IAAuB,KAAK,SAAL,GAAiB,KAAK,OAAL,CAAa,MAA5D;AAAqE;;;gCAE1E;AAAK,aAAO,KAAK,OAAL,CAAa,KAAK,SAAlB,CAAP;AAAsC;;;+BAEzC,S,EAAiB;AAC1B,WAAK,SAAL,GAAiB,SAAjB;;AACA,WAAK,cAAL;AACD;;;2BAEG;AACF,UAAI,KAAK,SAAL,KAAmB,KAAK,OAAL,CAAa,MAAb,GAAsB,CAA7C,EAAgD;AAC9C,aAAK,SAAL,GAAiB,KAAK,UAAL,GAAkB,CAAC,KAAK,SAAL,GAAiB,CAAlB,IAAuB,KAAK,OAAL,CAAa,MAAtD,GAA+D,CAAC,CAAjF;AACD,OAFD,MAEO;AACL,aAAK,SAAL;AACD;;AACD,WAAK,cAAL;AACD;;;2BAEG;AACF,UAAI,KAAK,SAAL,GAAiB,CAArB,EAAwB;AACtB,aAAK,SAAL,GAAiB,KAAK,OAAL,CAAa,MAAb,GAAsB,CAAvC;AACD,OAFD,MAEO,IAAI,KAAK,SAAL,KAAmB,CAAvB,EAA0B;AAC/B,aAAK,SAAL,GAAiB,KAAK,UAAL,GAAkB,KAAK,OAAL,CAAa,MAAb,GAAsB,CAAxC,GAA4C,CAAC,CAA9D;AACD,OAFM,MAEA;AACL,aAAK,SAAL;AACD;;AACD,WAAK,cAAL;AACD;;;kCAEU;AACT,WAAK,SAAL,GAAiB,KAAK,UAAL,GAAkB,CAAlB,GAAsB,CAAC,CAAxC;;AACA,WAAK,cAAL;AACD;;;2BAEM,I,EAAI;AAAI,WAAK,WAAL,CAAiB,IAAjB,CAAsB,IAAtB;AAA8B;;;+BAErC;AAAK,WAAK,WAAL;AAAqB;;;qCAEZ;AACpB,WAAK,iBAAL,CAAuB,IAAvB,CAA4B,KAAK,SAAL,IAAkB,CAAlB,GAAsB,KAAK,EAAL,GAAU,GAAV,GAAgB,KAAK,SAA3C,GAAuD,SAAnF;AACD;;;;;;mCAvGF,0B,CAAS,C,EAAC;AAAA,mBACT,kBADS;AACC,C;;AAAsB,0BAChC,gEAAU;AAAoB,0BAApB;AACV,WAAe,4BADL;AAC2B,WACrC,EAAI,SAAG,SAAH,EAAkB,CAAlB,EAAkB,eAAlB,EAAkB,MAAlB,CAFM;AAEuC,UAAS,GAFhD;AAEgD,gBAAoB,SAAU,+BAAV,CAAkC,EAAlC,EAAkC,GAAlC,EAAkC;AAChH,aAAQ,CAAR,EAAU;;;;;;;;;GAHA;;;;;;;;GAAA;;;;GAAA;kCAAA;UAAA;SAAA;6LAiBT,yB,EAjBS;AAkBX;AAAA;;;;;;;;;GAlBW;yJAAA;iBAmBP;AAnBO,CAAV,CADgC;AAoB5B;AAAsC;AAAA,UAOzC,mDAAK;AAPoC,IAAtC;AAOO;AAAA,UAKV,mDAAK;AALK,IAPP;AAYO;AAAA,UAKV,mDAAK;AALK,IAZP;AAiBO;AAAA,UAKV,mDAAK;AALK,IAjBP;AAsBO;AAAA,UAMV,mDAAK;AANK,IAtBP;AA4BO;AAAA,UAKV,mDAAK;AALK,IA5BP;AAiCO;AAAA,UAKV,oDALU;AAKJ,WAAC,QAAD;AALI,IAjCP;AAsCmB;AAAA,UAEtB,oDAFsB;AAEhB,WAAC,cAAD;AAFgB;AAtCnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwC0B,C;;AAAE,ICxErB,eAAe,GAAG,IAAI,4DAAJ,CAC3B,sBAD2B,EACH;AAAC,YAAU,EAAE,MAAb;AAAqB,SAAO,EAAE;AAA9B,CADG,CDwEG;;ACtElC,SAAgB,uBAAhB,GAAuC;AACrC,SAAO,GAAP;AACD;;AAGD,SAAS,cAAT,CAAwB,QAAxB,EAAyD;AAAA,MAAlB,UAAkB,uEAAL,KAAK;AACvD,MAAI,OAAO,GAAG,QAAQ,CAAC,IAAT,CAAc,aAAd,CAA4B,WAA5B,CAAd;;AAEA,MAAI,OAAO,IAAI,IAAX,IAAmB,UAAvB,EAAmC;AACjC,WAAO,GAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAV;AAEA,WAAO,CAAC,YAAR,CAAqB,IAArB,EAA2B,UAA3B;AACA,WAAO,CAAC,YAAR,CAAqB,WAArB,EAAkC,QAAlC;AACA,WAAO,CAAC,YAAR,CAAqB,aAArB,EAAoC,MAApC;AAEA,WAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,SAAtB;AAEA,YAAQ,CAAC,IAAT,CAAc,WAAd,CAA0B,OAA1B;AACD;;AAED,SAAO,OAAP;AACD;;IAKY,I;AACX,gBAAsC,SAAtC,EAAuF,MAAvF,EAAkG;AAAA;;AAA5D;AAAiD;AAAe;;;;kCAE3F;AACT,UAAM,OAAO,GAAG,cAAc,CAAC,KAAK,SAAN,CAA9B;;AACA,UAAI,OAAJ,EAAa;AACjB;AACM,eAAO,CAAC,aAAR,CAAwB,WAAxB,CAAoC,OAApC;AACD;AACF;;;wBAEG,O,EAAe;AACjB,UAAM,OAAO,GAAG,cAAc,CAAC,KAAK,SAAN,EAAiB,IAAjB,CAA9B;AACA,UAAM,KAAK,GAAG,KAAK,MAAnB;;AAEA,UAAI,OAAO,IAAI,IAAf,EAAqB;AACnB,eAAO,CAAC,WAAR,GAAsB,EAAtB;;AACA,YAAM,OAAO,GAAG,SAAV,OAAU;AAAA,iBAAM,OAAO,CAAC,WAAR,GAAsB,OAA5B;AAAA,SAAhB;;AACA,YAAI,KAAK,KAAK,IAAd,EAAoB;AAClB,iBAAO;AACR,SAFD,MAEO;AACL,oBAAU,CAAC,OAAD,EAAU,KAAV,CAAV;AACD;AACF;AACF;;;;;;;;AACF,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA,cA1BK;AA0BL;;AA1BM;AAAA,UADL;AAAA,UAAU,SAAV;AAAY,cAAU,EAAE;AAAA,UAAM,EAEhB,oDAFU;AAEJ,aAAC,yDAAD;AAFI;AAAxB,GACK,EACiC;AAAA;AAAA;AAAA,YAAkB,oDAAlB;AAAwB,aAAC,eAAD;AAAxB;AAAA,GADjC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AACmF,C;AClCzF;AACA;AACA;AACA;AACA;AACA;;;IAEa,kB,GADb;AAAA;;AAGE,kBAAW,IAAX;AACA,oBAAa,IAAb;AACA,kBAAW,KAAX;AACA,mBAA4B,CAAC,aAAD,EAAgB,cAAhB,EAAgC,UAAhC,EAA4C,WAA5C,CAA5B;AACD,C;;;;AACA,C;;AAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;kEARD,kB,EAAY;AAAkB,QAAC,0DAAnB;;;;AAAA,I;;;AACR,C;;AC0BL,IAAM,4BAA4B,GAAG;AACnC,SAAO,EAAE,iEAD0B;AAEnC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,YAAN;AAAA,GAAD,CAFY;AAGnC,OAAK,EAAE;AAH4B,CAArC;AAqBA,IAAI,YAAY,GAAG,CAAnB;AAEA;AACA;AACA;;IAoBa,Y;AA6GX,wBACY,WADZ,EACuD,gBADvD,EAEY,SAFZ,EAEkC,QAFlC,EAEsD,wBAFtD,EAGI,MAHJ,EAGgC,MAHhC,EAGwD,KAHxD,EAG+F,SAH/F,EAIY,OAJZ,EAIqC,eAJrC,EAIyE,cAJzE,EAIuG;AAAA;;AAAA;;AAH3F;AACA;AAC4C;AAAuC;AACnF;AAAyB;AA9G7B,yBAAqC,IAArC;AACA,oBAAW,IAAI,6CAAJ,EAAX;AACA,6BAAmC,IAAnC;AAGA,sBAAqD,IAArD;AACV;AAAY;AAGwC;AAAW;AAEiC;AAChG;AAEC;;AACU,wBAAe,KAAf;AACX;AAEK;AAAqD;AAAW;AAOrE;AACK;AACsB;AAG1B;AACA;AACK;AAGuD;AAAW;AAEjC;;AAsD5B,qBAA4B,aAA5B;AACX;AAEK;AAEC;AAAW;AAEA;;AAAL,sBAAa,IAAI,0DAAJ,EAAb;AAEV,4BAAkC,IAAlC;AACA,2CAA2B,YAAY,EAAvC;;AAEQ,sBAAa,aAAQ,CAArB;;AACA,qBAAY,UAAC,CAAD,EAAO,CAAO,CAA1B;;AAON,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,UAAL,GAAkB,MAAM,CAAC,UAAzB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AAEA,SAAK,aAAL,GAAqB,uDAAS,CAAQ,WAAW,CAAC,aAApB,EAAmC,OAAnC,CAAT,CACK,IADL,CACU,2DAAG,CAAC,gBAAM;AAAA,aAAK,MAAM,CAAC,MAAP,CAAmC,KAAxC;AAAA,KAAP,CADb,CAArB;AAGA,SAAK,qBAAL,GAA6B,IAAI,qDAAJ,CAAoB,IAApB,CAA7B;AAEA,SAAK,aAAL,GAAqB,IAAI,YAAJ,CACjB,kBADiB,EACG,QADH,EACa,gBADb,EAC+B,SAD/B,EAC0C,KAAK,OAD/C,EACwD,wBADxD,EAEjB,cAFiB,CAArB;AAIA,SAAK,iBAAL,GAAyB,MAAM,CAAC,QAAP,CAAgB,SAAhB,CAA0B;AACjD,UAAI,OAAI,CAAC,WAAL,EAAJ,EAAwB;AACtB,wBAAgB,CACZ,OAAI,CAAC,WAAL,CAAiB,aADL,EACoB,OAAI,CAAC,UAAL,CAAkB,QAAlB,CAA2B,aAD/C,EAC8D,OAAI,CAAC,SADnE,EAEZ,OAAI,CAAC,SAAL,KAAmB,MAFP,CAAhB;AAGD;AACF,KANwB,CAAzB;AAOD;;;;+BAEO;AAAA;;AACN,UAAM,YAAY,GAAG,KAAK,aAAL,CAAmB,IAAnB,CAAwB,2DAAG,CAAC,eAAK;AACpD,eAAI,CAAC,iBAAL,GAAyB,OAAI,CAAC,QAAL,GAAgB,KAAhB,GAAwB,IAAjD;;AACA,eAAI,CAAC,SAAL,CAAe,OAAI,CAAC,QAAL,GAAgB,KAAhB,GAAwB,SAAvC;AACD,OAH+C,CAA3B,CAArB;;AAIA,UAAM,QAAQ,GAAG,YAAY,CAAC,IAAb,CAAkB,KAAK,YAAvB,CAAjB;;AACA,UAAM,UAAU,GAAG,KAAK,qBAAL,CAA2B,IAA3B,CAAgC,iEAAS,CAAC;AAAA,eAAM,QAAN;AAAA,OAAD,CAAzC,CAAnB;;AACA,WAAK,aAAL,GAAqB,KAAK,qBAAL,CAA2B,UAA3B,CAArB;AACD;;;kCAEU;AACT,WAAK,WAAL;;AACA,WAAK,yBAAL;;AACA,WAAK,iBAAL,CAAuB,WAAvB;AACD;;;qCAEgB,E,EAAuB;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;;;sCAEtD,E,EAAa;AAAU,WAAK,UAAL,GAAkB,EAAlB;AAAuB;;;+BAErD,K,EAAK;AACd,WAAK,gBAAL,CAAsB,KAAK,mBAAL,CAAyB,KAAzB,CAAtB;;AACA,UAAI,KAAK,QAAT,EAAmB;AACjB,aAAK,iBAAL,GAAyB,KAAzB;AACD;AACF;;;qCAEgB,U,EAAmB;AAClC,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,UAA3D,EAAuE,UAAvE;AACD;AACH;AAEC;AACE;;;;mCACW;AACV,UAAI,KAAK,WAAL,EAAJ,EAAwB;AACtB,aAAK,qBAAL,CAA2B,IAA3B,CAAgC,IAAhC;;AACA,aAAK,WAAL;;AACA,YAAI,KAAK,QAAL,IAAiB,KAAK,iBAAL,KAA2B,IAAhD,EAAsD;AACpD,eAAK,gBAAL,CAAsB,KAAK,iBAA3B;AACD;;AACD,aAAK,eAAL,CAAqB,YAArB;AACD;AACF;AACH;AAEC;AACE;;;;kCACU;AAAK,aAAO,KAAK,UAAL,IAAmB,IAA1B;AAAiC;;;iCAEvC;AACR,WAAK,qBAAL,CAA2B,IAA3B,CAAgC,IAAhC;;AACA,WAAK,UAAL;AACD;;;kCAEa,K,EAAoB;AAChC,UAAI,CAAC,KAAK,WAAL,EAAL,EAAyB;AACvB;AACD,OAH+B,CAIpC;;;AAEI,cAAQ,KAAK,CAAC,KAAd;AACE,aAAK,GAAG,CAAC,SAAT;AACE,eAAK,CAAC,cAAN;;AACA,eAAK,UAAL,CAAkB,QAAlB,CAA2B,IAA3B;;AACA,eAAK,SAAL;;AACA;;AACF,aAAK,GAAG,CAAC,OAAT;AACE,eAAK,CAAC,cAAN;;AACA,eAAK,UAAL,CAAkB,QAAlB,CAA2B,IAA3B;;AACA,eAAK,SAAL;;AACA;;AACF,aAAK,GAAG,CAAC,KAAT;AACA,aAAK,GAAG,CAAC,GAAT;AACE,cAAM,MAAM,GAAG,KAAK,UAAL,CAAkB,QAAlB,CAA2B,SAA3B,EAAf;;AACA,cAAI,SAAS,CAAC,MAAD,CAAb,EAAuB;AACrB,iBAAK,CAAC,cAAN;AACA,iBAAK,CAAC,eAAN;;AACA,iBAAK,aAAL,CAAmB,MAAnB;AACD;;AACD,eAAK,WAAL;;AACA;AApBJ;AAsBD;;;iCAEiB;AAAA;;AAChB,UAAI,CAAC,KAAK,WAAL,EAAL,EAAyB;AACvB,aAAK,iBAAL,GAAyB,KAAK,WAAL,CAAiB,aAAjB,CAA+B,KAAxD;;AADuB,qCAEH,KAAK,aAAL,CAAmB,IAAnB,EAFG;AAAA,YAEhB,SAFgB,0BAEhB,SAFgB;;AAGvB,aAAK,UAAL,GAAkB,SAAlB;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,EAAzB,GAA8B,KAAK,OAAnC;;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,WAAzB,CAAqC,SAArC,CAA+C,UAAC,MAAD;AAAA,iBAAiB,OAAI,CAAC,uBAAL,CAA6B,MAA7B,CAAjB;AAAA,SAA/C;;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,iBAAzB,CAA2C,SAA3C,CAAqD,UAAC,QAAD;AAAA,iBAAsB,OAAI,CAAC,gBAAL,GAAwB,QAA9C;AAAA,SAArD;;AAEA,YAAI,KAAK,SAAL,KAAmB,MAAvB,EAA+B;AAC7B,eAAK,SAAL,CAAe,aAAf,CAA6B,KAAK,SAAlC,EAA6C,WAA7C,CAAyD,KAAK,UAAL,CAAgB,QAAhB,CAAyB,aAAlF;AACD;;AAED,aAAK,eAAL,CAAqB,YAArB;;AAEA,oBAAY,CACR,KAAK,OADG,EACM,KAAK,SADX,EACsB,SADtB,EACiC;AAAA,iBAAM,OAAI,CAAC,YAAL,EAAN;AAAA,SADjC,EAC4D,KAAK,QADjE,EAER,CAAC,KAAK,WAAL,CAAiB,aAAlB,EAAiC,KAAK,UAAL,CAAgB,QAAhB,CAAyB,aAA1D,CAFQ,CAAZ;AAGD;AACF;;;kCAEkB;AAAA;;AACjB,WAAK,aAAL,CAAmB,KAAnB,GAA2B,SAA3B,CAAqC;AACnC,eAAI,CAAC,QAAL,CAAc,IAAd;;AACA,eAAI,CAAC,UAAL,GAAkB,IAAlB;AACA,eAAI,CAAC,gBAAL,GAAwB,IAAxB;AACD,OAJD;AAKD;;;kCAEqB,M,EAAW;AAC/B,UAAI,gBAAgB,GAAG,KAAvB;AACA,WAAK,UAAL,CAAgB,IAAhB,CAAqB;AAAC,YAAI,EAAE,MAAP;AAAe,sBAAc,EAAE;AAAQ,0BAAgB,GAAG,IAAnB;AAA0B;AAAjE,OAArB;;AACA,WAAK,qBAAL,CAA2B,IAA3B,CAAgC,IAAhC;;AAEA,UAAI,CAAC,gBAAL,EAAuB;AACrB,aAAK,UAAL,CAAgB,MAAhB;;AACA,aAAK,SAAL,CAAe,MAAf;AACD;AACF;;;4CAE+B,M,EAAW;AACzC,WAAK,aAAL,CAAmB,MAAnB;;AACA,WAAK,WAAL;AACD;;;gCAEgB;AACnB;;AAAI,UAAI,KAAK,QAAL,KAAa,MAAI,KAAK,UAAT,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAE,QAAF,CAAW,SAAX,EAAhC,KAA0D,KAAK,iBAAL,IAA0B,IAAxF,EAA8F;AAC5F,YAAM,kBAAkB,GAAG,KAAK,iBAAL,CAAuB,WAAvB,EAA3B;;AACA,YAAM,YAAY,GAAG,KAAK,mBAAL,CAAyB,KAAK,UAAL,CAAgB,QAAhB,CAAyB,SAAzB,EAAzB,CAArB;;AAEA,YAAI,kBAAkB,KAAK,YAAY,CAAC,MAAb,CAAoB,CAApB,EAAuB,KAAK,iBAAL,CAAuB,MAA9C,EAAsD,WAAtD,EAA3B,EAAgG;AAC9F,eAAK,gBAAL,CAAsB,KAAK,iBAAL,GAAyB,YAAY,CAAC,MAAb,CAAoB,KAAK,iBAAL,CAAuB,MAA3C,CAA/C;;AACA,eAAK,WAAL,CAAiB,aAAjB,CAA+B,mBAA/B,EAAoD,KAApD,CACI,KAAK,WAAL,CAAiB,aADrB,EACoC,CAAC,KAAK,iBAAL,CAAuB,MAAxB,EAAgC,YAAY,CAAC,MAA7C,CADpC;AAED,SAJD,MAIO;AACL,eAAK,gBAAL,CAAsB,YAAtB;AACD;AACF;AACF;;;wCAE2B,I,EAAS;AACnC,aAAO,IAAI,IAAI,IAAR,IAAgB,KAAK,cAArB,GAAsC,KAAK,cAAL,CAAoB,IAApB,CAAtC,GAAkE,QAAQ,CAAC,IAAD,CAAjF;AACD;;;qCAEwB,K,EAAa;AACpC,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,OAA3D,EAAoE,QAAQ,CAAC,KAAD,CAA5E;AACD;;;0CAE6B,U,EAAsC;AAAA;;AAClE,aAAO,UAAU,CAAC,SAAX,CAAqB,UAAC,OAAD,EAAQ;AAClC,YAAI,CAAC,OAAD,IAAY,OAAO,CAAC,MAAR,KAAmB,CAAnC,EAAsC;AACpC,iBAAI,CAAC,WAAL;AACD,SAFD,MAEO;AACL,iBAAI,CAAC,UAAL;;AACA,iBAAI,CAAC,UAAL,CAAkB,QAAlB,CAA2B,UAA3B,GAAwC,OAAI,CAAC,UAA7C;AACA,iBAAI,CAAC,UAAL,CAAkB,QAAlB,CAA2B,OAA3B,GAAqC,OAArC;AACA,iBAAI,CAAC,UAAL,CAAkB,QAAlB,CAA2B,IAA3B,GAAkC,OAAI,CAAC,WAAL,CAAiB,aAAjB,CAA+B,KAAjE;;AACA,cAAI,OAAI,CAAC,eAAT,EAA0B;AACxB,mBAAI,CAAC,UAAL,CAAkB,QAAlB,CAA2B,SAA3B,GAAuC,OAAI,CAAC,eAA5C;AACD;;AACD,cAAI,OAAI,CAAC,cAAT,EAAyB;AACvB,mBAAI,CAAC,UAAL,CAAkB,QAAlB,CAA2B,cAA3B,GAA4C,OAAI,CAAC,cAAjD;AACD;;AACD,iBAAI,CAAC,UAAL,CAAkB,QAAlB,CAA2B,WAA3B,GAXK,CAYb;AAEO;AACQ;;;AACP,iBAAI,CAAC,UAAL,CAAkB,iBAAlB,CAAoC,aAApC;;AAEA,iBAAI,CAAC,SAAL;AACD,SAtBiC,CAuBxC;;;AAEM,YAAM,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC,MAAX,GAAoB,CAAzC;;AACA,eAAI,CAAC,KAAL,CAAW,GAAX,CAAe,KAAK,KAAK,CAAV,GAAc,sBAAd,aAA0C,KAA1C,oBAAyD,KAAK,KAAK,CAAV,GAAc,EAAd,GAAmB,GAA5E,eAAf;AACD,OA3BM,CAAP;AA4BD;;;gDAEgC;AAC/B,UAAI,KAAK,aAAT,EAAwB;AACtB,aAAK,aAAL,CAAmB,WAAnB;AACD;;AACD,WAAK,aAAL,GAAqB,IAArB;AACD;;;;;;6BA1VF,oB,CAAS,C,EAAA;AAAA,SAAC,wBACC,gEAAqB,wDAArB,CADD,EAET,gEAAwB,8DAAxB,CAFS,EAGH,gEACM,uDADN,CAHG,EAIiB,gEACxB,sDADwB,CAJjB,EAKS,gEAChB,sEADgB,CALT,EAMM,gEACb,kBADa,CANN,EAOW,gEAAc,oDAAd,CAPX,EAQP,gEAAuB,IAAvB,CARO,EAQgB,gEACH,yDADG,CARhB,EASa,gEACZ,oDADY,CATb,EAUW,gEACF,+DADE,CAVX,EAWkB,gEACzB,4DADyB,CAXlB,CAAD;AAYsB,C;;AAA4B,oFACxD;AAAA;AAAgC,cAAkB,0BAClD,EADkD,CAAlB,CAAhC;AACA,WAAkB,EAAE,yCAAgC,KAAhC,EAAgC,MAAhC,EACpB,UADoB,EACpB,gBADoB,EACI,OADJ,CADpB;AAEuC,aAFvC;AAEuC,cACxC,WACD,yBADC,CACW,EADX,EACW,GADX,EACW;AAA6B;AAC1C;AAAA;AAAA;AAAA;AAAA;;;;;;;;GALG;;;;;;;;;;;;GAAA;;;GAAA;4BAAA;+EAMC,4B;AAND,CADwD;;AAOtD;AAAA,UAAsC;AAAA,UA5E1C,wDAAU;AA4EgC,GAAtC,EA3EJ;AAAA,UAWA,8DAAgB;AAXhB,GA2EI,EA/DJ;AAAA,UAHA,uDAAS;AAGT,GA+DI,EAjEJ;AAAA,UAPA,sDAAQ;AAOR,GAiEI,EAvEJ;AAAA,UARA,sEAAwB;AAQxB,GAuEI,EA9EJ;AAAA,UA6BM;AA7BN,GA8EI,EAjDwB;AAAA,UArB5B,oDAAM;AAqBsB,GAiDxB,EArEJ;AAAA,UAaM;AAbN,GAqEI,EAxDU;AAAA;AAAA;AAAA,YAwKwD,oDAxKxD;AAwK8D,aAAC,yDAAD;AAxK9D;AAAA,GAwDV,EAgH0F;AAAA,UAtL9F,oDAAM;AAsLwF,GAhH1F,EArEJ;AAAA,UAXA,+DAAiB;AAWjB,GAqEI,EA/EJ;AAAA,UAgBA,4DAAc;AAhBd,GA+EI;AAAA;;AA9DD;AACQ;AAAA,UA+EV,mDAAK;AA/EK,IADR;AAgFQ;AAAA,UAOV,mDAAK;AAPK,IAhFR;AAuFQ;AAAA,UAKV,mDAAK;AALK,IAvFR;AA4FQ;AAAA,UAKV,mDAAK;AALK,IA5FR;AAiGQ;AAAA,UAQV,mDAAK;AARK,IAjGR;AAyGQ;AAAA,UAaV,mDAAK;AAbK,IAzGR;AAsHQ;AAAA,UASV,mDAAK;AATK,IAtHR;AA+HQ;AAAA,UASV,mDAAK;AATK,IA/HR;AAwIQ;AAAA,UAKV,mDAAK;AALK,IAxIR;AA6IQ;AAAA,UAeV,mDAAK;AAfK,IA7IR;AA4JQ;AAAA,UAOV,oDAAM;AAPI;AA5JR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmKU,C;;ICpKF,kB;;;;yFANZ;AAAA,MAAQ;AAAR,C;AACC,kBAAe,KAAf,GAAe,+DAA4B;AAAA,WAAkB,SAAC,0BAAD,CACnD,CADmD,EACnD;AAAY,WAAE,UAAa,kBAAb,GAAF;AACf,GAFoC;AAEjC;AAFiC,CAA5B,CAAf;;CAGA;AAAA,GAAe,OAAG,SAAH,KAAqB,WAArB,IAChB,SADC,KACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IADC;AACD,C;;;;;;;;;;;;;;AACI,C;;AC0HL,IAAM,WAAW,GAAG,CAClB,kBADkB,EACE,cADF,EACkB,gBADlB,EACoC,iBADpC,EACuD,iBADvD,EAC0E,mBAD1E,EAElB,iBAFkB,EAEC,cAFD,EAEiB,YAFjB,EAE+B,mBAF/B,EAEoD,gBAFpD,EAEsE,oBAFtE,EAGlB,eAHkB,EAGD,mBAHC,EAGoB,cAHpB,EAGoC,gBAHpC,EAGsD,kBAHtD,CAApB;;IAOa,S;;;;gFADZ;AAAA,MAAQ;AAAR,C;AAAiB,SAAE,KAAF,GAAe,+DAAqB;AAAA;AAAA;AAAA;AAAA;AAAA,CAArB,CAAf;;;;;;;;;;;;;;;;;;;AACb,C;ACnJL;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIO,cAAJ;;AACA,CAAC,UAAUA,cAAV,EAA0B;AACvBA,gBAAc,CAACA,cAAc,CAAC,UAAD,CAAd,GAA6B,CAA9B,CAAd,GAAiD,UAAjD;AACAA,gBAAc,CAACA,cAAc,CAAC,oBAAD,CAAd,GAAuC,CAAxC,CAAd,GAA2D,oBAA3D;AACAA,gBAAc,CAACA,cAAc,CAAC,eAAD,CAAd,GAAkC,CAAnC,CAAd,GAAsD,eAAtD;AACH,CAJD,EAIGA,cAAc,KAAKA,cAAc,GAAG,EAAtB,CAJjB;;AAKA,SAASC,WAAT,CAAqBC,WAArB,EAAkC;AAC9B,MAAIA,WAAW,CAAC,CAAD,CAAX,IAAkB,GAAtB,EAA2B;AACvB,WAAO,CAAC,IAAD,EAAOA,WAAP,CAAP;AACH;;AACD,MAAMC,UAAU,GAAGD,WAAW,CAACE,OAAZ,CAAoB,GAApB,EAAyB,CAAzB,CAAnB;;AACA,MAAID,UAAU,IAAI,CAAC,CAAnB,EAAsB;AAClB,UAAM,IAAIE,KAAJ,gCAAiCH,WAAjC,sCAAN;AACH;;AACD,SAAO,CAACA,WAAW,CAACI,KAAZ,CAAkB,CAAlB,EAAqBH,UAArB,CAAD,EAAmCD,WAAW,CAACI,KAAZ,CAAkBH,UAAU,GAAG,CAA/B,CAAnC,CAAP;AACH,C,CACD;;;AACA,SAASI,aAAT,CAAuBC,OAAvB,EAAgC;AAC5B,SAAOP,WAAW,CAACO,OAAD,CAAX,CAAqB,CAArB,MAA4B,cAAnC;AACH,C,CACD;;;AACA,SAASC,WAAT,CAAqBD,OAArB,EAA8B;AAC1B,SAAOP,WAAW,CAACO,OAAD,CAAX,CAAqB,CAArB,MAA4B,YAAnC;AACH,C,CACD;;;AACA,SAASE,YAAT,CAAsBF,OAAtB,EAA+B;AAC3B,SAAOP,WAAW,CAACO,OAAD,CAAX,CAAqB,CAArB,MAA4B,aAAnC;AACH;;AACD,SAASG,WAAT,CAAqBC,QAArB,EAA+B;AAC3B,SAAOA,QAAQ,KAAK,IAAb,GAAoB,IAApB,GAA2BX,WAAW,CAACW,QAAD,CAAX,CAAsB,CAAtB,CAAlC;AACH;;AACD,SAASC,cAAT,CAAwBC,MAAxB,EAAgCC,SAAhC,EAA2C;AACvC,SAAOD,MAAM,cAAOA,MAAP,cAAiBC,SAAjB,IAA+BA,SAA5C;AACH,C,CACD;AACA;AACA;AACA;AACA;;;AACA,IAAMC,cAAc,GAAG;AACnB,YAAU,MADS;AAEnB,YAAU,MAFS;AAGnB,WAAS,MAHU;AAInB,WAAS,MAJU;AAKnB,WAAS,MALU;AAMnB,WAAS,MANU;AAOnB,WAAS,MAPU;AAQnB,YAAU,MARS;AASnB,YAAU,MATS;AAUnB,aAAW,QAVQ;AAWnB,WAAS,QAXU;AAYnB,WAAS,QAZU;AAanB,SAAO,GAbY;AAcnB,SAAO,QAdY;AAenB,SAAO,QAfY;AAgBnB,UAAQ,GAhBW;AAiBnB,WAAS,MAjBU;AAkBnB,WAAS,MAlBU;AAmBnB,WAAS,QAnBU;AAoBnB,YAAU,MApBS;AAqBnB,YAAU,MArBS;AAsBnB,UAAQ,MAtBW;AAuBnB,UAAQ,MAvBW;AAwBnB,WAAS,QAxBU;AAyBnB,UAAQ,QAzBW;AA0BnB,UAAQ,QA1BW;AA2BnB,YAAU,MA3BS;AA4BnB,UAAQ,QA5BW;AA6BnB,SAAO,QA7BY;AA8BnB,YAAU,MA9BS;AA+BnB,YAAU,MA/BS;AAgCnB,WAAS,MAhCU;AAiCnB,UAAQ,MAjCW;AAkCnB,SAAO,QAlCY;AAmCnB,SAAO,QAnCY;AAoCnB,UAAQ,QApCW;AAqCnB,WAAS,QArCU;AAsCnB,UAAQ,QAtCW;AAuCnB,UAAQ,MAvCW;AAwCnB,WAAS,QAxCU;AAyCnB,SAAO,QAzCY;AA0CnB,YAAU,MA1CS;AA2CnB,YAAU,QA3CS;AA4CnB,YAAU,QA5CS;AA6CnB,UAAQ,QA7CW;AA8CnB,UAAQ,QA9CW;AA+CnB,SAAO,MA/CY;AAgDnB,WAAS,QAhDU;AAiDnB,WAAS,QAjDU;AAkDnB,WAAS,QAlDU;AAmDnB,YAAU,MAnDS;AAoDnB,YAAU,MApDS;AAqDnB,YAAU,MArDS;AAsDnB,WAAS,MAtDU;AAuDnB,WAAS,MAvDU;AAwDnB,YAAU,MAxDS;AAyDnB,YAAU,MAzDS;AA0DnB,WAAS,QA1DU;AA2DnB,UAAQ,QA3DW;AA4DnB,UAAQ,QA5DW;AA6DnB,aAAW,QA7DQ;AA8DnB,aAAW,QA9DQ;AA+DnB,WAAS,QA/DU;AAgEnB,SAAO,QAhEY;AAiEnB,SAAO,QAjEY;AAkEnB,SAAO,MAlEY;AAmEnB,SAAO,MAnEY;AAoEnB,UAAQ,MApEW;AAqEnB,UAAQ,MArEW;AAsEnB,UAAQ,QAtEW;AAuEnB,WAAS,QAvEU;AAwEnB,UAAQ,QAxEW;AAyEnB,YAAU,QAzES;AA0EnB,YAAU,MA1ES;AA2EnB,YAAU,MA3ES;AA4EnB,YAAU,MA5ES;AA6EnB,WAAS,QA7EU;AA8EnB,WAAS,QA9EU;AA+EnB,WAAS,QA/EU;AAgFnB,QAAM,QAhFa;AAiFnB,QAAM,GAjFa;AAkFnB,UAAQ,QAlFW;AAmFnB,UAAQ,QAnFW;AAoFnB,YAAU,QApFS;AAqFnB,YAAU,QArFS;AAsFnB,YAAU,MAtFS;AAuFnB,YAAU,MAvFS;AAwFnB,WAAS,MAxFU;AAyFnB,WAAS,MAzFU;AA0FnB,WAAS,MA1FU;AA2FnB,YAAU,MA3FS;AA4FnB,YAAU,MA5FS;AA6FnB,WAAS,QA7FU;AA8FnB,WAAS,QA9FU;AA+FnB,SAAO,QA/FY;AAgGnB,UAAQ,QAhGW;AAiGnB,UAAQ,QAjGW;AAkGnB,YAAU,MAlGS;AAmGnB,UAAQ,QAnGW;AAoGnB,UAAQ,MApGW;AAqGnB,UAAQ,MArGW;AAsGnB,WAAS,QAtGU;AAuGnB,WAAS,QAvGU;AAwGnB,YAAU,QAxGS;AAyGnB,YAAU,QAzGS;AA0GnB,UAAQ,QA1GW;AA2GnB,WAAS,MA3GU;AA4GnB,UAAQ,QA5GW;AA6GnB,UAAQ,QA7GW;AA8GnB,WAAS,QA9GU;AA+GnB,WAAS,QA/GU;AAgHnB,QAAM,QAhHa;AAiHnB,YAAU,QAjHS;AAkHnB,YAAU,QAlHS;AAmHnB,SAAO,QAnHY;AAoHnB,SAAO,QApHY;AAqHnB,YAAU,QArHS;AAsHnB,WAAS,QAtHU;AAuHnB,QAAM,GAvHa;AAwHnB,UAAQ,MAxHW;AAyHnB,WAAS,QAzHU;AA0HnB,WAAS,MA1HU;AA2HnB,YAAU,MA3HS;AA4HnB,WAAS,QA5HU;AA6HnB,QAAM,QA7Ha;AA8HnB,QAAM,QA9Ha;AA+HnB,WAAS,QA/HU;AAgInB,UAAQ,MAhIW;AAiInB,WAAS,QAjIU;AAkInB,QAAM,QAlIa;AAmInB,QAAM,QAnIa;AAoInB,SAAO,MApIY;AAqInB,WAAS,QArIU;AAsInB,UAAQ,QAtIW;AAuInB,YAAU,MAvIS;AAwInB,YAAU,MAxIS;AAyInB,QAAM,QAzIa;AA0InB,QAAM,QA1Ia;AA2InB,YAAU,MA3IS;AA4InB,YAAU,MA5IS;AA6InB,WAAS,MA7IU;AA8InB,WAAS,MA9IU;AA+InB,WAAS,QA/IU;AAgJnB,WAAS,QAhJU;AAiJnB,YAAU,MAjJS;AAkJnB,YAAU,MAlJS;AAmJnB,WAAS,QAnJU;AAoJnB,WAAS,QApJU;AAqJnB,WAAS,QArJU;AAsJnB,aAAW,QAtJQ;AAuJnB,aAAW,QAvJQ;AAwJnB,WAAS,QAxJU;AAyJnB,QAAM,QAzJa;AA0JnB,UAAQ,MA1JW;AA2JnB,UAAQ,MA3JW;AA4JnB,YAAU,MA5JS;AA6JnB,YAAU,MA7JS;AA8JnB,YAAU,MA9JS;AA+JnB,YAAU,MA/JS;AAgKnB,YAAU,QAhKS;AAiKnB,UAAQ,MAjKW;AAkKnB,UAAQ,MAlKW;AAmKnB,UAAQ,MAnKW;AAoKnB,YAAU,QApKS;AAqKnB,UAAQ,QArKW;AAsKnB,SAAO,QAtKY;AAuKnB,SAAO,QAvKY;AAwKnB,QAAM,QAxKa;AAyKnB,QAAM,QAzKa;AA0KnB,SAAO,QA1KY;AA2KnB,YAAU,MA3KS;AA4KnB,WAAS,MA5KU;AA6KnB,WAAS,QA7KU;AA8KnB,WAAS,QA9KU;AA+KnB,UAAQ,QA/KW;AAgLnB,UAAQ,QAhLW;AAiLnB,SAAO,QAjLY;AAkLnB,SAAO,QAlLY;AAmLnB,UAAQ,IAnLW;AAoLnB,WAAS,QApLU;AAqLnB,UAAQ,QArLW;AAsLnB,WAAS,MAtLU;AAuLnB,UAAQ,QAvLW;AAwLnB,UAAQ,QAxLW;AAyLnB,WAAS,QAzLU;AA0LnB,WAAS,QA1LU;AA2LnB,UAAQ,QA3LW;AA4LnB,SAAO,MA5LY;AA6LnB,YAAU,QA7LS;AA8LnB,SAAO,QA9LY;AA+LnB,SAAO,QA/LY;AAgMnB,SAAO,QAhMY;AAiMnB,YAAU,QAjMS;AAkMnB,WAAS,QAlMU;AAmMnB,WAAS,QAnMU;AAoMnB,YAAU,QApMS;AAqMnB,YAAU,QArMS;AAsMnB,UAAQ,QAtMW;AAuMnB,UAAQ,MAvMW;AAwMnB,SAAO,MAxMY;AAyMnB,WAAS,QAzMU;AA0MnB,WAAS,QA1MU;AA2MnB,YAAU,QA3MS;AA4MnB,SAAO,QA5MY;AA6MnB,YAAU,QA7MS;AA8MnB,SAAO,QA9MY;AA+MnB,UAAQ,QA/MW;AAgNnB,SAAO,QAhNY;AAiNnB,SAAO,QAjNY;AAkNnB,UAAQ,MAlNW;AAmNnB,UAAQ,MAnNW;AAoNnB,UAAQ,MApNW;AAqNnB,UAAQ,QArNW;AAsNnB,WAAS,MAtNU;AAuNnB,SAAO,QAvNY;AAwNnB,SAAO,QAxNY;AAyNnB,YAAU,QAzNS;AA0NnB,WAAS,QA1NU;AA2NnB,WAAS,QA3NU;AA4NnB,cAAY,QA5NO;AA6NnB,YAAU,QA7NS;AA8NnB,WAAS,MA9NU;AA+NnB,WAAS,MA/NU;AAgOnB,WAAS,QAhOU;AAiOnB,WAAS,MAjOU;AAkOnB,WAAS,QAlOU;AAmOnB,YAAU,MAnOS;AAoOnB,YAAU,MApOS;AAqOnB,UAAQ,QArOW;AAsOnB,UAAQ,QAtOW;AAuOnB,WAAS,MAvOU;AAwOnB,WAAS,MAxOU;AAyOnB,YAAU,MAzOS;AA0OnB,YAAU,MA1OS;AA2OnB,SAAO,MA3OY;AA4OnB,WAAS,QA5OU;AA6OnB,aAAW,QA7OQ;AA8OnB,aAAW,QA9OQ;AA+OnB,UAAQ,MA/OW;AAgPnB,UAAQ,MAhPW;AAiPnB,YAAU,QAjPS;AAkPnB,QAAM,QAlPa;AAmPnB,QAAM,QAnPa;AAoPnB,YAAU,MApPS;AAqPnB,YAAU,MArPS;AAsPnB,SAAO,MAtPY;AAuPnB,UAAQ,MAvPW;AAwPnB,UAAQ,QAxPW;AAyPnB,UAAQ,QAzPW;AA0PnB,UAAQ,QA1PW;AA2PnB,SAAO,QA3PY;AA4PnB,UAAQ;AA5PW,CAAvB,C,CA8PA;AACA;;AACA,IAAMC,YAAY,GAAG,QAArB;AACAD,cAAc,CAAC,MAAD,CAAd,GAAyBC,YAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,iB;AACF,+BAAgN;AAAA;;AAAA,oFAAJ,EAAI;AAAA,QAAlMC,gBAAkM,SAAlMA,gBAAkM;AAAA,QAAhLC,uBAAgL,SAAhLA,uBAAgL;AAAA,kCAAvJC,WAAuJ;AAAA,QAAvJA,WAAuJ,kCAAzIrB,cAAc,CAACsB,aAA0H;AAAA,qCAA3GC,cAA2G;AAAA,QAA3GA,cAA2G,qCAA1F,KAA0F;AAAA,6BAAnFC,MAAmF;AAAA,QAAnFA,MAAmF,6BAA1E,KAA0E;AAAA,oCAAnEC,aAAmE;AAAA,QAAnEA,aAAmE,oCAAnD,KAAmD;AAAA,sCAA5CC,2BAA4C;AAAA,QAA5CA,2BAA4C,sCAAd,KAAc;;AAAA;;AAC5M,SAAKP,gBAAL,GAAwB,EAAxB;AACA,SAAKI,cAAL,GAAsB,KAAtB;AACA,SAAKI,YAAL,GAAoB,KAApB;;AACA,QAAIR,gBAAgB,IAAIA,gBAAgB,CAACS,MAAjB,GAA0B,CAAlD,EAAqD;AACjDT,sBAAgB,CAACU,OAAjB,CAAyB,UAAArB,OAAO;AAAA,eAAI,KAAI,CAACW,gBAAL,CAAsBX,OAAtB,IAAiC,IAArC;AAAA,OAAhC;AACH;;AACD,SAAKgB,MAAL,GAAcA,MAAd;AACA,SAAKD,cAAL,GAAsBA,cAAc,IAAIC,MAAxC;AACA,SAAKJ,uBAAL,GAA+BA,uBAAuB,IAAI,IAA1D;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKI,aAAL,GAAqBA,aAArB;AACA,SAAKC,2BAAL,GAAmCA,2BAAnC;AACH;;;;oCACeI,I,EAAM;AAClB,aAAO,KAAKN,MAAL,IAAeM,IAAI,CAACC,WAAL,MAAsB,KAAKZ,gBAAjD;AACH;;;;;;AAEL,IAAIa,uBAAJ,C,CACA;AACA;;;AACA,IAAIC,eAAJ;;AACA,SAASC,oBAAT,CAA8B1B,OAA9B,EAAuC;AACnC,MAAI2B,EAAJ,EAAQC,EAAR;;AACA,MAAI,CAACH,eAAL,EAAsB;AAClBD,2BAAuB,GAAG,IAAId,iBAAJ,EAA1B;AACAe,mBAAe,GAAG;AACd,cAAQ,IAAIf,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CADM;AAEd,cAAQ,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAFM;AAGd,cAAQ,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAHM;AAId,eAAS,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAJK;AAKd,cAAQ,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CALM;AAMd,aAAO,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CANO;AAOd,eAAS,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAPK;AAQd,eAAS,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CARK;AASd,YAAM,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CATQ;AAUd,YAAM,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAVQ;AAWd,gBAAU,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAXI;AAYd,eAAS,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAZK;AAad,aAAO,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAbO;AAcd,WAAK,IAAIN,iBAAJ,CAAsB;AACvBC,wBAAgB,EAAE,CACd,SADc,EACH,SADG,EACQ,OADR,EACiB,YADjB,EAC+B,KAD/B,EACsC,IADtC,EAC4C,UAD5C,EAEd,QAFc,EAEJ,MAFI,EAEI,IAFJ,EAEU,IAFV,EAEgB,IAFhB,EAEsB,IAFtB,EAE4B,IAF5B,EAGd,IAHc,EAGR,QAHQ,EAGE,QAHF,EAGY,IAHZ,EAGkB,MAHlB,EAG0B,KAH1B,EAGiC,IAHjC,EAId,GAJc,EAIT,KAJS,EAIF,SAJE,EAIS,OAJT,EAIkB,IAJlB,CADK;AAOvBI,sBAAc,EAAE;AAPO,OAAtB,CAdS;AAuBd,eAAS,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,OAAD,EAAU,OAAV;AAApB,OAAtB,CAvBK;AAwBd,eAAS,IAAID,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,OAAD,EAAU,OAAV,CAApB;AAAwCI,sBAAc,EAAE;AAAxD,OAAtB,CAxBK;AAyBd,eAAS,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,OAAD,CAApB;AAA+BI,sBAAc,EAAE;AAA/C,OAAtB,CAzBK;AA0Bd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,CAApB;AAA4BI,sBAAc,EAAE;AAA5C,OAAtB,CA1BQ;AA2Bd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,CAApB;AAAkCI,sBAAc,EAAE;AAAlD,OAAtB,CA3BQ;AA4Bd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,CAApB;AAAkCI,sBAAc,EAAE;AAAlD,OAAtB,CA5BQ;AA6Bd,aAAO,IAAIL,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CA7BO;AA8Bd,aAAO,IAAIN,iBAAJ,CAAsB;AAAEE,+BAAuB,EAAE;AAA3B,OAAtB,CA9BO;AA+Bd,uBAAiB,IAAIF,iBAAJ,CAAsB;AACnC;AACA;AACA;AACA;AACA;AACAE,+BAAuB,EAAE,KANU;AAOnC;AACA;AACAM,mCAA2B,EAAE;AATM,OAAtB,CA/BH;AA0Cd,cAAQ,IAAIR,iBAAJ,CAAsB;AAAEE,+BAAuB,EAAE;AAA3B,OAAtB,CA1CM;AA2Cd,YAAM,IAAIF,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,CAApB;AAA4BI,sBAAc,EAAE;AAA5C,OAAtB,CA3CQ;AA4Cd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP;AAApB,OAAtB,CA5CQ;AA6Cd,YAAM,IAAID,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,CAApB;AAAkCI,sBAAc,EAAE;AAAlD,OAAtB,CA7CQ;AA8Cd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,KAAb,EAAoB,IAApB,CAApB;AAA+CI,sBAAc,EAAE;AAA/D,OAAtB,CA9CQ;AA+Cd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,KAAb,EAAoB,IAApB,CAApB;AAA+CI,sBAAc,EAAE;AAA/D,OAAtB,CA/CQ;AAgDd,aAAO,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,KAAP,EAAc,IAAd,CAApB;AAAyCI,sBAAc,EAAE;AAAzD,OAAtB,CAhDO;AAiDd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,KAAb,EAAoB,IAApB,CAApB;AAA+CI,sBAAc,EAAE;AAA/D,OAAtB,CAjDQ;AAkDd,kBAAY,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,UAAD,CAApB;AAAkCI,sBAAc,EAAE;AAAlD,OAAtB,CAlDE;AAmDd,gBAAU,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,QAAD,EAAW,UAAX,CAApB;AAA4CI,sBAAc,EAAE;AAA5D,OAAtB,CAnDI;AAoDd,aAAO,IAAIL,iBAAJ,CAAsB;AAAEO,qBAAa,EAAE;AAAjB,OAAtB,CApDO;AAqDd,iBAAW,IAAIP,iBAAJ,CAAsB;AAAEO,qBAAa,EAAE;AAAjB,OAAtB,CArDG;AAsDd,eAAS,IAAIP,iBAAJ,CAAsB;AAAEG,mBAAW,EAAErB,cAAc,CAACqC;AAA9B,OAAtB,CAtDK;AAuDd,gBAAU,IAAInB,iBAAJ,CAAsB;AAAEG,mBAAW,EAAErB,cAAc,CAACqC;AAA9B,OAAtB,CAvDI;AAwDd,eAAS,IAAInB,iBAAJ,CAAsB;AAAEG,mBAAW,EAAErB,cAAc,CAACsC;AAA9B,OAAtB,CAxDK;AAyDd,kBAAY,IAAIpB,iBAAJ,CAAsB;AAAEG,mBAAW,EAAErB,cAAc,CAACsC,kBAA9B;AAAkDb,qBAAa,EAAE;AAAjE,OAAtB;AAzDE,KAAlB;AA2DH,GA/DkC,CAgEnC;AACA;;;AACA,SAAO,CAACW,EAAE,GAAG,CAACD,EAAE,GAAGF,eAAe,CAACzB,OAAD,CAArB,MAAoC,IAApC,IAA4C2B,EAAE,KAAK,KAAK,CAAxD,GAA4DA,EAA5D,GAAiEF,eAAe,CAACzB,OAAO,CAACuB,WAAR,EAAD,CAAtF,MAAmH,IAAnH,IAA2HK,EAAE,KAAK,KAAK,CAAvI,GAA2IA,EAA3I,GAAgJJ,uBAAvJ;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMO,gBAAgB,GAAG,IAAIC,MAAJ,CAAW,iBAAiB;AACjD,uBADgC,GACN;AAC1B;AACA;AACA,uDAJgC,GAI0B;AAC1D;AACA;AACA,QAPgC,GAOrB;AACX,aARqB,EAQN;AACnB,GATyB,CAAzB;AAUA;AACA;AACA;AACA;AACA;;;IACMC,W;AACF,yBAAc;AAAA;;AACV,SAAKC,OAAL,GAAe,IAAf;AACA,SAAKC,UAAL,GAAkB,EAAlB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,SAAKC,KAAL,GAAa,EAAb;AACA,SAAKC,YAAL,GAAoB,EAApB;AACH;;;;wCA2DmB;AAChB,aAAO,KAAKC,kBAAL,MAA6B,KAAKH,UAAL,CAAgBf,MAAhB,IAA0B,CAAvD,IAA4D,KAAKgB,KAAL,CAAWhB,MAAX,IAAqB,CAAjF,IACH,KAAKiB,YAAL,CAAkBjB,MAAlB,KAA6B,CADjC;AAEH;;;yCACoB;AACjB,aAAO,CAAC,CAAC,KAAKc,OAAd;AACH;;;iCAC0B;AAAA,UAAhBA,OAAgB,uEAAN,IAAM;AACvB,WAAKA,OAAL,GAAeA,OAAf;AACH;AACD;;;;iDAC6B;AACzB,UAAMlC,OAAO,GAAG,KAAKkC,OAAL,IAAgB,KAAhC;AACA,UAAMK,SAAS,GAAG,KAAKJ,UAAL,CAAgBf,MAAhB,GAAyB,CAAzB,sBAAwC,KAAKe,UAAL,CAAgBK,IAAhB,CAAqB,GAArB,CAAxC,UAAuE,EAAzF;AACA,UAAIJ,KAAK,GAAG,EAAZ;;AACA,WAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKL,KAAL,CAAWhB,MAA/B,EAAuCqB,CAAC,IAAI,CAA5C,EAA+C;AAC3C,YAAMC,QAAQ,GAAG,KAAKN,KAAL,CAAWK,CAAX,CAAjB;AACA,YAAME,SAAS,GAAG,KAAKP,KAAL,CAAWK,CAAC,GAAG,CAAf,MAAsB,EAAtB,gBAAgC,KAAKL,KAAL,CAAWK,CAAC,GAAG,CAAf,CAAhC,UAAuD,EAAzE;AACAL,aAAK,eAAQM,QAAR,SAAmBC,SAAnB,CAAL;AACH;;AACD,aAAOjB,oBAAoB,CAAC1B,OAAD,CAApB,CAA8BgB,MAA9B,cAA2ChB,OAA3C,SAAqDuC,SAArD,SAAiEH,KAAjE,qBACCpC,OADD,SACWuC,SADX,SACuBH,KADvB,gBACkCpC,OADlC,MAAP;AAEH;;;+BACU;AACP,UAAM4C,MAAM,GAAG,EAAf;;AACA,UAAI,KAAKT,UAAL,CAAgBf,MAAhB,GAAyB,CAA7B,EAAgC;AAC5BwB,cAAM,CAACC,IAAP,CAAY,OAAZ,EAAqB,KAAKV,UAAL,CAAgBK,IAAhB,CAAqB,GAArB,CAArB;AACH;;AACD,aAAOI,MAAM,CAACE,MAAP,CAAc,KAAKV,KAAnB,CAAP;AACH;;;iCACYd,I,EAAkB;AAAA,UAAZyB,KAAY,uEAAJ,EAAI;AAC3B,WAAKX,KAAL,CAAWS,IAAX,CAAgBvB,IAAhB,EAAsByB,KAAK,IAAIA,KAAK,CAACxB,WAAN,EAAT,IAAgC,EAAtD;AACH;;;iCACYD,I,EAAM;AACf,WAAKa,UAAL,CAAgBU,IAAhB,CAAqBvB,IAAI,CAACC,WAAL,EAArB;AACH;;;+BACU;AACP,UAAIyB,GAAG,GAAG,KAAKd,OAAL,IAAgB,EAA1B;;AACA,UAAI,KAAKC,UAAT,EAAqB;AACjB,aAAKA,UAAL,CAAgBd,OAAhB,CAAwB,UAAA4B,KAAK;AAAA,iBAAID,GAAG,eAAQC,KAAR,CAAP;AAAA,SAA7B;AACH;;AACD,UAAI,KAAKb,KAAT,EAAgB;AACZ,aAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKL,KAAL,CAAWhB,MAA/B,EAAuCqB,CAAC,IAAI,CAA5C,EAA+C;AAC3C,cAAMnB,IAAI,GAAG,KAAKc,KAAL,CAAWK,CAAX,CAAb;AACA,cAAMM,KAAK,GAAG,KAAKX,KAAL,CAAWK,CAAC,GAAG,CAAf,CAAd;AACAO,aAAG,eAAQ1B,IAAR,SAAeyB,KAAK,GAAG,MAAMA,KAAT,GAAiB,EAArC,MAAH;AACH;AACJ;;AACD,WAAKV,YAAL,CAAkBhB,OAAlB,CAA0B,UAAA6B,WAAW;AAAA,eAAIF,GAAG,mBAAYE,WAAZ,MAAP;AAAA,OAArC;AACA,aAAOF,GAAP;AACH;;;0BA5GYG,Q,EAAU;AACnB,UAAMC,OAAO,GAAG,EAAhB;;AACA,UAAMC,UAAU,GAAG,SAAbA,UAAa,CAACL,GAAD,EAAMM,MAAN,EAAiB;AAChC,YAAIA,MAAM,CAACjB,YAAP,CAAoBjB,MAApB,GAA6B,CAA7B,IAAkC,CAACkC,MAAM,CAACpB,OAA1C,IAAqDoB,MAAM,CAACnB,UAAP,CAAkBf,MAAlB,IAA4B,CAAjF,IACAkC,MAAM,CAAClB,KAAP,CAAahB,MAAb,IAAuB,CAD3B,EAC8B;AAC1BkC,gBAAM,CAACpB,OAAP,GAAiB,GAAjB;AACH;;AACDc,WAAG,CAACH,IAAJ,CAASS,MAAT;AACH,OAND;;AAOA,UAAIC,WAAW,GAAG,IAAItB,WAAJ,EAAlB;AACA,UAAIuB,KAAJ;AACA,UAAIC,OAAO,GAAGF,WAAd;AACA,UAAIG,KAAK,GAAG,KAAZ;AACA3B,sBAAgB,CAAC4B,SAAjB,GAA6B,CAA7B;;AACA,aAAOH,KAAK,GAAGzB,gBAAgB,CAAC6B,IAAjB,CAAsBT,QAAtB,CAAf,EAAgD;AAC5C,YAAIK,KAAK,CAAC;AAAE;AAAH,SAAT,EAAwB;AACpB,cAAIE,KAAJ,EAAW;AACP,kBAAM,IAAI7D,KAAJ,CAAU,2CAAV,CAAN;AACH;;AACD6D,eAAK,GAAG,IAAR;AACAD,iBAAO,GAAG,IAAIxB,WAAJ,EAAV;AACAsB,qBAAW,CAAClB,YAAZ,CAAyBQ,IAAzB,CAA8BY,OAA9B;AACH;;AACD,YAAMI,GAAG,GAAGL,KAAK,CAAC;AAAE;AAAH,SAAjB;;AACA,YAAIK,GAAJ,EAAS;AACL,cAAMvD,MAAM,GAAGkD,KAAK,CAAC;AAAE;AAAH,WAApB;;AACA,cAAIlD,MAAM,KAAK,GAAf,EAAoB;AAChB;AACAmD,mBAAO,CAACK,YAAR,CAAqB,IAArB,EAA2BD,GAAG,CAACE,MAAJ,CAAW,CAAX,CAA3B;AACH,WAHD,MAIK,IAAIzD,MAAM,KAAK,GAAf,EAAoB;AACrB;AACAmD,mBAAO,CAACO,YAAR,CAAqBH,GAAG,CAACE,MAAJ,CAAW,CAAX,CAArB;AACH,WAHI,MAIA;AACD;AACAN,mBAAO,CAACQ,UAAR,CAAmBJ,GAAnB;AACH;AACJ;;AACD,YAAMK,SAAS,GAAGV,KAAK,CAAC;AAAE;AAAH,SAAvB;;AACA,YAAIU,SAAJ,EAAe;AACXT,iBAAO,CAACK,YAAR,CAAqBI,SAArB,EAAgCV,KAAK,CAAC;AAAE;AAAH,WAArC;AACH;;AACD,YAAIA,KAAK,CAAC;AAAE;AAAH,SAAT,EAA4B;AACxBE,eAAK,GAAG,KAAR;AACAD,iBAAO,GAAGF,WAAV;AACH;;AACD,YAAIC,KAAK,CAAC;AAAE;AAAH,SAAT,EAA8B;AAC1B,cAAIE,KAAJ,EAAW;AACP,kBAAM,IAAI7D,KAAJ,CAAU,8CAAV,CAAN;AACH;;AACDwD,oBAAU,CAACD,OAAD,EAAUG,WAAV,CAAV;;AACAA,qBAAW,GAAGE,OAAO,GAAG,IAAIxB,WAAJ,EAAxB;AACH;AACJ;;AACDoB,gBAAU,CAACD,OAAD,EAAUG,WAAV,CAAV;;AACA,aAAOH,OAAP;AACH;;;;;AAqDL;AACA;AACA;AACA;;;IACMe,e;AACF,6BAAc;AAAA;;AACV,SAAKC,WAAL,GAAmB,IAAIC,GAAJ,EAAnB;AACA,SAAKC,kBAAL,GAA0B,IAAID,GAAJ,EAA1B;AACA,SAAKE,SAAL,GAAiB,IAAIF,GAAJ,EAAjB;AACA,SAAKG,gBAAL,GAAwB,IAAIH,GAAJ,EAAxB;AACA,SAAKI,aAAL,GAAqB,IAAIJ,GAAJ,EAArB;AACA,SAAKK,oBAAL,GAA4B,IAAIL,GAAJ,EAA5B;AACA,SAAKM,aAAL,GAAqB,EAArB;AACH;;;;mCAMcC,Y,EAAcC,Y,EAAc;AACvC,UAAIC,WAAW,GAAG,IAAlB;;AACA,UAAIF,YAAY,CAACxD,MAAb,GAAsB,CAA1B,EAA6B;AACzB0D,mBAAW,GAAG,IAAIC,mBAAJ,CAAwBH,YAAxB,CAAd;;AACA,aAAKD,aAAL,CAAmB9B,IAAnB,CAAwBiC,WAAxB;AACH;;AACD,WAAK,IAAIrC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmC,YAAY,CAACxD,MAAjC,EAAyCqB,CAAC,EAA1C,EAA8C;AAC1C,aAAKuC,cAAL,CAAoBJ,YAAY,CAACnC,CAAD,CAAhC,EAAqCoC,YAArC,EAAmDC,WAAnD;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;;mCACmBvB,W,EAAasB,Y,EAAcC,W,EAAa;AACnD,UAAIG,OAAO,GAAG,IAAd;AACA,UAAM/C,OAAO,GAAGqB,WAAW,CAACrB,OAA5B;AACA,UAAMC,UAAU,GAAGoB,WAAW,CAACpB,UAA/B;AACA,UAAMC,KAAK,GAAGmB,WAAW,CAACnB,KAA1B;AACA,UAAM8C,UAAU,GAAG,IAAIC,eAAJ,CAAoB5B,WAApB,EAAiCsB,YAAjC,EAA+CC,WAA/C,CAAnB;;AACA,UAAI5C,OAAJ,EAAa;AACT,YAAMkD,UAAU,GAAGhD,KAAK,CAAChB,MAAN,KAAiB,CAAjB,IAAsBe,UAAU,CAACf,MAAX,KAAsB,CAA/D;;AACA,YAAIgE,UAAJ,EAAgB;AACZ,eAAKC,YAAL,CAAkBJ,OAAO,CAACb,WAA1B,EAAuClC,OAAvC,EAAgDgD,UAAhD;AACH,SAFD,MAGK;AACDD,iBAAO,GAAG,KAAKK,WAAL,CAAiBL,OAAO,CAACX,kBAAzB,EAA6CpC,OAA7C,CAAV;AACH;AACJ;;AACD,UAAIC,UAAJ,EAAgB;AACZ,aAAK,IAAIM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,UAAU,CAACf,MAA/B,EAAuCqB,CAAC,EAAxC,EAA4C;AACxC,cAAM2C,WAAU,GAAGhD,KAAK,CAAChB,MAAN,KAAiB,CAAjB,IAAsBqB,CAAC,KAAKN,UAAU,CAACf,MAAX,GAAoB,CAAnE;;AACA,cAAMmE,SAAS,GAAGpD,UAAU,CAACM,CAAD,CAA5B;;AACA,cAAI2C,WAAJ,EAAgB;AACZ,iBAAKC,YAAL,CAAkBJ,OAAO,CAACV,SAA1B,EAAqCgB,SAArC,EAAgDL,UAAhD;AACH,WAFD,MAGK;AACDD,mBAAO,GAAG,KAAKK,WAAL,CAAiBL,OAAO,CAACT,gBAAzB,EAA2Ce,SAA3C,CAAV;AACH;AACJ;AACJ;;AACD,UAAInD,KAAJ,EAAW;AACP,aAAK,IAAIK,EAAC,GAAG,CAAb,EAAgBA,EAAC,GAAGL,KAAK,CAAChB,MAA1B,EAAkCqB,EAAC,IAAI,CAAvC,EAA0C;AACtC,cAAM2C,YAAU,GAAG3C,EAAC,KAAKL,KAAK,CAAChB,MAAN,GAAe,CAAxC;;AACA,cAAME,IAAI,GAAGc,KAAK,CAACK,EAAD,CAAlB;AACA,cAAMM,KAAK,GAAGX,KAAK,CAACK,EAAC,GAAG,CAAL,CAAnB;;AACA,cAAI2C,YAAJ,EAAgB;AACZ,gBAAMI,WAAW,GAAGP,OAAO,CAACR,aAA5B;AACA,gBAAIgB,iBAAiB,GAAGD,WAAW,CAACE,GAAZ,CAAgBpE,IAAhB,CAAxB;;AACA,gBAAI,CAACmE,iBAAL,EAAwB;AACpBA,+BAAiB,GAAG,IAAIpB,GAAJ,EAApB;AACAmB,yBAAW,CAACG,GAAZ,CAAgBrE,IAAhB,EAAsBmE,iBAAtB;AACH;;AACD,iBAAKJ,YAAL,CAAkBI,iBAAlB,EAAqC1C,KAArC,EAA4CmC,UAA5C;AACH,WARD,MASK;AACD,gBAAMU,UAAU,GAAGX,OAAO,CAACP,oBAA3B;AACA,gBAAImB,gBAAgB,GAAGD,UAAU,CAACF,GAAX,CAAepE,IAAf,CAAvB;;AACA,gBAAI,CAACuE,gBAAL,EAAuB;AACnBA,8BAAgB,GAAG,IAAIxB,GAAJ,EAAnB;AACAuB,wBAAU,CAACD,GAAX,CAAerE,IAAf,EAAqBuE,gBAArB;AACH;;AACDZ,mBAAO,GAAG,KAAKK,WAAL,CAAiBO,gBAAjB,EAAmC9C,KAAnC,CAAV;AACH;AACJ;AACJ;AACJ;;;iCACY+C,G,EAAKxE,I,EAAM4D,U,EAAY;AAChC,UAAIa,YAAY,GAAGD,GAAG,CAACJ,GAAJ,CAAQpE,IAAR,CAAnB;;AACA,UAAI,CAACyE,YAAL,EAAmB;AACfA,oBAAY,GAAG,EAAf;AACAD,WAAG,CAACH,GAAJ,CAAQrE,IAAR,EAAcyE,YAAd;AACH;;AACDA,kBAAY,CAAClD,IAAb,CAAkBqC,UAAlB;AACH;;;gCACWY,G,EAAKxE,I,EAAM;AACnB,UAAI2D,OAAO,GAAGa,GAAG,CAACJ,GAAJ,CAAQpE,IAAR,CAAd;;AACA,UAAI,CAAC2D,OAAL,EAAc;AACVA,eAAO,GAAG,IAAId,eAAJ,EAAV;AACA2B,WAAG,CAACH,GAAJ,CAAQrE,IAAR,EAAc2D,OAAd;AACH;;AACD,aAAOA,OAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;;0BACU1B,W,EAAayC,e,EAAiB;AAChC,UAAIpD,MAAM,GAAG,KAAb;AACA,UAAMV,OAAO,GAAGqB,WAAW,CAACrB,OAA5B;AACA,UAAMC,UAAU,GAAGoB,WAAW,CAACpB,UAA/B;AACA,UAAMC,KAAK,GAAGmB,WAAW,CAACnB,KAA1B;;AACA,WAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKkC,aAAL,CAAmBvD,MAAvC,EAA+CqB,CAAC,EAAhD,EAAoD;AAChD,aAAKkC,aAAL,CAAmBlC,CAAnB,EAAsBwD,cAAtB,GAAuC,KAAvC;AACH;;AACDrD,YAAM,GAAG,KAAKsD,cAAL,CAAoB,KAAK9B,WAAzB,EAAsClC,OAAtC,EAA+CqB,WAA/C,EAA4DyC,eAA5D,KAAgFpD,MAAzF;AACAA,YAAM,GAAG,KAAKuD,aAAL,CAAmB,KAAK7B,kBAAxB,EAA4CpC,OAA5C,EAAqDqB,WAArD,EAAkEyC,eAAlE,KACLpD,MADJ;;AAEA,UAAIT,UAAJ,EAAgB;AACZ,aAAK,IAAIM,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAGN,UAAU,CAACf,MAA/B,EAAuCqB,GAAC,EAAxC,EAA4C;AACxC,cAAM8C,SAAS,GAAGpD,UAAU,CAACM,GAAD,CAA5B;AACAG,gBAAM,GACF,KAAKsD,cAAL,CAAoB,KAAK3B,SAAzB,EAAoCgB,SAApC,EAA+ChC,WAA/C,EAA4DyC,eAA5D,KAAgFpD,MADpF;AAEAA,gBAAM,GACF,KAAKuD,aAAL,CAAmB,KAAK3B,gBAAxB,EAA0Ce,SAA1C,EAAqDhC,WAArD,EAAkEyC,eAAlE,KACIpD,MAFR;AAGH;AACJ;;AACD,UAAIR,KAAJ,EAAW;AACP,aAAK,IAAIK,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAGL,KAAK,CAAChB,MAA1B,EAAkCqB,GAAC,IAAI,CAAvC,EAA0C;AACtC,cAAMnB,IAAI,GAAGc,KAAK,CAACK,GAAD,CAAlB;AACA,cAAMM,KAAK,GAAGX,KAAK,CAACK,GAAC,GAAG,CAAL,CAAnB;;AACA,cAAMgD,iBAAiB,GAAG,KAAKhB,aAAL,CAAmBiB,GAAnB,CAAuBpE,IAAvB,CAA1B;;AACA,cAAIyB,KAAJ,EAAW;AACPH,kBAAM,GACF,KAAKsD,cAAL,CAAoBT,iBAApB,EAAuC,EAAvC,EAA2ClC,WAA3C,EAAwDyC,eAAxD,KAA4EpD,MADhF;AAEH;;AACDA,gBAAM,GACF,KAAKsD,cAAL,CAAoBT,iBAApB,EAAuC1C,KAAvC,EAA8CQ,WAA9C,EAA2DyC,eAA3D,KAA+EpD,MADnF;;AAEA,cAAMiD,gBAAgB,GAAG,KAAKnB,oBAAL,CAA0BgB,GAA1B,CAA8BpE,IAA9B,CAAzB;;AACA,cAAIyB,KAAJ,EAAW;AACPH,kBAAM,GAAG,KAAKuD,aAAL,CAAmBN,gBAAnB,EAAqC,EAArC,EAAyCtC,WAAzC,EAAsDyC,eAAtD,KAA0EpD,MAAnF;AACH;;AACDA,gBAAM,GACF,KAAKuD,aAAL,CAAmBN,gBAAnB,EAAqC9C,KAArC,EAA4CQ,WAA5C,EAAyDyC,eAAzD,KAA6EpD,MADjF;AAEH;AACJ;;AACD,aAAOA,MAAP;AACH;AACD;;;;mCACekD,G,EAAKxE,I,EAAMiC,W,EAAayC,e,EAAiB;AACpD,UAAI,CAACF,GAAD,IAAQ,OAAOxE,IAAP,KAAgB,QAA5B,EAAsC;AAClC,eAAO,KAAP;AACH;;AACD,UAAI8E,WAAW,GAAGN,GAAG,CAACJ,GAAJ,CAAQpE,IAAR,KAAiB,EAAnC;AACA,UAAM+E,eAAe,GAAGP,GAAG,CAACJ,GAAJ,CAAQ,GAAR,CAAxB;;AACA,UAAIW,eAAJ,EAAqB;AACjBD,mBAAW,GAAGA,WAAW,CAACtD,MAAZ,CAAmBuD,eAAnB,CAAd;AACH;;AACD,UAAID,WAAW,CAAChF,MAAZ,KAAuB,CAA3B,EAA8B;AAC1B,eAAO,KAAP;AACH;;AACD,UAAI8D,UAAJ;AACA,UAAItC,MAAM,GAAG,KAAb;;AACA,WAAK,IAAIH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2D,WAAW,CAAChF,MAAhC,EAAwCqB,CAAC,EAAzC,EAA6C;AACzCyC,kBAAU,GAAGkB,WAAW,CAAC3D,CAAD,CAAxB;AACAG,cAAM,GAAGsC,UAAU,CAACoB,QAAX,CAAoB/C,WAApB,EAAiCyC,eAAjC,KAAqDpD,MAA9D;AACH;;AACD,aAAOA,MAAP;AACH;AACD;;;;kCACckD,G,EAAKxE,I,EAAMiC,W,EAAayC,e,EAAiB;AACnD,UAAI,CAACF,GAAD,IAAQ,OAAOxE,IAAP,KAAgB,QAA5B,EAAsC;AAClC,eAAO,KAAP;AACH;;AACD,UAAMiF,cAAc,GAAGT,GAAG,CAACJ,GAAJ,CAAQpE,IAAR,CAAvB;;AACA,UAAI,CAACiF,cAAL,EAAqB;AACjB,eAAO,KAAP;AACH,OAPkD,CAQnD;AACA;AACA;;;AACA,aAAOA,cAAc,CAAC/C,KAAf,CAAqBD,WAArB,EAAkCyC,eAAlC,CAAP;AACH;;;qCA5KuB3D,Y,EAAc;AAClC,UAAMmE,UAAU,GAAG,IAAIrC,eAAJ,EAAnB;AACAqC,gBAAU,CAACC,cAAX,CAA0BpE,YAA1B,EAAwC,IAAxC;AACA,aAAOmE,UAAP;AACH;;;;;;IA0KCzB,mB,GACF,6BAAY2B,SAAZ,EAAuB;AAAA;;AACnB,OAAKA,SAAL,GAAiBA,SAAjB;AACA,OAAKT,cAAL,GAAsB,KAAtB;AACH,C,EAEL;;;IACMd,e;AACF,2BAAYhC,QAAZ,EAAsBwD,SAAtB,EAAiC7B,WAAjC,EAA8C;AAAA;;AAC1C,SAAK3B,QAAL,GAAgBA,QAAhB;AACA,SAAKwD,SAAL,GAAiBA,SAAjB;AACA,SAAK7B,WAAL,GAAmBA,WAAnB;AACA,SAAKzC,YAAL,GAAoBc,QAAQ,CAACd,YAA7B;AACH;;;;6BACQkB,W,EAAaqD,Q,EAAU;AAC5B,UAAIhE,MAAM,GAAG,IAAb;;AACA,UAAI,KAAKP,YAAL,CAAkBjB,MAAlB,GAA2B,CAA3B,KAAiC,CAAC,KAAK0D,WAAN,IAAqB,CAAC,KAAKA,WAAL,CAAiBmB,cAAxE,CAAJ,EAA6F;AACzF,YAAMO,UAAU,GAAGrC,eAAe,CAAC0C,gBAAhB,CAAiC,KAAKxE,YAAtC,CAAnB;AACAO,cAAM,GAAG,CAAC4D,UAAU,CAAChD,KAAX,CAAiBD,WAAjB,EAA8B,IAA9B,CAAV;AACH;;AACD,UAAIX,MAAM,IAAIgE,QAAV,KAAuB,CAAC,KAAK9B,WAAN,IAAqB,CAAC,KAAKA,WAAL,CAAiBmB,cAA9D,CAAJ,EAAmF;AAC/E,YAAI,KAAKnB,WAAT,EAAsB;AAClB,eAAKA,WAAL,CAAiBmB,cAAjB,GAAkC,IAAlC;AACH;;AACDW,gBAAQ,CAAC,KAAKzD,QAAN,EAAgB,KAAKwD,SAArB,CAAR;AACH;;AACD,aAAO/D,MAAP;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMkE,YAAY,GAAGC,mBAAmB,CAAC,QAAD,EAAW,UAACC,KAAD;AAAA,SAAY;AAAEA,SAAK,EAALA;AAAF,GAAZ;AAAA,CAAX,CAAxC;AACA,IAAMC,oBAAoB,GAAGF,mBAAmB,CAAC,gBAAD,EAAmB,UAACG,IAAD;AAAA,SAAW;AAAEC,SAAK,EAAED,IAAT;AAAeE,SAAK,EAAEC;AAAtB,GAAX;AAAA,CAAnB,CAAhD;AACA,IAAMC,eAAe,GAAGP,mBAAmB,CAAC,WAAD,EAAc,UAACQ,aAAD;AAAA,SAAoB;AAAEA,iBAAa,EAAbA;AAAF,GAApB;AAAA,CAAd,CAA3C;AACA,IAAMC,qBAAqB,GAAGT,mBAAmB,CAAC,iBAAD,EAAoB,UAAC5D,QAAD;AAAA,MAAWsE,IAAX,uEAAkB,EAAlB;AAAA,SAA0BC,MAAM,CAACC,MAAP,CAAc;AAAExE,YAAQ,EAARA,QAAF;AAAYyE,SAAK,EAAE,KAAnB;AAA0BC,eAAW,EAAE,KAAvC;AAA8CC,eAAW,EAAE;AAA3D,GAAd,EAAkFL,IAAlF,CAA1B;AAAA,CAApB,CAAjD;AACA,IAAMM,kBAAkB,GAAGhB,mBAAmB,CAAC,cAAD,EAAiB,UAAC5D,QAAD;AAAA,MAAWsE,IAAX,uEAAkB,EAAlB;AAAA,SAA0BC,MAAM,CAACC,MAAP,CAAc;AAAExE,YAAQ,EAARA,QAAF;AAAYyE,SAAK,EAAE,IAAnB;AAAyBC,eAAW,EAAE,KAAtC;AAA6CC,eAAW,EAAE;AAA1D,GAAd,EAAgFL,IAAhF,CAA1B;AAAA,CAAjB,CAA9C;AACA,IAAMO,kBAAkB,GAAGjB,mBAAmB,CAAC,cAAD,EAAiB,UAAC5D,QAAD;AAAA,MAAWsE,IAAX,uEAAkB,EAAlB;AAAA,SAA0BC,MAAM,CAACC,MAAP,CAAc;AAAExE,YAAQ,EAARA,QAAF;AAAYyE,SAAK,EAAE,KAAnB;AAA0BC,eAAW,EAAE,IAAvC;AAA6CC,eAAW,EAAE;AAA1D,GAAd,EAAgFL,IAAhF,CAA1B;AAAA,CAAjB,CAA9C;AACA,IAAMQ,eAAe,GAAGlB,mBAAmB,CAAC,WAAD,EAAc,UAAC5D,QAAD,EAAWsE,IAAX;AAAA,SAAqBC,MAAM,CAACC,MAAP,CAAc;AAAExE,YAAQ,EAARA,QAAF;AAAYyE,SAAK,EAAE,IAAnB;AAAyBC,eAAW,EAAE,IAAtC;AAA4CC,eAAW,EAAE;AAAzD,GAAd,EAA+EL,IAA/E,CAArB;AAAA,CAAd,CAA3C;AACA,IAAMS,eAAe,GAAGnB,mBAAmB,CAAC,WAAD,EAAc;AAAA,MAACoB,GAAD,uEAAO,EAAP;AAAA,SAAcA,GAAd;AAAA,CAAd,CAA3C;AACA,IAAIC,iBAAJ;;AACA,CAAC,UAAUA,iBAAV,EAA6B;AAC1BA,mBAAiB,CAACA,iBAAiB,CAAC,UAAD,CAAjB,GAAgC,CAAjC,CAAjB,GAAuD,UAAvD,CAD0B,CAE1B;;AACAA,mBAAiB,CAACA,iBAAiB,CAAC,MAAD,CAAjB,GAA4B,CAA7B,CAAjB,GAAmD,MAAnD;AACAA,mBAAiB,CAACA,iBAAiB,CAAC,WAAD,CAAjB,GAAiC,CAAlC,CAAjB,GAAwD,WAAxD;AACH,CALD,EAKGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CALpB;;AAMA,IAAIC,uBAAJ;;AACA,CAAC,UAAUA,uBAAV,EAAmC;AAChCA,yBAAuB,CAACA,uBAAuB,CAAC,QAAD,CAAvB,GAAoC,CAArC,CAAvB,GAAiE,QAAjE;AACAA,yBAAuB,CAACA,uBAAuB,CAAC,SAAD,CAAvB,GAAqC,CAAtC,CAAvB,GAAkE,SAAlE;AACH,CAHD,EAGGA,uBAAuB,KAAKA,uBAAuB,GAAG,EAA/B,CAH1B;;AAIA,IAAMC,eAAe,GAAGvB,mBAAmB,CAAC,WAAD,EAAc;AAAA,MAACwB,CAAD,uEAAK,EAAL;AAAA,SAAab,MAAM,CAACC,MAAP,CAAc;AAAEa,mBAAe,EAAEH,uBAAuB,CAACI;AAA3C,GAAd,EAAoEF,CAApE,CAAb;AAAA,CAAd,CAA3C;AACA,IAAMG,UAAU,GAAG3B,mBAAmB,CAAC,MAAD,EAAS,UAAC4B,CAAD;AAAA,SAAQjB,MAAM,CAACC,MAAP,CAAc;AAAEiB,QAAI,EAAE;AAAR,GAAd,EAA8BD,CAA9B,CAAR;AAAA,CAAT,CAAtC;AACA,IAAME,WAAW,GAAG9B,mBAAmB,CAAC,OAAD,EAAU,UAAC+B,mBAAD;AAAA,SAA0B;AAAEA,uBAAmB,EAAnBA;AAAF,GAA1B;AAAA,CAAV,CAAvC;AACA,IAAMC,YAAY,GAAGhC,mBAAmB,CAAC,QAAD,EAAW,UAAC+B,mBAAD;AAAA,SAA0B;AAAEA,uBAAmB,EAAnBA;AAAF,GAA1B;AAAA,CAAX,CAAxC;AACA,IAAME,iBAAiB,GAAGjC,mBAAmB,CAAC,aAAD,EAAgB,UAACkC,gBAAD;AAAA,SAAuB;AAAEA,oBAAgB,EAAhBA;AAAF,GAAvB;AAAA,CAAhB,CAA7C;AACA,IAAMC,kBAAkB,GAAGnC,mBAAmB,CAAC,cAAD,EAAiB,UAACoC,SAAD,EAAYC,IAAZ;AAAA,SAAsB;AAAED,aAAS,EAATA,SAAF;AAAaC,QAAI,EAAJA;AAAb,GAAtB;AAAA,CAAjB,CAA9C;AACA,IAAMC,cAAc,GAAGtC,mBAAmB,CAAC,UAAD,EAAa,UAACuC,QAAD;AAAA,SAAcA,QAAd;AAAA,CAAb,CAA1C;AACA,IAAMC,gBAAgB,GAAGxC,mBAAmB,CAAC,YAAD,EAAe;AAAA,MAACyC,UAAD,uEAAc,EAAd;AAAA,SAAqBA,UAArB;AAAA,CAAf,CAA5C;AACA,IAAMC,sBAAsB,GAAG;AAC3BnI,MAAI,EAAE;AADqB,CAA/B;AAGA,IAAMoI,gBAAgB,GAAG;AACrBpI,MAAI,EAAE;AADe,CAAzB;AAGA,IAAMqI,cAAc,GAAG5C,mBAAmB,CAAC,UAAD,CAA1C;AACA,IAAM6C,UAAU,GAAG7C,mBAAmB,CAAC,MAAD,CAAtC;AACA,IAAM8C,cAAc,GAAG9C,mBAAmB,CAAC,UAAD,CAA1C;AACA,IAAM+C,UAAU,GAAG/C,mBAAmB,CAAC,MAAD,CAAtC;AACA,IAAMgD,IAAI,GAAGC,QAAb;AACA,IAAIC,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,iBAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,iBAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,iBAAe,CAACA,eAAe,CAAC,OAAD,CAAf,GAA2B,CAA5B,CAAf,GAAgD,OAAhD;AACAA,iBAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,iBAAe,CAACA,eAAe,CAAC,KAAD,CAAf,GAAyB,CAA1B,CAAf,GAA8C,KAA9C;AACAA,iBAAe,CAACA,eAAe,CAAC,cAAD,CAAf,GAAkC,CAAnC,CAAf,GAAuD,cAAvD;AACH,CAPD,EAOGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CAPlB;;AAQA,IAAIC,0BAAJ;;AACA,CAAC,UAAUA,0BAAV,EAAsC;AACnCA,4BAA0B,CAACA,0BAA0B,CAAC,OAAD,CAA1B,GAAsC,CAAvC,CAA1B,GAAsE,OAAtE;AACAA,4BAA0B,CAACA,0BAA0B,CAAC,SAAD,CAA1B,GAAwC,CAAzC,CAA1B,GAAwE,SAAxE;AACAA,4BAA0B,CAACA,0BAA0B,CAAC,QAAD,CAA1B,GAAuC,CAAxC,CAA1B,GAAuE,QAAvE;AACH,CAJD,EAIGA,0BAA0B,KAAKA,0BAA0B,GAAG,EAAlC,CAJ7B;;AAKA,SAASnD,mBAAT,CAA6BzF,IAA7B,EAAmC6I,KAAnC,EAA0C;AACtC;AACA;AACA;AACA;AACA,WAASC,OAAT,GAA0B;AACtB,QAAMC,MAAM,GAAGF,KAAK,GAAGA,KAAK,MAAL,mBAAH,GAAoB,EAAxC;AACA,WAAOzC,MAAM,CAACC,MAAP,CAAc;AAAE2C,oBAAc,EAAEhJ;AAAlB,KAAd,EAAwC+I,MAAxC,CAAP;AACH;;AACDD,SAAO,CAACG,QAAR,GAAmB,UAACC,GAAD;AAAA,WAASA,GAAG,IAAIA,GAAG,CAACF,cAAJ,KAAuBhJ,IAAvC;AAAA,GAAnB;;AACA8I,SAAO,CAACE,cAAR,GAAyBhJ,IAAzB;AACA,SAAO8I,OAAP;AACH;;AACD,SAASK,8BAAT,CAAwCtH,QAAxC,EAAkD;AAC9C,MAAMuH,OAAO,GAAGvH,QAAQ,CAAChB,UAAT,IAAuBgB,QAAQ,CAAChB,UAAT,CAAoBf,MAA3C,IACX;AAAE;AADS,sJACO+B,QAAQ,CAAChB,UADhB,KAEZ,EAFJ;AAGA,MAAMzC,WAAW,GAAGyD,QAAQ,CAACjB,OAAT,IAAoBiB,QAAQ,CAACjB,OAAT,KAAqB,GAAzC,GAA+CiB,QAAQ,CAACjB,OAAxD,GAAkE,EAAtF;AACA,UAAQxC,WAAR,oJAAwByD,QAAQ,CAACf,KAAjC,8IAA2CsI,OAA3C;AACH;;AACD,SAASC,gCAAT,CAA0CxH,QAA1C,EAAoD;AAChD,MAAMuH,OAAO,GAAGvH,QAAQ,CAAChB,UAAT,IAAuBgB,QAAQ,CAAChB,UAAT,CAAoBf,MAA3C,IACX;AAAE;AADS,sJACO+B,QAAQ,CAAChB,UADhB,KAEZ,EAFJ;;AAGA,MAAIgB,QAAQ,CAACjB,OAAb,EAAsB;AAClB,YACI;AAAE;AAAF,MAAc;AAAE;AADpB,MACmCiB,QAAQ,CAACjB,OAD5C,oJACwDiB,QAAQ,CAACf,KADjE,8IAC2EsI,OAD3E;AAGH,GAJD,MAKK,IAAIvH,QAAQ,CAACf,KAAT,CAAehB,MAAnB,EAA2B;AAC5B,YAAQ;AAAE;AAAF,MAAc;AAAE;AAAxB,wJAA4C+B,QAAQ,CAACf,KAArD,8IAA+DsI,OAA/D;AACH,GAFI,MAGA;AACD,WAAOvH,QAAQ,CAAChB,UAAT,IAAuBgB,QAAQ,CAAChB,UAAT,CAAoBf,MAA3C,IACF;AAAE;AAAF,MAAc;AAAE;AADd,wJAC8B+B,QAAQ,CAAChB,UADvC,KAEH,EAFJ;AAGH;AACJ;;AACD,SAASyI,0BAAT,CAAoCzH,QAApC,EAA8C;AAC1C,MAAM0H,QAAQ,GAAGJ,8BAA8B,CAACtH,QAAD,CAA/C;AACA,MAAM2H,QAAQ,GAAG3H,QAAQ,CAACd,YAAT,IAAyBc,QAAQ,CAACd,YAAT,CAAsBjB,MAA/C,GACb+B,QAAQ,CAACd,YAAT,CAAsByD,GAAtB,CAA0B,UAAA5C,WAAW;AAAA,WAAIyH,gCAAgC,CAACzH,WAAD,CAApC;AAAA,GAArC,CADa,GAEb,EAFJ;AAGA,SAAO2H,QAAQ,CAAC/H,MAAT,OAAA+H,QAAQ,6IAAWC,QAAX,EAAf;AACH;;AACD,SAASC,yBAAT,CAAmC5H,QAAnC,EAA6C;AACzC,SAAOA,QAAQ,GAAGlB,WAAW,CAAC+I,KAAZ,CAAkB7H,QAAlB,EAA4B2C,GAA5B,CAAgC8E,0BAAhC,CAAH,GAAiE,EAAhF;AACH;;AAED,IAAIK,IAAI,GAAG,aAAavD,MAAM,CAACwD,MAAP,CAAc;AAClCC,WAAS,EAAE,IADuB;AAElCrE,cAAY,EAAEA,YAFoB;AAGlCG,sBAAoB,EAAEA,oBAHY;AAIlCK,iBAAe,EAAEA,eAJiB;AAKlCE,uBAAqB,EAAEA,qBALW;AAMlCO,oBAAkB,EAAEA,kBANc;AAOlCC,oBAAkB,EAAEA,kBAPc;AAQlCC,iBAAe,EAAEA,eARiB;AASlCC,iBAAe,EAAEA,eATiB;;AAUlC,MAAIE,iBAAJ,GAAyB;AAAE,WAAOA,iBAAP;AAA2B,GAVpB;;AAWlC,MAAIC,uBAAJ,GAA+B;AAAE,WAAOA,uBAAP;AAAiC,GAXhC;;AAYlCC,iBAAe,EAAEA,eAZiB;AAalCI,YAAU,EAAEA,UAbsB;AAclCG,aAAW,EAAEA,WAdqB;AAelCE,cAAY,EAAEA,YAfoB;AAgBlCC,mBAAiB,EAAEA,iBAhBe;AAiBlCE,oBAAkB,EAAEA,kBAjBc;AAkBlCG,gBAAc,EAAEA,cAlBkB;AAmBlCE,kBAAgB,EAAEA,gBAnBgB;AAoBlCE,wBAAsB,EAAEA,sBApBU;AAqBlCC,kBAAgB,EAAEA,gBArBgB;AAsBlCC,gBAAc,EAAEA,cAtBkB;AAuBlCC,YAAU,EAAEA,UAvBsB;AAwBlCC,gBAAc,EAAEA,cAxBkB;AAyBlCC,YAAU,EAAEA,UAzBsB;AA0BlCC,MAAI,EAAEA,IA1B4B;;AA2BlC,MAAIE,eAAJ,GAAuB;AAAE,WAAOA,eAAP;AAAyB,GA3BhB;;AA4BlC,MAAIC,0BAAJ,GAAkC;AAAE,WAAOA,0BAAP;AAAoC,GA5BtC;;AA6BlCa,2BAAyB,EAAEA;AA7BO,CAAd,CAAxB;AAgCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIK,YAAJ;;AACA,CAAC,UAAUA,YAAV,EAAwB;AACrBA,cAAY,CAACA,YAAY,CAAC,OAAD,CAAZ,GAAwB,CAAzB,CAAZ,GAA0C,OAA1C;AACH,CAFD,EAEGA,YAAY,KAAKA,YAAY,GAAG,EAApB,CAFf;;IAGMC,M;AACF,oBAA4B;AAAA,QAAhBC,SAAgB,uEAAJ,EAAI;;AAAA;;AACxB,SAAKA,SAAL,GAAiBA,SAAjB;AACH;;;;gCACWC,Q,EAAU;AAClB,aAAO,KAAKD,SAAL,CAAe1L,OAAf,CAAuB2L,QAAvB,MAAqC,CAAC,CAA7C;AACH;;;;;;AAEL,IAAIC,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,iBAAe,CAACA,eAAe,CAAC,SAAD,CAAf,GAA6B,CAA9B,CAAf,GAAkD,SAAlD;AACAA,iBAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,iBAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,iBAAe,CAACA,eAAe,CAAC,KAAD,CAAf,GAAyB,CAA1B,CAAf,GAA8C,KAA9C;AACAA,iBAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,iBAAe,CAACA,eAAe,CAAC,UAAD,CAAf,GAA8B,CAA/B,CAAf,GAAmD,UAAnD;AACAA,iBAAe,CAACA,eAAe,CAAC,UAAD,CAAf,GAA8B,CAA/B,CAAf,GAAmD,UAAnD;AACAA,iBAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACH,CATD,EASGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CATlB;;IAUMC,W;;;;;AACF,uBAAYnK,IAAZ,EAAkBgK,SAAlB,EAA6B;AAAA;;AAAA;;AACzB,+BAAMA,SAAN;AACA,WAAKhK,IAAL,GAAYA,IAAZ;AAFyB;AAG5B;;;;8BACSoK,O,EAASC,O,EAAS;AACxB,aAAOD,OAAO,CAACE,gBAAR,CAAyB,IAAzB,EAA+BD,OAA/B,CAAP;AACH;;;;EAPqBN,M;;IASpBQ,c;;;;;AACF,0BAAY9I,KAAZ,EAAmBuI,SAAnB,EAAiD;AAAA;;AAAA,QAAnBQ,UAAmB,uEAAN,IAAM;;AAAA;;AAC7C,gCAAMR,SAAN;AACA,WAAKvI,KAAL,GAAaA,KAAb;AACA,WAAK+I,UAAL,GAAkBA,UAAlB;AAH6C;AAIhD;;;;8BACSJ,O,EAASC,O,EAAS;AACxB,aAAOD,OAAO,CAACK,mBAAR,CAA4B,IAA5B,EAAkCJ,OAAlC,CAAP;AACH;;;;EARwBN,M;;IAUvBW,S;;;;;AACF,qBAAYC,EAAZ,EAAgBX,SAAhB,EAA2B;AAAA;;AAAA;;AACvB,gCAAMA,SAAN;AACA,WAAKW,EAAL,GAAUA,EAAV;AAFuB;AAG1B;;;;8BACSP,O,EAASC,O,EAAS;AACxB,aAAOD,OAAO,CAACQ,cAAR,CAAuB,IAAvB,EAA6BP,OAA7B,CAAP;AACH;;;;EAPmBN,M;;IASlBc,O;;;;;AACF,mBAAYC,SAAZ,EAAuBd,SAAvB,EAAkC;AAAA;;AAAA;;AAC9B,gCAAMA,SAAN;AACA,WAAKc,SAAL,GAAiBA,SAAS,IAAI,IAA9B;AAF8B;AAGjC;;;;8BACSV,O,EAASC,O,EAAS;AACxB,aAAOD,OAAO,CAACW,YAAR,CAAqB,IAArB,EAA2BV,OAA3B,CAAP;AACH;;;;EAPiBN,M;;AAStB,IAAMiB,YAAY,GAAG,IAAIb,WAAJ,CAAgBD,eAAe,CAACe,OAAhC,CAArB;AACA,IAAMC,aAAa,GAAG,IAAIf,WAAJ,CAAgBD,eAAe,CAACiB,QAAhC,CAAtB;AACA,IAAMC,SAAS,GAAG,IAAIjB,WAAJ,CAAgBD,eAAe,CAACmB,IAAhC,CAAlB;AACA,IAAMC,QAAQ,GAAG,IAAInB,WAAJ,CAAgBD,eAAe,CAACqB,GAAhC,CAAjB;AACA,IAAMC,WAAW,GAAG,IAAIrB,WAAJ,CAAgBD,eAAe,CAACuB,MAAhC,CAApB;AACA,IAAMC,WAAW,GAAG,IAAIvB,WAAJ,CAAgBD,eAAe,CAACyB,MAAhC,CAApB;AACA,IAAMC,aAAa,GAAG,IAAIzB,WAAJ,CAAgBD,eAAe,CAACxB,QAAhC,CAAtB;AACA,IAAMmD,SAAS,GAAG,IAAI1B,WAAJ,CAAgBD,eAAe,CAAC4B,IAAhC,CAAlB,C,CACA;;AACA,IAAIC,aAAJ;;AACA,CAAC,UAAUA,aAAV,EAAyB;AACtBA,eAAa,CAACA,aAAa,CAAC,OAAD,CAAb,GAAyB,CAA1B,CAAb,GAA4C,OAA5C;AACAA,eAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;AACH,CAHD,EAGGA,aAAa,KAAKA,aAAa,GAAG,EAArB,CAHhB;;AAIA,IAAIC,cAAJ;;AACA,CAAC,UAAUA,cAAV,EAA0B;AACvBA,gBAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,CAA5B,CAAd,GAA+C,QAA/C;AACAA,gBAAc,CAACA,cAAc,CAAC,WAAD,CAAd,GAA8B,CAA/B,CAAd,GAAkD,WAAlD;AACAA,gBAAc,CAACA,cAAc,CAAC,WAAD,CAAd,GAA8B,CAA/B,CAAd,GAAkD,WAAlD;AACAA,gBAAc,CAACA,cAAc,CAAC,cAAD,CAAd,GAAiC,CAAlC,CAAd,GAAqD,cAArD;AACAA,gBAAc,CAACA,cAAc,CAAC,OAAD,CAAd,GAA0B,CAA3B,CAAd,GAA8C,OAA9C;AACAA,gBAAc,CAACA,cAAc,CAAC,MAAD,CAAd,GAAyB,CAA1B,CAAd,GAA6C,MAA7C;AACAA,gBAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,CAA5B,CAAd,GAA+C,QAA/C;AACAA,gBAAc,CAACA,cAAc,CAAC,UAAD,CAAd,GAA6B,CAA9B,CAAd,GAAiD,UAAjD;AACAA,gBAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,CAA5B,CAAd,GAA+C,QAA/C;AACAA,gBAAc,CAACA,cAAc,CAAC,KAAD,CAAd,GAAwB,CAAzB,CAAd,GAA4C,KAA5C;AACAA,gBAAc,CAACA,cAAc,CAAC,IAAD,CAAd,GAAuB,EAAxB,CAAd,GAA4C,IAA5C;AACAA,gBAAc,CAACA,cAAc,CAAC,YAAD,CAAd,GAA+B,EAAhC,CAAd,GAAoD,YAApD;AACAA,gBAAc,CAACA,cAAc,CAAC,OAAD,CAAd,GAA0B,EAA3B,CAAd,GAA+C,OAA/C;AACAA,gBAAc,CAACA,cAAc,CAAC,aAAD,CAAd,GAAgC,EAAjC,CAAd,GAAqD,aAArD;AACAA,gBAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,EAA5B,CAAd,GAAgD,QAAhD;AACAA,gBAAc,CAACA,cAAc,CAAC,cAAD,CAAd,GAAiC,EAAlC,CAAd,GAAsD,cAAtD;AACH,CAjBD,EAiBGA,cAAc,KAAKA,cAAc,GAAG,EAAtB,CAjBjB;;AAkBA,SAASC,oBAAT,CAA8BC,IAA9B,EAAoCC,KAApC,EAA2C;AACvC,MAAID,IAAI,IAAI,IAAR,IAAgBC,KAAK,IAAI,IAA7B,EAAmC;AAC/B,WAAOD,IAAI,IAAIC,KAAf;AACH;;AACD,SAAOD,IAAI,CAACE,YAAL,CAAkBD,KAAlB,CAAP;AACH;;AACD,SAASE,gBAAT,CAA0BH,IAA1B,EAAgCC,KAAhC,EAAuC;AACnC,MAAMG,GAAG,GAAGJ,IAAI,CAACpM,MAAjB;;AACA,MAAIwM,GAAG,KAAKH,KAAK,CAACrM,MAAlB,EAA0B;AACtB,WAAO,KAAP;AACH;;AACD,OAAK,IAAIqB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmL,GAApB,EAAyBnL,CAAC,EAA1B,EAA8B;AAC1B,QAAI,CAAC+K,IAAI,CAAC/K,CAAD,CAAJ,CAAQiL,YAAR,CAAqBD,KAAK,CAAChL,CAAD,CAA1B,CAAL,EAAqC;AACjC,aAAO,KAAP;AACH;AACJ;;AACD,SAAO,IAAP;AACH;;IACKoL,U;AACF,sBAAYC,IAAZ,EAAkBC,UAAlB,EAA8B;AAAA;;AAC1B,SAAKD,IAAL,GAAYA,IAAI,IAAI,IAApB;AACA,SAAKC,UAAL,GAAkBA,UAAU,IAAI,IAAhC;AACH;;;;yBACIzM,I,EAAMyM,U,EAAY;AACnB,aAAO,IAAIC,YAAJ,CAAiB,IAAjB,EAAuB1M,IAAvB,EAA6B,IAA7B,EAAmCyM,UAAnC,CAAP;AACH;;;wBACGE,K,EAAOH,I,EAAMC,U,EAAY;AACzB,aAAO,IAAIG,WAAJ,CAAgB,IAAhB,EAAsBD,KAAtB,EAA6BH,IAA7B,EAAmCC,UAAnC,CAAP;AACH;;;+BACUzM,I,EAAM6M,M,EAAQJ,U,EAAY;AACjC,aAAO,IAAIK,gBAAJ,CAAqB,IAArB,EAA2B9M,IAA3B,EAAiC6M,MAAjC,EAAyC,IAAzC,EAA+CJ,UAA/C,CAAP;AACH;;;2BACMI,M,EAAQJ,U,EAAYnF,I,EAAM;AAC7B,aAAO,IAAIyF,kBAAJ,CAAuB,IAAvB,EAA6BF,MAA7B,EAAqC,IAArC,EAA2CJ,UAA3C,EAAuDnF,IAAvD,CAAP;AACH;;;gCACWuF,M,EAAQL,I,EAAMC,U,EAAY;AAClC,aAAO,IAAIO,eAAJ,CAAoB,IAApB,EAA0BH,MAA1B,EAAkCL,IAAlC,EAAwCC,UAAxC,CAAP;AACH;;;gCACWQ,Q,EAAwC;AAAA,UAA9BC,SAA8B,uEAAlB,IAAkB;AAAA,UAAZT,UAAY;AAChD,aAAO,IAAIU,eAAJ,CAAoB,IAApB,EAA0BF,QAA1B,EAAoCC,SAApC,EAA+C,IAA/C,EAAqDT,UAArD,CAAP;AACH;;;2BACMW,G,EAAKX,U,EAAY;AACpB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACsB,MAAtC,EAA8C,IAA9C,EAAoDF,GAApD,EAAyD,IAAzD,EAA+DX,UAA/D,CAAP;AACH;;;8BACSW,G,EAAKX,U,EAAY;AACvB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACuB,SAAtC,EAAiD,IAAjD,EAAuDH,GAAvD,EAA4D,IAA5D,EAAkEX,UAAlE,CAAP;AACH;;;8BACSW,G,EAAKX,U,EAAY;AACvB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACwB,SAAtC,EAAiD,IAAjD,EAAuDJ,GAAvD,EAA4D,IAA5D,EAAkEX,UAAlE,CAAP;AACH;;;iCACYW,G,EAAKX,U,EAAY;AAC1B,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACyB,YAAtC,EAAoD,IAApD,EAA0DL,GAA1D,EAA+D,IAA/D,EAAqEX,UAArE,CAAP;AACH;;;0BACKW,G,EAAKX,U,EAAY;AACnB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAAC0B,KAAtC,EAA6C,IAA7C,EAAmDN,GAAnD,EAAwD,IAAxD,EAA8DX,UAA9D,CAAP;AACH;;;yBACIW,G,EAAKX,U,EAAY;AAClB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAAC2B,IAAtC,EAA4C,IAA5C,EAAkDP,GAAlD,EAAuD,IAAvD,EAA6DX,UAA7D,CAAP;AACH;;;2BACMW,G,EAAKX,U,EAAY;AACpB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAAC4B,MAAtC,EAA8C,IAA9C,EAAoDR,GAApD,EAAyD,IAAzD,EAA+DX,UAA/D,CAAP;AACH;;;6BACQW,G,EAAKX,U,EAAY;AACtB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAAC6B,QAAtC,EAAgD,IAAhD,EAAsDT,GAAtD,EAA2D,IAA3D,EAAiEX,UAAjE,CAAP;AACH;;;2BACMW,G,EAAKX,U,EAAY;AACpB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAAC8B,MAAtC,EAA8C,IAA9C,EAAoDV,GAApD,EAAyD,IAAzD,EAA+DX,UAA/D,CAAP;AACH;;;wBACGW,G,EAAKX,U,EAAY;AACjB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAAC+B,GAAtC,EAA2C,IAA3C,EAAiDX,GAAjD,EAAsD,IAAtD,EAA4DX,UAA5D,CAAP;AACH;;;+BACUW,G,EAAKX,U,EAA2B;AAAA,UAAfuB,MAAe,uEAAN,IAAM;AACvC,aAAO,IAAIX,kBAAJ,CAAuBrB,cAAc,CAACiC,UAAtC,EAAkD,IAAlD,EAAwDb,GAAxD,EAA6D,IAA7D,EAAmEX,UAAnE,EAA+EuB,MAA/E,CAAP;AACH;;;uBACEZ,G,EAAKX,U,EAAY;AAChB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACkC,EAAtC,EAA0C,IAA1C,EAAgDd,GAAhD,EAAqD,IAArD,EAA2DX,UAA3D,CAAP;AACH;;;0BACKW,G,EAAKX,U,EAAY;AACnB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACmC,KAAtC,EAA6C,IAA7C,EAAmDf,GAAnD,EAAwD,IAAxD,EAA8DX,UAA9D,CAAP;AACH;;;gCACWW,G,EAAKX,U,EAAY;AACzB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACoC,WAAtC,EAAmD,IAAnD,EAAyDhB,GAAzD,EAA8D,IAA9D,EAAoEX,UAApE,CAAP;AACH;;;2BACMW,G,EAAKX,U,EAAY;AACpB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACqC,MAAtC,EAA8C,IAA9C,EAAoDjB,GAApD,EAAyD,IAAzD,EAA+DX,UAA/D,CAAP;AACH;;;iCACYW,G,EAAKX,U,EAAY;AAC1B,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACsC,YAAtC,EAAoD,IAApD,EAA0DlB,GAA1D,EAA+D,IAA/D,EAAqEX,UAArE,CAAP;AACH;;;4BACOA,U,EAAY;AAChB;AACA;AACA,aAAO,KAAK8B,MAAL,CAAYC,eAAZ,EAA6B/B,UAA7B,CAAP;AACH;;;yBACID,I,EAAMC,U,EAAY;AACnB,aAAO,IAAIgC,QAAJ,CAAa,IAAb,EAAmBjC,IAAnB,EAAyBC,UAAzB,CAAP;AACH;;;6BACQ;AACL,aAAO,IAAIiC,mBAAJ,CAAwB,IAAxB,EAA8B,IAA9B,CAAP;AACH;;;;;;AAEL,IAAIC,UAAJ;;AACA,CAAC,UAAUA,UAAV,EAAsB;AACnBA,YAAU,CAACA,UAAU,CAAC,MAAD,CAAV,GAAqB,CAAtB,CAAV,GAAqC,MAArC;AACAA,YAAU,CAACA,UAAU,CAAC,OAAD,CAAV,GAAsB,CAAvB,CAAV,GAAsC,OAAtC;AACAA,YAAU,CAACA,UAAU,CAAC,YAAD,CAAV,GAA2B,CAA5B,CAAV,GAA2C,YAA3C;AACAA,YAAU,CAACA,UAAU,CAAC,YAAD,CAAV,GAA2B,CAA5B,CAAV,GAA2C,YAA3C;AACH,CALD,EAKGA,UAAU,KAAKA,UAAU,GAAG,EAAlB,CALb;;IAMMC,W;;;;;AACF,uBAAY5O,IAAZ,EAAkBwM,IAAlB,EAAwBC,UAAxB,EAAoC;AAAA;;AAAA;;AAChC,gCAAMD,IAAN,EAAYC,UAAZ;;AACA,QAAI,OAAOzM,IAAP,KAAgB,QAApB,EAA8B;AAC1B,aAAKA,IAAL,GAAYA,IAAZ;AACA,aAAK6O,OAAL,GAAe,IAAf;AACH,KAHD,MAIK;AACD,aAAK7O,IAAL,GAAY,IAAZ;AACA,aAAK6O,OAAL,GAAe7O,IAAf;AACH;;AAT+B;AAUnC;;;;iCACY8O,C,EAAG;AACZ,aAAOA,CAAC,YAAYF,WAAb,IAA4B,KAAK5O,IAAL,KAAc8O,CAAC,CAAC9O,IAA5C,IAAoD,KAAK6O,OAAL,KAAiBC,CAAC,CAACD,OAA9E;AACH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACezE,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAAC2E,gBAAR,CAAyB,IAAzB,EAA+B1E,OAA/B,CAAP;AACH;;;wBACG5I,K,EAAO;AACP,UAAI,CAAC,KAAKzB,IAAV,EAAgB;AACZ,cAAM,IAAIzB,KAAJ,6BAA+B,KAAKsQ,OAApC,8BAAN;AACH;;AACD,aAAO,IAAIG,YAAJ,CAAiB,KAAKhP,IAAtB,EAA4ByB,KAA5B,EAAmC,IAAnC,EAAyC,KAAKgL,UAA9C,CAAP;AACH;;;;EA1BqBF,U;;IA4BpB0C,U;;;;;AACF,sBAAYC,IAAZ,EAAkB1C,IAAlB,EAAwBC,UAAxB,EAAoC;AAAA;;AAAA;;AAChC,gCAAMD,IAAN,EAAYC,UAAZ;AACA,WAAKyC,IAAL,GAAYA,IAAZ;AAFgC;AAGnC;;;;oCACe9E,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAAC+E,eAAR,CAAwB,IAAxB,EAA8B9E,OAA9B,CAAP;AACH;;;iCACYyE,C,EAAG;AACZ,aAAOA,CAAC,YAAYG,UAAb,IAA2BH,CAAC,CAACI,IAAF,CAAO9C,YAAP,CAAoB,KAAK8C,IAAzB,CAAlC;AACH;;;iCACY;AACT,aAAO,KAAKA,IAAL,CAAUE,UAAV,EAAP;AACH;;;;EAboB7C,U;;IAenB8C,e;;;;;AACF,2BAAYC,IAAZ,EAAkB9C,IAAlB,EAAwBC,UAAxB,EAAoC;AAAA;;AAAA;;AAChC,gCAAMD,IAAN,EAAYC,UAAZ;AACA,WAAK6C,IAAL,GAAYA,IAAZ;AAFgC;AAGnC;;;;iCACYR,C,EAAG;AACZ,aAAOA,CAAC,YAAYO,eAAb,IAAgC,KAAKC,IAAL,KAAcR,CAAC,CAACQ,IAAvD;AACH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACelF,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACmF,oBAAR,CAA6B,IAA7B,EAAmClF,OAAnC,CAAP;AACH;;;;EAbyBkC,U;;IAexByC,Y;;;;;AACF,wBAAYhP,IAAZ,EAAkByB,KAAlB,EAAyB+K,IAAzB,EAA+BC,UAA/B,EAA2C;AAAA;;AAAA;;AACvC,gCAAMD,IAAI,IAAI/K,KAAK,CAAC+K,IAApB,EAA0BC,UAA1B;AACA,WAAKzM,IAAL,GAAYA,IAAZ;AACA,WAAKyB,KAAL,GAAaA,KAAb;AAHuC;AAI1C;;;;iCACYqN,C,EAAG;AACZ,aAAOA,CAAC,YAAYE,YAAb,IAA6B,KAAKhP,IAAL,KAAc8O,CAAC,CAAC9O,IAA7C,IAAqD,KAAKyB,KAAL,CAAW2K,YAAX,CAAwB0C,CAAC,CAACrN,KAA1B,CAA5D;AACH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACe2I,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACoF,iBAAR,CAA0B,IAA1B,EAAgCnF,OAAhC,CAAP;AACH;;;+BACUmC,I,EAAMxC,S,EAAW;AACxB,aAAO,IAAIyF,cAAJ,CAAmB,KAAKzP,IAAxB,EAA8B,KAAKyB,KAAnC,EAA0C+K,IAA1C,EAAgDxC,SAAhD,EAA2D,KAAKyC,UAAhE,CAAP;AACH;;;kCACa;AACV,aAAO,KAAKiD,UAAL,CAAgBxE,aAAhB,EAA+B,CAACyE,YAAY,CAACC,KAAd,CAA/B,CAAP;AACH;;;;EApBsBrD,U;;IAsBrBsD,Y;;;;;AACF,wBAAYC,QAAZ,EAAsBnD,KAAtB,EAA6BlL,KAA7B,EAAoC+K,IAApC,EAA0CC,UAA1C,EAAsD;AAAA;;AAAA;;AAClD,iCAAMD,IAAI,IAAI/K,KAAK,CAAC+K,IAApB,EAA0BC,UAA1B;AACA,YAAKqD,QAAL,GAAgBA,QAAhB;AACA,YAAKnD,KAAL,GAAaA,KAAb;AACA,YAAKlL,KAAL,GAAaA,KAAb;AAJkD;AAKrD;;;;iCACYqN,C,EAAG;AACZ,aAAOA,CAAC,YAAYe,YAAb,IAA6B,KAAKC,QAAL,CAAc1D,YAAd,CAA2B0C,CAAC,CAACgB,QAA7B,CAA7B,IACH,KAAKnD,KAAL,CAAWP,YAAX,CAAwB0C,CAAC,CAACnC,KAA1B,CADG,IACiC,KAAKlL,KAAL,CAAW2K,YAAX,CAAwB0C,CAAC,CAACrN,KAA1B,CADxC;AAEH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACe2I,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAAC2F,iBAAR,CAA0B,IAA1B,EAAgC1F,OAAhC,CAAP;AACH;;;;EAhBsBkC,U;;IAkBrByD,a;;;;;AACF,yBAAYF,QAAZ,EAAsB9P,IAAtB,EAA4ByB,KAA5B,EAAmC+K,IAAnC,EAAyCC,UAAzC,EAAqD;AAAA;;AAAA;;AACjD,kCAAMD,IAAI,IAAI/K,KAAK,CAAC+K,IAApB,EAA0BC,UAA1B;AACA,YAAKqD,QAAL,GAAgBA,QAAhB;AACA,YAAK9P,IAAL,GAAYA,IAAZ;AACA,YAAKyB,KAAL,GAAaA,KAAb;AAJiD;AAKpD;;;;iCACYqN,C,EAAG;AACZ,aAAOA,CAAC,YAAYkB,aAAb,IAA8B,KAAKF,QAAL,CAAc1D,YAAd,CAA2B0C,CAAC,CAACgB,QAA7B,CAA9B,IACH,KAAK9P,IAAL,KAAc8O,CAAC,CAAC9O,IADb,IACqB,KAAKyB,KAAL,CAAW2K,YAAX,CAAwB0C,CAAC,CAACrN,KAA1B,CAD5B;AAEH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACe2I,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAAC6F,kBAAR,CAA2B,IAA3B,EAAiC5F,OAAjC,CAAP;AACH;;;;EAhBuBkC,U;;AAkB5B,IAAI2D,aAAJ;;AACA,CAAC,UAAUA,aAAV,EAAyB;AACtBA,eAAa,CAACA,aAAa,CAAC,aAAD,CAAb,GAA+B,CAAhC,CAAb,GAAkD,aAAlD;AACAA,eAAa,CAACA,aAAa,CAAC,qBAAD,CAAb,GAAuC,CAAxC,CAAb,GAA0D,qBAA1D;AACAA,eAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;AACH,CAJD,EAIGA,aAAa,KAAKA,aAAa,GAAG,EAArB,CAJhB;;IAKMpD,gB;;;;;AACF,4BAAYgD,QAAZ,EAAsBK,MAAtB,EAA8BrI,IAA9B,EAAoC0E,IAApC,EAA0CC,UAA1C,EAAsD;AAAA;;AAAA;;AAClD,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAKqD,QAAL,GAAgBA,QAAhB;AACA,YAAKhI,IAAL,GAAYA,IAAZ;;AACA,QAAI,OAAOqI,MAAP,KAAkB,QAAtB,EAAgC;AAC5B,cAAKnQ,IAAL,GAAYmQ,MAAZ;AACA,cAAKtB,OAAL,GAAe,IAAf;AACH,KAHD,MAIK;AACD,cAAK7O,IAAL,GAAY,IAAZ;AACA,cAAK6O,OAAL,GAAesB,MAAf;AACH;;AAXiD;AAYrD;;;;iCACYrB,C,EAAG;AACZ,aAAOA,CAAC,YAAYhC,gBAAb,IAAiC,KAAKgD,QAAL,CAAc1D,YAAd,CAA2B0C,CAAC,CAACgB,QAA7B,CAAjC,IACH,KAAK9P,IAAL,KAAc8O,CAAC,CAAC9O,IADb,IACqB,KAAK6O,OAAL,KAAiBC,CAAC,CAACD,OADxC,IACmDxC,gBAAgB,CAAC,KAAKvE,IAAN,EAAYgH,CAAC,CAAChH,IAAd,CAD1E;AAEH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACesC,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACgG,qBAAR,CAA8B,IAA9B,EAAoC/F,OAApC,CAAP;AACH;;;;EAvB0BkC,U;;IAyBzBQ,kB;;;;;AACF,8BAAYsD,EAAZ,EAAgBvI,IAAhB,EAAsB0E,IAAtB,EAA4BC,UAA5B,EAAsD;AAAA;;AAAA,QAAdnF,IAAc,uEAAP,KAAO;;AAAA;;AAClD,kCAAMkF,IAAN,EAAYC,UAAZ;AACA,YAAK4D,EAAL,GAAUA,EAAV;AACA,YAAKvI,IAAL,GAAYA,IAAZ;AACA,YAAKR,IAAL,GAAYA,IAAZ;AAJkD;AAKrD;;;;iCACYwH,C,EAAG;AACZ,aAAOA,CAAC,YAAY/B,kBAAb,IAAmC,KAAKsD,EAAL,CAAQjE,YAAR,CAAqB0C,CAAC,CAACuB,EAAvB,CAAnC,IACHhE,gBAAgB,CAAC,KAAKvE,IAAN,EAAYgH,CAAC,CAAChH,IAAd,CADb,IACoC,KAAKR,IAAL,KAAcwH,CAAC,CAACxH,IAD3D;AAEH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACe8C,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACkG,uBAAR,CAAgC,IAAhC,EAAsCjG,OAAtC,CAAP;AACH;;;;EAhB4BkC,U;;IAkB3BS,e;;;;;AACF,2BAAYuD,SAAZ,EAAuBzI,IAAvB,EAA6B0E,IAA7B,EAAmCC,UAAnC,EAA+C;AAAA;;AAAA;;AAC3C,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAK8D,SAAL,GAAiBA,SAAjB;AACA,YAAKzI,IAAL,GAAYA,IAAZ;AAH2C;AAI9C;;;;iCACYgH,C,EAAG;AACZ,aAAOA,CAAC,YAAY9B,eAAb,IAAgC,KAAKuD,SAAL,CAAenE,YAAf,CAA4B0C,CAAC,CAACyB,SAA9B,CAAhC,IACHlE,gBAAgB,CAAC,KAAKvE,IAAN,EAAYgH,CAAC,CAAChH,IAAd,CADpB;AAEH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACesC,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACoG,oBAAR,CAA6B,IAA7B,EAAmCnG,OAAnC,CAAP;AACH;;;;EAfyBkC,U;;IAiBxBkE,W;;;;;AACF,uBAAYhP,KAAZ,EAAmB+K,IAAnB,EAAyBC,UAAzB,EAAqC;AAAA;;AAAA;;AACjC,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAKhL,KAAL,GAAaA,KAAb;AAFiC;AAGpC;;;;iCACYqN,C,EAAG;AACZ,aAAOA,CAAC,YAAY2B,WAAb,IAA4B,KAAKhP,KAAL,KAAeqN,CAAC,CAACrN,KAApD;AACH;;;iCACY;AACT,aAAO,IAAP;AACH;;;oCACe2I,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACsG,gBAAR,CAAyB,IAAzB,EAA+BrG,OAA/B,CAAP;AACH;;;;EAbqBkC,U;;IAepBoE,Y,GACF,sBAAYC,IAAZ,EAAkBnE,UAAlB,EAA8B;AAAA;;AAC1B,OAAKmE,IAAL,GAAYA,IAAZ;AACA,OAAKnE,UAAL,GAAkBA,UAAlB;AACH,C;;IAECoE,Y;;;;;;;;;;;;EAAqBF,Y;;IAErBG,gB;;;;;;;;;;;;EAAyBH,Y;;IAEzBI,e;;;;;AACF,2BAAYC,SAAZ,EAAuBC,YAAvB,EAAqCC,gBAArC,EAAuDC,WAAvD,EAAoE1E,UAApE,EAAgF;AAAA;;AAAA;;AAC5E,kCAAMf,WAAN,EAAmBe,UAAnB;AACA,YAAKuE,SAAL,GAAiBA,SAAjB;AACA,YAAKC,YAAL,GAAoBA,YAApB;AACA,YAAKC,gBAAL,GAAwBA,gBAAxB;AACA,YAAKC,WAAL,GAAmBA,WAAnB;AAL4E;AAM/E;;;;iCACYrC,C,EAAG;AACZ;AACA,aAAO,KAAP;AACH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACe1E,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACgH,oBAAR,CAA6B,IAA7B,EAAmC/G,OAAnC,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;wCACwB;AAChB,UAAMgH,iBAAiB,GAAG,GAA1B;AACA,UAAMC,YAAY,GAAG,IAArB;AACA,UAAMC,mBAAmB,GAAG,GAA5B;AACA,UAAIP,SAAS,GAAG,KAAKA,SAAL,CAAeQ,WAAf,IAA8B,EAA9C;;AACA,UAAI,KAAKR,SAAL,CAAeS,OAAnB,EAA4B;AACxBT,iBAAS,aAAM,KAAKA,SAAL,CAAeS,OAArB,SAA+BJ,iBAA/B,SAAmDL,SAAnD,CAAT;AACH;;AACD,UAAI,KAAKA,SAAL,CAAeU,QAAnB,EAA6B;AACzBV,iBAAS,aAAMA,SAAN,SAAkBM,YAAlB,SAAiC,KAAKN,SAAL,CAAeU,QAAhD,CAAT;AACH;;AACD,UAAI,KAAKV,SAAL,CAAeW,SAAnB,EAA8B;AAC1B,aAAKX,SAAL,CAAeW,SAAf,CAAyB5R,OAAzB,CAAiC,UAAA6R,QAAQ,EAAI;AACzCZ,mBAAS,aAAMA,SAAN,SAAkBO,mBAAlB,SAAwCK,QAAxC,CAAT;AACH,SAFD;AAGH;;AACD,aAAOC,qBAAqB,CAACb,SAAD,EAAY,KAAKC,YAAL,CAAkB,CAAlB,EAAqBL,IAAjC,EAAuC,KAAKkB,wBAAL,CAA8B,CAA9B,CAAvC,CAA5B;AACH;;;6CACwB3Q,C,EAAG;AACxB,UAAId,EAAJ,EAAQC,EAAR;;AACA,aAAO,CAACA,EAAE,GAAG,CAACD,EAAE,GAAG,KAAK4Q,YAAL,CAAkB9P,CAAlB,CAAN,MAAgC,IAAhC,IAAwCd,EAAE,KAAK,KAAK,CAApD,GAAwD,KAAK,CAA7D,GAAiEA,EAAE,CAACoM,UAA1E,MAA0F,IAA1F,IAAkGnM,EAAE,KAAK,KAAK,CAA9G,GAAkHA,EAAlH,GAAuH,KAAKmM,UAAnI;AACH;;;6CACwBtL,C,EAAG;AACxB,UAAId,EAAJ,EAAQC,EAAR,EAAYyR,EAAZ,EAAgBC,EAAhB;;AACA,aAAO,CAACA,EAAE,GAAG,CAAC1R,EAAE,GAAG,CAACD,EAAE,GAAG,KAAK6Q,gBAAL,CAAsB/P,CAAtB,CAAN,MAAoC,IAApC,IAA4Cd,EAAE,KAAK,KAAK,CAAxD,GAA4D,KAAK,CAAjE,GAAqEA,EAAE,CAACoM,UAA9E,MAA8F,IAA9F,IAAsGnM,EAAE,KAAK,KAAK,CAAlH,GAAsHA,EAAtH,GAA2H,CAACyR,EAAE,GAAG,KAAKZ,WAAL,CAAiBhQ,CAAjB,CAAN,MAA+B,IAA/B,IAAuC4Q,EAAE,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,EAAE,CAACtF,UAApM,MAAoN,IAApN,IAA4NuF,EAAE,KAAK,KAAK,CAAxO,GAA4OA,EAA5O,GAAiP,KAAKvF,UAA7P;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;;8CAC8BwF,S,EAAW;AACjC,UAAMC,eAAe,GAAG,KAAKhB,gBAAL,CAAsBe,SAAS,GAAG,CAAlC,EAAqCrB,IAA7D;AACA,UAAMuB,WAAW,GAAG,KAAKlB,YAAL,CAAkBgB,SAAlB,CAApB;AACA,aAAOJ,qBAAqB,CAACK,eAAD,EAAkBC,WAAW,CAACvB,IAA9B,EAAoC,KAAKkB,wBAAL,CAA8BG,SAA9B,CAApC,CAA5B;AACH;;;;EA/DyB1F,U;;AAiE9B,IAAM6F,aAAa,GAAG,SAAhBA,aAAgB,CAACC,GAAD;AAAA,SAASA,GAAG,CAACC,OAAJ,CAAY,KAAZ,EAAmB,MAAnB,CAAT;AAAA,CAAtB;;AACA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACF,GAAD;AAAA,SAASA,GAAG,CAACC,OAAJ,CAAY,IAAZ,EAAkB,KAAlB,CAAT;AAAA,CAA5B;;AACA,IAAME,YAAY,GAAG,SAAfA,YAAe,CAACH,GAAD;AAAA,SAASA,GAAG,CAACC,OAAJ,CAAY,IAAZ,EAAkB,KAAlB,CAAT;AAAA,CAArB;;AACA,IAAMG,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACJ,GAAD;AAAA,SAASA,GAAG,CAACC,OAAJ,CAAY,IAAZ,EAAkB,KAAlB,EAAyBA,OAAzB,CAAiC,MAAjC,EAAyC,MAAzC,CAAT;AAAA,CAA7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAST,qBAAT,CAA+Bb,SAA/B,EAA0CmB,WAA1C,EAAuDO,KAAvD,EAA8D;AAC1D,MAAI1B,SAAS,KAAK,EAAlB,EAAsB;AAClB,WAAO;AACH2B,YAAM,EAAER,WADL;AAEHS,SAAG,EAAEH,oBAAoB,CAACF,mBAAmB,CAACH,aAAa,CAACD,WAAD,CAAd,CAApB,CAFtB;AAGHO,WAAK,EAALA;AAHG,KAAP;AAKH,GAND,MAOK;AACD,WAAO;AACHC,YAAM,aAAM3B,SAAN,cAAmBmB,WAAnB,CADH;AAEHS,SAAG,EAAEH,oBAAoB,YAAKD,YAAY,CAACJ,aAAa,CAACpB,SAAD,CAAd,CAAjB,cAA+CoB,aAAa,CAACD,WAAD,CAA5D,EAFtB;AAGHO,WAAK,EAALA;AAHG,KAAP;AAKH;AACJ;;IACKG,Y;;;;;AACF,wBAAYpR,KAAZ,EAAmB+K,IAAnB,EAAwD;AAAA;;AAAA,QAA/BhC,UAA+B,uEAAlB,IAAkB;AAAA,QAAZiC,UAAY;;AAAA;;AACpD,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAKhL,KAAL,GAAaA,KAAb;AACA,YAAK+I,UAAL,GAAkBA,UAAlB;AAHoD;AAIvD;;;;iCACYsE,C,EAAG;AACZ,aAAOA,CAAC,YAAY+D,YAAb,IAA6B,KAAKpR,KAAL,CAAWzB,IAAX,KAAoB8O,CAAC,CAACrN,KAAF,CAAQzB,IAAzD,IACH,KAAKyB,KAAL,CAAWqR,UAAX,KAA0BhE,CAAC,CAACrN,KAAF,CAAQqR,UAD/B,IAC6C,KAAKrR,KAAL,CAAWsR,OAAX,KAAuBjE,CAAC,CAACrN,KAAF,CAAQsR,OADnF;AAEH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACe3I,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAAC4I,iBAAR,CAA0B,IAA1B,EAAgC3I,OAAhC,CAAP;AACH;;;;EAfsBkC,U;;IAiBrB0G,iB,GACF,2BAAYH,UAAZ,EAAwB9S,IAAxB,EAA8B+S,OAA9B,EAAuC;AAAA;;AACnC,OAAKD,UAAL,GAAkBA,UAAlB;AACA,OAAK9S,IAAL,GAAYA,IAAZ;AACA,OAAK+S,OAAL,GAAeA,OAAf;AACH,C;;IAEC5F,e;;;;;AACF,2BAAY+F,SAAZ,EAAuBjG,QAAvB,EAAqE;AAAA;;AAAA,QAApCC,SAAoC,uEAAxB,IAAwB;AAAA,QAAlBV,IAAkB;AAAA,QAAZC,UAAY;;AAAA;;AACjE,kCAAMD,IAAI,IAAIS,QAAQ,CAACT,IAAvB,EAA6BC,UAA7B;AACA,YAAKyG,SAAL,GAAiBA,SAAjB;AACA,YAAKhG,SAAL,GAAiBA,SAAjB;AACA,YAAKD,QAAL,GAAgBA,QAAhB;AAJiE;AAKpE;;;;iCACY6B,C,EAAG;AACZ,aAAOA,CAAC,YAAY3B,eAAb,IAAgC,KAAK+F,SAAL,CAAe9G,YAAf,CAA4B0C,CAAC,CAACoE,SAA9B,CAAhC,IACH,KAAKjG,QAAL,CAAcb,YAAd,CAA2B0C,CAAC,CAAC7B,QAA7B,CADG,IACuChB,oBAAoB,CAAC,KAAKiB,SAAN,EAAiB4B,CAAC,CAAC5B,SAAnB,CADlE;AAEH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACe9C,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAAC+I,oBAAR,CAA6B,IAA7B,EAAmC9I,OAAnC,CAAP;AACH;;;;EAhByBkC,U;;IAkBxB6G,O;;;;;AACF,mBAAYF,SAAZ,EAAuBzG,UAAvB,EAAmC;AAAA;;AAAA;;AAC/B,kCAAMrB,SAAN,EAAiBqB,UAAjB;AACA,YAAKyG,SAAL,GAAiBA,SAAjB;AAF+B;AAGlC;;;;iCACYpE,C,EAAG;AACZ,aAAOA,CAAC,YAAYsE,OAAb,IAAwB,KAAKF,SAAL,CAAe9G,YAAf,CAA4B0C,CAAC,CAACoE,SAA9B,CAA/B;AACH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACe9I,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACiJ,YAAR,CAAqB,IAArB,EAA2BhJ,OAA3B,CAAP;AACH;;;;EAbiBkC,U;;IAehB+G,a;;;;;AACF,yBAAYJ,SAAZ,EAAuBzG,UAAvB,EAAmC;AAAA;;AAAA;;AAC/B,kCAAMyG,SAAS,CAAC1G,IAAhB,EAAsBC,UAAtB;AACA,YAAKyG,SAAL,GAAiBA,SAAjB;AAF+B;AAGlC;;;;iCACYpE,C,EAAG;AACZ,aAAOA,CAAC,YAAYwE,aAAb,IAA8B,KAAKJ,SAAL,CAAe9G,YAAf,CAA4B0C,CAAC,CAACoE,SAA9B,CAArC;AACH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACe9I,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACmJ,sBAAR,CAA+B,IAA/B,EAAqClJ,OAArC,CAAP;AACH;;;;EAbuBkC,U;;IAetBkC,Q;;;;;AACF,oBAAYhN,KAAZ,EAAmB+K,IAAnB,EAAyBC,UAAzB,EAAqC;AAAA;;AAAA;;AACjC,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAKhL,KAAL,GAAaA,KAAb;AAFiC;AAGpC;;;;iCACYqN,C,EAAG;AACZ,aAAOA,CAAC,YAAYL,QAAb,IAAyB,KAAKhN,KAAL,CAAW2K,YAAX,CAAwB0C,CAAC,CAACrN,KAA1B,CAAhC;AACH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACe2I,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACoJ,aAAR,CAAsB,IAAtB,EAA4BnJ,OAA5B,CAAP;AACH;;;;EAbkBkC,U;;IAejBkH,O;AACF,mBAAYzT,IAAZ,EAA+B;AAAA,QAAbwM,IAAa,uEAAN,IAAM;;AAAA;;AAC3B,SAAKxM,IAAL,GAAYA,IAAZ;AACA,SAAKwM,IAAL,GAAYA,IAAZ;AACH;;;;iCACYkH,K,EAAO;AAChB,aAAO,KAAK1T,IAAL,KAAc0T,KAAK,CAAC1T,IAA3B;AACH;;;;;;IAEC2T,Y;;;;;AACF,wBAAY9G,MAAZ,EAAoB+G,UAApB,EAAgCpH,IAAhC,EAAsCC,UAAtC,EAAkDzM,IAAlD,EAAwD;AAAA;;AAAA;;AACpD,kCAAMwM,IAAN,EAAYC,UAAZ;AACA,YAAKI,MAAL,GAAcA,MAAd;AACA,YAAK+G,UAAL,GAAkBA,UAAlB;AACA,YAAK5T,IAAL,GAAYA,IAAZ;AAJoD;AAKvD;;;;iCACY8O,C,EAAG;AACZ,aAAOA,CAAC,YAAY6E,YAAb,IAA6BtH,gBAAgB,CAAC,KAAKQ,MAAN,EAAciC,CAAC,CAACjC,MAAhB,CAA7C,IACHR,gBAAgB,CAAC,KAAKuH,UAAN,EAAkB9E,CAAC,CAAC8E,UAApB,CADpB;AAEH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACexJ,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACyJ,iBAAR,CAA0B,IAA1B,EAAgCxJ,OAAhC,CAAP;AACH;;;+BACUrK,I,EAAMgK,S,EAAW;AACxB,aAAO,IAAI8J,mBAAJ,CAAwB9T,IAAxB,EAA8B,KAAK6M,MAAnC,EAA2C,KAAK+G,UAAhD,EAA4D,KAAKpH,IAAjE,EAAuExC,SAAvE,EAAkF,KAAKyC,UAAvF,CAAP;AACH;;;;EAnBsBF,U;;IAqBrBwH,iB;;;;;AACF,6BAAYC,QAAZ,EAAsB9E,IAAtB,EAA4B1C,IAA5B,EAAkCC,UAAlC,EAA6D;AAAA;;AAAA,QAAfuB,MAAe,uEAAN,IAAM;;AAAA;;AACzD,kCAAMxB,IAAI,IAAIhB,WAAd,EAA2BiB,UAA3B;AACA,YAAKuH,QAAL,GAAgBA,QAAhB;AACA,YAAK9E,IAAL,GAAYA,IAAZ;AACA,YAAKlB,MAAL,GAAcA,MAAd;AAJyD;AAK5D;;;;iCACYc,C,EAAG;AACZ,aAAOA,CAAC,YAAYiF,iBAAb,IAAkC,KAAKC,QAAL,KAAkBlF,CAAC,CAACkF,QAAtD,IACH,KAAK9E,IAAL,CAAU9C,YAAV,CAAuB0C,CAAC,CAACI,IAAzB,CADJ;AAEH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACe9E,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAAC6J,sBAAR,CAA+B,IAA/B,EAAqC5J,OAArC,CAAP;AACH;;;;EAhB2BkC,U;;IAkB1Bc,kB;;;;;AACF,8BAAY2G,QAAZ,EAAsBE,GAAtB,EAA2B9G,GAA3B,EAAgCZ,IAAhC,EAAsCC,UAAtC,EAAiE;AAAA;;AAAA,QAAfuB,MAAe,uEAAN,IAAM;;AAAA;;AAC7D,kCAAMxB,IAAI,IAAI0H,GAAG,CAAC1H,IAAlB,EAAwBC,UAAxB;AACA,YAAKuH,QAAL,GAAgBA,QAAhB;AACA,YAAK5G,GAAL,GAAWA,GAAX;AACA,YAAKY,MAAL,GAAcA,MAAd;AACA,YAAKkG,GAAL,GAAWA,GAAX;AAL6D;AAMhE;;;;iCACYpF,C,EAAG;AACZ,aAAOA,CAAC,YAAYzB,kBAAb,IAAmC,KAAK2G,QAAL,KAAkBlF,CAAC,CAACkF,QAAvD,IACH,KAAKE,GAAL,CAAS9H,YAAT,CAAsB0C,CAAC,CAACoF,GAAxB,CADG,IAC6B,KAAK9G,GAAL,CAAShB,YAAT,CAAsB0C,CAAC,CAAC1B,GAAxB,CADpC;AAEH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACehD,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAAC+J,uBAAR,CAAgC,IAAhC,EAAsC9J,OAAtC,CAAP;AACH;;;;EAjB4BkC,U;;IAmB3BG,Y;;;;;AACF,wBAAYoD,QAAZ,EAAsB9P,IAAtB,EAA4BwM,IAA5B,EAAkCC,UAAlC,EAA8C;AAAA;;AAAA;;AAC1C,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAKqD,QAAL,GAAgBA,QAAhB;AACA,YAAK9P,IAAL,GAAYA,IAAZ;AAH0C;AAI7C;;;;iCACY8O,C,EAAG;AACZ,aAAOA,CAAC,YAAYpC,YAAb,IAA6B,KAAKoD,QAAL,CAAc1D,YAAd,CAA2B0C,CAAC,CAACgB,QAA7B,CAA7B,IACH,KAAK9P,IAAL,KAAc8O,CAAC,CAAC9O,IADpB;AAEH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACeoK,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACgK,iBAAR,CAA0B,IAA1B,EAAgC/J,OAAhC,CAAP;AACH;;;wBACG5I,K,EAAO;AACP,aAAO,IAAIuO,aAAJ,CAAkB,KAAKF,QAAvB,EAAiC,KAAK9P,IAAtC,EAA4CyB,KAA5C,EAAmD,IAAnD,EAAyD,KAAKgL,UAA9D,CAAP;AACH;;;;EAlBsBF,U;;IAoBrBK,W;;;;;AACF,uBAAYkD,QAAZ,EAAsBnD,KAAtB,EAA6BH,IAA7B,EAAmCC,UAAnC,EAA+C;AAAA;;AAAA;;AAC3C,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAKqD,QAAL,GAAgBA,QAAhB;AACA,YAAKnD,KAAL,GAAaA,KAAb;AAH2C;AAI9C;;;;iCACYmC,C,EAAG;AACZ,aAAOA,CAAC,YAAYlC,WAAb,IAA4B,KAAKkD,QAAL,CAAc1D,YAAd,CAA2B0C,CAAC,CAACgB,QAA7B,CAA5B,IACH,KAAKnD,KAAL,CAAWP,YAAX,CAAwB0C,CAAC,CAACnC,KAA1B,CADJ;AAEH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACevC,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACiK,gBAAR,CAAyB,IAAzB,EAA+BhK,OAA/B,CAAP;AACH;;;wBACG5I,K,EAAO;AACP,aAAO,IAAIoO,YAAJ,CAAiB,KAAKC,QAAtB,EAAgC,KAAKnD,KAArC,EAA4ClL,KAA5C,EAAmD,IAAnD,EAAyD,KAAKgL,UAA9D,CAAP;AACH;;;;EAlBqBF,U;;IAoBpB+H,gB;;;;;AACF,4BAAYC,OAAZ,EAAqB/H,IAArB,EAA2BC,UAA3B,EAAuC;AAAA;;AAAA;;AACnC,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAK8H,OAAL,GAAeA,OAAf;AAFmC;AAGtC;;;;iCACY;AACT,aAAO,KAAKA,OAAL,CAAaC,KAAb,CAAmB,UAAA1F,CAAC;AAAA,eAAIA,CAAC,CAACM,UAAF,EAAJ;AAAA,OAApB,CAAP;AACH;;;iCACYN,C,EAAG;AACZ,aAAOA,CAAC,YAAYwF,gBAAb,IAAiCjI,gBAAgB,CAAC,KAAKkI,OAAN,EAAezF,CAAC,CAACyF,OAAjB,CAAxD;AACH;;;oCACenK,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAACqK,qBAAR,CAA8B,IAA9B,EAAoCpK,OAApC,CAAP;AACH;;;;EAb0BkC,U;;IAezBmI,e;AACF,2BAAYC,GAAZ,EAAiBlT,KAAjB,EAAwBmT,MAAxB,EAAgC;AAAA;;AAC5B,SAAKD,GAAL,GAAWA,GAAX;AACA,SAAKlT,KAAL,GAAaA,KAAb;AACA,SAAKmT,MAAL,GAAcA,MAAd;AACH;;;;iCACY9F,C,EAAG;AACZ,aAAO,KAAK6F,GAAL,KAAa7F,CAAC,CAAC6F,GAAf,IAAsB,KAAKlT,KAAL,CAAW2K,YAAX,CAAwB0C,CAAC,CAACrN,KAA1B,CAA7B;AACH;;;;;;IAECoT,c;;;;;AACF,0BAAYN,OAAZ,EAAqB/H,IAArB,EAA2BC,UAA3B,EAAuC;AAAA;;AAAA;;AACnC,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAK8H,OAAL,GAAeA,OAAf;AACA,YAAKzJ,SAAL,GAAiB,IAAjB;;AACA,QAAI0B,IAAJ,EAAU;AACN,cAAK1B,SAAL,GAAiB0B,IAAI,CAAC1B,SAAtB;AACH;;AANkC;AAOtC;;;;iCACYgE,C,EAAG;AACZ,aAAOA,CAAC,YAAY+F,cAAb,IAA+BxI,gBAAgB,CAAC,KAAKkI,OAAN,EAAezF,CAAC,CAACyF,OAAjB,CAAtD;AACH;;;iCACY;AACT,aAAO,KAAKA,OAAL,CAAaC,KAAb,CAAmB,UAAA1F,CAAC;AAAA,eAAIA,CAAC,CAACrN,KAAF,CAAQ2N,UAAR,EAAJ;AAAA,OAApB,CAAP;AACH;;;oCACehF,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAAC0K,mBAAR,CAA4B,IAA5B,EAAkCzK,OAAlC,CAAP;AACH;;;;EAjBwBkC,U;;IAmBvBwI,S;;;;;AACF,qBAAYC,KAAZ,EAAmBvI,UAAnB,EAA+B;AAAA;;AAAA;;AAC3B,kCAAMuI,KAAK,CAACA,KAAK,CAAClV,MAAN,GAAe,CAAhB,CAAL,CAAwB0M,IAA9B,EAAoCC,UAApC;AACA,YAAKuI,KAAL,GAAaA,KAAb;AAF2B;AAG9B;;;;iCACYlG,C,EAAG;AACZ,aAAOA,CAAC,YAAYiG,SAAb,IAA0B1I,gBAAgB,CAAC,KAAK2I,KAAN,EAAalG,CAAC,CAACkG,KAAf,CAAjD;AACH;;;iCACY;AACT,aAAO,KAAP;AACH;;;oCACe5K,O,EAASC,O,EAAS;AAC9B,aAAOD,OAAO,CAAC6K,cAAR,CAAuB,IAAvB,EAA6B5K,OAA7B,CAAP;AACH;;;;EAbmBkC,U;;AAexB,IAAM2I,SAAS,GAAG,IAAItG,WAAJ,CAAgBD,UAAU,CAACwG,IAA3B,EAAiC,IAAjC,EAAuC,IAAvC,CAAlB;AACA,IAAMC,UAAU,GAAG,IAAIxG,WAAJ,CAAgBD,UAAU,CAAC0G,KAA3B,EAAkC,IAAlC,EAAwC,IAAxC,CAAnB;AACA,IAAMC,eAAe,GAAG,IAAI1G,WAAJ,CAAgBD,UAAU,CAAC4G,UAA3B,EAAuC,IAAvC,EAA6C,IAA7C,CAAxB;AACA,IAAMC,eAAe,GAAG,IAAI5G,WAAJ,CAAgBD,UAAU,CAAC8G,UAA3B,EAAuC,IAAvC,EAA6C,IAA7C,CAAxB;AACA,IAAMC,SAAS,GAAG,IAAIjF,WAAJ,CAAgB,IAAhB,EAAsB,IAAtB,EAA4B,IAA5B,CAAlB;AACA,IAAMjC,eAAe,GAAG,IAAIiC,WAAJ,CAAgB,IAAhB,EAAsBvF,aAAtB,EAAqC,IAArC,CAAxB,C,CACA;;AACA,IAAIyE,YAAJ;;AACA,CAAC,UAAUA,YAAV,EAAwB;AACrBA,cAAY,CAACA,YAAY,CAAC,OAAD,CAAZ,GAAwB,CAAzB,CAAZ,GAA0C,OAA1C;AACAA,cAAY,CAACA,YAAY,CAAC,SAAD,CAAZ,GAA0B,CAA3B,CAAZ,GAA4C,SAA5C;AACAA,cAAY,CAACA,YAAY,CAAC,UAAD,CAAZ,GAA2B,CAA5B,CAAZ,GAA6C,UAA7C;AACAA,cAAY,CAACA,YAAY,CAAC,QAAD,CAAZ,GAAyB,CAA1B,CAAZ,GAA2C,QAA3C;AACH,CALD,EAKGA,YAAY,KAAKA,YAAY,GAAG,EAApB,CALf;;IAMMgG,c;AACF,0BAAY/E,IAAZ,EAAkBgF,SAAlB,EAA6BC,eAA7B,EAA8C;AAAA;;AAC1C,SAAKjF,IAAL,GAAYA,IAAZ;AACA,SAAKgF,SAAL,GAAiBA,SAAjB;AACA,SAAKC,eAAL,GAAuBA,eAAvB;AACH;;;;+BACU;AACP,aAAO,KAAKD,SAAL,cAAqB,KAAKhF,IAA1B,SAAoC,KAAKA,IAAhD;AACH;;;;;;IAECkF,Y;;;;;AACF,wBAAYC,IAAZ,EAAkB;AAAA;;AAAA;;AACd,kCAAM,EAAN;AAAU;AAAgB,QAA1B;AAAgC;AAAsB,QAAtD;AACA,YAAKA,IAAL,GAAYA,IAAZ;AAFc;AAGjB;;;;+BACU;AACP,aAAOC,aAAa,CAAC,KAAKD,IAAN,CAApB;AACH;;;;EAPsBJ,c;;IASrBM,S;AACF,uBAAgE;AAAA,QAApDjM,SAAoD,uEAAxC,EAAwC;AAAA,QAApCyC,UAAoC,uEAAvB,IAAuB;AAAA,QAAjByJ,eAAiB;;AAAA;;AAC5D,SAAKlM,SAAL,GAAiBA,SAAjB;AACA,SAAKyC,UAAL,GAAkBA,UAAlB;AACA,SAAKyJ,eAAL,GAAuBA,eAAvB;AACH;;;;gCACWjM,Q,EAAU;AAClB,aAAO,KAAKD,SAAL,CAAe1L,OAAf,CAAuB2L,QAAvB,MAAqC,CAAC,CAA7C;AACH;;;sCACiBkM,c,EAAgB;AAC9B,UAAI9V,EAAJ;;AACA,WAAK6V,eAAL,GAAuB,CAAC7V,EAAE,GAAG,KAAK6V,eAAX,MAAgC,IAAhC,IAAwC7V,EAAE,KAAK,KAAK,CAApD,GAAwDA,EAAxD,GAA6D,EAApF;AACA,WAAK6V,eAAL,CAAqB3U,IAArB,CAA0B4U,cAA1B;AACH;;;;;;IAEC1G,c;;;;;AACF,0BAAYzP,IAAZ,EAAkByB,KAAlB,EAAyB+K,IAAzB,EAA+BxC,SAA/B,EAA0CyC,UAA1C,EAAsDyJ,eAAtD,EAAuE;AAAA;;AAAA;;AACnE,kCAAMlM,SAAN,EAAiByC,UAAjB,EAA6ByJ,eAA7B;AACA,YAAKlW,IAAL,GAAYA,IAAZ;AACA,YAAKyB,KAAL,GAAaA,KAAb;AACA,YAAK+K,IAAL,GAAYA,IAAI,IAAK/K,KAAK,IAAIA,KAAK,CAAC+K,IAAxB,IAAiC,IAA7C;AAJmE;AAKtE;;;;iCACY4J,I,EAAM;AACf,aAAOA,IAAI,YAAY3G,cAAhB,IAAkC,KAAKzP,IAAL,KAAcoW,IAAI,CAACpW,IAArD,KACF,KAAKyB,KAAL,GAAa,CAAC,CAAC2U,IAAI,CAAC3U,KAAP,IAAgB,KAAKA,KAAL,CAAW2K,YAAX,CAAwBgK,IAAI,CAAC3U,KAA7B,CAA7B,GAAmE,CAAC2U,IAAI,CAAC3U,KADvE,CAAP;AAEH;;;mCACc2I,O,EAASC,O,EAAS;AAC7B,aAAOD,OAAO,CAACiM,mBAAR,CAA4B,IAA5B,EAAkChM,OAAlC,CAAP;AACH;;;;EAbwB4L,S;;IAevBnC,mB;;;;;AACF,+BAAY9T,IAAZ,EAAkB6M,MAAlB,EAA0B+G,UAA1B,EAAsCpH,IAAtC,EAA4CxC,SAA5C,EAAuDyC,UAAvD,EAAmEyJ,eAAnE,EAAoF;AAAA;;AAAA;;AAChF,kCAAMlM,SAAN,EAAiByC,UAAjB,EAA6ByJ,eAA7B;AACA,YAAKlW,IAAL,GAAYA,IAAZ;AACA,YAAK6M,MAAL,GAAcA,MAAd;AACA,YAAK+G,UAAL,GAAkBA,UAAlB;AACA,YAAKpH,IAAL,GAAYA,IAAI,IAAI,IAApB;AALgF;AAMnF;;;;iCACY4J,I,EAAM;AACf,aAAOA,IAAI,YAAYtC,mBAAhB,IAAuCzH,gBAAgB,CAAC,KAAKQ,MAAN,EAAcuJ,IAAI,CAACvJ,MAAnB,CAAvD,IACHR,gBAAgB,CAAC,KAAKuH,UAAN,EAAkBwC,IAAI,CAACxC,UAAvB,CADpB;AAEH;;;mCACcxJ,O,EAASC,O,EAAS;AAC7B,aAAOD,OAAO,CAACkM,wBAAR,CAAiC,IAAjC,EAAuCjM,OAAvC,CAAP;AACH;;;;EAd6B4L,S;;IAgB5BvH,mB;;;;;AACF,+BAAYQ,IAAZ,EAAkBzC,UAAlB,EAA8ByJ,eAA9B,EAA+C;AAAA;;AAAA;;AAC3C,kCAAM,EAAN,EAAUzJ,UAAV,EAAsByJ,eAAtB;AACA,YAAKhH,IAAL,GAAYA,IAAZ;AAF2C;AAG9C;;;;iCACYkH,I,EAAM;AACf,aAAOA,IAAI,YAAY1H,mBAAhB,IAAuC,KAAKQ,IAAL,CAAU9C,YAAV,CAAuBgK,IAAI,CAAClH,IAA5B,CAA9C;AACH;;;mCACc9E,O,EAASC,O,EAAS;AAC7B,aAAOD,OAAO,CAACmM,mBAAR,CAA4B,IAA5B,EAAkClM,OAAlC,CAAP;AACH;;;;EAV6B4L,S;;IAY5BO,e;;;;;AACF,2BAAY/U,KAAZ,EAAuD;AAAA;;AAAA,QAApCgL,UAAoC,uEAAvB,IAAuB;AAAA,QAAjByJ,eAAiB;;AAAA;;AACnD,kCAAM,EAAN,EAAUzJ,UAAV,EAAsByJ,eAAtB;AACA,YAAKzU,KAAL,GAAaA,KAAb;AAFmD;AAGtD;;;;iCACY2U,I,EAAM;AACf,aAAOA,IAAI,YAAYI,eAAhB,IAAmC,KAAK/U,KAAL,CAAW2K,YAAX,CAAwBgK,IAAI,CAAC3U,KAA7B,CAA1C;AACH;;;mCACc2I,O,EAASC,O,EAAS;AAC7B,aAAOD,OAAO,CAACqM,eAAR,CAAwB,IAAxB,EAA8BpM,OAA9B,CAAP;AACH;;;;EAVyB4L,S;;IAYxBS,iB;AACF,+BAAyC;AAAA,QAA7BlK,IAA6B,uEAAtB,IAAsB;AAAA,QAAhBxC,SAAgB,uEAAJ,EAAI;;AAAA;;AACrC,SAAKwC,IAAL,GAAYA,IAAZ;AACA,SAAKxC,SAAL,GAAiBA,SAAjB;AACH;;;;gCACWC,Q,EAAU;AAClB,aAAO,KAAKD,SAAL,CAAe1L,OAAf,CAAuB2L,QAAvB,MAAqC,CAAC,CAA7C;AACH;;;;;;IAEC0M,U;;;;;AACF,sBAAY3W,IAAZ,EAAkBwM,IAAlB,EAAwBxC,SAAxB,EAAmC4M,WAAnC,EAAgD;AAAA;;AAAA;;AAC5C,kCAAMpK,IAAN,EAAYxC,SAAZ;AACA,YAAKhK,IAAL,GAAYA,IAAZ;AACA,YAAK4W,WAAL,GAAmBA,WAAnB;AAH4C;AAI/C;;;;iCACYC,C,EAAG;AACZ,aAAO,KAAK7W,IAAL,KAAc6W,CAAC,CAAC7W,IAAvB;AACH;;;;EARoB0W,iB;;IAUnBI,W;;;;;AACF,uBAAY9W,IAAZ,EAAkB6M,MAAlB,EAA0BkK,IAA1B,EAAgCvK,IAAhC,EAAsCxC,SAAtC,EAAiD;AAAA;;AAAA;;AAC7C,kCAAMwC,IAAN,EAAYxC,SAAZ;AACA,YAAKhK,IAAL,GAAYA,IAAZ;AACA,YAAK6M,MAAL,GAAcA,MAAd;AACA,YAAKkK,IAAL,GAAYA,IAAZ;AAJ6C;AAKhD;;;;iCACYC,C,EAAG;AACZ,aAAO,KAAKhX,IAAL,KAAcgX,CAAC,CAAChX,IAAhB,IAAwBqM,gBAAgB,CAAC,KAAK0K,IAAN,EAAYC,CAAC,CAACD,IAAd,CAA/C;AACH;;;;EATqBL,iB;;IAWpBO,W;;;;;AACF,uBAAYjX,IAAZ,EAAkB+W,IAAlB,EAAwBvK,IAAxB,EAA8BxC,SAA9B,EAAyC;AAAA;;AAAA;;AACrC,kCAAMwC,IAAN,EAAYxC,SAAZ;AACA,YAAKhK,IAAL,GAAYA,IAAZ;AACA,YAAK+W,IAAL,GAAYA,IAAZ;AAHqC;AAIxC;;;;iCACYC,C,EAAG;AACZ,aAAO,KAAKhX,IAAL,KAAcgX,CAAC,CAAChX,IAAhB,IAAwBqM,gBAAgB,CAAC,KAAK0K,IAAN,EAAYC,CAAC,CAACD,IAAd,CAA/C;AACH;;;;EARqBL,iB;;IAUpBQ,S;;;;;AACF,qBAAYlX,IAAZ,EAAkBmX,MAAlB,EAA0BC,MAA1B,EAAkCC,OAAlC,EAA2CC,iBAA3C,EAA8DC,OAA9D,EAAuEvN,SAAvE,EAAkFyC,UAAlF,EAA8FyJ,eAA9F,EAA+G;AAAA;;AAAA;;AAC3G,kCAAMlM,SAAN,EAAiByC,UAAjB,EAA6ByJ,eAA7B;AACA,YAAKlW,IAAL,GAAYA,IAAZ;AACA,YAAKmX,MAAL,GAAcA,MAAd;AACA,YAAKC,MAAL,GAAcA,MAAd;AACA,YAAKC,OAAL,GAAeA,OAAf;AACA,YAAKC,iBAAL,GAAyBA,iBAAzB;AACA,YAAKC,OAAL,GAAeA,OAAf;AAP2G;AAQ9G;;;;iCACYnB,I,EAAM;AACf,aAAOA,IAAI,YAAYc,SAAhB,IAA6B,KAAKlX,IAAL,KAAcoW,IAAI,CAACpW,IAAhD,IACHiM,oBAAoB,CAAC,KAAKkL,MAAN,EAAcf,IAAI,CAACe,MAAnB,CADjB,IAEH9K,gBAAgB,CAAC,KAAK+K,MAAN,EAAchB,IAAI,CAACgB,MAAnB,CAFb,IAGH/K,gBAAgB,CAAC,KAAKgL,OAAN,EAAejB,IAAI,CAACiB,OAApB,CAHb,IAIH,KAAKC,iBAAL,CAAuBlL,YAAvB,CAAoCgK,IAAI,CAACkB,iBAAzC,CAJG,IAKHjL,gBAAgB,CAAC,KAAKkL,OAAN,EAAenB,IAAI,CAACmB,OAApB,CALpB;AAMH;;;mCACcnN,O,EAASC,O,EAAS;AAC7B,aAAOD,OAAO,CAACoN,qBAAR,CAA8B,IAA9B,EAAoCnN,OAApC,CAAP;AACH;;;;EApBmB4L,S;;IAsBlBwB,M;;;;;AACF,kBAAYvE,SAAZ,EAAuBjG,QAAvB,EAA8E;AAAA;;AAAA,QAA7CC,SAA6C,uEAAjC,EAAiC;AAAA,QAA7BT,UAA6B;AAAA,QAAjByJ,eAAiB;;AAAA;;AAC1E,kCAAM,EAAN,EAAUzJ,UAAV,EAAsByJ,eAAtB;AACA,YAAKhD,SAAL,GAAiBA,SAAjB;AACA,YAAKjG,QAAL,GAAgBA,QAAhB;AACA,YAAKC,SAAL,GAAiBA,SAAjB;AAJ0E;AAK7E;;;;iCACYkJ,I,EAAM;AACf,aAAOA,IAAI,YAAYqB,MAAhB,IAA0B,KAAKvE,SAAL,CAAe9G,YAAf,CAA4BgK,IAAI,CAAClD,SAAjC,CAA1B,IACH7G,gBAAgB,CAAC,KAAKY,QAAN,EAAgBmJ,IAAI,CAACnJ,QAArB,CADb,IAEHZ,gBAAgB,CAAC,KAAKa,SAAN,EAAiBkJ,IAAI,CAAClJ,SAAtB,CAFpB;AAGH;;;mCACc9C,O,EAASC,O,EAAS;AAC7B,aAAOD,OAAO,CAACsN,WAAR,CAAoB,IAApB,EAA0BrN,OAA1B,CAAP;AACH;;;;EAdgB4L,S;;IAgBf0B,Y;;;;;AACF,wBAAYC,SAAZ,EAAuBC,UAAvB,EAAuE;AAAA;;AAAA,QAApCpL,UAAoC,uEAAvB,IAAuB;AAAA,QAAjByJ,eAAiB;;AAAA;;AACnE,kCAAM,EAAN,EAAUzJ,UAAV,EAAsByJ,eAAtB;AACA,YAAK0B,SAAL,GAAiBA,SAAjB;AACA,YAAKC,UAAL,GAAkBA,UAAlB;AAHmE;AAItE;;;;iCACYzB,I,EAAM;AACf,aAAOA,IAAI,YAAYuB,YAAhB,IAAgCtL,gBAAgB,CAAC,KAAKuL,SAAN,EAAiBxB,IAAI,CAACwB,SAAtB,CAAhD,IACHvL,gBAAgB,CAAC,KAAKwL,UAAN,EAAkBzB,IAAI,CAACyB,UAAvB,CADpB;AAEH;;;mCACczN,O,EAASC,O,EAAS;AAC7B,aAAOD,OAAO,CAAC0N,iBAAR,CAA0B,IAA1B,EAAgCzN,OAAhC,CAAP;AACH;;;;EAZsB4L,S;;IAcrB8B,S;;;;;AACF,qBAAYC,KAAZ,EAAuD;AAAA;;AAAA,QAApCvL,UAAoC,uEAAvB,IAAuB;AAAA,QAAjByJ,eAAiB;;AAAA;;AACnD,kCAAM,EAAN,EAAUzJ,UAAV,EAAsByJ,eAAtB;AACA,YAAK8B,KAAL,GAAaA,KAAb;AAFmD;AAGtD;;;;iCACY5B,I,EAAM;AACf,aAAOA,IAAI,YAAYuB,YAAhB,IAAgC,KAAKK,KAAL,CAAW5L,YAAX,CAAwBgK,IAAI,CAAC4B,KAA7B,CAAvC;AACH;;;mCACc5N,O,EAASC,O,EAAS;AAC7B,aAAOD,OAAO,CAAC6N,cAAR,CAAuB,IAAvB,EAA6B5N,OAA7B,CAAP;AACH;;;;EAVmB4L,S;;IAYlBiC,c;;;;;;;kCACYhJ,I,EAAM7E,O,EAAS;AACzB,aAAO6E,IAAP;AACH;;;kCACakH,I,EAAM/L,O,EAAS;AACzB,aAAO+L,IAAP;AACH;;;qCACgB+B,G,EAAK9N,O,EAAS;AAC3B,aAAO,KAAK+N,aAAL,CAAmBD,GAAnB,EAAwB9N,OAAxB,CAAP;AACH;;;yCACoB8N,G,EAAK9N,O,EAAS;AAC/B,aAAO,KAAK+N,aAAL,CAAmBD,GAAnB,EAAwB9N,OAAxB,CAAP;AACH;;;oCACe6E,I,EAAM7E,O,EAAS;AAC3B,aAAO,KAAK+N,aAAL,CAAmB,IAAInJ,UAAJ,CAAeC,IAAI,CAACA,IAAL,CAAUmJ,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC,CAAf,EAAyD6E,IAAI,CAAC1C,IAA9D,EAAoE0C,IAAI,CAACzC,UAAzE,CAAnB,EAAyGpC,OAAzG,CAAP;AACH;;;sCACiB6E,I,EAAM7E,O,EAAS;AAC7B,aAAO,KAAK+N,aAAL,CAAmB,IAAIpJ,YAAJ,CAAiBE,IAAI,CAAClP,IAAtB,EAA4BkP,IAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAA5B,EAAuE6E,IAAI,CAAC1C,IAA5E,EAAkF0C,IAAI,CAACzC,UAAvF,CAAnB,EAAuHpC,OAAvH,CAAP;AACH;;;sCACiB6E,I,EAAM7E,O,EAAS;AAC7B,aAAO,KAAK+N,aAAL,CAAmB,IAAIvI,YAAJ,CAAiBX,IAAI,CAACY,QAAL,CAAcuI,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAAjB,EAA+D6E,IAAI,CAACvC,KAAL,CAAW0L,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAA/D,EAA0G6E,IAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAA1G,EAAqJ6E,IAAI,CAAC1C,IAA1J,EAAgK0C,IAAI,CAACzC,UAArK,CAAnB,EAAqMpC,OAArM,CAAP;AACH;;;uCACkB6E,I,EAAM7E,O,EAAS;AAC9B,aAAO,KAAK+N,aAAL,CAAmB,IAAIpI,aAAJ,CAAkBd,IAAI,CAACY,QAAL,CAAcuI,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAAlB,EAAgE6E,IAAI,CAAClP,IAArE,EAA2EkP,IAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAA3E,EAAsH6E,IAAI,CAAC1C,IAA3H,EAAiI0C,IAAI,CAACzC,UAAtI,CAAnB,EAAsKpC,OAAtK,CAAP;AACH;;;0CACqB8N,G,EAAK9N,O,EAAS;AAChC,UAAM8F,MAAM,GAAGgI,GAAG,CAACtJ,OAAJ,IAAesJ,GAAG,CAACnY,IAAlC;AACA,aAAO,KAAKoY,aAAL,CAAmB,IAAItL,gBAAJ,CAAqBqL,GAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC,CAArB,EAAkE8F,MAAlE,EAA0E,KAAKmI,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmCuC,OAAnC,CAA1E,EAAuH8N,GAAG,CAAC3L,IAA3H,EAAiI2L,GAAG,CAAC1L,UAArI,CAAnB,EAAqKpC,OAArK,CAAP;AACH;;;4CACuB8N,G,EAAK9N,O,EAAS;AAClC,aAAO,KAAK+N,aAAL,CAAmB,IAAIrL,kBAAJ,CAAuBoL,GAAG,CAAC9H,EAAJ,CAAOgI,eAAP,CAAuB,IAAvB,EAA6BhO,OAA7B,CAAvB,EAA8D,KAAKiO,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmCuC,OAAnC,CAA9D,EAA2G8N,GAAG,CAAC3L,IAA/G,EAAqH2L,GAAG,CAAC1L,UAAzH,CAAnB,EAAyJpC,OAAzJ,CAAP;AACH;;;yCACoB8N,G,EAAK9N,O,EAAS;AAC/B,aAAO,KAAK+N,aAAL,CAAmB,IAAIpL,eAAJ,CAAoBmL,GAAG,CAAC5H,SAAJ,CAAc8H,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAApB,EAAkE,KAAKiO,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmCuC,OAAnC,CAAlE,EAA+G8N,GAAG,CAAC3L,IAAnH,EAAyH2L,GAAG,CAAC1L,UAA7H,CAAnB,EAA6JpC,OAA7J,CAAP;AACH;;;qCACgB8N,G,EAAK9N,O,EAAS;AAC3B,aAAO,KAAK+N,aAAL,CAAmBD,GAAnB,EAAwB9N,OAAxB,CAAP;AACH;;;yCACoB8N,G,EAAK9N,O,EAAS;AAC/B,aAAO,KAAK+N,aAAL,CAAmB,IAAIrH,eAAJ,CAAoBoH,GAAG,CAACnH,SAAxB,EAAmCmH,GAAG,CAAClH,YAAvC,EAAqDkH,GAAG,CAACjH,gBAAzD,EAA2E,KAAKoH,mBAAL,CAAyBH,GAAG,CAAChH,WAA7B,EAA0C9G,OAA1C,CAA3E,EAA+H8N,GAAG,CAAC1L,UAAnI,CAAnB,EAAmKpC,OAAnK,CAAP;AACH;;;sCACiB8N,G,EAAK9N,O,EAAS;AAC5B,aAAO,KAAK+N,aAAL,CAAmBD,GAAnB,EAAwB9N,OAAxB,CAAP;AACH;;;yCACoB8N,G,EAAK9N,O,EAAS;AAC/B,aAAO,KAAK+N,aAAL,CAAmB,IAAIjL,eAAJ,CAAoBgL,GAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAApB,EAAkE8N,GAAG,CAAClL,QAAJ,CAAaoL,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC,CAAlE,EAA+G8N,GAAG,CAACjL,SAAJ,CAAcmL,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAA/G,EAA6J8N,GAAG,CAAC3L,IAAjK,EAAuK2L,GAAG,CAAC1L,UAA3K,CAAnB,EAA2MpC,OAA3M,CAAP;AACH;;;iCACY8N,G,EAAK9N,O,EAAS;AACvB,aAAO,KAAK+N,aAAL,CAAmB,IAAIhF,OAAJ,CAAY+E,GAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAAZ,EAA0D8N,GAAG,CAAC1L,UAA9D,CAAnB,EAA8FpC,OAA9F,CAAP;AACH;;;2CACsB8N,G,EAAK9N,O,EAAS;AACjC,aAAO,KAAK+N,aAAL,CAAmB,IAAI9E,aAAJ,CAAkB6E,GAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAAlB,EAAgE8N,GAAG,CAAC1L,UAApE,CAAnB,EAAoGpC,OAApG,CAAP;AACH;;;kCACa8N,G,EAAK9N,O,EAAS;AACxB,aAAO,KAAK+N,aAAL,CAAmB,IAAI3J,QAAJ,CAAa0J,GAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC,CAAb,EAAuD8N,GAAG,CAAC3L,IAA3D,EAAiE2L,GAAG,CAAC1L,UAArE,CAAnB,EAAqGpC,OAArG,CAAP;AACH;;;sCACiB8N,G,EAAK9N,O,EAAS;AAC5B,aAAO,KAAK+N,aAAL,CAAmB,IAAIzE,YAAJ,CAAiBwE,GAAG,CAACtL,MAArB,EAA6B,KAAK0L,kBAAL,CAAwBJ,GAAG,CAACvE,UAA5B,EAAwCvJ,OAAxC,CAA7B,EAA+E8N,GAAG,CAAC3L,IAAnF,EAAyF2L,GAAG,CAAC1L,UAA7F,CAAnB,EAA6HpC,OAA7H,CAAP;AACH;;;2CACsB8N,G,EAAK9N,O,EAAS;AACjC,aAAO,KAAK+N,aAAL,CAAmB,IAAIrE,iBAAJ,CAAsBoE,GAAG,CAACnE,QAA1B,EAAoCmE,GAAG,CAACjJ,IAAJ,CAASmJ,eAAT,CAAyB,IAAzB,EAA+BhO,OAA/B,CAApC,EAA6E8N,GAAG,CAAC3L,IAAjF,EAAuF2L,GAAG,CAAC1L,UAA3F,CAAnB,EAA2HpC,OAA3H,CAAP;AACH;;;4CACuB8N,G,EAAK9N,O,EAAS;AAClC,aAAO,KAAK+N,aAAL,CAAmB,IAAI/K,kBAAJ,CAAuB8K,GAAG,CAACnE,QAA3B,EAAqCmE,GAAG,CAACjE,GAAJ,CAAQmE,eAAR,CAAwB,IAAxB,EAA8BhO,OAA9B,CAArC,EAA6E8N,GAAG,CAAC/K,GAAJ,CAAQiL,eAAR,CAAwB,IAAxB,EAA8BhO,OAA9B,CAA7E,EAAqH8N,GAAG,CAAC3L,IAAzH,EAA+H2L,GAAG,CAAC1L,UAAnI,CAAnB,EAAmKpC,OAAnK,CAAP;AACH;;;sCACiB8N,G,EAAK9N,O,EAAS;AAC5B,aAAO,KAAK+N,aAAL,CAAmB,IAAI1L,YAAJ,CAAiByL,GAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC,CAAjB,EAA8D8N,GAAG,CAACnY,IAAlE,EAAwEmY,GAAG,CAAC3L,IAA5E,EAAkF2L,GAAG,CAAC1L,UAAtF,CAAnB,EAAsHpC,OAAtH,CAAP;AACH;;;qCACgB8N,G,EAAK9N,O,EAAS;AAC3B,aAAO,KAAK+N,aAAL,CAAmB,IAAIxL,WAAJ,CAAgBuL,GAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC,CAAhB,EAA6D8N,GAAG,CAACxL,KAAJ,CAAU0L,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC,CAA7D,EAAuG8N,GAAG,CAAC3L,IAA3G,EAAiH2L,GAAG,CAAC1L,UAArH,CAAnB,EAAqJpC,OAArJ,CAAP;AACH;;;0CACqB8N,G,EAAK9N,O,EAAS;AAChC,aAAO,KAAK+N,aAAL,CAAmB,IAAI9D,gBAAJ,CAAqB,KAAKgE,mBAAL,CAAyBH,GAAG,CAAC5D,OAA7B,EAAsClK,OAAtC,CAArB,EAAqE8N,GAAG,CAAC3L,IAAzE,EAA+E2L,GAAG,CAAC1L,UAAnF,CAAnB,EAAmHpC,OAAnH,CAAP;AACH;;;wCACmB8N,G,EAAK9N,O,EAAS;AAAA;;AAC9B,UAAMkK,OAAO,GAAG4D,GAAG,CAAC5D,OAAJ,CAAY/P,GAAZ,CAAgB,UAACgU,KAAD;AAAA,eAAW,IAAI9D,eAAJ,CAAoB8D,KAAK,CAAC7D,GAA1B,EAA+B6D,KAAK,CAAC/W,KAAN,CAAY4W,eAAZ,CAA4B,OAA5B,EAAkChO,OAAlC,CAA/B,EAA2EmO,KAAK,CAAC5D,MAAjF,CAAX;AAAA,OAAhB,CAAhB;AACA,UAAM6D,OAAO,GAAG,IAAI5N,OAAJ,CAAYsN,GAAG,CAACrN,SAAhB,CAAhB;AACA,aAAO,KAAKsN,aAAL,CAAmB,IAAIvD,cAAJ,CAAmBN,OAAnB,EAA4BkE,OAA5B,EAAqCN,GAAG,CAAC1L,UAAzC,CAAnB,EAAyEpC,OAAzE,CAAP;AACH;;;mCACc8N,G,EAAK9N,O,EAAS;AACzB,aAAO,KAAK+N,aAAL,CAAmB,IAAIrD,SAAJ,CAAc,KAAKuD,mBAAL,CAAyBH,GAAG,CAACnD,KAA7B,EAAoC3K,OAApC,CAAd,EAA4D8N,GAAG,CAAC1L,UAAhE,CAAnB,EAAgGpC,OAAhG,CAAP;AACH;;;wCACmBqO,K,EAAOrO,O,EAAS;AAAA;;AAChC,aAAOqO,KAAK,CAAClU,GAAN,CAAU,UAAA0K,IAAI;AAAA,eAAIA,IAAI,CAACmJ,eAAL,CAAqB,OAArB,EAA2BhO,OAA3B,CAAJ;AAAA,OAAd,CAAP;AACH;;;wCACmB+L,I,EAAM/L,O,EAAS;AAC/B,UAAM5I,KAAK,GAAG2U,IAAI,CAAC3U,KAAL,IAAc2U,IAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAA5B;AACA,aAAO,KAAKsO,aAAL,CAAmB,IAAIlJ,cAAJ,CAAmB2G,IAAI,CAACpW,IAAxB,EAA8ByB,KAA9B,EAAqC2U,IAAI,CAAC5J,IAA1C,EAAgD4J,IAAI,CAACpM,SAArD,EAAgEoM,IAAI,CAAC3J,UAArE,EAAiF2J,IAAI,CAACF,eAAtF,CAAnB,EAA2H7L,OAA3H,CAAP;AACH;;;6CACwB+L,I,EAAM/L,O,EAAS;AACpC,aAAO,KAAKsO,aAAL,CAAmB,IAAI7E,mBAAJ,CAAwBsC,IAAI,CAACpW,IAA7B,EAAmCoW,IAAI,CAACvJ,MAAxC,EAAgD,KAAK0L,kBAAL,CAAwBnC,IAAI,CAACxC,UAA7B,EAAyCvJ,OAAzC,CAAhD,EAAmG+L,IAAI,CAAC5J,IAAxG,EAA8G4J,IAAI,CAACpM,SAAnH,EAA8HoM,IAAI,CAAC3J,UAAnI,EAA+I2J,IAAI,CAACF,eAApJ,CAAnB,EAAyL7L,OAAzL,CAAP;AACH;;;wCACmB+L,I,EAAM/L,O,EAAS;AAC/B,aAAO,KAAKsO,aAAL,CAAmB,IAAIjK,mBAAJ,CAAwB0H,IAAI,CAAClH,IAAL,CAAUmJ,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC,CAAxB,EAAkE+L,IAAI,CAAC3J,UAAvE,EAAmF2J,IAAI,CAACF,eAAxF,CAAnB,EAA6H7L,OAA7H,CAAP;AACH;;;oCACe+L,I,EAAM/L,O,EAAS;AAC3B,aAAO,KAAKsO,aAAL,CAAmB,IAAInC,eAAJ,CAAoBJ,IAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAApB,EAA+D+L,IAAI,CAAC3J,UAApE,EAAgF2J,IAAI,CAACF,eAArF,CAAnB,EAA0H7L,OAA1H,CAAP;AACH;;;0CACqB+L,I,EAAM/L,O,EAAS;AAAA;;AACjC,UAAM8M,MAAM,GAAGf,IAAI,CAACe,MAAL,CAAYkB,eAAZ,CAA4B,IAA5B,EAAkChO,OAAlC,CAAf;AACA,UAAMgN,OAAO,GAAGjB,IAAI,CAACiB,OAAL,CAAa7S,GAAb,CAAiB,UAAAoU,MAAM;AAAA,eAAI,IAAI3B,WAAJ,CAAgB2B,MAAM,CAAC5Y,IAAvB,EAA6B,OAAI,CAACuY,kBAAL,CAAwBK,MAAM,CAAC7B,IAA/B,EAAqC1M,OAArC,CAA7B,EAA4EuO,MAAM,CAACpM,IAAnF,EAAyFoM,MAAM,CAAC5O,SAAhG,CAAJ;AAAA,OAAvB,CAAhB;AACA,UAAM6O,UAAU,GAAGzC,IAAI,CAACkB,iBAAL,IACf,IAAIR,WAAJ,CAAgBV,IAAI,CAACkB,iBAAL,CAAuBtX,IAAvC,EAA6CoW,IAAI,CAACkB,iBAAL,CAAuBzK,MAApE,EAA4E,KAAK0L,kBAAL,CAAwBnC,IAAI,CAACkB,iBAAL,CAAuBP,IAA/C,EAAqD1M,OAArD,CAA5E,EAA2I+L,IAAI,CAACkB,iBAAL,CAAuB9K,IAAlK,EAAwK4J,IAAI,CAACkB,iBAAL,CAAuBtN,SAA/L,CADJ;AAEA,UAAMuN,OAAO,GAAGnB,IAAI,CAACmB,OAAL,CAAa/S,GAAb,CAAiB,UAAA2L,MAAM;AAAA,eAAI,IAAI2G,WAAJ,CAAgB3G,MAAM,CAACnQ,IAAvB,EAA6BmQ,MAAM,CAACtD,MAApC,EAA4C,OAAI,CAAC0L,kBAAL,CAAwBpI,MAAM,CAAC4G,IAA/B,EAAqC1M,OAArC,CAA5C,EAA2F8F,MAAM,CAAC3D,IAAlG,EAAwG2D,MAAM,CAACnG,SAA/G,CAAJ;AAAA,OAAvB,CAAhB;AACA,aAAO,KAAK2O,aAAL,CAAmB,IAAIzB,SAAJ,CAAcd,IAAI,CAACpW,IAAnB,EAAyBmX,MAAzB,EAAiCf,IAAI,CAACgB,MAAtC,EAA8CC,OAA9C,EAAuDwB,UAAvD,EAAmEtB,OAAnE,EAA4EnB,IAAI,CAACpM,SAAjF,EAA4FoM,IAAI,CAAC3J,UAAjG,CAAnB,EAAiIpC,OAAjI,CAAP;AACH;;;gCACW+L,I,EAAM/L,O,EAAS;AACvB,aAAO,KAAKsO,aAAL,CAAmB,IAAIlB,MAAJ,CAAWrB,IAAI,CAAClD,SAAL,CAAemF,eAAf,CAA+B,IAA/B,EAAqChO,OAArC,CAAX,EAA0D,KAAKkO,kBAAL,CAAwBnC,IAAI,CAACnJ,QAA7B,EAAuC5C,OAAvC,CAA1D,EAA2G,KAAKkO,kBAAL,CAAwBnC,IAAI,CAAClJ,SAA7B,EAAwC7C,OAAxC,CAA3G,EAA6J+L,IAAI,CAAC3J,UAAlK,EAA8K2J,IAAI,CAACF,eAAnL,CAAnB,EAAwN7L,OAAxN,CAAP;AACH;;;sCACiB+L,I,EAAM/L,O,EAAS;AAC7B,aAAO,KAAKsO,aAAL,CAAmB,IAAIhB,YAAJ,CAAiB,KAAKY,kBAAL,CAAwBnC,IAAI,CAACwB,SAA7B,EAAwCvN,OAAxC,CAAjB,EAAmE,KAAKkO,kBAAL,CAAwBnC,IAAI,CAACyB,UAA7B,EAAyCxN,OAAzC,CAAnE,EAAsH+L,IAAI,CAAC3J,UAA3H,EAAuI2J,IAAI,CAACF,eAA5I,CAAnB,EAAiL7L,OAAjL,CAAP;AACH;;;mCACc+L,I,EAAM/L,O,EAAS;AAC1B,aAAO,KAAKsO,aAAL,CAAmB,IAAIZ,SAAJ,CAAc3B,IAAI,CAAC4B,KAAL,CAAWK,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAAd,EAAyD+L,IAAI,CAAC3J,UAA9D,EAA0E2J,IAAI,CAACF,eAA/E,CAAnB,EAAoH7L,OAApH,CAAP;AACH;;;uCACkByO,K,EAAOzO,O,EAAS;AAAA;;AAC/B,aAAOyO,KAAK,CAACtU,GAAN,CAAU,UAAA4R,IAAI;AAAA,eAAIA,IAAI,CAAC2C,cAAL,CAAoB,OAApB,EAA0B1O,OAA1B,CAAJ;AAAA,OAAd,CAAP;AACH;;;;;;IAEC2O,mB;;;;;;;8BACQb,G,EAAK9N,O,EAAS;AACpB,aAAO8N,GAAP;AACH;;;oCACeA,G,EAAK9N,O,EAAS;AAC1B,UAAI8N,GAAG,CAAC3L,IAAR,EAAc;AACV2L,WAAG,CAAC3L,IAAJ,CAASyM,SAAT,CAAmB,IAAnB,EAAyB5O,OAAzB;AACH;;AACD,aAAO8N,GAAP;AACH;;;qCACgB3L,I,EAAMnC,O,EAAS;AAC5B,aAAO,KAAK4O,SAAL,CAAezM,IAAf,EAAqBnC,OAArB,CAAP;AACH;;;wCACmBmC,I,EAAMnC,O,EAAS;AAAA;;AAC/BmC,UAAI,CAAC/K,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC;;AACA,UAAImC,IAAI,CAAChC,UAAL,KAAoB,IAAxB,EAA8B;AAC1BgC,YAAI,CAAChC,UAAL,CAAgBzK,OAAhB,CAAwB,UAAA2T,KAAK;AAAA,iBAAI,OAAI,CAACuF,SAAL,CAAevF,KAAf,EAAsBrJ,OAAtB,CAAJ;AAAA,SAA7B;AACH;;AACD,aAAO,KAAK4O,SAAL,CAAezM,IAAf,EAAqBnC,OAArB,CAAP;AACH;;;mCACcmC,I,EAAMnC,O,EAAS;AAC1B,aAAO,KAAK4O,SAAL,CAAezM,IAAf,EAAqBnC,OAArB,CAAP;AACH;;;iCACYmC,I,EAAMnC,O,EAAS;AACxB,aAAO,KAAK4O,SAAL,CAAezM,IAAf,EAAqBnC,OAArB,CAAP;AACH;;;yCACoB8N,G,EAAK9N,O,EAAS;AAC/B,aAAO8N,GAAP;AACH;;;oCACeA,G,EAAK9N,O,EAAS;AAC1B,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;qCACgB8N,G,EAAK9N,O,EAAS;AAC3B,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;sCACiB8N,G,EAAK9N,O,EAAS;AAC5B8N,SAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;sCACiB8N,G,EAAK9N,O,EAAS;AAC5B8N,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC;AACA8N,SAAG,CAACxL,KAAJ,CAAU0L,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA8N,SAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;uCACkB8N,G,EAAK9N,O,EAAS;AAC7B8N,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC;AACA8N,SAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;0CACqB8N,G,EAAK9N,O,EAAS;AAChC8N,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC;AACA,WAAKiO,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmCuC,OAAnC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;4CACuB8N,G,EAAK9N,O,EAAS;AAClC8N,SAAG,CAAC9H,EAAJ,CAAOgI,eAAP,CAAuB,IAAvB,EAA6BhO,OAA7B;AACA,WAAKiO,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmCuC,OAAnC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;yCACoB8N,G,EAAK9N,O,EAAS;AAC/B8N,SAAG,CAAC5H,SAAJ,CAAc8H,eAAd,CAA8B,IAA9B,EAAoChO,OAApC;AACA,WAAKiO,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmCuC,OAAnC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;qCACgB8N,G,EAAK9N,O,EAAS;AAC3B,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;yCACoB8N,G,EAAK9N,O,EAAS;AAC/B,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;sCACiB8N,G,EAAK9N,O,EAAS;AAAA;;AAC5B,UAAI8N,GAAG,CAAC3N,UAAR,EAAoB;AAChB2N,WAAG,CAAC3N,UAAJ,CAAezK,OAAf,CAAuB,UAAAyM,IAAI;AAAA,iBAAIA,IAAI,CAACyM,SAAL,CAAe,OAAf,EAAqB5O,OAArB,CAAJ;AAAA,SAA3B;AACH;;AACD,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;yCACoB8N,G,EAAK9N,O,EAAS;AAC/B8N,SAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoChO,OAApC;AACA8N,SAAG,CAAClL,QAAJ,CAAaoL,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC;AACA8N,SAAG,CAACjL,SAAJ,CAAcmL,eAAd,CAA8B,IAA9B,EAAoChO,OAApC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;iCACY8N,G,EAAK9N,O,EAAS;AACvB8N,SAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoChO,OAApC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;2CACsB8N,G,EAAK9N,O,EAAS;AACjC8N,SAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoChO,OAApC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;kCACa8N,G,EAAK9N,O,EAAS;AACxB8N,SAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;sCACiB8N,G,EAAK9N,O,EAAS;AAC5B,WAAKkO,kBAAL,CAAwBJ,GAAG,CAACvE,UAA5B,EAAwCvJ,OAAxC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;2CACsB8N,G,EAAK9N,O,EAAS;AACjC8N,SAAG,CAACjJ,IAAJ,CAASmJ,eAAT,CAAyB,IAAzB,EAA+BhO,OAA/B;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;4CACuB8N,G,EAAK9N,O,EAAS;AAClC8N,SAAG,CAACjE,GAAJ,CAAQmE,eAAR,CAAwB,IAAxB,EAA8BhO,OAA9B;AACA8N,SAAG,CAAC/K,GAAJ,CAAQiL,eAAR,CAAwB,IAAxB,EAA8BhO,OAA9B;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;sCACiB8N,G,EAAK9N,O,EAAS;AAC5B8N,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;qCACgB8N,G,EAAK9N,O,EAAS;AAC3B8N,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC;AACA8N,SAAG,CAACxL,KAAJ,CAAU0L,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;0CACqB8N,G,EAAK9N,O,EAAS;AAChC,WAAKiO,mBAAL,CAAyBH,GAAG,CAAC5D,OAA7B,EAAsClK,OAAtC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;wCACmB8N,G,EAAK9N,O,EAAS;AAAA;;AAC9B8N,SAAG,CAAC5D,OAAJ,CAAYxU,OAAZ,CAAoB,UAACyY,KAAD;AAAA,eAAWA,KAAK,CAAC/W,KAAN,CAAY4W,eAAZ,CAA4B,OAA5B,EAAkChO,OAAlC,CAAX;AAAA,OAApB;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;mCACc8N,G,EAAK9N,O,EAAS;AACzB,WAAKiO,mBAAL,CAAyBH,GAAG,CAACnD,KAA7B,EAAoC3K,OAApC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;wCACmBqO,K,EAAOrO,O,EAAS;AAAA;;AAChCqO,WAAK,CAAC3Y,OAAN,CAAc,UAAAmP,IAAI;AAAA,eAAIA,IAAI,CAACmJ,eAAL,CAAqB,OAArB,EAA2BhO,OAA3B,CAAJ;AAAA,OAAlB;AACH;;;wCACmB+L,I,EAAM/L,O,EAAS;AAC/B,UAAI+L,IAAI,CAAC3U,KAAT,EAAgB;AACZ2U,YAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC;AACH;;AACD,UAAI+L,IAAI,CAAC5J,IAAT,EAAe;AACX4J,YAAI,CAAC5J,IAAL,CAAUyM,SAAV,CAAoB,IAApB,EAA0B5O,OAA1B;AACH;;AACD,aAAO+L,IAAP;AACH;;;6CACwBA,I,EAAM/L,O,EAAS;AACpC,WAAKkO,kBAAL,CAAwBnC,IAAI,CAACxC,UAA7B,EAAyCvJ,OAAzC;;AACA,UAAI+L,IAAI,CAAC5J,IAAT,EAAe;AACX4J,YAAI,CAAC5J,IAAL,CAAUyM,SAAV,CAAoB,IAApB,EAA0B5O,OAA1B;AACH;;AACD,aAAO+L,IAAP;AACH;;;wCACmBA,I,EAAM/L,O,EAAS;AAC/B+L,UAAI,CAAClH,IAAL,CAAUmJ,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA,aAAO+L,IAAP;AACH;;;oCACeA,I,EAAM/L,O,EAAS;AAC3B+L,UAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC;AACA,aAAO+L,IAAP;AACH;;;0CACqBA,I,EAAM/L,O,EAAS;AAAA;;AACjC+L,UAAI,CAACe,MAAL,CAAYkB,eAAZ,CAA4B,IAA5B,EAAkChO,OAAlC;AACA+L,UAAI,CAACiB,OAAL,CAAatX,OAAb,CAAqB,UAAA6Y,MAAM;AAAA,eAAI,OAAI,CAACL,kBAAL,CAAwBK,MAAM,CAAC7B,IAA/B,EAAqC1M,OAArC,CAAJ;AAAA,OAA3B;;AACA,UAAI+L,IAAI,CAACkB,iBAAT,EAA4B;AACxB,aAAKiB,kBAAL,CAAwBnC,IAAI,CAACkB,iBAAL,CAAuBP,IAA/C,EAAqD1M,OAArD;AACH;;AACD+L,UAAI,CAACmB,OAAL,CAAaxX,OAAb,CAAqB,UAAAoQ,MAAM;AAAA,eAAI,OAAI,CAACoI,kBAAL,CAAwBpI,MAAM,CAAC4G,IAA/B,EAAqC1M,OAArC,CAAJ;AAAA,OAA3B;AACA,aAAO+L,IAAP;AACH;;;gCACWA,I,EAAM/L,O,EAAS;AACvB+L,UAAI,CAAClD,SAAL,CAAemF,eAAf,CAA+B,IAA/B,EAAqChO,OAArC;AACA,WAAKkO,kBAAL,CAAwBnC,IAAI,CAACnJ,QAA7B,EAAuC5C,OAAvC;AACA,WAAKkO,kBAAL,CAAwBnC,IAAI,CAAClJ,SAA7B,EAAwC7C,OAAxC;AACA,aAAO+L,IAAP;AACH;;;sCACiBA,I,EAAM/L,O,EAAS;AAC7B,WAAKkO,kBAAL,CAAwBnC,IAAI,CAACwB,SAA7B,EAAwCvN,OAAxC;AACA,WAAKkO,kBAAL,CAAwBnC,IAAI,CAACyB,UAA7B,EAAyCxN,OAAzC;AACA,aAAO+L,IAAP;AACH;;;mCACcA,I,EAAM/L,O,EAAS;AAC1B+L,UAAI,CAAC4B,KAAL,CAAWK,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC;AACA,aAAO+L,IAAP;AACH;;;uCACkB0C,K,EAAOzO,O,EAAS;AAAA;;AAC/ByO,WAAK,CAAC/Y,OAAN,CAAc,UAAAqW,IAAI;AAAA,eAAIA,IAAI,CAAC2C,cAAL,CAAoB,OAApB,EAA0B1O,OAA1B,CAAJ;AAAA,OAAlB;AACH;;;;;;AAEL,SAAS6O,gBAAT,CAA0BJ,KAA1B,EAAiC;AAC7B,MAAM1O,OAAO,GAAG,IAAI+O,eAAJ,EAAhB;AACA/O,SAAO,CAACmO,kBAAR,CAA2BO,KAA3B,EAAkC,IAAlC;AACA,SAAO1O,OAAO,CAACgP,QAAf;AACH;;IACKD,e;;;;;AACF,6BAAc;AAAA;;AAAA;;AACV,mCAASE,SAAT;AACA,YAAKD,QAAL,GAAgB,IAAIE,GAAJ,EAAhB;AAFU;AAGb;;;;6CACwBlD,I,EAAM/L,O,EAAS;AACpC;AACA,aAAO+L,IAAP;AACH;;;0CACqBA,I,EAAM/L,O,EAAS;AACjC;AACA,aAAO+L,IAAP;AACH;;;qCACgB+B,G,EAAK9N,O,EAAS;AAC3B,UAAI8N,GAAG,CAACnY,IAAR,EAAc;AACV,aAAKoZ,QAAL,CAAcG,GAAd,CAAkBpB,GAAG,CAACnY,IAAtB;AACH;;AACD,aAAO,IAAP;AACH;;;;EAlByBgZ,mB;;AAoB9B,SAASQ,yBAAT,CAAmCV,KAAnC,EAA0C;AACtC,MAAM1O,OAAO,GAAG,IAAIqP,8BAAJ,EAAhB;AACArP,SAAO,CAACmO,kBAAR,CAA2BO,KAA3B,EAAkC,IAAlC;AACA,SAAO1O,OAAO,CAACsP,kBAAf;AACH;;IACKD,8B;;;;;AACF,4CAAc;AAAA;;AAAA;;AACV,mCAASJ,SAAT;AACA,YAAKK,kBAAL,GAA0B,EAA1B;AAFU;AAGb;;;;sCACiB5K,C,EAAGzE,O,EAAS;AAC1B,WAAKqP,kBAAL,CAAwBnY,IAAxB,CAA6BuN,CAAC,CAACrN,KAA/B;AACA,iWAA+BqN,CAA/B,EAAkCzE,OAAlC;AACH;;;;EARwC2O,mB;;AAU7C,SAASW,kCAAT,CAA4CvD,IAA5C,EAAkD3J,UAAlD,EAA8D;AAC1D,MAAI,CAACA,UAAL,EAAiB;AACb,WAAO2J,IAAP;AACH;;AACD,MAAMwD,WAAW,GAAG,IAAIC,2BAAJ,CAAgCpN,UAAhC,CAApB;AACA,SAAO2J,IAAI,CAAC2C,cAAL,CAAoBa,WAApB,EAAiC,IAAjC,CAAP;AACH;;AACD,SAASE,mCAAT,CAA6C5K,IAA7C,EAAmDzC,UAAnD,EAA+D;AAC3D,MAAI,CAACA,UAAL,EAAiB;AACb,WAAOyC,IAAP;AACH;;AACD,MAAM0K,WAAW,GAAG,IAAIC,2BAAJ,CAAgCpN,UAAhC,CAApB;AACA,SAAOyC,IAAI,CAACmJ,eAAL,CAAqBuB,WAArB,EAAkC,IAAlC,CAAP;AACH;;IACKC,2B;;;;;AACF,uCAAYpN,UAAZ,EAAwB;AAAA;;AAAA;;AACpB;AACA,YAAKA,UAAL,GAAkBA,UAAlB;AAFoB;AAGvB;;;;2BACMvD,G,EAAK;AACR,UAAM6Q,KAAK,GAAG3T,MAAM,CAAC4T,MAAP,CAAc9Q,GAAG,CAAC+Q,WAAJ,CAAgBC,SAA9B,CAAd;;AACA,uCAAiB9T,MAAM,CAAC+T,IAAP,CAAYjR,GAAZ,CAAjB,oCAAmC;AAA9B,YAAIkR,IAAI,oBAAR;AACDL,aAAK,CAACK,IAAD,CAAL,GAAclR,GAAG,CAACkR,IAAD,CAAjB;AACH;;AACD,aAAOL,KAAP;AACH;;;kCACa7K,I,EAAM7E,O,EAAS;AACzB,UAAI,CAAC6E,IAAI,CAACzC,UAAV,EAAsB;AAClByC,YAAI,GAAG,KAAKmL,MAAL,CAAYnL,IAAZ,CAAP;AACAA,YAAI,CAACzC,UAAL,GAAkB,KAAKA,UAAvB;AACH;;AACD,aAAOyC,IAAP;AACH;;;kCACakH,I,EAAM/L,O,EAAS;AACzB,UAAI,CAAC+L,IAAI,CAAC3J,UAAV,EAAsB;AAClB2J,YAAI,GAAG,KAAKiE,MAAL,CAAYjE,IAAZ,CAAP;AACAA,YAAI,CAAC3J,UAAL,GAAkB,KAAKA,UAAvB;AACH;;AACD,aAAO2J,IAAP;AACH;;;;EAzBqC8B,c;;AA2B1C,SAAS/B,cAAT,CAAwBvF,IAAxB,EAAyE;AAAA,MAA3CgF,SAA2C,uEAA/B,KAA+B;AAAA,MAAxBC,eAAwB,uEAAN,IAAM;AACrE,SAAO,IAAIF,cAAJ,CAAmB/E,IAAnB,EAAyBgF,SAAzB,EAAoCC,eAApC,CAAP;AACH;;AACD,SAASyE,YAAT,GAAiC;AAAA,MAAXvE,IAAW,uEAAJ,EAAI;AAC7B,SAAO,IAAID,YAAJ,CAAiBC,IAAjB,CAAP;AACH;;AACD,SAASwE,QAAT,CAAkBva,IAAlB,EAAwBwM,IAAxB,EAA8BC,UAA9B,EAA0C;AACtC,SAAO,IAAImC,WAAJ,CAAgB5O,IAAhB,EAAsBwM,IAAtB,EAA4BC,UAA5B,CAAP;AACH;;AACD,SAAS+N,UAAT,CAAoBC,EAApB,EAAuD;AAAA,MAA/BjQ,UAA+B,uEAAlB,IAAkB;AAAA,MAAZiC,UAAY;AACnD,SAAO,IAAIoG,YAAJ,CAAiB4H,EAAjB,EAAqB,IAArB,EAA2BjQ,UAA3B,EAAuCiC,UAAvC,CAAP;AACH;;AACD,SAASiO,UAAT,CAAoBD,EAApB,EAAwBjQ,UAAxB,EAAoCmQ,aAApC,EAAmD;AAC/C,SAAOF,EAAE,IAAI,IAAN,GAAaG,cAAc,CAACJ,UAAU,CAACC,EAAD,EAAKjQ,UAAL,EAAiB,IAAjB,CAAX,EAAmCmQ,aAAnC,CAA3B,GAA+E,IAAtF;AACH;;AACD,SAASC,cAAT,CAAwB1L,IAAxB,EAA8ByL,aAA9B,EAA6CnQ,UAA7C,EAAyD;AACrD,SAAO,IAAID,cAAJ,CAAmB2E,IAAnB,EAAyByL,aAAzB,EAAwCnQ,UAAxC,CAAP;AACH;;AACD,SAASqQ,UAAT,CAAoB3L,IAApB,EAA0B;AACtB,SAAO,IAAID,UAAJ,CAAeC,IAAf,CAAP;AACH;;AACD,SAAS4L,UAAT,CAAoB/R,MAApB,EAA4ByD,IAA5B,EAAkCC,UAAlC,EAA8C;AAC1C,SAAO,IAAI6H,gBAAJ,CAAqBvL,MAArB,EAA6ByD,IAA7B,EAAmCC,UAAnC,CAAP;AACH;;AACD,SAASsO,UAAT,CAAoBhS,MAApB,EAAyC;AAAA,MAAbyD,IAAa,uEAAN,IAAM;AACrC,SAAO,IAAIqI,cAAJ,CAAmB9L,MAAM,CAACvE,GAAP,CAAW,UAAAsK,CAAC;AAAA,WAAI,IAAI4F,eAAJ,CAAoB5F,CAAC,CAAC6F,GAAtB,EAA2B7F,CAAC,CAACrN,KAA7B,EAAoCqN,CAAC,CAAC8F,MAAtC,CAAJ;AAAA,GAAZ,CAAnB,EAAmFpI,IAAnF,EAAyF,IAAzF,CAAP;AACH;;AACD,SAASwO,KAAT,CAAehH,QAAf,EAAyB9E,IAAzB,EAA+B1C,IAA/B,EAAqCC,UAArC,EAAiD;AAC7C,SAAO,IAAIsH,iBAAJ,CAAsBC,QAAtB,EAAgC9E,IAAhC,EAAsC1C,IAAtC,EAA4CC,UAA5C,CAAP;AACH;;AACD,SAASwO,GAAT,CAAa/L,IAAb,EAAmBzC,UAAnB,EAA+B;AAC3B,SAAO,IAAI2G,OAAJ,CAAYlE,IAAZ,EAAkBzC,UAAlB,CAAP;AACH;;AACD,SAASyO,aAAT,CAAuBhM,IAAvB,EAA6BzC,UAA7B,EAAyC;AACrC,SAAO,IAAI6G,aAAJ,CAAkBpE,IAAlB,EAAwBzC,UAAxB,CAAP;AACH;;AACD,SAAS4D,EAAT,CAAYxD,MAAZ,EAAoBkK,IAApB,EAA0BvK,IAA1B,EAAgCC,UAAhC,EAA4CzM,IAA5C,EAAkD;AAC9C,SAAO,IAAI2T,YAAJ,CAAiB9G,MAAjB,EAAyBkK,IAAzB,EAA+BvK,IAA/B,EAAqCC,UAArC,EAAiDzM,IAAjD,CAAP;AACH;;AACD,SAASmb,MAAT,CAAgBjI,SAAhB,EAA2BkI,UAA3B,EAAuCC,UAAvC,EAAmD5O,UAAnD,EAA+DyJ,eAA/D,EAAgF;AAC5E,SAAO,IAAIuB,MAAJ,CAAWvE,SAAX,EAAsBkI,UAAtB,EAAkCC,UAAlC,EAA8C5O,UAA9C,EAA0DyJ,eAA1D,CAAP;AACH;;AACD,SAASoF,OAAT,CAAiB7Z,KAAjB,EAAwB+K,IAAxB,EAA8BC,UAA9B,EAA0C;AACtC,SAAO,IAAIgE,WAAJ,CAAgBhP,KAAhB,EAAuB+K,IAAvB,EAA6BC,UAA7B,CAAP;AACH;;AACD,SAAS8O,eAAT,CAAyBvK,SAAzB,EAAoCC,YAApC,EAAkDuK,gBAAlD,EAAoErK,WAApE,EAAiF1E,UAAjF,EAA6F;AACzF,SAAO,IAAIsE,eAAJ,CAAoBC,SAApB,EAA+BC,YAA/B,EAA6CuK,gBAA7C,EAA+DrK,WAA/D,EAA4E1E,UAA5E,CAAP;AACH;;AACD,SAASgP,MAAT,CAAgBC,GAAhB,EAAqB;AACjB,SAAOA,GAAG,YAAYjL,WAAf,IAA8BiL,GAAG,CAACja,KAAJ,KAAc,IAAnD;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASka,WAAT,CAAqBpZ,GAArB,EAA0B;AACtB,MAAIqZ,GAAG,GAAG,EAAV;;AACA,MAAIrZ,GAAG,CAAC7D,OAAR,EAAiB;AACbkd,OAAG,gBAASrZ,GAAG,CAAC7D,OAAb,CAAH;AACH;;AACD,MAAI6D,GAAG,CAACqO,IAAR,EAAc;AACV,QAAIrO,GAAG,CAACqO,IAAJ,CAAS1O,KAAT,CAAe,WAAf,CAAJ,EAAiC;AAC7B,YAAM,IAAI3D,KAAJ,CAAU,yCAAV,CAAN;AACH;;AACDqd,OAAG,IAAI,MAAMrZ,GAAG,CAACqO,IAAJ,CAAS0B,OAAT,CAAiB,IAAjB,EAAuB,KAAvB,CAAb;AACH;;AACD,SAAOsJ,GAAP;AACH;;AACD,SAAS5F,aAAT,CAAuBD,IAAvB,EAA6B;AACzB,MAAIA,IAAI,CAACjW,MAAL,KAAgB,CAApB,EACI,OAAO,EAAP;;AACJ,MAAIiW,IAAI,CAACjW,MAAL,KAAgB,CAAhB,IAAqBiW,IAAI,CAAC,CAAD,CAAJ,CAAQrX,OAA7B,IAAwC,CAACqX,IAAI,CAAC,CAAD,CAAJ,CAAQnF,IAArD,EAA2D;AACvD;AACA,sBAAW+K,WAAW,CAAC5F,IAAI,CAAC,CAAD,CAAL,CAAtB;AACH;;AACD,MAAI6F,GAAG,GAAG,KAAV;;AAPyB,oKAQP7F,IARO;AAAA;;AAAA;AAQzB,wDAAwB;AAAA,UAAbxT,GAAa;AACpBqZ,SAAG,IAAI,IAAP,CADoB,CAEpB;;AACAA,SAAG,IAAID,WAAW,CAACpZ,GAAD,CAAX,CAAiB+P,OAAjB,CAAyB,KAAzB,EAAgC,OAAhC,CAAP;AACAsJ,SAAG,IAAI,IAAP;AACH;AAbwB;AAAA;AAAA;AAAA;AAAA;;AAczBA,KAAG,IAAI,GAAP;AACA,SAAOA,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,gBAAgB,GAAG,eAAzB;;AACA,SAASC,mBAAT,CAA6BC,KAA7B,EAAoC;AAChC,SAAOA,KAAK,CAACzJ,OAAN,CAAcuJ,gBAAd,EAAgC;AAAA,sCAAI7E,CAAJ;AAAIA,OAAJ;AAAA;;AAAA,WAAUA,CAAC,CAAC,CAAD,CAAD,CAAKgF,WAAL,EAAV;AAAA,GAAhC,CAAP;AACH;;AACD,SAASC,YAAT,CAAsBF,KAAtB,EAA6BG,aAA7B,EAA4C;AACxC,SAAOC,QAAQ,CAACJ,KAAD,EAAQ,GAAR,EAAaG,aAAb,CAAf;AACH;;AACD,SAASE,aAAT,CAAuBL,KAAvB,EAA8BG,aAA9B,EAA6C;AACzC,SAAOC,QAAQ,CAACJ,KAAD,EAAQ,GAAR,EAAaG,aAAb,CAAf;AACH;;AACD,SAASC,QAAT,CAAkBJ,KAAlB,EAAyBM,SAAzB,EAAoCH,aAApC,EAAmD;AAC/C,MAAMI,cAAc,GAAGP,KAAK,CAACzd,OAAN,CAAc+d,SAAd,CAAvB;AACA,MAAIC,cAAc,IAAI,CAAC,CAAvB,EACI,OAAOJ,aAAP;AACJ,SAAO,CAACH,KAAK,CAACvd,KAAN,CAAY,CAAZ,EAAe8d,cAAf,EAA+BC,IAA/B,EAAD,EAAwCR,KAAK,CAACvd,KAAN,CAAY8d,cAAc,GAAG,CAA7B,EAAgCC,IAAhC,EAAxC,CAAP;AACH;;AACD,SAASC,UAAT,CAAoB/a,KAApB,EAA2B2I,OAA3B,EAAoCC,OAApC,EAA6C;AACzC,MAAIoS,KAAK,CAACC,OAAN,CAAcjb,KAAd,CAAJ,EAA0B;AACtB,WAAO2I,OAAO,CAACuS,UAAR,CAAmBlb,KAAnB,EAA0B4I,OAA1B,CAAP;AACH;;AACD,MAAIuS,iBAAiB,CAACnb,KAAD,CAArB,EAA8B;AAC1B,WAAO2I,OAAO,CAACyS,cAAR,CAAuBpb,KAAvB,EAA8B4I,OAA9B,CAAP;AACH;;AACD,MAAI5I,KAAK,IAAI,IAAT,IAAiB,OAAOA,KAAP,IAAgB,QAAjC,IAA6C,OAAOA,KAAP,IAAgB,QAA7D,IACA,OAAOA,KAAP,IAAgB,SADpB,EAC+B;AAC3B,WAAO2I,OAAO,CAAC0S,cAAR,CAAuBrb,KAAvB,EAA8B4I,OAA9B,CAAP;AACH;;AACD,SAAOD,OAAO,CAAC2S,UAAR,CAAmBtb,KAAnB,EAA0B4I,OAA1B,CAAP;AACH;;AACD,SAAS2S,SAAT,CAAmBC,GAAnB,EAAwB;AACpB,SAAOA,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAKlX,SAA/B;AACH;;AACD,SAASmX,WAAT,CAAqBD,GAArB,EAA0B;AACtB,SAAOA,GAAG,KAAKlX,SAAR,GAAoB,IAApB,GAA2BkX,GAAlC;AACH;;IACKE,gB;;;;;;;+BACSC,G,EAAK/S,O,EAAS;AAAA;;AACrB,aAAO+S,GAAG,CAAC5Y,GAAJ,CAAQ,UAAA/C,KAAK;AAAA,eAAI+a,UAAU,CAAC/a,KAAD,EAAQ,OAAR,EAAc4I,OAAd,CAAd;AAAA,OAAb,CAAP;AACH;;;mCACc7F,G,EAAK6F,O,EAAS;AAAA;;AACzB,UAAM/I,MAAM,GAAG,EAAf;AACA8E,YAAM,CAAC+T,IAAP,CAAY3V,GAAZ,EAAiBzE,OAAjB,CAAyB,UAAA4U,GAAG,EAAI;AAC5BrT,cAAM,CAACqT,GAAD,CAAN,GAAc6H,UAAU,CAAChY,GAAG,CAACmQ,GAAD,CAAJ,EAAW,OAAX,EAAiBtK,OAAjB,CAAxB;AACH,OAFD;AAGA,aAAO/I,MAAP;AACH;;;mCACcG,K,EAAO4I,O,EAAS;AAC3B,aAAO5I,KAAP;AACH;;;+BACUA,K,EAAO4I,O,EAAS;AACvB,aAAO5I,KAAP;AACH;;;;;;AAEL,IAAM4b,SAAS,GAAG;AACdC,YAAU,EAAE,oBAAC7b,KAAD,EAAW;AACnB,QAAI8b,SAAS,CAAC9b,KAAD,CAAb,EAAsB;AAClB,YAAM,IAAIlD,KAAJ,4CAAN;AACH;;AACD,WAAOkD,KAAP;AACH,GANa;AAOd+b,MAAI,EAAE,cAAC/b,KAAD,EAAQgc,EAAR,EAAe;AACjB,WAAOF,SAAS,CAAC9b,KAAD,CAAT,GAAmBA,KAAK,CAAC+b,IAAN,CAAWC,EAAX,CAAnB,GAAoCA,EAAE,CAAChc,KAAD,CAA7C;AACH,GATa;AAUdic,KAAG,EAAE,aAACC,eAAD,EAAqB;AACtB,WAAOA,eAAe,CAACC,IAAhB,CAAqBL,SAArB,IAAkCM,OAAO,CAACH,GAAR,CAAYC,eAAZ,CAAlC,GAAiEA,eAAxE;AACH;AAZa,CAAlB;;AAcA,SAAS3F,KAAT,CAAe8F,GAAf,EAAoB;AAChB,QAAM,IAAIvf,KAAJ,2BAA6Buf,GAA7B,EAAN;AACH;;AACD,SAASC,WAAT,CAAqBD,GAArB,EAA0BE,WAA1B,EAAuC;AACnC,MAAMhG,KAAK,GAAGzZ,KAAK,CAACuf,GAAD,CAAnB;AACA9F,OAAK,CAACiG,kBAAD,CAAL,GAA4B,IAA5B;AACA,MAAID,WAAJ,EACIhG,KAAK,CAACkG,kBAAD,CAAL,GAA4BF,WAA5B;AACJ,SAAOhG,KAAP;AACH;;AACD,IAAMiG,kBAAkB,GAAG,eAA3B;AACA,IAAMC,kBAAkB,GAAG,eAA3B;;AACA,SAASC,aAAT,CAAuBnG,KAAvB,EAA8B;AAC1B,SAAOA,KAAK,CAACiG,kBAAD,CAAZ;AACH;;AACD,SAASG,cAAT,CAAwBpG,KAAxB,EAA+B;AAC3B,SAAOA,KAAK,CAACkG,kBAAD,CAAL,IAA6B,EAApC;AACH,C,CACD;;;AACA,SAASG,YAAT,CAAsBC,CAAtB,EAAyB;AACrB,SAAOA,CAAC,CAAChM,OAAF,CAAU,4BAAV,EAAwC,MAAxC,CAAP;AACH;;AACD,IAAMiM,gBAAgB,GAAGnY,MAAM,CAACoY,cAAP,CAAsB,EAAtB,CAAzB;;AACA,SAAS5B,iBAAT,CAA2B1T,GAA3B,EAAgC;AAC5B,SAAO,OAAOA,GAAP,KAAe,QAAf,IAA2BA,GAAG,KAAK,IAAnC,IAA2C9C,MAAM,CAACoY,cAAP,CAAsBtV,GAAtB,MAA+BqV,gBAAjF;AACH;;AACD,SAASE,UAAT,CAAoBpM,GAApB,EAAyB;AACrB,MAAIqM,OAAO,GAAG,EAAd;;AACA,OAAK,IAAI/R,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAG0F,GAAG,CAACvS,MAAhC,EAAwC6M,KAAK,EAA7C,EAAiD;AAC7C,QAAIgS,SAAS,GAAGtM,GAAG,CAACuM,UAAJ,CAAejS,KAAf,CAAhB,CAD6C,CAE7C;AACA;;AACA,QAAIgS,SAAS,IAAI,MAAb,IAAuBA,SAAS,IAAI,MAApC,IAA8CtM,GAAG,CAACvS,MAAJ,GAAc6M,KAAK,GAAG,CAAxE,EAA4E;AACxE,UAAMkS,GAAG,GAAGxM,GAAG,CAACuM,UAAJ,CAAejS,KAAK,GAAG,CAAvB,CAAZ;;AACA,UAAIkS,GAAG,IAAI,MAAP,IAAiBA,GAAG,IAAI,MAA5B,EAAoC;AAChClS,aAAK;AACLgS,iBAAS,GAAG,CAAEA,SAAS,GAAG,MAAb,IAAwB,EAAzB,IAA+BE,GAA/B,GAAqC,MAArC,GAA8C,OAA1D;AACH;AACJ;;AACD,QAAIF,SAAS,IAAI,IAAjB,EAAuB;AACnBD,aAAO,IAAI/S,MAAM,CAACmT,YAAP,CAAoBH,SAApB,CAAX;AACH,KAFD,MAGK,IAAIA,SAAS,IAAI,KAAjB,EAAwB;AACzBD,aAAO,IAAI/S,MAAM,CAACmT,YAAP,CAAsBH,SAAS,IAAI,CAAd,GAAmB,IAApB,GAA4B,IAAhD,EAAuDA,SAAS,GAAG,IAAb,GAAqB,IAA3E,CAAX;AACH,KAFI,MAGA,IAAIA,SAAS,IAAI,MAAjB,EAAyB;AAC1BD,aAAO,IAAI/S,MAAM,CAACmT,YAAP,CAAqBH,SAAS,IAAI,EAAd,GAAoB,IAAxC,EAAgDA,SAAS,IAAI,CAAd,GAAmB,IAApB,GAA4B,IAA1E,EAAiFA,SAAS,GAAG,IAAb,GAAqB,IAArG,CAAX;AACH,KAFI,MAGA,IAAIA,SAAS,IAAI,QAAjB,EAA2B;AAC5BD,aAAO,IAAI/S,MAAM,CAACmT,YAAP,CAAsBH,SAAS,IAAI,EAAd,GAAoB,IAArB,GAA6B,IAAjD,EAAyDA,SAAS,IAAI,EAAd,GAAoB,IAArB,GAA6B,IAApF,EAA4FA,SAAS,IAAI,CAAd,GAAmB,IAApB,GAA4B,IAAtH,EAA6HA,SAAS,GAAG,IAAb,GAAqB,IAAjJ,CAAX;AACH;AACJ;;AACD,SAAOD,OAAP;AACH;;AACD,SAASK,SAAT,CAAmBrZ,KAAnB,EAA0B;AACtB,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,WAAOA,KAAP;AACH;;AACD,MAAI+W,KAAK,CAACC,OAAN,CAAchX,KAAd,CAAJ,EAA0B;AACtB,WAAO,MAAMA,KAAK,CAAClB,GAAN,CAAUua,SAAV,EAAqB7d,IAArB,CAA0B,IAA1B,CAAN,GAAwC,GAA/C;AACH;;AACD,MAAIwE,KAAK,IAAI,IAAb,EAAmB;AACf,WAAO,KAAKA,KAAZ;AACH;;AACD,MAAIA,KAAK,CAACsZ,cAAV,EAA0B;AACtB,qBAAUtZ,KAAK,CAACsZ,cAAhB;AACH;;AACD,MAAItZ,KAAK,CAAC1F,IAAV,EAAgB;AACZ,qBAAU0F,KAAK,CAAC1F,IAAhB;AACH;;AACD,MAAI,CAAC0F,KAAK,CAACuZ,QAAX,EAAqB;AACjB,WAAO,QAAP;AACH,GAlBqB,CAmBtB;AACA;;;AACA,MAAMvd,GAAG,GAAGgE,KAAK,CAACuZ,QAAN,EAAZ;;AACA,MAAIvd,GAAG,IAAI,IAAX,EAAiB;AACb,WAAO,KAAKA,GAAZ;AACH;;AACD,MAAMwd,YAAY,GAAGxd,GAAG,CAACpD,OAAJ,CAAY,IAAZ,CAArB;AACA,SAAO4gB,YAAY,KAAK,CAAC,CAAlB,GAAsBxd,GAAtB,GAA4BA,GAAG,CAACyd,SAAJ,CAAc,CAAd,EAAiBD,YAAjB,CAAnC;AACH;AACD;AACA;AACA;;;AACA,SAASE,iBAAT,CAA2B5S,IAA3B,EAAiC;AAC7B,MAAI,OAAOA,IAAP,KAAgB,UAAhB,IAA8BA,IAAI,CAAC6S,cAAL,CAAoB,iBAApB,CAAlC,EAA0E;AACtE,WAAO7S,IAAI,EAAX;AACH,GAFD,MAGK;AACD,WAAOA,IAAP;AACH;AACJ;AACD;AACA;AACA;;;AACA,SAAS+Q,SAAT,CAAmBrU,GAAnB,EAAwB;AACpB;AACA;AACA,SAAO,CAAC,CAACA,GAAF,IAAS,OAAOA,GAAG,CAACsU,IAAX,KAAoB,UAApC;AACH;;IACK8B,O,GACF,iBAAYC,IAAZ,EAAkB;AAAA;;AACd,OAAKA,IAAL,GAAYA,IAAZ;AACA,MAAMC,MAAM,GAAGD,IAAI,CAACE,KAAL,CAAW,GAAX,CAAf;AACA,OAAKC,KAAL,GAAaF,MAAM,CAAC,CAAD,CAAnB;AACA,OAAKG,KAAL,GAAaH,MAAM,CAAC,CAAD,CAAnB;AACA,OAAKI,KAAL,GAAaJ,MAAM,CAAChhB,KAAP,CAAa,CAAb,EAAgB0C,IAAhB,CAAqB,GAArB,CAAb;AACH,C;;AAEL,IAAM2e,QAAQ,GAAG,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAlD;;AACA,IAAMC,MAAM,GAAG,OAAOC,IAAP,KAAgB,WAAhB,IAA+B,OAAOC,iBAAP,KAA6B,WAA5D,IACXD,IAAI,YAAYC,iBADL,IAC0BD,IADzC;;AAEA,IAAME,QAAQ,GAAG,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAlD,C,CACA;AACA;;;AACA,IAAMC,OAAO,GAAGF,QAAQ,IAAIL,QAAZ,IAAwBE,MAAxC;;AACA,SAASM,QAAT,CAAkBC,IAAlB,EAAwB7e,KAAxB,EAA+B;AAC3B,MAAM8e,IAAI,GAAG,EAAb;;AACA,OAAK,IAAIpf,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmf,IAApB,EAA0Bnf,CAAC,EAA3B,EAA+B;AAC3Bof,QAAI,CAAChf,IAAL,CAAUE,KAAV;AACH;;AACD,SAAO8e,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,cAAT,CAAwBpD,GAAxB,EAA6BqD,WAA7B,EAA0C;AACtC,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,KAAK,GAAG,EAAd;;AAFsC,qKAGnBvD,GAHmB;AAAA;;AAAA;AAGtC,2DAAwB;AAAA,UAAbwD,IAAa;AACpB,OAACH,WAAW,CAACG,IAAD,CAAX,GAAoBF,MAApB,GAA6BC,KAA9B,EAAqCpf,IAArC,CAA0Cqf,IAA1C;AACH;AALqC;AAAA;AAAA;AAAA;AAAA;;AAMtC,SAAO,CAACF,MAAD,EAASC,KAAT,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAME,eAAe,GAAG,IAAxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,iBAAiB,GAAGvG,QAAQ,CAAC,WAAD,CAAlC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMwG,WAAW,GAAG,EAApB;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,2CAA2C,GAAG,EAApD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,e;;;;;AACF,2BAAYC,QAAZ,EAAsB;AAAA;;AAAA;;AAClB,kCAAMA,QAAQ,CAAC1U,IAAf;AACA,YAAK0U,QAAL,GAAgBA,QAAhB;AACA,YAAKC,QAAL,GAAgBD,QAAhB;AAHkB;AAIrB;;;;oCACe9W,O,EAASC,O,EAAS;AAC9B,UAAIA,OAAO,KAAK0W,WAAhB,EAA6B;AACzB;AACA;AACA,eAAO,KAAKI,QAAL,CAAc9I,eAAd,CAA8BjO,OAA9B,EAAuCC,OAAvC,CAAP;AACH,OAJD,MAKK;AACD,eAAO,KAAK6W,QAAL,CAAc7I,eAAd,CAA8BjO,OAA9B,EAAuCC,OAAvC,CAAP;AACH;AACJ;;;iCACYyE,C,EAAG;AACZ,aAAOA,CAAC,YAAYmS,eAAb,IAAgC,KAAKC,QAAL,CAAc9U,YAAd,CAA2B0C,CAAC,CAACoS,QAA7B,CAAvC;AACH;;;iCACY;AACT,aAAO,IAAP;AACH;;;0BACKE,U,EAAY;AACd,WAAKF,QAAL,GAAgBE,UAAhB;AACA,WAAKC,MAAL,GAAc,IAAd;AACH;;;;EAzByB9U,U;AA2B9B;AACA;AACA;AACA;AACA;;;IACM+U,Y;AACF,0BAA8C;AAAA,QAAlCC,wBAAkC,uEAAP,KAAO;;AAAA;;AAC1C,SAAKA,wBAAL,GAAgCA,wBAAhC;AACA,SAAK3N,UAAL,GAAkB,EAAlB;AACA,SAAK4N,QAAL,GAAgB,IAAIze,GAAJ,EAAhB;AACA,SAAK0e,gBAAL,GAAwB,IAAI1e,GAAJ,EAAxB;AACA,SAAK2e,mBAAL,GAA2B,IAAI3e,GAAJ,EAA3B;AACA,SAAK4e,oBAAL,GAA4B,IAAI5e,GAAJ,EAA5B;AACA,SAAK6e,oBAAL,GAA4B,IAAI7e,GAAJ,EAA5B;AACA,SAAK8e,eAAL,GAAuB,IAAI9e,GAAJ,EAAvB;AACA,SAAK+e,aAAL,GAAqB,CAArB;AACH;;;;oCACexG,O,EAASyG,W,EAAa;AAClC,UAAKzG,OAAO,YAAY7K,WAAnB,IAAkC,CAACuR,mBAAmB,CAAC1G,OAAD,CAAvD,IACAA,OAAO,YAAY2F,eADvB,EACwC;AACpC;AACA;AACA,eAAO3F,OAAP;AACH;;AACD,UAAM3G,GAAG,GAAG,KAAKsN,KAAL,CAAW3G,OAAX,CAAZ;AACA,UAAI4G,KAAK,GAAG,KAAKV,QAAL,CAAcpd,GAAd,CAAkBuQ,GAAlB,CAAZ;AACA,UAAIwN,QAAQ,GAAG,KAAf;;AACA,UAAI,CAACD,KAAL,EAAY;AACRA,aAAK,GAAG,IAAIjB,eAAJ,CAAoB3F,OAApB,CAAR;AACA,aAAKkG,QAAL,CAAcnd,GAAd,CAAkBsQ,GAAlB,EAAuBuN,KAAvB;AACAC,gBAAQ,GAAG,IAAX;AACH;;AACD,UAAK,CAACA,QAAD,IAAa,CAACD,KAAK,CAACb,MAArB,IAAiCc,QAAQ,IAAIJ,WAAjD,EAA+D;AAC3D;AACA,YAAM/hB,IAAI,GAAG,KAAKoiB,SAAL,EAAb;AACA,YAAIC,UAAJ;AACA,YAAIC,KAAJ;;AACA,YAAI,KAAKf,wBAAL,IAAiCS,mBAAmB,CAAC1G,OAAD,CAAxD,EAAmE;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA+G,oBAAU,GAAG9H,QAAQ,CAACva,IAAD,CAAR,CAAeqE,GAAf,CAAmB,IAAIsP,YAAJ,CAAiB,EAAjB,EAAqB;AACrD,WACI;AACA,cAAI6C,eAAJ,CAAoB8E,OAApB,CAFJ,CADgC,CAAnB,CAAb;AAKAgH,eAAK,GAAG/H,QAAQ,CAACva,IAAD,CAAR,CAAeuiB,MAAf,CAAsB,EAAtB,CAAR;AACH,SApBD,MAqBK;AACD;AACA;AACAF,oBAAU,GAAG9H,QAAQ,CAACva,IAAD,CAAR,CAAeqE,GAAf,CAAmBiX,OAAnB,CAAb;AACAgH,eAAK,GAAG/H,QAAQ,CAACva,IAAD,CAAhB;AACH;;AACD,aAAK4T,UAAL,CAAgBrS,IAAhB,CAAqB8gB,UAAU,CAAC3S,UAAX,CAAsBxE,aAAtB,EAAqC,CAACyE,YAAY,CAACC,KAAd,CAArC,CAArB;AACAsS,aAAK,CAACA,KAAN,CAAYI,KAAZ;AACH;;AACD,aAAOJ,KAAP;AACH;;;kCACa1V,I,EAAMgW,I,EAAMC,G,EAA0B;AAAA,UAArBV,WAAqB,uEAAP,KAAO;AAChD,UAAMW,WAAW,GAAG,KAAKC,aAAL,CAAmBH,IAAnB,CAApB;AACA,UAAIN,KAAK,GAAGQ,WAAW,CAACte,GAAZ,CAAgBoI,IAAhB,CAAZ;AACA,UAAI2V,QAAQ,GAAG,KAAf;;AACA,UAAI,CAACD,KAAL,EAAY;AACR,YAAMU,QAAQ,GAAG,KAAKC,cAAL,CAAoBL,IAApB,CAAjB;AACAN,aAAK,GAAG,IAAIjB,eAAJ,CAAoBwB,GAAG,CAACjI,UAAJ,CAAehO,IAAf,EAAqB4N,IAArB,CAA0BwI,QAA1B,CAApB,CAAR;AACAF,mBAAW,CAACre,GAAZ,CAAgBmI,IAAhB,EAAsB0V,KAAtB;AACAC,gBAAQ,GAAG,IAAX;AACH;;AACD,UAAK,CAACA,QAAD,IAAa,CAACD,KAAK,CAACb,MAArB,IAAiCc,QAAQ,IAAIJ,WAAjD,EAA+D;AAC3D,YAAM/hB,IAAI,GAAG,KAAKoiB,SAAL,EAAb;AACA,aAAKxO,UAAL,CAAgBrS,IAAhB,CAAqBgZ,QAAQ,CAACva,IAAD,CAAR,CAAeqE,GAAf,CAAmB6d,KAAK,CAAChB,QAAzB,EAAmCxR,UAAnC,CAA8CxE,aAA9C,EAA6D,CAACyE,YAAY,CAACC,KAAd,CAA7D,CAArB;AACAsS,aAAK,CAACA,KAAN,CAAY3H,QAAQ,CAACva,IAAD,CAApB;AACH;;AACD,aAAOkiB,KAAP;AACH;;;sCACiB5G,O,EAAS;AACvB;AACA,UAAIA,OAAO,YAAYhH,gBAAvB,EAAyC;AACrC,YAAMwO,eAAe,GAAGxH,OAAO,CAAC/G,OAAR,CAAgB/P,GAAhB,CAAoB,UAAAsK,CAAC;AAAA,iBAAIA,CAAC,CAACM,UAAF,KAAiBN,CAAjB,GAAqBgS,iBAAzB;AAAA,SAArB,CAAxB;AACA,YAAMnM,GAAG,GAAG,KAAKsN,KAAL,CAAWnH,UAAU,CAACgI,eAAD,CAArB,CAAZ;AACA,eAAO,KAAKC,kBAAL,CAAwBpO,GAAxB,EAA6B2G,OAAO,CAAC/G,OAArC,EAA8C,UAAAA,OAAO;AAAA,iBAAIuG,UAAU,CAACvG,OAAD,CAAd;AAAA,SAArD,CAAP;AACH,OAJD,MAKK;AACD,YAAMyO,gBAAgB,GAAGjI,UAAU,CAACO,OAAO,CAAC/G,OAAR,CAAgB/P,GAAhB,CAAoB,UAAAsK,CAAC;AAAA,iBAAK;AAC1D6F,eAAG,EAAE7F,CAAC,CAAC6F,GADmD;AAE1DlT,iBAAK,EAAEqN,CAAC,CAACrN,KAAF,CAAQ2N,UAAR,KAAuBN,CAAC,CAACrN,KAAzB,GAAiCqf,iBAFkB;AAG1DlM,kBAAM,EAAE9F,CAAC,CAAC8F;AAHgD,WAAL;AAAA,SAArB,CAAD,CAAnC;;AAKA,YAAMD,KAAG,GAAG,KAAKsN,KAAL,CAAWe,gBAAX,CAAZ;;AACA,eAAO,KAAKD,kBAAL,CAAwBpO,KAAxB,EAA6B2G,OAAO,CAAC/G,OAAR,CAAgB/P,GAAhB,CAAoB,UAAAsK,CAAC;AAAA,iBAAIA,CAAC,CAACrN,KAAN;AAAA,SAArB,CAA7B,EAAgE,UAAA8S,OAAO;AAAA,iBAAIwG,UAAU,CAACxG,OAAO,CAAC/P,GAAR,CAAY,UAAC/C,KAAD,EAAQkL,KAAR;AAAA,mBAAmB;AACxHgI,iBAAG,EAAE2G,OAAO,CAAC/G,OAAR,CAAgB5H,KAAhB,EAAuBgI,GAD4F;AAExHlT,mBAAK,EAALA,KAFwH;AAGxHmT,oBAAM,EAAE0G,OAAO,CAAC/G,OAAR,CAAgB5H,KAAhB,EAAuBiI;AAHyF,aAAnB;AAAA,WAAZ,CAAD,CAAd;AAAA,SAAvE,CAAP;AAKH;AACJ;;;uCACkBD,G,EAAK5L,M,EAAQka,S,EAAW;AAAA;;AACvC,UAAIC,cAAc,GAAG,KAAKzB,gBAAL,CAAsBrd,GAAtB,CAA0BuQ,GAA1B,CAArB;AACA,UAAMwO,uBAAuB,GAAGpa,MAAM,CAACqa,MAAP,CAAe,UAAAtU,CAAC;AAAA,eAAI,CAACA,CAAC,CAACM,UAAF,EAAL;AAAA,OAAhB,CAAhC;;AACA,UAAI,CAAC8T,cAAL,EAAqB;AACjB,YAAMG,iBAAiB,GAAGta,MAAM,CAACvE,GAAP,CAAW,UAACsK,CAAD,EAAInC,KAAJ;AAAA,iBAAcmC,CAAC,CAACM,UAAF,KAAiB,OAAI,CAACkU,eAAL,CAAqBxU,CAArB,EAAwB,IAAxB,CAAjB,GAAiDyL,QAAQ,YAAK5N,KAAL,EAAvE;AAAA,SAAX,CAA1B;AACA,YAAM4W,UAAU,GAAGF,iBAAiB,CAACD,MAAlB,CAAyBI,UAAzB,EAAqChf,GAArC,CAAyC,UAAAsK,CAAC;AAAA,iBAAI,IAAI2E,OAAJ,CAAY3E,CAAC,CAAC9O,IAAd,EAAoBgL,YAApB,CAAJ;AAAA,SAA1C,CAAnB;AACA,YAAMyY,uBAAuB,GAAGpT,EAAE,CAACkT,UAAD,EAAa,CAAC,IAAI/M,eAAJ,CAAoByM,SAAS,CAACI,iBAAD,CAA7B,CAAD,CAAb,EAAkEnY,aAAlE,CAAlC;AACA,YAAMlL,IAAI,GAAG,KAAKoiB,SAAL,EAAb;AACA,aAAKxO,UAAL,CAAgBrS,IAAhB,CAAqBgZ,QAAQ,CAACva,IAAD,CAAR,CAAeqE,GAAf,CAAmBof,uBAAnB,EAA4C/T,UAA5C,CAAuDxE,aAAvD,EAAsE,CACvFyE,YAAY,CAACC,KAD0E,CAAtE,CAArB;AAGAsT,sBAAc,GAAG3I,QAAQ,CAACva,IAAD,CAAzB;AACA,aAAKyhB,gBAAL,CAAsBpd,GAAtB,CAA0BsQ,GAA1B,EAA+BuO,cAA/B;AACH;;AACD,aAAO;AAAEA,sBAAc,EAAdA,cAAF;AAAkBC,+BAAuB,EAAvBA;AAAlB,OAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;;+BACenkB,M,EAAQ;AACf,uBAAUA,MAAV,SAAmB,KAAK8iB,aAAL,EAAnB;AACH;;;kCACaU,I,EAAM;AAChB,cAAQA,IAAR;AACI,aAAK;AAAE;AAAP;AACI,iBAAO,KAAKZ,oBAAZ;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAO,KAAKD,oBAAZ;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAO,KAAKD,mBAAZ;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAO,KAAKG,eAAZ;AARR;;AAUA7J,WAAK,mCAA4BwK,IAA5B,EAAL;AACA,aAAO,KAAKZ,oBAAZ;AACH;;;mCACcY,I,EAAM;AACjB,cAAQA,IAAR;AACI,aAAK;AAAE;AAAP;AACI,iBAAO,MAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAO,MAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAO,MAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAO,OAAP;AARR;;AAUAxK,WAAK,mCAA4BwK,IAA5B,EAAL;AACA,aAAO,WAAP;AACH;;;gCACW;AACR,aAAO,KAAKkB,UAAL,CAAgB7C,eAAhB,CAAP;AACH;;;0BACKO,U,EAAY;AACd,aAAOA,UAAU,CAAC/I,eAAX,CAA2B,IAAIsL,UAAJ,EAA3B,EAA6C5C,WAA7C,CAAP;AACH;;;;;AAEL;AACA;AACA;AACA;AACA;AACA;;;IACM4C,U;AACF,wBAAc;AAAA;;AACV,SAAKpU,oBAAL,GAA4BqU,OAA5B;AACA,SAAKpU,iBAAL,GAAyBoU,OAAzB;AACA,SAAK7T,iBAAL,GAAyB6T,OAAzB;AACA,SAAK3T,kBAAL,GAA0B2T,OAA1B;AACA,SAAKxT,qBAAL,GAA6BwT,OAA7B;AACA,SAAKtT,uBAAL,GAA+BsT,OAA/B;AACA,SAAKpT,oBAAL,GAA4BoT,OAA5B;AACA,SAAKzQ,oBAAL,GAA4ByQ,OAA5B;AACA,SAAKvQ,YAAL,GAAoBuQ,OAApB;AACA,SAAKrQ,sBAAL,GAA8BqQ,OAA9B;AACA,SAAKpQ,aAAL,GAAqBoQ,OAArB;AACA,SAAK/P,iBAAL,GAAyB+P,OAAzB;AACA,SAAK3P,sBAAL,GAA8B2P,OAA9B;AACA,SAAKzP,uBAAL,GAA+ByP,OAA/B;AACA,SAAKxP,iBAAL,GAAyBwP,OAAzB;AACA,SAAKvP,gBAAL,GAAwBuP,OAAxB;AACA,SAAK3O,cAAL,GAAsB2O,OAAtB;AACA,SAAKxS,oBAAL,GAA4BwS,OAA5B;AACH;;;;qCACgBzL,G,EAAK;AAClB,uBAAU,OAAOA,GAAG,CAAC1W,KAAX,KAAqB,QAArB,GAAgC,MAAM0W,GAAG,CAAC1W,KAAV,GAAkB,GAAlD,GAAwD0W,GAAG,CAAC1W,KAAtE;AACH;;;0CACqB0W,G,EAAK9N,O,EAAS;AAAA;;AAChC,wBAAW8N,GAAG,CAAC5D,OAAJ,CAAY/P,GAAZ,CAAgB,UAAAgU,KAAK;AAAA,eAAIA,KAAK,CAACH,eAAN,CAAsB,OAAtB,EAA4BhO,OAA5B,CAAJ;AAAA,OAArB,EAA+DnJ,IAA/D,CAAoE,GAApE,CAAX;AACH;;;wCACmBiX,G,EAAK9N,O,EAAS;AAAA;;AAC9B,UAAMwZ,MAAM,GAAG,SAATA,MAAS,CAACrL,KAAD,EAAW;AACtB,YAAMsL,KAAK,GAAGtL,KAAK,CAAC5D,MAAN,GAAe,GAAf,GAAqB,EAAnC;AACA,yBAAUkP,KAAV,SAAkBtL,KAAK,CAAC7D,GAAxB,SAA8BmP,KAA9B;AACH,OAHD;;AAIA,UAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACvL,KAAD;AAAA,yBAAcqL,MAAM,CAACrL,KAAD,CAApB,cAA+BA,KAAK,CAAC/W,KAAN,CAAY4W,eAAZ,CAA4B,OAA5B,EAAkChO,OAAlC,CAA/B;AAAA,OAAjB;;AACA,wBAAW8N,GAAG,CAAC5D,OAAJ,CAAY/P,GAAZ,CAAgBuf,QAAhB,EAA0B7iB,IAA1B,CAA+B,GAA/B,CAAX;AACH;;;sCACiBiX,G,EAAK;AACnB,aAAOA,GAAG,CAAC1W,KAAJ,CAAUqR,UAAV,gBAA6BqF,GAAG,CAAC1W,KAAJ,CAAUqR,UAAvC,cAAqDqF,GAAG,CAAC1W,KAAJ,CAAUzB,IAA/D,iBACGmY,GAAG,CAAC1W,KAAJ,CAAUsR,OAAV,CAAkB/S,IADrB,CAAP;AAEH;;;qCACgBsP,I,EAAM;AACnB,2BAAcA,IAAI,CAACtP,IAAnB;AACH;;;oCACesP,I,EAAMjF,O,EAAS;AAC3B,8BAAiBiF,IAAI,CAACJ,IAAL,CAAUmJ,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC,CAAjB;AACH;;;;;;AAEL,SAASuZ,OAAT,CAAiBI,GAAjB,EAAsB;AAClB,QAAM,IAAIzlB,KAAJ,kCAAoC,KAAK0b,WAAL,CAAiBja,IAArD,6BAA4EgkB,GAAG,CAAC/J,WAAJ,CAAgBja,IAA5F,EAAN;AACH;;AACD,SAASwjB,UAAT,CAAoB1U,CAApB,EAAuB;AACnB,SAAOA,CAAC,YAAYF,WAApB;AACH;;AACD,SAASoT,mBAAT,CAA6B9S,IAA7B,EAAmC;AAC/B,SAAOA,IAAI,YAAYuB,WAAhB,IAA+B,OAAOvB,IAAI,CAACzN,KAAZ,KAAsB,QAArD,IACHyN,IAAI,CAACzN,KAAL,CAAW3B,MAAX,IAAqBkhB,2CADzB;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMiD,IAAI,GAAG,eAAb;;IACMC,W;;;;AAENA,WAAW,CAACC,4BAAZ,GAA2C;AACvCnkB,MAAI,EAAE,8BADiC;AAEvC8S,YAAU,EAAEmR;AAF2B,CAA3C;AAIAC,WAAW,CAACE,UAAZ,GAAyB;AAAEpkB,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEmR;AAAlC,CAAzB;AACAC,WAAW,CAACG,WAAZ,GAA0B;AAAErkB,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmR;AAAnC,CAA1B;AACAC,WAAW,CAACI,gBAAZ,GAA+B;AAAEtkB,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEmR;AAAxC,CAA/B;AACAC,WAAW,CAACK,iBAAZ,GAAgC;AAC5BvkB,MAAI,EAAE,mBADsB;AAE5B8S,YAAU,EAAEmR;AAFgB,CAAhC;AAIAC,WAAW,CAACM,SAAZ,GAAwB;AAAExkB,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEmR;AAAjC,CAAxB;AACAC,WAAW,CAACO,WAAZ,GAA0B;AAAEzkB,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmR;AAAnC,CAA1B;AACAC,WAAW,CAACQ,SAAZ,GAAwB;AAAE1kB,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEmR;AAAjC,CAAxB;AACAC,WAAW,CAACS,+BAAZ,GAA8C;AAC1C3kB,MAAI,EAAE,kCADoC;AAE1C8S,YAAU,EAAEmR;AAF8B,CAA9C;AAIAC,WAAW,CAACU,wBAAZ,GAAuC;AACnC5kB,MAAI,EAAE,0BAD6B;AAEnC8S,YAAU,EAAEmR;AAFuB,CAAvC;AAIAC,WAAW,CAACW,gBAAZ,GAA+B;AAAE7kB,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEmR;AAAxC,CAA/B;AACAC,WAAW,CAACY,YAAZ,GAA2B;AAAE9kB,MAAI,EAAE,cAAR;AAAwB8S,YAAU,EAAEmR;AAApC,CAA3B;AACAC,WAAW,CAACa,eAAZ,GAA8B;AAAE/kB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmR;AAAvC,CAA9B;AACAC,WAAW,CAACc,mBAAZ,GAAkC;AAC9BhlB,MAAI,EAAE,MADwB;AAE9B8S,YAAU,EAAEmR;AAFkB,CAAlC;AAIAC,WAAW,CAACe,SAAZ,GAAwB;AACpBjlB,MAAI,EAAE,MADc;AAEpB8S,YAAU,EAAEmR;AAFQ,CAAxB;AAIAC,WAAW,CAACgB,iBAAZ,GAAgC;AAC5BllB,MAAI,EAAE,MADsB;AAE5B8S,YAAU,EAAEmR;AAFgB,CAAhC;AAIAC,WAAW,CAACiB,uBAAZ,GAAsC;AAClCnlB,MAAI,EAAE,wBAD4B;AAElC8S,YAAU,EAAEmR;AAFsB,CAAtC;AAIAC,WAAW,CAACkB,MAAZ,GAAqB;AAAEplB,MAAI,EAAE,UAAR;AAAoB8S,YAAU,EAAEmR;AAAhC,CAArB;AACAC,WAAW,CAACmB,eAAZ,GAA8B;AAAErlB,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEmR;AAAzC,CAA9B;AACAC,WAAW,CAACoB,QAAZ,GAAuB;AAAEtlB,MAAI,EAAE,UAAR;AAAoB8S,YAAU,EAAEmR;AAAhC,CAAvB;AACAC,WAAW,CAACqB,QAAZ,GAAuB;AAAEvlB,MAAI,EAAE,UAAR;AAAoB8S,YAAU,EAAEmR;AAAhC,CAAvB;AACAC,WAAW,CAACsB,kBAAZ,GAAiC;AAAExlB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEmR;AAA1C,CAAjC;AACAC,WAAW,CAACuB,aAAZ,GAA4B;AAAEzlB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmR;AAAvC,CAA5B;AACAC,WAAW,CAACpd,iBAAZ,GAAgC;AAC5B9G,MAAI,EAAE,mBADsB;AAE5B8S,YAAU,EAAEmR;AAFgB,CAAhC;AAIAC,WAAW,CAACnd,uBAAZ,GAAsC;AAClC/G,MAAI,EAAE,yBAD4B;AAElC8S,YAAU,EAAEmR;AAFsB,CAAtC;AAIAC,WAAW,CAACvb,eAAZ,GAA8B;AAC1B3I,MAAI,EAAE,iBADoB;AAE1B8S,YAAU,EAAEmR;AAFc,CAA9B;AAIAC,WAAW,CAACwB,SAAZ,GAAwB;AAAE1lB,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEmR;AAAjC,CAAxB;AACAC,WAAW,CAACyB,mBAAZ,GAAkC;AAC9B3lB,MAAI,EAAE,qBADwB;AAE9B8S,YAAU,EAAEmR;AAFkB,CAAlC;AAIAC,WAAW,CAAC0B,iBAAZ,GAAgC;AAC5B5lB,MAAI,EAAE,oBADsB;AAE5B8S,YAAU,EAAEmR;AAFgB,CAAhC;AAIAC,WAAW,CAAC2B,WAAZ,GAA0B;AAAE7lB,MAAI,EAAE,cAAR;AAAwB8S,YAAU,EAAEmR;AAApC,CAA1B;AACAC,WAAW,CAAC4B,WAAZ,GAA0B;AAAE9lB,MAAI,EAAE,cAAR;AAAwB8S,YAAU,EAAEmR;AAApC,CAA1B;AACAC,WAAW,CAAC6B,SAAZ,GAAwB;AAAE/lB,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEmR;AAAlC,CAAxB;AACAC,WAAW,CAAC8B,QAAZ,GAAuB;AAAEhmB,MAAI,EAAE,UAAR;AAAoB8S,YAAU,EAAEmR;AAAhC,CAAvB;AACAC,WAAW,CAAC+B,OAAZ,GAAsB;AAAEjmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAAtB;AACAC,WAAW,CAACgC,UAAZ,GAAyB;AAAElmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAAzB;AACAC,WAAW,CAACiC,SAAZ,GAAwB;AAAEnmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAAxB;AACAC,WAAW,CAACkC,OAAZ,GAAsB;AAAEpmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAAtB;AACAC,WAAW,CAACmC,YAAZ,GAA2B;AAAErmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAA3B;AACAC,WAAW,CAACoC,WAAZ,GAA0B;AAAEtmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAA1B;AACAC,WAAW,CAACqC,QAAZ,GAAuB;AAAEvmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAAvB;AACAC,WAAW,CAACsC,YAAZ,GAA2B;AAAExmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAA3B;AACAC,WAAW,CAACuC,aAAZ,GAA4B;AAAEzmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAA5B;AACAC,WAAW,CAACwC,WAAZ,GAA0B;AAAE1mB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAA1B;AACAC,WAAW,CAACyC,OAAZ,GAAsB;AAAE3mB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAAtB;AACAC,WAAW,CAAC0C,SAAZ,GAAwB;AAAE5mB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAAxB;AACAC,WAAW,CAAC2C,YAAZ,GAA2B;AAAE7mB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAA3B;AACAC,WAAW,CAAC4C,WAAZ,GAA0B;AAAE9mB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAA1B;AACAC,WAAW,CAAC6C,mBAAZ,GAAkC;AAAE/mB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAAlC,C,CACA;;AACAC,WAAW,CAAC8C,aAAZ,GAA4B;AACxBhnB,MAAI,EAAE,eADkB;AAExB8S,YAAU,EAAEmR;AAFY,CAA5B,C,CAIA;;AACAC,WAAW,CAAC+C,cAAZ,GAA6B;AACzBjnB,MAAI,EAAE,iBADmB;AAEzB8S,YAAU,EAAEmR;AAFa,CAA7B;AAIAC,WAAW,CAACgD,sBAAZ,GAAqC;AAAElnB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEmR;AAA5B,CAArC;AACAC,WAAW,CAACiD,gBAAZ,GAA+B;AAAEnnB,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEmR;AAAzC,CAA/B;;AACA,SAASmD,uBAAT,CAAiCC,SAAjC,EAA4C;AACxC,SAAO;AAAEC,cAAU,EAAE;AAAED,eAAS,EAAEA;AAAb;AAAd,GAAP;AACH;;AACD,SAASE,+BAAT,CAAyCC,SAAzC,EAAoDH,SAApD,EAA+D;AAC3D,SAAOD,uBAAuB,CAACI,SAAS,CAACC,wBAAV,CAAmCJ,SAAnC,CAAD,CAA9B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;IACMK,Y;AACF,wBAAYC,QAAZ,EAAsB3nB,IAAtB,EAA4B4nB,OAA5B,EAAqC;AAAA;;AACjC,SAAKD,QAAL,GAAgBA,QAAhB;AACA,SAAK3nB,IAAL,GAAYA,IAAZ;AACA,SAAK4nB,OAAL,GAAeA,OAAf;AACH;;;;sCACiB;AACd,UAAI,KAAKA,OAAL,CAAa9nB,MAAjB,EAAyB;AACrB,cAAM,IAAIvB,KAAJ,mEAAqEspB,IAAI,CAAC9I,SAAL,CAAe,IAAf,CAArE,OAAN;AACH;AACJ;;;;;AAEL;AACA;AACA;AACA;;;IACM+I,iB;AACF,+BAAc;AAAA;;AACV,SAAKC,KAAL,GAAa,IAAIhlB,GAAJ,EAAb;AACH;;;;wBACGilB,e,EAAiBhoB,I,EAAM4nB,O,EAAS;AAChCA,aAAO,GAAGA,OAAO,IAAI,EAArB;AACA,UAAMK,YAAY,GAAGL,OAAO,CAAC9nB,MAAR,cAAqB8nB,OAAO,CAAC1mB,IAAR,CAAa,GAAb,CAArB,IAA2C,EAAhE;AACA,UAAMyT,GAAG,eAAOqT,eAAP,gBAA2BhoB,IAA3B,SAAkCioB,YAAlC,CAAT;AACA,UAAI3mB,MAAM,GAAG,KAAKymB,KAAL,CAAW3jB,GAAX,CAAeuQ,GAAf,CAAb;;AACA,UAAI,CAACrT,MAAL,EAAa;AACTA,cAAM,GAAG,IAAIomB,YAAJ,CAAiBM,eAAjB,EAAkChoB,IAAlC,EAAwC4nB,OAAxC,CAAT;AACA,aAAKG,KAAL,CAAW1jB,GAAX,CAAesQ,GAAf,EAAoBrT,MAApB;AACH;;AACD,aAAOA,MAAP;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM4mB,YAAY,GAAG,oDAArB;;AACA,SAASC,kBAAT,CAA4BnoB,IAA5B,EAAkC;AAC9B,SAAOA,IAAI,CAACsS,OAAL,CAAa,KAAb,EAAoB,GAApB,CAAP;AACH;;AACD,IAAI8V,mBAAmB,GAAG,CAA1B;;AACA,SAASC,cAAT,CAAwBC,iBAAxB,EAA2C;AACvC,MAAI,CAACA,iBAAD,IAAsB,CAACA,iBAAiB,CAACjB,SAA7C,EAAwD;AACpD,WAAO,IAAP;AACH;;AACD,MAAMkB,GAAG,GAAGD,iBAAiB,CAACjB,SAA9B;;AACA,MAAIkB,GAAG,YAAYb,YAAnB,EAAiC;AAC7B,WAAOa,GAAG,CAACvoB,IAAX;AACH;;AACD,MAAIuoB,GAAG,CAAC,iBAAD,CAAP,EAA4B;AACxB,WAAOA,GAAG,CAAC,iBAAD,CAAV;AACH;;AACD,MAAIjB,UAAU,GAAGvI,SAAS,CAACwJ,GAAD,CAA1B;;AACA,MAAIjB,UAAU,CAAChpB,OAAX,CAAmB,GAAnB,KAA2B,CAA/B,EAAkC;AAC9B;AACAgpB,cAAU,uBAAgBc,mBAAmB,EAAnC,CAAV;AACAG,OAAG,CAAC,iBAAD,CAAH,GAAyBjB,UAAzB;AACH,GAJD,MAKK;AACDA,cAAU,GAAGa,kBAAkB,CAACb,UAAD,CAA/B;AACH;;AACD,SAAOA,UAAP;AACH;;AACD,SAASkB,mBAAT,CAA6BF,iBAA7B,EAAgD;AAC5C,MAAMC,GAAG,GAAGD,iBAAiB,CAACjB,SAA9B;;AACA,MAAIkB,GAAG,YAAYb,YAAnB,EAAiC;AAC7B,WAAOa,GAAG,CAACZ,QAAX;AACH,GAJ2C,CAK5C;;;AACA,qBAAY5I,SAAS,CAACwJ,GAAD,CAArB;AACH;;AACD,SAASE,aAAT,CAAuBC,QAAvB,EAAiCC,qBAAjC,EAAwD;AACpD,wBAAeN,cAAc,CAAC;AAAEhB,aAAS,EAAEqB;AAAb,GAAD,CAA7B,cAA0DC,qBAA1D;AACH;;AACD,SAASC,gBAAT,CAA0BF,QAA1B,EAAoC;AAChC,8BAAqBL,cAAc,CAAC;AAAEhB,aAAS,EAAEqB;AAAb,GAAD,CAAnC;AACH;;AACD,SAASG,iBAAT,CAA2BH,QAA3B,EAAqC;AACjC,4BAAmBL,cAAc,CAAC;AAAEhB,aAAS,EAAEqB;AAAb,GAAD,CAAjC;AACH;;AACD,SAASI,oBAAT,CAA8BJ,QAA9B,EAAwC;AACpC,mBAAUL,cAAc,CAAC;AAAEhB,aAAS,EAAEqB;AAAb,GAAD,CAAxB;AACH;;AACD,IAAIK,kBAAJ;;AACA,CAAC,UAAUA,kBAAV,EAA8B;AAC3BA,oBAAkB,CAACA,kBAAkB,CAAC,MAAD,CAAlB,GAA6B,CAA9B,CAAlB,GAAqD,MAArD;AACAA,oBAAkB,CAACA,kBAAkB,CAAC,WAAD,CAAlB,GAAkC,CAAnC,CAAlB,GAA0D,WAA1D;AACAA,oBAAkB,CAACA,kBAAkB,CAAC,UAAD,CAAlB,GAAiC,CAAlC,CAAlB,GAAyD,UAAzD;AACAA,oBAAkB,CAACA,kBAAkB,CAAC,YAAD,CAAlB,GAAmC,CAApC,CAAlB,GAA2D,YAA3D;AACH,CALD,EAKGA,kBAAkB,KAAKA,kBAAkB,GAAG,EAA1B,CALrB;;AAMA,SAASC,SAAT,CAAmBtjB,KAAnB,EAA0B;AACtB,SAAOA,KAAK,CAACjE,KAAN,IAAe,IAAf,GAAsB0mB,kBAAkB,CAACziB,KAAK,CAACjE,KAAP,CAAxC,GAAwD4mB,cAAc,CAAC3iB,KAAK,CAAC4hB,UAAP,CAA7E;AACH;;AACD,SAAS2B,cAAT,CAAwBvjB,KAAxB,EAA+B;AAC3B,MAAIA,KAAK,CAAC4hB,UAAN,IAAoB,IAAxB,EAA8B;AAC1B,WAAO5hB,KAAK,CAAC4hB,UAAN,CAAiBD,SAAxB;AACH,GAFD,MAGK;AACD,WAAO3hB,KAAK,CAACjE,KAAb;AACH;AACJ;AACD;AACA;AACA;;;IACMynB,yB,GACF,qCAAmD;AAAA,kFAAJ,EAAI;AAAA,MAArCC,SAAqC,SAArCA,SAAqC;AAAA,MAA1BC,MAA0B,SAA1BA,MAA0B;AAAA,MAAlBC,SAAkB,SAAlBA,SAAkB;;AAAA;;AAC/C,OAAKF,SAAL,GAAiBA,SAAS,IAAI,IAA9B;AACA,OAAKC,MAAL,GAAcE,eAAe,CAACF,MAAD,CAA7B;AACA,OAAKC,SAAL,GAAiBC,eAAe,CAACD,SAAD,CAAhC;AACH,C;AAEL;AACA;AACA;;;IACME,uB;AACF,0CAAqL;AAAA,QAAvKC,aAAuK,SAAvKA,aAAuK;AAAA,QAAxJC,QAAwJ,SAAxJA,QAAwJ;AAAA,QAA9IC,WAA8I,SAA9IA,WAA8I;AAAA,QAAjIC,OAAiI,SAAjIA,OAAiI;AAAA,QAAxHP,MAAwH,SAAxHA,MAAwH;AAAA,QAAhHC,SAAgH,SAAhHA,SAAgH;AAAA,QAArGO,mBAAqG,SAArGA,mBAAqG;AAAA,QAAhFC,UAAgF,SAAhFA,UAAgF;AAAA,QAApEC,kBAAoE,SAApEA,kBAAoE;AAAA,QAAhDC,aAAgD,SAAhDA,aAAgD;AAAA,QAAjCC,QAAiC,SAAjCA,QAAiC;AAAA,QAAvBC,mBAAuB,SAAvBA,mBAAuB;;AAAA;;AACjL,SAAKT,aAAL,GAAqBA,aAArB;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKP,MAAL,GAAcE,eAAe,CAACF,MAAD,CAA7B;AACA,SAAKC,SAAL,GAAiBC,eAAe,CAACD,SAAD,CAAhC;AACA,SAAKO,mBAAL,GAA2BN,eAAe,CAACM,mBAAD,CAA1C;AACA,SAAKC,UAAL,GAAkBA,UAAU,GAAGK,OAAO,CAACL,UAAD,CAAV,GAAyB,EAArD;AACA,SAAKC,kBAAL,GAA0BA,kBAAkB,IAAI,EAAhD;;AACA,QAAIC,aAAa,IAAIA,aAAa,CAACjqB,MAAd,IAAwB,CAA7C,EAAgD;AAC5C,YAAM,IAAIvB,KAAJ,0DAAN;AACH;;AACD,SAAKwrB,aAAL,GAAqBA,aAArB;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA,SAAKC,mBAAL,GAA2BA,mBAA3B;AACH;;;;gCACW;AACR,aAAO;AACHH,0BAAkB,EAAE,KAAKA,kBADtB;AAEHN,qBAAa,EAAE,KAAKA,aAFjB;AAGHJ,cAAM,EAAE,KAAKA,MAHV;AAIHS,kBAAU,EAAE,KAAKA;AAJd,OAAP;AAMH;;;;;AAEL;AACA;AACA;;;IACMM,wB;AACF,2CAAsR;AAAA,QAAxQC,MAAwQ,SAAxQA,MAAwQ;AAAA,QAAhQ5d,IAAgQ,SAAhQA,IAAgQ;AAAA,QAA1P6d,WAA0P,SAA1PA,WAA0P;AAAA,QAA7OxoB,QAA6O,SAA7OA,QAA6O;AAAA,QAAnOyoB,QAAmO,SAAnOA,QAAmO;AAAA,QAAzNpjB,eAAyN,SAAzNA,eAAyN;AAAA,QAAxMqjB,MAAwM,SAAxMA,MAAwM;AAAA,QAAhMC,OAAgM,SAAhMA,OAAgM;AAAA,QAAvLC,aAAuL,SAAvLA,aAAuL;AAAA,QAAxKC,cAAwK,SAAxKA,cAAwK;AAAA,QAAxJC,cAAwJ,SAAxJA,cAAwJ;AAAA,QAAxIC,SAAwI,SAAxIA,SAAwI;AAAA,QAA7HC,aAA6H,SAA7HA,aAA6H;AAAA,QAA9GC,OAA8G,SAA9GA,OAA8G;AAAA,QAArGC,MAAqG,SAArGA,MAAqG;AAAA,QAA7FC,WAA6F,SAA7FA,WAA6F;AAAA,QAAhFC,eAAgF,SAAhFA,eAAgF;AAAA,QAA/DxB,QAA+D,SAA/DA,QAA+D;AAAA,QAArDyB,iBAAqD,SAArDA,iBAAqD;AAAA,QAAlCC,YAAkC,SAAlCA,YAAkC;AAAA,QAApBC,gBAAoB,SAApBA,gBAAoB;;AAAA;;AAClR,SAAKhB,MAAL,GAAc,CAAC,CAACA,MAAhB;AACA,SAAK5d,IAAL,GAAYA,IAAZ;AACA,SAAK6d,WAAL,GAAmBA,WAAnB;AACA,SAAKxoB,QAAL,GAAgBA,QAAhB;AACA,SAAKyoB,QAAL,GAAgBA,QAAhB;AACA,SAAKpjB,eAAL,GAAuBA,eAAvB;AACA,SAAKqjB,MAAL,GAAcA,MAAd;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKC,SAAL,GAAiBtB,eAAe,CAACsB,SAAD,CAAhC;AACA,SAAKC,aAAL,GAAqBvB,eAAe,CAACuB,aAAD,CAApC;AACA,SAAKC,OAAL,GAAexB,eAAe,CAACwB,OAAD,CAA9B;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKC,WAAL,GAAmB1B,eAAe,CAAC0B,WAAD,CAAlC;AACA,SAAKC,eAAL,GAAuB3B,eAAe,CAAC2B,eAAD,CAAtC;AACA,SAAKxB,QAAL,GAAgBA,QAAhB;AACA,SAAKyB,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAKC,gBAAL,GAAwBA,gBAAxB;AACH;;;;gCA8DW;AACR,aAAO;AACHC,mBAAW,EAAEtC,kBAAkB,CAACuC,SAD7B;AAEH9e,YAAI,EAAE,KAAKA,IAFR;AAGH6d,mBAAW,EAAE,KAAKA,WAHf;AAIHxoB,gBAAQ,EAAE,KAAKA,QAJZ;AAKHyoB,gBAAQ,EAAE,KAAKA,QALZ;AAMHC,cAAM,EAAE,KAAKA,MANV;AAOHC,eAAO,EAAE,KAAKA,OAPX;AAQHC,qBAAa,EAAE,KAAKA,aARjB;AASHC,sBAAc,EAAE,KAAKA,cATlB;AAUHC,sBAAc,EAAE,KAAKA,cAVlB;AAWHC,iBAAS,EAAE,KAAKA,SAXb;AAYHC,qBAAa,EAAE,KAAKA,aAZjB;AAaHC,eAAO,EAAE,KAAKA,OAbX;AAcHC,cAAM,EAAE,KAAKA,MAdV;AAeHC,mBAAW,EAAE,KAAKA,WAff;AAgBHC,uBAAe,EAAE,KAAKA,eAhBnB;AAiBH/jB,uBAAe,EAAE,KAAKA,eAjBnB;AAkBHuiB,gBAAQ,EAAE,KAAKA,QAAL,IAAiB,KAAKA,QAAL,CAAc8B,SAAd,EAlBxB;AAmBHL,yBAAiB,EAAE,KAAKA,iBAnBrB;AAoBHC,oBAAY,EAAE,KAAKA,YApBhB;AAqBHC,wBAAgB,EAAE,KAAKA;AArBpB,OAAP;AAuBH;;;kCArF8O;AAAA,UAA/NhB,MAA+N,SAA/NA,MAA+N;AAAA,UAAvN5d,IAAuN,SAAvNA,IAAuN;AAAA,UAAjN6d,WAAiN,SAAjNA,WAAiN;AAAA,UAApMxoB,QAAoM,SAApMA,QAAoM;AAAA,UAA1LyoB,QAA0L,SAA1LA,QAA0L;AAAA,UAAhLpjB,eAAgL,SAAhLA,eAAgL;AAAA,UAA/JqjB,MAA+J,SAA/JA,MAA+J;AAAA,UAAvJC,OAAuJ,SAAvJA,OAAuJ;AAAA,UAA9IgB,IAA8I,SAA9IA,IAA8I;AAAA,UAAxIZ,SAAwI,SAAxIA,SAAwI;AAAA,UAA7HC,aAA6H,SAA7HA,aAA6H;AAAA,UAA9GC,OAA8G,SAA9GA,OAA8G;AAAA,UAArGC,MAAqG,SAArGA,MAAqG;AAAA,UAA7FC,WAA6F,SAA7FA,WAA6F;AAAA,UAAhFC,eAAgF,SAAhFA,eAAgF;AAAA,UAA/DxB,QAA+D,SAA/DA,QAA+D;AAAA,UAArDyB,iBAAqD,SAArDA,iBAAqD;AAAA,UAAlCC,YAAkC,SAAlCA,YAAkC;AAAA,UAApBC,gBAAoB,SAApBA,gBAAoB;AAC3O,UAAMX,aAAa,GAAG,EAAtB;AACA,UAAMC,cAAc,GAAG,EAAvB;AACA,UAAMC,cAAc,GAAG,EAAvB;;AACA,UAAIa,IAAI,IAAI,IAAZ,EAAkB;AACdplB,cAAM,CAAC+T,IAAP,CAAYqR,IAAZ,EAAkBzrB,OAAlB,CAA0B,UAAA4U,GAAG,EAAI;AAC7B,cAAMlT,KAAK,GAAG+pB,IAAI,CAAC7W,GAAD,CAAlB;AACA,cAAM8W,OAAO,GAAG9W,GAAG,CAACzS,KAAJ,CAAUgmB,YAAV,CAAhB;;AACA,cAAIuD,OAAO,KAAK,IAAhB,EAAsB;AAClBd,0BAAc,CAAChW,GAAD,CAAd,GAAsBlT,KAAtB;AACH,WAFD,MAGK,IAAIgqB,OAAO,CAAC,CAAD,CAAP,IAAc,IAAlB,EAAwB;AACzBf,0BAAc,CAACe,OAAO,CAAC,CAAD,CAAR,CAAd,GAA6BhqB,KAA7B;AACH,WAFI,MAGA,IAAIgqB,OAAO,CAAC,CAAD,CAAP,IAAc,IAAlB,EAAwB;AACzBhB,yBAAa,CAACgB,OAAO,CAAC,CAAD,CAAR,CAAb,GAA4BhqB,KAA5B;AACH;AACJ,SAZD;AAaH;;AACD,UAAMiqB,SAAS,GAAG,EAAlB;;AACA,UAAInB,MAAM,IAAI,IAAd,EAAoB;AAChBA,cAAM,CAACxqB,OAAP,CAAe,UAAC4rB,UAAD,EAAgB;AAC3B;AACA;AACA,cAAM3W,KAAK,GAAGiH,YAAY,CAAC0P,UAAD,EAAa,CAACA,UAAD,EAAaA,UAAb,CAAb,CAA1B;AACAD,mBAAS,CAAC1W,KAAK,CAAC,CAAD,CAAN,CAAT,GAAsBA,KAAK,CAAC,CAAD,CAA3B;AACH,SALD;AAMH;;AACD,UAAM4W,UAAU,GAAG,EAAnB;;AACA,UAAIpB,OAAO,IAAI,IAAf,EAAqB;AACjBA,eAAO,CAACzqB,OAAR,CAAgB,UAAC4rB,UAAD,EAAgB;AAC5B;AACA;AACA,cAAM3W,KAAK,GAAGiH,YAAY,CAAC0P,UAAD,EAAa,CAACA,UAAD,EAAaA,UAAb,CAAb,CAA1B;AACAC,oBAAU,CAAC5W,KAAK,CAAC,CAAD,CAAN,CAAV,GAAuBA,KAAK,CAAC,CAAD,CAA5B;AACH,SALD;AAMH;;AACD,aAAO,IAAImV,wBAAJ,CAA6B;AAChCC,cAAM,EAANA,MADgC;AAEhC5d,YAAI,EAAJA,IAFgC;AAGhC6d,mBAAW,EAAE,CAAC,CAACA,WAHiB;AAIhCxoB,gBAAQ,EAARA,QAJgC;AAKhCyoB,gBAAQ,EAARA,QALgC;AAMhCpjB,uBAAe,EAAfA,eANgC;AAOhCqjB,cAAM,EAAEmB,SAPwB;AAQhClB,eAAO,EAAEoB,UARuB;AAShCnB,qBAAa,EAAbA,aATgC;AAUhCC,sBAAc,EAAdA,cAVgC;AAWhCC,sBAAc,EAAdA,cAXgC;AAYhCC,iBAAS,EAATA,SAZgC;AAahCC,qBAAa,EAAbA,aAbgC;AAchCC,eAAO,EAAPA,OAdgC;AAehCC,cAAM,EAANA,MAfgC;AAgBhCC,mBAAW,EAAXA,WAhBgC;AAiBhCC,uBAAe,EAAfA,eAjBgC;AAkBhCxB,gBAAQ,EAARA,QAlBgC;AAmBhCyB,yBAAiB,EAAjBA,iBAnBgC;AAoBhCC,oBAAY,EAAZA,YApBgC;AAqBhCC,wBAAgB,EAAhBA;AArBgC,OAA7B,CAAP;AAuBH;;;;;;IA2BCS,mB;AACF,sCAAkC;AAAA,QAApBrf,IAAoB,SAApBA,IAAoB;AAAA,QAAdxM,IAAc,SAAdA,IAAc;AAAA,QAARsH,IAAQ,SAARA,IAAQ;;AAAA;;AAC9B,SAAKkF,IAAL,GAAYA,IAAZ;AACA,SAAKxM,IAAL,GAAYA,IAAZ;AACA,SAAKsH,IAAL,GAAY,CAAC,CAACA,IAAd;AACH;;;;gCACW;AACR,aAAO;AACH+jB,mBAAW,EAAEtC,kBAAkB,CAAC+C,IAD7B;AAEHtf,YAAI,EAAE,KAAKA,IAFR;AAGHxM,YAAI,EAAE,KAAKA,IAHR;AAIHsH,YAAI,EAAE,KAAKA;AAJR,OAAP;AAMH;;;;;;IAECykB,4B;;;AAEN;AACA;AACA;;;IACMC,uB;AACF,0CAA8M;AAAA,QAAhMxf,IAAgM,SAAhMA,IAAgM;AAAA,QAA1Loe,SAA0L,SAA1LA,SAA0L;AAAA,QAA/KqB,kBAA+K,SAA/KA,kBAA+K;AAAA,QAA3JC,kBAA2J,SAA3JA,kBAA2J;AAAA,QAAvIC,aAAuI,SAAvIA,aAAuI;AAAA,QAAxHC,aAAwH,SAAxHA,aAAwH;AAAA,QAAzGnB,eAAyG,SAAzGA,eAAyG;AAAA,QAAxFoB,mBAAwF,SAAxFA,mBAAwF;AAAA,QAAnEC,eAAmE,SAAnEA,eAAmE;AAAA,QAAlDC,eAAkD,SAAlDA,eAAkD;AAAA,QAAjCC,OAAiC,SAAjCA,OAAiC;AAAA,QAAxBC,gBAAwB,SAAxBA,gBAAwB;AAAA,QAANhS,EAAM,SAANA,EAAM;;AAAA;;AAC1M,SAAKjO,IAAL,GAAYA,IAAI,IAAI,IAApB;AACA,SAAKyf,kBAAL,GAA0B3C,eAAe,CAAC2C,kBAAD,CAAzC;AACA,SAAKC,kBAAL,GAA0B5C,eAAe,CAAC4C,kBAAD,CAAzC;AACA,SAAKC,aAAL,GAAqB7C,eAAe,CAAC6C,aAAD,CAApC;AACA,SAAKC,aAAL,GAAqB9C,eAAe,CAAC8C,aAAD,CAApC;AACA,SAAKxB,SAAL,GAAiBtB,eAAe,CAACsB,SAAD,CAAhC;AACA,SAAKK,eAAL,GAAuB3B,eAAe,CAAC2B,eAAD,CAAtC;AACA,SAAKoB,mBAAL,GAA2B/C,eAAe,CAAC+C,mBAAD,CAA1C;AACA,SAAKC,eAAL,GAAuBhD,eAAe,CAACgD,eAAD,CAAtC;AACA,SAAKC,eAAL,GAAuBjD,eAAe,CAACiD,eAAD,CAAtC;AACA,SAAKC,OAAL,GAAelD,eAAe,CAACkD,OAAD,CAA9B;AACA,SAAK/R,EAAL,GAAUA,EAAE,IAAI,IAAhB;AACA,SAAKgS,gBAAL,GAAwBA,gBAAgB,IAAI,IAA5C;AACH;;;;gCACW;AACR,UAAMC,MAAM,GAAG,KAAKD,gBAApB;AACA,aAAO;AACHpB,mBAAW,EAAEtC,kBAAkB,CAAC4D,QAD7B;AAEHngB,YAAI,EAAE,KAAKA,IAFR;AAGHye,uBAAe,EAAEyB,MAAM,CAACzB,eAHrB;AAIHL,iBAAS,EAAE8B,MAAM,CAAC9B,SAJf;AAKHgC,eAAO,EAAEF,MAAM,CAACE,OALb;AAMHV,0BAAkB,EAAEQ,MAAM,CAACR,kBANxB;AAOHE,qBAAa,EAAEM,MAAM,CAACN;AAPnB,OAAP;AASH;;;;;;IAECS,iC;AACF,+CAAc;AAAA;;AACV,SAAKC,aAAL,GAAqB,IAAIxT,GAAJ,EAArB;AACA,SAAKyT,UAAL,GAAkB,EAAlB;AACA,SAAKC,qBAAL,GAA6B,IAAI1T,GAAJ,EAA7B;AACA,SAAK4S,kBAAL,GAA0B,EAA1B;AACA,SAAKe,QAAL,GAAgB,IAAI3T,GAAJ,EAAhB;AACA,SAAK4T,KAAL,GAAa,EAAb;AACA,SAAKC,gBAAL,GAAwB,IAAI7T,GAAJ,EAAxB;AACA,SAAK8S,aAAL,GAAqB,EAArB;AACA,SAAKgB,UAAL,GAAkB,IAAI9T,GAAJ,EAAlB;AACA,SAAKsT,OAAL,GAAe,EAAf;AACA,SAAKS,kBAAL,GAA0B,IAAI/T,GAAJ,EAA1B;AACA,SAAK2R,eAAL,GAAuB,EAAvB;AACA,SAAKL,SAAL,GAAiB,EAAjB;AACH;;;;gCACW0C,Q,EAAUZ,M,EAAQ;AAC1B,WAAK9B,SAAL,CAAerpB,IAAf,CAAoB;AAAE+rB,gBAAQ,EAAEA,QAAZ;AAAsBZ,cAAM,EAAEA;AAA9B,OAApB;AACH;;;iCACYjS,E,EAAI;AACb,UAAI,CAAC,KAAKqS,aAAL,CAAmBS,GAAnB,CAAuB9S,EAAE,CAAC4M,SAA1B,CAAL,EAA2C;AACvC,aAAKyF,aAAL,CAAmBvT,GAAnB,CAAuBkB,EAAE,CAAC4M,SAA1B;AACA,aAAK0F,UAAL,CAAgBxrB,IAAhB,CAAqBkZ,EAArB;AACH;AACJ;;;yCACoBA,E,EAAI;AACrB,UAAI,CAAC,KAAKuS,qBAAL,CAA2BO,GAA3B,CAA+B9S,EAAE,CAAC4M,SAAlC,CAAL,EAAmD;AAC/C,aAAK2F,qBAAL,CAA2BzT,GAA3B,CAA+BkB,EAAE,CAAC4M,SAAlC;AACA,aAAK6E,kBAAL,CAAwB3qB,IAAxB,CAA6BkZ,EAA7B;AACH;AACJ;;;4BACOA,E,EAAI;AACR,UAAI,CAAC,KAAKwS,QAAL,CAAcM,GAAd,CAAkB9S,EAAE,CAAC4M,SAArB,CAAL,EAAsC;AAClC,aAAK4F,QAAL,CAAc1T,GAAd,CAAkBkB,EAAE,CAAC4M,SAArB;AACA,aAAK6F,KAAL,CAAW3rB,IAAX,CAAgBkZ,EAAhB;AACH;AACJ;;;oCACeA,E,EAAI;AAChB,UAAI,CAAC,KAAK0S,gBAAL,CAAsBI,GAAtB,CAA0B9S,EAAE,CAAC4M,SAA7B,CAAL,EAA8C;AAC1C,aAAK8F,gBAAL,CAAsB5T,GAAtB,CAA0BkB,EAAE,CAAC4M,SAA7B;AACA,aAAK+E,aAAL,CAAmB7qB,IAAnB,CAAwBkZ,EAAxB;AACH;AACJ;;;8BACSA,E,EAAI;AACV,UAAI,CAAC,KAAK2S,UAAL,CAAgBG,GAAhB,CAAoB9S,EAAE,CAAC4M,SAAvB,CAAL,EAAwC;AACpC,aAAK+F,UAAL,CAAgB7T,GAAhB,CAAoBkB,EAAE,CAAC4M,SAAvB;AACA,aAAKuF,OAAL,CAAarrB,IAAb,CAAkBkZ,EAAlB;AACH;AACJ;;;sCACiB+S,E,EAAI;AAClB,UAAI,CAAC,KAAKH,kBAAL,CAAwBE,GAAxB,CAA4BC,EAAE,CAACC,aAA/B,CAAL,EAAoD;AAChD,aAAKJ,kBAAL,CAAwB9T,GAAxB,CAA4BiU,EAAE,CAACC,aAA/B;AACA,aAAKxC,eAAL,CAAqB1pB,IAArB,CAA0BisB,EAA1B;AACH;AACJ;;;;;;AAEL,SAASlE,eAAT,CAAyBpgB,GAAzB,EAA8B;AAC1B,SAAOA,GAAG,IAAI,EAAd;AACH;;IACKwkB,Y,GACF,sBAAYhoB,KAAZ,SAAiF;AAAA,MAA5DioB,QAA4D,SAA5DA,QAA4D;AAAA,MAAlDC,QAAkD,SAAlDA,QAAkD;AAAA,MAAxCC,WAAwC,SAAxCA,WAAwC;AAAA,MAA3BC,UAA2B,SAA3BA,UAA2B;AAAA,MAAfC,IAAe,SAAfA,IAAe;AAAA,MAATC,KAAS,SAATA,KAAS;;AAAA;;AAC7E,OAAKtoB,KAAL,GAAaA,KAAb;AACA,OAAKioB,QAAL,GAAgBA,QAAQ,IAAI,IAA5B;AACA,OAAKC,QAAL,GAAgBA,QAAhB;AACA,OAAKC,WAAL,GAAmBA,WAAnB;AACA,OAAKC,UAAL,GAAkBA,UAAU,IAAI,IAAhC;AACA,OAAKG,YAAL,GAAoBF,IAAI,IAAI,IAA5B;AACA,OAAKC,KAAL,GAAa,CAAC,CAACA,KAAf;AACH,C;;AAEL,SAAS9D,OAAT,CAAiB3J,IAAjB,EAAuB;AACnB,SAAOA,IAAI,CAAC2N,MAAL,CAAY,UAACC,IAAD,EAAOvN,IAAP,EAAgB;AAC/B,QAAMwN,QAAQ,GAAG3R,KAAK,CAACC,OAAN,CAAckE,IAAd,IAAsBsJ,OAAO,CAACtJ,IAAD,CAA7B,GAAsCA,IAAvD;AACA,WAAOuN,IAAI,CAAC3sB,MAAL,CAAY4sB,QAAZ,CAAP;AACH,GAHM,EAGJ,EAHI,CAAP;AAIH;;AACD,SAASC,YAAT,CAAsBC,GAAtB,EAA2B;AACvB;AACA;AACA,SAAOA,GAAG,CAAChc,OAAJ,CAAY,0BAAZ,EAAwC,QAAxC,CAAP;AACH;;AACD,SAASic,iBAAT,CAA2BC,YAA3B,EAAyCC,QAAzC,EAAmDC,YAAnD,EAAiE;AAC7D,MAAIJ,GAAJ;;AACA,MAAII,YAAY,CAAC1E,QAAjB,EAA2B;AACvB,QAAIyE,QAAQ,CAACjiB,IAAT,CAAc6a,SAAd,YAAmCK,YAAvC,EAAqD;AACjD;AACA;AACA4G,SAAG,aAAMG,QAAQ,CAACjiB,IAAT,CAAc6a,SAAd,CAAwBM,QAA9B,cAA0C8G,QAAQ,CAACjiB,IAAT,CAAc6a,SAAd,CAAwBrnB,IAAlE,UAAH;AACH,KAJD,MAKK;AACDsuB,SAAG,aAAMjG,cAAc,CAACmG,YAAD,CAApB,cAAsCnG,cAAc,CAACoG,QAAQ,CAACjiB,IAAV,CAApD,UAAH;AACH;AACJ,GATD,MAUK;AACD8hB,OAAG,GAAGI,YAAY,CAAChF,WAAnB;AACH;;AACD,SAAO+E,QAAQ,CAACjiB,IAAT,CAAc6a,SAAd,YAAmCK,YAAnC,GAAkD4G,GAAlD,GAAwDD,YAAY,CAACC,GAAD,CAA3E;AACH;;AACD,SAASK,sBAAT,CAAgCC,IAAhC,EAAsCnU,EAAtC,EAA0C;AACtC,MAAMoU,SAAS,GAAGD,IAAI,CAACzF,SAAL,CAAe1J,KAAf,CAAqB,OAArB,CAAlB;AACA,MAAMqP,QAAQ,GAAGD,SAAS,CAACA,SAAS,CAAC/uB,MAAV,GAAmB,CAApB,CAA1B;AACA,SAAOuuB,YAAY,eAAQ5T,EAAR,SAAaqU,QAAb,iBAAnB;AACH;;AACD,SAASC,cAAT,CAAwBC,UAAxB,EAAoC;AAChC,SAAOX,YAAY,WAAIhG,cAAc,CAAC2G,UAAU,CAACxiB,IAAZ,CAAlB,0BAAnB;AACH;;AACD,SAASyiB,cAAT,CAAwBT,YAAxB,EAAsCC,QAAtC,EAAgD;AAC5C,SAAOJ,YAAY,WAAIhG,cAAc,CAACmG,YAAD,CAAlB,cAAoCnG,cAAc,CAACoG,QAAQ,CAACjiB,IAAV,CAAlD,mBAAnB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM0iB,MAAM,GAAG,eAAf;;IACMC,a;;;AAEN;;;AACAA,aAAa,CAACC,UAAd,GAA2B,SAA3B;AACAD,aAAa,CAACE,gBAAd,GAAiC,WAAjC;AACAF,aAAa,CAACG,UAAd,GAA2B,aAA3B;AACA;;AACAH,aAAa,CAACI,aAAd,GAA8B;AAAEvvB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAACK,eAAd,GAAgC;AAAExvB,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEoc;AAAzC,CAAhC;AACAC,aAAa,CAACM,YAAd,GAA6B;AAAEzvB,MAAI,EAAE,gBAAR;AAA0B8S,YAAU,EAAEoc;AAAtC,CAA7B;AACAC,aAAa,CAACvuB,OAAd,GAAwB;AAAEZ,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEoc;AAAjC,CAAxB;AACAC,aAAa,CAACO,YAAd,GAA6B;AAAE1vB,MAAI,EAAE,gBAAR;AAA0B8S,YAAU,EAAEoc;AAAtC,CAA7B;AACAC,aAAa,CAACQ,UAAd,GAA2B;AAAE3vB,MAAI,EAAE,cAAR;AAAwB8S,YAAU,EAAEoc;AAApC,CAA3B;AACAC,aAAa,CAACS,OAAd,GAAwB;AAAE5vB,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEoc;AAAjC,CAAxB;AACAC,aAAa,CAACU,qBAAd,GAAsC;AAAE7vB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACW,qBAAd,GAAsC;AAAE9vB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACvsB,SAAd,GAA0B;AAAE5C,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEoc;AAAnC,CAA1B;AACAC,aAAa,CAACY,qBAAd,GAAsC;AAAE/vB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACa,qBAAd,GAAsC;AAAEhwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACc,qBAAd,GAAsC;AAAEjwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACe,qBAAd,GAAsC;AAAElwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACgB,qBAAd,GAAsC;AAAEnwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACiB,qBAAd,GAAsC;AAAEpwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACkB,qBAAd,GAAsC;AAAErwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACmB,qBAAd,GAAsC;AAAEtwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACoB,qBAAd,GAAsC;AAAEvwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACqB,SAAd,GAA0B;AAAExwB,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEoc;AAAnC,CAA1B;AACAC,aAAa,CAACsB,qBAAd,GAAsC;AAAEzwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACuB,mBAAd,GAAoC;AAAE1wB,MAAI,EAAE,uBAAR;AAAiC8S,YAAU,EAAEoc;AAA7C,CAApC;AACAC,aAAa,CAACwB,gBAAd,GAAiC;AAAE3wB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEoc;AAA1C,CAAjC;AACAC,aAAa,CAACyB,QAAd,GAAyB;AAAE5wB,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEoc;AAAlC,CAAzB;AACAC,aAAa,CAAC0B,oBAAd,GAAqC;AAAE7wB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC2B,oBAAd,GAAqC;AAAE9wB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC4B,oBAAd,GAAqC;AAAE/wB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC6B,oBAAd,GAAqC;AAAEhxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC8B,oBAAd,GAAqC;AAAEjxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC+B,oBAAd,GAAqC;AAAElxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAACgC,oBAAd,GAAqC;AAAEnxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAACiC,oBAAd,GAAqC;AAAEpxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAACkC,oBAAd,GAAqC;AAAErxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAACmC,QAAd,GAAyB;AAAEtxB,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEoc;AAAlC,CAAzB;AACAC,aAAa,CAACoC,oBAAd,GAAqC;AAAEvxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAACqC,oBAAd,GAAqC;AAAExxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAACsC,oBAAd,GAAqC;AAAEzxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAACuC,oBAAd,GAAqC;AAAE1xB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAACwC,oBAAd,GAAqC;AAAE3xB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAACyC,oBAAd,GAAqC;AAAE5xB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC0C,oBAAd,GAAqC;AAAE7xB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC2C,oBAAd,GAAqC;AAAE9xB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC4C,oBAAd,GAAqC;AAAE/xB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC6C,SAAd,GAA0B;AAAEhyB,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEoc;AAAnC,CAA1B;AACAC,aAAa,CAAC8C,qBAAd,GAAsC;AAAEjyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAAC+C,qBAAd,GAAsC;AAAElyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACgD,qBAAd,GAAsC;AAAEnyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACiD,qBAAd,GAAsC;AAAEpyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACkD,qBAAd,GAAsC;AAAEryB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACmD,qBAAd,GAAsC;AAAEtyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACoD,qBAAd,GAAsC;AAAEvyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACqD,qBAAd,GAAsC;AAAExyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACsD,qBAAd,GAAsC;AAAEzyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAACuD,WAAd,GAA4B;AAAE1yB,MAAI,EAAE,eAAR;AAAyB8S,YAAU,EAAEoc;AAArC,CAA5B;AACAC,aAAa,CAACwD,cAAd,GAA+B;AAAE3yB,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEoc;AAAlC,CAA/B;AACAC,aAAa,CAACve,IAAd,GAAqB;AAAE5Q,MAAI,EAAE,QAAR;AAAkB8S,YAAU,EAAEoc;AAA9B,CAArB;AACAC,aAAa,CAACyD,cAAd,GAA+B;AAAE5yB,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEoc;AAAxC,CAA/B;AACAC,aAAa,CAAC0D,eAAd,GAAgC;AAAE7yB,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEoc;AAAzC,CAAhC;AACAC,aAAa,CAAC2D,cAAd,GAA+B;AAAE9yB,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEoc;AAAxC,CAA/B;AACAC,aAAa,CAAC4D,eAAd,GAAgC;AAAE/yB,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEoc;AAAzC,CAAhC;AACAC,aAAa,CAAC6D,gBAAd,GAAiC;AAAEhzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEoc;AAA1C,CAAjC;AACAC,aAAa,CAAC8D,gBAAd,GAAiC;AAAEjzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEoc;AAA1C,CAAjC;AACAC,aAAa,CAAC+D,gBAAd,GAAiC;AAAElzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEoc;AAA1C,CAAjC;AACAC,aAAa,CAACgE,gBAAd,GAAiC;AAAEnzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEoc;AAA1C,CAAjC;AACAC,aAAa,CAACiE,gBAAd,GAAiC;AAAEpzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEoc;AAA1C,CAAjC;AACAC,aAAa,CAACkE,gBAAd,GAAiC;AAAErzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEoc;AAA1C,CAAjC;AACAC,aAAa,CAACmE,gBAAd,GAAiC;AAAEtzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEoc;AAA1C,CAAjC;AACAC,aAAa,CAACoE,gBAAd,GAAiC;AAAEvzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEoc;AAA1C,CAAjC;AACAC,aAAa,CAACqE,gBAAd,GAAiC;AAAExzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEoc;AAA1C,CAAjC;AACAC,aAAa,CAACsE,WAAd,GAA4B;AAAEzzB,MAAI,EAAE,eAAR;AAAyB8S,YAAU,EAAEoc;AAArC,CAA5B;AACAC,aAAa,CAACuE,aAAd,GAA8B;AAAE1zB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAACwE,aAAd,GAA8B;AAAE3zB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAACyE,aAAd,GAA8B;AAAE5zB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAAC0E,aAAd,GAA8B;AAAE7zB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAAC2E,aAAd,GAA8B;AAAE9zB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAAC4E,aAAd,GAA8B;AAAE/zB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAAC6E,aAAd,GAA8B;AAAEh0B,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAAC8E,aAAd,GAA8B;AAAEj0B,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAAC+E,aAAd,GAA8B;AAAEl0B,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAACgF,aAAd,GAA8B;AAAEn0B,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAACiF,SAAd,GAA0B;AAAEp0B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEoc;AAAnC,CAA1B;AACAC,aAAa,CAACkF,SAAd,GAA0B;AAAEr0B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEoc;AAAnC,CAA1B;AACAC,aAAa,CAACmF,SAAd,GAA0B;AAAEt0B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEoc;AAAnC,CAA1B;AACAC,aAAa,CAACoF,SAAd,GAA0B;AAAEv0B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEoc;AAAnC,CAA1B;AACAC,aAAa,CAACqF,SAAd,GAA0B;AAAEx0B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEoc;AAAnC,CAA1B;AACAC,aAAa,CAACsF,YAAd,GAA6B;AAAEz0B,MAAI,EAAE,gBAAR;AAA0B8S,YAAU,EAAEoc;AAAtC,CAA7B;AACAC,aAAa,CAACvM,QAAd,GAAyB;AAAE5iB,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEoc;AAAlC,CAAzB;AACAC,aAAa,CAACuF,mBAAd,GAAoC;AAAE10B,MAAI,EAAE,uBAAR;AAAiC8S,YAAU,EAAEoc;AAA7C,CAApC;AACAC,aAAa,CAACwF,oBAAd,GAAqC;AAAE30B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAACyF,oBAAd,GAAqC;AAAE50B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC0F,oBAAd,GAAqC;AAAE70B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC2F,oBAAd,GAAqC;AAAE90B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC4F,oBAAd,GAAqC;AAAE/0B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC6F,oBAAd,GAAqC;AAAEh1B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC8F,oBAAd,GAAqC;AAAEj1B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAAC+F,oBAAd,GAAqC;AAAEl1B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAACgG,oBAAd,GAAqC;AAAEn1B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAACiG,IAAd,GAAqB;AAAEp1B,MAAI,EAAE,QAAR;AAAkB8S,YAAU,EAAEoc;AAA9B,CAArB;AACAC,aAAa,CAACkG,cAAd,GAA+B;AAAEr1B,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEoc;AAAxC,CAA/B;AACAC,aAAa,CAACmG,OAAd,GAAwB;AAAEt1B,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEoc;AAAjC,CAAxB;AACAC,aAAa,CAACoG,SAAd,GAA0B;AAAEv1B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEoc;AAAnC,CAA1B;AACAC,aAAa,CAACqG,OAAd,GAAwB;AAAEx1B,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEoc;AAAjC,CAAxB;AACAC,aAAa,CAACsG,SAAd,GAA0B;AAAEz1B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEoc;AAAnC,CAA1B;AACAC,aAAa,CAACuG,eAAd,GAAgC;AAAE11B,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEoc;AAAzC,CAAhC;AACAC,aAAa,CAACwG,IAAd,GAAqB;AAAE31B,MAAI,EAAE,QAAR;AAAkB8S,YAAU,EAAEoc;AAA9B,CAArB;AACAC,aAAa,CAACyG,UAAd,GAA2B;AAAE51B,MAAI,EAAE,cAAR;AAAwB8S,YAAU,EAAEoc;AAApC,CAA3B;AACAC,aAAa,CAAC0G,aAAd,GAA8B;AAAE71B,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAAC9H,SAAd,GAA0B;AAAErnB,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEoc;AAAnC,CAA1B;AACAC,aAAa,CAAC/J,MAAd,GAAuB;AAAEplB,MAAI,EAAE,UAAR;AAAoB8S,YAAU,EAAEoc;AAAhC,CAAvB;AACAC,aAAa,CAAC2G,eAAd,GAAgC;AAAE91B,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEoc;AAAzC,CAAhC;AACAC,aAAa,CAAC4G,2BAAd,GAA4C;AAAE/1B,MAAI,EAAE,+BAAR;AAAyC8S,YAAU,EAAEoc;AAArD,CAA5C;AACAC,aAAa,CAAC9J,eAAd,GAAgC;AAAErlB,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEoc;AAAzC,CAAhC;AACAC,aAAa,CAAC6G,cAAd,GAA+B;AAAEh2B,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEoc;AAAxC,CAA/B;AACAC,aAAa,CAAC8G,iBAAd,GAAkC;AAAEj2B,MAAI,EAAE,qBAAR;AAA+B8S,YAAU,EAAEoc;AAA3C,CAAlC;AACAC,aAAa,CAAC+G,oBAAd,GAAqC;AAAEl2B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEoc;AAA9C,CAArC;AACAC,aAAa,CAACgH,aAAd,GAA8B;AAAEn2B,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAACiH,eAAd,GAAgC;AAAEp2B,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEoc;AAAzC,CAAhC;AACAC,aAAa,CAACkH,WAAd,GAA4B;AAAEr2B,MAAI,EAAE,eAAR;AAAyB8S,YAAU,EAAEoc;AAArC,CAA5B;AACAC,aAAa,CAACmH,eAAd,GAAgC;AAAEt2B,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEoc;AAAzC,CAAhC;AACAC,aAAa,CAACoH,iBAAd,GAAkC;AAAEv2B,MAAI,EAAE,qBAAR;AAA+B8S,YAAU,EAAEoc;AAA3C,CAAlC;AACAC,aAAa,CAACqH,oBAAd,GAAqC;AACjCx2B,MAAI,EAAE,wBAD2B;AAEjC8S,YAAU,EAAEoc;AAFqB,CAArC;AAIAC,aAAa,CAACsH,UAAd,GAA2B;AACvBz2B,MAAI,EAAE,cADiB;AAEvB8S,YAAU,EAAEoc;AAFW,CAA3B;AAIAC,aAAa,CAACuH,eAAd,GAAgC;AAC5B12B,MAAI,EAAE,mBADsB;AAE5B8S,YAAU,EAAEoc;AAFgB,CAAhC;AAIAC,aAAa,CAACwH,oBAAd,GAAqC;AACjC32B,MAAI,EAAE,wBAD2B;AAEjC8S,YAAU,EAAEoc;AAFqB,CAArC;AAIAC,aAAa,CAACyH,WAAd,GAA4B;AACxB52B,MAAI,EAAE,eADkB;AAExB8S,YAAU,EAAEoc;AAFY,CAA5B;AAIAC,aAAa,CAAC0H,cAAd,GAA+B;AAC3B72B,MAAI,EAAE,kBADqB;AAE3B8S,YAAU,EAAEoc;AAFe,CAA/B;AAIAC,aAAa,CAAC2H,mBAAd,GAAoC;AAChC92B,MAAI,EAAE,uBAD0B;AAEhC8S,YAAU,EAAEoc;AAFoB,CAApC;AAIAC,aAAa,CAAC4H,mBAAd,GAAoC;AAChC/2B,MAAI,EAAE,qBAD0B;AAEhC8S,YAAU,EAAEoc;AAFoB,CAApC;AAIAC,aAAa,CAAC6H,cAAd,GAA+B;AAAEh3B,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEoc;AAAxC,CAA/B;AACAC,aAAa,CAAC8H,gBAAd,GAAiC;AAAEj3B,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEoc;AAA1C,CAAjC;AACAC,aAAa,CAAC+H,eAAd,GAAgC;AAAEl3B,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEoc;AAAzC,CAAhC;AACAC,aAAa,CAACgI,UAAd,GAA2B;AAAEn3B,MAAI,EAAE,cAAR;AAAwB8S,YAAU,EAAEoc;AAApC,CAA3B;AACAC,aAAa,CAACiI,YAAd,GAA6B;AAAEp3B,MAAI,EAAE,gBAAR;AAA0B8S,YAAU,EAAEoc;AAAtC,CAA7B;AACAC,aAAa,CAACkI,SAAd,GAA0B;AAAEr3B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEoc;AAAnC,CAA1B;AACAC,aAAa,CAACmI,eAAd,GAAgC;AAAEt3B,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEoc;AAAzC,CAAhC;AACAC,aAAa,CAACoI,kBAAd,GAAmC;AAAEv3B,MAAI,EAAE,sBAAR;AAAgC8S,YAAU,EAAEoc;AAA5C,CAAnC;AACAC,aAAa,CAACqI,SAAd,GAA0B;AAAEx3B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEoc;AAAnC,CAA1B;AACAC,aAAa,CAACsI,YAAd,GAA6B;AAAEz3B,MAAI,EAAE,gBAAR;AAA0B8S,YAAU,EAAEoc;AAAtC,CAA7B;AACAC,aAAa,CAACuI,kBAAd,GAAmC;AAAE13B,MAAI,EAAE,sBAAR;AAAgC8S,YAAU,EAAEoc;AAA5C,CAAnC;AACAC,aAAa,CAACwI,wBAAd,GAAyC;AAAE33B,MAAI,EAAE,4BAAR;AAAsC8S,YAAU,EAAEoc;AAAlD,CAAzC;AACAC,aAAa,CAACyI,qBAAd,GAAsC;AAAE53B,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEoc;AAA/C,CAAtC;AACAC,aAAa,CAAC0I,gBAAd,GAAiC;AAAE73B,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEoc;AAA1C,CAAjC;AACAC,aAAa,CAAC2I,QAAd,GAAyB;AAAE93B,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEoc;AAAlC,CAAzB;AACAC,aAAa,CAAC4I,YAAd,GAA6B;AACzB/3B,MAAI,EAAE,gBADmB;AAEzB8S,YAAU,EAAEoc;AAFa,CAA7B;AAIAC,aAAa,CAAC6I,mBAAd,GAAoC;AAChCh4B,MAAI,EAAE,uBAD0B;AAEhC8S,YAAU,EAAEoc;AAFoB,CAApC,C,CAIA;;AACAC,aAAa,CAAC8I,YAAd,GAA6B;AAAEj4B,MAAI,EAAE,gBAAR;AAA0B8S,YAAU,EAAEoc;AAAtC,CAA7B;AACAC,aAAa,CAAC+I,aAAd,GAA8B;AAAEl4B,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEoc;AAAvC,CAA9B;AACAC,aAAa,CAACgJ,mBAAd,GAAoC;AAAEn4B,MAAI,EAAE,uBAAR;AAAiC8S,YAAU,EAAEoc;AAA7C,CAApC;AACAC,aAAa,CAACiJ,cAAd,GAA+B;AAAEp4B,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEoc;AAAxC,CAA/B;AACAC,aAAa,CAACkJ,WAAd,GAA4B;AAAEr4B,MAAI,EAAE,eAAR;AAAyB8S,YAAU,EAAEoc;AAArC,CAA5B;AACAC,aAAa,CAACmJ,wBAAd,GAAyC;AAAEt4B,MAAI,EAAE,4BAAR;AAAsC8S,YAAU,EAAEoc;AAAlD,CAAzC;AACAC,aAAa,CAACoJ,iBAAd,GAAkC;AAAEv4B,MAAI,EAAE,qBAAR;AAA+B8S,YAAU,EAAEoc;AAA3C,CAAlC;AACAC,aAAa,CAACqJ,mBAAd,GAAoC;AAAEx4B,MAAI,EAAE,uBAAR;AAAiC8S,YAAU,EAAEoc;AAA7C,CAApC;AACAC,aAAa,CAACsJ,wBAAd,GAAyC;AAAEz4B,MAAI,EAAE,4BAAR;AAAsC8S,YAAU,EAAEoc;AAAlD,CAAzC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,SAASwJ,kBAAT,CAA4Bl0B,GAA5B,EAAiC;AAC7B,MAAMlD,MAAM,GAAG8E,MAAM,CAAC+T,IAAP,CAAY3V,GAAZ,EAAiBA,GAAjB,CAAqB,UAAAmQ,GAAG;AAAA,WAAK;AACxCA,SAAG,EAAHA,GADwC;AAExC;AACA;AACAlT,WAAK,EAAE+C,GAAG,CAACmQ,GAAD,CAJ8B;AAKxCC,YAAM,EAAE;AALgC,KAAL;AAAA,GAAxB,CAAf;AAOA,SAAOmG,UAAU,CAACzZ,MAAD,CAAjB;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASq3B,mBAAT,CAA6B/J,IAA7B,EAAmCnM,GAAnC,EAAwC;AACpC,MAAIhG,KAAK,CAACC,OAAN,CAAckS,IAAd,CAAJ,EAAyB;AACrB,WAAO9T,UAAU,CAAC8T,IAAI,CAACpqB,GAAL,CAAS,UAAAgU,KAAK;AAAA,aAAImgB,mBAAmB,CAACngB,KAAD,EAAQiK,GAAR,CAAvB;AAAA,KAAd,CAAD,CAAjB;AACH;;AACD,MAAImM,IAAI,YAAYlH,YAApB,EAAkC;AAC9B,WAAOjF,GAAG,CAACjI,UAAJ,CAAeoU,IAAf,CAAP;AACH;;AACD,MAAIA,IAAI,IAAI,IAAZ,EAAkB;AACd,WAAOtT,OAAO,CAACsT,IAAD,CAAd;AACH;;AACD,QAAM,IAAIrwB,KAAJ,4DAA8DqwB,IAA9D,EAAN;AACH;;AACD,SAASgK,kBAAT,CAA4BpsB,IAA5B,EAAkCqsB,SAAlC,EAA6C;AACzC,MAAIA,SAAS,KAAK,CAAlB,EAAqB;AACjB,WAAOje,cAAc,CAACpO,IAAD,CAArB;AACH;;AACD,MAAMK,MAAM,GAAG,EAAf;;AACA,OAAK,IAAI1L,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG03B,SAApB,EAA+B13B,CAAC,EAAhC,EAAoC;AAChC0L,UAAM,CAACtL,IAAP,CAAYyJ,YAAZ;AACH;;AACD,SAAO4P,cAAc,CAACpO,IAAD,EAAOzG,SAAP,EAAkB8G,MAAlB,CAArB;AACH;;AACD,IAAMisB,qBAAqB,GAAG,GAA9B;;AACA,SAASC,4BAAT,CAAsC/4B,IAAtC,EAA4C;AACxC,mBAAU84B,qBAAV,SAAkC94B,IAAlC;AACH;;AACD,SAASg5B,4BAAT,CAAsCh5B,IAAtC,EAA4Ci5B,KAA5C,EAAmD;AAC/C,mBAAUH,qBAAV,SAAkC94B,IAAlC,cAA0Ci5B,KAA1C;AACH;;AACD,SAASC,6BAAT,CAAuCl5B,IAAvC,EAA6C;AACzC,SAAOA,IAAI,CAACm5B,MAAL,CAAY,CAAZ,KAAkBL,qBAAzB;AACH;;AACD,SAASM,wBAAT,CAAkCp5B,IAAlC,EAAwC;AACpC;AACA;AACA,MAAMmB,CAAC,GAAGnB,IAAI,CAAC1B,OAAL,CAAa,GAAb,CAAV;AACA0B,MAAI,GAAGmB,CAAC,GAAG,CAAJ,GAAQnB,IAAI,CAACmf,SAAL,CAAe,CAAf,EAAkBhe,CAAlB,CAAR,GAA+BnB,IAAtC;;AACA,MAAIA,IAAI,CAACm5B,MAAL,CAAY,CAAZ,MAAmBL,qBAAvB,EAA8C;AAC1C94B,QAAI,GAAG84B,qBAAqB,GAAG94B,IAA/B;AACH;;AACD,SAAOA,IAAP;AACH;;AACD,SAASq5B,oCAAT,CAA8Cr5B,IAA9C,EAAoDi5B,KAApD,EAA2D;AACvD,6BAAoBj5B,IAApB,cAA4Bi5B,KAA5B;AACH;;AACD,SAASK,wBAAT,CAAkCpqB,IAAlC,EAAwC;AACpC,MAAMqqB,SAAS,GAAG,IAAI1mB,YAAJ,CAAiB;AAAE7S,QAAI,EAAE,WAAR;AAAqB8S,cAAU,EAAE;AAAjC,GAAjB,CAAlB;AACA,MAAM0mB,iBAAiB,GAAG,IAAInsB,kBAAJ,CAAuBrB,cAAc,CAACwB,SAAtC,EAAiD,IAAIyB,UAAJ,CAAesqB,SAAf,CAAjD,EAA4Eje,OAAO,CAAC,WAAD,CAAnF,CAA1B;AACA,MAAMme,sBAAsB,GAAG,IAAIpsB,kBAAJ,CAAuBrB,cAAc,CAACkC,EAAtC,EAA0CsrB,iBAA1C,EAA6DD,SAA7D;AAAwE;AAAWxzB,WAAnF;AAC/B;AAAiBA,WADc,EACH,IADG,CAA/B;AAEA,SAAO,IAAIsH,kBAAJ,CAAuBrB,cAAc,CAAC+B,GAAtC,EAA2C0rB,sBAA3C,EAAmEvqB,IAAnE,CAAP;AACH;;AACD,SAASwqB,aAAT,CAAuBj4B,KAAvB,EAA8B;AAC1B,MAAMk4B,OAAO,GAAG,IAAItqB,eAAJ,CAAoB5N,KAApB,CAAhB;AACA,SAAO;AAAEA,SAAK,EAAEk4B,OAAT;AAAkBntB,QAAI,EAAEmtB;AAAxB,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMC,I;AACF,gBAAYn4B,KAAZ,EAAmBgL,UAAnB,EAA+B;AAAA;;AAC3B,SAAKhL,KAAL,GAAaA,KAAb;AACA,SAAKgL,UAAL,GAAkBA,UAAlB;AACH;;;;0BACKrC,O,EAAS;AACX,aAAOA,OAAO,CAACyvB,SAAR,CAAkB,IAAlB,CAAP;AACH;;;;;;IAECC,S;AACF,qBAAYr4B,KAAZ,EAAmBgL,UAAnB,EAA+B2oB,IAA/B,EAAqC;AAAA;;AACjC,SAAK3zB,KAAL,GAAaA,KAAb;AACA,SAAKgL,UAAL,GAAkBA,UAAlB;AACA,SAAK2oB,IAAL,GAAYA,IAAZ;AACH;;;;0BACKhrB,O,EAAS;AACX,aAAOA,OAAO,CAAC2vB,cAAR,CAAuB,IAAvB,CAAP;AACH;;;;;;IAECC,a;AACF,yBAAYh6B,IAAZ,EAAkByB,KAAlB,EAAyBgL,UAAzB,EAAqCwtB,SAArC,EAAgD7E,IAAhD,EAAsD;AAAA;;AAClD,SAAKp1B,IAAL,GAAYA,IAAZ;AACA,SAAKyB,KAAL,GAAaA,KAAb;AACA,SAAKgL,UAAL,GAAkBA,UAAlB;AACA,SAAKwtB,SAAL,GAAiBA,SAAjB;AACA,SAAK7E,IAAL,GAAYA,IAAZ;AACH;;;;0BACKhrB,O,EAAS;AACX,aAAOA,OAAO,CAAC8vB,kBAAR,CAA2B,IAA3B,CAAP;AACH;;;;;;IAECC,c;AACF,0BAAYn6B,IAAZ,EAAkBwM,IAAlB,EAAwB4tB,eAAxB,EAAyC34B,KAAzC,EAAgD44B,IAAhD,EAAsD5tB,UAAtD,EAAkE6tB,OAAlE,EAA2EL,SAA3E,EAAsF7E,IAAtF,EAA4F;AAAA;;AACxF,SAAKp1B,IAAL,GAAYA,IAAZ;AACA,SAAKwM,IAAL,GAAYA,IAAZ;AACA,SAAK4tB,eAAL,GAAuBA,eAAvB;AACA,SAAK34B,KAAL,GAAaA,KAAb;AACA,SAAK44B,IAAL,GAAYA,IAAZ;AACA,SAAK5tB,UAAL,GAAkBA,UAAlB;AACA,SAAK6tB,OAAL,GAAeA,OAAf;AACA,SAAKL,SAAL,GAAiBA,SAAjB;AACA,SAAK7E,IAAL,GAAYA,IAAZ;AACH;;;;0BAOKhrB,O,EAAS;AACX,aAAOA,OAAO,CAACmwB,mBAAR,CAA4B,IAA5B,CAAP;AACH;;;6CAR+BngB,I,EAAMgb,I,EAAM;AACxC,UAAIhb,IAAI,CAACkgB,OAAL,KAAiBv0B,SAArB,EAAgC;AAC5B,cAAM,IAAIxH,KAAJ,0FAA4F6b,IAAI,CAACpa,IAAjG,eAA0Goa,IAAI,CAAC3N,UAA/G,EAAN;AACH;;AACD,aAAO,IAAI0tB,cAAJ,CAAmB/f,IAAI,CAACpa,IAAxB,EAA8Boa,IAAI,CAAC5N,IAAnC,EAAyC4N,IAAI,CAACggB,eAA9C,EAA+DhgB,IAAI,CAAC3Y,KAApE,EAA2E2Y,IAAI,CAACigB,IAAhF,EAAsFjgB,IAAI,CAAC3N,UAA3F,EAAuG2N,IAAI,CAACkgB,OAA5G,EAAqHlgB,IAAI,CAAC6f,SAA1H,EAAqI7E,IAArI,CAAP;AACH;;;;;;IAKCoF,U;AACF,sBAAYx6B,IAAZ,EAAkBwM,IAAlB,EAAwBiuB,OAAxB,EAAiCC,MAAjC,EAAyCzB,KAAzC,EAAgDxsB,UAAhD,EAA4DkuB,WAA5D,EAAyE;AAAA;;AACrE,SAAK36B,IAAL,GAAYA,IAAZ;AACA,SAAKwM,IAAL,GAAYA,IAAZ;AACA,SAAKiuB,OAAL,GAAeA,OAAf;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKzB,KAAL,GAAaA,KAAb;AACA,SAAKxsB,UAAL,GAAkBA,UAAlB;AACA,SAAKkuB,WAAL,GAAmBA,WAAnB;AACH;;;;0BAMKvwB,O,EAAS;AACX,aAAOA,OAAO,CAACwwB,eAAR,CAAwB,IAAxB,CAAP;AACH;;;oCAPsBC,K,EAAO;AAC1B,UAAMH,MAAM,GAAGG,KAAK,CAACruB,IAAN,KAAe;AAAE;AAAjB,QAAiCquB,KAAK,CAACC,aAAvC,GAAuD,IAAtE;AACA,UAAM7B,KAAK,GAAG4B,KAAK,CAACruB,IAAN,KAAe;AAAE;AAAjB,QAAmCquB,KAAK,CAACC,aAAzC,GAAyD,IAAvE;AACA,aAAO,IAAIN,UAAJ,CAAeK,KAAK,CAAC76B,IAArB,EAA2B66B,KAAK,CAACruB,IAAjC,EAAuCquB,KAAK,CAACJ,OAA7C,EAAsDC,MAAtD,EAA8DzB,KAA9D,EAAqE4B,KAAK,CAACpuB,UAA3E,EAAuFouB,KAAK,CAACF,WAA7F,CAAP;AACH;;;;;;IAKCI,O;AACF,mBAAY/6B,IAAZ,EAAkBg7B,UAAlB,EAA8BzQ,MAA9B,EAAsCC,OAAtC,EAA+CyQ,QAA/C,EAAyDC,UAAzD,EAAqEzuB,UAArE,EAAiF0uB,eAAjF,EAAkGC,aAAlG,EAAiHhG,IAAjH,EAAuH;AAAA;;AACnH,SAAKp1B,IAAL,GAAYA,IAAZ;AACA,SAAKg7B,UAAL,GAAkBA,UAAlB;AACA,SAAKzQ,MAAL,GAAcA,MAAd;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKyQ,QAAL,GAAgBA,QAAhB;AACA,SAAKC,UAAL,GAAkBA,UAAlB;AACA,SAAKzuB,UAAL,GAAkBA,UAAlB;AACA,SAAK0uB,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKhG,IAAL,GAAYA,IAAZ;AACH;;;;0BACKhrB,O,EAAS;AACX,aAAOA,OAAO,CAACixB,YAAR,CAAqB,IAArB,CAAP;AACH;;;;;;IAECC,Q;AACF,oBAAY58B,OAAZ,EAAqBs8B,UAArB,EAAiCzQ,MAAjC,EAAyCC,OAAzC,EAAkD+Q,aAAlD,EAAiEN,QAAjE,EAA2EC,UAA3E,EAAuFM,SAAvF,EAAkG/uB,UAAlG,EAA8G0uB,eAA9G,EAA+HC,aAA/H,EAA8IhG,IAA9I,EAAoJ;AAAA;;AAChJ,SAAK12B,OAAL,GAAeA,OAAf;AACA,SAAKs8B,UAAL,GAAkBA,UAAlB;AACA,SAAKzQ,MAAL,GAAcA,MAAd;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAK+Q,aAAL,GAAqBA,aAArB;AACA,SAAKN,QAAL,GAAgBA,QAAhB;AACA,SAAKC,UAAL,GAAkBA,UAAlB;AACA,SAAKM,SAAL,GAAiBA,SAAjB;AACA,SAAK/uB,UAAL,GAAkBA,UAAlB;AACA,SAAK0uB,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKhG,IAAL,GAAYA,IAAZ;AACH;;;;0BACKhrB,O,EAAS;AACX,aAAOA,OAAO,CAACqxB,aAAR,CAAsB,IAAtB,CAAP;AACH;;;;;;IAECC,O;AACF,mBAAY75B,QAAZ,EAAsBm5B,UAAtB,EAAkCvuB,UAAlC,EAA8C2oB,IAA9C,EAAoD;AAAA;;AAChD,SAAKvzB,QAAL,GAAgBA,QAAhB;AACA,SAAKm5B,UAAL,GAAkBA,UAAlB;AACA,SAAKvuB,UAAL,GAAkBA,UAAlB;AACA,SAAK2oB,IAAL,GAAYA,IAAZ;AACA,SAAKp1B,IAAL,GAAY,YAAZ;AACH;;;;0BACKoK,O,EAAS;AACX,aAAOA,OAAO,CAACuxB,YAAR,CAAqB,IAArB,CAAP;AACH;;;;;;IAECC,Q;AACF,oBAAY57B,IAAZ,EAAkByB,KAAlB,EAAyBgL,UAAzB,EAAqC6tB,OAArC,EAA8CL,SAA9C,EAAyD;AAAA;;AACrD,SAAKj6B,IAAL,GAAYA,IAAZ;AACA,SAAKyB,KAAL,GAAaA,KAAb;AACA,SAAKgL,UAAL,GAAkBA,UAAlB;AACA,SAAK6tB,OAAL,GAAeA,OAAf;AACA,SAAKL,SAAL,GAAiBA,SAAjB;AACH;;;;0BACK7vB,O,EAAS;AACX,aAAOA,OAAO,CAACyxB,aAAR,CAAsB,IAAtB,CAAP;AACH;;;;;;IAECC,S;AACF,qBAAY97B,IAAZ,EAAkByB,KAAlB,EAAyBgL,UAAzB,EAAqCwtB,SAArC,EAAgD;AAAA;;AAC5C,SAAKj6B,IAAL,GAAYA,IAAZ;AACA,SAAKyB,KAAL,GAAaA,KAAb;AACA,SAAKgL,UAAL,GAAkBA,UAAlB;AACA,SAAKwtB,SAAL,GAAiBA,SAAjB;AACH;;;;0BACK7vB,O,EAAS;AACX,aAAOA,OAAO,CAAC2xB,cAAR,CAAuB,IAAvB,CAAP;AACH;;;;;;IAECC,G;AACF,eAAYC,IAAZ,EAAkBC,YAAlB,EAAgCzvB,UAAhC,EAA4C2oB,IAA5C,EAAkD;AAAA;;AAC9C,SAAK6G,IAAL,GAAYA,IAAZ;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAKzvB,UAAL,GAAkBA,UAAlB;AACA,SAAK2oB,IAAL,GAAYA,IAAZ;AACH;;;;0BACKhrB,O,EAAS;AACX,aAAOA,OAAO,CAAC+xB,QAAR,CAAiB,IAAjB,CAAP;AACH;;;;;;IAECC,W;;;;;;;iCACWx7B,O,EAAS,CAAG;;;kCACX6oB,Q,EAAU,CAAG;;;iCACd4S,O,EAAS,CAAG;;;kCACX9hB,Q,EAAU,CAAG;;;mCACZ8M,S,EAAW,CAAG;;;uCACVzkB,S,EAAW,CAAG;;;wCACbA,S,EAAW,CAAG;;;oCAClBA,S,EAAW,CAAG;;;8BACpBgO,I,EAAM,CAAG;;;mCACJA,I,EAAM,CAAG;;;6BACf0rB,G,EAAK,CAAG;;;;;;IAEfC,gB;;;;;;;iCACW37B,O,EAAS;AAClB47B,cAAQ,CAAC,IAAD,EAAO57B,OAAO,CAACo6B,UAAf,CAAR;AACAwB,cAAQ,CAAC,IAAD,EAAO57B,OAAO,CAACq6B,QAAf,CAAR;AACAuB,cAAQ,CAAC,IAAD,EAAO57B,OAAO,CAACs6B,UAAf,CAAR;AACH;;;kCACazR,Q,EAAU;AACpB+S,cAAQ,CAAC,IAAD,EAAO/S,QAAQ,CAACuR,UAAhB,CAAR;AACAwB,cAAQ,CAAC,IAAD,EAAO/S,QAAQ,CAACwR,QAAhB,CAAR;AACAuB,cAAQ,CAAC,IAAD,EAAO/S,QAAQ,CAACyR,UAAhB,CAAR;AACAsB,cAAQ,CAAC,IAAD,EAAO/S,QAAQ,CAAC+R,SAAhB,CAAR;AACH;;;iCACYa,O,EAAS,CAAG;;;kCACX9hB,Q,EAAU,CAAG;;;mCACZ8M,S,EAAW,CAAG;;;uCACVzkB,S,EAAW,CAAG;;;wCACbA,S,EAAW,CAAG;;;oCAClBA,S,EAAW,CAAG;;;8BACpBgO,I,EAAM,CAAG;;;mCACJA,I,EAAM,CAAG;;;6BACf0rB,G,EAAK,CAAG;;;;;;IAEfG,gB;;;;;;;iCACW77B,O,EAAS;AAClB,UAAM87B,aAAa,GAAGC,YAAY,CAAC,IAAD,EAAO/7B,OAAO,CAACo6B,UAAf,CAAlC;AACA,UAAM4B,SAAS,GAAGD,YAAY,CAAC,IAAD,EAAO/7B,OAAO,CAAC2pB,MAAf,CAA9B;AACA,UAAMsS,UAAU,GAAGF,YAAY,CAAC,IAAD,EAAO/7B,OAAO,CAAC4pB,OAAf,CAA/B;AACA,UAAMsS,WAAW,GAAGH,YAAY,CAAC,IAAD,EAAO/7B,OAAO,CAACq6B,QAAf,CAAhC;AACA,UAAM8B,aAAa,GAAGJ,YAAY,CAAC,IAAD,EAAO/7B,OAAO,CAACs6B,UAAf,CAAlC;;AACA,UAAIwB,aAAa,IAAI97B,OAAO,CAACo6B,UAAzB,IAAuC4B,SAAS,IAAIh8B,OAAO,CAAC2pB,MAA5D,IACAsS,UAAU,IAAIj8B,OAAO,CAAC4pB,OADtB,IACiCsS,WAAW,IAAIl8B,OAAO,CAACq6B,QADxD,IAEA8B,aAAa,IAAIn8B,OAAO,CAACs6B,UAF7B,EAEyC;AACrC,eAAO,IAAIH,OAAJ,CAAYn6B,OAAO,CAACZ,IAApB,EAA0B08B,aAA1B,EAAyCE,SAAzC,EAAoDC,UAApD,EAAgEC,WAAhE,EAA6EC,aAA7E,EAA4Fn8B,OAAO,CAAC6L,UAApG,EAAgH7L,OAAO,CAACu6B,eAAxH,EAAyIv6B,OAAO,CAACw6B,aAAjJ,CAAP;AACH;;AACD,aAAOx6B,OAAP;AACH;;;kCACa6oB,Q,EAAU;AACpB,UAAMiT,aAAa,GAAGC,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAACuR,UAAhB,CAAlC;AACA,UAAM4B,SAAS,GAAGD,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAACc,MAAhB,CAA9B;AACA,UAAMsS,UAAU,GAAGF,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAACe,OAAhB,CAA/B;AACA,UAAMwS,gBAAgB,GAAGL,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAAC8R,aAAhB,CAArC;AACA,UAAMuB,WAAW,GAAGH,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAACwR,QAAhB,CAAhC;AACA,UAAM8B,aAAa,GAAGJ,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAACyR,UAAhB,CAAlC;AACA,UAAM+B,YAAY,GAAGN,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAAC+R,SAAhB,CAAjC;;AACA,UAAIkB,aAAa,IAAIjT,QAAQ,CAACuR,UAA1B,IAAwC4B,SAAS,IAAInT,QAAQ,CAACc,MAA9D,IACAsS,UAAU,IAAIpT,QAAQ,CAACe,OADvB,IACkCwS,gBAAgB,IAAIvT,QAAQ,CAAC8R,aAD/D,IAEAuB,WAAW,IAAIrT,QAAQ,CAACwR,QAFxB,IAEoC8B,aAAa,IAAItT,QAAQ,CAACyR,UAF9D,IAGA+B,YAAY,IAAIxT,QAAQ,CAAC+R,SAH7B,EAGwC;AACpC,eAAO,IAAIF,QAAJ,CAAa7R,QAAQ,CAAC/qB,OAAtB,EAA+Bg+B,aAA/B,EAA8CE,SAA9C,EAAyDC,UAAzD,EAAqEG,gBAArE,EAAuFF,WAAvF,EAAoGC,aAApG,EAAmHE,YAAnH,EAAiIxT,QAAQ,CAAChd,UAA1I,EAAsJgd,QAAQ,CAAC0R,eAA/J,EAAgL1R,QAAQ,CAAC2R,aAAzL,CAAP;AACH;;AACD,aAAO3R,QAAP;AACH;;;iCACY4S,O,EAAS;AAClB,aAAOA,OAAP;AACH;;;kCACa9hB,Q,EAAU;AACpB,aAAOA,QAAP;AACH;;;mCACc8M,S,EAAW;AACtB,aAAOA,SAAP;AACH;;;uCACkBzkB,S,EAAW;AAC1B,aAAOA,SAAP;AACH;;;wCACmBA,S,EAAW;AAC3B,aAAOA,SAAP;AACH;;;oCACeA,S,EAAW;AACvB,aAAOA,SAAP;AACH;;;8BACSgO,I,EAAM;AACZ,aAAOA,IAAP;AACH;;;mCACcA,I,EAAM;AACjB,aAAOA,IAAP;AACH;;;6BACQ0rB,G,EAAK;AACV,aAAOA,GAAP;AACH;;;;;;AAEL,SAASE,QAAT,CAAkBpyB,OAAlB,EAA2B8yB,KAA3B,EAAkC;AAC9B,MAAM57B,MAAM,GAAG,EAAf;;AACA,MAAI8I,OAAO,CAAC+yB,KAAZ,EAAmB;AAAA,uKACID,KADJ;AAAA;;AAAA;AACf,6DAA0B;AAAA,YAAf5tB,IAAe;AACtB,YAAM8tB,OAAO,GAAGhzB,OAAO,CAAC+yB,KAAR,CAAc7tB,IAAd,KAAuBA,IAAI,CAAC6tB,KAAL,CAAW/yB,OAAX,CAAvC;AACH;AAHc;AAAA;AAAA;AAAA;AAAA;AAIlB,GAJD,MAKK;AAAA,uKACkB8yB,KADlB;AAAA;;AAAA;AACD,6DAA0B;AAAA,YAAf5tB,KAAe;;AACtB,YAAM8tB,QAAO,GAAG9tB,KAAI,CAAC6tB,KAAL,CAAW/yB,OAAX,CAAhB;;AACA,YAAIgzB,QAAJ,EAAa;AACT97B,gBAAM,CAACC,IAAP,CAAY67B,QAAZ;AACH;AACJ;AANA;AAAA;AAAA;AAAA;AAAA;AAOJ;;AACD,SAAO97B,MAAP;AACH;;AACD,SAASq7B,YAAT,CAAsBvyB,OAAtB,EAA+B8yB,KAA/B,EAAsC;AAClC,MAAM57B,MAAM,GAAG,EAAf;AACA,MAAI+7B,OAAO,GAAG,KAAd;;AAFkC,qKAGfH,KAHe;AAAA;;AAAA;AAGlC,2DAA0B;AAAA,UAAf5tB,IAAe;AACtB,UAAM8tB,OAAO,GAAG9tB,IAAI,CAAC6tB,KAAL,CAAW/yB,OAAX,CAAhB;;AACA,UAAIgzB,OAAJ,EAAa;AACT97B,cAAM,CAACC,IAAP,CAAY67B,OAAZ;AACH;;AACDC,aAAO,GAAGA,OAAO,IAAID,OAAO,IAAI9tB,IAAhC;AACH;AATiC;AAAA;AAAA;AAAA;AAAA;;AAUlC,SAAO+tB,OAAO,GAAG/7B,MAAH,GAAY47B,KAA1B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMI,O;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACI,iBAAYJ,KAAZ,EAAmBhB,YAAnB,EAAiCqB,oBAAjC,EAAuD9rB,OAAvD,EAAgED,WAAhE,EAA6EE,QAA7E,EAAuF;AAAA;;AACnF,OAAKwrB,KAAL,GAAaA,KAAb;AACA,OAAKhB,YAAL,GAAoBA,YAApB;AACA,OAAKqB,oBAAL,GAA4BA,oBAA5B;AACA,OAAK9rB,OAAL,GAAeA,OAAf;AACA,OAAKD,WAAL,GAAmBA,WAAnB;AACA,OAAKE,QAAL,GAAgBA,QAAhB;AACA,OAAK+I,EAAL,GAAU,KAAK/I,QAAf;AACA;;AACA,OAAKC,SAAL,GAAiB,EAAjB;;AACA,MAAIurB,KAAK,CAACp9B,MAAV,EAAkB;AACd,SAAK09B,OAAL,GAAe,CAAC;AACR7V,cAAQ,EAAEuV,KAAK,CAAC,CAAD,CAAL,CAASzwB,UAAT,CAAoBgxB,KAApB,CAA0BC,IAA1B,CAA+BpP,GADjC;AAERqP,eAAS,EAAET,KAAK,CAAC,CAAD,CAAL,CAASzwB,UAAT,CAAoBgxB,KAApB,CAA0BG,IAA1B,GAAiC,CAFpC;AAGRC,cAAQ,EAAEX,KAAK,CAAC,CAAD,CAAL,CAASzwB,UAAT,CAAoBgxB,KAApB,CAA0BK,GAA1B,GAAgC,CAHlC;AAIRC,aAAO,EAAEb,KAAK,CAACA,KAAK,CAACp9B,MAAN,GAAe,CAAhB,CAAL,CAAwB2M,UAAxB,CAAmCuxB,GAAnC,CAAuCJ,IAAvC,GAA8C,CAJ/C;AAKRK,YAAM,EAAEf,KAAK,CAAC,CAAD,CAAL,CAASzwB,UAAT,CAAoBgxB,KAApB,CAA0BK,GAA1B,GAAgC;AALhC,KAAD,CAAf;AAOH,GARD,MASK;AACD,SAAKN,OAAL,GAAe,EAAf;AACH;AACJ,C;;IAECU,M;AACF,kBAAYz8B,KAAZ,EAAmBgL,UAAnB,EAA+B;AAAA;;AAC3B,SAAKhL,KAAL,GAAaA,KAAb;AACA,SAAKgL,UAAL,GAAkBA,UAAlB;AACH;;;;0BACKrC,O,EAASC,O,EAAS;AACpB,aAAOD,OAAO,CAACyvB,SAAR,CAAkB,IAAlB,EAAwBxvB,OAAxB,CAAP;AACH;;;;KAEL;;;IACM8zB,S;AACF,qBAAYlD,QAAZ,EAAsBxuB,UAAtB,EAAkC;AAAA;;AAC9B,SAAKwuB,QAAL,GAAgBA,QAAhB;AACA,SAAKxuB,UAAL,GAAkBA,UAAlB;AACH;;;;0BACKrC,O,EAASC,O,EAAS;AACpB,aAAOD,OAAO,CAACg0B,cAAR,CAAuB,IAAvB,EAA6B/zB,OAA7B,CAAP;AACH;;;;;;IAECg0B,K;AACF,iBAAYjd,UAAZ,EAAwB5U,IAAxB,EAA8B8xB,KAA9B,EAAqC7xB,UAArC,EAAiD;AAAA;;AAC7C,SAAK2U,UAAL,GAAkBA,UAAlB;AACA,SAAK5U,IAAL,GAAYA,IAAZ;AACA,SAAK8xB,KAAL,GAAaA,KAAb;AACA,SAAK7xB,UAAL,GAAkBA,UAAlB;AACH;;;;0BACKrC,O,EAASC,O,EAAS;AACpB,aAAOD,OAAO,CAAC+xB,QAAR,CAAiB,IAAjB,EAAuB9xB,OAAvB,CAAP;AACH;;;;;;IAECk0B,c;AACF,0BAAYh8B,GAAZ,EAAiBzB,KAAjB,EAAwB09B,SAAxB,EAAmCC,SAAnC,EAA8CxD,QAA9C,EAAwDv7B,MAAxD,EACA;AACA+M,YAFA,EAEY0uB,eAFZ,EAE6BC,aAF7B,EAE4C;AAAA;;AACxC,SAAK74B,GAAL,GAAWA,GAAX;AACA,SAAKzB,KAAL,GAAaA,KAAb;AACA,SAAK09B,SAAL,GAAiBA,SAAjB;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKxD,QAAL,GAAgBA,QAAhB;AACA,SAAKv7B,MAAL,GAAcA,MAAd;AACA,SAAK+M,UAAL,GAAkBA,UAAlB;AACA,SAAK0uB,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACH;;;;0BACKhxB,O,EAASC,O,EAAS;AACpB,aAAOD,OAAO,CAACs0B,mBAAR,CAA4B,IAA5B,EAAkCr0B,OAAlC,CAAP;AACH;;;;;;IAECs0B,W;AACF,uBAAYl9B,KAAZ,EAAmBzB,IAAnB,EAAyByM,UAAzB,EAAqC;AAAA;;AACjC,SAAKhL,KAAL,GAAaA,KAAb;AACA,SAAKzB,IAAL,GAAYA,IAAZ;AACA,SAAKyM,UAAL,GAAkBA,UAAlB;AACH;;;;0BACKrC,O,EAASC,O,EAAS;AACpB,aAAOD,OAAO,CAACw0B,gBAAR,CAAyB,IAAzB,EAA+Bv0B,OAA/B,CAAP;AACH;;;;;;IAECw0B,c;AACF,0BAAYp9B,KAAZ,EAAmBzB,IAAnB,EAAyByM,UAAzB,EAAqC;AAAA;;AACjC,SAAKhL,KAAL,GAAaA,KAAb;AACA,SAAKzB,IAAL,GAAYA,IAAZ;AACA,SAAKyM,UAAL,GAAkBA,UAAlB;AACH;;;;0BACKrC,O,EAASC,O,EAAS;AACpB,aAAOD,OAAO,CAAC00B,mBAAR,CAA4B,IAA5B,EAAkCz0B,OAAlC,CAAP;AACH;;;;KAEL;;;IACM00B,Y;;;;;;;8BACQnuB,I,EAAMvG,O,EAAS;AACrB,aAAO,IAAI6zB,MAAJ,CAAWttB,IAAI,CAACnP,KAAhB,EAAuBmP,IAAI,CAACnE,UAA5B,CAAP;AACH;;;mCACcuyB,S,EAAW30B,O,EAAS;AAAA;;AAC/B,UAAM4wB,QAAQ,GAAG+D,SAAS,CAAC/D,QAAV,CAAmBz2B,GAAnB,CAAuB,UAAAy6B,CAAC;AAAA,eAAIA,CAAC,CAAC9B,KAAF,CAAQ,OAAR,EAAc9yB,OAAd,CAAJ;AAAA,OAAxB,CAAjB;AACA,aAAO,IAAI8zB,SAAJ,CAAclD,QAAd,EAAwB+D,SAAS,CAACvyB,UAAlC,CAAP;AACH;;;6BACQ6vB,G,EAAKjyB,O,EAAS;AAAA;;AACnB,UAAMi0B,KAAK,GAAG,EAAd;AACAl4B,YAAM,CAAC+T,IAAP,CAAYmiB,GAAG,CAACgC,KAAhB,EAAuBv+B,OAAvB,CAA+B,UAAA4U,GAAG;AAAA,eAAI2pB,KAAK,CAAC3pB,GAAD,CAAL,GAAa2nB,GAAG,CAACgC,KAAJ,CAAU3pB,GAAV,EAAewoB,KAAf,CAAqB,OAArB,EAA2B9yB,OAA3B,CAAjB;AAAA,OAAlC;AACA,UAAMyT,GAAG,GAAG,IAAIugB,KAAJ,CAAU/B,GAAG,CAAClb,UAAd,EAA0Bkb,GAAG,CAAC9vB,IAA9B,EAAoC8xB,KAApC,EAA2ChC,GAAG,CAAC7vB,UAA/C,CAAZ;AACAqR,SAAG,CAACohB,qBAAJ,GAA4B5C,GAAG,CAAC4C,qBAAhC;AACA,aAAOphB,GAAP;AACH;;;wCACmBqhB,E,EAAI90B,O,EAAS;AAAA;;AAC7B,UAAM4wB,QAAQ,GAAGkE,EAAE,CAAClE,QAAH,CAAYz2B,GAAZ,CAAgB,UAAAy6B,CAAC;AAAA,eAAIA,CAAC,CAAC9B,KAAF,CAAQ,OAAR,EAAc9yB,OAAd,CAAJ;AAAA,OAAjB,CAAjB;AACA,aAAO,IAAIk0B,cAAJ,CAAmBY,EAAE,CAAC58B,GAAtB,EAA2B48B,EAAE,CAACr+B,KAA9B,EAAqCq+B,EAAE,CAACX,SAAxC,EAAmDW,EAAE,CAACV,SAAtD,EAAiExD,QAAjE,EAA2EkE,EAAE,CAACz/B,MAA9E,EAAsFy/B,EAAE,CAAC1yB,UAAzF,EAAqG0yB,EAAE,CAAChE,eAAxG,EAAyHgE,EAAE,CAAC/D,aAA5H,CAAP;AACH;;;qCACgB+D,E,EAAI90B,O,EAAS;AAC1B,aAAO,IAAIs0B,WAAJ,CAAgBQ,EAAE,CAAC19B,KAAnB,EAA0B09B,EAAE,CAACn/B,IAA7B,EAAmCm/B,EAAE,CAAC1yB,UAAtC,CAAP;AACH;;;wCACmB0yB,E,EAAI90B,O,EAAS;AAC7B,aAAO,IAAIw0B,cAAJ,CAAmBM,EAAE,CAAC19B,KAAtB,EAA6B09B,EAAE,CAACn/B,IAAhC,EAAsCm/B,EAAE,CAAC1yB,UAAzC,CAAP;AACH;;;;KAEL;;;IACM2yB,c;;;;;;;8BACQxuB,I,EAAMvG,O,EAAS,CAAG;;;mCACb20B,S,EAAW30B,O,EAAS;AAAA;;AAC/B20B,eAAS,CAAC/D,QAAV,CAAmBl7B,OAAnB,CAA2B,UAAAs/B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,OAAZ,CAAJ;AAAA,OAAhC;AACH;;;6BACQb,G,EAAKjyB,O,EAAS;AAAA;;AACnBjE,YAAM,CAAC+T,IAAP,CAAYmiB,GAAG,CAACgC,KAAhB,EAAuBv+B,OAAvB,CAA+B,UAAAu/B,CAAC,EAAI;AAChChD,WAAG,CAACgC,KAAJ,CAAUgB,CAAV,EAAanC,KAAb,CAAmB,OAAnB;AACH,OAFD;AAGH;;;wCACmBgC,E,EAAI90B,O,EAAS;AAAA;;AAC7B80B,QAAE,CAAClE,QAAH,CAAYl7B,OAAZ,CAAoB,UAAAs/B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,OAAZ,CAAJ;AAAA,OAAzB;AACH;;;qCACgBgC,E,EAAI90B,O,EAAS,CAAG;;;wCACb80B,E,EAAI90B,O,EAAS,CAAG;;;;;AAGxC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASk1B,QAAT,CAAgBC,OAAhB,EAAyB;AACrB,SAAOA,OAAO,CAAC/kB,EAAR,IAAcglB,aAAa,CAACD,OAAD,CAAlC;AACH;AACD;AACA;AACA;;;AACA,SAASC,aAAT,CAAuBD,OAAvB,EAAgC;AAC5B,SAAOE,IAAI,CAACC,cAAc,CAACH,OAAO,CAACtC,KAAT,CAAd,CAA8Bh8B,IAA9B,CAAmC,EAAnC,eAA6Cs+B,OAAO,CAAC/tB,OAArD,MAAD,CAAX;AACH;AACD;AACA;AACA;;;AACA,SAASmuB,aAAT,CAAuBJ,OAAvB,EAAgC;AAC5B,SAAOA,OAAO,CAAC/kB,EAAR,IAAcolB,oBAAoB,CAACL,OAAD,CAAzC;AACH;AACD;AACA;AACA;;;AACA,SAASK,oBAAT,CAA8BL,OAA9B,EAAuC;AACnC,MAAMp1B,OAAO,GAAG,IAAI01B,8BAAJ,EAAhB;AACA,MAAM9qB,KAAK,GAAGwqB,OAAO,CAACtC,KAAR,CAAc14B,GAAd,CAAkB,UAAAu7B,CAAC;AAAA,WAAIA,CAAC,CAAC5C,KAAF,CAAQ/yB,OAAR,EAAiB,IAAjB,CAAJ;AAAA,GAAnB,CAAd;AACA,SAAO41B,YAAY,CAAChrB,KAAK,CAAC9T,IAAN,CAAW,EAAX,CAAD,EAAiBs+B,OAAO,CAAC/tB,OAAzB,CAAnB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMwuB,kB;;;;;;;8BACQrvB,I,EAAMvG,O,EAAS;AACrB,aAAOuG,IAAI,CAACnP,KAAZ;AACH;;;mCACcu9B,S,EAAW30B,O,EAAS;AAAA;;AAC/B,wBAAW20B,SAAS,CAAC/D,QAAV,CAAmBz2B,GAAnB,CAAuB,UAAA66B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,OAAZ,CAAJ;AAAA,OAA5B,EAAmDj8B,IAAnD,CAAwD,IAAxD,CAAX;AACH;;;6BACQo7B,G,EAAKjyB,O,EAAS;AAAA;;AACnB,UAAM61B,QAAQ,GAAG95B,MAAM,CAAC+T,IAAP,CAAYmiB,GAAG,CAACgC,KAAhB,EAAuB95B,GAAvB,CAA2B,UAAC86B,CAAD;AAAA,yBAAUA,CAAV,eAAgBhD,GAAG,CAACgC,KAAJ,CAAUgB,CAAV,EAAanC,KAAb,CAAmB,OAAnB,CAAhB;AAAA,OAA3B,CAAjB;AACA,wBAAWb,GAAG,CAAClb,UAAf,eAA8Bkb,GAAG,CAAC9vB,IAAlC,eAA2C0zB,QAAQ,CAACh/B,IAAT,CAAc,IAAd,CAA3C;AACH;;;wCACmBi+B,E,EAAI90B,O,EAAS;AAAA;;AAC7B,aAAO80B,EAAE,CAACz/B,MAAH,4BACcy/B,EAAE,CAACX,SADjB,qCAEcW,EAAE,CAACX,SAFjB,gBAE+BW,EAAE,CAAClE,QAAH,CAAYz2B,GAAZ,CAAgB,UAAA66B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,OAAZ,CAAJ;AAAA,OAArB,EAA4Cj8B,IAA5C,CAAiD,IAAjD,CAF/B,yBAEmGi+B,EAAE,CAACV,SAFtG,QAAP;AAGH;;;qCACgBU,E,EAAI90B,O,EAAS;AAC1B,aAAO80B,EAAE,CAAC19B,KAAH,wBAAwB09B,EAAE,CAACn/B,IAA3B,gBAAoCm/B,EAAE,CAAC19B,KAAvC,kCAAmE09B,EAAE,CAACn/B,IAAtE,SAAP;AACH;;;wCACmBm/B,E,EAAI90B,O,EAAS;AAC7B,sCAAwB80B,EAAE,CAACn/B,IAA3B,gBAAoCm/B,EAAE,CAAC19B,KAAH,CAAS07B,KAAT,CAAe,IAAf,CAApC;AACH;;;;;;AAEL,IAAMgD,iBAAiB,GAAG,IAAIF,kBAAJ,EAA1B;;AACA,SAASN,cAAT,CAAwBzC,KAAxB,EAA+B;AAC3B,SAAOA,KAAK,CAAC14B,GAAN,CAAU,UAAAu7B,CAAC;AAAA,WAAIA,CAAC,CAAC5C,KAAF,CAAQgD,iBAAR,EAA2B,IAA3B,CAAJ;AAAA,GAAX,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;IACML,8B;;;;;;;;;;;;;6BACOxD,G,EAAKjyB,O,EAAS;AAAA;;AACnB,UAAI61B,QAAQ,GAAG95B,MAAM,CAAC+T,IAAP,CAAYmiB,GAAG,CAACgC,KAAhB,EAAuB95B,GAAvB,CAA2B,UAAC86B,CAAD;AAAA,yBAAUA,CAAV,eAAgBhD,GAAG,CAACgC,KAAJ,CAAUgB,CAAV,EAAanC,KAAb,CAAmB,OAAnB,CAAhB;AAAA,OAA3B,CAAf,CADmB,CAEnB;;AACA,wBAAWb,GAAG,CAAC9vB,IAAf,eAAwB0zB,QAAQ,CAACh/B,IAAT,CAAc,IAAd,CAAxB;AACH;;;;EALwC++B,kB;AAO7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASP,IAAT,CAAcrtB,GAAd,EAAmB;AACf,MAAM+tB,IAAI,GAAG3hB,UAAU,CAACpM,GAAD,CAAvB;AACA,MAAMguB,OAAO,GAAGC,eAAe,CAACF,IAAD,EAAOG,MAAM,CAACC,GAAd,CAA/B;AACA,MAAMl0B,GAAG,GAAG8zB,IAAI,CAACtgC,MAAL,GAAc,CAA1B;AACA,MAAM2gC,CAAC,GAAGpgB,QAAQ,CAAC,EAAD,CAAlB;AACA,MAAI0f,CAAC,GAAG,UAAR;AAAA,MAAoBW,CAAC,GAAG,UAAxB;AAAA,MAAoCz5B,CAAC,GAAG,UAAxC;AAAA,MAAoD05B,CAAC,GAAG,UAAxD;AAAA,MAAoE7xB,CAAC,GAAG,UAAxE;AACAuxB,SAAO,CAAC/zB,GAAG,IAAI,CAAR,CAAP,IAAqB,QAAS,KAAKA,GAAG,GAAG,EAAzC;AACA+zB,SAAO,CAAC,CAAE/zB,GAAG,GAAG,EAAN,IAAY,CAAb,IAAmB,CAApB,IAAyB,EAA1B,CAAP,GAAuCA,GAAvC;;AACA,OAAK,IAAInL,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGk/B,OAAO,CAACvgC,MAA5B,EAAoCqB,CAAC,IAAI,EAAzC,EAA6C;AACzC,QAAMy/B,EAAE,GAAGb,CAAX;AAAA,QAAcc,EAAE,GAAGH,CAAnB;AAAA,QAAsBI,EAAE,GAAG75B,CAA3B;AAAA,QAA8B85B,EAAE,GAAGJ,CAAnC;AAAA,QAAsCK,EAAE,GAAGlyB,CAA3C;;AACA,SAAK,IAAImyB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,EAApB,EAAwBA,CAAC,EAAzB,EAA6B;AACzB,UAAIA,CAAC,GAAG,EAAR,EAAY;AACRR,SAAC,CAACQ,CAAD,CAAD,GAAOZ,OAAO,CAACl/B,CAAC,GAAG8/B,CAAL,CAAd;AACH,OAFD,MAGK;AACDR,SAAC,CAACQ,CAAD,CAAD,GAAOC,KAAK,CAACT,CAAC,CAACQ,CAAC,GAAG,CAAL,CAAD,GAAWR,CAAC,CAACQ,CAAC,GAAG,CAAL,CAAZ,GAAsBR,CAAC,CAACQ,CAAC,GAAG,EAAL,CAAvB,GAAkCR,CAAC,CAACQ,CAAC,GAAG,EAAL,CAApC,EAA8C,CAA9C,CAAZ;AACH;;AACD,UAAME,KAAK,GAAGC,EAAE,CAACH,CAAD,EAAIP,CAAJ,EAAOz5B,CAAP,EAAU05B,CAAV,CAAhB;AACA,UAAM9pB,CAAC,GAAGsqB,KAAK,CAAC,CAAD,CAAf;AACA,UAAM7B,CAAC,GAAG6B,KAAK,CAAC,CAAD,CAAf;AACA,UAAME,IAAI,GAAG,CAACH,KAAK,CAACnB,CAAD,EAAI,CAAJ,CAAN,EAAclpB,CAAd,EAAiB/H,CAAjB,EAAoBwwB,CAApB,EAAuBmB,CAAC,CAACQ,CAAD,CAAxB,EAA6B/S,MAA7B,CAAoCoT,KAApC,CAAb;AACAxyB,OAAC,GAAG6xB,CAAJ;AACAA,OAAC,GAAG15B,CAAJ;AACAA,OAAC,GAAGi6B,KAAK,CAACR,CAAD,EAAI,EAAJ,CAAT;AACAA,OAAC,GAAGX,CAAJ;AACAA,OAAC,GAAGsB,IAAJ;AACH;;AACDtB,KAAC,GAAGuB,KAAK,CAACvB,CAAD,EAAIa,EAAJ,CAAT;AACAF,KAAC,GAAGY,KAAK,CAACZ,CAAD,EAAIG,EAAJ,CAAT;AACA55B,KAAC,GAAGq6B,KAAK,CAACr6B,CAAD,EAAI65B,EAAJ,CAAT;AACAH,KAAC,GAAGW,KAAK,CAACX,CAAD,EAAII,EAAJ,CAAT;AACAjyB,KAAC,GAAGwyB,KAAK,CAACxyB,CAAD,EAAIkyB,EAAJ,CAAT;AACH;;AACD,SAAOO,qBAAqB,CAACC,mBAAmB,CAAC,CAACzB,CAAD,EAAIW,CAAJ,EAAOz5B,CAAP,EAAU05B,CAAV,EAAa7xB,CAAb,CAAD,CAApB,CAA5B;AACH;;AACD,SAASsyB,EAAT,CAAYz0B,KAAZ,EAAmB+zB,CAAnB,EAAsBz5B,CAAtB,EAAyB05B,CAAzB,EAA4B;AACxB,MAAIh0B,KAAK,GAAG,EAAZ,EAAgB;AACZ,WAAO,CAAE+zB,CAAC,GAAGz5B,CAAL,GAAW,CAACy5B,CAAD,GAAKC,CAAjB,EAAqB,UAArB,CAAP;AACH;;AACD,MAAIh0B,KAAK,GAAG,EAAZ,EAAgB;AACZ,WAAO,CAAC+zB,CAAC,GAAGz5B,CAAJ,GAAQ05B,CAAT,EAAY,UAAZ,CAAP;AACH;;AACD,MAAIh0B,KAAK,GAAG,EAAZ,EAAgB;AACZ,WAAO,CAAE+zB,CAAC,GAAGz5B,CAAL,GAAWy5B,CAAC,GAAGC,CAAf,GAAqB15B,CAAC,GAAG05B,CAA1B,EAA8B,UAA9B,CAAP;AACH;;AACD,SAAO,CAACD,CAAC,GAAGz5B,CAAJ,GAAQ05B,CAAT,EAAY,UAAZ,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASc,WAAT,CAAqBpvB,GAArB,EAA0B;AACtB,MAAM+tB,IAAI,GAAG3hB,UAAU,CAACpM,GAAD,CAAvB;AACA,MAAIqvB,EAAE,GAAGC,MAAM,CAACvB,IAAD,EAAO,CAAP,CAAf;AACA,MAAIwB,EAAE,GAAGD,MAAM,CAACvB,IAAD,EAAO,MAAP,CAAf;;AACA,MAAIsB,EAAE,IAAI,CAAN,KAAYE,EAAE,IAAI,CAAN,IAAWA,EAAE,IAAI,CAA7B,CAAJ,EAAqC;AACjCF,MAAE,GAAGA,EAAE,GAAG,UAAV;AACAE,MAAE,GAAGA,EAAE,GAAG,CAAC,UAAX;AACH;;AACD,SAAO,CAACF,EAAD,EAAKE,EAAL,CAAP;AACH;;AACD,SAAS5B,YAAT,CAAsBliB,GAAtB,EAAyC;AAAA,MAAdrM,OAAc,uEAAJ,EAAI;AACrC,MAAIowB,cAAc,GAAGJ,WAAW,CAAC3jB,GAAD,CAAhC;;AACA,MAAIrM,OAAJ,EAAa;AACT,QAAMqwB,kBAAkB,GAAGL,WAAW,CAAChwB,OAAD,CAAtC;AACAowB,kBAAc,GAAGE,KAAK,CAACC,KAAK,CAACH,cAAD,EAAiB,CAAjB,CAAN,EAA2BC,kBAA3B,CAAtB;AACH;;AACD,MAAMJ,EAAE,GAAGG,cAAc,CAAC,CAAD,CAAzB;AACA,MAAMD,EAAE,GAAGC,cAAc,CAAC,CAAD,CAAzB;AACA,SAAOI,qBAAqB,CAACT,mBAAmB,CAAC,CAACE,EAAE,GAAG,UAAN,EAAkBE,EAAlB,CAAD,CAApB,CAA5B;AACH;;AACD,SAASD,MAAT,CAAgBtvB,GAAhB,EAAqBpL,CAArB,EAAwB;AACpB,MAAI84B,CAAC,GAAG,UAAR;AAAA,MAAoBW,CAAC,GAAG,UAAxB;AACA,MAAIv/B,CAAJ;AACA,MAAMmL,GAAG,GAAG+F,GAAG,CAACvS,MAAhB;;AACA,OAAKqB,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,EAAJ,IAAUmL,GAAtB,EAA2BnL,CAAC,IAAI,EAAhC,EAAoC;AAChC4+B,KAAC,GAAGuB,KAAK,CAACvB,CAAD,EAAImC,MAAM,CAAC7vB,GAAD,EAAMlR,CAAN,EAASo/B,MAAM,CAAC4B,MAAhB,CAAV,CAAT;AACAzB,KAAC,GAAGY,KAAK,CAACZ,CAAD,EAAIwB,MAAM,CAAC7vB,GAAD,EAAMlR,CAAC,GAAG,CAAV,EAAao/B,MAAM,CAAC4B,MAApB,CAAV,CAAT;AACAl7B,KAAC,GAAGq6B,KAAK,CAACr6B,CAAD,EAAIi7B,MAAM,CAAC7vB,GAAD,EAAMlR,CAAC,GAAG,CAAV,EAAao/B,MAAM,CAAC4B,MAApB,CAAV,CAAT;AACA,QAAMzgC,GAAG,GAAG0gC,GAAG,CAACrC,CAAD,EAAIW,CAAJ,EAAOz5B,CAAP,CAAf;AACA84B,KAAC,GAAGr+B,GAAG,CAAC,CAAD,CAAP,EAAYg/B,CAAC,GAAGh/B,GAAG,CAAC,CAAD,CAAnB,EAAwBuF,CAAC,GAAGvF,GAAG,CAAC,CAAD,CAA/B;AACH;;AACDq+B,GAAC,GAAGuB,KAAK,CAACvB,CAAD,EAAImC,MAAM,CAAC7vB,GAAD,EAAMlR,CAAN,EAASo/B,MAAM,CAAC4B,MAAhB,CAAV,CAAT;AACAzB,GAAC,GAAGY,KAAK,CAACZ,CAAD,EAAIwB,MAAM,CAAC7vB,GAAD,EAAMlR,CAAC,GAAG,CAAV,EAAao/B,MAAM,CAAC4B,MAApB,CAAV,CAAT,CAZoB,CAapB;;AACAl7B,GAAC,GAAGq6B,KAAK,CAACr6B,CAAD,EAAIqF,GAAJ,CAAT;AACArF,GAAC,GAAGq6B,KAAK,CAACr6B,CAAD,EAAIi7B,MAAM,CAAC7vB,GAAD,EAAMlR,CAAC,GAAG,CAAV,EAAao/B,MAAM,CAAC4B,MAApB,CAAN,IAAqC,CAAzC,CAAT;AACA,SAAOC,GAAG,CAACrC,CAAD,EAAIW,CAAJ,EAAOz5B,CAAP,CAAH,CAAa,CAAb,CAAP;AACH,C,CACD;;;AACA,SAASm7B,GAAT,CAAarC,CAAb,EAAgBW,CAAhB,EAAmBz5B,CAAnB,EAAsB;AAClB84B,GAAC,GAAGsC,KAAK,CAACtC,CAAD,EAAIW,CAAJ,CAAT;AACAX,GAAC,GAAGsC,KAAK,CAACtC,CAAD,EAAI94B,CAAJ,CAAT;AACA84B,GAAC,IAAI94B,CAAC,KAAK,EAAX;AACAy5B,GAAC,GAAG2B,KAAK,CAAC3B,CAAD,EAAIz5B,CAAJ,CAAT;AACAy5B,GAAC,GAAG2B,KAAK,CAAC3B,CAAD,EAAIX,CAAJ,CAAT;AACAW,GAAC,IAAIX,CAAC,IAAI,CAAV;AACA94B,GAAC,GAAGo7B,KAAK,CAACp7B,CAAD,EAAI84B,CAAJ,CAAT;AACA94B,GAAC,GAAGo7B,KAAK,CAACp7B,CAAD,EAAIy5B,CAAJ,CAAT;AACAz5B,GAAC,IAAIy5B,CAAC,KAAK,EAAX;AACAX,GAAC,GAAGsC,KAAK,CAACtC,CAAD,EAAIW,CAAJ,CAAT;AACAX,GAAC,GAAGsC,KAAK,CAACtC,CAAD,EAAI94B,CAAJ,CAAT;AACA84B,GAAC,IAAI94B,CAAC,KAAK,EAAX;AACAy5B,GAAC,GAAG2B,KAAK,CAAC3B,CAAD,EAAIz5B,CAAJ,CAAT;AACAy5B,GAAC,GAAG2B,KAAK,CAAC3B,CAAD,EAAIX,CAAJ,CAAT;AACAW,GAAC,IAAIX,CAAC,IAAI,EAAV;AACA94B,GAAC,GAAGo7B,KAAK,CAACp7B,CAAD,EAAI84B,CAAJ,CAAT;AACA94B,GAAC,GAAGo7B,KAAK,CAACp7B,CAAD,EAAIy5B,CAAJ,CAAT;AACAz5B,GAAC,IAAIy5B,CAAC,KAAK,CAAX;AACAX,GAAC,GAAGsC,KAAK,CAACtC,CAAD,EAAIW,CAAJ,CAAT;AACAX,GAAC,GAAGsC,KAAK,CAACtC,CAAD,EAAI94B,CAAJ,CAAT;AACA84B,GAAC,IAAI94B,CAAC,KAAK,CAAX;AACAy5B,GAAC,GAAG2B,KAAK,CAAC3B,CAAD,EAAIz5B,CAAJ,CAAT;AACAy5B,GAAC,GAAG2B,KAAK,CAAC3B,CAAD,EAAIX,CAAJ,CAAT;AACAW,GAAC,IAAIX,CAAC,IAAI,EAAV;AACA94B,GAAC,GAAGo7B,KAAK,CAACp7B,CAAD,EAAI84B,CAAJ,CAAT;AACA94B,GAAC,GAAGo7B,KAAK,CAACp7B,CAAD,EAAIy5B,CAAJ,CAAT;AACAz5B,GAAC,IAAIy5B,CAAC,KAAK,EAAX;AACA,SAAO,CAACX,CAAD,EAAIW,CAAJ,EAAOz5B,CAAP,CAAP;AACH,C,CACD;AACA;;;AACA,IAAIs5B,MAAJ;;AACA,CAAC,UAAUA,MAAV,EAAkB;AACfA,QAAM,CAACA,MAAM,CAAC,QAAD,CAAN,GAAmB,CAApB,CAAN,GAA+B,QAA/B;AACAA,QAAM,CAACA,MAAM,CAAC,KAAD,CAAN,GAAgB,CAAjB,CAAN,GAA4B,KAA5B;AACH,CAHD,EAGGA,MAAM,KAAKA,MAAM,GAAG,EAAd,CAHT;;AAIA,SAASe,KAAT,CAAevB,CAAf,EAAkBW,CAAlB,EAAqB;AACjB,SAAO4B,SAAS,CAACvC,CAAD,EAAIW,CAAJ,CAAT,CAAgB,CAAhB,CAAP;AACH;;AACD,SAAS4B,SAAT,CAAmBvC,CAAnB,EAAsBW,CAAtB,EAAyB;AACrB,MAAM7hB,GAAG,GAAG,CAACkhB,CAAC,GAAG,MAAL,KAAgBW,CAAC,GAAG,MAApB,CAAZ;AACA,MAAM6B,IAAI,GAAG,CAACxC,CAAC,KAAK,EAAP,KAAcW,CAAC,KAAK,EAApB,KAA2B7hB,GAAG,KAAK,EAAnC,CAAb;AACA,SAAO,CAAC0jB,IAAI,KAAK,EAAV,EAAeA,IAAI,IAAI,EAAT,GAAgB1jB,GAAG,GAAG,MAApC,CAAP;AACH;;AACD,SAASkjB,KAAT,CAAehC,CAAf,EAAkBW,CAAlB,EAAqB;AACjB,MAAM8B,EAAE,GAAGzC,CAAC,CAAC,CAAD,CAAZ;AAAA,MAAiB0C,EAAE,GAAG1C,CAAC,CAAC,CAAD,CAAvB;AACA,MAAM2C,EAAE,GAAGhC,CAAC,CAAC,CAAD,CAAZ;AAAA,MAAiBiC,EAAE,GAAGjC,CAAC,CAAC,CAAD,CAAvB;AACA,MAAMp/B,MAAM,GAAGghC,SAAS,CAACG,EAAD,EAAKE,EAAL,CAAxB;AACA,MAAMC,KAAK,GAAGthC,MAAM,CAAC,CAAD,CAApB;AACA,MAAMuhC,CAAC,GAAGvhC,MAAM,CAAC,CAAD,CAAhB;AACA,MAAMwhC,CAAC,GAAGxB,KAAK,CAACA,KAAK,CAACkB,EAAD,EAAKE,EAAL,CAAN,EAAgBE,KAAhB,CAAf;AACA,SAAO,CAACE,CAAD,EAAID,CAAJ,CAAP;AACH;;AACD,SAASR,KAAT,CAAetC,CAAf,EAAkBW,CAAlB,EAAqB;AACjB,MAAM7hB,GAAG,GAAG,CAACkhB,CAAC,GAAG,MAAL,KAAgBW,CAAC,GAAG,MAApB,CAAZ;AACA,MAAM6B,IAAI,GAAG,CAACxC,CAAC,IAAI,EAAN,KAAaW,CAAC,IAAI,EAAlB,KAAyB7hB,GAAG,IAAI,EAAhC,CAAb;AACA,SAAQ0jB,IAAI,IAAI,EAAT,GAAgB1jB,GAAG,GAAG,MAA7B;AACH,C,CACD;;;AACA,SAASqiB,KAAT,CAAenB,CAAf,EAAkBgD,KAAlB,EAAyB;AACrB,SAAQhD,CAAC,IAAIgD,KAAN,GAAgBhD,CAAC,KAAM,KAAKgD,KAAnC;AACH,C,CACD;;;AACA,SAASf,KAAT,CAAegB,GAAf,EAAoBD,KAApB,EAA2B;AACvB,MAAMrB,EAAE,GAAGsB,GAAG,CAAC,CAAD,CAAd;AAAA,MAAmBpB,EAAE,GAAGoB,GAAG,CAAC,CAAD,CAA3B;AACA,MAAMF,CAAC,GAAIpB,EAAE,IAAIqB,KAAP,GAAiBnB,EAAE,KAAM,KAAKmB,KAAxC;AACA,MAAMF,CAAC,GAAIjB,EAAE,IAAImB,KAAP,GAAiBrB,EAAE,KAAM,KAAKqB,KAAxC;AACA,SAAO,CAACD,CAAD,EAAID,CAAJ,CAAP;AACH;;AACD,SAASvC,eAAT,CAAyBjuB,GAAzB,EAA8B4wB,MAA9B,EAAsC;AAClC,MAAM3iB,IAAI,GAAIjO,GAAG,CAACvS,MAAJ,GAAa,CAAd,KAAqB,CAAlC;AACA,MAAMugC,OAAO,GAAG,EAAhB;;AACA,OAAK,IAAIl/B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmf,IAApB,EAA0Bnf,CAAC,EAA3B,EAA+B;AAC3Bk/B,WAAO,CAACl/B,CAAD,CAAP,GAAa+gC,MAAM,CAAC7vB,GAAD,EAAMlR,CAAC,GAAG,CAAV,EAAa8hC,MAAb,CAAnB;AACH;;AACD,SAAO5C,OAAP;AACH;;AACD,SAAS6C,MAAT,CAAgB7wB,GAAhB,EAAqB1F,KAArB,EAA4B;AACxB,SAAOA,KAAK,IAAI0F,GAAG,CAACvS,MAAb,GAAsB,CAAtB,GAA0BuS,GAAG,CAACuM,UAAJ,CAAejS,KAAf,IAAwB,IAAzD;AACH;;AACD,SAASu1B,MAAT,CAAgB7vB,GAAhB,EAAqB1F,KAArB,EAA4Bs2B,MAA5B,EAAoC;AAChC,MAAIE,IAAI,GAAG,CAAX;;AACA,MAAIF,MAAM,KAAK1C,MAAM,CAACC,GAAtB,EAA2B;AACvB,SAAK,IAAIr/B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuBA,CAAC,EAAxB,EAA4B;AACxBgiC,UAAI,IAAID,MAAM,CAAC7wB,GAAD,EAAM1F,KAAK,GAAGxL,CAAd,CAAN,IAA2B,KAAK,IAAIA,CAA5C;AACH;AACJ,GAJD,MAKK;AACD,SAAK,IAAIA,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAG,CAApB,EAAuBA,GAAC,EAAxB,EAA4B;AACxBgiC,UAAI,IAAID,MAAM,CAAC7wB,GAAD,EAAM1F,KAAK,GAAGxL,GAAd,CAAN,IAA0B,IAAIA,GAAtC;AACH;AACJ;;AACD,SAAOgiC,IAAP;AACH;;AACD,SAAS3B,mBAAT,CAA6BnB,OAA7B,EAAsC;AAClC,SAAOA,OAAO,CAACnS,MAAR,CAAe,UAAC7b,GAAD,EAAM8wB,IAAN;AAAA,WAAe9wB,GAAG,GAAG+wB,kBAAkB,CAACD,IAAD,CAAvC;AAAA,GAAf,EAA8D,EAA9D,CAAP;AACH;;AACD,SAASC,kBAAT,CAA4BD,IAA5B,EAAkC;AAC9B,MAAI9wB,GAAG,GAAG,EAAV;;AACA,OAAK,IAAIlR,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuBA,CAAC,EAAxB,EAA4B;AACxBkR,OAAG,IAAI1G,MAAM,CAACmT,YAAP,CAAqBqkB,IAAI,KAAK,KAAK,IAAIhiC,CAAT,CAAV,GAAyB,IAA7C,CAAP;AACH;;AACD,SAAOkR,GAAP;AACH;;AACD,SAASkvB,qBAAT,CAA+BlvB,GAA/B,EAAoC;AAChC,MAAIgxB,GAAG,GAAG,EAAV;;AACA,OAAK,IAAIliC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkR,GAAG,CAACvS,MAAxB,EAAgCqB,CAAC,EAAjC,EAAqC;AACjC,QAAMu/B,CAAC,GAAGwC,MAAM,CAAC7wB,GAAD,EAAMlR,CAAN,CAAhB;AACAkiC,OAAG,IAAI,CAAC3C,CAAC,KAAK,CAAP,EAAUzhB,QAAV,CAAmB,EAAnB,IAAyB,CAACyhB,CAAC,GAAG,IAAL,EAAWzhB,QAAX,CAAoB,EAApB,CAAhC;AACH;;AACD,SAAOokB,GAAG,CAACpjC,WAAJ,EAAP;AACH,C,CACD;;;AACA,SAASgiC,qBAAT,CAA+B5vB,GAA/B,EAAoC;AAChC,MAAIixB,OAAO,GAAG,EAAd;AACA,MAAIC,UAAU,GAAG,GAAjB;;AACA,OAAK,IAAIpiC,CAAC,GAAGkR,GAAG,CAACvS,MAAJ,GAAa,CAA1B,EAA6BqB,CAAC,IAAI,CAAlC,EAAqCA,CAAC,EAAtC,EAA0C;AACtCmiC,WAAO,GAAGE,SAAS,CAACF,OAAD,EAAUG,iBAAiB,CAACP,MAAM,CAAC7wB,GAAD,EAAMlR,CAAN,CAAP,EAAiBoiC,UAAjB,CAA3B,CAAnB;AACAA,cAAU,GAAGE,iBAAiB,CAAC,GAAD,EAAMF,UAAN,CAA9B;AACH;;AACD,SAAOD,OAAO,CAAC7jB,KAAR,CAAc,EAAd,EAAkBikB,OAAlB,GAA4BxiC,IAA5B,CAAiC,EAAjC,CAAP;AACH,C,CACD;;;AACA,SAASsiC,SAAT,CAAmBG,CAAnB,EAAsBC,CAAtB,EAAyB;AACrB,MAAIC,GAAG,GAAG,EAAV;AACA,MAAMv3B,GAAG,GAAGw3B,IAAI,CAACC,GAAL,CAASJ,CAAC,CAAC7jC,MAAX,EAAmB8jC,CAAC,CAAC9jC,MAArB,CAAZ;;AACA,OAAK,IAAIqB,CAAC,GAAG,CAAR,EAAWyhC,KAAK,GAAG,CAAxB,EAA2BzhC,CAAC,GAAGmL,GAAJ,IAAWs2B,KAAtC,EAA6CzhC,CAAC,EAA9C,EAAkD;AAC9C,QAAM6iC,MAAM,GAAGpB,KAAK,GAAG,EAAEe,CAAC,CAACxiC,CAAD,CAAD,IAAQ,CAAV,CAAR,GAAuB,EAAEyiC,CAAC,CAACziC,CAAD,CAAD,IAAQ,CAAV,CAAtC;;AACA,QAAI6iC,MAAM,IAAI,EAAd,EAAkB;AACdpB,WAAK,GAAG,CAAR;AACAiB,SAAG,IAAIG,MAAM,GAAG,EAAhB;AACH,KAHD,MAIK;AACDpB,WAAK,GAAG,CAAR;AACAiB,SAAG,IAAIG,MAAP;AACH;AACJ;;AACD,SAAOH,GAAP;AACH;;AACD,SAASJ,iBAAT,CAA2BT,GAA3B,EAAgCtC,CAAhC,EAAmC;AAC/B,MAAIuD,OAAO,GAAG,EAAd;AACA,MAAIC,WAAW,GAAGxD,CAAlB;;AACA,SAAOsC,GAAG,KAAK,CAAf,EAAkBA,GAAG,GAAGA,GAAG,KAAK,CAAhC,EAAmC;AAC/B,QAAIA,GAAG,GAAG,CAAV,EACIiB,OAAO,GAAGT,SAAS,CAACS,OAAD,EAAUC,WAAV,CAAnB;AACJA,eAAW,GAAGV,SAAS,CAACU,WAAD,EAAcA,WAAd,CAAvB;AACH;;AACD,SAAOD,OAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACME,U;;;;;;;AACF;AACA;qCACiB3E,O,EAAS;AACtB,aAAO,IAAP;AACH;;;;;AAEL;AACA;AACA;;;IACM4E,uB;;;;;AACF;AACA,mCAAY5E,OAAZ,EAAqB6E,OAArB,EAA8B;AAAA;;AAAA;;AAC1B;AACA,YAAKA,OAAL,GAAeA,OAAf;AACA,YAAKC,gBAAL,GAAwB,EAAxB;AACA,YAAKC,cAAL,GAAsB,EAAtB;AACA,YAAKC,gBAAL,GAAwB,EAAxB;AACAhF,WAAO,CAACtC,KAAR,CAAcn9B,OAAd,CAAsB,UAAAuP,IAAI;AAAA,aAAIA,IAAI,CAAC6tB,KAAL,wJAAJ;AAAA,KAA1B;AAN0B;AAO7B;;;;iCACYsH,Y,EAAc;AACvB,aAAO,KAAKH,gBAAL,CAAsBjlB,cAAtB,CAAqColB,YAArC,IACH,KAAKH,gBAAL,CAAsBG,YAAtB,CADG,GAEH,IAFJ;AAGH;;;mCACcC,U,EAAY;AACvB,aAAO,KAAKF,gBAAL,CAAsBnlB,cAAtB,CAAqCqlB,UAArC,IAAmD,KAAKF,gBAAL,CAAsBE,UAAtB,CAAnD,GACH,IADJ;AAEH;;;8BACS9zB,I,EAAMvG,O,EAAS;AACrB,aAAO,IAAP;AACH;;;wCACmB80B,E,EAAI90B,O,EAAS;AAC7B,WAAKs6B,oBAAL,CAA0BxF,EAAE,CAACX,SAA7B;;AACA,qVAA0BW,EAA1B,EAA8B90B,OAA9B;;AACA,WAAKs6B,oBAAL,CAA0BxF,EAAE,CAACV,SAA7B;AACH;;;qCACgBU,E,EAAI90B,O,EAAS;AAC1B,WAAKs6B,oBAAL,CAA0BxF,EAAE,CAACn/B,IAA7B;AACH;;;wCACmBm/B,E,EAAI90B,O,EAAS;AAC7B,WAAKs6B,oBAAL,CAA0BxF,EAAE,CAACn/B,IAA7B;AACH,K,CACD;;;;yCACqBykC,Y,EAAc;AAC/B,UAAI,CAACA,YAAD,IAAiB,KAAKH,gBAAL,CAAsBjlB,cAAtB,CAAqColB,YAArC,CAArB,EAAyE;AACrE;AACH;;AACD,UAAIC,UAAU,GAAG,KAAKL,OAAL,CAAaI,YAAb,CAAjB;;AACA,UAAI,KAAKD,gBAAL,CAAsBnlB,cAAtB,CAAqCqlB,UAArC,CAAJ,EAAsD;AAClD;AACA,YAAM/mC,MAAM,GAAG,KAAK4mC,cAAL,CAAoBG,UAApB,CAAf;AACA,aAAKH,cAAL,CAAoBG,UAApB,IAAkC/mC,MAAM,GAAG,CAA3C;AACA+mC,kBAAU,aAAMA,UAAN,cAAoB/mC,MAApB,CAAV;AACH,OALD,MAMK;AACD,aAAK4mC,cAAL,CAAoBG,UAApB,IAAkC,CAAlC;AACH;;AACD,WAAKJ,gBAAL,CAAsBG,YAAtB,IAAsCC,UAAtC;AACA,WAAKF,gBAAL,CAAsBE,UAAtB,IAAoCD,YAApC;AACH;;;;EAlDiCrF,c;AAqDtC;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMwF,Q;;;;;;;6BACOriC,G,EAAK;AAAA;;AACV,UAAMsiC,QAAQ,GAAG,KAAKC,oBAAL,CAA0BviC,GAAG,CAACzB,KAA9B,CAAjB;;AACA,UAAIyB,GAAG,CAAC04B,QAAJ,CAAan7B,MAAb,IAAuB,CAA3B,EAA8B;AAC1B,0BAAWyC,GAAG,CAACvC,IAAf,SAAsB6kC,QAAtB;AACH;;AACD,UAAME,WAAW,GAAGxiC,GAAG,CAAC04B,QAAJ,CAAaz2B,GAAb,CAAiB,UAAA8K,IAAI;AAAA,eAAIA,IAAI,CAAC6tB,KAAL,CAAW,OAAX,CAAJ;AAAA,OAArB,CAApB;AACA,wBAAW56B,GAAG,CAACvC,IAAf,SAAsB6kC,QAAtB,cAAkCE,WAAW,CAAC7jC,IAAZ,CAAiB,EAAjB,CAAlC,eAA2DqB,GAAG,CAACvC,IAA/D;AACH;;;8BACS4Q,I,EAAM;AACZ,aAAOA,IAAI,CAACnP,KAAZ;AACH;;;qCACgBujC,I,EAAM;AACnB,4BAAe,KAAKF,oBAAL,CAA0BE,IAAI,CAAClkC,KAA/B,CAAf;AACH;;;yCACoBA,K,EAAO;AACxB,UAAM+jC,QAAQ,GAAGz+B,MAAM,CAAC+T,IAAP,CAAYrZ,KAAZ,EAAmB0D,GAAnB,CAAuB,UAACxE,IAAD;AAAA,yBAAaA,IAAb,gBAAsBc,KAAK,CAACd,IAAD,CAA3B;AAAA,OAAvB,EAA6DkB,IAA7D,CAAkE,GAAlE,CAAjB;AACA,aAAO2jC,QAAQ,CAAC/kC,MAAT,GAAkB,CAAlB,GAAsB,MAAM+kC,QAA5B,GAAuC,EAA9C;AACH;;;iCACYI,O,EAAS;AAClB,iCAAoBA,OAAO,CAACC,OAA5B,iBAA0CD,OAAO,CAACE,GAAlD;AACH;;;;;;AAEL,IAAMC,QAAQ,GAAG,IAAIR,QAAJ,EAAjB;;AACA,SAASS,SAAT,CAAmBnI,KAAnB,EAA0B;AACtB,SAAOA,KAAK,CAAC14B,GAAN,CAAU,UAAC8K,IAAD;AAAA,WAAUA,IAAI,CAAC6tB,KAAL,CAAWiI,QAAX,CAAV;AAAA,GAAV,EAA0ClkC,IAA1C,CAA+C,EAA/C,CAAP;AACH;;IACKokC,W;AACF,uBAAYC,cAAZ,EAA4B;AAAA;;AAAA;;AACxB,SAAKzkC,KAAL,GAAa,EAAb;AACAsF,UAAM,CAAC+T,IAAP,CAAYorB,cAAZ,EAA4BxlC,OAA5B,CAAoC,UAACu/B,CAAD,EAAO;AACvC,aAAI,CAACx+B,KAAL,CAAWw+B,CAAX,IAAgBkG,SAAS,CAACD,cAAc,CAACjG,CAAD,CAAf,CAAzB;AACH,KAFD;AAGH;;;;0BACKl1B,O,EAAS;AACX,aAAOA,OAAO,CAACq7B,gBAAR,CAAyB,IAAzB,CAAP;AACH;;;;;;IAECC,O;AACF,mBAAYR,OAAZ,EAAqBC,GAArB,EAA0B;AAAA;;AACtB,SAAKD,OAAL,GAAeA,OAAf;AACA,SAAKC,GAAL,GAAWA,GAAX;AACH;;;;0BACK/6B,O,EAAS;AACX,aAAOA,OAAO,CAACu7B,YAAR,CAAqB,IAArB,CAAP;AACH;;;;;;IAECC,G;AACF,eAAY5lC,IAAZ,EAAsD;AAAA;;AAAA,QAApCulC,cAAoC,uEAAnB,EAAmB;AAAA,QAAftK,QAAe,uEAAJ,EAAI;;AAAA;;AAClD,SAAKj7B,IAAL,GAAYA,IAAZ;AACA,SAAKi7B,QAAL,GAAgBA,QAAhB;AACA,SAAKn6B,KAAL,GAAa,EAAb;AACAsF,UAAM,CAAC+T,IAAP,CAAYorB,cAAZ,EAA4BxlC,OAA5B,CAAoC,UAACu/B,CAAD,EAAO;AACvC,aAAI,CAACx+B,KAAL,CAAWw+B,CAAX,IAAgBkG,SAAS,CAACD,cAAc,CAACjG,CAAD,CAAf,CAAzB;AACH,KAFD;AAGH;;;;0BACKl1B,O,EAAS;AACX,aAAOA,OAAO,CAACy7B,QAAR,CAAiB,IAAjB,CAAP;AACH;;;;;;IAECC,M;AACF,kBAAYC,cAAZ,EAA4B;AAAA;;AACxB,SAAKtkC,KAAL,GAAa+jC,SAAS,CAACO,cAAD,CAAtB;AACH;;;;0BACK37B,O,EAAS;AACX,aAAOA,OAAO,CAACyvB,SAAR,CAAkB,IAAlB,CAAP;AACH;;;;;;IAECmM,E;;;;;AACF,gBAAoB;AAAA,QAARC,EAAQ,uEAAH,CAAG;;AAAA;;AAAA,2CACL,IAAIxpB,KAAJ,CAAUwpB,EAAE,GAAG,CAAf,EAAkB/kC,IAAlB,CAAuB,GAAvB,CADK;AAEnB;;;EAHY4kC,M;;AAKjB,IAAMI,cAAc,GAAG,CACnB,CAAC,IAAD,EAAO,OAAP,CADmB,EAEnB,CAAC,IAAD,EAAO,QAAP,CAFmB,EAGnB,CAAC,IAAD,EAAO,QAAP,CAHmB,EAInB,CAAC,IAAD,EAAO,MAAP,CAJmB,EAKnB,CAAC,IAAD,EAAO,MAAP,CALmB,CAAvB,C,CAOA;;AACA,SAASV,SAAT,CAAmB50B,IAAnB,EAAyB;AACrB,SAAOs1B,cAAc,CAAChY,MAAf,CAAsB,UAACtd,IAAD,EAAO4H,KAAP;AAAA,WAAiB5H,IAAI,CAAC0B,OAAL,CAAakG,KAAK,CAAC,CAAD,CAAlB,EAAuBA,KAAK,CAAC,CAAD,CAA5B,CAAjB;AAAA,GAAtB,EAAyE5H,IAAzE,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMu1B,aAAa,GAAG,eAAtB;AACA,IAAMC,YAAY,GAAG,KAArB;AACA,IAAMC,gBAAgB,GAAG,IAAzB;AACA,IAAMC,YAAY,GAAG,IAArB;AACA,IAAMC,WAAW,GAAG,QAApB;AACA,IAAMC,QAAQ,0jBAAd;;IAmBMC,G;;;;;;;;;;;;;0BACIC,Q,EAAUC,M,EAAQ;AACpB,UAAMC,cAAc,GAAG,IAAIC,cAAJ,EAAvB;AACA,UAAMz8B,OAAO,GAAG,IAAI08B,UAAJ,EAAhB;AACA,UAAIC,QAAQ,GAAG,IAAInB,GAAJ,CAAQO,aAAR,CAAf;AACAO,cAAQ,CAAC3mC,OAAT,CAAiB,UAAAy/B,OAAO,EAAI;AACxB,YAAM1+B,KAAK,GAAG;AAAE2Z,YAAE,EAAE+kB,OAAO,CAAC/kB;AAAd,SAAd;;AACA,YAAI+kB,OAAO,CAAChuB,WAAZ,EAAyB;AACrB1Q,eAAK,CAAC,MAAD,CAAL,GAAgB0+B,OAAO,CAAChuB,WAAxB;AACH;;AACD,YAAIguB,OAAO,CAAC/tB,OAAZ,EAAqB;AACjB3Q,eAAK,CAAC,SAAD,CAAL,GAAmB0+B,OAAO,CAAC/tB,OAA3B;AACH;;AACD,YAAIu1B,UAAU,GAAG,EAAjB;AACAxH,eAAO,CAAChC,OAAR,CAAgBz9B,OAAhB,CAAwB,UAACknC,MAAD,EAAY;AAChCD,oBAAU,CAACzlC,IAAX,CAAgB,IAAIqkC,GAAJ,CAAQW,WAAR,EAAqB,EAArB,EAAyB,CAAC,IAAIT,MAAJ,WAAcmB,MAAM,CAACtf,QAArB,cAAiCsf,MAAM,CAACtJ,SAAxC,SAAoDsJ,MAAM,CAAClJ,OAAP,KAAmBkJ,MAAM,CAACtJ,SAA1B,GAAsC,MAAMsJ,MAAM,CAAClJ,OAAnD,GAA6D,EAAjH,EAAD,CAAzB,CAAhB;AACH,SAFD;AAGAgJ,gBAAQ,CAAC9L,QAAT,CAAkB15B,IAAlB,CAAuB,IAAIykC,EAAJ,CAAO,CAAP,CAAvB,EAAkC,IAAIJ,GAAJ,CAAQQ,YAAR,EAAsBtlC,KAAtB,YAAiCkmC,UAAjC,6IAAgD58B,OAAO,CAACi7B,SAAR,CAAkB7F,OAAO,CAACtC,KAA1B,CAAhD,GAAlC;AACH,OAbD;AAcA6J,cAAQ,CAAC9L,QAAT,CAAkB15B,IAAlB,CAAuB,IAAIykC,EAAJ,EAAvB;AACA,aAAOX,SAAS,CAAC,CACb,IAAIC,WAAJ,CAAgB;AAAE4B,eAAO,EAAE,KAAX;AAAkBC,gBAAQ,EAAE;AAA5B,OAAhB,CADa,EAEb,IAAInB,EAAJ,EAFa,EAGb,IAAIN,OAAJ,CAAYS,aAAZ,EAA2BK,QAA3B,CAHa,EAIb,IAAIR,EAAJ,EAJa,EAKbY,cAAc,CAACQ,kBAAf,CAAkCL,QAAlC,CALa,EAMb,IAAIf,EAAJ,EANa,CAAD,CAAhB;AAQH;;;yBACI3J,O,EAAS/N,G,EAAK;AACf,YAAM,IAAI/vB,KAAJ,CAAU,aAAV,CAAN;AACH;;;2BACMihC,O,EAAS;AACZ,aAAO6H,QAAQ,CAAC7H,OAAD,CAAf;AACH;;;qCACgBA,O,EAAS;AACtB,aAAO,IAAI4E,uBAAJ,CAA4B5E,OAA5B,EAAqC8H,YAArC,CAAP;AACH;;;;EArCanD,U;;IAuCZ2C,U;;;;;;;8BACQl2B,I,EAAMvG,O,EAAS;AACrB,aAAO,CAAC,IAAIy7B,MAAJ,CAAWl1B,IAAI,CAACnP,KAAhB,CAAD,CAAP;AACH;;;mCACcu9B,S,EAAW30B,O,EAAS;AAAA;;AAC/B,UAAM6yB,KAAK,GAAG,EAAd;AACA8B,eAAS,CAAC/D,QAAV,CAAmBl7B,OAAnB,CAA2B,UAACuP,IAAD;AAAA,eAAU4tB,KAAK,CAAC37B,IAAN,OAAA27B,KAAK,6IAAS5tB,IAAI,CAAC6tB,KAAL,CAAW,OAAX,CAAT,EAAf;AAAA,OAA3B;AACA,aAAOD,KAAP;AACH;;;6BACQZ,G,EAAKjyB,O,EAAS;AAAA;;AACnB,UAAM6yB,KAAK,GAAG,CAAC,IAAI4I,MAAJ,YAAexJ,GAAG,CAAC4C,qBAAnB,eAA6C5C,GAAG,CAAC9vB,IAAjD,QAAD,CAAd;AACApG,YAAM,CAAC+T,IAAP,CAAYmiB,GAAG,CAACgC,KAAhB,EAAuBv+B,OAAvB,CAA+B,UAACkH,CAAD,EAAO;AAClCi2B,aAAK,CAAC37B,IAAN,OAAA27B,KAAK,GAAM,IAAI4I,MAAJ,WAAc7+B,CAAd,QAAN,oJAA+Bq1B,GAAG,CAACgC,KAAJ,CAAUr3B,CAAV,EAAak2B,KAAb,CAAmB,OAAnB,CAA/B,IAAyD,IAAI2I,MAAJ,MAAzD,GAAL;AACH,OAFD;AAGA5I,WAAK,CAAC37B,IAAN,CAAW,IAAIukC,MAAJ,KAAX;AACA,aAAO5I,KAAP;AACH;;;wCACmBiC,E,EAAI90B,O,EAAS;AAC7B,UAAMk9B,cAAc,GAAG,IAAIzB,MAAJ,YAAe3G,EAAE,CAAC58B,GAAlB,OAAvB;AACA,UAAMilC,OAAO,GAAG,IAAI5B,GAAJ,CAAQU,YAAR,EAAsB,EAAtB,EAA0B,CAACiB,cAAD,CAA1B,CAAhB,CAF6B,CAG7B;;AACA,UAAME,UAAU,GAAG,IAAI7B,GAAJ,CAAQS,gBAAR,EAA0B;AAAErmC,YAAI,EAAEm/B,EAAE,CAACX;AAAX,OAA1B,EAAkD,CAACgJ,OAAD,EAAUD,cAAV,CAAlD,CAAnB;;AACA,UAAIpI,EAAE,CAACz/B,MAAP,EAAe;AACX;AACA,eAAO,CAAC+nC,UAAD,CAAP;AACH;;AACD,UAAMC,cAAc,GAAG,IAAI5B,MAAJ,aAAgB3G,EAAE,CAAC58B,GAAnB,OAAvB;AACA,UAAMolC,OAAO,GAAG,IAAI/B,GAAJ,CAAQU,YAAR,EAAsB,EAAtB,EAA0B,CAACoB,cAAD,CAA1B,CAAhB,CAV6B,CAW7B;;AACA,UAAME,UAAU,GAAG,IAAIhC,GAAJ,CAAQS,gBAAR,EAA0B;AAAErmC,YAAI,EAAEm/B,EAAE,CAACV;AAAX,OAA1B,EAAkD,CAACkJ,OAAD,EAAUD,cAAV,CAAlD,CAAnB;AACA,cAAQD,UAAR,oJAAuB,KAAKpC,SAAL,CAAelG,EAAE,CAAClE,QAAlB,CAAvB,IAAoD2M,UAApD;AACH;;;qCACgBzI,E,EAAI90B,O,EAAS;AAC1B,UAAMw9B,mBAAmB,GAAG,IAAI/B,MAAJ,aAAgB3G,EAAE,CAAC19B,KAAnB,QAA5B,CAD0B,CAE1B;;AACA,UAAMqmC,KAAK,GAAG,IAAIlC,GAAJ,CAAQU,YAAR,EAAsB,EAAtB,EAA0B,CAACuB,mBAAD,CAA1B,CAAd;AACA,aAAO,CACH;AACA,UAAIjC,GAAJ,CAAQS,gBAAR,EAA0B;AAAErmC,YAAI,EAAEm/B,EAAE,CAACn/B;AAAX,OAA1B,EAA6C,CAAC8nC,KAAD,EAAQD,mBAAR,CAA7C,CAFG,CAAP;AAIH;;;wCACmB1I,E,EAAI90B,O,EAAS;AAC7B,UAAM09B,aAAa,GAAG5I,EAAE,CAAC19B,KAAH,CAAS2f,UAA/B;AACA,UAAM4mB,OAAO,GAAG7I,EAAE,CAAC19B,KAAH,CAAS+K,IAAzB;AACA,UAAMy7B,QAAQ,GAAG7hC,MAAM,CAAC+T,IAAP,CAAYglB,EAAE,CAAC19B,KAAH,CAAS68B,KAArB,EAA4B95B,GAA5B,CAAgC,UAAC/C,KAAD;AAAA,eAAWA,KAAK,GAAG,QAAnB;AAAA,OAAhC,EAA6DP,IAA7D,CAAkE,GAAlE,CAAjB;AACA,UAAMgnC,SAAS,GAAG,IAAIpC,MAAJ,YAAeiC,aAAf,eAAiCC,OAAjC,eAA6CC,QAA7C,OAAlB;AACA,UAAMH,KAAK,GAAG,IAAIlC,GAAJ,CAAQU,YAAR,EAAsB,EAAtB,EAA0B,CAAC4B,SAAD,CAA1B,CAAd;AACA,aAAO,CACH;AACA,UAAItC,GAAJ,CAAQS,gBAAR,EAA0B;AAAErmC,YAAI,EAAEm/B,EAAE,CAACn/B;AAAX,OAA1B,EAA6C,CAAC8nC,KAAD,EAAQI,SAAR,CAA7C,CAFG,CAAP;AAIH;;;8BACShL,K,EAAO;AAAA;AAAA;;AACb,aAAO,cAAG17B,MAAH,0JAAa07B,KAAK,CAAC14B,GAAN,CAAU,UAAA8K,IAAI;AAAA,eAAIA,IAAI,CAAC6tB,KAAL,CAAW,OAAX,CAAJ;AAAA,OAAd,CAAb,EAAP;AACH;;;;;;AAEL,SAASkK,QAAT,CAAkB7H,OAAlB,EAA2B;AACvB,SAAOI,aAAa,CAACJ,OAAD,CAApB;AACH,C,CACD;;;IACMqH,c;;;;;;;uCACiBv3B,I,EAAM;AACrBA,UAAI,CAAC6tB,KAAL,CAAW,IAAX;AACA,aAAO7tB,IAAP;AACH;;;6BACQ/M,G,EAAK;AAAA;;AACV,UAAIA,GAAG,CAACvC,IAAJ,KAAaqmC,gBAAjB,EAAmC;AAC/B,YAAI,CAAC9jC,GAAG,CAAC04B,QAAL,IAAiB14B,GAAG,CAAC04B,QAAJ,CAAan7B,MAAb,IAAuB,CAA5C,EAA+C;AAC3C,cAAMqoC,MAAM,GAAG,IAAIrC,MAAJ,CAAWvjC,GAAG,CAACzB,KAAJ,CAAU,MAAV,KAAqB,KAAhC,CAAf;AACAyB,aAAG,CAAC04B,QAAJ,GAAe,CAAC,IAAI2K,GAAJ,CAAQU,YAAR,EAAsB,EAAtB,EAA0B,CAAC6B,MAAD,CAA1B,CAAD,CAAf;AACH;AACJ,OALD,MAMK,IAAI5lC,GAAG,CAAC04B,QAAR,EAAkB;AACnB14B,WAAG,CAAC04B,QAAJ,CAAal7B,OAAb,CAAqB,UAAAuP,IAAI;AAAA,iBAAIA,IAAI,CAAC6tB,KAAL,CAAW,OAAX,CAAJ;AAAA,SAAzB;AACH;AACJ;;;8BACSvsB,I,EAAM,CAAG;;;qCACFo0B,I,EAAM,CAAG;;;iCACbC,O,EAAS,CAAG;;;;KAE7B;;;AACA,SAASqC,YAAT,CAAsB7C,YAAtB,EAAoC;AAChC,SAAOA,YAAY,CAACzoB,WAAb,GAA2B1J,OAA3B,CAAmC,aAAnC,EAAkD,GAAlD,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAM81B,8BAA8B,GAAG,MAAvC;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,sBAAsB,GAAG,OAA/B;AACA;;AACA,IAAMC,SAAS,GAAG,MAAlB;AACA,IAAMC,gBAAgB,GAAG,OAAzB;AACA;;AACA,IAAMC,mBAAmB,GAAG,MAA5B;AACA;;AACA,IAAMC,uBAAuB,GAAG,WAAhC;AACA;;AACA,IAAMC,uBAAuB,GAAG,GAAhC;;AACA,SAASC,eAAT,CAAyB3oC,IAAzB,EAA+B;AAC3B,SAAOA,IAAI,KAAKsoC,SAAT,IAAsBtoC,IAAI,CAAC4oC,UAAL,CAAgBL,gBAAhB,CAA7B;AACH;;AACD,SAASM,cAAT,CAAwBja,IAAxB,EAA8B;AAC1B,SAAOA,IAAI,YAAY0O,OAAvB;AACH;;AACD,SAASwL,eAAT,CAAyBla,IAAzB,EAA+B;AAC3B,SAAOia,cAAc,CAACja,IAAD,CAAd,IAAwBA,IAAI,CAACsO,KAAL,CAAWp9B,MAAX,KAAsB,CAA9C,IAAmD8uB,IAAI,CAACsO,KAAL,CAAW,CAAX,aAAyBmB,KAAnF;AACH;;AACD,SAAS0K,WAAT,CAAqBz5B,IAArB,EAA2B;AACvB,SAAO,CAAC,CAACA,IAAI,CAAC8lB,IAAd;AACH;;AACD,SAAS4T,YAAT,CAAsBpoC,OAAtB,EAA+B;AAC3B,SAAOA,OAAO,CAACE,KAAR,CAAc8c,IAAd,CAAmB,UAACqrB,IAAD;AAAA,WAAUN,eAAe,CAACM,IAAI,CAACjpC,IAAN,CAAzB;AAAA,GAAnB,CAAP;AACH;;AACD,SAASkpC,kBAAT,CAA4B1J,OAA5B,EAAqC;AACjC,SAAOA,OAAO,CAACtC,KAAR,CAAc,CAAd,CAAP;AACH;;AACD,SAASiM,mBAAT,CAA6B9M,OAA7B,EAAqD;AAAA,MAAf+M,SAAe,uEAAH,CAAG;AACjD,MAAMC,OAAO,GAAGD,SAAS,GAAG,CAAZ,cAAoBA,SAApB,IAAkC,EAAlD;AACA,mBAAUV,uBAAV,SAAoCrM,OAApC,SAA8CgN,OAA9C,SAAwDX,uBAAxD;AACH;;AACD,SAASY,uBAAT,CAAiCC,OAAjC,EAAgF;AAAA,MAAtCC,iBAAsC,uEAAlB,CAAkB;AAAA,MAAfJ,SAAe,uEAAH,CAAG;AAC5E,MAAI,CAACG,OAAO,CAACzpC,MAAb,EACI,OAAO,EAAP;AACJ,MAAI2pC,GAAG,GAAG,EAAV;AACA,MAAMC,OAAO,GAAGH,OAAO,CAACzpC,MAAR,GAAiB,CAAjC;;AACA,OAAK,IAAIqB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuoC,OAApB,EAA6BvoC,CAAC,EAA9B,EAAkC;AAC9BsoC,OAAG,cAAOF,OAAO,CAACpoC,CAAD,CAAd,SAAoBgoC,mBAAmB,CAACK,iBAAiB,GAAGroC,CAArB,EAAwBioC,SAAxB,CAAvC,CAAH;AACH;;AACDK,KAAG,IAAIF,OAAO,CAACG,OAAD,CAAd;AACA,SAAOD,GAAP;AACH;;AACD,SAASE,qBAAT,GAA6C;AAAA,MAAdC,QAAc,uEAAH,CAAG;AACzC,MAAIznC,OAAO,GAAGynC,QAAd;AACA,SAAO;AAAA,WAAMznC,OAAO,EAAb;AAAA,GAAP;AACH;;AACD,SAAS0nC,oBAAT,CAA8B3N,YAA9B,EAA4C;AACxC,MAAMrvB,MAAM,GAAG,EAAf;AACAqvB,cAAY,CAACn8B,OAAb,CAAqB,UAACgJ,MAAD,EAAS4L,GAAT,EAAiB;AAClC9H,UAAM,CAAC8H,GAAD,CAAN,GAAc2G,OAAO,CAACvS,MAAM,CAACjJ,MAAP,GAAgB,CAAhB,cAAwBiJ,MAAM,CAAC7H,IAAP,CAAY,GAAZ,CAAxB,SAA8C6H,MAAM,CAAC,CAAD,CAArD,CAArB;AACH,GAFD;AAGA,SAAO8D,MAAP;AACH;;AACD,SAASi9B,oBAAT,CAA8BtlC,GAA9B,EAAmCxE,IAAnC,EAAoD;AAChD,MAAMmC,OAAO,GAAGqC,GAAG,CAACJ,GAAJ,CAAQpE,IAAR,KAAiB,EAAjC;;AADgD,qCAAR+I,MAAQ;AAARA,UAAQ;AAAA;;AAEhD5G,SAAO,CAACZ,IAAR,OAAAY,OAAO,EAAS4G,MAAT,CAAP;AACAvE,KAAG,CAACH,GAAJ,CAAQrE,IAAR,EAAcmC,OAAd;AACH;;AACD,SAAS4nC,6BAAT,CAAuCnb,IAAvC,EAAmF;AAAA,MAAtC4a,iBAAsC,uEAAlB,CAAkB;AAAA,MAAfJ,SAAe,uEAAH,CAAG;AAC/E,MAAMY,QAAQ,GAAGR,iBAAjB;AACA,MAAMtN,YAAY,GAAG,IAAIn5B,GAAJ,EAArB;AACA,MAAMuM,IAAI,GAAGsf,IAAI,YAAY0O,OAAhB,GAA0B1O,IAAI,CAACsO,KAAL,CAAW+M,IAAX,CAAgB,UAAA36B,IAAI;AAAA,WAAIA,IAAI,YAAY6uB,SAApB;AAAA,GAApB,CAA1B,GAA+EvP,IAA5F;;AACA,MAAItf,IAAJ,EAAU;AACNA,QAAI,CACC2rB,QADL,CAEK7X,MAFL,CAEY,UAACic,KAAD;AAAA,aAAWA,KAAK,YAAYV,WAA5B;AAAA,KAFZ,EAGK5+B,OAHL,CAGa,UAACs/B,KAAD,EAAQ6K,GAAR,EAAgB;AACzB,UAAM7N,OAAO,GAAG8M,mBAAmB,CAACa,QAAQ,GAAGE,GAAZ,EAAiBd,SAAjB,CAAnC;AACAU,0BAAoB,CAAC5N,YAAD,EAAemD,KAAK,CAACr/B,IAArB,EAA2Bq8B,OAA3B,CAApB;AACH,KAND;AAOH;;AACD,SAAOH,YAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiO,0BAAT,GAA+D;AAAA,MAA3Bt9B,MAA2B,uEAAlB,EAAkB;AAAA,MAAdu9B,YAAc;AAC3D,MAAMC,OAAO,GAAG,EAAhB;;AACA,MAAIx9B,MAAM,IAAIzG,MAAM,CAAC+T,IAAP,CAAYtN,MAAZ,EAAoB/M,MAAlC,EAA0C;AACtCsG,UAAM,CAAC+T,IAAP,CAAYtN,MAAZ,EAAoB9M,OAApB,CAA4B,UAAA4U,GAAG;AAAA,aAAI01B,OAAO,CAACC,yBAAyB,CAAC31B,GAAD,EAAMy1B,YAAN,CAA1B,CAAP,GAAwDv9B,MAAM,CAAC8H,GAAD,CAAlE;AAAA,KAA/B;AACH;;AACD,SAAO01B,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,yBAAT,CAAmCtqC,IAAnC,EAA8D;AAAA,MAArBoqC,YAAqB,uEAAN,IAAM;AAC1D,MAAM1F,UAAU,GAAG4C,YAAY,CAACtnC,IAAD,CAA/B;;AACA,MAAI,CAACoqC,YAAL,EAAmB;AACf,WAAO1F,UAAP;AACH;;AACD,MAAM6F,MAAM,GAAG7F,UAAU,CAACjlB,KAAX,CAAiB,GAAjB,CAAf;;AACA,MAAI8qB,MAAM,CAACzqC,MAAP,KAAkB,CAAtB,EAAyB;AACrB;AACA,WAAOE,IAAI,CAACC,WAAL,EAAP;AACH;;AACD,MAAIuqC,OAAJ,CAV0D,CAW1D;;AACA,MAAI,QAAQC,IAAR,CAAaF,MAAM,CAACA,MAAM,CAACzqC,MAAP,GAAgB,CAAjB,CAAnB,CAAJ,EAA6C;AACzC0qC,WAAO,GAAGD,MAAM,CAACG,GAAP,EAAV;AACH;;AACD,MAAI93B,GAAG,GAAG23B,MAAM,CAACI,KAAP,GAAe1qC,WAAf,EAAV;;AACA,MAAIsqC,MAAM,CAACzqC,MAAX,EAAmB;AACf8S,OAAG,IAAI23B,MAAM,CAAC/lC,GAAP,CAAW,UAAAyC,CAAC;AAAA,aAAIA,CAAC,CAACkyB,MAAF,CAAS,CAAT,EAAYnd,WAAZ,KAA4B/U,CAAC,CAACzI,KAAF,CAAQ,CAAR,EAAWyB,WAAX,EAAhC;AAAA,KAAZ,EAAsEiB,IAAtE,CAA2E,EAA3E,CAAP;AACH;;AACD,SAAOspC,OAAO,aAAM53B,GAAN,cAAa43B,OAAb,IAAyB53B,GAAvC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASg4B,yBAAT,CAAmCC,KAAnC,EAA0C;AACtC,SAAO,UAAGzC,8BAAH,SAAoCyC,KAApC,EAA4C7uB,WAA5C,EAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS8uB,mBAAT,CAA6BvwB,QAA7B,EAAuC;AACnC,SAAO,IAAI9K,cAAJ,CAAmB8K,QAAQ,CAACva,IAA5B,EAAkC+F,SAAlC,EAA6CmF,aAA7C,EAA4DnF,SAA5D,EAAuEwU,QAAQ,CAAC9N,UAAhF,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMs+B,6BAA6B,GAAG,MAAtC;AACA;;AACA,IAAMC,cAAc,GAAG,IAAvB;AACA;;AACA,IAAMC,YAAY,GAAG,KAArB;AACA;;AACA,IAAMC,YAAY,GAAG,IAArB;AACA;;AACA,IAAMC,gBAAgB,GAAG,IAAzB;AACA;;AACA,IAAMC,kBAAkB,GAAG,WAA3B;AACA;;AACA,IAAMC,iBAAiB,GAAG,eAA1B;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,kBAAT,CAA4B13B,UAA5B,EAAwC5T,IAAxC,EAA8C;AAC1C,MAAIqhC,IAAI,GAAG,IAAX;AACA,SAAO,YAAM;AACT,QAAI,CAACA,IAAL,EAAW;AACPztB,gBAAU,CAACrS,IAAX,CAAgB,IAAIkO,cAAJ,CAAmBu7B,cAAnB,EAAmCjlC,SAAnC,EAA8CiF,YAA9C,CAAhB;AACAq2B,UAAI,GAAG9mB,QAAQ,CAACva,IAAD,CAAf;AACH;;AACD,WAAOqhC,IAAP;AACH,GAND;AAOH;;AACD,SAASkK,WAAT,CAAqBC,OAArB,EAA8B;AAC1B,MAAI,IAAJ,EAAU;AACN,UAAM,IAAIjtC,KAAJ,mBAAqB,KAAK0b,WAAL,CAAiBja,IAAtC,8BAA8DwrC,OAA9D,UAAN;AACH;;AACD,QAAM,IAAIjtC,KAAJ,mBAAqBitC,OAArB,2BAAN;AACH;;AACD,SAASC,SAAT,CAAmBznB,GAAnB,EAAwB;AACpB,QAAM,IAAIzlB,KAAJ,kCAAoC,KAAK0b,WAAL,CAAiBja,IAArD,6BAA4EgkB,GAAG,CAAC/J,WAAJ,CAAgBja,IAA5F,EAAN;AACH;;AACD,SAAS0rC,SAAT,CAAmBjqC,KAAnB,EAA0B;AACtB,MAAIgb,KAAK,CAACC,OAAN,CAAcjb,KAAd,CAAJ,EAA0B;AACtB,WAAOqZ,UAAU,CAACrZ,KAAK,CAAC+C,GAAN,CAAUknC,SAAV,CAAD,CAAjB;AACH;;AACD,SAAOpwB,OAAO,CAAC7Z,KAAD,EAAQyJ,aAAR,CAAd;AACH;;AACD,SAASygC,mCAAT,CAA6CxxB,IAA7C,EAAmDyxB,YAAnD,EAAiE;AAC7D,MAAIxlC,MAAM,CAACylC,mBAAP,CAA2B1xB,IAA3B,EAAiCra,MAAjC,GAA0C,CAA9C,EAAiD;AAC7C,WAAOgsC,eAAe,CAAC3xB,IAAD,EAAOyxB,YAAP,CAAtB;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAASE,eAAT,CAAyBtnC,GAAzB,EAA8BonC,YAA9B,EAA4C;AACxC,SAAO7wB,UAAU,CAAC3U,MAAM,CAACylC,mBAAP,CAA2BrnC,GAA3B,EAAgCA,GAAhC,CAAoC,UAAAmQ,GAAG,EAAI;AACzD;AACA;AACA,QAAMlT,KAAK,GAAG+C,GAAG,CAACmQ,GAAD,CAAjB;AACA,QAAIo3B,YAAJ;AACA,QAAIrH,UAAJ;AACA,QAAIsH,YAAJ;;AACA,QAAIvvB,KAAK,CAACC,OAAN,CAAcjb,KAAd,CAAJ,EAA0B;AAAA,yJACOA,KADP;;AACrBijC,gBADqB;AACTqH,kBADS;AAEzB,KAFD,MAGK;AAAA,0BAC4B9vB,YAAY,CAACtH,GAAD,EAAM,CAACA,GAAD,EAAMlT,KAAN,CAAN,CADxC;;AAAA;;AACAsqC,kBADA;AACcrH,gBADd;AAEJ;;AACDsH,gBAAY,GAAGD,YAAf;AACA,WAAO;AACHp3B,SAAG,EAAEq3B,YADF;AAEH;AACAp3B,YAAM,EAAEm2B,6BAA6B,CAACN,IAA9B,CAAmCuB,YAAnC,CAHL;AAIHvqC,WAAK,EAAGmqC,YAAY,IAAIlH,UAAU,KAAKqH,YAAhC,GACHjxB,UAAU,CAAC,CAAC4wB,SAAS,CAAChH,UAAD,CAAV,EAAwBgH,SAAS,CAACK,YAAD,CAAjC,CAAD,CADP,GAEHL,SAAS,CAAChH,UAAD;AANV,KAAP;AAQH,GAtBiB,CAAD,CAAjB;AAuBH;AACD;AACA;AACA;;;AACA,SAASuH,iBAAT,CAA2B1oB,UAA3B,EAAuC;AACnC,SAAO9H,MAAM,CAAC8H,UAAU,CAACA,UAAU,CAACzjB,MAAX,GAAoB,CAArB,CAAX,CAAb,EAAkD;AAC9CyjB,cAAU,CAACmnB,GAAX;AACH;;AACD,SAAOnnB,UAAP;AACH;;AACD,SAAS2oB,iBAAT,CAA2BC,KAA3B,EAAkCC,YAAlC,EAAgD;AAC5C,MAAI3vB,KAAK,CAACC,OAAN,CAAcyvB,KAAK,CAACE,SAApB,CAAJ,EAAoC;AAChC,QAAIA,SAAS,GAAG,EAAhB;AACAF,SAAK,CAACE,SAAN,CAAgBtsC,OAAhB,CAAwB,UAAC8B,QAAD,EAAc;AAClC;AACA;AACA;AACA,UAAMuD,SAAS,GAAGvD,QAAQ,CAAC4d,KAAT,CAAe,GAAf,EAAoBjb,GAApB,CAAwB,UAAAkB,KAAK;AAAA,eAAI4V,OAAO,CAAC5V,KAAK,CAAC6W,IAAN,EAAD,CAAX;AAAA,OAA7B,CAAlB;AACA8vB,eAAS,CAAC9qC,IAAV,OAAA8qC,SAAS,6IAASjnC,SAAT,EAAT;AACH,KAND;AAOA,WAAOgnC,YAAY,CAAC9oB,eAAb,CAA6BxI,UAAU,CAACuxB,SAAD,CAAvC,EAAoD,IAApD,CAAP;AACH,GAVD,MAWK;AACD,WAAOF,KAAK,CAACE,SAAb;AACH;AACJ;;AACD,SAASC,IAAT,GAAgB,CAAG;;IACbC,a;AACF,2BAAc;AAAA;;AACV,SAAKxjC,MAAL,GAAc,EAAd;AACH;;;;wBACG4L,G,EAAKlT,K,EAAO;AACZ,UAAIA,KAAJ,EAAW;AACP,aAAKsH,MAAL,CAAYxH,IAAZ,CAAiB;AAAEoT,aAAG,EAAHA,GAAF;AAAOlT,eAAK,EAALA,KAAP;AAAcmT,gBAAM,EAAE;AAAtB,SAAjB;AACH;AACJ;;;mCACc;AACX,aAAOmG,UAAU,CAAC,KAAKhS,MAAN,CAAjB;AACH;;;;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyjC,4BAAT,CAAsCC,OAAtC,EAA+C;AAC3C,MAAMC,aAAa,GAAG,EAAtB;;AACA,MAAID,OAAO,YAAYnR,QAAnB,IAA+BmR,OAAO,CAAC/tC,OAAR,KAAoB,aAAvD,EAAsE;AAClE+tC,WAAO,CAAClR,aAAR,CAAsBx7B,OAAtB,CAA8B,UAAAggC,CAAC;AAAA,aAAI2M,aAAa,CAAC3M,CAAC,CAAC//B,IAAH,CAAb,GAAwB,EAA5B;AAAA,KAA/B;AACH,GAFD,MAGK;AACDysC,WAAO,CAACzR,UAAR,CAAmBj7B,OAAnB,CAA2B,UAAAggC,CAAC,EAAI;AAC5B,UAAI,CAAC4I,eAAe,CAAC5I,CAAC,CAAC//B,IAAH,CAApB,EAA8B;AAC1B0sC,qBAAa,CAAC3M,CAAC,CAAC//B,IAAH,CAAb,GAAwB+/B,CAAC,CAACt+B,KAA1B;AACH;AACJ,KAJD;AAKAgrC,WAAO,CAACliB,MAAR,CAAexqB,OAAf,CAAuB,UAAAoB,CAAC,EAAI;AACxBurC,mBAAa,CAACvrC,CAAC,CAACnB,IAAH,CAAb,GAAwB,EAAxB;AACH,KAFD;AAGAysC,WAAO,CAACjiB,OAAR,CAAgBzqB,OAAhB,CAAwB,UAAA4sC,CAAC,EAAI;AACzBD,mBAAa,CAACC,CAAC,CAAC3sC,IAAH,CAAb,GAAwB,EAAxB;AACH,KAFD;AAGH;;AACD,SAAO0sC,aAAP;AACH;AACD;;;AACA,SAASE,kBAAT,CAA4BvlB,SAA5B,EAAuCwlB,KAAvC,EAA8CC,IAA9C,EAAoD;AAChD,MAAI1rB,UAAU,GAAG5G,UAAU,CAAC6M,SAAD,EAAY,IAAZ,EAAkBylB,IAAlB,CAA3B;;AACA,MAAID,KAAK,CAAC/sC,MAAN,GAAe,CAAnB,EAAsB;AAClB,SAAK,IAAIqB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0rC,KAAK,CAAC/sC,MAA1B,EAAkCqB,CAAC,EAAnC,EAAuC;AACnCigB,gBAAU,GAAGA,UAAU,CAACmB,MAAX,CAAkBsqB,KAAK,CAAC1rC,CAAD,CAAvB,EAA4B2rC,IAA5B,CAAb;AACH;AACJ,GAJD,MAKK;AACD;AACA1rB,cAAU,GAAGA,UAAU,CAACmB,MAAX,CAAkB,EAAlB,EAAsBuqB,IAAtB,CAAb;AACH;;AACD,SAAO1rB,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS2rB,0BAAT,CAAoChjB,aAApC,EAAmD;AAAA,MACvC5Y,WADuC,GACd4Y,aADc,CACvC5Y,WADuC;AAAA,MAC1Bo4B,OAD0B,GACdxf,aADc,CAC1Bwf,OAD0B;;AAE/C,MAAIp4B,WAAW,CAACrR,MAAZ,KAAuB,CAAvB,IAA4BypC,OAAO,CAACzpC,MAAR,KAAmB,CAA/C,IAAoDypC,OAAO,CAAC,CAAD,CAAP,KAAe,EAAnE,IAAyEA,OAAO,CAAC,CAAD,CAAP,KAAe,EAA5F,EAAgG;AAC5F;AACA;AACA;AACA,WAAO,CAAP;AACH,GALD,MAMK;AACD,WAAOp4B,WAAW,CAACrR,MAAZ,GAAqBypC,OAAO,CAACzpC,MAApC;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIktC,qBAAJ;;AACA,CAAC,UAAUA,qBAAV,EAAiC;AAC9BA,uBAAqB,CAACA,qBAAqB,CAAC,OAAD,CAArB,GAAiC,CAAlC,CAArB,GAA4D,OAA5D;AACAA,uBAAqB,CAACA,qBAAqB,CAAC,UAAD,CAArB,GAAoC,CAArC,CAArB,GAA+D,UAA/D;AACAA,uBAAqB,CAACA,qBAAqB,CAAC,SAAD,CAArB,GAAmC,CAApC,CAArB,GAA8D,SAA9D;AACH,CAJD,EAIGA,qBAAqB,KAAKA,qBAAqB,GAAG,EAA7B,CAJxB;;AAKA,IAAIC,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,iBAAe,CAACA,eAAe,CAAC,WAAD,CAAf,GAA+B,CAAhC,CAAf,GAAoD,WAApD;AACAA,iBAAe,CAACA,eAAe,CAAC,WAAD,CAAf,GAA+B,CAAhC,CAAf,GAAoD,WAApD;AACAA,iBAAe,CAACA,eAAe,CAAC,YAAD,CAAf,GAAgC,CAAjC,CAAf,GAAqD,YAArD;AACAA,iBAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,iBAAe,CAACA,eAAe,CAAC,UAAD,CAAf,GAA8B,CAA/B,CAAf,GAAmD,UAAnD;AACH,CAND,EAMGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CANlB;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIC,wBAAJ;;AACA,CAAC,UAAUA,wBAAV,EAAoC;AACjC;AACJ;AACA;AACIA,0BAAwB,CAACA,wBAAwB,CAAC,OAAD,CAAxB,GAAoC,CAArC,CAAxB,GAAkE,OAAlE;AACA;AACJ;AACA;AACA;AACA;;AACIA,0BAAwB,CAACA,wBAAwB,CAAC,WAAD,CAAxB,GAAwC,CAAzC,CAAxB,GAAsE,WAAtE;AACA;AACJ;AACA;;AACIA,0BAAwB,CAACA,wBAAwB,CAAC,mBAAD,CAAxB,GAAgD,CAAjD,CAAxB,GAA8E,mBAA9E;AACA;AACJ;AACA;;AACIA,0BAAwB,CAACA,wBAAwB,CAAC,SAAD,CAAxB,GAAsC,CAAvC,CAAxB,GAAoE,SAApE;AACH,CAnBD,EAmBGA,wBAAwB,KAAKA,wBAAwB,GAAG,EAAhC,CAnB3B;AAoBA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgCve,IAAhC,EAAsC;AAClC,MAAMwe,CAAC,GAAG7yB,QAAQ,CAAC,GAAD,CAAlB;AACA,MAAM3G,UAAU,GAAG,EAAnB;AACA,MAAIy5B,YAAY,GAAGxhC,SAAnB,CAHkC,CAIlC;AACA;AACA;AACA;AACA;;AACA,MAAMyhC,WAAW,GAAG,CAACC,mBAAmB,CAAC3e,IAAD,CAApB,GAChB,IAAIvhB,kBAAJ,CAAuBrB,cAAc,CAACkC,EAAtC,EAA0Ck/B,CAA1C,EAA6Cxe,IAAI,CAAC4e,YAAlD,CADgB,GAEhBJ,CAFJ;AAGA,MAAIK,QAAQ,GAAG,IAAf;;AACA,MAAI7e,IAAI,CAACb,IAAL,KAAc,IAAlB,EAAwB;AACpB;AACA,QAAIa,IAAI,CAACb,IAAL,KAAc,SAAlB,EAA6B;AACzB0f,cAAQ,GAAG,IAAIzgC,eAAJ,CAAoBsgC,WAApB,EAAiCI,kBAAkB,CAAC9e,IAAI,CAACb,IAAN,EAAYa,IAAI,CAAC+e,QAAjB,EAA2B/e,IAAI,CAAC8L,MAAL,KAAgBuS,eAAe,CAACnhB,IAA3D,CAAnD,CAAX;AACAuhB,kBAAY,GAAGO,kBAAkB,CAAChf,IAAI,CAACb,IAAN,CAAjC;AACH;AACJ,GAND,MAOK;AACD,QAAM8f,WAAW,GAAGtzB,QAAQ,iBAAKqU,IAAI,CAAC5uB,IAAV,kBAA5B;AACA,QAAMg4B,mBAAmB,GAAGxd,UAAU,CAAC2U,aAAa,CAAC6I,mBAAf,CAAtC;AACA,QAAM8V,eAAe,GAAGD,WAAW,CAC9BxpC,GADmB,CACf2zB,mBAAmB,CAACzV,MAApB,CAA2B,CAACqM,IAAI,CAAC4e,YAAN,CAA3B;AAAgD;AAAiBznC,aAAjE;AAA4E;AAAW,QAAvF,CADe,EAEnB2J,UAFmB,CAERxE,aAFQ,EAEO,CAACyE,YAAY,CAACo+B,QAAd,EAAwBp+B,YAAY,CAACC,KAArC,CAFP,CAAxB;AAGAgE,cAAU,CAACrS,IAAX,CAAgBusC,eAAhB,EANC,CAOD;;AACAL,YAAQ,GAAGI,WAAW,CAACtrB,MAAZ,CAAmB,CAAC+qB,WAAD,CAAnB,CAAX;AACH;;AACD,MAAMU,aAAa,GAAGP,QAAtB;AACA,MAAM12B,IAAI,GAAG,EAAb;AACA,MAAIk3B,OAAO,GAAG,IAAd;;AACA,WAASC,sBAAT,CAAgCC,WAAhC,EAA6C;AACzC,QAAMC,CAAC,GAAG7zB,QAAQ,CAAC,GAAD,CAAlB;AACAxD,QAAI,CAACxV,IAAL,CAAU6sC,CAAC,CAAC/pC,GAAF,CAAMqR,SAAN,EAAiBhG,UAAjB,EAAV;AACA,QAAI2+B,QAAQ,GAAG,IAAf;;AACA,QAAIL,aAAa,KAAK,IAAtB,EAA4B;AACxBK,cAAQ,GAAGD,CAAC,CAAC/pC,GAAF,CAAM2pC,aAAN,EAAqBM,MAArB,EAAX;AACH,KAFD,MAGK;AACDD,cAAQ,GAAG7zB,UAAU,CAAC2U,aAAa,CAAC6G,cAAf,CAAV,CAAyCzT,MAAzC,CAAgD,EAAhD,EAAoD+rB,MAApD,EAAX;AACH;;AACDv3B,QAAI,CAACxV,IAAL,CAAU4Z,MAAM,CAACiyB,CAAD,EAAI,CAACiB,QAAD,CAAJ,EAAgB,CAACD,CAAC,CAAC/pC,GAAF,CAAM8pC,WAAN,EAAmBG,MAAnB,EAAD,CAAhB,CAAhB;AACA,WAAOF,CAAP;AACH;;AACD,MAAIb,mBAAmB,CAAC3e,IAAD,CAAnB,IAA6BA,IAAI,CAAC2f,YAAL,KAAsBvB,qBAAqB,CAACwB,OAA7E,EAAsF;AAClF,QAAMC,eAAe,GAAGl0B,QAAQ,iBAAKqU,IAAI,CAAC5uB,IAAV,kBAAhC;AACA,QAAM+3B,YAAY,GAAGvd,UAAU,CAAC2U,aAAa,CAAC4I,YAAf,CAA/B;;AACA,QAAInJ,IAAI,CAAC8f,QAAL,CAActiC,YAAd,CAA2BwiB,IAAI,CAAC4e,YAAhC,CAAJ,EAAmD;AAC/C,YAAM,IAAIjvC,KAAJ,6DAAN;AACH;;AACD,QAAMowC,mBAAmB,GAAGF,eAAe,CAACpqC,GAAhB,CAAoB0zB,YAAY,CAACxV,MAAb,CAAoB,CAACqM,IAAI,CAAC8f,QAAN,CAApB,CAApB,EAA0Dh/B,UAA1D,CAAqExE,aAArE,EAAoF,CAC5GyE,YAAY,CAACo+B,QAD+F,EACrFp+B,YAAY,CAACC,KADwE,CAApF,CAA5B;AAGAgE,cAAU,CAACrS,IAAX,CAAgBotC,mBAAhB;AACAV,WAAO,GAAGC,sBAAsB,CAACO,eAAe,CAAClsB,MAAhB,CAAuB,EAAvB,CAAD,CAAhC;AACH,GAXD,MAYK,IAAIgrB,mBAAmB,CAAC3e,IAAD,CAAvB,EAA+B;AAChC;AACA;AACA,QAAMggB,YAAY,GAAGlB,kBAAkB,CAAC9e,IAAI,CAACigB,YAAN,EAAoBjgB,IAAI,CAAC+e,QAAzB,EAAmC/e,IAAI,CAAC8L,MAAL,KAAgBuS,eAAe,CAACnhB,IAAnE,CAAvC,CAHgC,CAIhC;;AACA,QAAMgjB,WAAW,GAAG,KAAKlgB,IAAI,CAAC2f,YAAL,KAAsBvB,qBAAqB,CAAC+B,KAA5C,GACrB/hC,eADqB,GAErBD,kBAFgB,EAEI6hB,IAAI,CAAC8f,QAFT,EAEmBE,YAFnB,CAApB;AAGAX,WAAO,GAAGC,sBAAsB,CAACY,WAAD,CAAhC;AACH,GATI,MAUA,IAAIE,2BAA2B,CAACpgB,IAAD,CAA/B,EAAuC;AACxC;AACAqf,WAAO,GAAGC,sBAAsB,CAACtf,IAAI,CAACxN,UAAN,CAAhC;AACH,GAHI,MAIA;AACD6sB,WAAO,GAAGR,QAAV;AACH;;AACD,MAAIQ,OAAO,KAAK,IAAhB,EAAsB;AAClBl3B,QAAI,CAACxV,IAAL,CAAU,IAAIiV,eAAJ,CAAoBy3B,OAApB,CAAV;AACH,GAFD,MAGK;AACDl3B,QAAI,CAACxV,IAAL,CAAUiZ,UAAU,CAAC2U,aAAa,CAAC6G,cAAf,CAAV,CAAyCzT,MAAzC,CAAgD,EAAhD,EAAoD+rB,MAApD,EAAV;AACH;;AACD,SAAO;AACHxlC,WAAO,EAAEuH,EAAE,CAAC,CAAC,IAAIoD,OAAJ,CAAY,GAAZ,EAAiBzI,YAAjB,CAAD,CAAD,EAAmC+L,IAAnC,EAAyC7L,aAAzC,EAAwDnF,SAAxD,YAAsE6oB,IAAI,CAAC5uB,IAA3E,cADR;AAEH4T,cAAU,EAAVA,UAFG;AAGHpH,QAAI,EAAEoO,cAAc,CAACJ,UAAU,CAAC2U,aAAa,CAACsH,UAAf,EAA2B,CAACmC,kBAAkB,CAAChK,IAAI,CAACpiB,IAAL,CAAUA,IAAX,EAAiBoiB,IAAI,CAACqgB,iBAAtB,CAAnB,EAA6D5B,YAA7D,CAA3B,CAAX;AAHjB,GAAP;AAKH;;AACD,SAASK,kBAAT,CAA4B3f,IAA5B,EAAkC4f,QAAlC,EAA4CuB,MAA5C,EAAoD;AAChD,SAAOnhB,IAAI,CAACvpB,GAAL,CAAS,UAAC2qC,GAAD,EAAMxiC,KAAN;AAAA,WAAgByiC,uBAAuB,CAACD,GAAD,EAAMxB,QAAN,EAAgBuB,MAAhB,EAAwBviC,KAAxB,CAAvC;AAAA,GAAT,CAAP;AACH;;AACD,SAASyiC,uBAAT,CAAiCD,GAAjC,EAAsCxB,QAAtC,EAAgDuB,MAAhD,EAAwDviC,KAAxD,EAA+D;AAC3D;AACA,UAAQwiC,GAAG,CAACjuB,QAAZ;AACI,SAAKgsB,wBAAwB,CAACmC,KAA9B;AACA,SAAKnC,wBAAwB,CAAC3oB,iBAA9B;AACI;AACA,UAAM+qB,KAAK,GAAG;AAAE;AAAF,SAAmBH,GAAG,CAACnvB,IAAJ,GAAW;AAAE;AAAb,QAA0B,CAA7C,KACTmvB,GAAG,CAACI,QAAJ,GAAe;AAAE;AAAjB,QAAkC,CADzB,KAC+BJ,GAAG,CAAC3jB,IAAJ,GAAW;AAAE;AAAb,QAA0B,CADzD,KAET2jB,GAAG,CAACK,QAAJ,GAAe;AAAE;AAAjB,QAAkC,CAFzB,CAAd,CAFJ,CAKI;AACA;AACA;;AACA,UAAIC,UAAU,GAAIH,KAAK,KAAK;AAAE;AAAZ,SAA6BH,GAAG,CAACK,QAAlC,GAA8Cl0B,OAAO,CAACg0B,KAAD,CAArD,GAA+D,IAAhF,CARJ,CASI;;AACA,UAAIJ,MAAM,IAAIC,GAAG,CAACjuB,QAAJ,KAAiBgsB,wBAAwB,CAAC3oB,iBAAxD,EAA2E;AACvE,eAAO/J,UAAU,CAAC2U,aAAa,CAAC4G,2BAAf,CAAV,CAAsDxT,MAAtD,CAA6DktB,UAAU,GAAG,CAACA,UAAD,CAAH,GAAkB,EAAzF,CAAP;AACH,OAZL,CAaI;;;AACA,UAAMC,UAAU,GAAG,CAACP,GAAG,CAACzpC,KAAL,CAAnB;;AACA,UAAI+pC,UAAJ,EAAgB;AACZC,kBAAU,CAACnuC,IAAX,CAAgBkuC,UAAhB;AACH;;AACD,aAAOj1B,UAAU,CAACmzB,QAAD,CAAV,CAAqBprB,MAArB,CAA4BmtB,UAA5B,CAAP;;AACJ,SAAKxC,wBAAwB,CAACyC,SAA9B;AACI;AACA,aAAOn1B,UAAU,CAAC2U,aAAa,CAAC2G,eAAf,CAAV,CAA0CvT,MAA1C,CAAiD,CAAC4sB,GAAG,CAACzpC,KAAL,CAAjD,CAAP;;AACJ,SAAKwnC,wBAAwB,CAAC0C,OAA9B;AACI,aAAOp1B,UAAU,CAAC2U,aAAa,CAAC8G,iBAAf,CAAV,CAA4C1T,MAA5C,CAAmD,CAACjH,OAAO,CAAC3O,KAAD,CAAR,CAAnD,CAAP;;AACJ;AACI,aAAO4+B,WAAW,6CAAsC2B,wBAAwB,CAACiC,GAAG,CAACjuB,QAAL,CAA9D,EAAlB;AA3BR;AA6BH;;AACD,SAAS0sB,kBAAT,CAA4B7f,IAA5B,EAAkC;AAC9B,MAAI8hB,QAAQ,GAAG,KAAf;AACA,MAAMC,cAAc,GAAG/hB,IAAI,CAACvpB,GAAL,CAAS,UAAA2qC,GAAG,EAAI;AACnC,QAAM3iC,IAAI,GAAGujC,iBAAiB,CAACZ,GAAD,CAA9B;;AACA,QAAI3iC,IAAI,KAAK,IAAb,EAAmB;AACfqjC,cAAQ,GAAG,IAAX;AACA,aAAOrjC,IAAP;AACH,KAHD,MAIK;AACD,aAAO8O,OAAO,CAAC,IAAD,CAAd;AACH;AACJ,GATsB,CAAvB;;AAUA,MAAIu0B,QAAJ,EAAc;AACV,WAAOj1B,cAAc,CAACE,UAAU,CAACg1B,cAAD,CAAX,CAArB;AACH,GAFD,MAGK;AACD,WAAOjkC,SAAP;AACH;AACJ;;AACD,SAASkkC,iBAAT,CAA2BZ,GAA3B,EAAgC;AAC5B,MAAM56B,OAAO,GAAG,EAAhB;;AACA,MAAI46B,GAAG,CAACjuB,QAAJ,KAAiBgsB,wBAAwB,CAACyC,SAA9C,EAAyD;AACrD,QAAIR,GAAG,CAACvsC,SAAJ,KAAkB,IAAtB,EAA4B;AACxB2R,aAAO,CAAChT,IAAR,CAAa;AAAEoT,WAAG,EAAE,WAAP;AAAoBlT,aAAK,EAAE0tC,GAAG,CAACvsC,SAA/B;AAA0CgS,cAAM,EAAE;AAAlD,OAAb;AACH;AACJ;;AACD,MAAIu6B,GAAG,CAACK,QAAR,EAAkB;AACdj7B,WAAO,CAAChT,IAAR,CAAa;AAAEoT,SAAG,EAAE,UAAP;AAAmBlT,WAAK,EAAE6Z,OAAO,CAAC,IAAD,CAAjC;AAAyC1G,YAAM,EAAE;AAAjD,KAAb;AACH;;AACD,MAAIu6B,GAAG,CAAC3jB,IAAR,EAAc;AACVjX,WAAO,CAAChT,IAAR,CAAa;AAAEoT,SAAG,EAAE,MAAP;AAAelT,WAAK,EAAE6Z,OAAO,CAAC,IAAD,CAA7B;AAAqC1G,YAAM,EAAE;AAA7C,KAAb;AACH;;AACD,MAAIu6B,GAAG,CAACnvB,IAAR,EAAc;AACVzL,WAAO,CAAChT,IAAR,CAAa;AAAEoT,SAAG,EAAE,MAAP;AAAelT,WAAK,EAAE6Z,OAAO,CAAC,IAAD,CAA7B;AAAqC1G,YAAM,EAAE;AAA7C,KAAb;AACH;;AACD,MAAIu6B,GAAG,CAACI,QAAR,EAAkB;AACdh7B,WAAO,CAAChT,IAAR,CAAa;AAAEoT,SAAG,EAAE,UAAP;AAAmBlT,WAAK,EAAE6Z,OAAO,CAAC,IAAD,CAAjC;AAAyC1G,YAAM,EAAE;AAAjD,KAAb;AACH;;AACD,SAAOL,OAAO,CAACzU,MAAR,GAAiB,CAAjB,GAAqBib,UAAU,CAACxG,OAAD,CAA/B,GAA2C,IAAlD;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASy7B,8BAAT,CAAwCxjC,IAAxC,EAA8CyjC,SAA9C,EAAyDzoB,SAAzD,EAAoE;AAChE;AACA;AACA;AACA,MAAM0oB,WAAW,GAAG1oB,SAAS,CAACC,wBAAV,CAAmCvD,WAAW,CAACqB,QAA/C,CAApB,CAJgE,CAKhE;;AACA,MAAMwI,IAAI,GAAG,EAAb;;AANgE,qKAOzCvhB,IAAI,CAAC2jC,MAPoC;AAAA;;AAAA;AAOhE,2DAAoC;AAAA,UAA3BC,UAA2B;;AAChC,UAAIA,UAAU,CAAC1qC,KAAf,EAAsB;AAClB,YAAM2qC,QAAQ,GAAGpnB,cAAc,CAACmnB,UAAU,CAAC1qC,KAAZ,CAA/B;AACA,YAAIwb,QAAQ,GAAGkvB,UAAU,CAACE,WAAX,GACXpD,wBAAwB,CAACyC,SADd,GAEXzC,wBAAwB,CAACmC,KAF7B,CAFkB,CAKlB;AACA;;AACA,YAAM3pC,KAAK,GAAG2qC,QAAQ,YAAY3oB,YAApB,GAAmCuoB,SAAS,CAACz1B,UAAV,CAAqB61B,QAArB,CAAnC,GAAoE/0B,OAAO,CAAC+0B,QAAD,CAAzF,CAPkB,CAQlB;;AACAtiB,YAAI,CAACxsB,IAAL,CAAU;AACNmE,eAAK,EAALA,KADM;AAEN9C,mBAAS,EAAE,IAFL;AAGNse,kBAAQ,EAARA,QAHM;AAINsK,cAAI,EAAE,CAAC,CAAC4kB,UAAU,CAAChmB,MAJb;AAKNolB,kBAAQ,EAAE,CAAC,CAACY,UAAU,CAACG,UALjB;AAMNvwB,cAAI,EAAE,CAAC,CAACowB,UAAU,CAACI,MANb;AAONjB,kBAAQ,EAAE,CAAC,CAACa,UAAU,CAACK;AAPjB,SAAV;AASH,OAlBD,MAmBK;AACDlF,mBAAW,CAAC,4BAAD,CAAX;AACH;AACJ;AA9B+D;AAAA;AAAA;AAAA;AAAA;;AA+BhE,SAAOxd,IAAP;AACH;;AACD,SAASwf,mBAAT,CAA6B3e,IAA7B,EAAmC;AAC/B,SAAOA,IAAI,CAAC2f,YAAL,KAAsBxoC,SAA7B;AACH;;AACD,SAASipC,2BAAT,CAAqCpgB,IAArC,EAA2C;AACvC,SAAOA,IAAI,CAACxN,UAAL,KAAoBrb,SAA3B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2qC,kBAAT,CAA2B9hB,IAA3B,EAAiC;AAC7B,MAAIttB,MAAM,GAAG,IAAb;AACA,MAAMqvC,WAAW,GAAG;AAChB3wC,QAAI,EAAE4uB,IAAI,CAAC5uB,IADK;AAEhBwM,QAAI,EAAEoiB,IAAI,CAACpiB,IAFK;AAGhBghC,gBAAY,EAAE5e,IAAI,CAAC4e,YAHH;AAIhByB,qBAAiB,EAAErgB,IAAI,CAACqgB,iBAJR;AAKhBlhB,QAAI,EAAE,EALU;AAMhB4f,YAAQ,EAAEzpB,WAAW,CAACkB,MANN;AAOhBsV,UAAM,EAAEuS,eAAe,CAAC2D;AAPR,GAApB;;AASA,MAAIhiB,IAAI,CAACjB,QAAL,KAAkB5nB,SAAtB,EAAiC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,QAAM8qC,cAAc,GAAGjiB,IAAI,CAACjB,QAAL,CAAcvhB,YAAd,CAA2BwiB,IAAI,CAAC4e,YAAhC,CAAvB;AACA,QAAIzf,IAAI,GAAGhoB,SAAX;;AACA,QAAI6oB,IAAI,CAACkiB,QAAL,KAAkB/qC,SAAtB,EAAiC;AAC7BgoB,UAAI,GAAGa,IAAI,CAACkiB,QAAZ;AACH;;AACD,QAAI/iB,IAAI,KAAKhoB,SAAb,EAAwB;AACpB;AACAzE,YAAM,GAAG6rC,sBAAsB,CAAC/mC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBsqC,WAAlB,CAAd,EAA8C;AAAEjC,gBAAQ,EAAE9f,IAAI,CAACjB,QAAjB;AAA2BkhB,oBAAY,EAAE9gB,IAAzC;AAA+CwgB,oBAAY,EAAEvB,qBAAqB,CAAC+B;AAAnF,OAA9C,CAAD,CAA/B;AACH,KAHD,MAIK,IAAI8B,cAAJ,EAAoB;AACrBvvC,YAAM,GAAG6rC,sBAAsB,CAACwD,WAAD,CAA/B;AACH,KAFI,MAGA;AACDrvC,YAAM,GAAGyvC,iBAAiB,CAACniB,IAAI,CAACpiB,IAAL,CAAU/K,KAAX,EAAkBmtB,IAAI,CAACjB,QAAvB,CAA1B;AACH;AACJ,GAtBD,MAuBK,IAAIiB,IAAI,CAACd,UAAL,KAAoB/nB,SAAxB,EAAmC;AACpC,QAAI6oB,IAAI,CAACkiB,QAAL,KAAkB/qC,SAAtB,EAAiC;AAC7BzE,YAAM,GAAG6rC,sBAAsB,CAAC/mC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBsqC,WAAlB,CAAd,EAA8C;AAAEjC,gBAAQ,EAAE9f,IAAI,CAACd,UAAjB;AAA6B+gB,oBAAY,EAAEjgB,IAAI,CAACkiB,QAAL,IAAiB,EAA5D;AAAgEvC,oBAAY,EAAEvB,qBAAqB,CAACtkC;AAApG,OAA9C,CAAD,CAA/B;AACH,KAFD,MAGK;AACDpH,YAAM,GAAG;AACLsS,kBAAU,EAAE,EADP;AAEL9K,eAAO,EAAEuH,EAAE,CAAC,EAAD,EAAK,CAAC,IAAImG,eAAJ,CAAoBoY,IAAI,CAACd,UAAL,CAAgBvL,MAAhB,CAAuB,EAAvB,CAApB,CAAD,CAAL;AAFN,OAAT;AAIH;AACJ,GAVI,MAWA,IAAIqM,IAAI,CAAChB,QAAL,KAAkB7nB,SAAtB,EAAiC;AAClC;AACA;AACA;AACAzE,UAAM,GAAG6rC,sBAAsB,CAAC/mC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBsqC,WAAlB,CAAd,EAA8C;AAAEvvB,gBAAU,EAAEwN,IAAI,CAAChB;AAAnB,KAA9C,CAAD,CAA/B;AACH,GALI,MAMA,IAAIgB,IAAI,CAACf,WAAL,KAAqB9nB,SAAzB,EAAoC;AACrC;AACAzE,UAAM,GAAG6rC,sBAAsB,CAAC/mC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBsqC,WAAlB,CAAd,EAA8C;AAAEvvB,gBAAU,EAAE5G,UAAU,CAAC0J,WAAW,CAACkB,MAAb,CAAV,CAA+B7C,MAA/B,CAAsC,CAACqM,IAAI,CAACf,WAAN,CAAtC;AAAd,KAA9C,CAAD,CAA/B;AACH,GAHI,MAIA;AACDvsB,UAAM,GAAGyvC,iBAAiB,CAACniB,IAAI,CAACpiB,IAAL,CAAU/K,KAAX,EAAkBmtB,IAAI,CAAC4e,YAAvB,CAA1B;AACH;;AACD,MAAM9nC,KAAK,GAAGkpB,IAAI,CAAC4e,YAAnB;AACA,MAAMwD,eAAe,GAAG;AAAEtrC,SAAK,EAALA,KAAF;AAASoD,WAAO,EAAExH,MAAM,CAACwH;AAAzB,GAAxB,CA3D6B,CA4D7B;;AACA,MAAI8lB,IAAI,CAACqiB,UAAL,CAAgBxvC,KAAhB,KAA0B,IAA9B,EAAoC;AAChCuvC,mBAAe,CAACC,UAAhB,GAA6BriB,IAAI,CAACqiB,UAAlC;AACH;;AACD,MAAM7vB,UAAU,GAAG5G,UAAU,CAAC0J,WAAW,CAACsB,kBAAb,CAAV,CAA2CjD,MAA3C,CAAkD,CAACmW,kBAAkB,CAACsY,eAAD,CAAnB,CAAlD,CAAnB;AACA,MAAMxkC,IAAI,GAAG,IAAIjC,cAAJ,CAAmBiQ,UAAU,CAAC0J,WAAW,CAACuB,aAAb,EAA4B,CAACmT,kBAAkB,CAAChK,IAAI,CAACpiB,IAAL,CAAUA,IAAX,EAAiBoiB,IAAI,CAACqgB,iBAAtB,CAAnB,CAA5B,CAA7B,CAAb;AACA,SAAO;AACH7tB,cAAU,EAAVA,UADG;AAEH5U,QAAI,EAAJA,IAFG;AAGHoH,cAAU,EAAEtS,MAAM,CAACsS;AAHhB,GAAP;AAKH;;AACD,SAASm9B,iBAAT,CAA2BvkC,IAA3B,EAAiCghC,YAAjC,EAA+C;AAC3C,SAAO;AACH55B,cAAU,EAAE,EADT;AAEH;AACA;AACA;AACA9K,WAAO,EAAE0D,IAAI,CAAC8C,IAAL,KAAck+B,YAAY,CAACl+B,IAA3B,GACLk+B,YAAY,CAACpzB,IAAb,CAAkB,MAAlB,CADK,GAEL/J,EAAE,CAAC,CAAC,IAAIoD,OAAJ,CAAY,GAAZ,EAAiBzI,YAAjB,CAAD,CAAD,EAAmC,CAAC,IAAIwL,eAAJ,CAAoBg3B,YAAY,CAAC0D,UAAb,CAAwB,MAAxB,EAAgC,CAAC32B,QAAQ,CAAC,GAAD,CAAT,CAAhC,CAApB,CAAD,CAAnC;AAPH,GAAP;AASH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS42B,oBAAT,CAA8B7pB,UAA9B,EAA0C7lB,KAA1C,EAAiD;AAC7C,MAAIA,KAAK,IAAI,IAAb,EAAmB;AACf;AACH;;AACD,MAAI,CAACgb,KAAK,CAACC,OAAN,CAAcjb,KAAd,CAAL,EAA2B;AACvB,UAAM,IAAIlD,KAAJ,qBAAuB+oB,UAAvB,kCAAN;AACH;;AACD,OAAK,IAAInmB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGM,KAAK,CAAC3B,MAA1B,EAAkCqB,CAAC,IAAI,CAAvC,EAA0C;AACtC,QAAI,OAAOM,KAAK,CAACN,CAAD,CAAZ,KAAoB,QAAxB,EAAkC;AAC9B,YAAM,IAAI5C,KAAJ,qBAAuB+oB,UAAvB,kCAAN;AACH;AACJ;AACJ;;AACD,IAAM8pB,8BAA8B,GAAG,CACnC,OADmC,EAEnC,MAFmC,EAGnC,QAHmC,EAInC,aAJmC,EAKnC,OALmC,CAAvC;;AAOA,SAASC,0BAAT,CAAoC/pB,UAApC,EAAgD7lB,KAAhD,EAAuD;AACnD,MAAIA,KAAK,IAAI,IAAT,IAAiB,EAAEgb,KAAK,CAACC,OAAN,CAAcjb,KAAd,KAAwBA,KAAK,CAAC3B,MAAN,IAAgB,CAA1C,CAArB,EAAmE;AAC/D,UAAM,IAAIvB,KAAJ,qBAAuB+oB,UAAvB,qCAAN;AACH,GAFD,MAGK,IAAI7lB,KAAK,IAAI,IAAb,EAAmB;AACpB,QAAMg8B,KAAK,GAAGh8B,KAAK,CAAC,CAAD,CAAnB;AACA,QAAMu8B,GAAG,GAAGv8B,KAAK,CAAC,CAAD,CAAjB,CAFoB,CAGpB;;AACA2vC,kCAA8B,CAACrxC,OAA/B,CAAuC,UAAAuxC,MAAM,EAAI;AAC7C,UAAIA,MAAM,CAAC7G,IAAP,CAAYhN,KAAZ,KAAsB6T,MAAM,CAAC7G,IAAP,CAAYzM,GAAZ,CAA1B,EAA4C;AACxC,cAAM,IAAIz/B,KAAJ,aAAek/B,KAAf,iBAA2BO,GAA3B,gDAAN;AACH;AACJ,KAJD;AAKH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMuT,mB;AACF,+BAAY9T,KAAZ,EAAmBO,GAAnB,EAAwB;AAAA;;AACpB,SAAKP,KAAL,GAAaA,KAAb;AACA,SAAKO,GAAL,GAAWA,GAAX;AACH;;;;8BACgBwT,O,EAAS;AACtB,UAAI,CAACA,OAAL,EAAc;AACV,eAAOC,4BAAP;AACH;;AACDJ,gCAA0B,CAAC,eAAD,EAAkBG,OAAlB,CAA1B;AACA,aAAO,IAAID,mBAAJ,CAAwBC,OAAO,CAAC,CAAD,CAA/B,EAAoCA,OAAO,CAAC,CAAD,CAA3C,CAAP;AACH;;;;;;AAEL,IAAMC,4BAA4B,GAAG,IAAIF,mBAAJ,CAAwB,IAAxB,EAA8B,IAA9B,CAArC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMG,OAAO,GAAG,CAAhB;AACA,IAAMC,aAAa,GAAG,kDAAtB;;IACMC,kB;AACF,gCAAyB;AAAA,QAAblU,IAAa,uEAAN,IAAM;;AAAA;;AACrB,SAAKA,IAAL,GAAYA,IAAZ;AACA,SAAKmU,cAAL,GAAsB,IAAI9uC,GAAJ,EAAtB;AACA,SAAK+uC,KAAL,GAAa,EAAb;AACA,SAAKC,QAAL,GAAgB,CAAhB;AACA,SAAKC,WAAL,GAAmB,KAAnB;AACH,G,CACD;;;;;8BACU1jB,G,EAAqB;AAAA,UAAhB+N,OAAgB,uEAAN,IAAM;;AAC3B,UAAI,CAAC,KAAKwV,cAAL,CAAoBtkB,GAApB,CAAwBe,GAAxB,CAAL,EAAmC;AAC/B,aAAKujB,cAAL,CAAoBxtC,GAApB,CAAwBiqB,GAAxB,EAA6B+N,OAA7B;AACH;;AACD,aAAO,IAAP;AACH;;;8BACS;AACN,WAAKyV,KAAL,CAAWvwC,IAAX,CAAgB,EAAhB;AACA,WAAKwwC,QAAL,GAAgB,CAAhB;AACA,aAAO,IAAP;AACH;;;+BACUE,I,EAAMC,S,EAAWC,W,EAAaC,U,EAAY;AACjD,UAAI,CAAC,KAAKC,WAAV,EAAuB;AACnB,cAAM,IAAI9zC,KAAJ,qDAAN;AACH;;AACD,UAAI2zC,SAAS,IAAI,IAAb,IAAqB,CAAC,KAAKL,cAAL,CAAoBtkB,GAApB,CAAwB2kB,SAAxB,CAA1B,EAA8D;AAC1D,cAAM,IAAI3zC,KAAJ,iCAAkC2zC,SAAlC,QAAN;AACH;;AACD,UAAID,IAAI,IAAI,IAAZ,EAAkB;AACd,cAAM,IAAI1zC,KAAJ,qDAAN;AACH;;AACD,UAAI0zC,IAAI,GAAG,KAAKF,QAAhB,EAA0B;AACtB,cAAM,IAAIxzC,KAAJ,2CAAN;AACH;;AACD,UAAI2zC,SAAS,KAAKC,WAAW,IAAI,IAAf,IAAuBC,UAAU,IAAI,IAA1C,CAAb,EAA8D;AAC1D,cAAM,IAAI7zC,KAAJ,sEAAN;AACH;;AACD,WAAKyzC,WAAL,GAAmB,IAAnB;AACA,WAAKD,QAAL,GAAgBE,IAAhB;AACA,WAAKI,WAAL,CAAiB9wC,IAAjB,CAAsB;AAAE0wC,YAAI,EAAJA,IAAF;AAAQC,iBAAS,EAATA,SAAR;AAAmBC,mBAAW,EAAXA,WAAnB;AAAgCC,kBAAU,EAAVA;AAAhC,OAAtB;AACA,aAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;;6BAIa;AAAA;;AACL,UAAI,CAAC,KAAKJ,WAAV,EAAuB;AACnB,eAAO,IAAP;AACH;;AACD,UAAMM,YAAY,GAAG,IAAIvvC,GAAJ,EAArB;AACA,UAAMy6B,OAAO,GAAG,EAAhB;AACA,UAAMqU,cAAc,GAAG,EAAvB;AACAp1B,WAAK,CAAC81B,IAAN,CAAW,KAAKV,cAAL,CAAoB13B,IAApB,EAAX,EAAuCpa,OAAvC,CAA+C,UAACuuB,GAAD,EAAMntB,CAAN,EAAY;AACvDmxC,oBAAY,CAACjuC,GAAb,CAAiBiqB,GAAjB,EAAsBntB,CAAtB;AACAq8B,eAAO,CAACj8B,IAAR,CAAa+sB,GAAb;AACAujB,sBAAc,CAACtwC,IAAf,CAAoB,OAAI,CAACswC,cAAL,CAAoBztC,GAApB,CAAwBkqB,GAAxB,KAAgC,IAApD;AACH,OAJD;AAKA,UAAIkkB,QAAQ,GAAG,EAAf;AACA,UAAIT,QAAQ,GAAG,CAAf;AACA,UAAIU,eAAe,GAAG,CAAtB;AACA,UAAIC,eAAe,GAAG,CAAtB;AACA,UAAIC,cAAc,GAAG,CAArB;AACA,WAAKb,KAAL,CAAW/xC,OAAX,CAAmB,UAAA6yC,QAAQ,EAAI;AAC3Bb,gBAAQ,GAAG,CAAX;AACAS,gBAAQ,IAAII,QAAQ,CACfpuC,GADO,CACH,UAAAquC,OAAO,EAAI;AAChB;AACA,cAAIC,QAAQ,GAAGC,WAAW,CAACF,OAAO,CAACZ,IAAR,GAAeF,QAAhB,CAA1B;AACAA,kBAAQ,GAAGc,OAAO,CAACZ,IAAnB;;AACA,cAAIY,OAAO,CAACX,SAAR,IAAqB,IAAzB,EAA+B;AAC3B;AACAY,oBAAQ,IACJC,WAAW,CAACT,YAAY,CAACluC,GAAb,CAAiByuC,OAAO,CAACX,SAAzB,IAAsCO,eAAvC,CADf;AAEAA,2BAAe,GAAGH,YAAY,CAACluC,GAAb,CAAiByuC,OAAO,CAACX,SAAzB,CAAlB,CAJ2B,CAK3B;;AACAY,oBAAQ,IAAIC,WAAW,CAACF,OAAO,CAACV,WAAR,GAAsBO,eAAvB,CAAvB;AACAA,2BAAe,GAAGG,OAAO,CAACV,WAA1B,CAP2B,CAQ3B;;AACAW,oBAAQ,IAAIC,WAAW,CAACF,OAAO,CAACT,UAAR,GAAqBO,cAAtB,CAAvB;AACAA,0BAAc,GAAGE,OAAO,CAACT,UAAzB;AACH;;AACD,iBAAOU,QAAP;AACH,SAlBW,EAmBP5xC,IAnBO,CAmBF,GAnBE,CAAZ;AAoBAsxC,gBAAQ,IAAI,GAAZ;AACH,OAvBD;AAwBAA,cAAQ,GAAGA,QAAQ,CAACh0C,KAAT,CAAe,CAAf,EAAkB,CAAC,CAAnB,CAAX;AACA,aAAO;AACH,gBAAQ,KAAKk/B,IAAL,IAAa,EADlB;AAEH,mBAAWgU,OAFR;AAGH,sBAAc,EAHX;AAIH,mBAAWlU,OAJR;AAKH,0BAAkBqU,cALf;AAMH,oBAAYW;AANT,OAAP;AAQH;;;kCACa;AACV,aAAO,KAAKR,WAAL,GAAmB,OAAOL,aAAP,GAAuBqB,cAAc,CAACnrB,IAAI,CAAC9I,SAAL,CAAe,IAAf,EAAqB,IAArB,EAA2B,CAA3B,CAAD,CAAxD,GACH,EADJ;AAEH;;;wBAzDiB;AACd,aAAO,KAAK+yB,KAAL,CAAWtzC,KAAX,CAAiB,CAAC,CAAlB,EAAqB,CAArB,CAAP;AACH;;;;;;AAyDL,SAASw0C,cAAT,CAAwBvxC,KAAxB,EAA+B;AAC3B,MAAIwxC,GAAG,GAAG,EAAV;AACAxxC,OAAK,GAAGgd,UAAU,CAAChd,KAAD,CAAlB;;AACA,OAAK,IAAIN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGM,KAAK,CAAC3B,MAA1B,GAAmC;AAC/B,QAAMozC,EAAE,GAAGzxC,KAAK,CAACmd,UAAN,CAAiBzd,CAAC,EAAlB,CAAX;AACA,QAAMgyC,EAAE,GAAG1xC,KAAK,CAACmd,UAAN,CAAiBzd,CAAC,EAAlB,CAAX;AACA,QAAMiyC,EAAE,GAAG3xC,KAAK,CAACmd,UAAN,CAAiBzd,CAAC,EAAlB,CAAX;AACA8xC,OAAG,IAAII,aAAa,CAACH,EAAE,IAAI,CAAP,CAApB;AACAD,OAAG,IAAII,aAAa,CAAE,CAACH,EAAE,GAAG,CAAN,KAAY,CAAb,IAAmBI,KAAK,CAACH,EAAD,CAAL,GAAY,CAAZ,GAAgBA,EAAE,IAAI,CAAzC,CAAD,CAApB;AACAF,OAAG,IAAIK,KAAK,CAACH,EAAD,CAAL,GAAY,GAAZ,GAAkBE,aAAa,CAAE,CAACF,EAAE,GAAG,EAAN,KAAa,CAAd,GAAoBC,EAAE,IAAI,CAA3B,CAAtC;AACAH,OAAG,IAAIK,KAAK,CAACH,EAAD,CAAL,IAAaG,KAAK,CAACF,EAAD,CAAlB,GAAyB,GAAzB,GAA+BC,aAAa,CAACD,EAAE,GAAG,EAAN,CAAnD;AACH;;AACD,SAAOH,GAAP;AACH;;AACD,SAASF,WAAT,CAAqBtxC,KAArB,EAA4B;AACxBA,OAAK,GAAGA,KAAK,GAAG,CAAR,GAAY,CAAE,CAACA,KAAF,IAAY,CAAb,IAAkB,CAA9B,GAAkCA,KAAK,IAAI,CAAnD;AACA,MAAIma,GAAG,GAAG,EAAV;;AACA,KAAG;AACC,QAAI23B,KAAK,GAAG9xC,KAAK,GAAG,EAApB;AACAA,SAAK,GAAGA,KAAK,IAAI,CAAjB;;AACA,QAAIA,KAAK,GAAG,CAAZ,EAAe;AACX8xC,WAAK,GAAGA,KAAK,GAAG,EAAhB;AACH;;AACD33B,OAAG,IAAIy3B,aAAa,CAACE,KAAD,CAApB;AACH,GAPD,QAOS9xC,KAAK,GAAG,CAPjB;;AAQA,SAAOma,GAAP;AACH;;AACD,IAAM43B,UAAU,GAAG,kEAAnB;;AACA,SAASH,aAAT,CAAuB5xC,KAAvB,EAA8B;AAC1B,MAAIA,KAAK,GAAG,CAAR,IAAaA,KAAK,IAAI,EAA1B,EAA8B;AAC1B,UAAM,IAAIlD,KAAJ,8CAAN;AACH;;AACD,SAAOi1C,UAAU,CAAC/xC,KAAD,CAAjB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMgyC,8BAA8B,GAAG,gBAAvC;AACA,IAAMC,oBAAoB,GAAG,uBAA7B;AACA,IAAMC,YAAY,GAAG,IAArB;AACA,IAAMC,iBAAiB,GAAGr5B,QAAQ,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,CAAlC;AACA,IAAMs5B,iBAAiB,GAAGt5B,QAAQ,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,CAAlC;;IACMu5B,Y,GACF,sBAAYC,MAAZ,EAAoB;AAAA;;AAChB,OAAKA,MAAL,GAAcA,MAAd;AACA,OAAKC,WAAL,GAAmB,CAAnB;AACA,OAAKh/B,KAAL,GAAa,EAAb;AACA,OAAKi/B,QAAL,GAAgB,EAAhB;AACH,C;;IAECC,qB;AACF,iCAAYC,OAAZ,EAAqB;AAAA;;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACA,SAAKC,QAAL,GAAgB,EAAhB;AACA,SAAKC,kBAAL,GAA0B,CAA1B;AACA,SAAKC,MAAL,GAAc,CAAC,IAAIR,YAAJ,CAAiBK,OAAjB,CAAD,CAAd;AACH;;;;4BAWO5B,I,EAAqB;AAAA,UAAfgC,QAAe,uEAAJ,EAAI;AACzB,WAAKC,KAAL,CAAWjC,IAAI,IAAI,IAAnB,EAAyBgC,QAAzB,EAAmC,IAAnC;AACH;;;kCACa;AACV,aAAO,KAAKE,YAAL,CAAkBz/B,KAAlB,CAAwBlV,MAAxB,KAAmC,CAA1C;AACH;;;iCACY;AACT,aAAO,KAAK20C,YAAL,CAAkBV,MAAlB,GAA2BJ,YAAY,CAAC7zC,MAAxC,GAAiD,KAAK20C,YAAL,CAAkBT,WAA1E;AACH;;;0BACKzB,I,EAAMmC,I,EAAuB;AAAA,UAAjBC,OAAiB,uEAAP,KAAO;;AAC/B,UAAID,IAAI,CAAC50C,MAAL,GAAc,CAAlB,EAAqB;AACjB,aAAK20C,YAAL,CAAkBz/B,KAAlB,CAAwBzT,IAAxB,CAA6BmzC,IAA7B;;AACA,aAAKD,YAAL,CAAkBT,WAAlB,IAAiCU,IAAI,CAAC50C,MAAtC;;AACA,aAAK20C,YAAL,CAAkBR,QAAlB,CAA2B1yC,IAA3B,CAAgCgxC,IAAI,IAAIA,IAAI,CAAC9lC,UAAb,IAA2B,IAA3D;AACH;;AACD,UAAIkoC,OAAJ,EAAa;AACT,aAAKL,MAAL,CAAY/yC,IAAZ,CAAiB,IAAIuyC,YAAJ,CAAiB,KAAKK,OAAtB,CAAjB;AACH;AACJ;;;0CACqB;AAClB,UAAI,KAAKS,WAAL,EAAJ,EAAwB;AACpB,aAAKN,MAAL,CAAY5J,GAAZ;AACH;AACJ;;;gCACW;AACR,WAAKyJ,OAAL;;AACA,UAAI,KAAKS,WAAL,EAAJ,EAAwB;AACpB,aAAKH,YAAL,CAAkBV,MAAlB,GAA2B,KAAKI,OAAhC;AACH;AACJ;;;gCACW;AACR,WAAKA,OAAL;;AACA,UAAI,KAAKS,WAAL,EAAJ,EAAwB;AACpB,aAAKH,YAAL,CAAkBV,MAAlB,GAA2B,KAAKI,OAAhC;AACH;AACJ;;;8BACSU,K,EAAO;AACb,WAAKT,QAAL,CAAc7yC,IAAd,CAAmBszC,KAAnB;AACH;;;+BACU;AACP,aAAO,KAAKT,QAAL,CAAc1J,GAAd,EAAP;AACH;;;+BAIU;AACP,aAAO,KAAKoK,WAAL,CACFtwC,GADE,CACE,UAAAq+B,CAAC;AAAA,eAAIA,CAAC,CAAC7tB,KAAF,CAAQlV,MAAR,GAAiB,CAAjB,GAAqBi1C,aAAa,CAAClS,CAAC,CAACkR,MAAH,CAAb,GAA0BlR,CAAC,CAAC7tB,KAAF,CAAQ9T,IAAR,CAAa,EAAb,CAA/C,GAAkE,EAAtE;AAAA,OADH,EAEFA,IAFE,CAEG,IAFH,CAAP;AAGH;;;yCACoB8zC,W,EAA+B;AAAA,UAAlBC,YAAkB,uEAAH,CAAG;AAChD,UAAMzwC,GAAG,GAAG,IAAIotC,kBAAJ,CAAuBoD,WAAvB,CAAZ;AACA,UAAIE,iBAAiB,GAAG,KAAxB;;AACA,UAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;AACjC,YAAI,CAACD,iBAAL,EAAwB;AACpB;AACA;AACA;AACA1wC,aAAG,CAAC4wC,SAAJ,CAAcJ,WAAd,EAA2B,GAA3B,EAAgCK,UAAhC,CAA2C,CAA3C,EAA8CL,WAA9C,EAA2D,CAA3D,EAA8D,CAA9D;AACAE,2BAAiB,GAAG,IAApB;AACH;AACJ,OARD;;AASA,WAAK,IAAI/zC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8zC,YAApB,EAAkC9zC,CAAC,EAAnC,EAAuC;AACnCqD,WAAG,CAAC8wC,OAAJ;AACAH,8BAAsB;AACzB;;AACD,WAAKL,WAAL,CAAiB/0C,OAAjB,CAAyB,UAAC69B,IAAD,EAAO2X,OAAP,EAAmB;AACxC/wC,WAAG,CAAC8wC,OAAJ;AACA,YAAME,KAAK,GAAG5X,IAAI,CAACqW,QAAnB;AACA,YAAMj/B,KAAK,GAAG4oB,IAAI,CAAC5oB,KAAnB;AACA,YAAIi9B,IAAI,GAAGrU,IAAI,CAACmW,MAAL,GAAcJ,YAAY,CAAC7zC,MAAtC;AACA,YAAI21C,OAAO,GAAG,CAAd,CALwC,CAMxC;;AACA,eAAOA,OAAO,GAAGD,KAAK,CAAC11C,MAAhB,IAA0B,CAAC01C,KAAK,CAACC,OAAD,CAAvC,EAAkD;AAC9CxD,cAAI,IAAIj9B,KAAK,CAACygC,OAAD,CAAL,CAAe31C,MAAvB;AACA21C,iBAAO;AACV;;AACD,YAAIA,OAAO,GAAGD,KAAK,CAAC11C,MAAhB,IAA0By1C,OAAO,KAAK,CAAtC,IAA2CtD,IAAI,KAAK,CAAxD,EAA2D;AACvDiD,2BAAiB,GAAG,IAApB;AACH,SAFD,MAGK;AACDC,gCAAsB;AACzB;;AACD,eAAOM,OAAO,GAAGD,KAAK,CAAC11C,MAAvB,EAA+B;AAC3B,cAAMgtC,IAAI,GAAG0I,KAAK,CAACC,OAAD,CAAlB;AACA,cAAMxO,MAAM,GAAG6F,IAAI,CAACrP,KAAL,CAAWC,IAA1B;AACA,cAAMgY,UAAU,GAAG5I,IAAI,CAACrP,KAAL,CAAWG,IAA9B;AACA,cAAM+X,SAAS,GAAG7I,IAAI,CAACrP,KAAL,CAAWK,GAA7B;AACAt5B,aAAG,CAAC4wC,SAAJ,CAAcnO,MAAM,CAAC3Y,GAArB,EAA0B2Y,MAAM,CAAC5K,OAAjC,EACKgZ,UADL,CACgBpD,IADhB,EACsBhL,MAAM,CAAC3Y,GAD7B,EACkConB,UADlC,EAC8CC,SAD9C;AAEA1D,cAAI,IAAIj9B,KAAK,CAACygC,OAAD,CAAL,CAAe31C,MAAvB;AACA21C,iBAAO,GARoB,CAS3B;;AACA,iBAAOA,OAAO,GAAGD,KAAK,CAAC11C,MAAhB,KAA2BgtC,IAAI,KAAK0I,KAAK,CAACC,OAAD,CAAd,IAA2B,CAACD,KAAK,CAACC,OAAD,CAA5D,CAAP,EAA+E;AAC3ExD,gBAAI,IAAIj9B,KAAK,CAACygC,OAAD,CAAL,CAAe31C,MAAvB;AACA21C,mBAAO;AACV;AACJ;AACJ,OAhCD;AAiCA,aAAOjxC,GAAP;AACH;;;yCACoBu+B,K,EAAO;AACxB,aAAO,KAAKsR,kBAAL,GAA0BtR,KAAjC;AACH;;;2BACMnF,I,EAAMgY,M,EAAQ;AACjB,UAAMC,WAAW,GAAG,KAAKvB,MAAL,CAAY1W,IAAI,GAAG,KAAKyW,kBAAxB,CAApB;;AACA,UAAIwB,WAAJ,EAAiB;AACb,YAAIC,WAAW,GAAGF,MAAM,GAAGb,aAAa,CAACc,WAAW,CAAC9B,MAAb,CAAb,CAAkCj0C,MAA7D;;AACA,aAAK,IAAImS,SAAS,GAAG,CAArB,EAAwBA,SAAS,GAAG4jC,WAAW,CAAC7gC,KAAZ,CAAkBlV,MAAtD,EAA8DmS,SAAS,EAAvE,EAA2E;AACvE,cAAMyiC,IAAI,GAAGmB,WAAW,CAAC7gC,KAAZ,CAAkB/C,SAAlB,CAAb;;AACA,cAAIyiC,IAAI,CAAC50C,MAAL,GAAcg2C,WAAlB,EAA+B;AAC3B,mBAAOD,WAAW,CAAC5B,QAAZ,CAAqBhiC,SAArB,CAAP;AACH;;AACD6jC,qBAAW,IAAIpB,IAAI,CAAC50C,MAApB;AACH;AACJ;;AACD,aAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;;;AAhII;AACJ;AACA;AACA;wBACuB;AACf,aAAO,KAAKw0C,MAAL,CAAY,KAAKA,MAAL,CAAYx0C,MAAZ,GAAqB,CAAjC,CAAP;AACH;;;wBA2CkB;AACf,aAAO,KAAKs0C,QAAL,CAAct0C,MAAd,GAAuB,CAAvB,GAA2B,KAAKs0C,QAAL,CAAc,KAAKA,QAAL,CAAct0C,MAAd,GAAuB,CAArC,CAA3B,GAAqE,IAA5E;AACH;;;wBA8EiB;AACd,UAAI,KAAKw0C,MAAL,CAAYx0C,MAAZ,IAAsB,KAAKw0C,MAAL,CAAY,KAAKA,MAAL,CAAYx0C,MAAZ,GAAqB,CAAjC,EAAoCkV,KAApC,CAA0ClV,MAA1C,KAAqD,CAA/E,EAAkF;AAC9E,eAAO,KAAKw0C,MAAL,CAAY91C,KAAZ,CAAkB,CAAlB,EAAqB,CAAC,CAAtB,CAAP;AACH;;AACD,aAAO,KAAK81C,MAAZ;AACH;;;iCAzImB;AAChB,aAAO,IAAIJ,qBAAJ,CAA0B,CAA1B,CAAP;AACH;;;;;;IAyIC6B,sB;AACF,kCAAYC,sBAAZ,EAAoC;AAAA;;AAChC,SAAKA,sBAAL,GAA8BA,sBAA9B;AACH;;;;yCACoB5/B,I,EAAMqM,G,EAAK;AAC5B,UAAIrM,IAAI,CAACF,eAAL,KAAyBnQ,SAA7B,EAAwC;AACpC;AACH;;AAH2B,yKAINqQ,IAAI,CAACF,eAJC;AAAA;;AAAA;AAI5B,+DAA4C;AAAA,cAAjC+/B,OAAiC;;AACxC,cAAIA,OAAO,YAAYngC,YAAvB,EAAqC;AACjC2M,eAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV,cAAqB6/B,OAAO,CAACh3B,QAAR,EAArB,SAA6Cg3B,OAAO,CAACpgC,eAArD;AACH,WAFD,MAGK;AACD,gBAAIogC,OAAO,CAACrgC,SAAZ,EAAuB;AACnB6M,iBAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV,eAAsB6/B,OAAO,CAACrlC,IAA9B,UAAyCqlC,OAAO,CAACpgC,eAAjD;AACH,aAFD,MAGK;AACDogC,qBAAO,CAACrlC,IAAR,CAAa6O,KAAb,CAAmB,IAAnB,EAAyB1f,OAAzB,CAAiC,UAAC69B,IAAD,EAAU;AACvCnb,mBAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ,eAAwBwnB,IAAxB;AACH,eAFD;AAGH;AACJ;AACJ;AAlB2B;AAAA;AAAA;AAAA;AAAA;AAmB/B;;;wCACmBxnB,I,EAAMqM,G,EAAK;AAC3B,WAAK0zB,oBAAL,CAA0B//B,IAA1B,EAAgCqM,GAAhC;AACArM,UAAI,CAAClH,IAAL,CAAUmJ,eAAV,CAA0B,IAA1B,EAAgCoK,GAAhC;AACAA,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ,EAAkB,GAAlB;AACA,aAAO,IAAP;AACH;;;oCACeA,I,EAAMqM,G,EAAK;AACvB,WAAK0zB,oBAAL,CAA0B//B,IAA1B,EAAgCqM,GAAhC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV;AACAA,UAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCoK,GAAjC;AACAA,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ,EAAkB,GAAlB;AACA,aAAO,IAAP;AACH;;;gCACWA,I,EAAMqM,G,EAAK;AACnB,WAAK0zB,oBAAL,CAA0B//B,IAA1B,EAAgCqM,GAAhC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV;AACAA,UAAI,CAAClD,SAAL,CAAemF,eAAf,CAA+B,IAA/B,EAAqCoK,GAArC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV;AACA,UAAMggC,WAAW,GAAGhgC,IAAI,CAAClJ,SAAL,IAAkB,IAAlB,IAA0BkJ,IAAI,CAAClJ,SAAL,CAAepN,MAAf,GAAwB,CAAtE;;AACA,UAAIsW,IAAI,CAACnJ,QAAL,CAAcnN,MAAd,IAAwB,CAAxB,IAA6B,CAACs2C,WAAlC,EAA+C;AAC3C3zB,WAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV;AACA,aAAKmC,kBAAL,CAAwBnC,IAAI,CAACnJ,QAA7B,EAAuCwV,GAAvC;AACAA,WAAG,CAAC4zB,mBAAJ;AACA5zB,WAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV;AACH,OALD,MAMK;AACDqM,WAAG,CAACyzB,OAAJ;AACAzzB,WAAG,CAAC6zB,SAAJ;AACA,aAAK/9B,kBAAL,CAAwBnC,IAAI,CAACnJ,QAA7B,EAAuCwV,GAAvC;AACAA,WAAG,CAAC8zB,SAAJ;;AACA,YAAIH,WAAJ,EAAiB;AACb3zB,aAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACAqM,aAAG,CAAC6zB,SAAJ;AACA,eAAK/9B,kBAAL,CAAwBnC,IAAI,CAAClJ,SAA7B,EAAwCuV,GAAxC;AACAA,aAAG,CAAC8zB,SAAJ;AACH;AACJ;;AACD9zB,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACA,aAAO,IAAP;AACH;;;mCACcA,I,EAAMqM,G,EAAK;AACtB,WAAK0zB,oBAAL,CAA0B//B,IAA1B,EAAgCqM,GAAhC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV;AACAA,UAAI,CAAC4B,KAAL,CAAWK,eAAX,CAA2B,IAA3B,EAAiCoK,GAAjC;AACAA,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACA,aAAO,IAAP;AACH;;;sCACiBlH,I,EAAMuT,G,EAAK;AACzB,UAAM+zB,YAAY,GAAG/zB,GAAG,CAACmyB,WAAJ,EAArB;;AACA,UAAI,CAAC4B,YAAL,EAAmB;AACf/zB,WAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV,EAAgB,GAAhB;AACH;;AACDuT,SAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV,YAAmBA,IAAI,CAAClP,IAAxB;AACAkP,UAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCoK,GAAjC;;AACA,UAAI,CAAC+zB,YAAL,EAAmB;AACf/zB,WAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV,EAAgB,GAAhB;AACH;;AACD,aAAO,IAAP;AACH;;;sCACiBA,I,EAAMuT,G,EAAK;AACzB,UAAM+zB,YAAY,GAAG/zB,GAAG,CAACmyB,WAAJ,EAArB;;AACA,UAAI,CAAC4B,YAAL,EAAmB;AACf/zB,WAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV,EAAgB,GAAhB;AACH;;AACDA,UAAI,CAACY,QAAL,CAAcuI,eAAd,CAA8B,IAA9B,EAAoCoK,GAApC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV;AACAA,UAAI,CAACvC,KAAL,CAAW0L,eAAX,CAA2B,IAA3B,EAAiCoK,GAAjC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV;AACAA,UAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCoK,GAAjC;;AACA,UAAI,CAAC+zB,YAAL,EAAmB;AACf/zB,WAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV,EAAgB,GAAhB;AACH;;AACD,aAAO,IAAP;AACH;;;uCACkBA,I,EAAMuT,G,EAAK;AAC1B,UAAM+zB,YAAY,GAAG/zB,GAAG,CAACmyB,WAAJ,EAArB;;AACA,UAAI,CAAC4B,YAAL,EAAmB;AACf/zB,WAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV,EAAgB,GAAhB;AACH;;AACDA,UAAI,CAACY,QAAL,CAAcuI,eAAd,CAA8B,IAA9B,EAAoCoK,GAApC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV,aAAoBA,IAAI,CAAClP,IAAzB;AACAkP,UAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCoK,GAAjC;;AACA,UAAI,CAAC+zB,YAAL,EAAmB;AACf/zB,WAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV,EAAgB,GAAhB;AACH;;AACD,aAAO,IAAP;AACH;;;0CACqBA,I,EAAMuT,G,EAAK;AAC7BvT,UAAI,CAACY,QAAL,CAAcuI,eAAd,CAA8B,IAA9B,EAAoCoK,GAApC;AACA,UAAIziB,IAAI,GAAGkP,IAAI,CAAClP,IAAhB;;AACA,UAAIkP,IAAI,CAACL,OAAL,IAAgB,IAApB,EAA0B;AACtB7O,YAAI,GAAG,KAAKy2C,oBAAL,CAA0BvnC,IAAI,CAACL,OAA/B,CAAP;;AACA,YAAI7O,IAAI,IAAI,IAAZ,EAAkB;AACd;AACA,iBAAO,IAAP;AACH;AACJ;;AACDyiB,SAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV,aAAoBlP,IAApB;AACA,WAAKsY,mBAAL,CAAyBpJ,IAAI,CAACpH,IAA9B,EAAoC2a,GAApC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV;AACA,aAAO,IAAP;AACH;;;4CACuBA,I,EAAMuT,G,EAAK;AAC/BvT,UAAI,CAACmB,EAAL,CAAQgI,eAAR,CAAwB,IAAxB,EAA8BoK,GAA9B;AACAA,SAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV;AACA,WAAKoJ,mBAAL,CAAyBpJ,IAAI,CAACpH,IAA9B,EAAoC2a,GAApC,EAAyC,GAAzC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV;AACA,aAAO,IAAP;AACH;;;yCACoBiJ,G,EAAKsK,G,EAAK;AAC3B,YAAM,IAAIlkB,KAAJ,CAAU,gDAAV,CAAN;AACH;;;oCACe2Q,I,EAAMuT,G,EAAK;AACvBA,SAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV,EAAgB,SAAhB;AACAA,UAAI,CAACA,IAAL,CAAUmJ,eAAV,CAA0B,IAA1B,EAAgCoK,GAAhC;AACH;;;qCACgBtK,G,EAAKsK,G,EAAK;AACvB,UAAIi0B,OAAO,GAAGv+B,GAAG,CAACnY,IAAlB;;AACA,UAAImY,GAAG,CAACtJ,OAAJ,IAAe,IAAnB,EAAyB;AACrB,gBAAQsJ,GAAG,CAACtJ,OAAZ;AACI,eAAKF,UAAU,CAAC0G,KAAhB;AACIqhC,mBAAO,GAAG,OAAV;AACA;;AACJ,eAAK/nC,UAAU,CAACwG,IAAhB;AACIuhC,mBAAO,GAAG,MAAV;AACA;;AACJ,eAAK/nC,UAAU,CAAC4G,UAAhB;AACImhC,mBAAO,GAAG9C,iBAAiB,CAAC5zC,IAA5B;AACA;;AACJ,eAAK2O,UAAU,CAAC8G,UAAhB;AACIihC,mBAAO,GAAG7C,iBAAiB,CAAC7zC,IAA5B;AACA;;AACJ;AACI,kBAAM,IAAIzB,KAAJ,oCAAsC4Z,GAAG,CAACtJ,OAA1C,EAAN;AAdR;AAgBH;;AACD4T,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAeu+B,OAAf;AACA,aAAO,IAAP;AACH;;;yCACoBv+B,G,EAAKsK,G,EAAK;AAC3BA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACAA,SAAG,CAAC5H,SAAJ,CAAc8H,eAAd,CAA8B,IAA9B,EAAoCoK,GAApC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACA,WAAKG,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmC2a,GAAnC,EAAwC,GAAxC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACA,aAAO,IAAP;AACH;;;qCACgBA,G,EAAKsK,G,EAAK;AACvB,UAAMhhB,KAAK,GAAG0W,GAAG,CAAC1W,KAAlB;;AACA,UAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3BghB,WAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAew+B,gBAAgB,CAACl1C,KAAD,EAAQ,KAAKu0C,sBAAb,CAA/B;AACH,OAFD,MAGK;AACDvzB,WAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,YAAkB1W,KAAlB;AACH;;AACD,aAAO,IAAP;AACH;;;yCACoB0W,G,EAAKsK,G,EAAK;AAC3B,UAAMm0B,IAAI,GAAGz+B,GAAG,CAAC0+B,iBAAJ,EAAb;AACAp0B,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe,gBAAgBy+B,IAAI,CAAChkC,GAApC;;AACA,WAAK,IAAIzR,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgX,GAAG,CAAClH,YAAJ,CAAiBnR,MAArC,EAA6CqB,CAAC,EAA9C,EAAkD;AAC9CshB,WAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe,IAAf;AACAA,WAAG,CAAChH,WAAJ,CAAgBhQ,CAAC,GAAG,CAApB,EAAuBkX,eAAvB,CAAuC,IAAvC,EAA6CoK,GAA7C;AACAA,WAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,aAAmBA,GAAG,CAAC2+B,yBAAJ,CAA8B31C,CAA9B,EAAiCyR,GAApD;AACH;;AACD6P,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe,GAAf;AACA,aAAO,IAAP;AACH;;;yCACoBA,G,EAAKsK,G,EAAK;AAC3BA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACAA,SAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoCoK,GAApC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe,IAAf;AACAA,SAAG,CAAClL,QAAJ,CAAaoL,eAAb,CAA6B,IAA7B,EAAmCoK,GAAnC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe,IAAf;AACAA,SAAG,CAACjL,SAAJ,CAAcmL,eAAd,CAA8B,IAA9B,EAAoCoK,GAApC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACA,aAAO,IAAP;AACH;;;iCACYA,G,EAAKsK,G,EAAK;AACnBA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe,GAAf;AACAA,SAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoCoK,GAApC;AACA,aAAO,IAAP;AACH;;;2CACsBtK,G,EAAKsK,G,EAAK;AAC7BtK,SAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoCoK,GAApC;AACA,aAAO,IAAP;AACH;;;2CACsBtK,G,EAAKsK,G,EAAK;AAC7B,UAAIs0B,KAAJ;;AACA,cAAQ5+B,GAAG,CAACnE,QAAZ;AACI,aAAKjI,aAAa,CAAC4B,IAAnB;AACIopC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAKhrC,aAAa,CAAC2B,KAAnB;AACIqpC,eAAK,GAAG,GAAR;AACA;;AACJ;AACI,gBAAM,IAAIx4C,KAAJ,4BAA8B4Z,GAAG,CAACnE,QAAlC,EAAN;AARR;;AAUA,UAAImE,GAAG,CAACnK,MAAR,EACIyU,GAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACJsK,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe4+B,KAAf;AACA5+B,SAAG,CAACjJ,IAAJ,CAASmJ,eAAT,CAAyB,IAAzB,EAA+BoK,GAA/B;AACA,UAAItK,GAAG,CAACnK,MAAR,EACIyU,GAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACJ,aAAO,IAAP;AACH;;;4CACuBA,G,EAAKsK,G,EAAK;AAC9B,UAAIs0B,KAAJ;;AACA,cAAQ5+B,GAAG,CAACnE,QAAZ;AACI,aAAKhI,cAAc,CAACsB,MAApB;AACIypC,eAAK,GAAG,IAAR;AACA;;AACJ,aAAK/qC,cAAc,CAACwB,SAApB;AACIupC,eAAK,GAAG,KAAR;AACA;;AACJ,aAAK/qC,cAAc,CAACuB,SAApB;AACIwpC,eAAK,GAAG,IAAR;AACA;;AACJ,aAAK/qC,cAAc,CAACyB,YAApB;AACIspC,eAAK,GAAG,KAAR;AACA;;AACJ,aAAK/qC,cAAc,CAAC+B,GAApB;AACIgpC,eAAK,GAAG,IAAR;AACA;;AACJ,aAAK/qC,cAAc,CAACiC,UAApB;AACI8oC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAK/qC,cAAc,CAACkC,EAApB;AACI6oC,eAAK,GAAG,IAAR;AACA;;AACJ,aAAK/qC,cAAc,CAAC2B,IAApB;AACIopC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAK/qC,cAAc,CAAC0B,KAApB;AACIqpC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAK/qC,cAAc,CAAC4B,MAApB;AACImpC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAK/qC,cAAc,CAAC6B,QAApB;AACIkpC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAK/qC,cAAc,CAAC8B,MAApB;AACIipC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAK/qC,cAAc,CAACmC,KAApB;AACI4oC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAK/qC,cAAc,CAACoC,WAApB;AACI2oC,eAAK,GAAG,IAAR;AACA;;AACJ,aAAK/qC,cAAc,CAACqC,MAApB;AACI0oC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAK/qC,cAAc,CAACsC,YAApB;AACIyoC,eAAK,GAAG,IAAR;AACA;;AACJ;AACI,gBAAM,IAAIx4C,KAAJ,4BAA8B4Z,GAAG,CAACnE,QAAlC,EAAN;AAlDR;;AAoDA,UAAImE,GAAG,CAACnK,MAAR,EACIyU,GAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACJA,SAAG,CAACjE,GAAJ,CAAQmE,eAAR,CAAwB,IAAxB,EAA8BoK,GAA9B;AACAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,aAAmB4+B,KAAnB;AACA5+B,SAAG,CAAC/K,GAAJ,CAAQiL,eAAR,CAAwB,IAAxB,EAA8BoK,GAA9B;AACA,UAAItK,GAAG,CAACnK,MAAR,EACIyU,GAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACJ,aAAO,IAAP;AACH;;;sCACiBA,G,EAAKsK,G,EAAK;AACxBtK,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmCoK,GAAnC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACAsK,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAeA,GAAG,CAACnY,IAAnB;AACA,aAAO,IAAP;AACH;;;qCACgBmY,G,EAAKsK,G,EAAK;AACvBtK,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmCoK,GAAnC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACAA,SAAG,CAACxL,KAAJ,CAAU0L,eAAV,CAA0B,IAA1B,EAAgCoK,GAAhC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACA,aAAO,IAAP;AACH;;;0CACqBA,G,EAAKsK,G,EAAK;AAC5BA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACA,WAAKG,mBAAL,CAAyBH,GAAG,CAAC5D,OAA7B,EAAsCkO,GAAtC,EAA2C,GAA3C;AACAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACA,aAAO,IAAP;AACH;;;wCACmBA,G,EAAKsK,G,EAAK;AAAA;;AAC1BA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACA,WAAK6+B,eAAL,CAAqB,UAAAx+B,KAAK,EAAI;AAC1BiK,WAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,YAAkBw+B,gBAAgB,CAACn+B,KAAK,CAAC7D,GAAP,EAAY,OAAI,CAACqhC,sBAAjB,EAAyCx9B,KAAK,CAAC5D,MAA/C,CAAlC;AACA4D,aAAK,CAAC/W,KAAN,CAAY4W,eAAZ,CAA4B,OAA5B,EAAkCoK,GAAlC;AACH,OAHD,EAGGtK,GAAG,CAAC5D,OAHP,EAGgBkO,GAHhB,EAGqB,GAHrB;AAIAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACA,aAAO,IAAP;AACH;;;mCACcA,G,EAAKsK,G,EAAK;AACrBA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe,GAAf;AACA,WAAKG,mBAAL,CAAyBH,GAAG,CAACnD,KAA7B,EAAoCyN,GAApC,EAAyC,GAAzC;AACAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe,GAAf;AACA,aAAO,IAAP;AACH;;;wCACmBhH,W,EAAasR,G,EAAKw0B,S,EAAW;AAAA;;AAC7C,WAAKD,eAAL,CAAqB,UAAA9nC,IAAI;AAAA,eAAIA,IAAI,CAACmJ,eAAL,CAAqB,OAArB,EAA2BoK,GAA3B,CAAJ;AAAA,OAAzB,EAA8DtR,WAA9D,EAA2EsR,GAA3E,EAAgFw0B,SAAhF;AACH;;;oCACexc,O,EAAStpB,W,EAAasR,G,EAAKw0B,S,EAAW;AAClD,UAAIC,iBAAiB,GAAG,KAAxB;;AACA,WAAK,IAAI/1C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgQ,WAAW,CAACrR,MAAhC,EAAwCqB,CAAC,EAAzC,EAA6C;AACzC,YAAIA,CAAC,GAAG,CAAR,EAAW;AACP,cAAIshB,GAAG,CAAC00B,UAAJ,KAAmB,EAAvB,EAA2B;AACvB10B,eAAG,CAAC+xB,KAAJ,CAAU,IAAV,EAAgByC,SAAhB,EAA2B,IAA3B;;AACA,gBAAI,CAACC,iBAAL,EAAwB;AACpB;AACAz0B,iBAAG,CAAC6zB,SAAJ;AACA7zB,iBAAG,CAAC6zB,SAAJ;AACAY,+BAAiB,GAAG,IAApB;AACH;AACJ,WARD,MASK;AACDz0B,eAAG,CAAC+xB,KAAJ,CAAU,IAAV,EAAgByC,SAAhB,EAA2B,KAA3B;AACH;AACJ;;AACDxc,eAAO,CAACtpB,WAAW,CAAChQ,CAAD,CAAZ,CAAP;AACH;;AACD,UAAI+1C,iBAAJ,EAAuB;AACnB;AACAz0B,WAAG,CAAC8zB,SAAJ;AACA9zB,WAAG,CAAC8zB,SAAJ;AACH;AACJ;;;uCACkB3iC,U,EAAY6O,G,EAAK;AAAA;;AAChC7O,gBAAU,CAAC7T,OAAX,CAAmB,UAACqW,IAAD;AAAA,eAAUA,IAAI,CAAC2C,cAAL,CAAoB,OAApB,EAA0B0J,GAA1B,CAAV;AAAA,OAAnB;AACH;;;;;;AAEL,SAASk0B,gBAAT,CAA0B56B,KAA1B,EAAiCq7B,YAAjC,EAAmE;AAAA,MAApBC,WAAoB,uEAAN,IAAM;;AAC/D,MAAIt7B,KAAK,IAAI,IAAb,EAAmB;AACf,WAAO,IAAP;AACH;;AACD,MAAMhF,IAAI,GAAGgF,KAAK,CAACzJ,OAAN,CAAcmhC,8BAAd,EAA8C,YAAc;AACrE,QAAI,sDAAY,GAAhB,EAAqB;AACjB,aAAO2D,YAAY,GAAG,KAAH,GAAW,GAA9B;AACH,KAFD,MAGK,IAAI,sDAAY,IAAhB,EAAsB;AACvB,aAAO,KAAP;AACH,KAFI,MAGA,IAAI,sDAAY,IAAhB,EAAsB;AACvB,aAAO,KAAP;AACH,KAFI,MAGA;AACD;AACH;AACJ,GAbY,CAAb;AAcA,MAAME,cAAc,GAAGD,WAAW,IAAI,CAAC3D,oBAAoB,CAACjJ,IAArB,CAA0B1zB,IAA1B,CAAvC;AACA,SAAOugC,cAAc,cAAOvgC,IAAP,SAAiBA,IAAtC;AACH;;AACD,SAASg+B,aAAT,CAAuBhS,KAAvB,EAA8B;AAC1B,MAAIrhC,GAAG,GAAG,EAAV;;AACA,OAAK,IAAIP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4hC,KAApB,EAA2B5hC,CAAC,EAA5B,EAAgC;AAC5BO,OAAG,IAAIiyC,YAAP;AACH;;AACD,SAAOjyC,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM61C,wB;;;;;AACF,sCAAc;AAAA;;AAAA,+BACJ,KADI;AAEb;;;;0CACqBnhC,I,EAAMqM,G,EAAK;AAAA;;AAC7BA,SAAG,CAAC+0B,SAAJ,CAAcphC,IAAd;;AACA,WAAKqhC,sBAAL,CAA4BrhC,IAA5B,EAAkCqM,GAAlC;;AACA,UAAIrM,IAAI,CAACe,MAAL,IAAe,IAAnB,EAAyB;AACrBsL,WAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV,YAAmBA,IAAI,CAACpW,IAAxB;AACAoW,YAAI,CAACe,MAAL,CAAYkB,eAAZ,CAA4B,IAA5B,EAAkCoK,GAAlC;AACAA,WAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACH;;AACDA,UAAI,CAACiB,OAAL,CAAatX,OAAb,CAAqB,UAAC6Y,MAAD;AAAA,eAAY,OAAI,CAAC8+B,iBAAL,CAAuBthC,IAAvB,EAA6BwC,MAA7B,EAAqC6J,GAArC,CAAZ;AAAA,OAArB;AACArM,UAAI,CAACmB,OAAL,CAAaxX,OAAb,CAAqB,UAACoQ,MAAD;AAAA,eAAY,OAAI,CAACwnC,iBAAL,CAAuBvhC,IAAvB,EAA6BjG,MAA7B,EAAqCsS,GAArC,CAAZ;AAAA,OAArB;AACAA,SAAG,CAACm1B,QAAJ;AACA,aAAO,IAAP;AACH;;;2CACsBxhC,I,EAAMqM,G,EAAK;AAC9BA,SAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV,qBAA4BA,IAAI,CAACpW,IAAjC;;AACA,UAAIoW,IAAI,CAACkB,iBAAL,IAA0B,IAA9B,EAAoC;AAChC,aAAKugC,YAAL,CAAkBzhC,IAAI,CAACkB,iBAAL,CAAuBzK,MAAzC,EAAiD4V,GAAjD;AACH;;AACDA,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACAqM,SAAG,CAAC6zB,SAAJ;;AACA,UAAIlgC,IAAI,CAACkB,iBAAL,IAA0B,IAA9B,EAAoC;AAChC,YAAIlB,IAAI,CAACkB,iBAAL,CAAuBP,IAAvB,CAA4BjX,MAA5B,GAAqC,CAAzC,EAA4C;AACxC2iB,aAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACA,eAAKmC,kBAAL,CAAwBnC,IAAI,CAACkB,iBAAL,CAAuBP,IAA/C,EAAqD0L,GAArD;AACH;AACJ;;AACDA,SAAG,CAAC8zB,SAAJ;AACA9zB,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACH;;;sCACiBA,I,EAAMwC,M,EAAQ6J,G,EAAK;AACjCA,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ,kCAA2CA,IAAI,CAACpW,IAAhD,0BAAoE4Y,MAAM,CAAC5Y,IAA3E;AACAyiB,SAAG,CAAC6zB,SAAJ;;AACA,UAAI19B,MAAM,CAAC7B,IAAP,CAAYjX,MAAZ,GAAqB,CAAzB,EAA4B;AACxB2iB,WAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACA,aAAKmC,kBAAL,CAAwBK,MAAM,CAAC7B,IAA/B,EAAqC0L,GAArC;AACH;;AACDA,SAAG,CAAC8zB,SAAJ;AACA9zB,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACH;;;sCACiBA,I,EAAMjG,M,EAAQsS,G,EAAK;AACjCA,SAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV,YAAmBA,IAAI,CAACpW,IAAxB,wBAA0CmQ,MAAM,CAACnQ,IAAjD;;AACA,WAAK63C,YAAL,CAAkB1nC,MAAM,CAACtD,MAAzB,EAAiC4V,GAAjC;;AACAA,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACAqM,SAAG,CAAC6zB,SAAJ;;AACA,UAAInmC,MAAM,CAAC4G,IAAP,CAAYjX,MAAZ,GAAqB,CAAzB,EAA4B;AACxB2iB,WAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACA,aAAKmC,kBAAL,CAAwBpI,MAAM,CAAC4G,IAA/B,EAAqC0L,GAArC;AACH;;AACDA,SAAG,CAAC8zB,SAAJ;AACA9zB,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACH;;;yCACoB+B,G,EAAKsK,G,EAAK;AAC3B,YAAM,IAAIlkB,KAAJ,CAAU,8CAAV,CAAN;AACH;;;qCACgB4Z,G,EAAKsK,G,EAAK;AACvB,UAAItK,GAAG,CAACtJ,OAAJ,KAAgBF,UAAU,CAACwG,IAA/B,EAAqC;AACjCsN,WAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe,MAAf;AACH,OAFD,MAGK,IAAIA,GAAG,CAACtJ,OAAJ,KAAgBF,UAAU,CAAC0G,KAA/B,EAAsC;AACvC,cAAM,IAAI9W,KAAJ,gFAAN;AACH,OAFI,MAGA;AACD,qVAAuB4Z,GAAvB,EAA4BsK,GAA5B;AACH;;AACD,aAAO,IAAP;AACH;;;wCACmBrM,I,EAAMqM,G,EAAK;AAC3BA,SAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV,gBAAuBA,IAAI,CAACpW,IAA5B;;AACA,UAAIoW,IAAI,CAAC3U,KAAT,EAAgB;AACZghB,WAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV,EAAgB,KAAhB;AACAA,YAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCoK,GAAjC;AACH;;AACDA,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACA,aAAO,IAAP;AACH;;;kCACa+B,G,EAAKsK,G,EAAK;AACpBtK,SAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgCoK,GAAhC;AACA,aAAO,IAAP;AACH;;;4CACuBvT,I,EAAMuT,G,EAAK;AAC/B,UAAMq1B,MAAM,GAAG5oC,IAAI,CAACmB,EAApB;;AACA,UAAIynC,MAAM,YAAYlpC,WAAlB,IAAiCkpC,MAAM,CAACjpC,OAAP,KAAmBF,UAAU,CAAC0G,KAAnE,EAA0E;AACtEoN,WAAG,CAACs1B,YAAJ,CAAiB5gC,MAAjB,CAAwBkB,eAAxB,CAAwC,IAAxC,EAA8CoK,GAA9C;AACAA,WAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV;;AACA,YAAIA,IAAI,CAACpH,IAAL,CAAUhI,MAAV,GAAmB,CAAvB,EAA0B;AACtB2iB,aAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV;AACA,eAAKoJ,mBAAL,CAAyBpJ,IAAI,CAACpH,IAA9B,EAAoC2a,GAApC,EAAyC,GAAzC;AACH;;AACDA,WAAG,CAAC+xB,KAAJ,CAAUtlC,IAAV;AACH,OARD,MASK;AACD,4VAA8BA,IAA9B,EAAoCuT,GAApC;AACH;;AACD,aAAO,IAAP;AACH;;;sCACiBtK,G,EAAKsK,G,EAAK;AACxBA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,oBAA0BA,GAAG,CAACnY,IAAJ,GAAW,MAAMmY,GAAG,CAACnY,IAArB,GAA4B,EAAtD;;AACA,WAAK63C,YAAL,CAAkB1/B,GAAG,CAACtL,MAAtB,EAA8B4V,GAA9B;;AACAA,SAAG,CAACyzB,OAAJ,CAAY/9B,GAAZ;AACAsK,SAAG,CAAC6zB,SAAJ;AACA,WAAK/9B,kBAAL,CAAwBJ,GAAG,CAACvE,UAA5B,EAAwC6O,GAAxC;AACAA,SAAG,CAAC8zB,SAAJ;AACA9zB,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV;AACA,aAAO,IAAP;AACH;;;6CACwB/B,I,EAAMqM,G,EAAK;AAChCA,SAAG,CAAC+xB,KAAJ,CAAUp+B,IAAV,qBAA4BA,IAAI,CAACpW,IAAjC;;AACA,WAAK63C,YAAL,CAAkBzhC,IAAI,CAACvJ,MAAvB,EAA+B4V,GAA/B;;AACAA,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACAqM,SAAG,CAAC6zB,SAAJ;AACA,WAAK/9B,kBAAL,CAAwBnC,IAAI,CAACxC,UAA7B,EAAyC6O,GAAzC;AACAA,SAAG,CAAC8zB,SAAJ;AACA9zB,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACA,aAAO,IAAP;AACH;;;sCACiBA,I,EAAMqM,G,EAAK;AACzBA,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACAqM,SAAG,CAAC6zB,SAAJ;AACA,WAAK/9B,kBAAL,CAAwBnC,IAAI,CAACwB,SAA7B,EAAwC6K,GAAxC;AACAA,SAAG,CAAC8zB,SAAJ;AACA9zB,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ,qBAA8Bw9B,iBAAiB,CAAC5zC,IAAhD;AACAyiB,SAAG,CAAC6zB,SAAJ;AACA,UAAMz+B,UAAU,GAAG,CAACg8B,iBAAiB,CAACxvC,GAAlB,CAAsBuvC,iBAAiB,CAACx5B,IAAlB,CAAuB,OAAvB,CAAtB,EAAuD1K,UAAvD,CAAkE,IAAlE,EAAwE,CACpFC,YAAY,CAACC,KADuE,CAAxE,CAAD,EAEXpO,MAFW,CAEJ4U,IAAI,CAACyB,UAFD,CAAnB;AAGA,WAAKU,kBAAL,CAAwBV,UAAxB,EAAoC4K,GAApC;AACAA,SAAG,CAAC8zB,SAAJ;AACA9zB,SAAG,CAACyzB,OAAJ,CAAY9/B,IAAZ;AACA,aAAO,IAAP;AACH;;;yCACoB+B,G,EAAKsK,G,EAAK;AAAA;;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe,8IAAf;AACA,UAAMnD,KAAK,GAAG,CAACmD,GAAG,CAAC0+B,iBAAJ,EAAD,CAAd;;AACA,WAAK,IAAI11C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgX,GAAG,CAAClH,YAAJ,CAAiBnR,MAArC,EAA6CqB,CAAC,EAA9C,EAAkD;AAC9C6T,aAAK,CAACzT,IAAN,CAAW4W,GAAG,CAAC2+B,yBAAJ,CAA8B31C,CAA9B,CAAX;AACH;;AACDshB,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,aAAmBnD,KAAK,CAACxQ,GAAN,CAAU,UAAAkwC,IAAI;AAAA,eAAIiC,gBAAgB,CAACjC,IAAI,CAAC/hC,MAAN,EAAc,KAAd,CAApB;AAAA,OAAd,EAAwDzR,IAAxD,CAA6D,IAA7D,CAAnB;AACAuhB,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,aAAmBnD,KAAK,CAACxQ,GAAN,CAAU,UAAAkwC,IAAI;AAAA,eAAIiC,gBAAgB,CAACjC,IAAI,CAAC9hC,GAAN,EAAW,KAAX,CAApB;AAAA,OAAd,EAAqD1R,IAArD,CAA0D,IAA1D,CAAnB;AACAiX,SAAG,CAAChH,WAAJ,CAAgBpR,OAAhB,CAAwB,UAAAqhB,UAAU,EAAI;AAClCqB,WAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe,IAAf;AACAiJ,kBAAU,CAAC/I,eAAX,CAA2B,OAA3B,EAAiCoK,GAAjC;AACH,OAHD;AAIAA,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe,GAAf;AACA,aAAO,IAAP;AACH;;;iCACYtL,M,EAAQ4V,G,EAAK;AACtB,WAAKu0B,eAAL,CAAqB,UAAAtjC,KAAK;AAAA,eAAI+O,GAAG,CAAC+xB,KAAJ,CAAU,IAAV,EAAgB9gC,KAAK,CAAC1T,IAAtB,CAAJ;AAAA,OAA1B,EAA2D6M,MAA3D,EAAmE4V,GAAnE,EAAwE,GAAxE;AACH;;;yCACoBtS,M,EAAQ;AACzB,UAAInQ,IAAJ;;AACA,cAAQmQ,MAAR;AACI,aAAKD,aAAa,CAAC8nC,WAAnB;AACIh4C,cAAI,GAAG,QAAP;AACA;;AACJ,aAAKkQ,aAAa,CAAC+nC,mBAAnB;AACIj4C,cAAI,GAAG,WAAP;AACA;;AACJ,aAAKkQ,aAAa,CAACgoC,IAAnB;AACIl4C,cAAI,GAAG,MAAP;AACA;;AACJ;AACI,gBAAM,IAAIzB,KAAJ,mCAAqC4R,MAArC,EAAN;AAXR;;AAaA,aAAOnQ,IAAP;AACH;;;;EA1LkC+1C,sB;AA6LvC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;IACMoC,Y;;;;;;;;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;uCACuBjG,S,EAAWt+B,U,EAAY4T,S,EAAW4wB,gB,EAAkB;AACnE,UAAMC,SAAS,GAAG,IAAIC,iBAAJ,CAAsB9wB,SAAtB,CAAlB;AACA,UAAM/E,GAAG,GAAGyxB,qBAAqB,CAACqE,UAAtB,EAAZ,CAFmE,CAGnE;;AACA,UAAI3kC,UAAU,CAAC9T,MAAX,GAAoB,CAApB,IAAyB,CAAC04C,oBAAoB,CAAC5kC,UAAU,CAAC,CAAD,CAAX,CAAlD,EAAmE;AAC/DA,kBAAU,IACN0H,OAAO,CAAC,YAAD,CAAP,CAAsBgzB,MAAtB,EADM,oJAEH16B,UAFG,EAAV;AAIH;;AACDykC,eAAS,CAAC9/B,kBAAV,CAA6B3E,UAA7B,EAAyC6O,GAAzC;AACA41B,eAAS,CAACI,gBAAV,CAA2Bh2B,GAA3B;AACA,aAAO,KAAKi2B,YAAL,CAAkBxG,SAAlB,EAA6BzvB,GAA7B,EAAkC41B,SAAS,CAACM,OAAV,EAAlC,EAAuDP,gBAAvD,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;iCACiBlG,S,EAAWzvB,G,EAAKwZ,I,EAAM2c,e,EAAiB;AAChD,UAAIC,MAAM,4BAAmBp2B,GAAG,CAACq2B,QAAJ,EAAnB,6BAAoD5G,SAApD,CAAV;AACA,UAAM6G,UAAU,GAAG,EAAnB;AACA,UAAMC,WAAW,GAAG,EAApB;;AACA,WAAK,IAAMC,OAAX,IAAsBhd,IAAtB,EAA4B;AACxB+c,mBAAW,CAACz3C,IAAZ,CAAiB06B,IAAI,CAACgd,OAAD,CAArB;AACAF,kBAAU,CAACx3C,IAAX,CAAgB03C,OAAhB;AACH;;AACD,UAAIL,eAAJ,EAAqB;AACjB;AACA;AACA;AACA;AACA;AACA,YAAMM,OAAO,GAAG,kIAAIxwC,QAAJ,6IAAgBqwC,UAAU,CAACv3C,MAAX,CAAkB,cAAlB,CAAhB,GAAmDyd,QAAnD,EAAhB;;AACA,YAAMk6B,WAAW,GAAGD,OAAO,CAAC16C,KAAR,CAAc,CAAd,EAAiB06C,OAAO,CAAC56C,OAAR,CAAgB,cAAhB,CAAjB,EAAkDmhB,KAAlD,CAAwD,IAAxD,EAA8D3f,MAA9D,GAAuE,CAA3F;AACA+4C,cAAM,gBAASp2B,GAAG,CAAC22B,oBAAJ,CAAyBlH,SAAzB,EAAoCiH,WAApC,EAAiDE,WAAjD,EAAT,CAAN;AACH;;AACD,UAAMhpC,EAAE,GAAG,kIAAI3H,QAAP,6IAAmBqwC,UAAU,CAACv3C,MAAX,CAAkBq3C,MAAlB,CAAnB,EAAR;;AACA,aAAO,KAAKS,eAAL,CAAqBjpC,EAArB,EAAyB2oC,WAAzB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;oCACoB3oC,E,EAAIvI,I,EAAM;AACtB,aAAOuI,EAAE,MAAF,oJAAMvI,IAAN,EAAP;AACH;;;;;AAEL;AACA;AACA;;;IACMwwC,iB;;;;;AACF,6BAAY9wB,SAAZ,EAAuB;AAAA;;AAAA;;AACnB;AACA,YAAKA,SAAL,GAAiBA,SAAjB;AACA,YAAK+xB,aAAL,GAAqB,EAArB;AACA,YAAKC,cAAL,GAAsB,EAAtB;AACA,YAAKC,iBAAL,GAAyB,EAAzB;AALmB;AAMtB;;;;qCACgBh3B,G,EAAK;AAClB,UAAMrM,IAAI,GAAG,IAAII,eAAJ,CAAoB,IAAI3B,cAAJ,CAAmB,KAAK4kC,iBAAL,CAAuBj1C,GAAvB,CAA2B,UAAAk1C,SAAS;AAAA,eAAI,IAAIhlC,eAAJ,CAAoBglC,SAApB,EAA+Bn/B,QAAQ,CAACm/B,SAAD,CAAvC,EAAoD,KAApD,CAAJ;AAAA,OAApC,CAAnB,CAApB,CAAb;AACAtjC,UAAI,CAAC2C,cAAL,CAAoB,IAApB,EAA0B0J,GAA1B;AACH;;;8BACS;AACN,UAAMnhB,MAAM,GAAG,EAAf;;AACA,WAAK,IAAIH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKo4C,aAAL,CAAmBz5C,MAAvC,EAA+CqB,CAAC,EAAhD,EAAoD;AAChDG,cAAM,CAAC,KAAKi4C,aAAL,CAAmBp4C,CAAnB,CAAD,CAAN,GAAgC,KAAKq4C,cAAL,CAAoBr4C,CAApB,CAAhC;AACH;;AACD,aAAOG,MAAP;AACH;;;sCACiB6W,G,EAAKsK,G,EAAK;AACxB,WAAKk3B,wBAAL,CAA8BxhC,GAA9B,EAAmC,KAAKqP,SAAL,CAAeC,wBAAf,CAAwCtP,GAAG,CAAC1W,KAA5C,CAAnC,EAAuFghB,GAAvF;;AACA,aAAO,IAAP;AACH;;;yCACoBtK,G,EAAKsK,G,EAAK;AAC3B,WAAKk3B,wBAAL,CAA8BxhC,GAA9B,EAAmCA,GAAG,CAAC7I,IAAvC,EAA6CmT,GAA7C;;AACA,aAAO,IAAP;AACH;;;wCACmBrM,I,EAAMqM,G,EAAK;AAC3B,UAAIrM,IAAI,CAACwjC,WAAL,CAAiBjqC,YAAY,CAACo+B,QAA9B,CAAJ,EAA6C;AACzC,aAAK0L,iBAAL,CAAuBl4C,IAAvB,CAA4B6U,IAAI,CAACpW,IAAjC;AACH;;AACD,sVAAiCoW,IAAjC,EAAuCqM,GAAvC;AACH;;;6CACwBrM,I,EAAMqM,G,EAAK;AAChC,UAAIrM,IAAI,CAACwjC,WAAL,CAAiBjqC,YAAY,CAACo+B,QAA9B,CAAJ,EAA6C;AACzC,aAAK0L,iBAAL,CAAuBl4C,IAAvB,CAA4B6U,IAAI,CAACpW,IAAjC;AACH;;AACD,2VAAsCoW,IAAtC,EAA4CqM,GAA5C;AACH;;;0CACqBrM,I,EAAMqM,G,EAAK;AAC7B,UAAIrM,IAAI,CAACwjC,WAAL,CAAiBjqC,YAAY,CAACo+B,QAA9B,CAAJ,EAA6C;AACzC,aAAK0L,iBAAL,CAAuBl4C,IAAvB,CAA4B6U,IAAI,CAACpW,IAAjC;AACH;;AACD,wVAAmCoW,IAAnC,EAAyCqM,GAAzC;AACH;;;6CACwBtK,G,EAAK1W,K,EAAOghB,G,EAAK;AACtC,UAAIhI,EAAE,GAAG,KAAK++B,cAAL,CAAoBl7C,OAApB,CAA4BmD,KAA5B,CAAT;;AACA,UAAIgZ,EAAE,KAAK,CAAC,CAAZ,EAAe;AACXA,UAAE,GAAG,KAAK++B,cAAL,CAAoB15C,MAAzB;;AACA,aAAK05C,cAAL,CAAoBj4C,IAApB,CAAyBE,KAAzB;;AACA,YAAMzB,IAAI,GAAGqoB,cAAc,CAAC;AAAEhB,mBAAS,EAAE5lB;AAAb,SAAD,CAAd,IAAwC,KAArD;;AACA,aAAK83C,aAAL,CAAmBh4C,IAAnB,eAA+BvB,IAA/B,cAAuCya,EAAvC;AACH;;AACDgI,SAAG,CAAC+xB,KAAJ,CAAUr8B,GAAV,EAAe,KAAKohC,aAAL,CAAmB9+B,EAAnB,CAAf;AACH;;;;EAtD2B88B,wB;;AAwDhC,SAASiB,oBAAT,CAA8BqB,SAA9B,EAAyC;AACrC,SAAOA,SAAS,CAACztC,YAAV,CAAuBkP,OAAO,CAAC,YAAD,CAAP,CAAsBgzB,MAAtB,EAAvB,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMwL,IAAI,GAAG,CAAb;AACA,IAAMC,OAAO,GAAG,CAAhB;AACA,IAAMC,IAAI,GAAG,CAAb;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,KAAK,GAAG,EAAd;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,MAAM,GAAG,EAAf;AACA,IAAMC,KAAK,GAAG,EAAd;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,KAAK,GAAG,EAAd;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,QAAQ,GAAG,EAAjB;AACA,IAAMC,UAAU,GAAG,EAAnB;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,OAAO,GAAG,EAAhB;AACA,IAAMC,OAAO,GAAG,EAAhB;AACA,IAAMC,KAAK,GAAG,EAAd;AACA,IAAMC,KAAK,GAAG,EAAd;AACA,IAAMC,MAAM,GAAG,EAAf;AACA,IAAMC,MAAM,GAAG,EAAf;AACA,IAAMC,OAAO,GAAG,EAAhB;AACA,IAAMC,MAAM,GAAG,EAAf;AACA,IAAMC,MAAM,GAAG,EAAf;AACA,IAAMC,UAAU,GAAG,EAAnB;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,SAAS,GAAG,EAAlB;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,SAAS,GAAG,EAAlB;AACA,IAAMC,UAAU,GAAG,EAAnB;AACA,IAAMC,SAAS,GAAG,EAAlB;AACA,IAAMC,MAAM,GAAG,EAAf;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,OAAO,GAAG,GAAhB;AACA,IAAMC,IAAI,GAAG,GAAb;AACA,IAAMC,OAAO,GAAG,GAAhB;AACA,IAAMC,KAAK,GAAG,GAAd;AACA,IAAMC,KAAK,GAAG,GAAd;AACA,IAAMC,MAAM,GAAG,GAAf;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,GAAG,GAAG,EAAZ;;AACA,SAASC,YAAT,CAAsBC,IAAtB,EAA4B;AACxB,SAAQA,IAAI,IAAI5D,IAAR,IAAgB4D,IAAI,IAAIvD,MAAzB,IAAqCuD,IAAI,IAAIN,KAApD;AACH;;AACD,SAASO,OAAT,CAAiBD,IAAjB,EAAuB;AACnB,SAAOjC,EAAE,IAAIiC,IAAN,IAAcA,IAAI,IAAI/B,EAA7B;AACH;;AACD,SAASiC,aAAT,CAAuBF,IAAvB,EAA6B;AACzB,SAAOA,IAAI,IAAIpB,EAAR,IAAcoB,IAAI,IAAIV,EAAtB,IAA4BU,IAAI,IAAI9B,EAAR,IAAc8B,IAAI,IAAI1B,EAAzD;AACH;;AACD,SAAS6B,eAAT,CAAyBH,IAAzB,EAA+B;AAC3B,SAAOA,IAAI,IAAIpB,EAAR,IAAcoB,IAAI,IAAIjB,EAAtB,IAA4BiB,IAAI,IAAI9B,EAAR,IAAc8B,IAAI,IAAI5B,EAAlD,IAAwD6B,OAAO,CAACD,IAAD,CAAtE;AACH;;AACD,SAASI,SAAT,CAAmBJ,IAAnB,EAAyB;AACrB,SAAOA,IAAI,KAAK3D,GAAT,IAAgB2D,IAAI,KAAKxD,GAAhC;AACH;;AACD,SAAS6D,YAAT,CAAsBL,IAAtB,EAA4B;AACxB,SAAOjC,EAAE,IAAIiC,IAAN,IAAcA,IAAI,IAAIhC,EAA7B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMsC,a;AACF,yBAAYxgB,IAAZ,EAAkBygB,MAAlB,EAA0BvgB,IAA1B,EAAgCE,GAAhC,EAAqC;AAAA;;AACjC,SAAKJ,IAAL,GAAYA,IAAZ;AACA,SAAKygB,MAAL,GAAcA,MAAd;AACA,SAAKvgB,IAAL,GAAYA,IAAZ;AACA,SAAKE,GAAL,GAAWA,GAAX;AACH;;;;+BACU;AACP,aAAO,KAAKqgB,MAAL,IAAe,IAAf,aAAyB,KAAKzgB,IAAL,CAAUpP,GAAnC,cAA0C,KAAKsP,IAA/C,cAAuD,KAAKE,GAA5D,IAAoE,KAAKJ,IAAL,CAAUpP,GAArF;AACH;;;2BACM8vB,K,EAAO;AACV,UAAMnX,MAAM,GAAG,KAAKvJ,IAAL,CAAUrB,OAAzB;AACA,UAAM/vB,GAAG,GAAG26B,MAAM,CAACnnC,MAAnB;AACA,UAAIq+C,MAAM,GAAG,KAAKA,MAAlB;AACA,UAAIvgB,IAAI,GAAG,KAAKA,IAAhB;AACA,UAAIE,GAAG,GAAG,KAAKA,GAAf;;AACA,aAAOqgB,MAAM,GAAG,CAAT,IAAcC,KAAK,GAAG,CAA7B,EAAgC;AAC5BD,cAAM;AACNC,aAAK;AACL,YAAMC,EAAE,GAAGpX,MAAM,CAACroB,UAAP,CAAkBu/B,MAAlB,CAAX;;AACA,YAAIE,EAAE,IAAIpE,GAAV,EAAe;AACXrc,cAAI;AACJ,cAAM0gB,SAAS,GAAGrX,MAAM,CAACxkC,MAAP,CAAc,CAAd,EAAiB07C,MAAM,GAAG,CAA1B,EAA6BI,WAA7B,CAAyC5yC,MAAM,CAACmT,YAAP,CAAoBm7B,GAApB,CAAzC,CAAlB;AACAnc,aAAG,GAAGwgB,SAAS,GAAG,CAAZ,GAAgBH,MAAM,GAAGG,SAAzB,GAAqCH,MAA3C;AACH,SAJD,MAKK;AACDrgB,aAAG;AACN;AACJ;;AACD,aAAOqgB,MAAM,GAAG7xC,GAAT,IAAgB8xC,KAAK,GAAG,CAA/B,EAAkC;AAC9B,YAAMC,GAAE,GAAGpX,MAAM,CAACroB,UAAP,CAAkBu/B,MAAlB,CAAX;;AACAA,cAAM;AACNC,aAAK;;AACL,YAAIC,GAAE,IAAIpE,GAAV,EAAe;AACXrc,cAAI;AACJE,aAAG,GAAG,CAAN;AACH,SAHD,MAIK;AACDA,aAAG;AACN;AACJ;;AACD,aAAO,IAAIogB,aAAJ,CAAkB,KAAKxgB,IAAvB,EAA6BygB,MAA7B,EAAqCvgB,IAArC,EAA2CE,GAA3C,CAAP;AACH,K,CACD;AACA;;;;+BACW0gB,Q,EAAUC,Q,EAAU;AAC3B,UAAMpiB,OAAO,GAAG,KAAKqB,IAAL,CAAUrB,OAA1B;AACA,UAAIqiB,WAAW,GAAG,KAAKP,MAAvB;;AACA,UAAIO,WAAW,IAAI,IAAnB,EAAyB;AACrB,YAAIA,WAAW,GAAGriB,OAAO,CAACv8B,MAAR,GAAiB,CAAnC,EAAsC;AAClC4+C,qBAAW,GAAGriB,OAAO,CAACv8B,MAAR,GAAiB,CAA/B;AACH;;AACD,YAAI6+C,SAAS,GAAGD,WAAhB;AACA,YAAIE,QAAQ,GAAG,CAAf;AACA,YAAIC,QAAQ,GAAG,CAAf;;AACA,eAAOD,QAAQ,GAAGJ,QAAX,IAAuBE,WAAW,GAAG,CAA5C,EAA+C;AAC3CA,qBAAW;AACXE,kBAAQ;;AACR,cAAIviB,OAAO,CAACqiB,WAAD,CAAP,IAAwB,IAA5B,EAAkC;AAC9B,gBAAI,EAAEG,QAAF,IAAcJ,QAAlB,EAA4B;AACxB;AACH;AACJ;AACJ;;AACDG,gBAAQ,GAAG,CAAX;AACAC,gBAAQ,GAAG,CAAX;;AACA,eAAOD,QAAQ,GAAGJ,QAAX,IAAuBG,SAAS,GAAGtiB,OAAO,CAACv8B,MAAR,GAAiB,CAA3D,EAA8D;AAC1D6+C,mBAAS;AACTC,kBAAQ;;AACR,cAAIviB,OAAO,CAACsiB,SAAD,CAAP,IAAsB,IAA1B,EAAgC;AAC5B,gBAAI,EAAEE,QAAF,IAAcJ,QAAlB,EAA4B;AACxB;AACH;AACJ;AACJ;;AACD,eAAO;AACHK,gBAAM,EAAEziB,OAAO,CAACld,SAAR,CAAkBu/B,WAAlB,EAA+B,KAAKP,MAApC,CADL;AAEHY,eAAK,EAAE1iB,OAAO,CAACld,SAAR,CAAkB,KAAKg/B,MAAvB,EAA+BQ,SAAS,GAAG,CAA3C;AAFJ,SAAP;AAIH;;AACD,aAAO,IAAP;AACH;;;;;;IAECK,e,GACF,yBAAY3iB,OAAZ,EAAqB/N,GAArB,EAA0B;AAAA;;AACtB,OAAK+N,OAAL,GAAeA,OAAf;AACA,OAAK/N,GAAL,GAAWA,GAAX;AACH,C;;IAEC2wB,e;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,2BAAYxhB,KAAZ,EAAmBO,GAAnB,EAA2D;AAAA,QAAnCkhB,SAAmC,uEAAvBzhB,KAAuB;AAAA,QAAhB0hB,OAAgB,uEAAN,IAAM;;AAAA;;AACvD,SAAK1hB,KAAL,GAAaA,KAAb;AACA,SAAKO,GAAL,GAAWA,GAAX;AACA,SAAKkhB,SAAL,GAAiBA,SAAjB;AACA,SAAKC,OAAL,GAAeA,OAAf;AACH;;;;+BACU;AACP,aAAO,KAAK1hB,KAAL,CAAWC,IAAX,CAAgBrB,OAAhB,CAAwBld,SAAxB,CAAkC,KAAKse,KAAL,CAAW0gB,MAA7C,EAAqD,KAAKngB,GAAL,CAASmgB,MAA9D,CAAP;AACH;;;;;;AAEL,IAAIiB,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,iBAAe,CAACA,eAAe,CAAC,SAAD,CAAf,GAA6B,CAA9B,CAAf,GAAkD,SAAlD;AACAA,iBAAe,CAACA,eAAe,CAAC,OAAD,CAAf,GAA2B,CAA5B,CAAf,GAAgD,OAAhD;AACH,CAHD,EAGGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CAHlB;;IAIMC,U;AACF,sBAAYvS,IAAZ,EAAkBhvB,GAAlB,EAAsD;AAAA,QAA/BwhC,KAA+B,uEAAvBF,eAAe,CAACG,KAAO;;AAAA;;AAClD,SAAKzS,IAAL,GAAYA,IAAZ;AACA,SAAKhvB,GAAL,GAAWA,GAAX;AACA,SAAKwhC,KAAL,GAAaA,KAAb;AACH;;;;wCACmB;AAChB,UAAM78B,GAAG,GAAG,KAAKqqB,IAAL,CAAUrP,KAAV,CAAgB+hB,UAAhB,CAA2B,GAA3B,EAAgC,CAAhC,CAAZ;AACA,aAAO/8B,GAAG,aAAM,KAAK3E,GAAX,iBAAoB2E,GAAG,CAACq8B,MAAxB,cAAkCM,eAAe,CAAC,KAAKE,KAAN,CAAjD,iBAAoE78B,GAAG,CAACs8B,KAAxE,WACN,KAAKjhC,GADT;AAEH;;;+BACU;AACP,UAAMqhC,OAAO,GAAG,KAAKrS,IAAL,CAAUqS,OAAV,eAAyB,KAAKrS,IAAL,CAAUqS,OAAnC,IAA+C,EAA/D;AACA,uBAAU,KAAKM,iBAAL,EAAV,eAAuC,KAAK3S,IAAL,CAAUrP,KAAjD,SAAyD0hB,OAAzD;AACH;;;;;;AAEL,SAASO,cAAT,CAAwBl9B,IAAxB,EAA8BhW,IAA9B,EAAoC;AAChC,MAAM2c,SAAS,GAAGX,mBAAmB,CAAChc,IAAD,CAArC;AACA,MAAMmzC,cAAc,GAAGx2B,SAAS,IAAI,IAAb,gBAA0B3G,IAA1B,cAAkC6F,cAAc,CAAC7b,IAAD,CAAhD,iBAA6D2c,SAA7D,iBACb3G,IADa,cACL6F,cAAc,CAAC7b,IAAD,CADT,CAAvB;AAEA,MAAMozC,UAAU,GAAG,IAAIZ,eAAJ,CAAoB,EAApB,EAAwBW,cAAxB,CAAnB;AACA,SAAO,IAAIV,eAAJ,CAAoB,IAAIf,aAAJ,CAAkB0B,UAAlB,EAA8B,CAAC,CAA/B,EAAkC,CAAC,CAAnC,EAAsC,CAAC,CAAvC,CAApB,EAA+D,IAAI1B,aAAJ,CAAkB0B,UAAlB,EAA8B,CAAC,CAA/B,EAAkC,CAAC,CAAnC,EAAsC,CAAC,CAAvC,CAA/D,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,mBAAT,CAA6Br9B,IAA7B,EAAmCs9B,QAAnC,EAA6C5N,SAA7C,EAAwD;AACpD,MAAMyN,cAAc,gBAASn9B,IAAT,cAAiBs9B,QAAjB,iBAAgC5N,SAAhC,CAApB;AACA,MAAM0N,UAAU,GAAG,IAAIZ,eAAJ,CAAoB,EAApB,EAAwBW,cAAxB,CAAnB;AACA,SAAO,IAAIV,eAAJ,CAAoB,IAAIf,aAAJ,CAAkB0B,UAAlB,EAA8B,CAAC,CAA/B,EAAkC,CAAC,CAAnC,EAAsC,CAAC,CAAvC,CAApB,EAA+D,IAAI1B,aAAJ,CAAkB0B,UAAlB,EAA8B,CAAC,CAA/B,EAAkC,CAAC,CAAnC,EAAsC,CAAC,CAAvC,CAA/D,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMG,c;AACF,0BAAY11C,OAAZ,EAAqB;AAAA;;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACH;;;;6CACwBke,G,EAAK;AAC1B;AACA,UAAIA,GAAG,CAACzV,UAAJ,KAAmB,eAAvB,EAAwC;AACpC,cAAM,IAAIvU,KAAJ,gDAAkDgqB,GAAG,CAACzV,UAAtD,uDAAN;AACH;;AACD,UAAI,CAAC,KAAKzI,OAAL,CAAagV,cAAb,CAA4BkJ,GAAG,CAACvoB,IAAhC,CAAL,EAA4C;AACxC,cAAM,IAAIzB,KAAJ,uDAAyDgqB,GAAG,CAACvoB,IAA7D,QAAN;AACH;;AACD,aAAO,KAAKqK,OAAL,CAAake,GAAG,CAACvoB,IAAjB,CAAP;AACH;;;+BACUggD,U,EAAY;AACnB,YAAM,IAAIzhD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;gCACWyhD,U,EAAY;AACpB,YAAM,IAAIzhD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;uCACkByhD,U,EAAY;AAC3B,YAAM,IAAIzhD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;mCACcyhD,U,EAAY;AACvB,YAAM,IAAIzhD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;iCACYyhD,U,EAAY;AACrB,YAAM,IAAIzhD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;qCACgBiO,I,EAAMyzC,U,EAAY;AAC/B,YAAM,IAAI1hD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;2BACMyhD,U,EAAY;AACf,YAAM,IAAIzhD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;uCACkBiO,I,EAAM0zC,W,EAAa;AAClC,YAAM,IAAI3hD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwlB,QAAT,CAAkBpP,GAAlB,EAAuBlT,KAAvB,EAA8B;AAC1B,SAAO;AAAEkT,OAAG,EAAHA,GAAF;AAAOlT,SAAK,EAALA,KAAP;AAAcmT,UAAM,EAAE;AAAtB,GAAP;AACH;;AACD,SAASurC,UAAT,CAAoBj3C,GAApB,EAAyC;AAAA,MAAhB0L,MAAgB,uEAAP,KAAO;AACrC,SAAOmG,UAAU,CAAC3U,MAAM,CAAC+T,IAAP,CAAYjR,GAAZ,EAAiB1E,GAAjB,CAAqB,UAAAmQ,GAAG;AAAA,WAAK;AAC3CA,SAAG,EAAHA,GAD2C;AAE3CC,YAAM,EAANA,MAF2C;AAG3CnT,WAAK,EAAEyH,GAAG,CAACyL,GAAD;AAHiC,KAAL;AAAA,GAAxB,CAAD,CAAjB;AAKH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASyrC,gBAAT,CAAyBxxB,IAAzB,EAA+B;AAAA,MACnB4e,YADmB,GAC0G5e,IAD1G,CACnB4e,YADmB;AAAA,MACC6S,UADD,GAC0GzxB,IAD1G,CACLpiB,IADK;AAAA,MACa8zC,SADb,GAC0G1xB,IAD1G,CACa0xB,SADb;AAAA,MACwBC,YADxB,GAC0G3xB,IAD1G,CACwB2xB,YADxB;AAAA,MACsCC,OADtC,GAC0G5xB,IAD1G,CACsC4xB,OADtC;AAAA,MAC+CC,OAD/C,GAC0G7xB,IAD1G,CAC+C6xB,OAD/C;AAAA,MACwDj0B,OADxD,GAC0GoC,IAD1G,CACwDpC,OADxD;AAAA,MACiEk0B,oBADjE,GAC0G9xB,IAD1G,CACiE8xB,oBADjE;AAAA,MACuFC,UADvF,GAC0G/xB,IAD1G,CACuF+xB,UADvF;AAAA,MACmGlmC,EADnG,GAC0GmU,IAD1G,CACmGnU,EADnG;AAE3B,MAAMmmC,oBAAoB,GAAG,EAA7B;AACA,MAAMC,aAAa,GAAG;AAAEr0C,QAAI,EAAEghC;AAAR,GAAtB,CAH2B,CAI3B;;AACA,MAAI8S,SAAS,CAACxgD,MAAd,EAAsB;AAClB+gD,iBAAa,CAACP,SAAd,GAA0BQ,WAAW,CAACR,SAAD,EAAYI,oBAAZ,CAArC;AACH,GAP0B,CAQ3B;AACA;;;AACA,MAAIC,UAAJ,EAAgB;AACZ,QAAIJ,YAAY,CAACzgD,MAAjB,EAAyB;AACrB+gD,mBAAa,CAACN,YAAd,GAA6BO,WAAW,CAACP,YAAD,EAAeG,oBAAf,CAAxC;AACH;;AACD,QAAIF,OAAO,CAAC1gD,MAAZ,EAAoB;AAChB+gD,mBAAa,CAACL,OAAd,GAAwBM,WAAW,CAACN,OAAD,EAAUE,oBAAV,CAAnC;AACH;;AACD,QAAID,OAAO,CAAC3gD,MAAZ,EAAoB;AAChB+gD,mBAAa,CAACJ,OAAd,GAAwBK,WAAW,CAACL,OAAD,EAAUC,oBAAV,CAAnC;AACH;AACJ,GAVD,CAWA;AACA;AAZA,OAaK;AACD,UAAMK,oBAAoB,GAAGC,4BAA4B,CAACpyB,IAAD,CAAzD;;AACA,UAAImyB,oBAAoB,KAAK,IAA7B,EAAmC;AAC/BH,4BAAoB,CAACr/C,IAArB,CAA0Bw/C,oBAA1B;AACH;AACJ;;AACD,MAAIv0B,OAAO,IAAIA,OAAO,CAAC1sB,MAAvB,EAA+B;AAC3B+gD,iBAAa,CAACr0B,OAAd,GAAwB1R,UAAU,CAAC0R,OAAO,CAAChoB,GAAR,CAAY,UAAA+jB,GAAG;AAAA,aAAIA,GAAG,CAAC9mB,KAAR;AAAA,KAAf,CAAD,CAAlC;AACH;;AACD,MAAIgZ,EAAJ,EAAQ;AACJomC,iBAAa,CAACpmC,EAAd,GAAmBA,EAAnB;AACH;;AACD,MAAM2G,UAAU,GAAG5G,UAAU,CAAC2U,aAAa,CAAC6H,cAAf,CAAV,CAAyCzU,MAAzC,CAAgD,CAACmW,kBAAkB,CAACmoB,aAAD,CAAnB,CAAhD,CAAnB;AACA,MAAMr0C,IAAI,GAAG,IAAIjC,cAAJ,CAAmBiQ,UAAU,CAAC2U,aAAa,CAAC2H,mBAAf,EAAoC,CAC1E,IAAIvsB,cAAJ,CAAmB81C,UAAU,CAAC7zC,IAA9B,CAD0E,EACrCy0C,WAAW,CAACV,YAAD,CAD0B,EACVU,WAAW,CAACT,OAAD,CADD,EAE1ES,WAAW,CAACR,OAAD,CAF+D,CAApC,CAA7B,CAAb;AAIA,SAAO;AAAEr/B,cAAU,EAAVA,UAAF;AAAc5U,QAAI,EAAJA,IAAd;AAAoBo0C,wBAAoB,EAApBA;AAApB,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,4BAAT,CAAsCpyB,IAAtC,EAA4C;AAAA,MAClByxB,UADkB,GACmDzxB,IADnD,CAChCsyB,YADgC;AAAA,MACNX,YADM,GACmD3xB,IADnD,CACN2xB,YADM;AAAA,MACQC,OADR,GACmD5xB,IADnD,CACQ4xB,OADR;AAAA,MACiBC,OADjB,GACmD7xB,IADnD,CACiB6xB,OADjB;AAAA,MAC0BC,oBAD1B,GACmD9xB,IADnD,CAC0B8xB,oBAD1B;AAExC,MAAMS,QAAQ,GAAG,EAAjB;;AACA,MAAIZ,YAAY,CAACzgD,MAAjB,EAAyB;AACrBqhD,YAAQ,CAACZ,YAAT,GAAwBO,WAAW,CAACP,YAAD,EAAeG,oBAAf,CAAnC;AACH;;AACD,MAAIF,OAAO,CAAC1gD,MAAZ,EAAoB;AAChBqhD,YAAQ,CAACX,OAAT,GAAmBM,WAAW,CAACN,OAAD,EAAUE,oBAAV,CAA9B;AACH;;AACD,MAAID,OAAO,CAAC3gD,MAAZ,EAAoB;AAChBqhD,YAAQ,CAACV,OAAT,GAAmBK,WAAW,CAACL,OAAD,EAAUC,oBAAV,CAA9B;AACH;;AACD,MAAIt6C,MAAM,CAAC+T,IAAP,CAAYgnC,QAAZ,EAAsBrhD,MAAtB,KAAiC,CAArC,EAAwC;AACpC,WAAO,IAAP;AACH,GAduC,CAexC;;;AACA,MAAMshD,MAAM,GAAG,IAAIr0C,kBAAJ;AACf;AAASyN,YAAU,CAAC2U,aAAa,CAAC8H,gBAAf,CADJ;AAEf;AAAW,GAACopB,UAAD,EAAa3nB,kBAAkB,CAACyoB,QAAD,CAA/B,CAFI,CAAf,CAhBwC,CAmBxC;;AACA,MAAME,WAAW,GAAG/nB,wBAAwB,CAAC8nB,MAAD,CAA5C,CApBwC,CAqBxC;;AACA,MAAME,IAAI,GAAG,IAAI3tC,YAAJ;AACb;AAAa,IADA;AAEb;AAAiB,GAAC0tC,WAAW,CAAC/S,MAAZ,EAAD,CAFJ,CAAb,CAtBwC,CAyBxC;;AACA,MAAMiT,QAAQ,GAAG,IAAIx0C,kBAAJ;AACjB;AAASu0C,MADQ;AAEjB;AAAW,IAFM,CAAjB;AAGA,SAAOC,QAAQ,CAACjT,MAAT,EAAP;AACH;;AACD,SAASkT,gBAAT,CAAyB5yB,IAAzB,EAA+B;AAC3B,MAAMttB,MAAM,GAAG6rC,sBAAsB,CAAC;AAClCntC,QAAI,EAAE4uB,IAAI,CAAC5uB,IADuB;AAElCwM,QAAI,EAAEoiB,IAAI,CAACpiB,IAFuB;AAGlCghC,gBAAY,EAAE5e,IAAI,CAAC4e,YAHe;AAIlCyB,qBAAiB,EAAE,CAJe;AAKlClhB,QAAI,EAAEa,IAAI,CAACb,IALuB;AAMlC4f,YAAQ,EAAExe,aAAa,CAAC/J,MANU;AAOlCsV,UAAM,EAAEuS,eAAe,CAACtgB;AAPU,GAAD,CAArC;AASA,MAAMk0B,aAAa,GAAG;AAClB/3C,WAAO,EAAExH,MAAM,CAACwH;AADE,GAAtB;;AAGA,MAAI8lB,IAAI,CAAChE,SAAL,KAAmB,IAAvB,EAA6B;AACzBi2B,iBAAa,CAACj2B,SAAd,GAA0BgE,IAAI,CAAChE,SAA/B;AACH;;AACD,MAAIgE,IAAI,CAAC4xB,OAAL,CAAa1gD,MAAb,GAAsB,CAA1B,EAA6B;AACzB+gD,iBAAa,CAACL,OAAd,GAAwB1lC,UAAU,CAAC8T,IAAI,CAAC4xB,OAAN,CAAlC;AACH;;AACD,MAAMp/B,UAAU,GAAG5G,UAAU,CAAC2U,aAAa,CAAC0H,cAAf,CAAV,CAAyCtU,MAAzC,CAAgD,CAACmW,kBAAkB,CAACmoB,aAAD,CAAnB,CAAhD,CAAnB;AACA,MAAMr0C,IAAI,GAAG,IAAIjC,cAAJ,CAAmBiQ,UAAU,CAAC2U,aAAa,CAACyH,WAAf,EAA4B,CAAC,IAAIrsB,cAAJ,CAAmBqkB,IAAI,CAACpiB,IAAL,CAAUA,IAA7B,CAAD,CAA5B,CAA7B,CAAb;AACA,SAAO;AAAE4U,cAAU,EAAVA,UAAF;AAAc5U,QAAI,EAAJA,IAAd;AAAoBoH,cAAU,EAAEtS,MAAM,CAACsS;AAAvC,GAAP;AACH,C,CACD;;;AACA,SAAS6tC,0BAAT,CAAoCh/B,GAApC,EAAyCza,QAAzC,EAAmD05C,kBAAnD,EAAuE;AACnE,MAAMz9C,SAAS,GAAGokB,cAAc,CAACrgB,QAAQ,CAACwE,IAAV,CAAhC;AACA,MAAMm1C,UAAU,GAAG35C,QAAQ,CAAC25C,UAAT,GAAsB,CAAC35C,QAAQ,CAAC25C,UAAV,CAAtB,GAA8C,EAAjE;AACA,MAAMC,UAAU,GAAG55C,QAAQ,CAAC45C,UAAT,GAAsB,CAAC55C,QAAQ,CAAC45C,UAAV,CAAtB,GAA8C,EAAjE;AACA,MAAMC,cAAc,GAAG1B,UAAU,CAAC;AAC9B,eAAWuB,kBAAkB,CAACI,UAAnB,CAA8B;AAAEt1C,UAAI,EAAExE,QAAQ,CAACwE,IAAjB;AAAuBu1C,YAAM,EAAE/5C,QAAQ,CAACwE,IAAT,CAAc6a;AAA7C,KAA9B,EAAwF5E,GAAxF,CADmB;AAE9B,iBAAakW,mBAAmB,CAAC3wB,QAAQ,CAACg6C,YAAV,EAAwBv/B,GAAxB,CAFF;AAG9B,eAAWkW,mBAAmB,WAAKgpB,UAAL,EAAoBC,UAApB,GAAiCn/B,GAAjC;AAHA,GAAD,CAAjC;AAKA,MAAMw/B,WAAW,GAAGznC,UAAU,CAAC2U,aAAa,CAAC0H,cAAf,CAAV,CAAyCtU,MAAzC,CAAgD,CAACs/B,cAAD,CAAhD,CAApB;AACAp/B,KAAG,CAAC7O,UAAJ,CAAerS,IAAf,CAAoB,IAAI2V,SAAJ;AACpB;AAAWjT,WADS;AAEpB;AAAa,MAFO;AAGpB;AAAa,GAAC,IAAI0S,UAAJ;AACV;AAAW,QADD;AAEV;AAAWzL,eAFD;AAGV;AAAgB,GAACyE,YAAY,CAACuyC,MAAd,CAHN;AAIV;AAAkBD,aAJR,CAAD,CAHO;AAQpB;AAAc,IARM;AASpB;AAAwB,MAAInrC,WAAJ,CAAgB,IAAhB,EAAsB,EAAtB,EAA0B,EAA1B,CATJ;AAUpB;AAAc,IAVM,CAApB;AAWH;;AACD,SAASqrC,iBAAT,CAA2Bz1B,MAA3B,EAAmC;AAC/B,MAAM01B,aAAa,GAAG,IAAI11C,YAAJ,CAAiBggB,MAAjB,EAAyB,MAAzB,CAAtB;AACA,SAAO,IAAIhgB,YAAJ,CAAiB01C,aAAjB,EAAgC,UAAhC,CAAP;AACH;;AACD,SAASnB,WAAT,CAAqBvlC,GAArB,EAA0B;AACtB,MAAM2mC,KAAK,GAAG3mC,GAAG,CAAClX,GAAJ,CAAQ,UAAA+jB,GAAG;AAAA,WAAI1N,UAAU,CAAC0N,GAAG,CAAC/b,IAAL,CAAd;AAAA,GAAX,CAAd;AACA,SAAOkP,GAAG,CAAC5b,MAAJ,GAAa,CAAb,GAAiB8a,cAAc,CAACE,UAAU,CAACunC,KAAD,CAAX,CAA/B,GAAqDx2C,SAA5D;AACH;;AACD,SAASi1C,WAAT,CAAqBwB,IAArB,EAA2BC,oBAA3B,EAAiD;AAC7C,MAAMx5C,MAAM,GAAG+R,UAAU,CAACwnC,IAAI,CAAC99C,GAAL,CAAS,UAAA+jB,GAAG;AAAA,WAAIA,GAAG,CAAC9mB,KAAR;AAAA,GAAZ,CAAD,CAAzB;AACA,SAAO8gD,oBAAoB,GAAGlyC,EAAE,CAAC,EAAD,EAAK,CAAC,IAAImG,eAAJ,CAAoBzN,MAApB,CAAD,CAAL,CAAL,GAA2CA,MAAtE;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy5C,uBAAT,CAAiCC,QAAjC,EAA2C;AACvC,MAAMC,mBAAmB,GAAG,EAA5B,CADuC,CAEvC;;AACAA,qBAAmB,CAACnhD,IAApB,CAAyB;AAAEoT,OAAG,EAAE,MAAP;AAAelT,SAAK,EAAE6Z,OAAO,CAACmnC,QAAQ,CAACE,QAAV,CAA7B;AAAkD/tC,UAAM,EAAE;AAA1D,GAAzB,EAHuC,CAIvC;;AACA8tC,qBAAmB,CAACnhD,IAApB,CAAyB;AAAEoT,OAAG,EAAE,MAAP;AAAelT,SAAK,EAAEghD,QAAQ,CAACj2C,IAAT,CAAc/K,KAApC;AAA2CmT,UAAM,EAAE;AAAnD,GAAzB,EALuC,CAMvC;;AACA8tC,qBAAmB,CAACnhD,IAApB,CAAyB;AAAEoT,OAAG,EAAE,MAAP;AAAelT,SAAK,EAAE6Z,OAAO,CAACmnC,QAAQ,CAACn7C,IAAV,CAA7B;AAA8CsN,UAAM,EAAE;AAAtD,GAAzB;AACA,MAAMwM,UAAU,GAAG5G,UAAU,CAAC2U,aAAa,CAACgI,UAAf,CAAV,CAAqC5U,MAArC,CAA4C,CAACxH,UAAU,CAAC2nC,mBAAD,CAAX,CAA5C,CAAnB;AACA,MAAMl2C,IAAI,GAAG,IAAIjC,cAAJ,CAAmBiQ,UAAU,CAAC2U,aAAa,CAAC+H,eAAf,EAAgC,CACtE0B,kBAAkB,CAAC6pB,QAAQ,CAACj2C,IAAT,CAAcA,IAAf,EAAqBi2C,QAAQ,CAACxT,iBAA9B,CADoD,EAEtE,IAAI1kC,cAAJ,CAAmB,IAAIkG,WAAJ,CAAgBgyC,QAAQ,CAACE,QAAzB,CAAnB,CAFsE,CAAhC,CAA7B,CAAb;AAIA,SAAO;AAAEvhC,cAAU,EAAVA,UAAF;AAAc5U,QAAI,EAAJA;AAAd,GAAP;AACH;AACD;AACA;AACA;;;AACA,SAASo2C,sBAAT,CAAgC3S,SAAhC,EAA2Cta,IAA3C,EAAiDnO,SAAjD,EAA4D;AACxD,MAAMxnB,IAAI,GAAGqoB,cAAc,CAACsN,IAAI,CAACnpB,IAAN,CAA3B;;AACA,MAAI,CAACxM,IAAL,EAAW;AACP,WAAOgY,KAAK,sCAA+B2d,IAAI,CAACnpB,IAApC,EAAZ;AACH;;AACD,MAAMA,IAAI,GAAGyjC,SAAS,CAACz1B,UAAV,CAAqBmb,IAAI,CAACnpB,IAAL,CAAU6a,SAA/B,CAAb;AACA,MAAMo7B,QAAQ,GAAG;AACbziD,QAAI,EAAJA,IADa;AAEbwM,QAAI,EAAEktB,aAAa,CAACltB,IAAD,CAFN;AAGbghC,gBAAY,EAAEhhC,IAHD;AAIbm2C,YAAQ,EAAEhtB,IAAI,CAAC31B,IAJF;AAKbivC,qBAAiB,EAAE,CALN;AAMblhB,QAAI,EAAEiiB,8BAA8B,CAACra,IAAI,CAACnpB,IAAN,EAAYyjC,SAAZ,EAAuBzoB,SAAvB,CANvB;AAOblgB,QAAI,EAAEquB,IAAI,CAACruB;AAPE,GAAjB;AASA,MAAM5F,GAAG,GAAG8gD,uBAAuB,CAACC,QAAD,CAAnC;AACA,MAAMI,UAAU,GAAG1V,sBAAsB,CAAC/mC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBo8C,QAAlB,CAAd,EAA2C;AAAE9U,YAAQ,EAAExe,aAAa,CAAC9J,eAA1B;AAA2CqV,UAAM,EAAEuS,eAAe,CAACnhB;AAAnE,GAA3C,CAAD,CAAzC;AACA,MAAMg3B,eAAe,GAAG7S,SAAS,CAAC7D,YAAV,CAAuBvpB,cAAvB,CAAsC;AAAE;AAAxC,GAAxB;AACA,MAAMkgC,qBAAqB,GAAG,IAAI7rC,SAAJ;AAC9B;AAAWlX,MADmB;AAE9B;AAAa,MAFiB;AAG9B;AACA,GAAC,IAAI2W,UAAJ;AACG;AAAW,QADd;AAEG;AAAWzL,eAFd;AAGG;AAAgB,GAACyE,YAAY,CAACuyC,MAAd,CAHnB;AAIG;AAAkBW,YAAU,CAAC/5C,OAJhC,CAAD,CAJ8B;AAS9B;AAAc,IATgB;AAU9B;AAAwB,MAAIgO,WAAJ,CAAgB,IAAhB,EAAsB,EAAtB,EAA0B,EAA1B,CAVM;AAW9B;AAAc,IAXgB,CAA9B;AAYA,MAAMksC,gBAAgB,GAAG,IAAI9rC,SAAJ;AACzB;AAAWlX,MADc;AAEzB;AAAa,MAFY;AAGzB;AAAa,GAAC,IAAI2W,UAAJ;AACV;AAAWmsC,iBADD;AAEV;AAAW53C,eAFD;AAGV;AAAgB,GAACyE,YAAY,CAACuyC,MAAd,CAHN;AAIV;AAAkBxgD,KAAG,CAAC0f,UAJZ,CAAD,CAHY;AAQzB;AAAc,IARW;AASzB;AAAwB,MAAItK,WAAJ,CAAgB,IAAhB,EAAsB,EAAtB,EAA0B,EAA1B,CATC;AAUzB;AAAc,IAVW,CAAzB;AAWAm5B,WAAS,CAACr8B,UAAV,CAAqBrS,IAArB,CAA0BwhD,qBAA1B,EAAiDC,gBAAjD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMC,W,GACF,qBAAYzjB,OAAZ,EAAqBzjB,KAArB,EAA4BmnC,WAA5B,EAAyCC,WAAzC,EAAsD;AAAA;;AAClD,OAAKpnC,KAAL,GAAaA,KAAb;AACA,OAAKmnC,WAAL,GAAmBA,WAAnB;AACA,OAAKC,WAAL,GAAmBA,WAAnB;AACA,OAAK3jB,OAAL,2BAAgCA,OAAhC,cAA2C0jB,WAA3C,eAA2DnnC,KAA3D,kBAAwEonC,WAAxE;AACH,C;;IAECC,S;AACF,qBAAY3lB,KAAZ,EAAmBO,GAAnB,EAAwB;AAAA;;AACpB,SAAKP,KAAL,GAAaA,KAAb;AACA,SAAKO,GAAL,GAAWA,GAAX;AACH;;;;+BACUqlB,c,EAAgB;AACvB,aAAO,IAAIC,kBAAJ,CAAuBD,cAAc,GAAG,KAAK5lB,KAA7C,EAAoD4lB,cAAc,GAAG,KAAKrlB,GAA1E,CAAP;AACH;;;;;;IAECulB,G;AACF,eAAYzW,IAAZ;AACA;AACJ;AACA;AACIrgC,YAJA,EAIY;AAAA;;AACR,SAAKqgC,IAAL,GAAYA,IAAZ;AACA,SAAKrgC,UAAL,GAAkBA,UAAlB;AACH;;;;0BACKrC,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAO,IAAP;AACH;;;+BACU;AACP,aAAO,KAAP;AACH;;;;;;IAECm5C,W;;;;;AACF,uBAAY1W,IAAZ,EAAkBrgC,UAAlB,EAA8Bg3C,QAA9B,EAAwC;AAAA;;AAAA;;AACpC,kCAAM3W,IAAN,EAAYrgC,UAAZ;AACA,YAAKg3C,QAAL,GAAgBA,QAAhB;AAFoC;AAGvC;;;EAJqBF,G;AAM1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMG,K;;;;;AACF,iBAAY5W,IAAZ,EAAkBrgC,UAAlB,EAA8BzN,MAA9B,EAAsC2kD,uBAAtC,EAA+DC,QAA/D,EAAyE;AAAA;;AAAA;;AACrE,kCAAM9W,IAAN,EAAYrgC,UAAZ;AACA,YAAKzN,MAAL,GAAcA,MAAd;AACA,YAAK2kD,uBAAL,GAA+BA,uBAA/B;AACA,YAAKC,QAAL,GAAgBA,QAAhB;AAJqE;AAKxE;;;;0BACKx5C,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACy5C,UAAR,CAAmB,IAAnB,EAAyBx5C,OAAzB,CAAP;AACH;;;+BACU;AACP,aAAO,OAAP;AACH;;;;EAZek5C,G;;IAcdO,S;;;;;;;;;;;;;0BACI15C,O,EAAyB,CAC3B;;AAD2B,UAAhBC,OAAgB,uEAAN,IAAM;AAE9B;;;;EAHmBk5C,G;;IAKlBQ,gB;;;;;;;;;;;;;0BACI35C,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC45C,qBAAR,CAA8B,IAA9B,EAAoC35C,OAApC,CAAP;AACH;;;;EAH0Bk5C,G;AAK/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMU,Y;;;;;;;;;;;;;0BACI75C,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;;AAC3B,UAAIhK,EAAJ;;AACA,aAAO,CAACA,EAAE,GAAG+J,OAAO,CAAC85C,iBAAd,MAAqC,IAArC,IAA6C7jD,EAAE,KAAK,KAAK,CAAzD,GAA6D,KAAK,CAAlE,GAAsEA,EAAE,CAAC8jD,IAAH,CAAQ/5C,OAAR,EAAiB,IAAjB,EAAuBC,OAAvB,CAA7E;AACH;;;;EAJsB05C,gB;AAM3B;AACA;AACA;;;IACMK,K;;;;;AACF,iBAAYtX,IAAZ,EAAkBrgC,UAAlB,EAA8B0E,WAA9B,EAA2C;AAAA;;AAAA;;AACvC,kCAAM27B,IAAN,EAAYrgC,UAAZ;AACA,YAAK0E,WAAL,GAAmBA,WAAnB;AAFuC;AAG1C;;;;0BACK/G,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACi6C,UAAR,CAAmB,IAAnB,EAAyBh6C,OAAzB,CAAP;AACH;;;;EAPek5C,G;;IASde,W;;;;;AACF,uBAAYxX,IAAZ,EAAkBrgC,UAAlB,EAA8ByG,SAA9B,EAAyCqxC,OAAzC,EAAkDC,QAAlD,EAA4D;AAAA;;AAAA;;AACxD,kCAAM1X,IAAN,EAAYrgC,UAAZ;AACA,YAAKyG,SAAL,GAAiBA,SAAjB;AACA,YAAKqxC,OAAL,GAAeA,OAAf;AACA,YAAKC,QAAL,GAAgBA,QAAhB;AAJwD;AAK3D;;;;0BACKp6C,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACq6C,gBAAR,CAAyB,IAAzB,EAA+Bp6C,OAA/B,CAAP;AACH;;;;EATqBk5C,G;;IAWpBmB,Y;;;;;AACF,wBAAY5X,IAAZ,EAAkBrgC,UAAlB,EAA8Bg3C,QAA9B,EAAwC3zC,QAAxC,EAAkD9P,IAAlD,EAAwD;AAAA;;AAAA;;AACpD,kCAAM8sC,IAAN,EAAYrgC,UAAZ,EAAwBg3C,QAAxB;AACA,YAAK3zC,QAAL,GAAgBA,QAAhB;AACA,YAAK9P,IAAL,GAAYA,IAAZ;AAHoD;AAIvD;;;;0BACKoK,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACu6C,iBAAR,CAA0B,IAA1B,EAAgCt6C,OAAhC,CAAP;AACH;;;;EARsBm5C,W;;IAUrBoB,a;;;;;AACF,yBAAY9X,IAAZ,EAAkBrgC,UAAlB,EAA8Bg3C,QAA9B,EAAwC3zC,QAAxC,EAAkD9P,IAAlD,EAAwDyB,KAAxD,EAA+D;AAAA;;AAAA;;AAC3D,kCAAMqrC,IAAN,EAAYrgC,UAAZ,EAAwBg3C,QAAxB;AACA,YAAK3zC,QAAL,GAAgBA,QAAhB;AACA,YAAK9P,IAAL,GAAYA,IAAZ;AACA,YAAKyB,KAAL,GAAaA,KAAb;AAJ2D;AAK9D;;;;0BACK2I,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACy6C,kBAAR,CAA2B,IAA3B,EAAiCx6C,OAAjC,CAAP;AACH;;;;EATuBm5C,W;;IAWtBsB,gB;;;;;AACF,4BAAYhY,IAAZ,EAAkBrgC,UAAlB,EAA8Bg3C,QAA9B,EAAwC3zC,QAAxC,EAAkD9P,IAAlD,EAAwD;AAAA;;AAAA;;AACpD,kCAAM8sC,IAAN,EAAYrgC,UAAZ,EAAwBg3C,QAAxB;AACA,YAAK3zC,QAAL,GAAgBA,QAAhB;AACA,YAAK9P,IAAL,GAAYA,IAAZ;AAHoD;AAIvD;;;;0BACKoK,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC26C,qBAAR,CAA8B,IAA9B,EAAoC16C,OAApC,CAAP;AACH;;;;EAR0Bm5C,W;;IAUzBwB,S;;;;;AACF,qBAAYlY,IAAZ,EAAkBrgC,UAAlB,EAA8BvD,GAA9B,EAAmCyL,GAAnC,EAAwC;AAAA;;AAAA;;AACpC,kCAAMm4B,IAAN,EAAYrgC,UAAZ;AACA,YAAKvD,GAAL,GAAWA,GAAX;AACA,YAAKyL,GAAL,GAAWA,GAAX;AAHoC;AAIvC;;;;0BACKvK,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC66C,cAAR,CAAuB,IAAvB,EAA6B56C,OAA7B,CAAP;AACH;;;;EARmBk5C,G;;IAUlB2B,U;;;;;AACF,sBAAYpY,IAAZ,EAAkBrgC,UAAlB,EAA8BvD,GAA9B,EAAmCyL,GAAnC,EAAwClT,KAAxC,EAA+C;AAAA;;AAAA;;AAC3C,kCAAMqrC,IAAN,EAAYrgC,UAAZ;AACA,YAAKvD,GAAL,GAAWA,GAAX;AACA,YAAKyL,GAAL,GAAWA,GAAX;AACA,YAAKlT,KAAL,GAAaA,KAAb;AAJ2C;AAK9C;;;;0BACK2I,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC+6C,eAAR,CAAwB,IAAxB,EAA8B96C,OAA9B,CAAP;AACH;;;;EAToBk5C,G;;IAWnB6B,W;;;;;AACF,uBAAYtY,IAAZ,EAAkBrgC,UAAlB,EAA8BiP,GAA9B,EAAmC1b,IAAnC,EAAyC8H,IAAzC,EAA+C27C,QAA/C,EAAyD;AAAA;;AAAA;;AACrD,kCAAM3W,IAAN,EAAYrgC,UAAZ,EAAwBg3C,QAAxB;AACA,YAAK/nC,GAAL,GAAWA,GAAX;AACA,YAAK1b,IAAL,GAAYA,IAAZ;AACA,YAAK8H,IAAL,GAAYA,IAAZ;AAJqD;AAKxD;;;;0BACKsC,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACi7C,SAAR,CAAkB,IAAlB,EAAwBh7C,OAAxB,CAAP;AACH;;;;EATqBm5C,W;;IAWpB8B,gB;;;;;AACF,4BAAYxY,IAAZ,EAAkBrgC,UAAlB,EAA8BhL,KAA9B,EAAqC;AAAA;;AAAA;;AACjC,kCAAMqrC,IAAN,EAAYrgC,UAAZ;AACA,YAAKhL,KAAL,GAAaA,KAAb;AAFiC;AAGpC;;;;0BACK2I,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACm7C,qBAAR,CAA8B,IAA9B,EAAoCl7C,OAApC,CAAP;AACH;;;;EAP0Bk5C,G;;IASzBiC,Y;;;;;AACF,wBAAY1Y,IAAZ,EAAkBrgC,UAAlB,EAA8B0E,WAA9B,EAA2C;AAAA;;AAAA;;AACvC,kCAAM27B,IAAN,EAAYrgC,UAAZ;AACA,YAAK0E,WAAL,GAAmBA,WAAnB;AAFuC;AAG1C;;;;0BACK/G,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACq7C,iBAAR,CAA0B,IAA1B,EAAgCp7C,OAAhC,CAAP;AACH;;;;EAPsBk5C,G;;IASrBmC,U;;;;;AACF,sBAAY5Y,IAAZ,EAAkBrgC,UAAlB,EAA8B0N,IAA9B,EAAoCpR,MAApC,EAA4C;AAAA;;AAAA;;AACxC,kCAAM+jC,IAAN,EAAYrgC,UAAZ;AACA,YAAK0N,IAAL,GAAYA,IAAZ;AACA,YAAKpR,MAAL,GAAcA,MAAd;AAHwC;AAI3C;;;;0BACKqB,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACu7C,eAAR,CAAwB,IAAxB,EAA8Bt7C,OAA9B,CAAP;AACH;;;;EARoBk5C,G;;IAUnBqC,a;;;;;AACF,yBAAY9Y,IAAZ,EAAkBrgC,UAAlB,EAA8B88B,OAA9B,EAAuCp4B,WAAvC,EAAoD;AAAA;;AAAA;;AAChD,kCAAM27B,IAAN,EAAYrgC,UAAZ;AACA,YAAK88B,OAAL,GAAeA,OAAf;AACA,YAAKp4B,WAAL,GAAmBA,WAAnB;AAHgD;AAInD;;;;0BACK/G,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACy7C,kBAAR,CAA2B,IAA3B,EAAiCx7C,OAAjC,CAAP;AACH;;;;EARuBk5C,G;;IAUtBuC,M;;;;;AACF,kBAAYhZ,IAAZ,EAAkBrgC,UAAlB,EAA8Bs5C,SAA9B,EAAyCC,IAAzC,EAA+CC,KAA/C,EAAsD;AAAA;;AAAA;;AAClD,mCAAMnZ,IAAN,EAAYrgC,UAAZ;AACA,aAAKs5C,SAAL,GAAiBA,SAAjB;AACA,aAAKC,IAAL,GAAYA,IAAZ;AACA,aAAKC,KAAL,GAAaA,KAAb;AAJkD;AAKrD;;;;0BACK77C,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC87C,WAAR,CAAoB,IAApB,EAA0B77C,OAA1B,CAAP;AACH;;;;EATgBk5C,G;AAWrB;AACA;AACA;AACA;AACA;;;IACM4C,K;;;;;AACF;AACJ;AACA;AACA;AACI,iBAAYrZ,IAAZ,EAAkBrgC,UAAlB,EAA8BuH,QAA9B,EAAwC9E,IAAxC,EAA8Ck3C,QAA9C,EAAwDC,UAAxD,EAAoEC,WAApE,EAAiF;AAAA;;AAAA;;AAC7E,mCAAMxZ,IAAN,EAAYrgC,UAAZ,EAAwB25C,QAAxB,EAAkCC,UAAlC,EAA8CC,WAA9C;AACA,aAAKtyC,QAAL,GAAgBA,QAAhB;AACA,aAAK9E,IAAL,GAAYA,IAAZ;AAH6E;AAIhF;AACD;AACJ;AACA;;;;;0BAUU9E,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;;AAC3B,UAAID,OAAO,CAACm8C,UAAR,KAAuBxgD,SAA3B,EAAsC;AAClC,eAAOqE,OAAO,CAACm8C,UAAR,CAAmB,IAAnB,EAAyBl8C,OAAzB,CAAP;AACH;;AACD,aAAOD,OAAO,CAAC87C,WAAR,CAAoB,IAApB,EAA0B77C,OAA1B,CAAP;AACH;;;gCAdkByiC,I,EAAMrgC,U,EAAYyC,I,EAAM;AACvC,aAAO,IAAIi3C,KAAJ,CAAUrZ,IAAV,EAAgBrgC,UAAhB,EAA4B,GAA5B,EAAiCyC,IAAjC,EAAuC,GAAvC,EAA4C,IAAIo2C,gBAAJ,CAAqBxY,IAArB,EAA2BrgC,UAA3B,EAAuC,CAAvC,CAA5C,EAAuFyC,IAAvF,CAAP;AACH;AACD;AACJ;AACA;;;;+BACsB49B,I,EAAMrgC,U,EAAYyC,I,EAAM;AACtC,aAAO,IAAIi3C,KAAJ,CAAUrZ,IAAV,EAAgBrgC,UAAhB,EAA4B,GAA5B,EAAiCyC,IAAjC,EAAuC,GAAvC,EAA4CA,IAA5C,EAAkD,IAAIo2C,gBAAJ,CAAqBxY,IAArB,EAA2BrgC,UAA3B,EAAuC,CAAvC,CAAlD,CAAP;AACH;;;;EArBeq5C,M;;IA6BdU,S;;;;;AACF,qBAAY1Z,IAAZ,EAAkBrgC,UAAlB,EAA8B2U,UAA9B,EAA0C;AAAA;;AAAA;;AACtC,mCAAM0rB,IAAN,EAAYrgC,UAAZ;AACA,aAAK2U,UAAL,GAAkBA,UAAlB;AAFsC;AAGzC;;;;0BACKhX,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACq8C,cAAR,CAAuB,IAAvB,EAA6Bp8C,OAA7B,CAAP;AACH;;;;EAPmBk5C,G;;IASlBmD,a;;;;;AACF,yBAAY5Z,IAAZ,EAAkBrgC,UAAlB,EAA8B2U,UAA9B,EAA0C;AAAA;;AAAA;;AACtC,mCAAM0rB,IAAN,EAAYrgC,UAAZ;AACA,aAAK2U,UAAL,GAAkBA,UAAlB;AAFsC;AAGzC;;;;0BACKhX,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACu8C,kBAAR,CAA2B,IAA3B,EAAiCt8C,OAAjC,CAAP;AACH;;;;EAPuBk5C,G;;IAStBqD,U;;;;;AACF,sBAAY9Z,IAAZ,EAAkBrgC,UAAlB,EAA8Bg3C,QAA9B,EAAwC3zC,QAAxC,EAAkD9P,IAAlD,EAAwD8H,IAAxD,EAA8D;AAAA;;AAAA;;AAC1D,mCAAMglC,IAAN,EAAYrgC,UAAZ,EAAwBg3C,QAAxB;AACA,aAAK3zC,QAAL,GAAgBA,QAAhB;AACA,aAAK9P,IAAL,GAAYA,IAAZ;AACA,aAAK8H,IAAL,GAAYA,IAAZ;AAJ0D;AAK7D;;;;0BACKsC,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACy8C,eAAR,CAAwB,IAAxB,EAA8Bx8C,OAA9B,CAAP;AACH;;;;EAToBm5C,W;;IAWnBsD,c;;;;;AACF,0BAAYha,IAAZ,EAAkBrgC,UAAlB,EAA8Bg3C,QAA9B,EAAwC3zC,QAAxC,EAAkD9P,IAAlD,EAAwD8H,IAAxD,EAA8D;AAAA;;AAAA;;AAC1D,mCAAMglC,IAAN,EAAYrgC,UAAZ,EAAwBg3C,QAAxB;AACA,aAAK3zC,QAAL,GAAgBA,QAAhB;AACA,aAAK9P,IAAL,GAAYA,IAAZ;AACA,aAAK8H,IAAL,GAAYA,IAAZ;AAJ0D;AAK7D;;;;0BACKsC,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC28C,mBAAR,CAA4B,IAA5B,EAAkC18C,OAAlC,CAAP;AACH;;;;EATwBm5C,W;;IAWvBwD,Y;;;;;AACF,wBAAYla,IAAZ,EAAkBrgC,UAAlB,EAA8BiuB,MAA9B,EAAsC5yB,IAAtC,EAA4C;AAAA;;AAAA;;AACxC,mCAAMglC,IAAN,EAAYrgC,UAAZ;AACA,aAAKiuB,MAAL,GAAcA,MAAd;AACA,aAAK5yB,IAAL,GAAYA,IAAZ;AAHwC;AAI3C;;;;0BACKsC,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC68C,iBAAR,CAA0B,IAA1B,EAAgC58C,OAAhC,CAAP;AACH;;;;EARsBk5C,G;AAU3B;AACA;AACA;AACA;;;IACMD,kB,GACF,4BAAY7lB,KAAZ,EAAmBO,GAAnB,EAAwB;AAAA;;AACpB,OAAKP,KAAL,GAAaA,KAAb;AACA,OAAKO,GAAL,GAAWA,GAAX;AACH,C;;IAECkpB,a;;;;;AACF,yBAAY/uC,GAAZ,EAAiB8uB,MAAjB,EAAyB2c,QAAzB,EAAmCP,cAAnC,EAAmD8D,MAAnD,EAA2D;AAAA;;AAAA;;AACvD,mCAAM,IAAI/D,SAAJ,CAAc,CAAd,EAAiBnc,MAAM,KAAK,IAAX,GAAkB,CAAlB,GAAsBA,MAAM,CAACnnC,MAA9C,CAAN,EAA6D,IAAIwjD,kBAAJ,CAAuBD,cAAvB,EAAuCpc,MAAM,KAAK,IAAX,GAAkBoc,cAAlB,GAAmCA,cAAc,GAAGpc,MAAM,CAACnnC,MAAlG,CAA7D;AACA,aAAKqY,GAAL,GAAWA,GAAX;AACA,aAAK8uB,MAAL,GAAcA,MAAd;AACA,aAAK2c,QAAL,GAAgBA,QAAhB;AACA,aAAKuD,MAAL,GAAcA,MAAd;AALuD;AAM1D;;;;0BACK/8C,O,EAAyB;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;;AAC3B,UAAID,OAAO,CAACg9C,kBAAZ,EAAgC;AAC5B,eAAOh9C,OAAO,CAACg9C,kBAAR,CAA2B,IAA3B,EAAiC/8C,OAAjC,CAAP;AACH;;AACD,aAAO,KAAK8N,GAAL,CAASglB,KAAT,CAAe/yB,OAAf,EAAwBC,OAAxB,CAAP;AACH;;;+BACU;AACP,uBAAU,KAAK48B,MAAf,iBAA4B,KAAK2c,QAAjC;AACH;;;;EAhBuBL,G;;IAkBtB8D,e;AACF;AACJ;AACA;AACA;AACA;AACI,yBAAY56C,UAAZ,EAAwBkI,GAAxB,EAA6BlT,KAA7B,EAAoC;AAAA;;AAChC,OAAKgL,UAAL,GAAkBA,UAAlB;AACA,OAAKkI,GAAL,GAAWA,GAAX;AACA,OAAKlT,KAAL,GAAaA,KAAb;AACH,C;;IAEC6lD,iB;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,2BAAY76C,UAAZ,EAAwBkI,GAAxB,EAA6BlT,KAA7B,EAAoC;AAAA;;AAChC,OAAKgL,UAAL,GAAkBA,UAAlB;AACA,OAAKkI,GAAL,GAAWA,GAAX;AACA,OAAKlT,KAAL,GAAaA,KAAb;AACH,C;;IAEC8lD,qB;;;;;;;0BACIpvC,G,EAAK9N,O,EAAS;AAChB;AACA;AACA;AACA8N,SAAG,CAACglB,KAAJ,CAAU,IAAV,EAAgB9yB,OAAhB;AACH;;;+BACU8N,G,EAAK9N,O,EAAS;AACrB,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACjJ,IAAf,EAAqB7E,OAArB;AACH;;;gCACW8N,G,EAAK9N,O,EAAS;AACtB,WAAK8yB,KAAL,CAAWhlB,GAAG,CAAC6tC,IAAf,EAAqB37C,OAArB;AACA,WAAK8yB,KAAL,CAAWhlB,GAAG,CAAC8tC,KAAf,EAAsB57C,OAAtB;AACH;;;+BACU8N,G,EAAK9N,O,EAAS;AACrB,WAAKmyB,QAAL,CAAcrkB,GAAG,CAAChH,WAAlB,EAA+B9G,OAA/B;AACH;;;qCACgB8N,G,EAAK9N,O,EAAS;AAC3B,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACjF,SAAf,EAA0B7I,OAA1B;AACA,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACosC,OAAf,EAAwBl6C,OAAxB;AACA,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACqsC,QAAf,EAAyBn6C,OAAzB;AACH;;;8BACS8N,G,EAAK9N,O,EAAS;AACpB,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACuD,GAAf,EAAoBrR,OAApB;AACA,WAAKmyB,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,EAAwBuC,OAAxB;AACH;;;sCACiB8N,G,EAAK9N,O,EAAS;AAC5B,UAAI8N,GAAG,CAACuiB,MAAR,EAAgB;AACZ,aAAKyC,KAAL,CAAWhlB,GAAG,CAACuiB,MAAf,EAAuBrwB,OAAvB;AACH;;AACD,WAAKmyB,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,EAAwBuC,OAAxB;AACH;;;0CACqB8N,G,EAAK9N,O,EAAS,CAAG;;;sCACrB8N,G,EAAK9N,O,EAAS,CAAG;;;uCAChB8N,G,EAAK9N,O,EAAS;AAC7B,WAAKmyB,QAAL,CAAcrkB,GAAG,CAAChH,WAAlB,EAA+B9G,OAA/B;AACH;;;mCACc8N,G,EAAK9N,O,EAAS;AACzB,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACjP,GAAf,EAAoBmB,OAApB;AACA,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACxD,GAAf,EAAoBtK,OAApB;AACH;;;oCACe8N,G,EAAK9N,O,EAAS;AAC1B,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACjP,GAAf,EAAoBmB,OAApB;AACA,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACxD,GAAf,EAAoBtK,OAApB;AACA,WAAK8yB,KAAL,CAAWhlB,GAAG,CAAC1W,KAAf,EAAsB4I,OAAtB;AACH;;;sCACiB8N,G,EAAK9N,O,EAAS;AAC5B,WAAKmyB,QAAL,CAAcrkB,GAAG,CAAChH,WAAlB,EAA+B9G,OAA/B;AACH;;;oCACe8N,G,EAAK9N,O,EAAS;AAC1B,WAAKmyB,QAAL,CAAcrkB,GAAG,CAACpP,MAAlB,EAA0BsB,OAA1B;AACH;;;0CACqB8N,G,EAAK9N,O,EAAS,CAAG;;;oCACvB8N,G,EAAK9N,O,EAAS;AAC1B,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACrI,QAAf,EAAyBzF,OAAzB;AACA,WAAKmyB,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,EAAwBuC,OAAxB;AACH;;;mCACc8N,G,EAAK9N,O,EAAS;AACzB,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACiJ,UAAf,EAA2B/W,OAA3B;AACH;;;uCACkB8N,G,EAAK9N,O,EAAS;AAC7B,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACiJ,UAAf,EAA2B/W,OAA3B;AACH;;;sCACiB8N,G,EAAK9N,O,EAAS;AAC5B,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACrI,QAAf,EAAyBzF,OAAzB;AACH;;;uCACkB8N,G,EAAK9N,O,EAAS;AAC7B,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACrI,QAAf,EAAyBzF,OAAzB;AACA,WAAK8yB,KAAL,CAAWhlB,GAAG,CAAC1W,KAAf,EAAsB4I,OAAtB;AACH;;;0CACqB8N,G,EAAK9N,O,EAAS;AAChC,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACrI,QAAf,EAAyBzF,OAAzB;AACH;;;wCACmB8N,G,EAAK9N,O,EAAS;AAC9B,WAAK8yB,KAAL,CAAWhlB,GAAG,CAACrI,QAAf,EAAyBzF,OAAzB;AACA,WAAKmyB,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,EAAwBuC,OAAxB;AACH;;;+BACU8N,G,EAAK9N,O,EAAS,CAAG,C,CAC5B;;;;6BACSm9C,I,EAAMn9C,O,EAAS;AAAA,yKACFm9C,IADE;AAAA;;AAAA;AACpB,+DAAwB;AAAA,cAAbrvC,GAAa;AACpB,eAAKglB,KAAL,CAAWhlB,GAAX,EAAgB9N,OAAhB;AACH;AAHmB;AAAA;AAAA;AAAA;AAAA;AAIvB;;;;;;IAECo9C,gB;;;;;;;0CACoBtvC,G,EAAK9N,O,EAAS;AAChC,aAAO8N,GAAP;AACH;;;sCACiBA,G,EAAK9N,O,EAAS;AAC5B,aAAO8N,GAAP;AACH;;;uCACkBA,G,EAAK9N,O,EAAS;AAC7B,aAAO,IAAIu7C,aAAJ,CAAkBztC,GAAG,CAAC20B,IAAtB,EAA4B30B,GAAG,CAAC1L,UAAhC,EAA4C0L,GAAG,CAACoxB,OAAhD,EAAyD,KAAK/M,QAAL,CAAcrkB,GAAG,CAAChH,WAAlB,CAAzD,CAAP;AACH;;;0CACqBgH,G,EAAK9N,O,EAAS;AAChC,aAAO,IAAIi7C,gBAAJ,CAAqBntC,GAAG,CAAC20B,IAAzB,EAA+B30B,GAAG,CAAC1L,UAAnC,EAA+C0L,GAAG,CAAC1W,KAAnD,CAAP;AACH;;;sCACiB0W,G,EAAK9N,O,EAAS;AAC5B,aAAO,IAAIq6C,YAAJ,CAAiBvsC,GAAG,CAAC20B,IAArB,EAA2B30B,GAAG,CAAC1L,UAA/B,EAA2C0L,GAAG,CAACsrC,QAA/C,EAAyDtrC,GAAG,CAACrI,QAAJ,CAAaqtB,KAAb,CAAmB,IAAnB,CAAzD,EAAmFhlB,GAAG,CAACnY,IAAvF,CAAP;AACH;;;uCACkBmY,G,EAAK9N,O,EAAS;AAC7B,aAAO,IAAIu6C,aAAJ,CAAkBzsC,GAAG,CAAC20B,IAAtB,EAA4B30B,GAAG,CAAC1L,UAAhC,EAA4C0L,GAAG,CAACsrC,QAAhD,EAA0DtrC,GAAG,CAACrI,QAAJ,CAAaqtB,KAAb,CAAmB,IAAnB,CAA1D,EAAoFhlB,GAAG,CAACnY,IAAxF,EAA8FmY,GAAG,CAAC1W,KAAJ,CAAU07B,KAAV,CAAgB,IAAhB,CAA9F,CAAP;AACH;;;0CACqBhlB,G,EAAK9N,O,EAAS;AAChC,aAAO,IAAIy6C,gBAAJ,CAAqB3sC,GAAG,CAAC20B,IAAzB,EAA+B30B,GAAG,CAAC1L,UAAnC,EAA+C0L,GAAG,CAACsrC,QAAnD,EAA6DtrC,GAAG,CAACrI,QAAJ,CAAaqtB,KAAb,CAAmB,IAAnB,CAA7D,EAAuFhlB,GAAG,CAACnY,IAA3F,CAAP;AACH;;;oCACemY,G,EAAK9N,O,EAAS;AAC1B,aAAO,IAAIu8C,UAAJ,CAAezuC,GAAG,CAAC20B,IAAnB,EAAyB30B,GAAG,CAAC1L,UAA7B,EAAyC0L,GAAG,CAACsrC,QAA7C,EAAuDtrC,GAAG,CAACrI,QAAJ,CAAaqtB,KAAb,CAAmB,IAAnB,CAAvD,EAAiFhlB,GAAG,CAACnY,IAArF,EAA2F,KAAKw8B,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,CAA3F,CAAP;AACH;;;wCACmBqQ,G,EAAK9N,O,EAAS;AAC9B,aAAO,IAAIy8C,cAAJ,CAAmB3uC,GAAG,CAAC20B,IAAvB,EAA6B30B,GAAG,CAAC1L,UAAjC,EAA6C0L,GAAG,CAACsrC,QAAjD,EAA2DtrC,GAAG,CAACrI,QAAJ,CAAaqtB,KAAb,CAAmB,IAAnB,CAA3D,EAAqFhlB,GAAG,CAACnY,IAAzF,EAA+F,KAAKw8B,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,CAA/F,CAAP;AACH;;;sCACiBqQ,G,EAAK9N,O,EAAS;AAC5B,aAAO,IAAI28C,YAAJ,CAAiB7uC,GAAG,CAAC20B,IAArB,EAA2B30B,GAAG,CAAC1L,UAA/B,EAA2C0L,GAAG,CAACuiB,MAAJ,CAAWyC,KAAX,CAAiB,IAAjB,CAA3C,EAAmE,KAAKX,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,CAAnE,CAAP;AACH;;;sCACiBqQ,G,EAAK9N,O,EAAS;AAC5B,aAAO,IAAIm7C,YAAJ,CAAiBrtC,GAAG,CAAC20B,IAArB,EAA2B30B,GAAG,CAAC1L,UAA/B,EAA2C,KAAK+vB,QAAL,CAAcrkB,GAAG,CAAChH,WAAlB,CAA3C,CAAP;AACH;;;oCACegH,G,EAAK9N,O,EAAS;AAC1B,aAAO,IAAIq7C,UAAJ,CAAevtC,GAAG,CAAC20B,IAAnB,EAAyB30B,GAAG,CAAC1L,UAA7B,EAAyC0L,GAAG,CAACgC,IAA7C,EAAmD,KAAKqiB,QAAL,CAAcrkB,GAAG,CAACpP,MAAlB,CAAnD,CAAP;AACH;;;+BACUoP,G,EAAK9N,O,EAAS;AACrB,cAAQ8N,GAAG,CAACnE,QAAZ;AACI,aAAK,GAAL;AACI,iBAAOmyC,KAAK,CAACuB,UAAN,CAAiBvvC,GAAG,CAAC20B,IAArB,EAA2B30B,GAAG,CAAC1L,UAA/B,EAA2C0L,GAAG,CAACjJ,IAAJ,CAASiuB,KAAT,CAAe,IAAf,CAA3C,CAAP;;AACJ,aAAK,GAAL;AACI,iBAAOgpB,KAAK,CAACwB,WAAN,CAAkBxvC,GAAG,CAAC20B,IAAtB,EAA4B30B,GAAG,CAAC1L,UAAhC,EAA4C0L,GAAG,CAACjJ,IAAJ,CAASiuB,KAAT,CAAe,IAAf,CAA5C,CAAP;;AACJ;AACI,gBAAM,IAAI5+B,KAAJ,kCAAoC4Z,GAAG,CAACnE,QAAxC,EAAN;AANR;AAQH;;;gCACWmE,G,EAAK9N,O,EAAS;AACtB,aAAO,IAAIy7C,MAAJ,CAAW3tC,GAAG,CAAC20B,IAAf,EAAqB30B,GAAG,CAAC1L,UAAzB,EAAqC0L,GAAG,CAAC4tC,SAAzC,EAAoD5tC,GAAG,CAAC6tC,IAAJ,CAAS7oB,KAAT,CAAe,IAAf,CAApD,EAA0EhlB,GAAG,CAAC8tC,KAAJ,CAAU9oB,KAAV,CAAgB,IAAhB,CAA1E,CAAP;AACH;;;mCACchlB,G,EAAK9N,O,EAAS;AACzB,aAAO,IAAIm8C,SAAJ,CAAcruC,GAAG,CAAC20B,IAAlB,EAAwB30B,GAAG,CAAC1L,UAA5B,EAAwC0L,GAAG,CAACiJ,UAAJ,CAAe+b,KAAf,CAAqB,IAArB,CAAxC,CAAP;AACH;;;uCACkBhlB,G,EAAK9N,O,EAAS;AAC7B,aAAO,IAAIq8C,aAAJ,CAAkBvuC,GAAG,CAAC20B,IAAtB,EAA4B30B,GAAG,CAAC1L,UAAhC,EAA4C0L,GAAG,CAACiJ,UAAJ,CAAe+b,KAAf,CAAqB,IAArB,CAA5C,CAAP;AACH;;;qCACgBhlB,G,EAAK9N,O,EAAS;AAC3B,aAAO,IAAIi6C,WAAJ,CAAgBnsC,GAAG,CAAC20B,IAApB,EAA0B30B,GAAG,CAAC1L,UAA9B,EAA0C0L,GAAG,CAACjF,SAAJ,CAAciqB,KAAd,CAAoB,IAApB,CAA1C,EAAqEhlB,GAAG,CAACosC,OAAJ,CAAYpnB,KAAZ,CAAkB,IAAlB,CAArE,EAA8FhlB,GAAG,CAACqsC,QAAJ,CAAarnB,KAAb,CAAmB,IAAnB,CAA9F,CAAP;AACH;;;8BACShlB,G,EAAK9N,O,EAAS;AACpB,aAAO,IAAI+6C,WAAJ,CAAgBjtC,GAAG,CAAC20B,IAApB,EAA0B30B,GAAG,CAAC1L,UAA9B,EAA0C0L,GAAG,CAACuD,GAAJ,CAAQyhB,KAAR,CAAc,IAAd,CAA1C,EAA+DhlB,GAAG,CAACnY,IAAnE,EAAyE,KAAKw8B,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,CAAzE,EAAkGqQ,GAAG,CAACsrC,QAAtG,CAAP;AACH;;;mCACctrC,G,EAAK9N,O,EAAS;AACzB,aAAO,IAAI26C,SAAJ,CAAc7sC,GAAG,CAAC20B,IAAlB,EAAwB30B,GAAG,CAAC1L,UAA5B,EAAwC0L,GAAG,CAACjP,GAAJ,CAAQi0B,KAAR,CAAc,IAAd,CAAxC,EAA6DhlB,GAAG,CAACxD,GAAJ,CAAQwoB,KAAR,CAAc,IAAd,CAA7D,CAAP;AACH;;;oCACehlB,G,EAAK9N,O,EAAS;AAC1B,aAAO,IAAI66C,UAAJ,CAAe/sC,GAAG,CAAC20B,IAAnB,EAAyB30B,GAAG,CAAC1L,UAA7B,EAAyC0L,GAAG,CAACjP,GAAJ,CAAQi0B,KAAR,CAAc,IAAd,CAAzC,EAA8DhlB,GAAG,CAACxD,GAAJ,CAAQwoB,KAAR,CAAc,IAAd,CAA9D,EAAmFhlB,GAAG,CAAC1W,KAAJ,CAAU07B,KAAV,CAAgB,IAAhB,CAAnF,CAAP;AACH;;;6BACQqqB,I,EAAM;AACX,UAAM9lD,GAAG,GAAG,EAAZ;;AACA,WAAK,IAAIP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqmD,IAAI,CAAC1nD,MAAzB,EAAiC,EAAEqB,CAAnC,EAAsC;AAClCO,WAAG,CAACP,CAAD,CAAH,GAASqmD,IAAI,CAACrmD,CAAD,CAAJ,CAAQg8B,KAAR,CAAc,IAAd,CAAT;AACH;;AACD,aAAOz7B,GAAP;AACH;;;+BACUyW,G,EAAK9N,O,EAAS;AACrB,aAAO,IAAI+5C,KAAJ,CAAUjsC,GAAG,CAAC20B,IAAd,EAAoB30B,GAAG,CAAC1L,UAAxB,EAAoC,KAAK+vB,QAAL,CAAcrkB,GAAG,CAAChH,WAAlB,CAApC,CAAP;AACH;;;+BACUgH,G,EAAK9N,O,EAAS;AACrB,aAAO,IAAIq5C,KAAJ,CAAUvrC,GAAG,CAAC20B,IAAd,EAAoB30B,GAAG,CAAC1L,UAAxB,EAAoC0L,GAAG,CAACnZ,MAAxC,EAAgDmZ,GAAG,CAACwrC,uBAApD,EAA6ExrC,GAAG,CAACyrC,QAAjF,CAAP;AACH;;;;KAEL;AACA;;;IACMgE,6B;;;;;;;0CACoBzvC,G,EAAK9N,O,EAAS;AAChC,aAAO8N,GAAP;AACH;;;sCACiBA,G,EAAK9N,O,EAAS;AAC5B,aAAO8N,GAAP;AACH;;;uCACkBA,G,EAAK9N,O,EAAS;AAC7B,UAAM8G,WAAW,GAAG,KAAKqrB,QAAL,CAAcrkB,GAAG,CAAChH,WAAlB,CAApB;AACA,UAAIA,WAAW,KAAKgH,GAAG,CAAChH,WAAxB,EACI,OAAO,IAAIy0C,aAAJ,CAAkBztC,GAAG,CAAC20B,IAAtB,EAA4B30B,GAAG,CAAC1L,UAAhC,EAA4C0L,GAAG,CAACoxB,OAAhD,EAAyDp4B,WAAzD,CAAP;AACJ,aAAOgH,GAAP;AACH;;;0CACqBA,G,EAAK9N,O,EAAS;AAChC,aAAO8N,GAAP;AACH;;;sCACiBA,G,EAAK9N,O,EAAS;AAC5B,UAAMyF,QAAQ,GAAGqI,GAAG,CAACrI,QAAJ,CAAaqtB,KAAb,CAAmB,IAAnB,CAAjB;;AACA,UAAIrtB,QAAQ,KAAKqI,GAAG,CAACrI,QAArB,EAA+B;AAC3B,eAAO,IAAI40C,YAAJ,CAAiBvsC,GAAG,CAAC20B,IAArB,EAA2B30B,GAAG,CAAC1L,UAA/B,EAA2C0L,GAAG,CAACsrC,QAA/C,EAAyD3zC,QAAzD,EAAmEqI,GAAG,CAACnY,IAAvE,CAAP;AACH;;AACD,aAAOmY,GAAP;AACH;;;uCACkBA,G,EAAK9N,O,EAAS;AAC7B,UAAMyF,QAAQ,GAAGqI,GAAG,CAACrI,QAAJ,CAAaqtB,KAAb,CAAmB,IAAnB,CAAjB;AACA,UAAM17B,KAAK,GAAG0W,GAAG,CAAC1W,KAAJ,CAAU07B,KAAV,CAAgB,IAAhB,CAAd;;AACA,UAAIrtB,QAAQ,KAAKqI,GAAG,CAACrI,QAAjB,IAA6BrO,KAAK,KAAK0W,GAAG,CAAC1W,KAA/C,EAAsD;AAClD,eAAO,IAAImjD,aAAJ,CAAkBzsC,GAAG,CAAC20B,IAAtB,EAA4B30B,GAAG,CAAC1L,UAAhC,EAA4C0L,GAAG,CAACsrC,QAAhD,EAA0D3zC,QAA1D,EAAoEqI,GAAG,CAACnY,IAAxE,EAA8EyB,KAA9E,CAAP;AACH;;AACD,aAAO0W,GAAP;AACH;;;0CACqBA,G,EAAK9N,O,EAAS;AAChC,UAAMyF,QAAQ,GAAGqI,GAAG,CAACrI,QAAJ,CAAaqtB,KAAb,CAAmB,IAAnB,CAAjB;;AACA,UAAIrtB,QAAQ,KAAKqI,GAAG,CAACrI,QAArB,EAA+B;AAC3B,eAAO,IAAIg1C,gBAAJ,CAAqB3sC,GAAG,CAAC20B,IAAzB,EAA+B30B,GAAG,CAAC1L,UAAnC,EAA+C0L,GAAG,CAACsrC,QAAnD,EAA6D3zC,QAA7D,EAAuEqI,GAAG,CAACnY,IAA3E,CAAP;AACH;;AACD,aAAOmY,GAAP;AACH;;;oCACeA,G,EAAK9N,O,EAAS;AAC1B,UAAMyF,QAAQ,GAAGqI,GAAG,CAACrI,QAAJ,CAAaqtB,KAAb,CAAmB,IAAnB,CAAjB;AACA,UAAMr1B,IAAI,GAAG,KAAK00B,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,CAAb;;AACA,UAAIgI,QAAQ,KAAKqI,GAAG,CAACrI,QAAjB,IAA6BhI,IAAI,KAAKqQ,GAAG,CAACrQ,IAA9C,EAAoD;AAChD,eAAO,IAAI8+C,UAAJ,CAAezuC,GAAG,CAAC20B,IAAnB,EAAyB30B,GAAG,CAAC1L,UAA7B,EAAyC0L,GAAG,CAACsrC,QAA7C,EAAuD3zC,QAAvD,EAAiEqI,GAAG,CAACnY,IAArE,EAA2E8H,IAA3E,CAAP;AACH;;AACD,aAAOqQ,GAAP;AACH;;;wCACmBA,G,EAAK9N,O,EAAS;AAC9B,UAAMyF,QAAQ,GAAGqI,GAAG,CAACrI,QAAJ,CAAaqtB,KAAb,CAAmB,IAAnB,CAAjB;AACA,UAAMr1B,IAAI,GAAG,KAAK00B,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,CAAb;;AACA,UAAIgI,QAAQ,KAAKqI,GAAG,CAACrI,QAAjB,IAA6BhI,IAAI,KAAKqQ,GAAG,CAACrQ,IAA9C,EAAoD;AAChD,eAAO,IAAIg/C,cAAJ,CAAmB3uC,GAAG,CAAC20B,IAAvB,EAA6B30B,GAAG,CAAC1L,UAAjC,EAA6C0L,GAAG,CAACsrC,QAAjD,EAA2D3zC,QAA3D,EAAqEqI,GAAG,CAACnY,IAAzE,EAA+E8H,IAA/E,CAAP;AACH;;AACD,aAAOqQ,GAAP;AACH;;;sCACiBA,G,EAAK9N,O,EAAS;AAC5B,UAAMqwB,MAAM,GAAGviB,GAAG,CAACuiB,MAAJ,IAAcviB,GAAG,CAACuiB,MAAJ,CAAWyC,KAAX,CAAiB,IAAjB,CAA7B;AACA,UAAMr1B,IAAI,GAAG,KAAK00B,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,CAAb;;AACA,UAAI4yB,MAAM,KAAKviB,GAAG,CAACuiB,MAAf,IAAyB5yB,IAAI,KAAKqQ,GAAG,CAACrQ,IAA1C,EAAgD;AAC5C,eAAO,IAAIk/C,YAAJ,CAAiB7uC,GAAG,CAAC20B,IAArB,EAA2B30B,GAAG,CAAC1L,UAA/B,EAA2CiuB,MAA3C,EAAmD5yB,IAAnD,CAAP;AACH;;AACD,aAAOqQ,GAAP;AACH;;;sCACiBA,G,EAAK9N,O,EAAS;AAC5B,UAAM8G,WAAW,GAAG,KAAKqrB,QAAL,CAAcrkB,GAAG,CAAChH,WAAlB,CAApB;;AACA,UAAIA,WAAW,KAAKgH,GAAG,CAAChH,WAAxB,EAAqC;AACjC,eAAO,IAAIq0C,YAAJ,CAAiBrtC,GAAG,CAAC20B,IAArB,EAA2B30B,GAAG,CAAC1L,UAA/B,EAA2C0E,WAA3C,CAAP;AACH;;AACD,aAAOgH,GAAP;AACH;;;oCACeA,G,EAAK9N,O,EAAS;AAC1B,UAAMtB,MAAM,GAAG,KAAKyzB,QAAL,CAAcrkB,GAAG,CAACpP,MAAlB,CAAf;;AACA,UAAIA,MAAM,KAAKoP,GAAG,CAACpP,MAAnB,EAA2B;AACvB,eAAO,IAAI28C,UAAJ,CAAevtC,GAAG,CAAC20B,IAAnB,EAAyB30B,GAAG,CAAC1L,UAA7B,EAAyC0L,GAAG,CAACgC,IAA7C,EAAmDpR,MAAnD,CAAP;AACH;;AACD,aAAOoP,GAAP;AACH;;;+BACUA,G,EAAK9N,O,EAAS;AACrB,UAAM6E,IAAI,GAAGiJ,GAAG,CAACjJ,IAAJ,CAASiuB,KAAT,CAAe,IAAf,CAAb;;AACA,UAAIjuB,IAAI,KAAKiJ,GAAG,CAACjJ,IAAjB,EAAuB;AACnB,gBAAQiJ,GAAG,CAACnE,QAAZ;AACI,eAAK,GAAL;AACI,mBAAOmyC,KAAK,CAACuB,UAAN,CAAiBvvC,GAAG,CAAC20B,IAArB,EAA2B30B,GAAG,CAAC1L,UAA/B,EAA2CyC,IAA3C,CAAP;;AACJ,eAAK,GAAL;AACI,mBAAOi3C,KAAK,CAACwB,WAAN,CAAkBxvC,GAAG,CAAC20B,IAAtB,EAA4B30B,GAAG,CAAC1L,UAAhC,EAA4CyC,IAA5C,CAAP;;AACJ;AACI,kBAAM,IAAI3Q,KAAJ,kCAAoC4Z,GAAG,CAACnE,QAAxC,EAAN;AANR;AAQH;;AACD,aAAOmE,GAAP;AACH;;;gCACWA,G,EAAK9N,O,EAAS;AACtB,UAAM27C,IAAI,GAAG7tC,GAAG,CAAC6tC,IAAJ,CAAS7oB,KAAT,CAAe,IAAf,CAAb;AACA,UAAM8oB,KAAK,GAAG9tC,GAAG,CAAC8tC,KAAJ,CAAU9oB,KAAV,CAAgB,IAAhB,CAAd;;AACA,UAAI6oB,IAAI,KAAK7tC,GAAG,CAAC6tC,IAAb,IAAqBC,KAAK,KAAK9tC,GAAG,CAAC8tC,KAAvC,EAA8C;AAC1C,eAAO,IAAIH,MAAJ,CAAW3tC,GAAG,CAAC20B,IAAf,EAAqB30B,GAAG,CAAC1L,UAAzB,EAAqC0L,GAAG,CAAC4tC,SAAzC,EAAoDC,IAApD,EAA0DC,KAA1D,CAAP;AACH;;AACD,aAAO9tC,GAAP;AACH;;;mCACcA,G,EAAK9N,O,EAAS;AACzB,UAAM+W,UAAU,GAAGjJ,GAAG,CAACiJ,UAAJ,CAAe+b,KAAf,CAAqB,IAArB,CAAnB;;AACA,UAAI/b,UAAU,KAAKjJ,GAAG,CAACiJ,UAAvB,EAAmC;AAC/B,eAAO,IAAIolC,SAAJ,CAAcruC,GAAG,CAAC20B,IAAlB,EAAwB30B,GAAG,CAAC1L,UAA5B,EAAwC2U,UAAxC,CAAP;AACH;;AACD,aAAOjJ,GAAP;AACH;;;uCACkBA,G,EAAK9N,O,EAAS;AAC7B,UAAM+W,UAAU,GAAGjJ,GAAG,CAACiJ,UAAJ,CAAe+b,KAAf,CAAqB,IAArB,CAAnB;;AACA,UAAI/b,UAAU,KAAKjJ,GAAG,CAACiJ,UAAvB,EAAmC;AAC/B,eAAO,IAAIslC,aAAJ,CAAkBvuC,GAAG,CAAC20B,IAAtB,EAA4B30B,GAAG,CAAC1L,UAAhC,EAA4C2U,UAA5C,CAAP;AACH;;AACD,aAAOjJ,GAAP;AACH;;;qCACgBA,G,EAAK9N,O,EAAS;AAC3B,UAAM6I,SAAS,GAAGiF,GAAG,CAACjF,SAAJ,CAAciqB,KAAd,CAAoB,IAApB,CAAlB;AACA,UAAMonB,OAAO,GAAGpsC,GAAG,CAACosC,OAAJ,CAAYpnB,KAAZ,CAAkB,IAAlB,CAAhB;AACA,UAAMqnB,QAAQ,GAAGrsC,GAAG,CAACqsC,QAAJ,CAAarnB,KAAb,CAAmB,IAAnB,CAAjB;;AACA,UAAIjqB,SAAS,KAAKiF,GAAG,CAACjF,SAAlB,IAA+BqxC,OAAO,KAAKpsC,GAAG,CAACosC,OAA/C,IAA0DC,QAAQ,KAAKrsC,GAAG,CAACqsC,QAA/E,EAAyF;AACrF,eAAO,IAAIF,WAAJ,CAAgBnsC,GAAG,CAAC20B,IAApB,EAA0B30B,GAAG,CAAC1L,UAA9B,EAA0CyG,SAA1C,EAAqDqxC,OAArD,EAA8DC,QAA9D,CAAP;AACH;;AACD,aAAOrsC,GAAP;AACH;;;8BACSA,G,EAAK9N,O,EAAS;AACpB,UAAMqR,GAAG,GAAGvD,GAAG,CAACuD,GAAJ,CAAQyhB,KAAR,CAAc,IAAd,CAAZ;AACA,UAAMr1B,IAAI,GAAG,KAAK00B,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,CAAb;;AACA,UAAI4T,GAAG,KAAKvD,GAAG,CAACuD,GAAZ,IAAmB5T,IAAI,KAAKqQ,GAAG,CAACrQ,IAApC,EAA0C;AACtC,eAAO,IAAIs9C,WAAJ,CAAgBjtC,GAAG,CAAC20B,IAApB,EAA0B30B,GAAG,CAAC1L,UAA9B,EAA0CiP,GAA1C,EAA+CvD,GAAG,CAACnY,IAAnD,EAAyD8H,IAAzD,EAA+DqQ,GAAG,CAACsrC,QAAnE,CAAP;AACH;;AACD,aAAOtrC,GAAP;AACH;;;mCACcA,G,EAAK9N,O,EAAS;AACzB,UAAMnB,GAAG,GAAGiP,GAAG,CAACjP,GAAJ,CAAQi0B,KAAR,CAAc,IAAd,CAAZ;AACA,UAAMxoB,GAAG,GAAGwD,GAAG,CAACxD,GAAJ,CAAQwoB,KAAR,CAAc,IAAd,CAAZ;;AACA,UAAIj0B,GAAG,KAAKiP,GAAG,CAACjP,GAAZ,IAAmByL,GAAG,KAAKwD,GAAG,CAACxD,GAAnC,EAAwC;AACpC,eAAO,IAAIqwC,SAAJ,CAAc7sC,GAAG,CAAC20B,IAAlB,EAAwB30B,GAAG,CAAC1L,UAA5B,EAAwCvD,GAAxC,EAA6CyL,GAA7C,CAAP;AACH;;AACD,aAAOwD,GAAP;AACH;;;oCACeA,G,EAAK9N,O,EAAS;AAC1B,UAAMnB,GAAG,GAAGiP,GAAG,CAACjP,GAAJ,CAAQi0B,KAAR,CAAc,IAAd,CAAZ;AACA,UAAMxoB,GAAG,GAAGwD,GAAG,CAACxD,GAAJ,CAAQwoB,KAAR,CAAc,IAAd,CAAZ;AACA,UAAM17B,KAAK,GAAG0W,GAAG,CAAC1W,KAAJ,CAAU07B,KAAV,CAAgB,IAAhB,CAAd;;AACA,UAAIj0B,GAAG,KAAKiP,GAAG,CAACjP,GAAZ,IAAmByL,GAAG,KAAKwD,GAAG,CAACxD,GAA/B,IAAsClT,KAAK,KAAK0W,GAAG,CAAC1W,KAAxD,EAA+D;AAC3D,eAAO,IAAIyjD,UAAJ,CAAe/sC,GAAG,CAAC20B,IAAnB,EAAyB30B,GAAG,CAAC1L,UAA7B,EAAyCvD,GAAzC,EAA8CyL,GAA9C,EAAmDlT,KAAnD,CAAP;AACH;;AACD,aAAO0W,GAAP;AACH;;;6BACQqvC,I,EAAM;AACX,UAAM9lD,GAAG,GAAG,EAAZ;AACA,UAAImmD,QAAQ,GAAG,KAAf;;AACA,WAAK,IAAI1mD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqmD,IAAI,CAAC1nD,MAAzB,EAAiC,EAAEqB,CAAnC,EAAsC;AAClC,YAAMggB,QAAQ,GAAGqmC,IAAI,CAACrmD,CAAD,CAArB;AACA,YAAMM,KAAK,GAAG0f,QAAQ,CAACgc,KAAT,CAAe,IAAf,CAAd;AACAz7B,WAAG,CAACP,CAAD,CAAH,GAASM,KAAT;AACAomD,gBAAQ,GAAGA,QAAQ,IAAIpmD,KAAK,KAAK0f,QAAjC;AACH;;AACD,aAAO0mC,QAAQ,GAAGnmD,GAAH,GAAS8lD,IAAxB;AACH;;;+BACUrvC,G,EAAK9N,O,EAAS;AACrB,UAAM8G,WAAW,GAAG,KAAKqrB,QAAL,CAAcrkB,GAAG,CAAChH,WAAlB,CAApB;;AACA,UAAIA,WAAW,KAAKgH,GAAG,CAAChH,WAAxB,EAAqC;AACjC,eAAO,IAAIizC,KAAJ,CAAUjsC,GAAG,CAAC20B,IAAd,EAAoB30B,GAAG,CAAC1L,UAAxB,EAAoC0E,WAApC,CAAP;AACH;;AACD,aAAOgH,GAAP;AACH;;;+BACUA,G,EAAK9N,O,EAAS;AACrB,aAAO8N,GAAP;AACH;;;;KAEL;;;IACM2vC,c,GACF,wBAAY9nD,IAAZ,EAAkBohB,UAAlB,EAA8B5U,IAA9B,EACA;AACA;AACAC,UAHA,EAGY6tB,OAHZ,EAGqBL,SAHrB,EAGgC;AAAA;;AAC5B,OAAKj6B,IAAL,GAAYA,IAAZ;AACA,OAAKohB,UAAL,GAAkBA,UAAlB;AACA,OAAK5U,IAAL,GAAYA,IAAZ;AACA,OAAKC,UAAL,GAAkBA,UAAlB;AACA,OAAK6tB,OAAL,GAAeA,OAAf;AACA,OAAKL,SAAL,GAAiBA,SAAjB;AACA,OAAK8tB,SAAL,GAAiB,KAAKv7C,IAAL,KAAcw7C,kBAAkB,CAACC,YAAlD;AACA,OAAKC,WAAL,GAAmB,KAAK17C,IAAL,KAAcw7C,kBAAkB,CAACG,SAApD;AACH,C;;AAEL,IAAIH,kBAAJ;;AACA,CAAC,UAAUA,kBAAV,EAA8B;AAC3BA,oBAAkB,CAACA,kBAAkB,CAAC,SAAD,CAAlB,GAAgC,CAAjC,CAAlB,GAAwD,SAAxD;AACAA,oBAAkB,CAACA,kBAAkB,CAAC,cAAD,CAAlB,GAAqC,CAAtC,CAAlB,GAA6D,cAA7D;AACAA,oBAAkB,CAACA,kBAAkB,CAAC,WAAD,CAAlB,GAAkC,CAAnC,CAAlB,GAA0D,WAA1D;AACH,CAJD,EAIGA,kBAAkB,KAAKA,kBAAkB,GAAG,EAA1B,CAJrB;;IAKMI,W,GACF;AACA;AACA,qBAAYpoD,IAAZ,EAAkB86B,aAAlB,EAAiCtuB,IAAjC,EAAuCiuB,OAAvC,EAAgDhuB,UAAhD,EAA4DkuB,WAA5D,EAAyE;AAAA;;AACrE,OAAK36B,IAAL,GAAYA,IAAZ;AACA,OAAK86B,aAAL,GAAqBA,aAArB;AACA,OAAKtuB,IAAL,GAAYA,IAAZ;AACA,OAAKiuB,OAAL,GAAeA,OAAf;AACA,OAAKhuB,UAAL,GAAkBA,UAAlB;AACA,OAAKkuB,WAAL,GAAmBA,WAAnB;AACH,C;AAEL;AACA;AACA;;;IACM0tB,c,GACF,wBAAYroD,IAAZ,EAAkByB,KAAlB,EAAyBgL,UAAzB,EAAqC6tB,OAArC,EAA8CL,SAA9C,EAAyD;AAAA;;AACrD,OAAKj6B,IAAL,GAAYA,IAAZ;AACA,OAAKyB,KAAL,GAAaA,KAAb;AACA,OAAKgL,UAAL,GAAkBA,UAAlB;AACA,OAAK6tB,OAAL,GAAeA,OAAf;AACA,OAAKL,SAAL,GAAiBA,SAAjB;AACH,C;;IAECquB,oB,GACF,8BAAYtoD,IAAZ,EAAkBwM,IAAlB,EAAwB4tB,eAAxB,EAAyC34B,KAAzC,EAAgD44B,IAAhD,EAAsD5tB,UAAtD,EAAkE6tB,OAAlE,EAA2EL,SAA3E,EAAsF;AAAA;;AAClF,OAAKj6B,IAAL,GAAYA,IAAZ;AACA,OAAKwM,IAAL,GAAYA,IAAZ;AACA,OAAK4tB,eAAL,GAAuBA,eAAvB;AACA,OAAK34B,KAAL,GAAaA,KAAb;AACA,OAAK44B,IAAL,GAAYA,IAAZ;AACA,OAAK5tB,UAAL,GAAkBA,UAAlB;AACA,OAAK6tB,OAAL,GAAeA,OAAf;AACA,OAAKL,SAAL,GAAiBA,SAAjB;AACH,C;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMsuB,gB;;;;AAENA,gBAAgB,CAAC1tB,KAAjB,GAAyBtgB,QAAQ,CAAC,QAAD,CAAjC;;IACMiuC,0B,GACF;AACA;AACJ;AACA;AACI1vC,KAJA;AAKA;AACJ;AACA;AACI2vC,YARA,EAQc;AAAA;;AACV,OAAK3vC,KAAL,GAAaA,KAAb;AACA,OAAK2vC,YAAL,GAAoBA,YAApB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACQ;;AACA,OAAKC,YAAL,GAAoB5vC,KAAK,CAACtU,GAAN,CAAU,UAACq1C,SAAD,EAAe;AACzC,QAAIA,SAAS,YAAYpqC,cAArB,IAAuCoqC,SAAS,CAAC75C,IAAV,IAAkByoD,YAAY,CAACzoD,IAAtE,IACA65C,SAAS,CAACp4C,KAAV,YAA2B4L,kBAD/B,EACmD;AAC/C,UAAM6G,GAAG,GAAG2lC,SAAS,CAACp4C,KAAV,CAAgByS,GAA5B;AACA,aAAO,IAAIsC,eAAJ,CAAoBtC,GAAG,CAACzS,KAAxB,CAAP;AACH;;AACD,WAAOo4C,SAAP;AACH,GAPmB,CAApB;AAQH,C;AAEL;AACA;AACA;AACA;;;AACA,SAAS8O,oBAAT,CAA8BC,aAA9B,EAA6CC,gBAA7C,EAA+DC,MAA/D,EAAuEC,SAAvE,EAAkFC,qBAAlF,EAAyGC,cAAzG,EAAyHC,wBAAzH,EAAmJC,OAAnJ,EAA4J;AACxJ,MAAI,CAACP,aAAL,EAAoB;AAChBA,iBAAa,GAAG,IAAIQ,oBAAJ,CAAyBD,OAAzB,CAAhB;AACH;;AACD,MAAME,qBAAqB,GAAGC,8BAA8B,CAAC;AACzDC,+BAA2B,EAAE,qCAACC,QAAD,EAAc;AACvC;AACA,aAAO,UAAC1hD,IAAD;AAAA,eAAUgT,UAAU,CAAChT,IAAD,CAApB;AAAA,OAAP;AACH,KAJwD;AAKzD2hD,6BAAyB,EAAE,mCAACtvC,IAAD,EAAU;AACjC;AACA,aAAO,UAACpR,MAAD,EAAY;AACf,YAAMwL,OAAO,GAAG4F,IAAI,CAAC3V,GAAL,CAAS,UAAC86B,CAAD,EAAIn+B,CAAJ;AAAA,iBAAW;AAChCwT,eAAG,EAAE2qB,CAAC,CAAC3qB,GADyB;AAEhClT,iBAAK,EAAEsH,MAAM,CAAC5H,CAAD,CAFmB;AAGhCyT,kBAAM,EAAE0qB,CAAC,CAAC1qB;AAHsB,WAAX;AAAA,SAAT,CAAhB;AAKA,eAAOmG,UAAU,CAACxG,OAAD,CAAjB;AACH,OAPD;AAQH,KAfwD;AAgBzDm1C,uBAAmB,EAAE,6BAAC1pD,IAAD,EAAU;AAC3B,YAAM,IAAIzB,KAAJ,0EAA4EyB,IAA5E,EAAN;AACH;AAlBwD,GAAD,EAmBzD8oD,MAnByD,CAA5D;AAoBA,MAAM1+C,OAAO,GAAG,IAAIu/C,eAAJ,CAAoBf,aAApB,EAAmCC,gBAAnC,EAAqDE,SAArD,EAAgEC,qBAAhE,EAAuFC,cAAvF,EAAuGC,wBAAvG,CAAhB;AACA,MAAMU,WAAW,GAAG,EAApB;AACAC,mBAAiB,CAACR,qBAAqB,CAAClsB,KAAtB,CAA4B/yB,OAA5B,EAAqC0/C,KAAK,CAAC7zC,SAA3C,CAAD,EAAwD2zC,WAAxD,CAAjB;AACAG,uBAAqB,CAAC3/C,OAAO,CAAC4/C,cAAT,EAAyBjB,SAAzB,EAAoCa,WAApC,CAArB;;AACA,MAAIx/C,OAAO,CAAC6/C,oBAAZ,EAAkC;AAC9BrB,iBAAa,CAACsB,yBAAd;AACH;;AACD,MAAM7nD,SAAS,GAAGunD,WAAW,CAAC9pD,MAAZ,GAAqB,CAAvC;AACA,MAAIqqD,iBAAiB,GAAG,IAAxB;;AACA,MAAI9nD,SAAS,IAAI,CAAjB,EAAoB;AAChB,QAAM+nD,aAAa,GAAGR,WAAW,CAACvnD,SAAD,CAAjC;AACA,QAAMgoD,UAAU,GAAGC,yBAAyB,CAACF,aAAD,CAA5C;;AACA,QAAIC,UAAJ,EAAgB;AACZ;AACA;AACAF,uBAAiB,GAAGI,uBAAuB,CAACxB,SAAD,CAA3C;AACAa,iBAAW,CAACvnD,SAAD,CAAX,GACI8nD,iBAAiB,CAAC9lD,GAAlB,CAAsBgmD,UAAU,CAACG,IAAX,CAAgBx/C,YAAhB,EAA8By/C,YAA9B,CAA2CnvC,OAAO,CAAC,KAAD,CAAlD,CAAtB,EACK5L,UADL,CACgB,IADhB,EACsB,CAACC,YAAY,CAACC,KAAd,CADtB,CADJ;AAGH;AACJ;;AACD,SAAO,IAAI44C,0BAAJ,CAA+BoB,WAA/B,EAA4CO,iBAA5C,CAAP;AACH;;AACD,SAASb,8BAAT,CAAwCoB,gBAAxC,EAA0DvyC,GAA1D,EAA+D;AAC3D,SAAOwyC,eAAe,CAACD,gBAAD,EAAmBvyC,GAAnB,CAAtB;AACH;;IACKyyC,4B,GACF,sCAAY9xC,KAAZ,EAAmB+xC,WAAnB,EAAgC;AAAA;;AAC5B,OAAK/xC,KAAL,GAAaA,KAAb;AACA,OAAK+xC,WAAL,GAAmBA,WAAnB;AACH,C;;AAEL,IAAIC,WAAJ;;AACA,CAAC,UAAUA,WAAV,EAAuB;AACpB;AACAA,aAAW,CAACA,WAAW,CAAC,SAAD,CAAX,GAAyB,CAA1B,CAAX,GAA0C,SAA1C,CAFoB,CAGpB;AACA;;AACAA,aAAW,CAACA,WAAW,CAAC,WAAD,CAAX,GAA2B,CAA5B,CAAX,GAA4C,WAA5C,CALoB,CAMpB;AACA;AACA;;AACAA,aAAW,CAACA,WAAW,CAAC,YAAD,CAAX,GAA4B,CAA7B,CAAX,GAA6C,YAA7C;AACH,CAVD,EAUGA,WAAW,KAAKA,WAAW,GAAG,EAAnB,CAVd;AAWA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAgCnC,aAAhC,EAA+CC,gBAA/C,EAAiEmC,yBAAjE,EAA4FjC,SAA5F,EAAuGkC,IAAvG,EAA6GjC,qBAA7G,EAAoI;AAChI,MAAI,CAACJ,aAAL,EAAoB;AAChBA,iBAAa,GAAG,IAAIQ,oBAAJ,EAAhB;AACH;;AACD,MAAMh/C,OAAO,GAAG,IAAIu/C,eAAJ,CAAoBf,aAApB,EAAmCC,gBAAnC,EAAqDE,SAArD,EAAgEC,qBAAhE,CAAhB;AACA,MAAMkC,UAAU,GAAGF,yBAAyB,CAAC7tB,KAA1B,CAAgC/yB,OAAhC,EAAyC0/C,KAAK,CAACv9C,UAA/C,CAAnB;AACA,MAAMuM,KAAK,GAAGqyC,wBAAwB,CAAC/gD,OAAD,EAAU2+C,SAAV,CAAtC;;AACA,MAAI3+C,OAAO,CAAC6/C,oBAAZ,EAAkC;AAC9BrB,iBAAa,CAACsB,yBAAd;AACH;;AACD,MAAI9/C,OAAO,CAAC4/C,cAAR,KAA2B,CAA3B,IAAgCiB,IAAI,IAAIH,WAAW,CAACM,SAAxD,EAAmE;AAC/D,WAAO,IAAIR,4BAAJ,CAAiC,EAAjC,EAAqCM,UAArC,CAAP;AACH,GAFD,MAGK,IAAID,IAAI,KAAKH,WAAW,CAACv+C,UAAzB,EAAqC;AACtC,WAAO,IAAIq+C,4BAAJ,CAAiC9xC,KAAjC,EAAwCoyC,UAAxC,CAAP;AACH;;AACD,MAAML,WAAW,GAAGQ,mBAAmB,CAACtC,SAAD,CAAvC;AACAjwC,OAAK,CAACvX,IAAN,CAAWspD,WAAW,CAACxmD,GAAZ,CAAgB6mD,UAAhB,EAA4Bx7C,UAA5B,CAAuC1E,YAAvC,EAAqD,CAAC2E,YAAY,CAACC,KAAd,CAArD,CAAX;AACA,SAAO,IAAIg7C,4BAAJ,CAAiC9xC,KAAjC,EAAwC+xC,WAAxC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,sBAAT,CAAgC1C,aAAhC,EAA+C2C,yBAA/C,EAA0EC,gCAA1E,EAA4GzC,SAA5G,EAAuH;AACnH,MAAM3+C,OAAO,GAAG,IAAIu/C,eAAJ,CAAoBf,aAApB,EAAmC2C,yBAAnC,EAA8DxC,SAA9D,EAAyEhjD,SAAzE,CAAhB;AACA,MAAMmlD,UAAU,GAAGM,gCAAgC,CAACruB,KAAjC,CAAuC/yB,OAAvC,EAAgD0/C,KAAK,CAACv9C,UAAtD,CAAnB;;AACA,MAAInC,OAAO,CAAC6/C,oBAAZ,EAAkC;AAC9BrB,iBAAa,CAACsB,yBAAd;AACH;;AACD,MAAMpxC,KAAK,GAAGqyC,wBAAwB,CAAC/gD,OAAD,EAAU2+C,SAAV,CAAtC,CANmH,CAOnH;;AACA,MAAIjhD,IAAI,GAAGojD,UAAU,CAACpjD,IAAX,CAAgBtJ,KAAhB,CAAsB,CAAtB,CAAX;;AACA,MAAIgtD,gCAAgC,YAAY5F,aAAhD,EAA+D;AAC3D;AACA;AACA,QAAMrc,OAAO,GAAGiiB,gCAAgC,CAACjiB,OAAjD;;AACA,QAAIzhC,IAAI,CAAChI,MAAL,KAAgB,CAAhB,IAAqBypC,OAAO,CAAC,CAAD,CAAP,KAAe,EAApC,IAA0CA,OAAO,CAAC,CAAD,CAAP,KAAe,EAA7D,EAAiE;AAC7D;AACAzhC,UAAI,GAAG,CAACA,IAAI,CAAC,CAAD,CAAL,CAAP;AACH,KAHD,MAIK,IAAIA,IAAI,CAAChI,MAAL,IAAe,EAAnB,EAAuB;AACxB;AACA;AACAgI,UAAI,GAAG,CAACgT,UAAU,CAAChT,IAAD,CAAX,CAAP;AACH;AACJ;;AACD,SAAO;AAAEgR,SAAK,EAALA,KAAF;AAAShR,QAAI,EAAJA;AAAT,GAAP;AACH;;AACD,SAASqjD,wBAAT,CAAkC/gD,OAAlC,EAA2C2+C,SAA3C,EAAsD;AAClD,MAAMjwC,KAAK,GAAG,EAAd;;AACA,OAAK,IAAI3X,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGiJ,OAAO,CAAC4/C,cAA5B,EAA4C7oD,CAAC,EAA7C,EAAiD;AAC7C2X,SAAK,CAACvX,IAAN,CAAWkqD,oBAAoB,CAAC1C,SAAD,EAAY5nD,CAAZ,CAA/B;AACH;;AACD,SAAO2X,KAAP;AACH;;AACD,SAAS6xC,eAAT,CAAyBD,gBAAzB,EAA2CvyC,GAA3C,EAAgD;AAC5C,MAAM/N,OAAO,GAAG,IAAIshD,oBAAJ,CAAyBhB,gBAAzB,CAAhB;AACA,SAAOvyC,GAAG,CAACglB,KAAJ,CAAU/yB,OAAV,CAAP;AACH;;AACD,SAASuhD,aAAT,CAAuB5C,SAAvB,EAAkC6C,eAAlC,EAAmD;AAC/C,uBAAc7C,SAAd,cAA2B6C,eAA3B;AACH;;AACD,SAASH,oBAAT,CAA8B1C,SAA9B,EAAyC6C,eAAzC,EAA0D;AACtD,SAAO,IAAIn8C,cAAJ,CAAmBk8C,aAAa,CAAC5C,SAAD,EAAY6C,eAAZ,CAAhC,EAA8Dl2C,SAA9D,CAAP;AACH;;AACD,SAASq0C,qBAAT,CAA+BC,cAA/B,EAA+CjB,SAA/C,EAA0Dn1C,UAA1D,EAAsE;AAClE,OAAK,IAAIzS,CAAC,GAAG6oD,cAAc,GAAG,CAA9B,EAAiC7oD,CAAC,IAAI,CAAtC,EAAyCA,CAAC,EAA1C,EAA8C;AAC1CyS,cAAU,CAACi4C,OAAX,CAAmBJ,oBAAoB,CAAC1C,SAAD,EAAY5nD,CAAZ,CAAvC;AACH;AACJ;;AACD,IAAI2oD,KAAJ;;AACA,CAAC,UAAUA,KAAV,EAAiB;AACdA,OAAK,CAACA,KAAK,CAAC,WAAD,CAAL,GAAqB,CAAtB,CAAL,GAAgC,WAAhC;AACAA,OAAK,CAACA,KAAK,CAAC,YAAD,CAAL,GAAsB,CAAvB,CAAL,GAAiC,YAAjC;AACH,CAHD,EAGGA,KAAK,KAAKA,KAAK,GAAG,EAAb,CAHR;;AAIA,SAASgC,mBAAT,CAA6BC,IAA7B,EAAmC5zC,GAAnC,EAAwC;AACpC,MAAI4zC,IAAI,KAAKjC,KAAK,CAAC7zC,SAAnB,EAA8B;AAC1B,UAAM,IAAI1X,KAAJ,yCAA2C4Z,GAA3C,EAAN;AACH;AACJ;;AACD,SAAS6zC,oBAAT,CAA8BD,IAA9B,EAAoC5zC,GAApC,EAAyC;AACrC,MAAI4zC,IAAI,KAAKjC,KAAK,CAACv9C,UAAnB,EAA+B;AAC3B,UAAM,IAAIhO,KAAJ,2CAA6C4Z,GAA7C,EAAN;AACH;AACJ;;AACD,SAAS8zC,0BAAT,CAAoCF,IAApC,EAA0C78C,IAA1C,EAAgD;AAC5C,MAAI68C,IAAI,KAAKjC,KAAK,CAAC7zC,SAAnB,EAA8B;AAC1B,WAAO/G,IAAI,CAACo/B,MAAL,EAAP;AACH,GAFD,MAGK;AACD,WAAOp/B,IAAP;AACH;AACJ;;IACKw8C,oB;;;;;AACF,gCAAYQ,iBAAZ,EAA+B;AAAA;;AAAA;;AAC3B;AACA,aAAKA,iBAAL,GAAyBA,iBAAzB;AAF2B;AAG9B;;;;8BACS/zC,G,EAAK9N,O,EAAS;AAAA;;AACpB,UAAMvC,IAAI,GAAG,CAACqQ,GAAG,CAACuD,GAAL,oJAAavD,GAAG,CAACrQ,IAAjB,GAAuBtD,GAAvB,CAA2B,UAAA2T,GAAG;AAAA,eAAIA,GAAG,CAACglB,KAAJ,CAAU,QAAV,EAAgB9yB,OAAhB,CAAJ;AAAA,OAA9B,CAAb;AACA,aAAO,IAAI8hD,mBAAJ,CAAwBh0C,GAAG,CAAC20B,IAA5B,EAAkC30B,GAAG,CAAC1L,UAAtC,EAAkD3E,IAAlD,EAAwD,KAAKokD,iBAAL,CAAuBxC,mBAAvB,CAA2CvxC,GAAG,CAACnY,IAA/C,EAAqD8H,IAAI,CAAChI,MAA1D,CAAxD,CAAP;AACH;;;sCACiBqY,G,EAAK9N,O,EAAS;AAAA;;AAC5B,UAAMvC,IAAI,GAAGqQ,GAAG,CAAChH,WAAJ,CAAgB3M,GAAhB,CAAoB,UAAA2T,GAAG;AAAA,eAAIA,GAAG,CAACglB,KAAJ,CAAU,QAAV,EAAgB9yB,OAAhB,CAAJ;AAAA,OAAvB,CAAb;AACA,aAAO,IAAI8hD,mBAAJ,CAAwBh0C,GAAG,CAAC20B,IAA5B,EAAkC30B,GAAG,CAAC1L,UAAtC,EAAkD3E,IAAlD,EAAwD,KAAKokD,iBAAL,CAAuB3C,2BAAvB,CAAmDpxC,GAAG,CAAChH,WAAJ,CAAgBrR,MAAnE,CAAxD,CAAP;AACH;;;oCACeqY,G,EAAK9N,O,EAAS;AAAA;;AAC1B,UAAMvC,IAAI,GAAGqQ,GAAG,CAACpP,MAAJ,CAAWvE,GAAX,CAAe,UAAA2T,GAAG;AAAA,eAAIA,GAAG,CAACglB,KAAJ,CAAU,QAAV,EAAgB9yB,OAAhB,CAAJ;AAAA,OAAlB,CAAb;AACA,aAAO,IAAI8hD,mBAAJ,CAAwBh0C,GAAG,CAAC20B,IAA5B,EAAkC30B,GAAG,CAAC1L,UAAtC,EAAkD3E,IAAlD,EAAwD,KAAKokD,iBAAL,CAAuBzC,yBAAvB,CAAiDtxC,GAAG,CAACgC,IAArD,CAAxD,CAAP;AACH;;;;EAhB8BstC,gB;;IAkB7BkC,e;AACF,2BAAYyC,cAAZ,EAA4BC,iBAA5B,EAA+CtD,SAA/C,EAA0DC,qBAA1D,EAAiFC,cAAjF,EAAiGC,wBAAjG,EAA2H;AAAA;;AACvH,SAAKkD,cAAL,GAAsBA,cAAtB;AACA,SAAKC,iBAAL,GAAyBA,iBAAzB;AACA,SAAKtD,SAAL,GAAiBA,SAAjB;AACA,SAAKC,qBAAL,GAA6BA,qBAA7B;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKC,wBAAL,GAAgCA,wBAAhC;AACA,SAAKoD,QAAL,GAAgB,IAAIvpD,GAAJ,EAAhB;AACA,SAAKwpD,UAAL,GAAkB,IAAIxpD,GAAJ,EAAlB;AACA,SAAKypD,iBAAL,GAAyB,CAAzB;AACA,SAAKxC,cAAL,GAAsB,CAAtB;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACH;;;;+BACU9xC,G,EAAK4zC,I,EAAM;AAClB,UAAIU,EAAJ;;AACA,cAAQt0C,GAAG,CAACnE,QAAZ;AACI,aAAK,GAAL;AACIy4C,YAAE,GAAG1gD,aAAa,CAAC4B,IAAnB;AACA;;AACJ,aAAK,GAAL;AACI8+C,YAAE,GAAG1gD,aAAa,CAAC2B,KAAnB;AACA;;AACJ;AACI,gBAAM,IAAInP,KAAJ,gCAAkC4Z,GAAG,CAACnE,QAAtC,EAAN;AARR;;AAUA,aAAOi4C,0BAA0B,CAACF,IAAD,EAAO,IAAIh4C,iBAAJ,CAAsB04C,EAAtB,EAA0B,KAAKC,MAAL,CAAYv0C,GAAG,CAACjJ,IAAhB,EAAsB46C,KAAK,CAACv9C,UAA5B,CAA1B,EAAmExG,SAAnE,EAA8E,KAAK4mD,iBAAL,CAAuBx0C,GAAG,CAAC20B,IAA3B,CAA9E,CAAP,CAAjC;AACH;;;gCACW30B,G,EAAK4zC,I,EAAM;AACnB,UAAIU,EAAJ;;AACA,cAAQt0C,GAAG,CAAC4tC,SAAZ;AACI,aAAK,GAAL;AACI0G,YAAE,GAAGzgD,cAAc,CAAC2B,IAApB;AACA;;AACJ,aAAK,GAAL;AACI8+C,YAAE,GAAGzgD,cAAc,CAAC0B,KAApB;AACA;;AACJ,aAAK,GAAL;AACI++C,YAAE,GAAGzgD,cAAc,CAAC6B,QAApB;AACA;;AACJ,aAAK,GAAL;AACI4+C,YAAE,GAAGzgD,cAAc,CAAC4B,MAApB;AACA;;AACJ,aAAK,GAAL;AACI6+C,YAAE,GAAGzgD,cAAc,CAAC8B,MAApB;AACA;;AACJ,aAAK,IAAL;AACI2+C,YAAE,GAAGzgD,cAAc,CAAC+B,GAApB;AACA;;AACJ,aAAK,IAAL;AACI0+C,YAAE,GAAGzgD,cAAc,CAACkC,EAApB;AACA;;AACJ,aAAK,IAAL;AACIu+C,YAAE,GAAGzgD,cAAc,CAACsB,MAApB;AACA;;AACJ,aAAK,IAAL;AACIm/C,YAAE,GAAGzgD,cAAc,CAACuB,SAApB;AACA;;AACJ,aAAK,KAAL;AACIk/C,YAAE,GAAGzgD,cAAc,CAACwB,SAApB;AACA;;AACJ,aAAK,KAAL;AACIi/C,YAAE,GAAGzgD,cAAc,CAACyB,YAApB;AACA;;AACJ,aAAK,GAAL;AACIg/C,YAAE,GAAGzgD,cAAc,CAACmC,KAApB;AACA;;AACJ,aAAK,GAAL;AACIs+C,YAAE,GAAGzgD,cAAc,CAACqC,MAApB;AACA;;AACJ,aAAK,IAAL;AACIo+C,YAAE,GAAGzgD,cAAc,CAACoC,WAApB;AACA;;AACJ,aAAK,IAAL;AACIq+C,YAAE,GAAGzgD,cAAc,CAACsC,YAApB;AACA;;AACJ;AACI,gBAAM,IAAI/P,KAAJ,iCAAmC4Z,GAAG,CAAC4tC,SAAvC,EAAN;AA/CR;;AAiDA,aAAOkG,0BAA0B,CAACF,IAAD,EAAO,IAAI1+C,kBAAJ,CAAuBo/C,EAAvB,EAA2B,KAAKC,MAAL,CAAYv0C,GAAG,CAAC6tC,IAAhB,EAAsB8D,KAAK,CAACv9C,UAA5B,CAA3B,EAAoE,KAAKmgD,MAAL,CAAYv0C,GAAG,CAAC8tC,KAAhB,EAAuB6D,KAAK,CAACv9C,UAA7B,CAApE,EAA8GxG,SAA9G,EAAyH,KAAK4mD,iBAAL,CAAuBx0C,GAAG,CAAC20B,IAA3B,CAAzH,CAAP,CAAjC;AACH;;;+BACU30B,G,EAAK4zC,I,EAAM;AAClBD,yBAAmB,CAACC,IAAD,EAAO5zC,GAAP,CAAnB;AACA,aAAO,KAAKqkB,QAAL,CAAcrkB,GAAG,CAAChH,WAAlB,EAA+B46C,IAA/B,CAAP;AACH;;;qCACgB5zC,G,EAAK4zC,I,EAAM;AACxB,UAAMtqD,KAAK,GAAG,KAAKirD,MAAL,CAAYv0C,GAAG,CAACjF,SAAhB,EAA2B42C,KAAK,CAACv9C,UAAjC,CAAd;;AACA,aAAO0/C,0BAA0B,CAACF,IAAD,EAAOtqD,KAAK,CAACmrD,WAAN,CAAkB,KAAKF,MAAL,CAAYv0C,GAAG,CAACosC,OAAhB,EAAyBuF,KAAK,CAACv9C,UAA/B,CAAlB,EAA8D,KAAKmgD,MAAL,CAAYv0C,GAAG,CAACqsC,QAAhB,EAA0BsF,KAAK,CAACv9C,UAAhC,CAA9D,EAA2G,KAAKogD,iBAAL,CAAuBx0C,GAAG,CAAC20B,IAA3B,CAA3G,CAAP,CAAjC;AACH;;;8BACS30B,G,EAAK4zC,I,EAAM;AACjB,YAAM,IAAIxtD,KAAJ,iFAAmF4Z,GAAG,CAACnY,IAAvF,EAAN;AACH;;;sCACiBmY,G,EAAK4zC,I,EAAM;AACzB,UAAMc,aAAa,GAAG,KAAKrwB,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,EAAwBgiD,KAAK,CAACv9C,UAA9B,CAAtB;AACA,UAAIugD,QAAJ;;AACA,UAAI30C,GAAG,YAAYg0C,mBAAnB,EAAwC;AACpCW,gBAAQ,GAAG30C,GAAG,CAACkgC,SAAJ,CAAcwU,aAAd,CAAX;AACH,OAFD,MAGK;AACDC,gBAAQ,GAAG,KAAKJ,MAAL,CAAYv0C,GAAG,CAACuiB,MAAhB,EAAwBovB,KAAK,CAACv9C,UAA9B,EACNgW,MADM,CACCsqC,aADD,EACgB,KAAKF,iBAAL,CAAuBx0C,GAAG,CAAC20B,IAA3B,CADhB,CAAX;AAEH;;AACD,aAAOmf,0BAA0B,CAACF,IAAD,EAAOe,QAAP,CAAjC;AACH;;;0CACqB30C,G,EAAK4zC,I,EAAM;AAC7BC,0BAAoB,CAACD,IAAD,EAAO5zC,GAAP,CAApB;AACA,WAAK8xC,oBAAL,GAA4B,IAA5B;AACA,aAAO,KAAKoC,iBAAZ;AACH;;;sCACiBl0C,G,EAAK4zC,I,EAAM;AACzB,aAAO,KAAK/H,qBAAL,CAA2B7rC,GAA3B,EAAgC4zC,IAAhC,CAAP;AACH;;;uCACkB5zC,G,EAAK4zC,I,EAAM;AAC1BC,0BAAoB,CAACD,IAAD,EAAO5zC,GAAP,CAApB;AACA,UAAMrQ,IAAI,GAAG,CAACwT,OAAO,CAACnD,GAAG,CAAChH,WAAJ,CAAgBrR,MAAjB,CAAR,CAAb;;AACA,WAAK,IAAIqB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgX,GAAG,CAACoxB,OAAJ,CAAYzpC,MAAZ,GAAqB,CAAzC,EAA4CqB,CAAC,EAA7C,EAAiD;AAC7C2G,YAAI,CAACvG,IAAL,CAAU+Z,OAAO,CAACnD,GAAG,CAACoxB,OAAJ,CAAYpoC,CAAZ,CAAD,CAAjB;AACA2G,YAAI,CAACvG,IAAL,CAAU,KAAKmrD,MAAL,CAAYv0C,GAAG,CAAChH,WAAJ,CAAgBhQ,CAAhB,CAAZ,EAAgC2oD,KAAK,CAACv9C,UAAtC,CAAV;AACH;;AACDzE,UAAI,CAACvG,IAAL,CAAU+Z,OAAO,CAACnD,GAAG,CAACoxB,OAAJ,CAAYpxB,GAAG,CAACoxB,OAAJ,CAAYzpC,MAAZ,GAAqB,CAAjC,CAAD,CAAjB;;AACA,UAAI,KAAKkpD,qBAAT,EAAgC;AAC5B,eAAO,KAAKA,qBAAL,CAA2BlhD,IAA3B,CAAP;AACH;;AACD,aAAOqQ,GAAG,CAAChH,WAAJ,CAAgBrR,MAAhB,IAA0B,CAA1B,GACH0a,UAAU,CAAC0J,WAAW,CAAC0B,iBAAb,CAAV,CAA0CrD,MAA1C,CAAiDza,IAAjD,CADG,GAEH0S,UAAU,CAAC0J,WAAW,CAAC2B,WAAb,CAAV,CAAoCtD,MAApC,CAA2C,CACvCza,IAAI,CAAC,CAAD,CADmC,EAC9BgT,UAAU,CAAChT,IAAI,CAACtJ,KAAL,CAAW,CAAX,CAAD,EAAgBuH,SAAhB,EAA2B,KAAK4mD,iBAAL,CAAuBx0C,GAAG,CAAC20B,IAA3B,CAA3B,CADoB,CAA3C,CAFJ;AAKH;;;mCACc30B,G,EAAK4zC,I,EAAM;AACtB,UAAMgB,YAAY,GAAG,KAAKC,gBAAL,CAAsB70C,GAAtB,CAArB;;AACA,UAAI40C,YAAJ,EAAkB;AACd,eAAO,KAAKE,iBAAL,CAAuB90C,GAAvB,EAA4B40C,YAA5B,EAA0ChB,IAA1C,CAAP;AACH,OAFD,MAGK;AACD,eAAOE,0BAA0B,CAACF,IAAD,EAAO,KAAKW,MAAL,CAAYv0C,GAAG,CAACjP,GAAhB,EAAqB4gD,KAAK,CAACv9C,UAA3B,EAAuCoI,GAAvC,CAA2C,KAAK+3C,MAAL,CAAYv0C,GAAG,CAACxD,GAAhB,EAAqBm1C,KAAK,CAACv9C,UAA3B,CAA3C,CAAP,CAAjC;AACH;AACJ;;;oCACe4L,G,EAAK4zC,I,EAAM;AACvB,UAAM7iD,GAAG,GAAG,KAAKwjD,MAAL,CAAYv0C,GAAG,CAACjP,GAAhB,EAAqB4gD,KAAK,CAACv9C,UAA3B,CAAZ;;AACA,UAAMoI,GAAG,GAAG,KAAK+3C,MAAL,CAAYv0C,GAAG,CAACxD,GAAhB,EAAqBm1C,KAAK,CAACv9C,UAA3B,CAAZ;;AACA,UAAM9K,KAAK,GAAG,KAAKirD,MAAL,CAAYv0C,GAAG,CAAC1W,KAAhB,EAAuBqoD,KAAK,CAACv9C,UAA7B,CAAd;;AACA,aAAO0/C,0BAA0B,CAACF,IAAD,EAAO7iD,GAAG,CAACyL,GAAJ,CAAQA,GAAR,EAAatQ,GAAb,CAAiB5C,KAAjB,CAAP,CAAjC;AACH;;;sCACiB0W,G,EAAK4zC,I,EAAM;AACzB,YAAM,IAAIxtD,KAAJ,2EAAN;AACH;;;oCACe4Z,G,EAAK4zC,I,EAAM;AACvB,YAAM,IAAIxtD,KAAJ,yEAAN;AACH;;;0CACqB4Z,G,EAAK4zC,I,EAAM;AAC7B;AACA;AACA,UAAMv/C,IAAI,GAAG2L,GAAG,CAAC1W,KAAJ,KAAc,IAAd,IAAsB0W,GAAG,CAAC1W,KAAJ,KAAcsE,SAApC,IAAiDoS,GAAG,CAAC1W,KAAJ,KAAc,IAA/D,IAAuE0W,GAAG,CAAC1W,KAAJ,KAAc,IAArF,GACTyJ,aADS,GAETnF,SAFJ;AAGA,aAAOkmD,0BAA0B,CAACF,IAAD,EAAOzwC,OAAO,CAACnD,GAAG,CAAC1W,KAAL,EAAY+K,IAAZ,EAAkB,KAAKmgD,iBAAL,CAAuBx0C,GAAG,CAAC20B,IAA3B,CAAlB,CAAd,CAAjC;AACH;;;8BACS9sC,I,EAAM8P,Q,EAAU;AACtB,UAAIzP,EAAJ;;AACA,UAAI,CAAC,CAACA,EAAE,GAAG,KAAK+rD,cAAL,CAAoBjD,OAA1B,MAAuC,IAAvC,IAA+C9oD,EAAE,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,EAAE,CAACktB,GAAH,CAAOvtB,IAAP,CAAzE,KAA0F8P,QAAQ,YAAYm0C,YAAlH,EAAgI;AAC5H,eAAO,IAAP;AACH;;AACD,aAAO,KAAKmI,cAAL,CAAoBc,QAApB,CAA6BltD,IAA7B,CAAP;AACH;;;oCACemY,G,EAAK4zC,I,EAAM;AACvB,UAAI5zC,GAAG,CAACrI,QAAJ,YAAwBi0C,gBAAxB,IACA,EAAE5rC,GAAG,CAACrI,QAAJ,YAAwBm0C,YAA1B,CADA,IAC2C9rC,GAAG,CAACnY,IAAJ,KAAa,MAD5D,EACoE;AAChE,YAAM8H,IAAI,GAAG,KAAK00B,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,EAAwBgiD,KAAK,CAACv9C,UAA9B,CAAb;;AACA,YAAIzE,IAAI,CAAChI,MAAL,IAAe,CAAnB,EAAsB;AAClB,gBAAM,IAAIvB,KAAJ,kEAAoEuJ,IAAI,CAAChI,MAAL,IAAe,MAAnF,EAAN;AACH;;AACD,eAAOgI,IAAI,CAAC,CAAD,CAAJ,CAAQ0iD,IAAR,CAAax/C,YAAb,EAA2B,KAAK2hD,iBAAL,CAAuBx0C,GAAG,CAAC20B,IAA3B,CAA3B,CAAP;AACH;;AACD,UAAMigB,YAAY,GAAG,KAAKC,gBAAL,CAAsB70C,GAAtB,CAArB;;AACA,UAAI40C,YAAJ,EAAkB;AACd,eAAO,KAAKE,iBAAL,CAAuB90C,GAAvB,EAA4B40C,YAA5B,EAA0ChB,IAA1C,CAAP;AACH,OAFD,MAGK;AACD,YAAMjkD,KAAI,GAAG,KAAK00B,QAAL,CAAcrkB,GAAG,CAACrQ,IAAlB,EAAwBgiD,KAAK,CAACv9C,UAA9B,CAAb;;AACA,YAAM4gD,wBAAwB,GAAG,KAAKlD,oBAAtC;AACA,YAAI3oD,MAAM,GAAG,IAAb;;AACA,YAAMwO,QAAQ,GAAG,KAAK48C,MAAL,CAAYv0C,GAAG,CAACrI,QAAhB,EAA0Bg6C,KAAK,CAACv9C,UAAhC,CAAjB;;AACA,YAAIuD,QAAQ,KAAK,KAAKu8C,iBAAtB,EAAyC;AACrC,cAAMe,OAAO,GAAG,KAAKC,SAAL,CAAel1C,GAAG,CAACnY,IAAnB,EAAyBmY,GAAG,CAACrI,QAA7B,CAAhB;;AACA,cAAIs9C,OAAJ,EAAa;AACT;AACA;AACA,iBAAKnD,oBAAL,GAA4BkD,wBAA5B;AACA7rD,kBAAM,GAAG8rD,OAAO,CAAC7qC,MAAR,CAAeza,KAAf,CAAT;AACA,iBAAKwlD,yBAAL,CAA+Bn1C,GAAG,CAACnY,IAAnC;AACH;AACJ;;AACD,YAAIsB,MAAM,IAAI,IAAd,EAAoB;AAChBA,gBAAM,GAAGwO,QAAQ,CAACohC,UAAT,CAAoB/4B,GAAG,CAACnY,IAAxB,EAA8B8H,KAA9B,EAAoC,KAAK6kD,iBAAL,CAAuBx0C,GAAG,CAAC20B,IAA3B,CAApC,CAAT;AACH;;AACD,eAAOmf,0BAA0B,CAACF,IAAD,EAAOzqD,MAAP,CAAjC;AACH;AACJ;;;mCACc6W,G,EAAK4zC,I,EAAM;AACtB,aAAOE,0BAA0B,CAACF,IAAD,EAAO9wC,GAAG,CAAC,KAAKyxC,MAAL,CAAYv0C,GAAG,CAACiJ,UAAhB,EAA4B0oC,KAAK,CAACv9C,UAAlC,CAAD,CAAV,CAAjC;AACH;;;uCACkB4L,G,EAAK4zC,I,EAAM;AAC1B,aAAOE,0BAA0B,CAACF,IAAD,EAAO7wC,aAAa,CAAC,KAAKwxC,MAAL,CAAYv0C,GAAG,CAACiJ,UAAhB,EAA4B0oC,KAAK,CAACv9C,UAAlC,CAAD,CAApB,CAAjC;AACH;;;sCACiB4L,G,EAAK4zC,I,EAAM;AACzB,UAAMgB,YAAY,GAAG,KAAKC,gBAAL,CAAsB70C,GAAtB,CAArB;;AACA,UAAI40C,YAAJ,EAAkB;AACd,eAAO,KAAKE,iBAAL,CAAuB90C,GAAvB,EAA4B40C,YAA5B,EAA0ChB,IAA1C,CAAP;AACH,OAFD,MAGK;AACD,YAAIzqD,MAAM,GAAG,IAAb;AACA,YAAM6rD,wBAAwB,GAAG,KAAKlD,oBAAtC;;AACA,YAAMn6C,QAAQ,GAAG,KAAK48C,MAAL,CAAYv0C,GAAG,CAACrI,QAAhB,EAA0Bg6C,KAAK,CAACv9C,UAAhC,CAAjB;;AACA,YAAIuD,QAAQ,KAAK,KAAKu8C,iBAAtB,EAAyC;AACrC/qD,gBAAM,GAAG,KAAK+rD,SAAL,CAAel1C,GAAG,CAACnY,IAAnB,EAAyBmY,GAAG,CAACrI,QAA7B,CAAT;;AACA,cAAIxO,MAAJ,EAAY;AACR;AACA;AACA,iBAAK2oD,oBAAL,GAA4BkD,wBAA5B;AACA,iBAAKG,yBAAL,CAA+Bn1C,GAAG,CAACnY,IAAnC;AACH;AACJ;;AACD,YAAIsB,MAAM,IAAI,IAAd,EAAoB;AAChBA,gBAAM,GAAGwO,QAAQ,CAACsK,IAAT,CAAcjC,GAAG,CAACnY,IAAlB,CAAT;AACH;;AACD,eAAOisD,0BAA0B,CAACF,IAAD,EAAOzqD,MAAP,CAAjC;AACH;AACJ;;;uCACkB6W,G,EAAK4zC,I,EAAM;AAC1B,UAAMj8C,QAAQ,GAAG,KAAK48C,MAAL,CAAYv0C,GAAG,CAACrI,QAAhB,EAA0Bg6C,KAAK,CAACv9C,UAAhC,CAAjB;;AACA,UAAM4gD,wBAAwB,GAAG,KAAKlD,oBAAtC;AACA,UAAImD,OAAO,GAAG,IAAd;;AACA,UAAIt9C,QAAQ,KAAK,KAAKu8C,iBAAtB,EAAyC;AACrC,YAAMkB,SAAS,GAAG,KAAKF,SAAL,CAAel1C,GAAG,CAACnY,IAAnB,EAAyBmY,GAAG,CAACrI,QAA7B,CAAlB;;AACA,YAAIy9C,SAAJ,EAAe;AACX,cAAIA,SAAS,YAAY7gD,YAAzB,EAAuC;AACnC;AACA;AACA;AACA0gD,mBAAO,GAAGG,SAAV,CAJmC,CAKnC;AACA;;AACA,iBAAKtD,oBAAL,GAA4BkD,wBAA5B;AACA,iBAAKG,yBAAL,CAA+Bn1C,GAAG,CAACnY,IAAnC;AACH,WATD,MAUK;AACD;AACA,gBAAM8P,SAAQ,GAAGqI,GAAG,CAACnY,IAArB;AACA,gBAAMyB,KAAK,GAAI0W,GAAG,CAAC1W,KAAJ,YAAqBijD,YAAtB,GAAsCvsC,GAAG,CAAC1W,KAAJ,CAAUzB,IAAhD,GAAuD+F,SAArE;AACA,kBAAM,IAAIxH,KAAJ,iCAAkCkD,KAAlC,uCAAkEqO,SAAlE,2CAAN;AACH;AACJ;AACJ,OAxByB,CAyB1B;AACA;;;AACA,UAAIs9C,OAAO,KAAK,IAAhB,EAAsB;AAClBA,eAAO,GAAGt9C,QAAQ,CAACsK,IAAT,CAAcjC,GAAG,CAACnY,IAAlB,CAAV;AACH;;AACD,aAAOisD,0BAA0B,CAACF,IAAD,EAAOqB,OAAO,CAAC/oD,GAAR,CAAY,KAAKqoD,MAAL,CAAYv0C,GAAG,CAAC1W,KAAhB,EAAuBqoD,KAAK,CAACv9C,UAA7B,CAAZ,CAAP,CAAjC;AACH;;;0CACqB4L,G,EAAK4zC,I,EAAM;AAC7B,aAAO,KAAKkB,iBAAL,CAAuB90C,GAAvB,EAA4B,KAAK60C,gBAAL,CAAsB70C,GAAtB,CAA5B,EAAwD4zC,IAAxD,CAAP;AACH;;;wCACmB5zC,G,EAAK4zC,I,EAAM;AAC3B,aAAO,KAAKkB,iBAAL,CAAuB90C,GAAvB,EAA4B,KAAK60C,gBAAL,CAAsB70C,GAAtB,CAA5B,EAAwD4zC,IAAxD,CAAP;AACH;;;6BACQvE,I,EAAMuE,I,EAAM;AAAA;;AACjB,aAAOvE,IAAI,CAAChjD,GAAL,CAAS,UAAA2T,GAAG;AAAA,eAAI,QAAI,CAACu0C,MAAL,CAAYv0C,GAAZ,EAAiB4zC,IAAjB,CAAJ;AAAA,OAAZ,CAAP;AACH;;;+BACU5zC,G,EAAK4zC,I,EAAM;AAClB,YAAM,IAAIxtD,KAAJ,wEACO4Z,GAAG,CAACwrC,uBADX,yBACiDxrC,GAAG,CAACyrC,QADrD,EAAN;AAEH;;;2BACMzrC,G,EAAK4zC,I,EAAM;AACd,UAAMzqD,MAAM,GAAG,KAAKirD,UAAL,CAAgBnoD,GAAhB,CAAoB+T,GAApB,CAAf;;AACA,UAAI7W,MAAJ,EACI,OAAOA,MAAP;AACJ,aAAO,CAAC,KAAKgrD,QAAL,CAAcloD,GAAd,CAAkB+T,GAAlB,KAA0BA,GAA3B,EAAgCglB,KAAhC,CAAsC,IAAtC,EAA4C4uB,IAA5C,CAAP;AACH;;;sCACiB5zC,G,EAAK40C,Y,EAAchB,I,EAAM;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAIyB,iBAAiB,GAAG,KAAKd,MAAL,CAAYK,YAAY,CAACj9C,QAAzB,EAAmCg6C,KAAK,CAACv9C,UAAzC,CAAxB;;AACA,UAAIkhD,SAAS,GAAG1nD,SAAhB;;AACA,UAAI,KAAK2nD,cAAL,CAAoBX,YAAY,CAACj9C,QAAjC,CAAJ,EAAgD;AAC5C;AACA;AACA29C,iBAAS,GAAG,KAAKE,iBAAL,EAAZ,CAH4C,CAI5C;;AACAH,yBAAiB,GAAGC,SAAS,CAACppD,GAAV,CAAcmpD,iBAAd,CAApB,CAL4C,CAM5C;;AACA,aAAKjB,UAAL,CAAgBloD,GAAhB,CAAoB0oD,YAAY,CAACj9C,QAAjC,EAA2C29C,SAA3C;AACH;;AACD,UAAMv6C,SAAS,GAAGs6C,iBAAiB,CAACI,OAAlB,EAAlB,CA/CuC,CAgDvC;AACA;;AACA,UAAIb,YAAY,YAAYjG,cAA5B,EAA4C;AACxC,aAAKwF,QAAL,CAAcjoD,GAAd,CAAkB0oD,YAAlB,EAAgC,IAAInG,UAAJ,CAAemG,YAAY,CAACjgB,IAA5B,EAAkCigB,YAAY,CAACtgD,UAA/C,EAA2DsgD,YAAY,CAACtJ,QAAxE,EAAkFsJ,YAAY,CAACj9C,QAA/F,EAAyGi9C,YAAY,CAAC/sD,IAAtH,EAA4H+sD,YAAY,CAACjlD,IAAzI,CAAhC;AACH,OAFD,MAGK;AACD,aAAKwkD,QAAL,CAAcjoD,GAAd,CAAkB0oD,YAAlB,EAAgC,IAAIrI,YAAJ,CAAiBqI,YAAY,CAACjgB,IAA9B,EAAoCigB,YAAY,CAACtgD,UAAjD,EAA6DsgD,YAAY,CAACtJ,QAA1E,EAAoFsJ,YAAY,CAACj9C,QAAjG,EAA2Gi9C,YAAY,CAAC/sD,IAAxH,CAAhC;AACH,OAvDsC,CAwDvC;;;AACA,UAAM6tD,MAAM,GAAG,KAAKnB,MAAL,CAAYv0C,GAAZ,EAAiB2xC,KAAK,CAACv9C,UAAvB,CAAf,CAzDuC,CA0DvC;AACA;;;AACA,WAAK+/C,QAAL,CAAcwB,MAAd,CAAqBf,YAArB,EA5DuC,CA6DvC;;;AACA,UAAIU,SAAJ,EAAe;AACX,aAAKM,gBAAL,CAAsBN,SAAtB;AACH,OAhEsC,CAiEvC;;;AACA,aAAOxB,0BAA0B,CAACF,IAAD,EAAO74C,SAAS,CAAC05C,WAAV,CAAsBtxC,OAAO,CAAC,IAAD,CAA7B,EAAqCuyC,MAArC,CAAP,CAAjC;AACH,K,CACD;AACA;AACA;AACA;AACA;AACA;AACA;;;;qCACiB11C,G,EAAK;AAAA;;AAClB,UAAMglB,KAAK,GAAG,SAARA,KAAQ,CAAC/yB,OAAD,EAAU+N,GAAV,EAAkB;AAC5B,eAAO,CAAC,QAAI,CAACm0C,QAAL,CAAcloD,GAAd,CAAkB+T,GAAlB,KAA0BA,GAA3B,EAAgCglB,KAAhC,CAAsC/yB,OAAtC,CAAP;AACH,OAFD;;AAGA,aAAO+N,GAAG,CAACglB,KAAJ,CAAU;AACbopB,kBADa,sBACFpuC,GADE,EACG;AACZ,iBAAO,IAAP;AACH,SAHY;AAIb+tC,mBAJa,uBAID/tC,GAJC,EAII;AACb,iBAAO,IAAP;AACH,SANY;AAObksC,kBAPa,sBAOFlsC,GAPE,EAOG;AACZ,iBAAO,IAAP;AACH,SATY;AAUbssC,wBAVa,4BAUItsC,GAVJ,EAUS;AAClB,iBAAO,IAAP;AACH,SAZY;AAab8uC,yBAba,6BAaK9uC,GAbL,EAaU;AACnB,iBAAO,IAAP;AACH,SAfY;AAgBb6rC,6BAhBa,iCAgBS7rC,GAhBT,EAgBc;AACvB,iBAAO,IAAP;AACH,SAlBY;AAmBb+rC,yBAnBa,6BAmBK/rC,GAnBL,EAmBU;AACnB,iBAAO,IAAP;AACH,SArBY;AAsBb0tC,0BAtBa,8BAsBM1tC,GAtBN,EAsBW;AACpB,iBAAO,IAAP;AACH,SAxBY;AAyBb8sC,sBAzBa,0BAyBE9sC,GAzBF,EAyBO;AAChB,iBAAOglB,KAAK,CAAC,IAAD,EAAOhlB,GAAG,CAACjP,GAAX,CAAZ;AACH,SA3BY;AA4Bbi8C,uBA5Ba,2BA4BGhtC,GA5BH,EA4BQ;AACjB,iBAAO,IAAP;AACH,SA9BY;AA+BbstC,yBA/Ba,6BA+BKttC,GA/BL,EA+BU;AACnB,iBAAO,IAAP;AACH,SAjCY;AAkCbwtC,uBAlCa,2BAkCGxtC,GAlCH,EAkCQ;AACjB,iBAAO,IAAP;AACH,SApCY;AAqCbotC,6BArCa,iCAqCSptC,GArCT,EAqCc;AACvB,iBAAO,IAAP;AACH,SAvCY;AAwCb0uC,uBAxCa,2BAwCG1uC,GAxCH,EAwCQ;AACjB,iBAAOglB,KAAK,CAAC,IAAD,EAAOhlB,GAAG,CAACrI,QAAX,CAAZ;AACH,SA1CY;AA2Cbu1C,iBA3Ca,qBA2CHltC,GA3CG,EA2CE;AACX,iBAAO,IAAP;AACH,SA7CY;AA8CbsuC,sBA9Ca,0BA8CEtuC,GA9CF,EA8CO;AAChB,iBAAO,IAAP;AACH,SAhDY;AAiDbwuC,0BAjDa,8BAiDMxuC,GAjDN,EAiDW;AACpB,iBAAO,IAAP;AACH,SAnDY;AAoDbwsC,yBApDa,6BAoDKxsC,GApDL,EAoDU;AACnB,iBAAOglB,KAAK,CAAC,IAAD,EAAOhlB,GAAG,CAACrI,QAAX,CAAZ;AACH,SAtDY;AAuDb+0C,0BAvDa,8BAuDM1sC,GAvDN,EAuDW;AACpB,iBAAO,IAAP;AACH,SAzDY;AA0Db0rC,kBA1Da,sBA0DF1rC,GA1DE,EA0DG;AACZ,iBAAO,IAAP;AACH,SA5DY;AA6Db4uC,2BA7Da,+BA6DO5uC,GA7DP,EA6DY;AACrB,iBAAOglB,KAAK,CAAC,IAAD,EAAOhlB,GAAG,CAACrI,QAAX,CAAL,IAA6BqI,GAApC;AACH,SA/DY;AAgEb4sC,6BAhEa,iCAgES5sC,GAhET,EAgEc;AACvB,iBAAOglB,KAAK,CAAC,IAAD,EAAOhlB,GAAG,CAACrI,QAAX,CAAL,IAA6BqI,GAApC;AACH;AAlEY,OAAV,CAAP;AAoEH,K,CACD;AACA;AACA;;;;mCACeA,G,EAAK;AAAA;;AAChB,UAAMglB,KAAK,GAAG,SAARA,KAAQ,CAAC/yB,OAAD,EAAU+N,GAAV,EAAkB;AAC5B,eAAOA,GAAG,IAAI,CAAC,QAAI,CAACm0C,QAAL,CAAcloD,GAAd,CAAkB+T,GAAlB,KAA0BA,GAA3B,EAAgCglB,KAAhC,CAAsC/yB,OAAtC,CAAd;AACH,OAFD;;AAGA,UAAM4jD,SAAS,GAAG,SAAZA,SAAY,CAAC5jD,OAAD,EAAU+N,GAAV,EAAkB;AAChC,eAAOA,GAAG,CAACyF,IAAJ,CAAS,UAAAzF,GAAG;AAAA,iBAAIglB,KAAK,CAAC/yB,OAAD,EAAU+N,GAAV,CAAT;AAAA,SAAZ,CAAP;AACH,OAFD;;AAGA,aAAOA,GAAG,CAACglB,KAAJ,CAAU;AACbopB,kBADa,sBACFpuC,GADE,EACG;AACZ,iBAAOglB,KAAK,CAAC,IAAD,EAAOhlB,GAAG,CAACjJ,IAAX,CAAZ;AACH,SAHY;AAIbg3C,mBAJa,uBAID/tC,GAJC,EAII;AACb,iBAAOglB,KAAK,CAAC,IAAD,EAAOhlB,GAAG,CAAC6tC,IAAX,CAAL,IAAyB7oB,KAAK,CAAC,IAAD,EAAOhlB,GAAG,CAAC8tC,KAAX,CAArC;AACH,SANY;AAOb5B,kBAPa,sBAOFlsC,GAPE,EAOG;AACZ,iBAAO,KAAP;AACH,SATY;AAUbssC,wBAVa,4BAUItsC,GAVJ,EAUS;AAClB,iBAAOglB,KAAK,CAAC,IAAD,EAAOhlB,GAAG,CAACjF,SAAX,CAAL,IAA8BiqB,KAAK,CAAC,IAAD,EAAOhlB,GAAG,CAACosC,OAAX,CAAnC,IAA0DpnB,KAAK,CAAC,IAAD,EAAOhlB,GAAG,CAACqsC,QAAX,CAAtE;AACH,SAZY;AAabyC,yBAba,6BAaK9uC,GAbL,EAaU;AACnB,iBAAO,IAAP;AACH,SAfY;AAgBb6rC,6BAhBa,iCAgBS7rC,GAhBT,EAgBc;AACvB,iBAAO,KAAP;AACH,SAlBY;AAmBb+rC,yBAnBa,6BAmBK/rC,GAnBL,EAmBU;AACnB,iBAAO,KAAP;AACH,SArBY;AAsBb0tC,0BAtBa,8BAsBM1tC,GAtBN,EAsBW;AACpB,iBAAO61C,SAAS,CAAC,IAAD,EAAO71C,GAAG,CAAChH,WAAX,CAAhB;AACH,SAxBY;AAyBb8zC,sBAzBa,0BAyBE9sC,GAzBF,EAyBO;AAChB,iBAAO,KAAP;AACH,SA3BY;AA4BbgtC,uBA5Ba,2BA4BGhtC,GA5BH,EA4BQ;AACjB,iBAAO,KAAP;AACH,SA9BY;AA+BbstC,yBA/Ba,6BA+BKttC,GA/BL,EA+BU;AACnB,iBAAO,IAAP;AACH,SAjCY;AAkCbwtC,uBAlCa,2BAkCGxtC,GAlCH,EAkCQ;AACjB,iBAAO,IAAP;AACH,SApCY;AAqCbotC,6BArCa,iCAqCSptC,GArCT,EAqCc;AACvB,iBAAO,KAAP;AACH,SAvCY;AAwCb0uC,uBAxCa,2BAwCG1uC,GAxCH,EAwCQ;AACjB,iBAAO,IAAP;AACH,SA1CY;AA2CbktC,iBA3Ca,qBA2CHltC,GA3CG,EA2CE;AACX,iBAAO,IAAP;AACH,SA7CY;AA8CbsuC,sBA9Ca,0BA8CEtuC,GA9CF,EA8CO;AAChB,iBAAOglB,KAAK,CAAC,IAAD,EAAOhlB,GAAG,CAACiJ,UAAX,CAAZ;AACH,SAhDY;AAiDbulC,0BAjDa,8BAiDMxuC,GAjDN,EAiDW;AACpB,iBAAOglB,KAAK,CAAC,IAAD,EAAOhlB,GAAG,CAACiJ,UAAX,CAAZ;AACH,SAnDY;AAoDbujC,yBApDa,6BAoDKxsC,GApDL,EAoDU;AACnB,iBAAO,KAAP;AACH,SAtDY;AAuDb0sC,0BAvDa,8BAuDM1sC,GAvDN,EAuDW;AACpB,iBAAO,KAAP;AACH,SAzDY;AA0Db0rC,kBA1Da,sBA0DF1rC,GA1DE,EA0DG;AACZ,iBAAO,KAAP;AACH,SA5DY;AA6Db4uC,2BA7Da,+BA6DO5uC,GA7DP,EA6DY;AACrB,iBAAO,IAAP;AACH,SA/DY;AAgEb4sC,6BAhEa,iCAgES5sC,GAhET,EAgEc;AACvB,iBAAO,KAAP;AACH;AAlEY,OAAV,CAAP;AAoEH;;;wCACmB;AAChB,UAAM81C,UAAU,GAAG,KAAKzB,iBAAL,EAAnB;AACA,WAAKxC,cAAL,GAAsBlmB,IAAI,CAACC,GAAL,CAAS,KAAKyoB,iBAAd,EAAiC,KAAKxC,cAAtC,CAAtB;AACA,aAAO,IAAIp7C,WAAJ,CAAgB+8C,aAAa,CAAC,KAAK5C,SAAN,EAAiBkF,UAAjB,CAA7B,CAAP;AACH;;;qCACgBR,S,EAAW;AACxB,WAAKjB,iBAAL;;AACA,UAAIiB,SAAS,CAACztD,IAAV,IAAkB2rD,aAAa,CAAC,KAAK5C,SAAN,EAAiB,KAAKyD,iBAAtB,CAAnC,EAA6E;AACzE,cAAM,IAAIjuD,KAAJ,qBAAuBkvD,SAAS,CAACztD,IAAjC,4BAAN;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;sCACsB8sC,I,EAAM;AACpB,UAAI,KAAKmc,cAAT,EAAyB;AACrB,YAAMxrB,MAAK,GAAG,KAAKwrB,cAAL,CAAoBxrB,KAApB,CAA0BywB,MAA1B,CAAiCphB,IAAI,CAACrP,KAAtC,CAAd;;AACA,YAAMO,GAAG,GAAG,KAAKirB,cAAL,CAAoBxrB,KAApB,CAA0BywB,MAA1B,CAAiCphB,IAAI,CAAC9O,GAAtC,CAAZ;AACA,YAAMkhB,SAAS,GAAG,KAAK+J,cAAL,CAAoB/J,SAApB,CAA8BgP,MAA9B,CAAqCphB,IAAI,CAACrP,KAA1C,CAAlB;AACA,eAAO,IAAIwhB,eAAJ,CAAoBxhB,MAApB,EAA2BO,GAA3B,EAAgCkhB,SAAhC,CAAP;AACH,OALD,MAMK;AACD,eAAO,IAAP;AACH;AACJ;AACD;;;;8CAC0Bl/C,I,EAAM;AAC5B,UAAI,KAAKkpD,wBAAT,EAAmC;AAC/B,aAAKA,wBAAL,CAA8B3vC,GAA9B,CAAkCvZ,IAAlC;AACH;AACJ;;;;;;AAEL,SAAS6pD,iBAAT,CAA2B7lC,GAA3B,EAAgCmqC,MAAhC,EAAwC;AACpC,MAAI1xC,KAAK,CAACC,OAAN,CAAcsH,GAAd,CAAJ,EAAwB;AACpBA,OAAG,CAACjkB,OAAJ,CAAY,UAACyY,KAAD;AAAA,aAAWqxC,iBAAiB,CAACrxC,KAAD,EAAQ21C,MAAR,CAA5B;AAAA,KAAZ;AACH,GAFD,MAGK;AACDA,UAAM,CAAC5sD,IAAP,CAAYyiB,GAAZ;AACH;AACJ;;IACKolC,oB;AACF,gCAAYD,OAAZ,EAAqB;AAAA;;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACH;;;;gDAC2B,CAAG;;;6BACtBnpD,I,EAAM;AACX,UAAIA,IAAI,KAAKuoD,gBAAgB,CAAC1tB,KAAjB,CAAuB76B,IAApC,EAA0C;AACtC,eAAOuoD,gBAAgB,CAAC1tB,KAAxB;AACH;;AACD,aAAO,IAAP;AACH;;;;;;AAEL,SAASwwB,mBAAT,CAA6BtC,SAA7B,EAAwC;AACpC,SAAOxuC,QAAQ,mBAAYwuC,SAAZ,EAAf,CADoC,CACK;AAC5C;;AACD,SAASwB,uBAAT,CAAiCxB,SAAjC,EAA4C;AACxC,SAAOxuC,QAAQ,cAAOwuC,SAAP,EAAf;AACH;;AACD,SAASuB,yBAAT,CAAmCl0C,IAAnC,EAAyC;AACrC,MAAIA,IAAI,YAAY1H,mBAApB,EAAyC;AACrC,WAAO0H,IAAI,CAAClH,IAAZ;AACH,GAFD,MAGK,IAAIkH,IAAI,YAAYI,eAApB,EAAqC;AACtC,WAAOJ,IAAI,CAAC3U,KAAZ;AACH;;AACD,SAAO,IAAP;AACH;;IACK0qD,mB;;;;;AACF,+BAAYrf,IAAZ,EAAkBrgC,UAAlB,EAA8B3E,IAA9B,EAAoCuwC,SAApC,EAA+C;AAAA;;AAAA;;AAC3C,mCAAMvL,IAAN,EAAYrgC,UAAZ,EAAwB,IAAxB,EAA8B3E,IAA9B;AACA,aAAKA,IAAL,GAAYA,IAAZ;AACA,aAAKuwC,SAAL,GAAiBA,SAAjB;AAH2C;AAI9C;;;EAL6B2O,Y;AAQlC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMoH,S;AACF,uBAAc;AAAA;;AACV,SAAKC,aAAL,GAAqB,IAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;;gCACgBC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d,SAAN,CAAgB,CAAhB,EAAmB1d,KAAK,CAAC3B,MAAN,GAAe,CAAlC,CAAlB,CADwE,CAExE;AACA;;AACA,QAAI8hF,SAAS,CAACtjF,OAAV,CAAkB,IAAlB,KAA2B,CAAC,CAA5B,IAAiCsjF,SAAS,CAACtjF,OAAV,CAAkB,GAAlB,KAA0B,CAAC,CAAhE,EAAmE;AAC/DmD,WAAK,GAAGmgF,SAAR;AACH;AACJ;;AACD,SAAOngF,KAAP;AACH;;AACD,SAAS8/E,SAAT,CAAmB9/E,KAAnB,EAA0B;AACtB,SAAOA,KAAK,CACP6Q,OADE,CACM,aADN,EACqB,UAAAm2D,CAAC,EAAI;AAC7B,WAAOA,CAAC,CAACtvC,MAAF,CAAS,CAAT,IAAc,GAAd,GAAoBsvC,CAAC,CAACtvC,MAAF,CAAS,CAAT,CAA3B;AACH,GAHM,EAIFl5B,WAJE,EAAP;AAKH;;AAED,IAAM4hF,cAAc,GAAG,YAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,kCAAkC,GAAG,CAA3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,c;AACF,0BAAYC,cAAZ,EAA4B;AAAA;;AACxB,SAAKA,cAAL,GAAsBA,cAAtB;AACA;;AACA,SAAKC,iBAAL,GAAyB,KAAzB;AACA;AACR;AACA;AACA;;AACQ,SAAKC,WAAL,GAAmB,KAAnB;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACA;;AACA,SAAKC,cAAL,GAAsB,IAAtB;AACA;;AACA,SAAKC,cAAL,GAAsB,IAAtB;AACA;;AACA,SAAKC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AL,IAAe,OAAtB;AACD;AACH;AAEC;AACE;AACE;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAEJ;;;;wBAAC;AACV,aAAO,KAAK,MAAL,KAAgB,QAAvB;AACD;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAGT;AAAO;;;;wBAAI;AACT,aAAO,KAAK,MAAL,KAAgB,QAAvB;AACD;AACH;AAEC;AAA8D;AACpD;AAAO;AAGuB;AAGc;;;;wBAe5C;AACP,aAAO,CAAC,KAAK,QAAb;AACD;AACH;AAEC;AAEI;AAAO;AACG;AAEJ;;;;wBAQI;AACX,aAAO,CAAC,KAAK,OAAb;AACD;AACH;AAEC;AAAqE;AAC5C;AAA2D;AAChE;;;;wBAqBP;AACV,aAAO,KAAK,SAAL,GAAiB,KAAK,SAAtB,GAAmC,KAAK,MAAL,GAAc,KAAK,MAAL,CAAY,QAA1B,GAAqC,QAA/E;AACD;;;wBAmeO;AACN,UAAI,CAAC,GAAoB,IAAzB;;AAEA,aAAO,CAAC,CAAC,OAAT,EAAkB;AAChB,SAAC,GAAG,CAAC,CAAC,OAAN;AACD;;AAED,aAAO,CAAP;AACD;;;;;AA8GH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACa,W;;;;;AACb;AAAQ;AAGL;AAAO;AAIU;AAKP;AAAO;AACU;AAEsB;AAC5C;AAAO;AACF;AAAO;AAKlB,y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DAAI;AA/Ca,OA+Cb;AAAA,YAAI,sDAAQ;AAAZ,KA/Ca;AAqCoB,GAAtC,EAUwB;AAAA;AAAA;AAAA,YACvB,sDAAQ;AADe,OACf;AAAA,YAAI,kDAAI;AAAR,KADe,EACP;AAAA,YAAI,oDAAJ;AAAU,aAAC,aAAD;AAAV,KADO;AAAA,GAVxB,EAWkD;AAAA;AAAA;AAAA,YACjD,sDAAQ;AADyC,OACzC;AAAA,YAAI,kDAAI;AAAR,KADyC,EACjC;AAAA,YAAI,oDAAJ;AAAU,aAAC,mBAAD;AAAV,KADiC;AAAA,GAXlD;AAAA;;AAY0D;AACxC;AAAA,UANrB,mDAMqB;AANhB,WAAC,cAAD;AAMgB;AADwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AALjC,C;ACzD/B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAgBa,kBAAkB,GAAQ;AACrC,SAAO,EAAE,SAD4B;AAErC,aAAW,EAAE,gEAAU,CAAC;AAAA,WAAM,OAAN;AAAA,GAAD;AAFc,CAhBvC;;AAoBA,WAkByB,SAlBzB,IAkByB;AAAA,SAAM,OAAO,CAAC,OAAR,CAAgB,IAAhB,CAAN;AAAA,CAlBzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMG,iBAAe,GAAG,MAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAgB,OAAhB,CAAwB,IAAxB,EAAsC,WAAtC,EAAsE;AACpE,SAAO;AAAC,QAAI;AAAA;AAAL;AAAsC,QAAI,EAAJ,IAAtC;AAA4C,eAAW,EAAX,WAA5C;AAAyD,WAAO,EAAE;AAAlE,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,OAAhB,CACI,OADJ,EAGY;AAAA,MADR,MACQ,uEAAJ,IAAI;AACV,SAAO;AAAC,QAAI;AAAA;AAAL;AAAsC,UAAM,EAAN,MAAtC;AAA8C,WAAO,EAAP;AAA9C,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,KAAhB,CACI,KADJ,EACqE;AAAA,MAArC,OAAqC,uEAAJ,IAAI;AACnE,SAAO;AAAC,QAAI;AAAA;AAAL;AAAoC,SAAK,EAAL,KAApC;AAA2C,WAAO,EAAP;AAA3C,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,QAAhB,CACI,KADJ,EACqE;AAAA,MAArC,OAAqC,uEAAJ,IAAI;AACnE,SAAO;AAAC,QAAI;AAAA;AAAL;AAAuC,SAAK,EAAL,KAAvC;AAA8C,WAAO,EAAP;AAA9C,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,KAAhB,CAAsB,MAAtB,EACiE;AAC/D,SAAO;AAAC,QAAI;AAAA;AAAL;AAAoC,UAAM,EAAE,MAA5C;AAAoD,UAAM,EAAE;AAA5D,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,KAAhB,CACI,IADJ,EACkB,MADlB,EAEI,OAFJ,EAE6C;AAC3C,SAAO;AAAC,QAAI;AAAA;AAAL;AAAoC,QAAI,EAAJ,IAApC;AAA0C,UAAM,EAAN,MAA1C;AAAkD,WAAO,EAAP;AAAlD,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,SAAhB,CAA0B,KAA1B,EAAyD;AACvD,SAAO;AAAC,QAAI;AAAA;AAAL;AAAwC,SAAK,EAAL;AAAxC,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,UAAhB,CACI,eADJ,EAGI,KAHJ,EAIyC;AAAA,MAArC,OAAqC,uEAAJ,IAAI;AACvC,SAAO;AAAC,QAAI;AAAA;AAAL;AAAyC,QAAI,EAAE,eAA/C;AAAgE,aAAS,EAAE,KAA3E;AAAkF,WAAO,EAAP;AAAlF,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,SAAhB,CACI,KADJ,EAEyC;AAAA,MAArC,OAAqC,uEAAJ,IAAI;AACvC,SAAO;AAAC,QAAI;AAAA;AAAL;AAAwC,aAAS,EAAE,KAAnD;AAA0D,WAAO,EAAP;AAA1D,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,YAAhB,GAAqE;AAAA,MAAxC,OAAwC,uEAAJ,IAAI;AAEnE,SAAO;AAAC,QAAI;AAAA;AAAL;AAA2C,WAAO,EAAP;AAA3C,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,YAAhB,CACI,SADJ,EAEyC;AAAA,MAArC,OAAqC,uEAAJ,IAAI;AACvC,SAAO;AAAC,QAAI;AAAA;AAAL;AAAyC,aAAS,EAAT,SAAzC;AAAoD,WAAO,EAAP;AAApD,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,KAAhB,CACI,QADJ,EACsB,SADtB,EAE8C;AAAA,MAA1C,OAA0C,uEAAJ,IAAI;AAC5C,SAAO;AAAC,QAAI;AAAA;AAAL;AAAoC,YAAQ,EAAR,QAApC;AAA8C,aAAS,EAAT,SAA9C;AAAyD,WAAO,EAAP;AAAzD,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,OAAhB,CAAwB,OAAxB,EAAgD,SAAhD,EAAgG;AAE9F,SAAO;AAAC,QAAI;AAAA;AAAL;AAAsC,WAAO,EAAP,OAAtC;AAA+C,aAAS,EAAT;AAA/C,GAAP;AACF;ACnyCA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,iBAAhB,CAAkC,EAAlC,EAA+C;AAC7C,SAAO,CAAC,OAAR,CAAgB,IAAhB,EAAsB,IAAtB,CAA2B,EAA3B;AACF;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsGA;AACA;AACA;AACA;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A,CAAC6M,WAAW,CAAC7N,KAAD,CAAX,GAAqB;AAAE;AAAxB,UAAsD4P,SAF1D,EAEqE;AACjE/B,iBAAW,CAAC7N,KAAD,CAAX,IAAsB;AAAK;AAA3B;AACAvsC,UAAI,CAACxkE,IAAL,CAAUilB,SAAV;AACH;AACJ,GAVD,MAWK;AACDu/C,QAAI,CAACxkE,IAAL,CAAUilB,SAAV;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMk8F,kBAAkB,GAAG,CAAC,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,mB,GACF;AACA;AACJ;AACA;AACIz8J,OAJA;AAKA;AACJ;AACA;AACI08J,cARA,EAQgBC,oBARhB,EAQsC;AAAA;;AAClC,OAAK38J,OAAL,GAAeA,OAAf;AACA;AACR;AACA;AACA;;AACQ,OAAK48J,SAAL,GAAiB,KAAjB;AACA/X,WAAS,IAAIkB,aAAa,CAAC/lJ,OAAD,EAAU,uBAAV,CAA1B;AACA6kJ,WAAS,IAAIU,WAAW,CAAC,OAAOvlJ,OAAR,EAAiB,UAAjB,EAA6B,4BAA7B,CAAxB;AACA,OAAK68J,mBAAL,GAA2BH,cAA3B;AACA,OAAKI,UAAL,GAAkBH,oBAAlB;AACH,C;;AAEL,SAASI,SAAT,CAAmB38J,GAAnB,EAAwB;AACpB,SAAOA,GAAG,YAA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,KAAKlnB,MAAlC,CAAb;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;6BACa;AACL,WAAKA,MAAL,CAAY9W,KAAZ,KAAsB,CAAC;AAAI;AAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;+BACe;AACP,WAAK8W,MAAL,CAAY9W,KAAZ,KAAsB;AAAI;AAA1B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;oCACoB;AACZi9B,2BAAqB,CAAC,KAAKnmB,MAAL,CAAY/W,KAAZ,CAAD,EAAqB,KAAK+W,MAA1B,EAAkC,KAAK3hK,OAAvC,CAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;;qCACqB;AACbgoL,4BAAsB,CAAC,KAAKrmB,MAAL,CAAY/W,KAAZ,CAAD,EAAqB,KAAK+W,MAA1B,EAAkC,KAAK3hK,OAAvC,CAAtB;AACH;;;6CACwBipL,K,EAAO;AAC5B,UAAI,KAAKH,OAAT,EAAkB;AACd,cAAM,IAAI50L,KAAJ,CAAU,+DAAV,CAAN;AACH;;AACD,WAAK60L,iBAAL,GAAyBE,KAAzB;AACH;;;uCACkB;AACf,WAAKH,OAAL,GAAe,IAAf;AACAjZ,sBAAgB,CAAC,KAAKlO,MAAL,CAAY/W,KAAZ,CAAD,EAAqB,KAAK+W,MAA1B,CAAhB;AACH;;;mCACcunB,M,EAAQ;AACnB,UAAI,KAAKH,iBAAT,EAA4B;AACxB,cAAM,IAAI70L,KAAJ,CAAU,mDAAV,CAAN;AACH;;AACD,WAAK40L,OAAL,GAAeI,MAAf;AACH;;;wBAnOe;AACZ,UAAMj8B,KAAK,GAAG,KAAK0U,MAAnB;AACA,UAAM3f,KAAK,GAAGiL,KAAK,CAACrC,KAAD,CAAnB;AACA,aAAOu+B,kBAAkB,CAACnnC,KAAD,EAAQiL,KAAR,EAAejL,KAAK,CAACiW,UAArB,EAAiC,EAAjC,CAAzB;AACH;;;wBACa;AACV,aAAO,KAAK0J,MAAL,CAAYxW,OAAZ,CAAP;AACH;;;wBACe;AACZ,aAAO,CAAC,KAAKwW,MAAL,CAAY9W,KAAZ,IAAqB;AAAI;AAA1B,YAA+C;AAAI;AAA1D;AACH;;;;;AA2NL;;;IACMu+B,W;;;;;AACF,uBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACf,gCAAMA,KAAN;AACA,WAAKA,KAAL,GAAaA,KAAb;AAFe;AAGlB;;;;oCACe;AACZtB,6BAAuB,CAAC,KAAKsB,KAAN,CAAvB;AACH;;;qCACgB;AACbpB,8BAAwB,CAAC,KAAKoB,KAAN,CAAxB;AACH;;;wBACa;AACV,aAAO,IAAP;AACH;;;;EAbqBT,O;;AAe1B,SAASO,kBAAT,CAA4BnnC,KAA5B,EAAmCiL,KAAnC,EAA0ClL,KAA1C,EAAiD9qJ,MAAjD,EAA+E;AAAA,MAAtBg9K,YAAsB,uEAAP,KAAO;;AAC3E,SAAOlyB,KAAK,KAAK,IAAjB,EAAuB;AACnBuB,aAAS,IACLyY,eAAe,CAACha,KAAD,EAAQ;AAAE;AAAF,MAAmB;AAAG;AAAtB,MAA2C;AAAG;AAA9C,MAAiE;AAAG;AAA5E,KADnB;AAEA,QAAMunC,KAAK,GAAGr8B,KAAK,CAAClL,KAAK,CAACz/I,KAAP,CAAnB;;AACA,QAAIgnL,KAAK,KAAK,IAAd,EAAoB;AAChBryL,YAAM,CAACC,IAAP,CAAYm8J,WAAW,CAACi2B,KAAD,CAAvB;AACH,KANkB,CAOnB;AACA;AACA;;;AACA,QAAI58B,YAAY,CAAC48B,KAAD,CAAhB,EAAyB;AACrB,WAAK,IAAIxyL,CAAC,GAAGy1J,uBAAb,EAAsCz1J,CAAC,GAAGwyL,KAAK,CAAC7zL,MAAhD,EAAwDqB,CAAC,EAAzD,EAA6D;AACzD,YAAMyyL,iBAAiB,GAAGD,KAAK,CAACxyL,CAAD,CAA/B;AACA,YAAM0yL,oBAAoB,GAAGD,iBAAiB,CAAC3+B,KAAD,CAAjB,CAAyBqN,UAAtD;;AACA,YAAIuxB,oBAAoB,KAAK,IAA7B,EAAmC;AAC/BL,4BAAkB,CAACI,iBAAiB,CAAC3+B,KAAD,CAAlB,EAA2B2+B,iBAA3B,EAA8CC,oBAA9C,EAAoEvyL,MAApE,CAAlB;AACH;AACJ;AACJ;;AACD,QAAM0kK,SAAS,GAAG5Z,KAAK,CAAC5/I,IAAxB;;AACA,QAAIw5J,SAAS,GAAG;AAAE;AAAlB,MAA0C;AACtCwtB,0BAAkB,CAACnnC,KAAD,EAAQiL,KAAR,EAAelL,KAAK,CAAC/sH,KAArB,EAA4B/9B,MAA5B,CAAlB;AACH,OAFD,MAGK,IAAI0kK,SAAS,GAAG;AAAG;AAAnB,MAA8B;AAC/B,YAAM6X,SAAS,GAAG/F,mBAAmB,CAAC1rB,KAAD,EAAQkL,KAAR,CAArC;AACA,YAAI0hB,KAAK,SAAT;;AACA,eAAOA,KAAK,GAAG6E,SAAS,EAAxB,EAA4B;AACxBv8K,gBAAM,CAACC,IAAP,CAAYy3K,KAAZ;AACH;AACJ,OANI,MAOA,IAAIhT,SAAS,GAAG;AAAG;AAAnB,MAAqC;AACtC,YAAMgR,aAAa,GAAG1f,KAAK,CAACtB,0BAAD,CAA3B;AACA,YAAM8nB,aAAa,GAAG9G,aAAa,CAAC1hB,MAAD,CAAnC;AACA,YAAM6F,OAAO,GAAG/O,KAAK,CAACx2H,UAAtB;AACA+3H,iBAAS,IACLkB,aAAa,CAACivB,aAAa,CAACloJ,UAAf,EAA2B,qFAA3B,CADjB;AAEA,YAAMk+J,WAAW,GAAGhW,aAAa,CAACloJ,UAAd,CAAyBulI,OAAzB,CAApB;;AACA,YAAI1+I,KAAK,CAACC,OAAN,CAAco3K,WAAd,CAAJ,EAAgC;AAC5BxyL,gBAAM,CAACC,IAAP,OAAAD,MAAM,4IAASwyL,WAAT,EAAN;AACH,SAFD,MAGK;AACD,cAAM/rB,UAAU,GAAGoQ,cAAc,CAACnB,aAAD,CAAjC;AACArpB,mBAAS,IACLkB,aAAa,CAACkZ,UAAD,EAAa,2EAAb,CADjB;AAEAyrB,4BAAkB,CAACzrB,UAAU,CAAC9S,KAAD,CAAX,EAAoB8S,UAApB,EAAgC+rB,WAAhC,EAA6CxyL,MAA7C,EAAqD,IAArD,CAAlB;AACH;AACJ;;AACD8qJ,SAAK,GAAGkyB,YAAY,GAAGlyB,KAAK,CAACqyB,cAAT,GAA0BryB,KAAK,CAAC3lF,IAApD;AACH;;AACD,SAAOnlE,MAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyyL,gBAAT,CAA0BC,eAA1B,EAA2C;AACvC,SAAOC,gBAAgB,CAACD,eAAD,EAAkB/zB,eAAe,EAAjC,EAAqCL,QAAQ,EAA7C,CAAvB;AACH;;AACD,IAAIs0B,YAAJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASD,gBAAT,CAA0BD,eAA1B,EAA2C5nC,KAA3C,EAAkD6R,IAAlD,EAAwD;AACpD,MAAI,CAACi2B,YAAL,EAAmB;AACfA,gBAAY;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA,MAA4BF,eAA5B,CAAZ;AAEH;;AACD,SAAO,IAAIE,YAAJ,CAAiBp2B,gBAAgB,CAAC1R,KAAD,EAAQ6R,IAAR,CAAjC,CAAP;AACH;;AACD,IAAIk2B,aAAJ;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,iBAAT,CAA2BC,gBAA3B,EAA6CL,eAA7C,EAA8D;AAC1D,SAAOM,iBAAiB,CAACD,gBAAD,EAAmBL,eAAnB,EAAoC/zB,eAAe,EAAnD,EAAuDL,QAAQ,EAA/D,CAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS00B,iBAAT,CAA2BD,gBAA3B,EAA6CL,eAA7C,EAA8DzD,SAA9D,EAAyEhmE,QAAzE,EAAmF;AAC/E,MAAI,CAAC4pE,aAAL,EAAoB;AAChBA,iBAAa;AAAA;;AAAA;;AACT,2BAAYI,gBAAZ,EAA8BC,sBAA9B,EAAsDC,UAAtD,EAAkE;AAAA;;AAAA;;AAC9D;AACA,eAAKF,gBAAL,GAAwBA,gBAAxB;AACA,eAAKC,sBAAL,GAA8BA,sBAA9B;AACA,eAAKC,UAAL,GAAkBA,UAAlB;AAJ8D;AAKjE;;AANQ;AAAA;AAAA,2CAOUpqL,OAPV,EAOmB;AACxB,cAAMgnL,aAAa,GAAG,KAAKmD,sBAAL,CAA4BnP,MAAlD;AACA,cAAM+L,aAAa,GAAG9G,WAAW,CAAC,KAAKiK,gBAAN,EAAwBlD,aAAxB,EAAuChnL,OAAvC,EAAgD;AAAG;AAAnD,YAAsE,IAAtE,EAA4EgnL,aAAa,CAACxvB,SAA1F,EAAqG,IAArG,EAA2G,IAA3G,EAAiH,IAAjH,EAAuH,IAAvH,CAAjC;AACA,cAAM6Y,qBAAqB,GAAG,KAAK6Z,gBAAL,CAAsB,KAAKC,sBAAL,CAA4B7nL,KAAlD,CAA9B;AACAghJ,mBAAS,IAAIwK,gBAAgB,CAACuiB,qBAAD,CAA7B;AACA0W,uBAAa,CAACn7B,sBAAD,CAAb,GAAwCykB,qBAAxC;AACA,cAAMga,uBAAuB,GAAG,KAAKH,gBAAL,CAAsBp+B,OAAtB,CAAhC;;AACA,cAAIu+B,uBAAuB,KAAK,IAAhC,EAAsC;AAClCtD,yBAAa,CAACj7B,OAAD,CAAb,GAAyBu+B,uBAAuB,CAACC,kBAAxB,CAA2CtD,aAA3C,CAAzB;AACH;;AACDtG,oBAAU,CAACsG,aAAD,EAAgBD,aAAhB,EAA+B/mL,OAA/B,CAAV;AACA,iBAAO,IAAI4oL,OAAJ,CAAY7B,aAAZ,CAAP;AACH;AAnBQ;;AAAA;AAAA,MAA6BiD,gBAA7B,CAAb;AAqBH;;AACD,MAAI9D,SAAS,CAAC/jL,IAAV,GAAiB;AAAE;AAAvB,IAAwC;AACpCmhJ,eAAS,IAAIkB,aAAa,CAAC0hC,SAAS,CAAClL,MAAX,EAAmB,yBAAnB,CAA1B;AACA,aAAO,IAAI8O,aAAJ,CAAkB5pE,QAAlB,EAA4BgmE,SAA5B,EAAuC0D,gBAAgB,CAACD,eAAD,EAAkBzD,SAAlB,EAA6BhmE,QAA7B,CAAvD,CAAP;AACH,KAHD,MAIK;AACD,WAAO,IAAP;AACH;AACJ;;AACD,IAAIqqE,kBAAJ;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,sBAAT,CAAgCC,qBAAhC,EAAuDd,eAAvD,EAAwE;AACpE,MAAMe,aAAa,GAAG90B,eAAe,EAArC;AACA,SAAO+0B,kBAAkB,CAACF,qBAAD,EAAwBd,eAAxB,EAAyCe,aAAzC,EAAwDn1B,QAAQ,EAAhE,CAAzB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo1B,kBAAT,CAA4BF,qBAA5B,EAAmDd,eAAnD,EAAoEzD,SAApE,EAA+EhmE,QAA/E,EAAyF;AACrF,MAAI,CAACqqE,kBAAL,EAAyB;AACrBA,sBAAkB;AAAA;;AAAA;;AACd,gCAAYK,WAAZ,EAAyBC,UAAzB,EAAqCC,SAArC,EAAgD;AAAA;;AAAA;;AAC5C;AACA,eAAKF,WAAL,GAAmBA,WAAnB;AACA,eAAKC,UAAL,GAAkBA,UAAlB;AACA,eAAKC,SAAL,GAAiBA,SAAjB;AAJ4C;AAK/C;;AANa;AAAA;AAAA,gCA2BN;AACJ,iBAAO,KAAKr1L,MAAL,GAAc,CAArB,EAAwB;AACpB,iBAAKw/K,MAAL,CAAY,KAAKx/K,MAAL,GAAc,CAA1B;AACH;AACJ;AA/Ba;AAAA;AAAA,4BAgCV6M,KAhCU,EAgCH;AACP,iBAAO,KAAKsoL,WAAL,CAAiBv+B,SAAjB,MAAgC,IAAhC,IAAwC,KAAKu+B,WAAL,CAAiBv+B,SAAjB,EAA4B/pJ,KAA5B,CAAxC,IAA8E,IAArF;AACH;AAlCa;AAAA;AAAA,2CAsCKyoL,WAtCL,EAsCkB/qL,OAtClB,EAsC2BsC,KAtC3B,EAsCkC;AAC5C,cAAM0oL,OAAO,GAAGD,WAAW,CAACT,kBAAZ,CAA+BtqL,OAAO,IAAI,EAA1C,CAAhB;AACA,eAAKirL,MAAL,CAAYD,OAAZ,EAAqB1oL,KAArB;AACA,iBAAO0oL,OAAP;AACH;AA1Ca;AAAA;AAAA,wCA2CEjqK,gBA3CF,EA2CoBze,KA3CpB,EA2C2BqjJ,QA3C3B,EA2CqCulC,gBA3CrC,EA2CuDC,WA3CvD,EA2CoE;AAC9E,cAAMC,eAAe,GAAGzlC,QAAQ,IAAI,KAAK0lC,cAAzC;;AACA,cAAI,CAACF,WAAD,IAAgBpqK,gBAAgB,CAACpjB,QAAjB,IAA6B,IAA7C,IAAqDytL,eAAzD,EAA0E;AACtE;AACA;AACA;AACA,gBAAMn0L,MAAM,GAAGm0L,eAAe,CAACrxL,GAAhB,CAAoBigB,WAApB,EAAiC,IAAjC,CAAf;;AACA,gBAAI/iB,MAAJ,EAAY;AACRk0L,yBAAW,GAAGl0L,MAAd;AACH;AACJ;;AACD,cAAMq0L,YAAY,GAAGvqK,gBAAgB,CAACpR,MAAjB,CAAwBy7K,eAAxB,EAAyCF,gBAAzC,EAA2DxvL,SAA3D,EAAsEyvL,WAAtE,CAArB;AACA,eAAKF,MAAL,CAAYK,YAAY,CAACprE,QAAzB,EAAmC59G,KAAnC;AACA,iBAAOgpL,YAAP;AACH;AAzDa;AAAA;AAAA,+BA0DPN,OA1DO,EA0DE1oL,KA1DF,EA0DS;AACnB,cAAM2qJ,KAAK,GAAG+9B,OAAO,CAACrpB,MAAtB;AACA,cAAM3f,KAAK,GAAGiL,KAAK,CAACrC,KAAD,CAAnB;;AACA,cAAIogC,OAAO,CAAClN,SAAZ,EAAuB;AACnB,kBAAM,IAAI5pL,KAAJ,CAAU,oDAAV,CAAN;AACH;;AACD,eAAKq3L,yBAAL;;AACA,cAAIp3B,uBAAuB,CAAClH,KAAD,CAA3B,EAAoC;AAChC;AACA,gBAAMu+B,OAAO,GAAG,KAAKv3L,OAAL,CAAa+2L,OAAb,CAAhB,CAFgC,CAGhC;AACA;AACA;AACA;;AACA,gBAAIQ,OAAO,KAAK,CAAC,CAAjB,EAAoB;AAChB,mBAAKxC,MAAL,CAAYwC,OAAZ;AACH,aAFD,MAGK;AACD,kBAAMC,cAAc,GAAGx+B,KAAK,CAACnC,MAAD,CAA5B;AACAxH,uBAAS,IACLU,WAAW,CAAC0I,YAAY,CAAC++B,cAAD,CAAb,EAA+B,IAA/B,EAAqC,+DAArC,CADf,CAFC,CAID;AACA;;AACA,kBAAMC,SAAS,GAAG,IAAInB,kBAAJ,CAAuBkB,cAAvB,EAAuCA,cAAc,CAACxgC,MAAD,CAArD,EAA+DwgC,cAAc,CAAC3gC,MAAD,CAA7E,CAAlB;AACA4gC,uBAAS,CAAC1C,MAAV,CAAiB0C,SAAS,CAACz3L,OAAV,CAAkB+2L,OAAlB,CAAjB;AACH;AACJ,WA1BkB,CA2BnB;;;AACA,cAAMW,WAAW,GAAG,KAAKC,YAAL,CAAkBtpL,KAAlB,CAApB;;AACA,cAAMiyJ,UAAU,GAAG,KAAKq2B,WAAxB;AACA1a,oBAAU,CAACluB,KAAD,EAAQiL,KAAR,EAAesH,UAAf,EAA2Bo3B,WAA3B,CAAV,CA9BmB,CA+BnB;;AACA,cAAMjd,UAAU,GAAG2E,oBAAoB,CAACsY,WAAD,EAAcp3B,UAAd,CAAvC;AACA,cAAMzB,QAAQ,GAAG7F,KAAK,CAAC3B,QAAD,CAAtB;AACA,cAAM4nB,WAAW,GAAGX,gBAAgB,CAACzf,QAAD,EAAWyB,UAAU,CAACnI,MAAD,CAArB,CAApC;;AACA,cAAI8mB,WAAW,KAAK,IAApB,EAA0B;AACtBvD,8BAAkB,CAAC3tB,KAAD,EAAQuS,UAAU,CAACtJ,MAAD,CAAlB,EAA4B6H,QAA5B,EAAsC7F,KAAtC,EAA6CimB,WAA7C,EAA0DxE,UAA1D,CAAlB;AACH;;AACDsc,iBAAO,CAACa,wBAAR,CAAiC,IAAjC;AACA7kC,oBAAU,CAACuN,UAAU,CAAClI,SAAD,CAAX,EAAwBs/B,WAAxB,EAAqCX,OAArC,CAAV;AACA,iBAAOA,OAAP;AACH;AAnGa;AAAA;AAAA,6BAoGTA,OApGS,EAoGAc,QApGA,EAoGU;AACpB,cAAId,OAAO,CAAClN,SAAZ,EAAuB;AACnB,kBAAM,IAAI5pL,KAAJ,CAAU,kDAAV,CAAN;AACH;;AACD,iBAAO,KAAK+2L,MAAL,CAAYD,OAAZ,EAAqBc,QAArB,CAAP;AACH;AAzGa;AAAA;AAAA,gCA0GNd,OA1GM,EA0GG;AACb,cAAMe,WAAW,GAAG,KAAKnB,WAAL,CAAiBv+B,SAAjB,CAApB;AACA,iBAAO0/B,WAAW,KAAK,IAAhB,GAAuBA,WAAW,CAAC93L,OAAZ,CAAoB+2L,OAApB,CAAvB,GAAsD,CAAC,CAA9D;AACH;AA7Ga;AAAA;AAAA,+BA8GP1oL,KA9GO,EA8GA;AACV,eAAKipL,yBAAL;;AACA,cAAMI,WAAW,GAAG,KAAKC,YAAL,CAAkBtpL,KAAlB,EAAyB,CAAC,CAA1B,CAApB;;AACA,cAAM0pL,YAAY,GAAGhb,UAAU,CAAC,KAAK4Z,WAAN,EAAmBe,WAAnB,CAA/B;;AACA,cAAIK,YAAJ,EAAkB;AACd;AACA;AACA;AACA;AACA;AACA;AACA/kC,2BAAe,CAAC,KAAK2jC,WAAL,CAAiBv+B,SAAjB,CAAD,EAA8Bs/B,WAA9B,CAAf;AACAva,wBAAY,CAAC4a,YAAY,CAACphC,KAAD,CAAb,EAAsBohC,YAAtB,CAAZ;AACH;AACJ;AA5Ha;AAAA;AAAA,+BA6HP1pL,KA7HO,EA6HA;AACV,eAAKipL,yBAAL;;AACA,cAAMI,WAAW,GAAG,KAAKC,YAAL,CAAkBtpL,KAAlB,EAAyB,CAAC,CAA1B,CAApB;;AACA,cAAMsxJ,IAAI,GAAGod,UAAU,CAAC,KAAK4Z,WAAN,EAAmBe,WAAnB,CAAvB;AACA,cAAMM,WAAW,GAAGr4B,IAAI,IAAI3M,eAAe,CAAC,KAAK2jC,WAAL,CAAiBv+B,SAAjB,CAAD,EAA8Bs/B,WAA9B,CAAf,IAA6D,IAAzF;AACA,iBAAOM,WAAW,GAAG,IAAIrD,OAAJ,CAAYh1B,IAAZ,CAAH,GAAuB,IAAzC;AACH;AAnIa;AAAA;AAAA,qCAoIDtxJ,KApIC,EAoIiB;AAAA,cAAXg+B,KAAW,uEAAH,CAAG;;AAC3B,cAAIh+B,KAAK,IAAI,IAAb,EAAmB;AACf,mBAAO,KAAK7M,MAAL,GAAc6qC,KAArB;AACH;;AACD,cAAIgjH,SAAJ,EAAe;AACXgB,6BAAiB,CAAChiJ,KAAD,EAAQ,CAAC,CAAT,gDAAmDA,KAAnD,EAAjB,CADW,CAEX;;AACA+hJ,0BAAc,CAAC/hJ,KAAD,EAAQ,KAAK7M,MAAL,GAAc,CAAd,GAAkB6qC,KAA1B,EAAiC,OAAjC,CAAd;AACH;;AACD,iBAAOh+B,KAAP;AACH;AA9Ia;AAAA;AAAA,oDA+Ic;AACxB,cAAI,KAAKsoL,WAAL,CAAiBv+B,SAAjB,MAAgC,IAApC,EAA0C;AACtC,iBAAKu+B,WAAL,CAAiBv+B,SAAjB,IAA8B,EAA9B;AACH;AACJ;AAnJa;AAAA;AAAA,4BAOA;AACV,iBAAOu9B,gBAAgB,CAACD,eAAD,EAAkB,KAAKkB,UAAvB,EAAmC,KAAKC,SAAxC,CAAvB;AACH;AATa;AAAA;AAAA,4BAUC;AACX,iBAAO,IAAIhrB,YAAJ,CAAiB,KAAK+qB,UAAtB,EAAkC,KAAKC,SAAvC,CAAP;AACH;AACD;;AAbc;AAAA;AAAA,4BAcO;AACjB,cAAM3tB,cAAc,GAAGyB,yBAAyB,CAAC,KAAKisB,UAAN,EAAkB,KAAKC,SAAvB,CAAhD;;AACA,cAAI5tB,iBAAiB,CAACC,cAAD,CAArB,EAAuC;AACnC,gBAAMO,UAAU,GAAGH,qBAAqB,CAACJ,cAAD,EAAiB,KAAK2tB,SAAtB,CAAxC;AACA,gBAAMh8B,aAAa,GAAGsO,sBAAsB,CAACD,cAAD,CAA5C;AACA7Z,qBAAS,IAAIuL,kBAAkB,CAAC6O,UAAD,EAAa5O,aAAb,CAA/B;AACA,gBAAM4I,WAAW,GAAGgG,UAAU,CAAC9S,KAAD,CAAV,CAAkB9uJ,IAAlB,CAAuBgzJ,aAAa,GAAG;AAAE;AAAzC,aAApB;AACA,mBAAO,IAAIgR,YAAJ,CAAiBpI,WAAjB,EAA8BgG,UAA9B,CAAP;AACH,WAND,MAOK;AACD,mBAAO,IAAIoC,YAAJ,CAAiB,IAAjB,EAAuB,KAAKgrB,SAA5B,CAAP;AACH;AACJ;AA1Ba;AAAA;AAAA,4BAmCD;AACT,iBAAO,KAAKF,WAAL,CAAiBn1L,MAAjB,GAA0B82J,uBAAjC;AACH;AArCa;;AAAA;AAAA,MAAkCk+B,qBAAlC,CAAlB;AAqJH;;AACDnnC,WAAS,IAAIyY,eAAe,CAACmqB,SAAD,EAAY;AAAG;AAAH,IAAwB;AAAE;AAAtC,GAA5B;AACA,MAAI3xB,UAAJ;AACA,MAAMT,SAAS,GAAG5zC,QAAQ,CAACgmE,SAAS,CAAC5jL,KAAX,CAA1B;;AACA,MAAIoqJ,YAAY,CAACoH,SAAD,CAAhB,EAA6B;AACzB;AACAS,cAAU,GAAGT,SAAb;AACH,GAHD,MAIK;AACD,QAAIo4B,WAAJ,CADC,CAED;AACA;AACA;AACA;;AACA,QAAIhG,SAAS,CAAC/jL,IAAV,GAAiB;AAAE;AAAvB,MAA+C;AAC3C+pL,mBAAW,GAAG74B,WAAW,CAACS,SAAD,CAAzB;AACH,OAFD,MAGK;AACDxQ,eAAS,IAAIA,SAAS,CAACH,qBAAV,EAAb;AACA+oC,iBAAW,GAAGhsE,QAAQ,CAACorC,QAAD,CAAR,CAAmB+jB,aAAnB,CAAiC/rB,SAAS,GAAG,WAAH,GAAiB,EAA3D,CAAd,CAFC,CAGD;AACA;AACA;AACA;AACA;;AACA,UAAIyJ,UAAU,CAAC7sC,QAAD,CAAd,EAA0B;AACtB,YAAM4yC,QAAQ,GAAG5yC,QAAQ,CAACorC,QAAD,CAAzB;AACA,YAAMw7B,UAAU,GAAGrzB,gBAAgB,CAACyyB,SAAD,EAAYhmE,QAAZ,CAAnC;AACA,YAAMisE,kBAAkB,GAAG5Z,gBAAgB,CAACzf,QAAD,EAAWg0B,UAAX,CAA3C;AACAjY,0BAAkB,CAAC/b,QAAD,EAAWq5B,kBAAX,EAA+BD,WAA/B,EAA4C1Z,iBAAiB,CAAC1f,QAAD,EAAWg0B,UAAX,CAA7D,EAAqF,KAArF,CAAlB;AACH,OALD,MAMK;AACD;AACA;AACA,YAAMsF,YAAY,GAAG9L,WAAW,CAACpgE,QAAQ,CAAC0qC,KAAD,CAAT,EAAkBs7B,SAAS,CAACp5K,MAA5B,EAAoC;AAAE;AAAtC,UAAuD,CAAvD,EAA0D,IAA1D,EAAgE,IAAhE,CAAhC;AACAo5J,mBAAW,CAAChmD,QAAQ,CAAC0qC,KAAD,CAAT,EAAkB1qC,QAAlB,EAA4BgsE,WAA5B,EAAyCE,YAAzC,CAAX;AACH;AACJ;;AACDlsE,YAAQ,CAACgmE,SAAS,CAAC5jL,KAAX,CAAR,GAA4BiyJ,UAAU,GAClCsyB,gBAAgB,CAAC/yB,SAAD,EAAY5zC,QAAZ,EAAsBgsE,WAAtB,EAAmChG,SAAnC,CADpB;AAEAI,iBAAa,CAACpmE,QAAD,EAAWq0C,UAAX,CAAb;AACH;;AACD,SAAO,IAAIg2B,kBAAJ,CAAuBh2B,UAAvB,EAAmC2xB,SAAnC,EAA8ChmE,QAA9C,CAAP;AACH;AACD;;;AACA,SAASmsE,uBAAT,GAAiD;AAAA,MAAhBxnJ,MAAgB,uEAAP,KAAO;AAC7C,SAAOynJ,aAAa,CAAC12B,eAAe,EAAhB,EAAoBL,QAAQ,EAA5B,EAAgC1wH,MAAhC,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASynJ,aAAT,CAAuBvqC,KAAvB,EAA8BkL,KAA9B,EAAqCpoH,MAArC,EAA6C;AACzC;AACA;AACA,MAAM0nJ,eAAe,GAAG,CAAC1nJ,MAAD,IAAW+nH,eAAe,CAAC7K,KAAD,CAAlD;;AACA,MAAIwqC,eAAJ,EAAqB;AACjB;AACA;AACA,QAAM5f,aAAa,GAAG9Y,wBAAwB,CAAC9R,KAAK,CAACz/I,KAAP,EAAc2qJ,KAAd,CAA9C,CAHiB,CAGmD;;AACpE,WAAO,IAAI27B,OAAJ,CAAYjc,aAAZ,EAA2BA,aAA3B,CAAP;AACH,GALD,MAMK,IAAI5qB,KAAK,CAAC5/I,IAAN,IAAc;AAAE;AAAF,IAAmB;AAAG;AAAtB,IAA2C;AAAG;AAA5D,GAAJ,EAA4E;AAC7E;AACA;AACA,QAAMqqL,iBAAiB,GAAGv/B,KAAK,CAACtB,0BAAD,CAA/B,CAH6E,CAGhB;;AAC7D,WAAO,IAAIi9B,OAAJ,CAAY4D,iBAAZ,EAA+Bv/B,KAA/B,CAAP;AACH;;AACD,SAAO,IAAP;AACH;AACD;;;AACA,SAASw/B,oBAAT,CAA8B74B,IAA9B,EAAoC;AAChC,MAAMd,QAAQ,GAAGc,IAAI,CAACtI,QAAD,CAArB;;AACA,MAAIuH,oBAAoB,CAACC,QAAD,CAAxB,EAAoC;AAChC,WAAOA,QAAP;AACH,GAFD,MAGK;AACD,UAAM,IAAI5+J,KAAJ,CAAU,8DAAV,CAAN;AACH;AACJ;AACD;;;AACA,SAASw4L,eAAT,GAA2B;AACvB;AACA;AACA,MAAMz/B,KAAK,GAAGsI,QAAQ,EAAtB;AACA,MAAMxT,KAAK,GAAG6T,eAAe,EAA7B;AACA,MAAM+2B,WAAW,GAAG94B,wBAAwB,CAAC9R,KAAK,CAACz/I,KAAP,EAAc2qJ,KAAd,CAA5C;AACA,SAAOw/B,oBAAoB,CAAChgC,OAAO,CAACkgC,WAAD,CAAP,GAAuBA,WAAvB,GAAqC1/B,KAAtC,CAA3B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM/yI,iB;;;AAEN;AACA;AACA;AACA;;;AACAA,iBAAiB,CAACunI,iBAAlB,GAAsC;AAAA,SAAMmrC,kCAAkC,EAAxC;AAAA,CAAtC;;AACA,IAAMC,6CAA6C,GAAGR,uBAAtD;;AACA,IAAMS,4CAA4C,GAAG,SAA/CA,4CAA+C,GAAa,CAAG,CAArE;;AACA,IAAMC,IAAI,GAAGF,6CAAb;AACA,IAAMD,kCAAkC,GAAGC,6CAA3C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMzuL,IAAI,GAAGC,QAAb;;AACA,SAAS2uL,MAAT,CAAgB5uH,CAAhB,EAAmB;AACf,SAAO,OAAOA,CAAP,KAAa,UAApB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM6uH,iBAAiB,GAAG,kFAA1B;AACA;;AACA,IAAMC,sBAAsB,GAAG,2CAA/B;AACA;AACA;AACA;AACA;;AACA,IAAMC,gCAAgC,GAAG,kEAAzC;AACA;AACA;AACA;AACA;;AACA,IAAMC,yCAAyC,GAAG,mGAAlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,kB;;;;;;;;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;4BACmB/4K,S,EAAW;AACtB,aAAOq4K,0BAA0B,CAACr4K,SAAD,CAAjC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;qCAC4BA,S,EAAWzT,M,EAAQ;AACvC,UAAMysL,2BAA2B,GAAGD,kBAAkB,CAACzzH,OAAnB,CAA2BtlD,SAA3B,CAApC;AACA,aAAO+4K,kBAAkB,CAACE,qBAAnB,CAAyCD,2BAAzC,EAAsEzsL,MAAtE,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;0CACiCyT,S,EAAWzT,M,EAAQ;AAC5C,aAAO,IAAI2sL,mBAAJ,CAAwBl5K,SAAxB,EAAmCzT,MAAnC,CAAP;AACH;;;;;;IAEC2sL,mB;AACF;AACJ;AACA;AACI,+BAAYC,UAAZ,EAAwBt5H,OAAxB,EAAiC;AAAA;;AAC7B;AACA,SAAKu5H,oBAAL,GAA4B,CAA5B;AACA,SAAKD,UAAL,GAAkBA,UAAlB;AACA,SAAK5sL,MAAL,GAAcszD,OAAO,IAAI,IAAzB;AACA,QAAMn+D,GAAG,GAAGy3L,UAAU,CAACjkM,MAAvB;AACA,SAAKmkM,MAAL,GAAc,EAAd;AACA,SAAKC,IAAL,GAAY,EAAZ;;AACA,SAAK,IAAI/iM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmL,GAApB,EAAyBnL,CAAC,EAA1B,EAA8B;AAC1B,WAAK8iM,MAAL,CAAY9iM,CAA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,CAAP,CAA/B,CADW,CACiC;;AAC5C,WAAK,IAAI5H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4H,MAAM,CAACjJ,MAA3B,EAAmCqB,CAAC,IAAI,CAAxC,EAA2C;AACvCsvM,8BAAsB,CAAClvM,IAAvB,CAA4BwH,MAAM,CAAC5H,CAAD,CAAlC;AACH;;AACDqxL,kCAA4B,MAA5B,UAA6BnmC,KAAK,CAAClmJ,IAAnC,EAAyCimJ,KAAzC,EAAgDp7E,QAAhD,EAA0D6vF,eAAe,KAAK4vC,sBAAsB,CAAC3wM,MAA3C,GAAoD,CAA9G,SAAoH2wM,sBAApH;AACH;AACJ;;AACD,SAAOyE,sBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,WAAW,GAAG,EAApB;AACA,IAAMC,aAAa,GAAG,EAAtB,C,CACA;;AACA,IAAI,CAAC,OAAOznD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDD,aAAa,EAApE,EAAwE;AACpE;AACA;AACA;AACAtnJ,QAAM,CAACwD,MAAP,CAAcurM,WAAd,EAJoE,CAKpE;;AACA/uM,QAAM,CAACwD,MAAP,CAAcwrM,aAAd;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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AnB,CAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMjI,O;;;;;;;wBACE5nH,O,EAAS;AACT;AACAm8E,aAAO,CAAC64H,GAAR,CAAYh1M,OAAZ;AACH,K,CACD;;;;yBACKA,O,EAAS;AACV;AACAm8E,aAAO,CAAC1iC,IAAR,CAAaz5C,OAAb;AACH;;;;;;AAEL4nH,OAAO,CAACwE,IAAR,GAAe,SAAS6oF,eAAT,CAAyBrnM,CAAzB,EAA4B;AAAE,SAAO,KAAKA,CAAC,IAAIg6G,OAAV,GAAP;AAA8B,CAA3E;;AACAA,OAAO,CAACthJ,KAAR,GAAgB0f,kBAAkB,CAAC;AAAE9f,OAAK,EAAE0hJ,OAAT;AAAkBt+I,SAAO,EAAEs+I,OAAO,CAACwE;AAAnC,CAAD,CAAlC;AACA;;AAAc,CAAC,YAAY;AAAEzkI,kBAAgB,CAACigI,OAAD,EAAU,CAAC;AAChD56I,QAAI,EAAEokC;AAD0C,GAAD,CAAV,EAErC,IAFqC,EAE/B,IAF+B,CAAhB;AAEP,CAFR;AAId;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM8jM,WAAW,GAAG,IAAIrlF,cAAJ,CAAmB,UAAnB,CAApB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMslF,qBAAqB,GAAG,IAAItlF,cAAJ,CAAmB,qBAAnB,CAA9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMulF,YAAY,GAAG,IAAIvlF,cAAJ,CAAmB,cAAnB,CAAr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C,MAAP,CAAc,EAAd,EAAkB8qJ,GAAlB,CAAd,EAAsC+yC,IAAtC,CAAN;AACH;;AACD,SAAO/yC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM8tF,c;AACF;AACA,0BAAYG,KAAZ,EAAmBtmK,QAAnB,EAA6BqlK,SAA7B,EAAwCkB,iBAAxC,EAA2DC,yBAA3D,EAAsFC,WAAtF,EAAmG;AAAA;;AAAA;;AAC/F,SAAKH,KAAL,GAAaA,KAAb;AACA,SAAKtmK,QAAL,GAAgBA,QAAhB;AACA,SAAKqlK,SAAL,GAAiBA,SAAjB;AACA,SAAKkB,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,yBAAL,GAAiCA,yBAAjC;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA;;AACA,SAAKC,mBAAL,GAA2B,EAA3B;AACA,SAAKC,MAAL,GAAc,EAAd;AACA,SAAKC,YAAL,GAAoB,KAApB;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACA,SAAKC,OAAL,GAAe,IAAf;AACA;AACR;AACA;AACA;;AACQ,SAAKC,cAAL,GAAsB,EAAtB;AACA;AACR;AACA;;AACQ,SAAKlvH,UAAL,GAAkB,EAAlB;AACA,SAAKgvH,oBAAL,GAA4BnwE,SAAS,EAArC;;AACA,SAAK4vE,KAAL,CAAW/H,gBAAX,CAA4Bn5F,SAA5B,CAAsC;AAClCz3E,UAA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,+HAAhC;AAAgC,C;;;;;;;;;;;;;;AACtC;AAAA,UAA2C;AAAA,UA3DoH,8DAAgB;AA2DpI,GAA3C;AAAA;;AA3DqL;AAI9K;AAAA,UAyDV,mDAAK;AAzDK,IAJ8K;AA6D9K;AAAA,UAEV,mDAAK;AAFK,IA7D8K;AA+D9K;AAAA,UAEV,mDAAK;AAFK,IA/D8K;AAiE9K;AAAA,UAEV,mDAAK;AAFK;AAjE8K;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmE7K,C;AC3Ed;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;;;IACa,c;AACX,0BAAmB,SAAnB,EAAwC,OAAxC,EAA2D,KAA3D,EAAiF,KAAjF,EAA8F;AAAA;;AAA3E;AAAqB;AAAmB;AAAsB;AAAiB;;;;wBAEzF;AACP,aAAO,KAAK,KAAL,KAAe,CAAtB;AACD;;;wBAEO;AACN,aAAO,KAAK,KAAL,KAAe,KAAK,KAAL,GAAa,CAAnC;AACD;;;wBAEO;AACN,aAAO,KAAK,KAAL,GAAa,CAAb,KAAmB,CAA1B;AACD;;;wBAEM;AACL,aAAO,CAAC,KAAK,IAAb;AACD;;;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,O;AAkDX,mBACY,cADZ,EAEY,SAFZ,EAEkE,QAFlE,EAE2F;AAAA;;AAD/E;AACA;AAAsD;AAR1D,oB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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,I;AAOX,gBAAoB,cAApB,EAAsD,WAAtD,EAA8F;AAAA;;AAA1E;AANZ,oBAA2B,IAAI,WAAJ,EAA3B;AACA,4BAAqD,IAArD;AACA,4BAAqD,IAArD;AACA,wBAAqD,IAArD;AACA,wBAAqD,IAArD;AAGN,SAAK,gBAAL,GAAwB,WAAxB;AACD;AACH;AAEC;AACE;;;;;kCA6BkB;AACjB,UAAI,KAAK,QAAL,CAAc,SAAlB,EAA6B;AAC3B,YAAI,CAAC,KAAK,YAAV,EAAwB;AACtB,eAAK,cAAL,CAAoB,KAApB;;AACA,eAAK,YAAL,GAAoB,IAApB;;AACA,cAAI,KAAK,gBAAT,EAA2B;AACzB,iBAAK,YAAL,GACI,KAAK,cAAL,CAAoB,kBAApB,CAAuC,KAAK,gBAA5C,EAA8D,KAAK,QAAnE,CADJ;AAED;AACF;AACF,OATD,MASO;AACL,YAAI,CAAC,KAAK,YAAV,EAAwB;AACtB,eAAK,cAAL,CAAoB,KAApB;;AACA,eAAK,YAAL,GAAoB,IAApB;;AACA,cAAI,KAAK,gBAAT,EAA2B;AACzB,iBAAK,YAAL,GACI,KAAK,cAAL,CAAoB,kBAApB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;;;;;8BAdF,qB,CAAI,C,EAAC;AAAC,SAAM,UAAW,aAAX,GAAN;AAAkB,C;;;;;;;;;;;;;;;;AACpB,C;ACpGL;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,Q;AACX,oBAAuC,MAAvC,EAAqD;AAAA;;AAAd;AAAkB;;;;8BAsBrD,K,EACe;AAAA,UAD2B,MAC3B,uEADoC,YACpC;AAAA,UADkD,QAClD;AAAA,UAAf,MAAe;AACjB,UAAI,KAAK,IAAI,IAAT,IAAiB,KAAK,KAAK,EAA3B,IAAiC,KAAK,KAAK,KAA/C,EAAsD,OAAO,IAAP;;AAEtD,UAAI;AACF,eAAO,UAAU,CAAC,KAAD,EAAQ,MAAR,EAAgB,MAAM,IAAI,KAAK,MAA/B,EAAuC,QAAvC,CAAjB;AACD,OAFD,CAEE,OAAO,KAAP,EAAc;AACd,cAAM,wBAAwB,CAAC,Q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EAA2B;AACzB,aAAK,IAAL,CAAU,GAAV,CAAc,OAAd,EAAuB,oBAAoB,GAAG,EAA9C;AACD;;AACD,mDAAoB,EAAC,IAArB,wKAA6B,YAA7B;AACD;;;wBAEG,O,EAAY;AACd,aAAO,KAAK,IAAL,CAAU,GAAV,CAAc,OAAd,CAAP;AACD;;;4BAEI;AACH,WAAK,IAAL,CAAU,KAAV;AACD;;;;;ACpCH;AACA;AACA;AACA;AACA;AACA;AACA;;;AAUA,IAAM,yBAAyB,GAAG,CAAlC;AACA,IAAM,WAAW,GAAG,QAApB;AACA,IAAM,iBAAiB,GAAG,IAAI,MAAJ,CAAW,WAAX,EAAwB,GAAxB,CAA1B;AACA,IAAM,WAAW,GAAG,QAApB;AACA,IAAM,iBAAiB,GAAG,IAAI,MAAJ,CAAW,WAAX,EAAwB,GAAxB,CAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAgB,uBAAhB,CACI,MADJ,EAC6B,WAD7B,EAC+C,GAD/C,EAEI,cAFJ,EAE4B,cAF5B,EAI+D;AAAA,MAFX,cAEW,uEAFkB,EAElB;AAAA,MAD3D,WAC2D,uEADjC,EACiC;AAAA,MAD7B,OAC6B;AAAA,MAA3D,eAA2D;AAAA,MAAlB,MAAkB,uEAAF,EAAE;AAC7D,SAAO,IAAI,+BAAJ,GAAsC,cAAtC,CACH,MADG,EACK,WADL,EACkB,GADlB,EACuB,cADvB,EACuC,cADvC,EACuD,cADvD,EACuE,WADvE,EAEH,OA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","file":"vendor.js","sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n CDK_TABLE_TEMPLATE,\n CdkTable,\n CDK_TABLE,\n _CoalescedStyleScheduler, _COALESCED_STYLE_SCHEDULER\n} from '@angular/cdk/table';\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {_DisposeViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY} from '@angular/cdk/collections';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n selector: 'mat-table, table[mat-table]',\n exportAs: 'matTable',\n template: CDK_TABLE_TEMPLATE,\n styleUrls: ['table.css'],\n host: {\n 'class': 'mat-table',\n '[class.mat-table-fixed-layout]': 'fixedLayout',\n },\n providers: [\n // TODO(michaeljamesparsons) Abstract the view repeater strategy to a directive API so this code\n // is only included in the build if used.\n {provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy},\n {provide: CdkTable, useExisting: MatTable},\n {provide: CDK_TABLE, useExisting: MatTable},\n {provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler},\n ],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class MatTable extends CdkTable {\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected stickyCssClass = 'mat-table-sticky';\n\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\n protected needsPositionStickyOnElement = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput} from '@angular/cdk/coercion';\nimport {Directive, Input} from '@angular/core';\nimport {\n CdkCell,\n CdkCellDef,\n CdkColumnDef, CdkFooterCell, CdkFooterCellDef,\n CdkHeaderCell,\n CdkHeaderCellDef,\n} from '@angular/cdk/table';\n\n/**\n * Cell definition for the mat-table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({\n selector: '[matCellDef]',\n providers: [{provide: CdkCellDef, useExisting: MatCellDef}]\n})\nexport class MatCellDef extends CdkCellDef {}\n\n/**\n * Header cell definition for the mat-table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[matHeaderCellDef]',\n providers: [{provide: CdkHeaderCellDef, useExisting: MatHeaderCellDef}]\n})\nexport class MatHeaderCellDef extends CdkHeaderCellDef {}\n\n/**\n * Footer cell definition for the mat-table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[matFooterCellDef]',\n providers: [{provide: CdkFooterCellDef, useExisting: MatFooterCellDef}]\n})\nexport class MatFooterCellDef extends CdkFooterCellDef {}\n\n/**\n * Column definition for the mat-table.\n * Defines a set of cells available for a table column.\n */\n@Directive({\n selector: '[matColumnDef]',\n inputs: ['sticky'],\n providers: [\n {provide: CdkColumnDef, useExisting: MatColumnDef},\n {provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: MatColumnDef}\n ],\n})\nexport class MatColumnDef extends CdkColumnDef {\n /** Unique name for this column. */\n @Input('matColumnDef')\n get name(): string { return this._name; }\n set name(name: string) { this._setNameInput(name); }\n\n /**\n * Add \"mat-column-\" prefix in addition to \"cdk-column-\" prefix.\n * In the future, this will only add \"mat-column-\" and columnCssClassName\n * will change from type string[] to string.\n * @docs-private\n */\n protected _updateColumnCssClassName() {\n super._updateColumnCssClassName();\n this._columnCssClassName!.push(`mat-column-${this.cssClassFriendlyName}`);\n }\n\n static ngAcceptInputType_sticky: BooleanInput;\n}\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-header-cell, th[mat-header-cell]',\n host: {\n 'class': 'mat-header-cell',\n 'role': 'columnheader',\n },\n})\nexport class MatHeaderCell extends CdkHeaderCell {}\n\n/** Footer cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-footer-cell, td[mat-footer-cell]',\n host: {\n 'class': 'mat-footer-cell',\n 'role': 'gridcell',\n },\n})\nexport class MatFooterCell extends CdkFooterCell {}\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-cell, td[mat-cell]',\n host: {\n 'class': 'mat-cell',\n 'role': 'gridcell',\n },\n})\nexport class MatCell extends CdkCell {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput} from '@angular/cdk/coercion';\nimport {\n CDK_ROW_TEMPLATE,\n CdkFooterRow,\n CdkFooterRowDef,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkRow,\n CdkRowDef,\n CdkNoDataRow\n} from '@angular/cdk/table';\nimport {ChangeDetectionStrategy, Component, Directive, ViewEncapsulation} from '@angular/core';\n\n/**\n * Header row definition for the mat-table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\n@Directive({\n selector: '[matHeaderRowDef]',\n providers: [{provide: CdkHeaderRowDef, useExisting: MatHeaderRowDef}],\n inputs: ['columns: matHeaderRowDef', 'sticky: matHeaderRowDefSticky'],\n})\nexport class MatHeaderRowDef extends CdkHeaderRowDef {\n static ngAcceptInputType_sticky: BooleanInput;\n}\n\n/**\n * Footer row definition for the mat-table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\n@Directive({\n selector: '[matFooterRowDef]',\n providers: [{provide: CdkFooterRowDef, useExisting: MatFooterRowDef}],\n inputs: ['columns: matFooterRowDef', 'sticky: matFooterRowDefSticky'],\n})\nexport class MatFooterRowDef extends CdkFooterRowDef {\n static ngAcceptInputType_sticky: BooleanInput;\n}\n\n/**\n * Data row definition for the mat-table.\n * Captures the data row's template and other properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n selector: '[matRowDef]',\n providers: [{provide: CdkRowDef, useExisting: MatRowDef}],\n inputs: ['columns: matRowDefColumns', 'when: matRowDefWhen'],\n})\nexport class MatRowDef extends CdkRowDef {\n}\n\n/** Header template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'mat-header-row, tr[mat-header-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'mat-header-row',\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matHeaderRow',\n providers: [{provide: CdkHeaderRow, useExisting: MatHeaderRow}],\n})\nexport class MatHeaderRow extends CdkHeaderRow {\n}\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'mat-footer-row, tr[mat-footer-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'mat-footer-row',\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matFooterRow',\n providers: [{provide: CdkFooterRow, useExisting: MatFooterRow}],\n})\nexport class MatFooterRow extends CdkFooterRow {\n}\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'mat-row, tr[mat-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'mat-row',\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matRow',\n providers: [{provide: CdkRow, useExisting: MatRow}],\n})\nexport class MatRow extends CdkRow {\n}\n\n/** Row that can be used to display a message when no data is shown in the table. */\n@Directive({\n selector: 'ng-template[matNoDataRow]',\n providers: [{provide: CdkNoDataRow, useExisting: MatNoDataRow}],\n})\nexport class MatNoDataRow extends CdkNoDataRow {\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTextColumn} from '@angular/cdk/table';\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/**\n * Column that simply shows text content for the header and row cells. Assumes that the table\n * is using the native table implementation (``).\n *\n * By default, the name of this column will be the header text and data property accessor.\n * The header text can be overridden with the `headerText` input. Cell values can be overridden with\n * the `dataAccessor` input. Change the text justification to the start or end using the `justify`\n * input.\n */\n@Component({\n selector: 'mat-text-column',\n template: `\n \n \n \n \n `,\n encapsulation: ViewEncapsulation.None,\n // Change detection is intentionally not set to OnPush. This component's template will be provided\n // to the table to be inserted into its view. This is problematic when change detection runs since\n // the bindings in this template will be evaluated _after_ the table's view is evaluated, which\n // mean's the template in the table's view will not have the updated value (and in fact will cause\n // an ExpressionChangedAfterItHasBeenCheckedError).\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class MatTextColumn extends CdkTextColumn {\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatTable} from './table';\nimport {CdkTableModule} from '@angular/cdk/table';\nimport {\n MatCell,\n MatCellDef,\n MatColumnDef,\n MatFooterCell,\n MatFooterCellDef,\n MatHeaderCell,\n MatHeaderCellDef\n} from './cell';\nimport {\n MatFooterRow,\n MatFooterRowDef,\n MatHeaderRow,\n MatHeaderRowDef,\n MatRow,\n MatRowDef,\n MatNoDataRow\n} from './row';\nimport {MatTextColumn} from './text-column';\nimport {MatCommonModule} from '@angular/material/core';\n\nconst EXPORTED_DECLARATIONS = [\n // Table\n MatTable,\n\n // Template defs\n MatHeaderCellDef,\n MatHeaderRowDef,\n MatColumnDef,\n MatCellDef,\n MatRowDef,\n MatFooterCellDef,\n MatFooterRowDef,\n\n // Cell directives\n MatHeaderCell,\n MatCell,\n MatFooterCell,\n\n // Row directives\n MatHeaderRow,\n MatRow,\n MatFooterRow,\n MatNoDataRow,\n\n MatTextColumn,\n];\n\n@NgModule({\n imports: [\n CdkTableModule,\n MatCommonModule,\n ],\n exports: [MatCommonModule, EXPORTED_DECLARATIONS],\n declarations: EXPORTED_DECLARATIONS,\n})\nexport class MatTableModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {_isNumberValue} from '@angular/cdk/coercion';\nimport {DataSource} from '@angular/cdk/table';\nimport {\n BehaviorSubject,\n combineLatest,\n merge,\n Observable,\n of as observableOf,\n Subscription,\n Subject,\n} from 'rxjs';\nimport {MatPaginator, PageEvent} from '@angular/material/paginator';\nimport {MatSort, Sort} from '@angular/material/sort';\nimport {map} from 'rxjs/operators';\n\n/**\n * Corresponds to `Number.MAX_SAFE_INTEGER`. Moved out into a variable here due to\n * flaky browser support and the value not being defined in Closure's typings.\n */\nconst MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Data source that accepts a client-side data array and includes native support of filtering,\n * sorting (using MatSort), and pagination (using MatPaginator).\n *\n * Allows for sort customization by overriding sortingDataAccessor, which defines how data\n * properties are accessed. Also allows for filter customization by overriding filterTermAccessor,\n * which defines how row data is converted to a string for filter matching.\n *\n * **Note:** This class is meant to be a simple data source to help you get started. As such\n * it isn't equipped to handle some more advanced cases like robust i18n support or server-side\n * interactions. If your app needs to support more advanced use cases, consider implementing your\n * own `DataSource`.\n */\nexport class MatTableDataSource extends DataSource {\n /** Stream that emits when a new data array is set on the data source. */\n private readonly _data: BehaviorSubject;\n\n /** Stream emitting render data to the table (depends on ordered data changes). */\n private readonly _renderData = new BehaviorSubject([]);\n\n /** Stream that emits when a new filter string is set on the data source. */\n private readonly _filter = new BehaviorSubject('');\n\n /** Used to react to internal changes of the paginator that are made by the data source itself. */\n private readonly _internalPageChanges = new Subject();\n\n /**\n * Subscription to the changes that should trigger an update to the table's rendered rows, such\n * as filtering, sorting, pagination, or base data changes.\n */\n _renderChangesSubscription = Subscription.EMPTY;\n\n /**\n * The filtered set of data that has been matched by the filter string, or all the data if there\n * is no filter. Useful for knowing the set of data the table represents.\n * For example, a 'selectAll()' function would likely want to select the set of filtered data\n * shown to the user rather than all the data.\n */\n filteredData: T[];\n\n /** Array of data that should be rendered by the table, where each object represents one row. */\n get data() { return this._data.value; }\n set data(data: T[]) { this._data.next(data); }\n\n /**\n * Filter term that should be used to filter out objects from the data array. To override how\n * data objects match to this filter string, provide a custom function for filterPredicate.\n */\n get filter(): string { return this._filter.value; }\n set filter(filter: string) { this._filter.next(filter); }\n\n /**\n * Instance of the MatSort directive used by the table to control its sorting. Sort changes\n * emitted by the MatSort will trigger an update to the table's rendered data.\n */\n get sort(): MatSort | null { return this._sort; }\n set sort(sort: MatSort|null) {\n this._sort = sort;\n this._updateChangeSubscription();\n }\n private _sort: MatSort|null;\n\n /**\n * Instance of the MatPaginator component used by the table to control what page of the data is\n * displayed. Page changes emitted by the MatPaginator will trigger an update to the\n * table's rendered data.\n *\n * Note that the data source uses the paginator's properties to calculate which page of data\n * should be displayed. If the paginator receives its properties as template inputs,\n * e.g. `[pageLength]=100` or `[pageIndex]=1`, then be sure that the paginator's view has been\n * initialized before assigning it to this data source.\n */\n get paginator(): MatPaginator | null { return this._paginator; }\n set paginator(paginator: MatPaginator|null) {\n this._paginator = paginator;\n this._updateChangeSubscription();\n }\n private _paginator: MatPaginator|null;\n\n /**\n * Data accessor function that is used for accessing data properties for sorting through\n * the default sortData function.\n * This default function assumes that the sort header IDs (which defaults to the column name)\n * matches the data's properties (e.g. column Xyz represents data['Xyz']).\n * May be set to a custom function for different behavior.\n * @param data Data object that is being accessed.\n * @param sortHeaderId The name of the column that represents the data.\n */\n sortingDataAccessor: ((data: T, sortHeaderId: string) => string|number) =\n (data: T, sortHeaderId: string): string|number => {\n const value = (data as {[key: string]: any})[sortHeaderId];\n\n if (_isNumberValue(value)) {\n const numberValue = Number(value);\n\n // Numbers beyond `MAX_SAFE_INTEGER` can't be compared reliably so we\n // leave them as strings. For more info: https://goo.gl/y5vbSg\n return numberValue < MAX_SAFE_INTEGER ? numberValue : value;\n }\n\n return value;\n }\n\n /**\n * Gets a sorted copy of the data array based on the state of the MatSort. Called\n * after changes are made to the filtered data or when sort changes are emitted from MatSort.\n * By default, the function retrieves the active sort and its direction and compares data\n * by retrieving data using the sortingDataAccessor. May be overridden for a custom implementation\n * of data ordering.\n * @param data The array of data that should be sorted.\n * @param sort The connected MatSort that holds the current sort state.\n */\n sortData: ((data: T[], sort: MatSort) => T[]) = (data: T[], sort: MatSort): T[] => {\n const active = sort.active;\n const direction = sort.direction;\n if (!active || direction == '') { return data; }\n\n return data.sort((a, b) => {\n let valueA = this.sortingDataAccessor(a, active);\n let valueB = this.sortingDataAccessor(b, active);\n\n // If there are data in the column that can be converted to a number,\n // it must be ensured that the rest of the data\n // is of the same type so as not to order incorrectly.\n const valueAType = typeof valueA;\n const valueBType = typeof valueB;\n\n if (valueAType !== valueBType) {\n if (valueAType === 'number') { valueA += ''; }\n if (valueBType === 'number') { valueB += ''; }\n }\n\n // If both valueA and valueB exist (truthy), then compare the two. Otherwise, check if\n // one value exists while the other doesn't. In this case, existing value should come last.\n // This avoids inconsistent results when comparing values to undefined/null.\n // If neither value exists, return 0 (equal).\n let comparatorResult = 0;\n if (valueA != null && valueB != null) {\n // Check if one value is greater than the other; if equal, comparatorResult should remain 0.\n if (valueA > valueB) {\n comparatorResult = 1;\n } else if (valueA < valueB) {\n comparatorResult = -1;\n }\n } else if (valueA != null) {\n comparatorResult = 1;\n } else if (valueB != null) {\n comparatorResult = -1;\n }\n\n return comparatorResult * (direction == 'asc' ? 1 : -1);\n });\n }\n\n /**\n * Checks if a data object matches the data source's filter string. By default, each data object\n * is converted to a string of its properties and returns true if the filter has\n * at least one occurrence in that string. By default, the filter string has its whitespace\n * trimmed and the match is case-insensitive. May be overridden for a custom implementation of\n * filter matching.\n * @param data Data object used to check against the filter.\n * @param filter Filter string that has been set on the data source.\n * @returns Whether the filter matches against the data\n */\n filterPredicate: ((data: T, filter: string) => boolean) = (data: T, filter: string): boolean => {\n // Transform the data into a lowercase string of all property values.\n const dataStr = Object.keys(data).reduce((currentTerm: string, key: string) => {\n // Use an obscure Unicode character to delimit the words in the concatenated string.\n // This avoids matches where the values of two columns combined will match the user's query\n // (e.g. `Flute` and `Stop` will match `Test`). The character is intended to be something\n // that has a very low chance of being typed in by somebody in a text field. This one in\n // particular is \"White up-pointing triangle with dot\" from\n // https://en.wikipedia.org/wiki/List_of_Unicode_characters\n return currentTerm + (data as {[key: string]: any})[key] + '◬';\n }, '').toLowerCase();\n\n // Transform the filter by converting it to lowercase and removing whitespace.\n const transformedFilter = filter.trim().toLowerCase();\n\n return dataStr.indexOf(transformedFilter) != -1;\n }\n\n constructor(initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject(initialData);\n this._updateChangeSubscription();\n }\n\n /**\n * Subscribe to changes that should trigger an update to the table's rendered rows. When the\n * changes occur, process the current state of the filter, sort, and pagination along with\n * the provided base data and send it to the table for rendering.\n */\n _updateChangeSubscription() {\n // Sorting and/or pagination should be watched if MatSort and/or MatPaginator are provided.\n // The events should emit whenever the component emits a change or initializes, or if no\n // component is provided, a stream with just a null event should be provided.\n // The `sortChange` and `pageChange` acts as a signal to the combineLatests below so that the\n // pipeline can progress to the next step. Note that the value from these streams are not used,\n // they purely act as a signal to progress in the pipeline.\n const sortChange: Observable = this._sort ?\n merge(this._sort.sortChange, this._sort.initialized) as Observable :\n observableOf(null);\n const pageChange: Observable = this._paginator ?\n merge(\n this._paginator.page,\n this._internalPageChanges,\n this._paginator.initialized\n ) as Observable :\n observableOf(null);\n const dataStream = this._data;\n // Watch for base data or filter changes to provide a filtered set of data.\n const filteredData = combineLatest([dataStream, this._filter])\n .pipe(map(([data]) => this._filterData(data)));\n // Watch for filtered data or sort changes to provide an ordered set of data.\n const orderedData = combineLatest([filteredData, sortChange])\n .pipe(map(([data]) => this._orderData(data)));\n // Watch for ordered data or page changes to provide a paged set of data.\n const paginatedData = combineLatest([orderedData, pageChange])\n .pipe(map(([data]) => this._pageData(data)));\n // Watched for paged data changes and send the result to the table to render.\n this._renderChangesSubscription.unsubscribe();\n this._renderChangesSubscription = paginatedData.subscribe(data => this._renderData.next(data));\n }\n\n /**\n * Returns a filtered data array where each filter object contains the filter string within\n * the result of the filterTermAccessor function. If no filter is set, returns the data array\n * as provided.\n */\n _filterData(data: T[]) {\n // If there is a filter string, filter out data that does not contain it.\n // Each data object is converted to a string using the function defined by filterTermAccessor.\n // May be overridden for customization.\n this.filteredData = (this.filter == null || this.filter === '') ? data :\n data.filter(obj => this.filterPredicate(obj, this.filter));\n\n if (this.paginator) { this._updatePaginator(this.filteredData.length); }\n\n return this.filteredData;\n }\n\n /**\n * Returns a sorted copy of the data if MatSort has a sort applied, otherwise just returns the\n * data array as provided. Uses the default data accessor for data lookup, unless a\n * sortDataAccessor function is defined.\n */\n _orderData(data: T[]): T[] {\n // If there is no active sort or direction, return the data without trying to sort.\n if (!this.sort) { return data; }\n\n return this.sortData(data.slice(), this.sort);\n }\n\n /**\n * Returns a paged slice of the provided data array according to the provided MatPaginator's page\n * index and length. If there is no paginator provided, returns the data array as provided.\n */\n _pageData(data: T[]): T[] {\n if (!this.paginator) { return data; }\n\n const startIndex = this.paginator.pageIndex * this.paginator.pageSize;\n return data.slice(startIndex, startIndex + this.paginator.pageSize);\n }\n\n /**\n * Updates the paginator to reflect the length of the filtered data, and makes sure that the page\n * index does not exceed the paginator's last page. Values are changed in a resolved promise to\n * guard against making property changes within a round of change detection.\n */\n _updatePaginator(filteredDataLength: number) {\n Promise.resolve().then(() => {\n const paginator = this.paginator;\n\n if (!paginator) { return; }\n\n paginator.length = filteredDataLength;\n\n // If the page index is set beyond the page, reduce it to the last page.\n if (paginator.pageIndex > 0) {\n const lastPageIndex = Math.ceil(paginator.length / paginator.pageSize) - 1 || 0;\n const newPageIndex = Math.min(paginator.pageIndex, lastPageIndex);\n\n if (newPageIndex !== paginator.pageIndex) {\n paginator.pageIndex = newPageIndex;\n\n // Since the paginator only emits after user-generated changes,\n // we need our own stream so we know to should re-render the data.\n this._internalPageChanges.next();\n }\n }\n });\n }\n\n /**\n * Used by the MatTable. Called when it connects to the data source.\n * @docs-private\n */\n connect() { return this._renderData; }\n\n /**\n * Used by the MatTable. Called when it is destroyed. No-op.\n * @docs-private\n */\n disconnect() { }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './table-module';\nexport * from './cell';\nexport * from './table';\nexport * from './row';\nexport * from './table-data-source';\nexport * from './text-column';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nexport function throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nexport function throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nexport function throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nexport function throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n 'a ComponentPortal or a TemplatePortal.');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nexport function throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nexport function throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n TemplateRef,\n ViewContainerRef,\n ElementRef,\n ComponentRef,\n EmbeddedViewRef,\n Injector,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport {\n throwNullPortalOutletError,\n throwPortalAlreadyAttachedError,\n throwNoPortalAttachedError,\n throwNullPortalError,\n throwPortalOutletAlreadyDisposedError,\n throwUnknownPortalTypeError\n} from './portal-errors';\n\n/** Interface that can be used to generically type a class. */\nexport interface ComponentType {\n new (...args: any[]): T;\n}\n\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nexport abstract class Portal {\n private _attachedHost: PortalOutlet | null;\n\n /** Attach this portal to a host. */\n attach(host: PortalOutlet): T {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n }\n\n this._attachedHost = host;\n return host.attach(this);\n }\n\n /** Detach this portal from its host */\n detach(): void {\n let host = this._attachedHost;\n\n if (host != null) {\n this._attachedHost = null;\n host.detach();\n } else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwNoPortalAttachedError();\n }\n }\n\n /** Whether this portal is attached to a host. */\n get isAttached(): boolean {\n return this._attachedHost != null;\n }\n\n /**\n * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n * the PortalOutlet when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host: PortalOutlet | null) {\n this._attachedHost = host;\n }\n}\n\n\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nexport class ComponentPortal extends Portal> {\n /** The type of the component that will be instantiated for attachment. */\n component: ComponentType;\n\n /**\n * [Optional] Where the attached component should live in Angular's *logical* component tree.\n * This is different from where the component *renders*, which is determined by the PortalOutlet.\n * The origin is necessary when the host is outside of the Angular application context.\n */\n viewContainerRef?: ViewContainerRef | null;\n\n /** [Optional] Injector used for the instantiation of the component. */\n injector?: Injector | null;\n\n /**\n * Alternate `ComponentFactoryResolver` to use when resolving the associated component.\n * Defaults to using the resolver from the outlet that the portal is attached to.\n */\n componentFactoryResolver?: ComponentFactoryResolver | null;\n\n constructor(\n component: ComponentType,\n viewContainerRef?: ViewContainerRef | null,\n injector?: Injector | null,\n componentFactoryResolver?: ComponentFactoryResolver | null) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.componentFactoryResolver = componentFactoryResolver;\n }\n}\n\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nexport class TemplatePortal extends Portal> {\n /** The embedded template that will be used to instantiate an embedded View in the host. */\n templateRef: TemplateRef;\n\n /** Reference to the ViewContainer into which the template will be stamped out. */\n viewContainerRef: ViewContainerRef;\n\n /** Contextual data to be passed in to the embedded view. */\n context: C | undefined;\n\n constructor(template: TemplateRef, viewContainerRef: ViewContainerRef, context?: C) {\n super();\n this.templateRef = template;\n this.viewContainerRef = viewContainerRef;\n this.context = context;\n }\n\n get origin(): ElementRef {\n return this.templateRef.elementRef;\n }\n\n /**\n * Attach the portal to the provided `PortalOutlet`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n */\n attach(host: PortalOutlet, context: C | undefined = this.context): EmbeddedViewRef {\n this.context = context;\n return super.attach(host);\n }\n\n detach(): void {\n this.context = undefined;\n return super.detach();\n }\n}\n\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n */\nexport class DomPortal extends Portal {\n /** DOM node hosting the portal's content. */\n readonly element: T;\n\n constructor(element: T | ElementRef) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\n\n\n/** A `PortalOutlet` is an space that can contain a single `Portal`. */\nexport interface PortalOutlet {\n /** Attaches a portal to this outlet. */\n attach(portal: Portal): any;\n\n /** Detaches the currently attached portal from this outlet. */\n detach(): any;\n\n /** Performs cleanup before the outlet is destroyed. */\n dispose(): void;\n\n /** Whether there is currently a portal attached to this outlet. */\n hasAttached(): boolean;\n}\n\n/**\n * @deprecated Use `PortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nexport type PortalHost = PortalOutlet;\n\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nexport abstract class BasePortalOutlet implements PortalOutlet {\n /** The portal currently attached to the host. */\n protected _attachedPortal: Portal | null;\n\n /** A function that will permanently dispose this host. */\n private _disposeFn: (() => void) | null;\n\n /** Whether this host has already been permanently disposed. */\n private _isDisposed: boolean = false;\n\n /** Whether this host has an attached portal. */\n hasAttached(): boolean {\n return !!this._attachedPortal;\n }\n\n attach(portal: ComponentPortal): ComponentRef;\n attach(portal: TemplatePortal): EmbeddedViewRef;\n attach(portal: any): any;\n\n /** Attaches a portal. */\n attach(portal: Portal): any {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!portal) {\n throwNullPortalError();\n }\n\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n }\n\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n } else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n } else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwUnknownPortalTypeError();\n }\n }\n\n abstract attachComponentPortal(portal: ComponentPortal): ComponentRef;\n\n abstract attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef;\n\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n readonly attachDomPortal: null | ((portal: DomPortal) => any) = null;\n\n /** Detaches a previously attached portal. */\n detach(): void {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n\n this._invokeDisposeFn();\n }\n\n /** Permanently dispose of this portal host. */\n dispose(): void {\n if (this.hasAttached()) {\n this.detach();\n }\n\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n\n /** @docs-private */\n setDisposeFn(fn: () => void) {\n this._disposeFn = fn;\n }\n\n private _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n }\n}\n\n/**\n * @deprecated Use `BasePortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nexport abstract class BasePortalHost extends BasePortalOutlet {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n ApplicationRef,\n Injector,\n} from '@angular/core';\nimport {BasePortalOutlet, ComponentPortal, TemplatePortal, DomPortal} from './portal';\n\n\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nexport class DomPortalOutlet extends BasePortalOutlet {\n private _document: Document;\n\n constructor(\n /** Element into which the content is projected. */\n public outletElement: Element,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _appRef: ApplicationRef,\n private _defaultInjector: Injector,\n\n /**\n * @deprecated `_document` Parameter to be made required.\n * @breaking-change 10.0.0\n */\n _document?: any) {\n super();\n this._document = _document;\n }\n\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @param portal Portal to be attached\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal: ComponentPortal): ComponentRef {\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n let componentRef: ComponentRef;\n\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n componentRef = portal.viewContainerRef.createComponent(\n componentFactory,\n portal.viewContainerRef.length,\n portal.injector || portal.viewContainerRef.injector);\n\n this.setDisposeFn(() => componentRef.destroy());\n } else {\n componentRef = componentFactory.create(portal.injector || this._defaultInjector);\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n this._appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n\n return componentRef;\n }\n\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef {\n let viewContainer = portal.viewContainerRef;\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\n\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalOutlet the view can be added everywhere in the DOM\n // (e.g Overlay Container) To move the view to the specified host element. We just\n // re-append the existing root nodes.\n viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n\n // Note that we want to detect changes after the nodes have been moved so that\n // any directives inside the portal that are looking at the DOM inside a lifecycle\n // hook won't be invoked too early.\n viewRef.detectChanges();\n\n this.setDisposeFn((() => {\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n }));\n\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n attachDomPortal = (portal: DomPortal) => {\n // @breaking-change 10.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n\n element.parentNode!.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n\n super.setDisposeFn(() => {\n // We can't use `replaceWith` here because IE doesn't support it.\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n }\n\n /**\n * Clears out a portal from the DOM.\n */\n dispose(): void {\n super.dispose();\n if (this.outletElement.parentNode != null) {\n this.outletElement.parentNode.removeChild(this.outletElement);\n }\n }\n\n /** Gets the root HTMLElement for an instantiated component. */\n private _getComponentRootNode(componentRef: ComponentRef): HTMLElement {\n return (componentRef.hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\n }\n}\n\n/**\n * @deprecated Use `DomPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nexport class DomPortalHost extends DomPortalOutlet {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n EmbeddedViewRef,\n EventEmitter,\n NgModule,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewContainerRef,\n Inject,\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {BasePortalOutlet, ComponentPortal, Portal, TemplatePortal, DomPortal} from './portal';\n\n\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\n@Directive({\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal',\n})\nexport class CdkPortal extends TemplatePortal {\n constructor(templateRef: TemplateRef, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\n/**\n * @deprecated Use `CdkPortal` instead.\n * @breaking-change 9.0.0\n */\n@Directive({\n selector: '[cdk-portal], [portal]',\n exportAs: 'cdkPortal',\n providers: [{\n provide: CdkPortal,\n useExisting: TemplatePortalDirective\n }]\n})\nexport class TemplatePortalDirective extends CdkPortal {}\n\n/**\n * Possible attached references to the CdkPortalOutlet.\n */\nexport type CdkPortalOutletAttachedRef = ComponentRef | EmbeddedViewRef | null;\n\n\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * ``\n */\n@Directive({\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n inputs: ['portal: cdkPortalOutlet']\n})\nexport class CdkPortalOutlet extends BasePortalOutlet implements OnInit, OnDestroy {\n private _document: Document;\n\n /** Whether the portal component is initialized. */\n private _isInitialized = false;\n\n /** Reference to the currently-attached component/view ref. */\n private _attachedRef: CdkPortalOutletAttachedRef;\n\n constructor(\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _viewContainerRef: ViewContainerRef,\n\n /**\n * @deprecated `_document` parameter to be made required.\n * @breaking-change 9.0.0\n */\n @Inject(DOCUMENT) _document?: any) {\n super();\n this._document = _document;\n }\n\n /** Portal associated with the Portal outlet. */\n get portal(): Portal | null {\n return this._attachedPortal;\n }\n\n set portal(portal: Portal | null) {\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `
`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n\n if (this.hasAttached()) {\n super.detach();\n }\n\n if (portal) {\n super.attach(portal);\n }\n\n this._attachedPortal = portal;\n }\n\n /** Emits when a portal is attached to the outlet. */\n @Output() attached: EventEmitter =\n new EventEmitter();\n\n /** Component or view reference that is attached to the portal. */\n get attachedRef(): CdkPortalOutletAttachedRef {\n return this._attachedRef;\n }\n\n ngOnInit() {\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n super.dispose();\n this._attachedPortal = null;\n this._attachedRef = null;\n }\n\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal: ComponentPortal): ComponentRef {\n portal.setAttachedHost(this);\n\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef = portal.viewContainerRef != null ?\n portal.viewContainerRef :\n this._viewContainerRef;\n\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n const ref = viewContainerRef.createComponent(\n componentFactory, viewContainerRef.length,\n portal.injector || viewContainerRef.injector);\n\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild((ref.hostView as EmbeddedViewRef).rootNodes[0]);\n }\n\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n\n return ref;\n }\n\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n super.setDisposeFn(() => this._viewContainerRef.clear());\n\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n\n return viewRef;\n }\n\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n attachDomPortal = (portal: DomPortal) => {\n // @breaking-change 9.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n\n portal.setAttachedHost(this);\n element.parentNode!.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n\n super.setDisposeFn(() => {\n if (anchorNode.parentNode) {\n anchorNode.parentNode!.replaceChild(element, anchorNode);\n }\n });\n }\n\n /** Gets the root node of the portal outlet. */\n private _getRootNode(): HTMLElement {\n const nativeElement: Node = this._viewContainerRef.element.nativeElement;\n\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return (nativeElement.nodeType === nativeElement.ELEMENT_NODE ?\n nativeElement : nativeElement.parentNode!) as HTMLElement;\n }\n\n static ngAcceptInputType_portal: Portal | null | undefined | '';\n}\n\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\n@Directive({\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost'],\n providers: [{\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective\n }]\n})\nexport class PortalHostDirective extends CdkPortalOutlet {}\n\n\n@NgModule({\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n})\nexport class PortalModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injector} from '@angular/core';\n\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * @docs-private\n * @deprecated Use `Injector.create` instead.\n * @breaking-change 11.0.0\n */\nexport class PortalInjector implements Injector {\n constructor(\n private _parentInjector: Injector,\n private _customTokens: WeakMap) { }\n\n get(token: any, notFoundValue?: any): any {\n const value = this._customTokens.get(token);\n\n if (typeof value !== 'undefined') {\n return value;\n }\n\n return this._parentInjector.get(token, notFoundValue);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './portal';\nexport * from './dom-portal-outlet';\nexport * from './portal-directives';\nexport * from './portal-injector';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","import { Subscriber } from '../Subscriber';\nimport { empty } from '../observable/empty';\nexport function repeat(count = -1) {\n return (source) => {\n if (count === 0) {\n return empty();\n }\n else if (count < 0) {\n return source.lift(new RepeatOperator(-1, source));\n }\n else {\n return source.lift(new RepeatOperator(count - 1, source));\n }\n };\n}\nclass RepeatOperator {\n constructor(count, source) {\n this.count = count;\n this.source = source;\n }\n call(subscriber, source) {\n return source.subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\n }\n}\nclass RepeatSubscriber extends Subscriber {\n constructor(destination, count, source) {\n super(destination);\n this.count = count;\n this.source = source;\n }\n complete() {\n if (!this.isStopped) {\n const { source, count } = this;\n if (count === 0) {\n return super.complete();\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n }\n}\n//# sourceMappingURL=repeat.js.map","import { Subscriber } from '../Subscriber';\nexport function distinctUntilChanged(compare, keySelector) {\n return (source) => source.lift(new DistinctUntilChangedOperator(compare, keySelector));\n}\nclass DistinctUntilChangedOperator {\n constructor(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n call(subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n }\n}\nclass DistinctUntilChangedSubscriber extends Subscriber {\n constructor(destination, compare, keySelector) {\n super(destination);\n this.keySelector = keySelector;\n this.hasKey = false;\n if (typeof compare === 'function') {\n this.compare = compare;\n }\n }\n compare(x, y) {\n return x === y;\n }\n _next(value) {\n let key;\n try {\n const { keySelector } = this;\n key = keySelector ? keySelector(value) : value;\n }\n catch (err) {\n return this.destination.error(err);\n }\n let result = false;\n if (this.hasKey) {\n try {\n const { compare } = this;\n result = compare(this.key, key);\n }\n catch (err) {\n return this.destination.error(err);\n }\n }\n else {\n this.hasKey = true;\n }\n if (!result) {\n this.key = key;\n this.destination.next(value);\n }\n }\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function distinct(keySelector, flushes) {\n return (source) => source.lift(new DistinctOperator(keySelector, flushes));\n}\nclass DistinctOperator {\n constructor(keySelector, flushes) {\n this.keySelector = keySelector;\n this.flushes = flushes;\n }\n call(subscriber, source) {\n return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\n }\n}\nexport class DistinctSubscriber extends SimpleOuterSubscriber {\n constructor(destination, keySelector, flushes) {\n super(destination);\n this.keySelector = keySelector;\n this.values = new Set();\n if (flushes) {\n this.add(innerSubscribe(flushes, new SimpleInnerSubscriber(this)));\n }\n }\n notifyNext() {\n this.values.clear();\n }\n notifyError(error) {\n this._error(error);\n }\n _next(value) {\n if (this.keySelector) {\n this._useKeySelector(value);\n }\n else {\n this._finalizeNext(value, value);\n }\n }\n _useKeySelector(value) {\n let key;\n const { destination } = this;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this._finalizeNext(key, value);\n }\n _finalizeNext(key, value) {\n const { values } = this;\n if (!values.has(key)) {\n values.add(key);\n this.destination.next(value);\n }\n }\n}\n//# sourceMappingURL=distinct.js.map","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nexport function fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n return new Observable(subscriber => {\n const handler = (...e) => subscriber.next(e.length === 1 ? e[0] : e);\n let retValue;\n try {\n retValue = addHandler(handler);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!isFunction(removeHandler)) {\n return undefined;\n }\n return () => removeHandler(handler, retValue);\n });\n}\n//# sourceMappingURL=fromEventPattern.js.map","import { ReplaySubject } from '../ReplaySubject';\nimport { multicast } from './multicast';\nexport function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {\n if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') {\n scheduler = selectorOrScheduler;\n }\n const selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined;\n const subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n return (source) => multicast(() => subject, selector)(source);\n}\n//# sourceMappingURL=publishReplay.js.map","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Observable} from 'rxjs';\nimport {CollectionViewer} from './collection-viewer';\n\nexport abstract class DataSource {\n /**\n * Connects a collection viewer (such as a data-table) to this data source. Note that\n * the stream provided will be accessed during change detection and should not directly change\n * values that are bound in template views.\n * @param collectionViewer The component that exposes a view over the data provided by this\n * data source.\n * @returns Observable that emits a new value when the data changes.\n */\n abstract connect(collectionViewer: CollectionViewer): Observable>;\n\n /**\n * Disconnects a collection viewer (such as a data-table) from this data source. Can be used\n * to perform any clean-up or tear-down operations when a view is being destroyed.\n *\n * @param collectionViewer The component that exposes a view over the data provided by this\n * data source.\n */\n abstract disconnect(collectionViewer: CollectionViewer): void;\n}\n\n/** Checks whether an object is a data source. */\nexport function isDataSource(value: any): value is DataSource {\n // Check if the value is a DataSource by observing if it has a connect function. Cannot\n // be checked as an `instanceof DataSource` since people could create their own sources\n // that match the interface, but don't extend DataSource.\n return value && typeof value.connect === 'function';\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Observable, isObservable, of as observableOf} from 'rxjs';\nimport {DataSource} from './data-source';\n\n\n/** DataSource wrapper for a native array. */\nexport class ArrayDataSource extends DataSource {\n constructor(private _data: T[] | ReadonlyArray | Observable>) {\n super();\n }\n\n connect(): Observable> {\n return isObservable(this._data) ? this._data : observableOf(this._data);\n }\n\n disconnect() {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Observable} from 'rxjs';\n\n\n/** Represents a range of numbers with a specified start and end. */\nexport type ListRange = {start: number, end: number};\n\n\n/**\n * Interface for any component that provides a view of some data collection and wants to provide\n * information regarding the view and any changes made.\n */\nexport interface CollectionViewer {\n /**\n * A stream that emits whenever the `CollectionViewer` starts looking at a new portion of the\n * data. The `start` index is inclusive, while the `end` is exclusive.\n */\n viewChange: Observable;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n EmbeddedViewRef,\n IterableChangeRecord,\n IterableChanges,\n ViewContainerRef\n} from '@angular/core';\nimport {\n _ViewRepeater,\n _ViewRepeaterItemChanged,\n _ViewRepeaterItemContext,\n _ViewRepeaterItemContextFactory,\n _ViewRepeaterItemValueResolver,\n _ViewRepeaterOperation\n} from './view-repeater';\n\n/**\n * A repeater that destroys views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will always construct a new embedded view for each item.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport class _DisposeViewRepeaterStrategy>\n implements _ViewRepeater {\n applyChanges(changes: IterableChanges,\n viewContainerRef: ViewContainerRef,\n itemContextFactory: _ViewRepeaterItemContextFactory,\n itemValueResolver: _ViewRepeaterItemValueResolver,\n itemViewChanged?: _ViewRepeaterItemChanged) {\n changes.forEachOperation(\n (record: IterableChangeRecord,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null) => {\n let view: EmbeddedViewRef | undefined;\n let operation: _ViewRepeaterOperation;\n if (record.previousIndex == null) {\n const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = viewContainerRef.createEmbeddedView(\n insertContext.templateRef, insertContext.context, insertContext.index);\n operation = _ViewRepeaterOperation.INSERTED;\n } else if (currentIndex == null) {\n viewContainerRef.remove(adjustedPreviousIndex!);\n operation = _ViewRepeaterOperation.REMOVED;\n } else {\n view = viewContainerRef.get(adjustedPreviousIndex!) as EmbeddedViewRef;\n viewContainerRef.move(view!, currentIndex);\n operation = _ViewRepeaterOperation.MOVED;\n }\n\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n\n detach() {\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n EmbeddedViewRef,\n IterableChangeRecord,\n IterableChanges,\n ViewContainerRef\n} from '@angular/core';\nimport {\n _ViewRepeater,\n _ViewRepeaterItemChanged,\n _ViewRepeaterItemContext,\n _ViewRepeaterItemContextFactory,\n _ViewRepeaterItemInsertArgs,\n _ViewRepeaterItemValueResolver,\n _ViewRepeaterOperation\n} from './view-repeater';\n\n\n/**\n * A repeater that caches views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will reuse one of the cached views instead of creating a new\n * embedded view. Recycling cached views reduces the quantity of expensive DOM\n * inserts.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport class _RecycleViewRepeaterStrategy>\n implements _ViewRepeater {\n /**\n * The size of the cache used to store unused views.\n * Setting the cache size to `0` will disable caching. Defaults to 20 views.\n */\n viewCacheSize: number = 20;\n\n /**\n * View cache that stores embedded view instances that have been previously stamped out,\n * but don't are not currently rendered. The view repeater will reuse these views rather than\n * creating brand new ones.\n *\n * TODO(michaeljamesparsons) Investigate whether using a linked list would improve performance.\n */\n private _viewCache: EmbeddedViewRef[] = [];\n\n /** Apply changes to the DOM. */\n applyChanges(changes: IterableChanges,\n viewContainerRef: ViewContainerRef,\n itemContextFactory: _ViewRepeaterItemContextFactory,\n itemValueResolver: _ViewRepeaterItemValueResolver,\n itemViewChanged?: _ViewRepeaterItemChanged) {\n // Rearrange the views to put them in the right location.\n changes.forEachOperation((record: IterableChangeRecord,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null) => {\n let view: EmbeddedViewRef | undefined;\n let operation: _ViewRepeaterOperation;\n if (record.previousIndex == null) { // Item added.\n const viewArgsFactory = () => itemContextFactory(\n record, adjustedPreviousIndex, currentIndex);\n view = this._insertView(viewArgsFactory, currentIndex!, viewContainerRef,\n itemValueResolver(record));\n operation = view ? _ViewRepeaterOperation.INSERTED : _ViewRepeaterOperation.REPLACED;\n } else if (currentIndex == null) { // Item removed.\n this._detachAndCacheView(adjustedPreviousIndex!, viewContainerRef);\n operation = _ViewRepeaterOperation.REMOVED;\n } else { // Item moved.\n view = this._moveView(adjustedPreviousIndex!, currentIndex!, viewContainerRef,\n itemValueResolver(record));\n operation = _ViewRepeaterOperation.MOVED;\n }\n\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n\n detach() {\n for (const view of this._viewCache) {\n view.destroy();\n }\n }\n\n /**\n * Inserts a view for a new item, either from the cache or by creating a new\n * one. Returns `undefined` if the item was inserted into a cached view.\n */\n private _insertView(viewArgsFactory: () => _ViewRepeaterItemInsertArgs, currentIndex: number,\n viewContainerRef: ViewContainerRef,\n value: T): EmbeddedViewRef | undefined {\n let cachedView = this._insertViewFromCache(currentIndex!, viewContainerRef);\n if (cachedView) {\n cachedView.context.$implicit = value;\n return undefined;\n }\n\n const viewArgs = viewArgsFactory();\n return viewContainerRef.createEmbeddedView(\n viewArgs.templateRef, viewArgs.context, viewArgs.index);\n }\n\n /** Detaches the view at the given index and inserts into the view cache. */\n private _detachAndCacheView(index: number, viewContainerRef: ViewContainerRef) {\n const detachedView = this._detachView(index, viewContainerRef);\n this._maybeCacheView(detachedView, viewContainerRef);\n }\n\n /** Moves view at the previous index to the current index. */\n private _moveView(adjustedPreviousIndex: number, currentIndex: number,\n viewContainerRef: ViewContainerRef, value: T): EmbeddedViewRef {\n const view = viewContainerRef.get(adjustedPreviousIndex!) as\n EmbeddedViewRef;\n viewContainerRef.move(view, currentIndex);\n view.context.$implicit = value;\n return view;\n }\n\n /**\n * Cache the given detached view. If the cache is full, the view will be\n * destroyed.\n */\n private _maybeCacheView(view: EmbeddedViewRef, viewContainerRef: ViewContainerRef) {\n if (this._viewCache.length < this.viewCacheSize) {\n this._viewCache.push(view);\n } else {\n const index = viewContainerRef.indexOf(view);\n\n // The host component could remove views from the container outside of\n // the view repeater. It's unlikely this will occur, but just in case,\n // destroy the view on its own, otherwise destroy it through the\n // container to ensure that all the references are removed.\n if (index === -1) {\n view.destroy();\n } else {\n viewContainerRef.remove(index);\n }\n }\n }\n\n /** Inserts a recycled view from the cache at the given index. */\n private _insertViewFromCache(index: number,\n viewContainerRef: ViewContainerRef): EmbeddedViewRef | null {\n const cachedView = this._viewCache.pop();\n if (cachedView) {\n viewContainerRef.insert(cachedView, index);\n }\n return cachedView || null;\n }\n\n /** Detaches the embedded view at the given index. */\n private _detachView(index: number, viewContainerRef: ViewContainerRef): EmbeddedViewRef {\n return viewContainerRef.detach(index) as EmbeddedViewRef;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Subject} from 'rxjs';\n\n/**\n * Class to be used to power selecting one or more options from a list.\n */\nexport class SelectionModel {\n /** Currently-selected values. */\n private _selection = new Set();\n\n /** Keeps track of the deselected options that haven't been emitted by the change event. */\n private _deselectedToEmit: T[] = [];\n\n /** Keeps track of the selected options that haven't been emitted by the change event. */\n private _selectedToEmit: T[] = [];\n\n /** Cache for the array value of the selected items. */\n private _selected: T[] | null;\n\n /** Selected values. */\n get selected(): T[] {\n if (!this._selected) {\n this._selected = Array.from(this._selection.values());\n }\n\n return this._selected;\n }\n\n /** Event emitted when the value has changed. */\n changed: Subject> = new Subject();\n\n constructor(\n private _multiple = false,\n initiallySelectedValues?: T[],\n private _emitChanges = true) {\n\n if (initiallySelectedValues && initiallySelectedValues.length) {\n if (_multiple) {\n initiallySelectedValues.forEach(value => this._markSelected(value));\n } else {\n this._markSelected(initiallySelectedValues[0]);\n }\n\n // Clear the array in order to avoid firing the change event for preselected values.\n this._selectedToEmit.length = 0;\n }\n }\n\n /**\n * Selects a value or an array of values.\n */\n select(...values: T[]): void {\n this._verifyValueAssignment(values);\n values.forEach(value => this._markSelected(value));\n this._emitChangeEvent();\n }\n\n /**\n * Deselects a value or an array of values.\n */\n deselect(...values: T[]): void {\n this._verifyValueAssignment(values);\n values.forEach(value => this._unmarkSelected(value));\n this._emitChangeEvent();\n }\n\n /**\n * Toggles a value between selected and deselected.\n */\n toggle(value: T): void {\n this.isSelected(value) ? this.deselect(value) : this.select(value);\n }\n\n /**\n * Clears all of the selected values.\n */\n clear(): void {\n this._unmarkAll();\n this._emitChangeEvent();\n }\n\n /**\n * Determines whether a value is selected.\n */\n isSelected(value: T): boolean {\n return this._selection.has(value);\n }\n\n /**\n * Determines whether the model does not have a value.\n */\n isEmpty(): boolean {\n return this._selection.size === 0;\n }\n\n /**\n * Determines whether the model has a value.\n */\n hasValue(): boolean {\n return !this.isEmpty();\n }\n\n /**\n * Sorts the selected values based on a predicate function.\n */\n sort(predicate?: (a: T, b: T) => number): void {\n if (this._multiple && this.selected) {\n this._selected!.sort(predicate);\n }\n }\n\n /**\n * Gets whether multiple values can be selected.\n */\n isMultipleSelection() {\n return this._multiple;\n }\n\n /** Emits a change event and clears the records of selected and deselected values. */\n private _emitChangeEvent() {\n // Clear the selected values so they can be re-cached.\n this._selected = null;\n\n if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n this.changed.next({\n source: this,\n added: this._selectedToEmit,\n removed: this._deselectedToEmit\n });\n\n this._deselectedToEmit = [];\n this._selectedToEmit = [];\n }\n }\n\n /** Selects a value. */\n private _markSelected(value: T) {\n if (!this.isSelected(value)) {\n if (!this._multiple) {\n this._unmarkAll();\n }\n\n this._selection.add(value);\n\n if (this._emitChanges) {\n this._selectedToEmit.push(value);\n }\n }\n }\n\n /** Deselects a value. */\n private _unmarkSelected(value: T) {\n if (this.isSelected(value)) {\n this._selection.delete(value);\n\n if (this._emitChanges) {\n this._deselectedToEmit.push(value);\n }\n }\n }\n\n /** Clears out the selected values. */\n private _unmarkAll() {\n if (!this.isEmpty()) {\n this._selection.forEach(value => this._unmarkSelected(value));\n }\n }\n\n /**\n * Verifies the value assignment and throws an error if the specified value array is\n * including multiple values while the selection model is not supporting multiple values.\n */\n private _verifyValueAssignment(values: T[]) {\n if (values.length > 1 && !this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMultipleValuesInSingleSelectionError();\n }\n }\n}\n\n/**\n * Event emitted when the value of a MatSelectionModel has changed.\n * @docs-private\n */\nexport interface SelectionChange {\n /** Model that dispatched the event. */\n source: SelectionModel;\n /** Options that were added to the model. */\n added: T[];\n /** Options that were removed from the model. */\n removed: T[];\n}\n\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n * @docs-private\n */\nexport function getMultipleValuesInSingleSelectionError() {\n return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, OnDestroy} from '@angular/core';\n\n\n// Users of the Dispatcher never need to see this type, but TypeScript requires it to be exported.\nexport type UniqueSelectionDispatcherListener = (id: string, name: string) => void;\n\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\n@Injectable({providedIn: 'root'})\nexport class UniqueSelectionDispatcher implements OnDestroy {\n private _listeners: UniqueSelectionDispatcherListener[] = [];\n\n /**\n * Notify other items that selection for the given name has been set.\n * @param id ID of the item.\n * @param name Name of the item.\n */\n notify(id: string, name: string) {\n for (let listener of this._listeners) {\n listener(id, name);\n }\n }\n\n /**\n * Listen for future changes to item selection.\n * @return Function used to deregister listener\n */\n listen(listener: UniqueSelectionDispatcherListener): () => void {\n this._listeners.push(listener);\n return () => {\n this._listeners = this._listeners.filter((registered: UniqueSelectionDispatcherListener) => {\n return listener !== registered;\n });\n };\n }\n\n ngOnDestroy() {\n this._listeners = [];\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {SelectionModel} from './selection-model';\n\n\n/**\n * Interface for a class that can flatten hierarchical structured data and re-expand the flattened\n * data back into its original structure. Should be used in conjunction with the cdk-tree.\n */\nexport interface TreeDataNodeFlattener {\n /** Transforms a set of hierarchical structured data into a flattened data array. */\n flattenNodes(structuredData: any[]): T[];\n\n /**\n * Expands a flattened array of data into its hierarchical form using the provided expansion\n * model.\n */\n expandFlattenedNodes(nodes: T[], expansionModel: SelectionModel): T[];\n\n /**\n * Put node descendants of node in array.\n * If `onlyExpandable` is true, then only process expandable descendants.\n */\n nodeDescendents(node: T, nodes: T[], onlyExpandable: boolean): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n InjectionToken,\n IterableChangeRecord,\n IterableChanges,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\n\n/**\n * The context for an embedded view in the repeater's view container.\n *\n * @template T The type for the embedded view's $implicit property.\n */\nexport interface _ViewRepeaterItemContext {\n $implicit?: T;\n}\n\n/**\n * The arguments needed to construct an embedded view for an item in a view\n * container.\n *\n * @template C The type for the context passed to each embedded view.\n */\nexport interface _ViewRepeaterItemInsertArgs {\n templateRef: TemplateRef;\n context?: C;\n index?: number;\n}\n\n/**\n * A factory that derives the embedded view context for an item in a view\n * container.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport type _ViewRepeaterItemContextFactory> =\n (record: IterableChangeRecord,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null) => _ViewRepeaterItemInsertArgs;\n\n/**\n * Extracts the value of an item from an {@link IterableChangeRecord}.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n */\nexport type _ViewRepeaterItemValueResolver =\n (record: IterableChangeRecord) => T;\n\n/** Indicates how a view was changed by a {@link _ViewRepeater}. */\nexport const enum _ViewRepeaterOperation {\n /** The content of an existing view was replaced with another item. */\n REPLACED,\n /** A new view was created with `createEmbeddedView`. */\n INSERTED,\n /** The position of a view changed, but the content remains the same. */\n MOVED,\n /** A view was detached from the view container. */\n REMOVED,\n}\n\n/**\n * Meta data describing the state of a view after it was updated by a\n * {@link _ViewRepeater}.\n *\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport interface _ViewRepeaterItemChange {\n /** The view's context after it was changed. */\n context?: C;\n /** Indicates how the view was changed. */\n operation: _ViewRepeaterOperation;\n /** The view's corresponding change record. */\n record: IterableChangeRecord;\n}\n\n/**\n * Type for a callback to be executed after a view has changed.\n *\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport type _ViewRepeaterItemChanged =\n (change: _ViewRepeaterItemChange) => void;\n\n/**\n * Describes a strategy for rendering items in a {@link ViewContainerRef}.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport interface _ViewRepeater> {\n applyChanges(\n changes: IterableChanges,\n viewContainerRef: ViewContainerRef,\n itemContextFactory: _ViewRepeaterItemContextFactory,\n itemValueResolver: _ViewRepeaterItemValueResolver,\n itemViewChanged?: _ViewRepeaterItemChanged): void;\n\n detach(): void;\n}\n\n/**\n * Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.\n * @docs-private\n */\nexport const _VIEW_REPEATER_STRATEGY = new InjectionToken<\n _ViewRepeater>>('_ViewRepeater');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './array-data-source';\nexport * from './collection-viewer';\nexport * from './data-source';\nexport * from './dispose-view-repeater-strategy';\nexport * from './recycle-view-repeater-strategy';\nexport * from './selection-model';\nexport {\n UniqueSelectionDispatcher,\n UniqueSelectionDispatcherListener,\n} from './unique-selection-dispatcher';\nexport * from './tree-adapter';\nexport * from './view-repeater';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ViewContainerRef, ComponentFactoryResolver} from '@angular/core';\nimport {Direction} from '@angular/cdk/bidi';\nimport {ScrollStrategy} from '@angular/cdk/overlay';\n\n/** Valid ARIA roles for a dialog element. */\nexport type DialogRole = 'dialog' | 'alertdialog';\n\n/** Possible overrides for a dialog's position. */\nexport interface DialogPosition {\n /** Override for the dialog's top position. */\n top?: string;\n\n /** Override for the dialog's bottom position. */\n bottom?: string;\n\n /** Override for the dialog's left position. */\n left?: string;\n\n /** Override for the dialog's right position. */\n right?: string;\n}\n\n/**\n * Configuration for opening a modal dialog with the MatDialog service.\n */\nexport class MatDialogConfig {\n\n /**\n * Where the attached component should live in Angular's *logical* component tree.\n * This affects what is available for injection and the change detection order for the\n * component instantiated inside of the dialog. This does not affect where the dialog\n * content will be rendered.\n */\n viewContainerRef?: ViewContainerRef;\n\n /** ID for the dialog. If omitted, a unique one will be generated. */\n id?: string;\n\n /** The ARIA role of the dialog element. */\n role?: DialogRole = 'dialog';\n\n /** Custom class for the overlay pane. */\n panelClass?: string | string[] = '';\n\n /** Whether the dialog has a backdrop. */\n hasBackdrop?: boolean = true;\n\n /** Custom class for the backdrop. */\n backdropClass?: string | string[] = '';\n\n /** Whether the user can use escape or clicking on the backdrop to close the modal. */\n disableClose?: boolean = false;\n\n /** Width of the dialog. */\n width?: string = '';\n\n /** Height of the dialog. */\n height?: string = '';\n\n /** Min-width of the dialog. If a number is provided, assumes pixel units. */\n minWidth?: number | string;\n\n /** Min-height of the dialog. If a number is provided, assumes pixel units. */\n minHeight?: number | string;\n\n /** Max-width of the dialog. If a number is provided, assumes pixel units. Defaults to 80vw. */\n maxWidth?: number | string = '80vw';\n\n /** Max-height of the dialog. If a number is provided, assumes pixel units. */\n maxHeight?: number | string;\n\n /** Position overrides. */\n position?: DialogPosition;\n\n /** Data being injected into the child component. */\n data?: D | null = null;\n\n /** Layout direction for the dialog's content. */\n direction?: Direction;\n\n /** ID of the element that describes the dialog. */\n ariaDescribedBy?: string | null = null;\n\n /** ID of the element that labels the dialog. */\n ariaLabelledBy?: string | null = null;\n\n /** Aria label to assign to the dialog element. */\n ariaLabel?: string | null = null;\n\n /** Whether the dialog should focus the first focusable element on open. */\n autoFocus?: boolean = true;\n\n /**\n * Whether the dialog should restore focus to the\n * previously-focused element, after it's closed.\n */\n restoreFocus?: boolean = true;\n\n /** Scroll strategy to be used for the dialog. */\n scrollStrategy?: ScrollStrategy;\n\n /**\n * Whether the dialog should close when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n closeOnNavigation?: boolean = true;\n\n /** Alternate `ComponentFactoryResolver` to use when resolving the associated component. */\n componentFactoryResolver?: ComponentFactoryResolver;\n\n // TODO(jelbourn): add configuration for lifecycle hooks, ARIA labelling.\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/**\n * Animations used by MatDialog.\n * @docs-private\n */\nexport const matDialogAnimations: {\n readonly dialogContainer: AnimationTriggerMetadata;\n} = {\n /** Animation that is applied on the dialog container by default. */\n dialogContainer: trigger('dialogContainer', [\n // Note: The `enter` animation transitions to `transform: none`, because for some reason\n // specifying the transform explicitly, causes IE both to blur the dialog content and\n // decimate the animation performance. Leaving it as `none` solves both issues.\n state('void, exit', style({opacity: 0, transform: 'scale(0.7)'})),\n state('enter', style({transform: 'none'})),\n transition('* => enter', animate('150ms cubic-bezier(0, 0, 0.2, 1)',\n style({transform: 'none', opacity: 1}))),\n transition('* => void, * => exit',\n animate('75ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({opacity: 0}))),\n ])\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AnimationEvent} from '@angular/animations';\nimport {FocusMonitor, FocusOrigin, FocusTrap, FocusTrapFactory} from '@angular/cdk/a11y';\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n DomPortal,\n TemplatePortal\n} from '@angular/cdk/portal';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Inject,\n Optional,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {matDialogAnimations} from './dialog-animations';\nimport {MatDialogConfig} from './dialog-config';\n\n/** Event that captures the state of dialog container animations. */\ninterface DialogAnimationEvent {\n state: 'opened' | 'opening' | 'closing' | 'closed';\n totalTime: number;\n}\n\n/**\n * Throws an exception for the case when a ComponentPortal is\n * attached to a DomPortalOutlet without an origin.\n * @docs-private\n */\nexport function throwMatDialogContentAlreadyAttachedError() {\n throw Error('Attempting to attach dialog content after content is already attached');\n}\n\n/**\n * Base class for the `MatDialogContainer`. The base class does not implement\n * animations as these are left to implementers of the dialog container.\n */\n@Directive()\nexport abstract class _MatDialogContainerBase extends BasePortalOutlet {\n protected _document: Document;\n\n /** The portal outlet inside of this container into which the dialog content will be loaded. */\n @ViewChild(CdkPortalOutlet, {static: true}) _portalOutlet: CdkPortalOutlet;\n\n /** The class that traps and manages focus within the dialog. */\n private _focusTrap: FocusTrap;\n\n /** Emits when an animation state changes. */\n _animationStateChanged = new EventEmitter();\n\n /** Element that was focused before the dialog was opened. Save this to restore upon close. */\n private _elementFocusedBeforeDialogWasOpened: HTMLElement | null = null;\n\n /**\n * Type of interaction that led to the dialog being closed. This is used to determine\n * whether the focus style will be applied when returning focus to its original location\n * after the dialog is closed.\n */\n _closeInteractionType: FocusOrigin|null = null;\n\n /** ID of the element that should be considered as the dialog's label. */\n _ariaLabelledBy: string | null;\n\n /** ID for the container DOM element. */\n _id: string;\n\n constructor(\n protected _elementRef: ElementRef,\n protected _focusTrapFactory: FocusTrapFactory,\n protected _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(DOCUMENT) _document: any,\n /** The dialog configuration. */\n public _config: MatDialogConfig,\n private _focusMonitor?: FocusMonitor) {\n\n super();\n this._ariaLabelledBy = _config.ariaLabelledBy || null;\n this._document = _document;\n }\n\n /** Starts the dialog exit animation. */\n abstract _startExitAnimation(): void;\n\n /** Initializes the dialog container with the attached content. */\n _initializeWithAttachedContent() {\n this._setupFocusTrap();\n // Save the previously focused element. This element will be re-focused\n // when the dialog closes.\n this._capturePreviouslyFocusedElement();\n // Move focus onto the dialog immediately in order to prevent the user\n // from accidentally opening multiple dialogs at the same time.\n this._focusDialogContainer();\n }\n\n /**\n * Attach a ComponentPortal as content to this dialog container.\n * @param portal Portal to be attached as the dialog content.\n */\n attachComponentPortal(portal: ComponentPortal): ComponentRef {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatDialogContentAlreadyAttachedError();\n }\n\n return this._portalOutlet.attachComponentPortal(portal);\n }\n\n /**\n * Attach a TemplatePortal as content to this dialog container.\n * @param portal Portal to be attached as the dialog content.\n */\n attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatDialogContentAlreadyAttachedError();\n }\n\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n\n /**\n * Attaches a DOM portal to the dialog container.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n attachDomPortal = (portal: DomPortal) => {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatDialogContentAlreadyAttachedError();\n }\n\n return this._portalOutlet.attachDomPortal(portal);\n }\n\n /** Moves focus back into the dialog if it was moved out. */\n _recaptureFocus() {\n if (!this._containsFocus()) {\n const focusContainer = !this._config.autoFocus || !this._focusTrap.focusInitialElement();\n\n if (focusContainer) {\n this._elementRef.nativeElement.focus();\n }\n }\n }\n\n /** Moves the focus inside the focus trap. */\n protected _trapFocus() {\n // If we were to attempt to focus immediately, then the content of the dialog would not yet be\n // ready in instances where change detection has to run first. To deal with this, we simply\n // wait for the microtask queue to be empty.\n if (this._config.autoFocus) {\n this._focusTrap.focusInitialElementWhenReady();\n } else if (!this._containsFocus()) {\n // Otherwise ensure that focus is on the dialog container. It's possible that a different\n // component tried to move focus while the open animation was running. See:\n // https://github.com/angular/components/issues/16215. Note that we only want to do this\n // if the focus isn't inside the dialog already, because it's possible that the consumer\n // turned off `autoFocus` in order to move focus themselves.\n this._elementRef.nativeElement.focus();\n }\n }\n\n /** Restores focus to the element that was focused before the dialog opened. */\n protected _restoreFocus() {\n const previousElement = this._elementFocusedBeforeDialogWasOpened;\n\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (this._config.restoreFocus && previousElement &&\n typeof previousElement.focus === 'function') {\n const activeElement = this._document.activeElement;\n const element = this._elementRef.nativeElement;\n\n // Make sure that focus is still inside the dialog or is on the body (usually because a\n // non-focusable element like the backdrop was clicked) before moving it. It's possible that\n // the consumer moved it themselves before the animation was done, in which case we shouldn't\n // do anything.\n if (!activeElement || activeElement === this._document.body || activeElement === element ||\n element.contains(activeElement)) {\n if (this._focusMonitor) {\n this._focusMonitor.focusVia(previousElement, this._closeInteractionType);\n this._closeInteractionType = null;\n } else {\n previousElement.focus();\n }\n }\n }\n\n if (this._focusTrap) {\n this._focusTrap.destroy();\n }\n }\n\n /** Sets up the focus trap. */\n private _setupFocusTrap() {\n this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);\n }\n\n /** Captures the element that was focused before the dialog was opened. */\n private _capturePreviouslyFocusedElement() {\n if (this._document) {\n this._elementFocusedBeforeDialogWasOpened = this._document.activeElement as HTMLElement;\n }\n }\n\n /** Focuses the dialog container. */\n private _focusDialogContainer() {\n // Note that there is no focus method when rendering on the server.\n if (this._elementRef.nativeElement.focus) {\n this._elementRef.nativeElement.focus();\n }\n }\n\n /** Returns whether focus is inside the dialog. */\n private _containsFocus() {\n const element = this._elementRef.nativeElement;\n const activeElement = this._document.activeElement;\n return element === activeElement || element.contains(activeElement);\n }\n}\n\n/**\n * Internal component that wraps user-provided dialog content.\n * Animation is based on https://material.io/guidelines/motion/choreography.html.\n * @docs-private\n */\n@Component({\n selector: 'mat-dialog-container',\n templateUrl: 'dialog-container.html',\n styleUrls: ['dialog.css'],\n encapsulation: ViewEncapsulation.None,\n // Using OnPush for dialogs caused some G3 sync issues. Disabled until we can track them down.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [matDialogAnimations.dialogContainer],\n host: {\n 'class': 'mat-dialog-container',\n 'tabindex': '-1',\n 'aria-modal': 'true',\n '[id]': '_id',\n '[attr.role]': '_config.role',\n '[attr.aria-labelledby]': '_config.ariaLabel ? null : _ariaLabelledBy',\n '[attr.aria-label]': '_config.ariaLabel',\n '[attr.aria-describedby]': '_config.ariaDescribedBy || null',\n '[@dialogContainer]': '_state',\n '(@dialogContainer.start)': '_onAnimationStart($event)',\n '(@dialogContainer.done)': '_onAnimationDone($event)',\n },\n})\nexport class MatDialogContainer extends _MatDialogContainerBase {\n /** State of the dialog animation. */\n _state: 'void' | 'enter' | 'exit' = 'enter';\n\n /** Callback, invoked whenever an animation on the host completes. */\n _onAnimationDone({toState, totalTime}: AnimationEvent) {\n if (toState === 'enter') {\n this._trapFocus();\n this._animationStateChanged.next({state: 'opened', totalTime});\n } else if (toState === 'exit') {\n this._restoreFocus();\n this._animationStateChanged.next({state: 'closed', totalTime});\n }\n }\n\n /** Callback, invoked when an animation on the host starts. */\n _onAnimationStart({toState, totalTime}: AnimationEvent) {\n if (toState === 'enter') {\n this._animationStateChanged.next({state: 'opening', totalTime});\n } else if (toState === 'exit' || toState === 'void') {\n this._animationStateChanged.next({state: 'closing', totalTime});\n }\n }\n\n /** Starts the dialog exit animation. */\n _startExitAnimation(): void {\n this._state = 'exit';\n\n // Mark the container for check so it can react if the\n // view container is using OnPush change detection.\n this._changeDetectorRef.markForCheck();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusOrigin} from '@angular/cdk/a11y';\nimport {ESCAPE, hasModifierKey} from '@angular/cdk/keycodes';\nimport {GlobalPositionStrategy, OverlayRef} from '@angular/cdk/overlay';\nimport {Observable, Subject} from 'rxjs';\nimport {filter, take} from 'rxjs/operators';\nimport {DialogPosition} from './dialog-config';\nimport {_MatDialogContainerBase} from './dialog-container';\n\n\n// TODO(jelbourn): resizing\n\n// Counter for unique dialog ids.\nlet uniqueId = 0;\n\n/** Possible states of the lifecycle of a dialog. */\nexport const enum MatDialogState {OPEN, CLOSING, CLOSED}\n\n/**\n * Reference to a dialog opened via the MatDialog service.\n */\nexport class MatDialogRef {\n /** The instance of component opened into the dialog. */\n componentInstance: T;\n\n /** Whether the user is allowed to close the dialog. */\n disableClose: boolean | undefined = this._containerInstance._config.disableClose;\n\n /** Subject for notifying the user that the dialog has finished opening. */\n private readonly _afterOpened = new Subject();\n\n /** Subject for notifying the user that the dialog has finished closing. */\n private readonly _afterClosed = new Subject();\n\n /** Subject for notifying the user that the dialog has started closing. */\n private readonly _beforeClosed = new Subject();\n\n /** Result to be passed to afterClosed. */\n private _result: R | undefined;\n\n /** Handle to the timeout that's running as a fallback in case the exit animation doesn't fire. */\n private _closeFallbackTimeout: number;\n\n /** Current state of the dialog. */\n private _state = MatDialogState.OPEN;\n\n constructor(\n private _overlayRef: OverlayRef,\n public _containerInstance: _MatDialogContainerBase,\n readonly id: string = `mat-dialog-${uniqueId++}`) {\n\n // Pass the id along to the container.\n _containerInstance._id = id;\n\n // Emit when opening animation completes\n _containerInstance._animationStateChanged.pipe(\n filter(event => event.state === 'opened'),\n take(1)\n )\n .subscribe(() => {\n this._afterOpened.next();\n this._afterOpened.complete();\n });\n\n // Dispose overlay when closing animation is complete\n _containerInstance._animationStateChanged.pipe(\n filter(event => event.state === 'closed'),\n take(1)\n ).subscribe(() => {\n clearTimeout(this._closeFallbackTimeout);\n this._finishDialogClose();\n });\n\n _overlayRef.detachments().subscribe(() => {\n this._beforeClosed.next(this._result);\n this._beforeClosed.complete();\n this._afterClosed.next(this._result);\n this._afterClosed.complete();\n this.componentInstance = null!;\n this._overlayRef.dispose();\n });\n\n _overlayRef.keydownEvents()\n .pipe(filter(event => {\n return event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event);\n }))\n .subscribe(event => {\n event.preventDefault();\n _closeDialogVia(this, 'keyboard');\n });\n\n _overlayRef.backdropClick().subscribe(() => {\n if (this.disableClose) {\n this._containerInstance._recaptureFocus();\n } else {\n _closeDialogVia(this, 'mouse');\n }\n });\n }\n\n /**\n * Close the dialog.\n * @param dialogResult Optional result to return to the dialog opener.\n */\n close(dialogResult?: R): void {\n this._result = dialogResult;\n\n // Transition the backdrop in parallel to the dialog.\n this._containerInstance._animationStateChanged.pipe(\n filter(event => event.state === 'closing'),\n take(1)\n )\n .subscribe(event => {\n this._beforeClosed.next(dialogResult);\n this._beforeClosed.complete();\n this._overlayRef.detachBackdrop();\n\n // The logic that disposes of the overlay depends on the exit animation completing, however\n // it isn't guaranteed if the parent view is destroyed while it's running. Add a fallback\n // timeout which will clean everything up if the animation hasn't fired within the specified\n // amount of time plus 100ms. We don't need to run this outside the NgZone, because for the\n // vast majority of cases the timeout will have been cleared before it has the chance to fire.\n this._closeFallbackTimeout = setTimeout(() => this._finishDialogClose(),\n event.totalTime + 100);\n });\n\n this._state = MatDialogState.CLOSING;\n this._containerInstance._startExitAnimation();\n }\n\n /**\n * Gets an observable that is notified when the dialog is finished opening.\n */\n afterOpened(): Observable {\n return this._afterOpened;\n }\n\n /**\n * Gets an observable that is notified when the dialog is finished closing.\n */\n afterClosed(): Observable {\n return this._afterClosed;\n }\n\n /**\n * Gets an observable that is notified when the dialog has started closing.\n */\n beforeClosed(): Observable {\n return this._beforeClosed;\n }\n\n /**\n * Gets an observable that emits when the overlay's backdrop has been clicked.\n */\n backdropClick(): Observable {\n return this._overlayRef.backdropClick();\n }\n\n /**\n * Gets an observable that emits when keydown events are targeted on the overlay.\n */\n keydownEvents(): Observable {\n return this._overlayRef.keydownEvents();\n }\n\n /**\n * Updates the dialog's position.\n * @param position New dialog position.\n */\n updatePosition(position?: DialogPosition): this {\n let strategy = this._getPositionStrategy();\n\n if (position && (position.left || position.right)) {\n position.left ? strategy.left(position.left) : strategy.right(position.right);\n } else {\n strategy.centerHorizontally();\n }\n\n if (position && (position.top || position.bottom)) {\n position.top ? strategy.top(position.top) : strategy.bottom(position.bottom);\n } else {\n strategy.centerVertically();\n }\n\n this._overlayRef.updatePosition();\n\n return this;\n }\n\n /**\n * Updates the dialog's width and height.\n * @param width New width of the dialog.\n * @param height New height of the dialog.\n */\n updateSize(width: string = '', height: string = ''): this {\n this._getPositionStrategy().width(width).height(height);\n this._overlayRef.updatePosition();\n return this;\n }\n\n /** Add a CSS class or an array of classes to the overlay pane. */\n addPanelClass(classes: string | string[]): this {\n this._overlayRef.addPanelClass(classes);\n return this;\n }\n\n /** Remove a CSS class or an array of classes from the overlay pane. */\n removePanelClass(classes: string | string[]): this {\n this._overlayRef.removePanelClass(classes);\n return this;\n }\n\n /** Gets the current state of the dialog's lifecycle. */\n getState(): MatDialogState {\n return this._state;\n }\n\n /**\n * Finishes the dialog close by updating the state of the dialog\n * and disposing the overlay.\n */\n private _finishDialogClose() {\n this._state = MatDialogState.CLOSED;\n this._overlayRef.dispose();\n }\n\n /** Fetches the position strategy object from the overlay ref. */\n private _getPositionStrategy(): GlobalPositionStrategy {\n return this._overlayRef.getConfig().positionStrategy as GlobalPositionStrategy;\n }\n}\n\n/**\n * Closes the dialog with the specified interaction type. This is currently not part of\n * `MatDialogRef` as that would conflict with custom dialog ref mocks provided in tests.\n * More details. See: https://github.com/angular/components/pull/9257#issuecomment-651342226.\n */\n// TODO: TODO: Move this back into `MatDialogRef` when we provide an official mock dialog ref.\nexport function _closeDialogVia(ref: MatDialogRef, interactionType: FocusOrigin, result?: R) {\n // Some mock dialog ref instances in tests do not have the `_containerInstance` property.\n // For those, we keep the behavior as is and do not deal with the interaction type.\n if (ref._containerInstance !== undefined) {\n ref._containerInstance._closeInteractionType = interactionType;\n }\n return ref.close(result);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {\n Overlay,\n OverlayConfig,\n OverlayContainer,\n OverlayRef,\n ScrollStrategy,\n} from '@angular/cdk/overlay';\nimport {ComponentPortal, ComponentType, TemplatePortal} from '@angular/cdk/portal';\nimport {Location} from '@angular/common';\nimport {\n Directive,\n Inject,\n Injectable,\n InjectionToken,\n Injector,\n OnDestroy,\n Optional,\n SkipSelf,\n StaticProvider,\n TemplateRef,\n Type,\n} from '@angular/core';\nimport {defer, Observable, of as observableOf, Subject} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\nimport {MatDialogConfig} from './dialog-config';\nimport {MatDialogContainer, _MatDialogContainerBase} from './dialog-container';\nimport {MatDialogRef} from './dialog-ref';\n\n\n/** Injection token that can be used to access the data that was passed in to a dialog. */\nexport const MAT_DIALOG_DATA = new InjectionToken('MatDialogData');\n\n/** Injection token that can be used to specify default dialog options. */\nexport const MAT_DIALOG_DEFAULT_OPTIONS =\n new InjectionToken('mat-dialog-default-options');\n\n/** Injection token that determines the scroll handling while the dialog is open. */\nexport const MAT_DIALOG_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mat-dialog-scroll-strategy');\n\n/** @docs-private */\nexport function MAT_DIALOG_SCROLL_STRATEGY_FACTORY(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.block();\n}\n\n/** @docs-private */\nexport function MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay):\n () => ScrollStrategy {\n return () => overlay.scrollStrategies.block();\n}\n\n/** @docs-private */\nexport const MAT_DIALOG_SCROLL_STRATEGY_PROVIDER = {\n provide: MAT_DIALOG_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n\n/**\n * Base class for dialog services. The base dialog service allows\n * for arbitrary dialog refs and dialog container components.\n */\n@Directive()\nexport abstract class _MatDialogBase implements OnDestroy {\n private _openDialogsAtThisLevel: MatDialogRef[] = [];\n private readonly _afterAllClosedAtThisLevel = new Subject();\n private readonly _afterOpenedAtThisLevel = new Subject>();\n private _ariaHiddenElements = new Map();\n private _scrollStrategy: () => ScrollStrategy;\n\n /** Keeps track of the currently-open dialogs. */\n get openDialogs(): MatDialogRef[] {\n return this._parentDialog ? this._parentDialog.openDialogs : this._openDialogsAtThisLevel;\n }\n\n /** Stream that emits when a dialog has been opened. */\n get afterOpened(): Subject> {\n return this._parentDialog ? this._parentDialog.afterOpened : this._afterOpenedAtThisLevel;\n }\n\n _getAfterAllClosed(): Subject {\n const parent = this._parentDialog;\n return parent ? parent._getAfterAllClosed() : this._afterAllClosedAtThisLevel;\n }\n\n // TODO (jelbourn): tighten the typing right-hand side of this expression.\n /**\n * Stream that emits when all open dialog have finished closing.\n * Will emit on subscribe if there are no open dialogs to begin with.\n */\n readonly afterAllClosed: Observable = defer(() => this.openDialogs.length ?\n this._getAfterAllClosed() :\n this._getAfterAllClosed().pipe(startWith(undefined))) as Observable;\n\n constructor(\n private _overlay: Overlay,\n private _injector: Injector,\n private _defaultOptions: MatDialogConfig|undefined,\n private _parentDialog: _MatDialogBase|undefined,\n private _overlayContainer: OverlayContainer,\n scrollStrategy: any,\n private _dialogRefConstructor: Type>,\n private _dialogContainerType: Type,\n private _dialogDataToken: InjectionToken) {\n this._scrollStrategy = scrollStrategy;\n }\n\n /**\n * Opens a modal dialog containing the given component.\n * @param component Type of the component to load into the dialog.\n * @param config Extra configuration options.\n * @returns Reference to the newly-opened dialog.\n */\n open(component: ComponentType,\n config?: MatDialogConfig): MatDialogRef;\n\n /**\n * Opens a modal dialog containing the given template.\n * @param template TemplateRef to instantiate as the dialog content.\n * @param config Extra configuration options.\n * @returns Reference to the newly-opened dialog.\n */\n open(template: TemplateRef,\n config?: MatDialogConfig): MatDialogRef;\n\n open(template: ComponentType | TemplateRef,\n config?: MatDialogConfig): MatDialogRef;\n\n open(componentOrTemplateRef: ComponentType | TemplateRef,\n config?: MatDialogConfig): MatDialogRef {\n config = _applyConfigDefaults(config, this._defaultOptions || new MatDialogConfig());\n\n if (config.id && this.getDialogById(config.id) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Dialog with id \"${config.id}\" exists already. The dialog id must be unique.`);\n }\n\n const overlayRef = this._createOverlay(config);\n const dialogContainer = this._attachDialogContainer(overlayRef, config);\n const dialogRef = this._attachDialogContent(componentOrTemplateRef,\n dialogContainer,\n overlayRef,\n config);\n\n // If this is the first dialog that we're opening, hide all the non-overlay content.\n if (!this.openDialogs.length) {\n this._hideNonDialogContentFromAssistiveTechnology();\n }\n\n this.openDialogs.push(dialogRef);\n dialogRef.afterClosed().subscribe(() => this._removeOpenDialog(dialogRef));\n this.afterOpened.next(dialogRef);\n\n // Notify the dialog container that the content has been attached.\n dialogContainer._initializeWithAttachedContent();\n\n return dialogRef;\n }\n\n /**\n * Closes all of the currently-open dialogs.\n */\n closeAll(): void {\n this._closeDialogs(this.openDialogs);\n }\n\n /**\n * Finds an open dialog by its id.\n * @param id ID to use when looking up the dialog.\n */\n getDialogById(id: string): MatDialogRef | undefined {\n return this.openDialogs.find(dialog => dialog.id === id);\n }\n\n ngOnDestroy() {\n // Only close the dialogs at this level on destroy\n // since the parent service may still be active.\n this._closeDialogs(this._openDialogsAtThisLevel);\n this._afterAllClosedAtThisLevel.complete();\n this._afterOpenedAtThisLevel.complete();\n }\n\n /**\n * Creates the overlay into which the dialog will be loaded.\n * @param config The dialog configuration.\n * @returns A promise resolving to the OverlayRef for the created overlay.\n */\n private _createOverlay(config: MatDialogConfig): OverlayRef {\n const overlayConfig = this._getOverlayConfig(config);\n return this._overlay.create(overlayConfig);\n }\n\n /**\n * Creates an overlay config from a dialog config.\n * @param dialogConfig The dialog configuration.\n * @returns The overlay configuration.\n */\n private _getOverlayConfig(dialogConfig: MatDialogConfig): OverlayConfig {\n const state = new OverlayConfig({\n positionStrategy: this._overlay.position().global(),\n scrollStrategy: dialogConfig.scrollStrategy || this._scrollStrategy(),\n panelClass: dialogConfig.panelClass,\n hasBackdrop: dialogConfig.hasBackdrop,\n direction: dialogConfig.direction,\n minWidth: dialogConfig.minWidth,\n minHeight: dialogConfig.minHeight,\n maxWidth: dialogConfig.maxWidth,\n maxHeight: dialogConfig.maxHeight,\n disposeOnNavigation: dialogConfig.closeOnNavigation\n });\n\n if (dialogConfig.backdropClass) {\n state.backdropClass = dialogConfig.backdropClass;\n }\n\n return state;\n }\n\n /**\n * Attaches a dialog container to a dialog's already-created overlay.\n * @param overlay Reference to the dialog's underlying overlay.\n * @param config The dialog configuration.\n * @returns A promise resolving to a ComponentRef for the attached container.\n */\n private _attachDialogContainer(overlay: OverlayRef, config: MatDialogConfig): C {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this._injector,\n providers: [{provide: MatDialogConfig, useValue: config}]\n });\n\n const containerPortal = new ComponentPortal(this._dialogContainerType,\n config.viewContainerRef, injector, config.componentFactoryResolver);\n const containerRef = overlay.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n /**\n * Attaches the user-provided component to the already-created dialog container.\n * @param componentOrTemplateRef The type of component being loaded into the dialog,\n * or a TemplateRef to instantiate as the content.\n * @param dialogContainer Reference to the wrapping dialog container.\n * @param overlayRef Reference to the overlay in which the dialog resides.\n * @param config The dialog configuration.\n * @returns A promise resolving to the MatDialogRef that should be returned to the user.\n */\n private _attachDialogContent(\n componentOrTemplateRef: ComponentType | TemplateRef,\n dialogContainer: C,\n overlayRef: OverlayRef,\n config: MatDialogConfig): MatDialogRef {\n\n // Create a reference to the dialog we're creating in order to give the user a handle\n // to modify and close it.\n const dialogRef = new this._dialogRefConstructor(overlayRef, dialogContainer, config.id);\n\n if (componentOrTemplateRef instanceof TemplateRef) {\n dialogContainer.attachTemplatePortal(\n new TemplatePortal(componentOrTemplateRef, null!,\n {$implicit: config.data, dialogRef}));\n } else {\n const injector = this._createInjector(config, dialogRef, dialogContainer);\n const contentRef = dialogContainer.attachComponentPortal(\n new ComponentPortal(componentOrTemplateRef, config.viewContainerRef, injector));\n dialogRef.componentInstance = contentRef.instance;\n }\n\n dialogRef\n .updateSize(config.width, config.height)\n .updatePosition(config.position);\n\n return dialogRef;\n }\n\n /**\n * Creates a custom injector to be used inside the dialog. This allows a component loaded inside\n * of a dialog to close itself and, optionally, to return a value.\n * @param config Config object that is used to construct the dialog.\n * @param dialogRef Reference to the dialog.\n * @param dialogContainer Dialog container element that wraps all of the contents.\n * @returns The custom injector that can be used inside the dialog.\n */\n private _createInjector(\n config: MatDialogConfig,\n dialogRef: MatDialogRef,\n dialogContainer: C): Injector {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n // The dialog container should be provided as the dialog container and the dialog's\n // content are created out of the same `ViewContainerRef` and as such, are siblings\n // for injector purposes. To allow the hierarchy that is expected, the dialog\n // container is explicitly provided in the injector.\n const providers: StaticProvider[] = [\n {provide: this._dialogContainerType, useValue: dialogContainer},\n {provide: this._dialogDataToken, useValue: config.data},\n {provide: this._dialogRefConstructor, useValue: dialogRef}\n ];\n\n if (config.direction &&\n (!userInjector || !userInjector.get(Directionality, null))) {\n providers.push({\n provide: Directionality,\n useValue: {value: config.direction, change: observableOf()}\n });\n }\n\n return Injector.create({parent: userInjector || this._injector, providers});\n }\n\n /**\n * Removes a dialog from the array of open dialogs.\n * @param dialogRef Dialog to be removed.\n */\n private _removeOpenDialog(dialogRef: MatDialogRef) {\n const index = this.openDialogs.indexOf(dialogRef);\n\n if (index > -1) {\n this.openDialogs.splice(index, 1);\n\n // If all the dialogs were closed, remove/restore the `aria-hidden`\n // to a the siblings and emit to the `afterAllClosed` stream.\n if (!this.openDialogs.length) {\n this._ariaHiddenElements.forEach((previousValue, element) => {\n if (previousValue) {\n element.setAttribute('aria-hidden', previousValue);\n } else {\n element.removeAttribute('aria-hidden');\n }\n });\n\n this._ariaHiddenElements.clear();\n this._getAfterAllClosed().next();\n }\n }\n }\n\n /**\n * Hides all of the content that isn't an overlay from assistive technology.\n */\n private _hideNonDialogContentFromAssistiveTechnology() {\n const overlayContainer = this._overlayContainer.getContainerElement();\n\n // Ensure that the overlay container is attached to the DOM.\n if (overlayContainer.parentElement) {\n const siblings = overlayContainer.parentElement.children;\n\n for (let i = siblings.length - 1; i > -1; i--) {\n let sibling = siblings[i];\n\n if (sibling !== overlayContainer &&\n sibling.nodeName !== 'SCRIPT' &&\n sibling.nodeName !== 'STYLE' &&\n !sibling.hasAttribute('aria-live')) {\n\n this._ariaHiddenElements.set(sibling, sibling.getAttribute('aria-hidden'));\n sibling.setAttribute('aria-hidden', 'true');\n }\n }\n }\n }\n\n /** Closes all of the dialogs in an array. */\n private _closeDialogs(dialogs: MatDialogRef[]) {\n let i = dialogs.length;\n\n while (i--) {\n // The `_openDialogs` property isn't updated after close until the rxjs subscription\n // runs on the next microtask, in addition to modifying the array as we're going\n // through it. We loop through all of them and call close without assuming that\n // they'll be removed from the list instantaneously.\n dialogs[i].close();\n }\n }\n\n}\n\n/**\n * Service to open Material Design modal dialogs.\n */\n@Injectable()\nexport class MatDialog extends _MatDialogBase {\n constructor(\n overlay: Overlay,\n injector: Injector,\n /**\n * @deprecated `_location` parameter to be removed.\n * @breaking-change 10.0.0\n */\n @Optional() location: Location,\n @Optional() @Inject(MAT_DIALOG_DEFAULT_OPTIONS) defaultOptions: MatDialogConfig,\n @Inject(MAT_DIALOG_SCROLL_STRATEGY) scrollStrategy: any,\n @Optional() @SkipSelf() parentDialog: MatDialog,\n overlayContainer: OverlayContainer) {\n super(overlay, injector, defaultOptions, parentDialog, overlayContainer, scrollStrategy,\n MatDialogRef, MatDialogContainer, MAT_DIALOG_DATA);\n }\n}\n\n/**\n * Applies default options to the dialog config.\n * @param config Config to be modified.\n * @param defaultOptions Default options provided.\n * @returns The new configuration object.\n */\nfunction _applyConfigDefaults(\n config?: MatDialogConfig, defaultOptions?: MatDialogConfig): MatDialogConfig {\n return {...defaultOptions, ...config};\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Input,\n OnChanges,\n OnInit,\n Optional,\n SimpleChanges,\n ElementRef,\n} from '@angular/core';\nimport {MatDialog} from './dialog';\nimport {_closeDialogVia, MatDialogRef} from './dialog-ref';\n\n/** Counter used to generate unique IDs for dialog elements. */\nlet dialogElementUid = 0;\n\n/**\n * Button that will close the current dialog.\n */\n@Directive({\n selector: '[mat-dialog-close], [matDialogClose]',\n exportAs: 'matDialogClose',\n host: {\n '(click)': '_onButtonClick($event)',\n '[attr.aria-label]': 'ariaLabel || null',\n '[attr.type]': 'type',\n }\n})\nexport class MatDialogClose implements OnInit, OnChanges {\n /** Screenreader label for the button. */\n @Input('aria-label') ariaLabel: string;\n\n /** Default to \"button\" to prevents accidental form submits. */\n @Input() type: 'submit' | 'button' | 'reset' = 'button';\n\n /** Dialog close input. */\n @Input('mat-dialog-close') dialogResult: any;\n\n @Input('matDialogClose') _matDialogClose: any;\n\n constructor(\n // The dialog title directive is always used in combination with a `MatDialogRef`.\n // tslint:disable-next-line: lightweight-tokens\n @Optional() public dialogRef: MatDialogRef,\n private _elementRef: ElementRef,\n private _dialog: MatDialog) {}\n\n ngOnInit() {\n if (!this.dialogRef) {\n // When this directive is included in a dialog via TemplateRef (rather than being\n // in a Component), the DialogRef isn't available via injection because embedded\n // views cannot be given a custom injector. Instead, we look up the DialogRef by\n // ID. This must occur in `onInit`, as the ID binding for the dialog container won't\n // be resolved at constructor time.\n this.dialogRef = getClosestDialog(this._elementRef, this._dialog.openDialogs)!;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const proxiedChange = changes['_matDialogClose'] || changes['_matDialogCloseResult'];\n\n if (proxiedChange) {\n this.dialogResult = proxiedChange.currentValue;\n }\n }\n\n _onButtonClick(event: MouseEvent) {\n // Determinate the focus origin using the click event, because using the FocusMonitor will\n // result in incorrect origins. Most of the time, close buttons will be auto focused in the\n // dialog, and therefore clicking the button won't result in a focus change. This means that\n // the FocusMonitor won't detect any origin change, and will always output `program`.\n _closeDialogVia(this.dialogRef,\n event.screenX === 0 && event.screenY === 0 ? 'keyboard' : 'mouse', this.dialogResult);\n }\n}\n\n/**\n * Title of a dialog element. Stays fixed to the top of the dialog when scrolling.\n */\n@Directive({\n selector: '[mat-dialog-title], [matDialogTitle]',\n exportAs: 'matDialogTitle',\n host: {\n 'class': 'mat-dialog-title',\n '[id]': 'id',\n },\n})\nexport class MatDialogTitle implements OnInit {\n @Input() id: string = `mat-dialog-title-${dialogElementUid++}`;\n\n constructor(\n // The dialog title directive is always used in combination with a `MatDialogRef`.\n // tslint:disable-next-line: lightweight-tokens\n @Optional() private _dialogRef: MatDialogRef,\n private _elementRef: ElementRef,\n private _dialog: MatDialog) {}\n\n ngOnInit() {\n if (!this._dialogRef) {\n this._dialogRef = getClosestDialog(this._elementRef, this._dialog.openDialogs)!;\n }\n\n if (this._dialogRef) {\n Promise.resolve().then(() => {\n const container = this._dialogRef._containerInstance;\n\n if (container && !container._ariaLabelledBy) {\n container._ariaLabelledBy = this.id;\n }\n });\n }\n }\n}\n\n\n/**\n * Scrollable content container of a dialog.\n */\n@Directive({\n selector: `[mat-dialog-content], mat-dialog-content, [matDialogContent]`,\n host: {'class': 'mat-dialog-content'}\n})\nexport class MatDialogContent {}\n\n\n/**\n * Container for the bottom action buttons in a dialog.\n * Stays fixed to the bottom when scrolling.\n */\n@Directive({\n selector: `[mat-dialog-actions], mat-dialog-actions, [matDialogActions]`,\n host: {'class': 'mat-dialog-actions'}\n})\nexport class MatDialogActions {}\n\n\n/**\n * Finds the closest MatDialogRef to an element by looking at the DOM.\n * @param element Element relative to which to look for a dialog.\n * @param openDialogs References to the currently-open dialogs.\n */\nfunction getClosestDialog(element: ElementRef, openDialogs: MatDialogRef[]) {\n let parent: HTMLElement | null = element.nativeElement.parentElement;\n\n while (parent && !parent.classList.contains('mat-dialog-container')) {\n parent = parent.parentElement;\n }\n\n return parent ? openDialogs.find(dialog => dialog.id === parent!.id) : null;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MAT_DIALOG_SCROLL_STRATEGY_PROVIDER, MatDialog} from './dialog';\nimport {MatDialogContainer} from './dialog-container';\nimport {\n MatDialogActions,\n MatDialogClose,\n MatDialogContent,\n MatDialogTitle,\n} from './dialog-content-directives';\n\n\n@NgModule({\n imports: [\n OverlayModule,\n PortalModule,\n MatCommonModule,\n ],\n exports: [\n MatDialogContainer,\n MatDialogClose,\n MatDialogTitle,\n MatDialogContent,\n MatDialogActions,\n MatCommonModule,\n ],\n declarations: [\n MatDialogContainer,\n MatDialogClose,\n MatDialogTitle,\n MatDialogActions,\n MatDialogContent,\n ],\n providers: [\n MatDialog,\n MAT_DIALOG_SCROLL_STRATEGY_PROVIDER,\n ],\n entryComponents: [MatDialogContainer],\n})\nexport class MatDialogModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './dialog-module';\nexport * from './dialog';\nexport * from './dialog-container';\nexport * from './dialog-content-directives';\nexport * from './dialog-config';\nexport * from './dialog-ref';\nexport * from './dialog-animations';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","import { concat } from '../observable/concat';\nimport { of } from '../observable/of';\nexport function endWith(...array) {\n return (source) => concat(source, of(...array));\n}\n//# sourceMappingURL=endWith.js.map","import { scan } from './scan';\nimport { takeLast } from './takeLast';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { pipe } from '../util/pipe';\nexport function reduce(accumulator, seed) {\n if (arguments.length >= 2) {\n return function reduceOperatorFunctionWithSeed(source) {\n return pipe(scan(accumulator, seed), takeLast(1), defaultIfEmpty(seed))(source);\n };\n }\n return function reduceOperatorFunction(source) {\n return pipe(scan((acc, value, index) => accumulator(acc, value, index + 1)), takeLast(1))(source);\n };\n}\n//# sourceMappingURL=reduce.js.map","import { innerSubscribe, SimpleInnerSubscriber, SimpleOuterSubscriber } from '../innerSubscribe';\nexport function takeUntil(notifier) {\n return (source) => source.lift(new TakeUntilOperator(notifier));\n}\nclass TakeUntilOperator {\n constructor(notifier) {\n this.notifier = notifier;\n }\n call(subscriber, source) {\n const takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n const notifierSubscription = innerSubscribe(this.notifier, new SimpleInnerSubscriber(takeUntilSubscriber));\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n }\n}\nclass TakeUntilSubscriber extends SimpleOuterSubscriber {\n constructor(destination) {\n super(destination);\n this.seenValue = false;\n }\n notifyNext() {\n this.seenValue = true;\n this.complete();\n }\n notifyComplete() {\n }\n}\n//# sourceMappingURL=takeUntil.js.map","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function sampleTime(period, scheduler = async) {\n return (source) => source.lift(new SampleTimeOperator(period, scheduler));\n}\nclass SampleTimeOperator {\n constructor(period, scheduler) {\n this.period = period;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\n }\n}\nclass SampleTimeSubscriber extends Subscriber {\n constructor(destination, period, scheduler) {\n super(destination);\n this.period = period;\n this.scheduler = scheduler;\n this.hasValue = false;\n this.add(scheduler.schedule(dispatchNotification, period, { subscriber: this, period }));\n }\n _next(value) {\n this.lastValue = value;\n this.hasValue = true;\n }\n notifyNext() {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.lastValue);\n }\n }\n}\nfunction dispatchNotification(state) {\n let { subscriber, period } = state;\n subscriber.notifyNext();\n this.schedule(state, period);\n}\n//# sourceMappingURL=sampleTime.js.map","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {InjectionToken} from '@angular/core';\n\n\n/** Default `mat-slide-toggle` options that can be overridden. */\nexport interface MatSlideToggleDefaultOptions {\n /** Whether toggle action triggers value changes in slide toggle. */\n disableToggleValue?: boolean;\n}\n\n/** Injection token to be used to override the default options for `mat-slide-toggle`. */\nexport const MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS =\n new InjectionToken('mat-slide-toggle-default-options', {\n providedIn: 'root',\n factory: () => ({disableToggleValue: false})\n });\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusMonitor} from '@angular/cdk/a11y';\nimport {BooleanInput, coerceBooleanProperty, NumberInput} from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n Optional,\n Inject,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n CanColor, CanColorCtor,\n CanDisable, CanDisableCtor,\n CanDisableRipple, CanDisableRippleCtor,\n HasTabIndex, HasTabIndexCtor,\n mixinColor,\n mixinDisabled,\n mixinDisableRipple,\n mixinTabIndex,\n} from '@angular/material/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {\n MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS,\n MatSlideToggleDefaultOptions\n} from './slide-toggle-config';\n\n// Increasing integer for generating unique ids for slide-toggle components.\nlet nextUniqueId = 0;\n\n/** @docs-private */\nexport const MAT_SLIDE_TOGGLE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSlideToggle),\n multi: true\n};\n\n/** Change event object emitted by a MatSlideToggle. */\nexport class MatSlideToggleChange {\n constructor(\n /** The source MatSlideToggle of the event. */\n public source: MatSlideToggle,\n /** The new `checked` value of the MatSlideToggle. */\n public checked: boolean) { }\n}\n\n// Boilerplate for applying mixins to MatSlideToggle.\n/** @docs-private */\nclass MatSlideToggleBase {\n constructor(public _elementRef: ElementRef) {}\n}\nconst _MatSlideToggleMixinBase:\n HasTabIndexCtor &\n CanColorCtor &\n CanDisableRippleCtor &\n CanDisableCtor &\n typeof MatSlideToggleBase =\n mixinTabIndex(mixinColor(mixinDisableRipple(mixinDisabled(MatSlideToggleBase)), 'accent'));\n\n/** Represents a slidable \"switch\" toggle that can be moved between on and off. */\n@Component({\n selector: 'mat-slide-toggle',\n exportAs: 'matSlideToggle',\n host: {\n 'class': 'mat-slide-toggle',\n '[id]': 'id',\n // Needs to be `-1` so it can still receive programmatic focus.\n '[attr.tabindex]': 'disabled ? null : -1',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[class.mat-checked]': 'checked',\n '[class.mat-disabled]': 'disabled',\n '[class.mat-slide-toggle-label-before]': 'labelPosition == \"before\"',\n '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n },\n templateUrl: 'slide-toggle.html',\n styleUrls: ['slide-toggle.css'],\n providers: [MAT_SLIDE_TOGGLE_VALUE_ACCESSOR],\n inputs: ['disabled', 'disableRipple', 'color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatSlideToggle extends _MatSlideToggleMixinBase implements OnDestroy, AfterContentInit,\n ControlValueAccessor,\n CanDisable, CanColor,\n HasTabIndex,\n CanDisableRipple {\n private _onChange = (_: any) => {};\n private _onTouched = () => {};\n\n private _uniqueId: string = `mat-slide-toggle-${++nextUniqueId}`;\n private _required: boolean = false;\n private _checked: boolean = false;\n\n /** Reference to the thumb HTMLElement. */\n @ViewChild('thumbContainer') _thumbEl: ElementRef;\n\n /** Reference to the thumb bar HTMLElement. */\n @ViewChild('toggleBar') _thumbBarEl: ElementRef;\n\n /** Name value will be applied to the input element if present. */\n @Input() name: string | null = null;\n\n /** A unique id for the slide-toggle input. If none is supplied, it will be auto-generated. */\n @Input() id: string = this._uniqueId;\n\n /** Whether the label should appear after or before the slide-toggle. Defaults to 'after'. */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Used to set the aria-label attribute on the underlying input element. */\n @Input('aria-label') ariaLabel: string | null = null;\n\n /** Used to set the aria-labelledby attribute on the underlying input element. */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** Whether the slide-toggle is required. */\n @Input()\n get required(): boolean { return this._required; }\n set required(value) { this._required = coerceBooleanProperty(value); }\n\n /** Whether the slide-toggle element is checked or not. */\n @Input()\n get checked(): boolean { return this._checked; }\n set checked(value) {\n this._checked = coerceBooleanProperty(value);\n this._changeDetectorRef.markForCheck();\n }\n /** An event will be dispatched each time the slide-toggle changes its value. */\n @Output() readonly change: EventEmitter =\n new EventEmitter();\n\n /**\n * An event will be dispatched each time the slide-toggle input is toggled.\n * This event is always emitted when the user toggles the slide toggle, but this does not mean\n * the slide toggle's value has changed.\n */\n @Output() readonly toggleChange: EventEmitter = new EventEmitter();\n\n /** Returns the unique id for the visual hidden input. */\n get inputId(): string { return `${this.id || this._uniqueId}-input`; }\n\n /** Reference to the underlying input element. */\n @ViewChild('input') _inputElement: ElementRef;\n\n constructor(elementRef: ElementRef,\n private _focusMonitor: FocusMonitor,\n private _changeDetectorRef: ChangeDetectorRef,\n @Attribute('tabindex') tabIndex: string,\n @Inject(MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS)\n public defaults: MatSlideToggleDefaultOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string) {\n super(elementRef);\n this.tabIndex = parseInt(tabIndex) || 0;\n }\n\n ngAfterContentInit() {\n this._focusMonitor\n .monitor(this._elementRef, true)\n .subscribe(focusOrigin => {\n // Only forward focus manually when it was received programmatically or through the\n // keyboard. We should not do this for mouse/touch focus for two reasons:\n // 1. It can prevent clicks from landing in Chrome (see #18269).\n // 2. They're already handled by the wrapping `label` element.\n if (focusOrigin === 'keyboard' || focusOrigin === 'program') {\n this._inputElement.nativeElement.focus();\n } else if (!focusOrigin) {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state\n // change (such as a form control's 'ng-touched') will cause a changed-after-checked\n // error. See https://github.com/angular/angular/issues/17793. To work around this,\n // we defer telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => this._onTouched());\n }\n });\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Method being called whenever the underlying input emits a change event. */\n _onChangeEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the component's `change` output.\n event.stopPropagation();\n this.toggleChange.emit();\n\n // When the slide toggle's config disables toggle change event by setting\n // `disableToggleValue: true`, the slide toggle's value does not change, and the\n // checked state of the underlying input needs to be changed back.\n if (this.defaults.disableToggleValue) {\n this._inputElement.nativeElement.checked = this.checked;\n return;\n }\n\n // Sync the value from the underlying input element with the component instance.\n this.checked = this._inputElement.nativeElement.checked;\n\n // Emit our custom change event only if the underlying input emitted one. This ensures that\n // there is no change event, when the checked state changes programmatically.\n this._emitChangeEvent();\n }\n\n /** Method being called whenever the slide-toggle has been clicked. */\n _onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `slide-toggle` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(value: any): void {\n this.checked = !!value;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /** Implemented as a part of ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n\n /** Focuses the slide-toggle. */\n focus(options?: FocusOptions): void {\n this._focusMonitor.focusVia(this._inputElement, 'keyboard', options);\n }\n\n /** Toggles the checked state of the slide-toggle. */\n toggle(): void {\n this.checked = !this.checked;\n this._onChange(this.checked);\n }\n\n /**\n * Emits a change event on the `change` output. Also notifies the FormControl about the change.\n */\n private _emitChangeEvent() {\n this._onChange(this.checked);\n this.change.emit(new MatSlideToggleChange(this, this.checked));\n }\n\n /** Method being called whenever the label text changes. */\n _onLabelTextChange() {\n // Since the event of the `cdkObserveContent` directive runs outside of the zone, the\n // slide-toggle component will be only marked for check, but no actual change detection runs\n // automatically. Instead of going back into the zone in order to trigger a change detection\n // which causes *all* components to be checked (if explicitly marked or not using OnPush),\n // we only trigger an explicit change detection for the slide-toggle view and its children.\n this._changeDetectorRef.detectChanges();\n }\n\n static ngAcceptInputType_required: BooleanInput;\n static ngAcceptInputType_checked: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_disableRipple: BooleanInput;\n static ngAcceptInputType_tabIndex: NumberInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n forwardRef,\n Provider,\n} from '@angular/core';\nimport {\n CheckboxRequiredValidator,\n NG_VALIDATORS,\n} from '@angular/forms';\n\nexport const MAT_SLIDE_TOGGLE_REQUIRED_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MatSlideToggleRequiredValidator),\n multi: true\n};\n\n/**\n * Validator for Material slide-toggle components with the required attribute in a\n * template-driven form. The default validator for required form controls asserts\n * that the control value is not undefined but that is not appropriate for a slide-toggle\n * where the value is always defined.\n *\n * Required slide-toggle form controls are valid when checked.\n */\n@Directive({\n selector: `mat-slide-toggle[required][formControlName],\n mat-slide-toggle[required][formControl], mat-slide-toggle[required][ngModel]`,\n providers: [MAT_SLIDE_TOGGLE_REQUIRED_VALIDATOR],\n})\nexport class MatSlideToggleRequiredValidator extends CheckboxRequiredValidator {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ObserversModule} from '@angular/cdk/observers';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatSlideToggle} from './slide-toggle';\nimport {MatSlideToggleRequiredValidator} from './slide-toggle-required-validator';\n\n/** This module is used by both original and MDC-based slide-toggle implementations. */\n@NgModule({\n exports: [MatSlideToggleRequiredValidator],\n declarations: [MatSlideToggleRequiredValidator],\n})\nexport class _MatSlideToggleRequiredValidatorModule {}\n\n@NgModule({\n imports: [\n _MatSlideToggleRequiredValidatorModule,\n MatRippleModule,\n MatCommonModule,\n ObserversModule,\n ],\n exports: [\n _MatSlideToggleRequiredValidatorModule,\n MatSlideToggle,\n MatCommonModule\n ],\n declarations: [MatSlideToggle],\n})\nexport class MatSlideToggleModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './slide-toggle-module';\nexport * from './slide-toggle';\nexport * from './slide-toggle-config';\nexport * from './slide-toggle-required-validator';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","export function toInteger(value: any): number {\n return parseInt(`${value}`, 10);\n}\n\nexport function toString(value: any): string {\n return (value !== undefined && value !== null) ? `${value}` : '';\n}\n\nexport function getValueInRange(value: number, max: number, min = 0): number {\n return Math.max(Math.min(value, max), min);\n}\n\nexport function isString(value: any): value is string {\n return typeof value === 'string';\n}\n\nexport function isNumber(value: any): value is number {\n return !isNaN(toInteger(value));\n}\n\nexport function isInteger(value: any): value is number {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nexport function isDefined(value: any): boolean {\n return value !== undefined && value !== null;\n}\n\nexport function padNumber(value: number) {\n if (isNumber(value)) {\n return `0${value}`.slice(-2);\n } else {\n return '';\n }\n}\n\nexport function regExpEscape(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nexport function hasClassName(element: any, className: string): boolean {\n return element && element.className && element.className.split &&\n element.className.split(/\\s+/).indexOf(className) >= 0;\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.closest) {\n // Polyfill for ie10+\n\n if (!Element.prototype.matches) {\n // IE uses the non-standard name: msMatchesSelector\n Element.prototype.matches = (Element.prototype as any).msMatchesSelector || Element.prototype.webkitMatchesSelector;\n }\n\n Element.prototype.closest = function(s: string) {\n let el = this;\n if (!document.documentElement.contains(el)) {\n return null;\n }\n do {\n if (el.matches(s)) {\n return el;\n }\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n}\n\nexport function closest(element: HTMLElement, selector?: string): HTMLElement | null {\n if (!selector) {\n return null;\n }\n\n /*\n * In certain browsers (e.g. Edge 44.18362.449.0) HTMLDocument does\n * not support `Element.prototype.closest`. To emulate the correct behaviour\n * we return null when the method is missing.\n *\n * Note that in evergreen browsers `closest(document.documentElement, 'html')`\n * will return the document element whilst in Edge null will be returned. This\n * compromise was deemed good enough.\n */\n if (typeof element.closest === 'undefined') {\n return null;\n }\n\n return element.closest(selector);\n}\n\n/**\n * Force a browser reflow\n * @param element element where to apply the reflow\n */\nexport function reflow(element: HTMLElement) {\n return (element || document.body).offsetHeight;\n}\n","export const environment = {\n animation: true,\n transitionTimerDelayMs: 5,\n};\n","import {Injectable} from '@angular/core';\nimport {environment} from './environment';\n\n/**\n * Global ng-bootstrap config\n *\n * @since 8.0.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbConfig {\n animation = environment.animation;\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [NgbAccordion](#/components/accordion/api#NgbAccordion) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all accordions used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbAccordionConfig {\n animation: boolean;\n closeOthers = false;\n type: string;\n\n constructor(ngbConfig: NgbConfig) { this.animation = ngbConfig.animation; }\n}\n","export function getTransitionDurationMs(element: HTMLElement) {\n const {transitionDelay, transitionDuration} = window.getComputedStyle(element);\n const transitionDelaySec = parseFloat(transitionDelay);\n const transitionDurationSec = parseFloat(transitionDuration);\n\n return (transitionDelaySec + transitionDurationSec) * 1000;\n}\n","import {EMPTY, fromEvent, Observable, of, race, Subject, timer} from 'rxjs';\nimport {endWith, filter, takeUntil} from 'rxjs/operators';\nimport {getTransitionDurationMs} from './util';\nimport {environment} from '../../environment';\nimport {reflow} from '../util';\n\nexport type NgbTransitionStartFn = (element: HTMLElement, context: T) => NgbTransitionEndFn | void;\nexport type NgbTransitionEndFn = () => void;\n\nexport interface NgbTransitionOptions {\n animation: boolean;\n runningTransition: 'continue' | 'stop';\n context?: T;\n}\n\nexport interface NgbTransitionCtx {\n transition$: Subject;\n context: T;\n}\n\nconst noopFn: NgbTransitionEndFn = () => {};\n\nconst {transitionTimerDelayMs} = environment;\nconst runningTransitions = new Map>();\n\nexport const ngbRunTransition =\n (element: HTMLElement, startFn: NgbTransitionStartFn, options: NgbTransitionOptions):\n Observable => {\n\n // Getting initial context from options\n let context = options.context || {};\n\n // Checking if there are already running transitions on the given element.\n const running = runningTransitions.get(element);\n if (running) {\n switch (options.runningTransition) {\n // If there is one running and we want for it to 'continue' to run, we have to cancel the new one.\n // We're not emitting any values, but simply completing the observable (EMPTY).\n case 'continue':\n return EMPTY;\n // If there is one running and we want for it to 'stop', we have to complete the running one.\n // We're simply completing the running one and not emitting any values and merging newly provided context\n // with the one coming from currently running transition.\n case 'stop':\n running.transition$.complete();\n context = Object.assign(running.context, context);\n runningTransitions.delete(element);\n }\n }\n\n // A reflow is required here, to be sure that everything is ready,\n // Without reflow, the transition will not be started for some widgets, at initialization time\n reflow(element);\n\n const endFn = startFn(element, context) || noopFn;\n\n // If 'prefer-reduced-motion' is enabled, the 'transition' will be set to 'none'.\n // If animations are disabled, we have to emit a value and complete the observable\n // In this case we have to call the end function, but can finish immediately by emitting a value,\n // completing the observable and executing end functions synchronously.\n if (!options.animation || window.getComputedStyle(element).transitionProperty === 'none') {\n endFn();\n return of(undefined);\n }\n\n // Starting a new transition\n const transition$ = new Subject();\n const stop$ = transition$.pipe(endWith(true));\n runningTransitions.set(element, {transition$, context});\n\n const transitionDurationMs = getTransitionDurationMs(element);\n\n // 1. We have to both listen for the 'transitionend' event and have a 'just-in-case' timer,\n // because 'transitionend' event might not be fired in some browsers, if the transitioning\n // element becomes invisible (ex. when scrolling, making browser tab inactive, etc.). The timer\n // guarantees, that we'll release the DOM element and complete 'ngbRunTransition'.\n // 2. We need to filter transition end events, because they might bubble from shorter transitions\n // on inner DOM elements. We're only interested in the transition on the 'element' itself.\n const transitionEnd$ =\n fromEvent(element, 'transitionend').pipe(takeUntil(stop$), filter(({target}) => target === element));\n const timer$ = timer(transitionDurationMs + transitionTimerDelayMs).pipe(takeUntil(stop$));\n\n race(timer$, transitionEnd$).pipe(takeUntil(stop$)).subscribe(() => {\n runningTransitions.delete(element);\n endFn();\n transition$.next();\n transition$.complete();\n });\n\n return transition$.asObservable();\n };\n","import {NgbTransitionStartFn} from './ngbTransition';\nimport {reflow} from '../util';\n\nexport interface NgbCollapseCtx {\n direction: 'show' | 'hide';\n maxHeight?: string;\n}\n\nfunction measureCollapsingElementHeightPx(element: HTMLElement): string {\n // SSR fix for without injecting the PlatformId\n if (typeof navigator === 'undefined') {\n return '0px';\n }\n\n const {classList} = element;\n const hasShownClass = classList.contains('show');\n if (!hasShownClass) {\n classList.add('show');\n }\n\n element.style.height = '';\n const height = element.getBoundingClientRect().height + 'px';\n\n if (!hasShownClass) {\n classList.remove('show');\n }\n\n return height;\n}\n\nexport const ngbCollapsingTransition: NgbTransitionStartFn =\n (element: HTMLElement, context: NgbCollapseCtx) => {\n let {direction, maxHeight} = context;\n const {classList} = element;\n\n // No maxHeight -> running the transition for the first time\n if (!maxHeight) {\n maxHeight = measureCollapsingElementHeightPx(element);\n context.maxHeight = maxHeight;\n\n // Fix the height before starting the animation\n element.style.height = direction !== 'show' ? maxHeight : '0px';\n\n classList.remove('collapse');\n classList.remove('collapsing');\n classList.remove('show');\n\n reflow(element);\n\n // Start the animation\n classList.add('collapsing');\n }\n\n // Start or revert the animation\n element.style.height = direction === 'show' ? maxHeight : '0px';\n\n return () => {\n classList.remove('collapsing');\n classList.add('collapse');\n if (direction === 'show') {\n classList.add('show');\n } else {\n classList.remove('show');\n }\n\n element.style.height = '';\n };\n };\n","import {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n Host,\n Input,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n NgZone,\n} from '@angular/core';\n\nimport {isString} from '../util/util';\n\nimport {NgbAccordionConfig} from './accordion-config';\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {ngbCollapsingTransition} from '../util/transition/ngbCollapseTransition';\nimport {take} from 'rxjs/operators';\n\nlet nextId = 0;\n\n/**\n * The context for the [NgbPanelHeader](#/components/accordion/api#NgbPanelHeader) template\n *\n * @since 4.1.0\n */\nexport interface NgbPanelHeaderContext {\n /**\n * `True` if current panel is opened\n */\n opened: boolean;\n}\n\n/**\n * A directive that wraps an accordion panel header with any HTML markup and a toggling button\n * marked with [`NgbPanelToggle`](#/components/accordion/api#NgbPanelToggle).\n * See the [header customization demo](#/components/accordion/examples#header) for more details.\n *\n * You can also use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to customize only the panel title.\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPanelHeader]'})\nexport class NgbPanelHeader {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps only the panel title with HTML markup inside.\n *\n * You can also use [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader) to customize the full panel header.\n */\n@Directive({selector: 'ng-template[ngbPanelTitle]'})\nexport class NgbPanelTitle {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps the accordion panel content.\n */\n@Directive({selector: 'ng-template[ngbPanelContent]'})\nexport class NgbPanelContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps an individual accordion panel with title and collapsible content.\n */\n@Directive({selector: 'ngb-panel'})\nexport class NgbPanel implements AfterContentChecked {\n /**\n * If `true`, the panel is disabled an can't be toggled.\n */\n @Input() disabled = false;\n\n /**\n * An optional id for the panel that must be unique on the page.\n *\n * If not provided, it will be auto-generated in the `ngb-panel-xxx` format.\n */\n @Input() id = `ngb-panel-${nextId++}`;\n\n isOpen = false;\n\n /* A flag to specified that the transition panel classes have been initialized */\n initClassDone = false;\n\n /* A flag to specified if the panel is currently being animated, to ensure its presence in the dom */\n transitionRunning = false;\n\n /**\n * The panel title.\n *\n * You can alternatively use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to set panel title.\n */\n @Input() title: string;\n\n /**\n * Type of the current panel.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n\n /**\n * An optional class applied to the accordion card element that wraps both panel title and content.\n *\n * @since 5.3.0\n */\n @Input() cardClass: string;\n\n /**\n * An event emitted when the panel is shown, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the panel is hidden, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n\n titleTpl: NgbPanelTitle;\n headerTpl: NgbPanelHeader;\n contentTpl: NgbPanelContent;\n\n @ContentChildren(NgbPanelTitle, {descendants: false}) titleTpls: QueryList;\n @ContentChildren(NgbPanelHeader, {descendants: false}) headerTpls: QueryList;\n @ContentChildren(NgbPanelContent, {descendants: false}) contentTpls: QueryList;\n\n ngAfterContentChecked() {\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\n // only @ContentChildren allows us to specify the {descendants: false} option.\n // Without {descendants: false} we are hitting bugs described in:\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\n this.titleTpl = this.titleTpls.first;\n this.headerTpl = this.headerTpls.first;\n this.contentTpl = this.contentTpls.first;\n }\n}\n\n/**\n * An event emitted right before toggling an accordion panel.\n */\nexport interface NgbPanelChangeEvent {\n /**\n * The id of the accordion panel being toggled.\n */\n panelId: string;\n\n /**\n * The next state of the panel.\n *\n * `true` if it will be opened, `false` if closed.\n */\n nextState: boolean;\n\n /**\n * Calling this function will prevent panel toggling.\n */\n preventDefault: () => void;\n}\n\n/**\n * Accordion is a collection of collapsible panels (bootstrap cards).\n *\n * It can ensure only one panel is opened at a time and allows to customize panel\n * headers.\n */\n@Component({\n selector: 'ngb-accordion',\n exportAs: 'ngbAccordion',\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'accordion', 'role': 'tablist', '[attr.aria-multiselectable]': '!closeOtherPanels'},\n template: `\n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n `\n})\nexport class NgbAccordion implements AfterContentChecked {\n @ContentChildren(NgbPanel) panels: QueryList;\n\n /**\n * If `true`, accordion will be animated.\n *\n * @since 8.0.0\n */\n @Input() animation;\n\n /**\n * An array or comma separated strings of panel ids that should be opened **initially**.\n *\n * For subsequent changes use methods like `expand()`, `collapse()`, etc. and\n * the `(panelChange)` event.\n */\n @Input() activeIds: string | readonly string[] = [];\n\n /**\n * If `true`, only one panel could be opened at a time.\n *\n * Opening a new panel will close others.\n */\n @Input('closeOthers') closeOtherPanels: boolean;\n\n /**\n * If `true`, panel content will be detached from DOM and not simply hidden when the panel is collapsed.\n */\n @Input() destroyOnHide = true;\n\n /**\n * Type of panels.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n\n /**\n * Event emitted right before the panel toggle happens.\n *\n * See [NgbPanelChangeEvent](#/components/accordion/api#NgbPanelChangeEvent) for payload details.\n */\n @Output() panelChange = new EventEmitter();\n\n /**\n * An event emitted when the expanding animation is finished on the panel. The payload is the panel id.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the collapsing animation is finished on the panel, and before the panel element is removed.\n * The payload is the panel id.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n constructor(\n config: NgbAccordionConfig, private _element: ElementRef, private _ngZone: NgZone,\n private _changeDetector: ChangeDetectorRef) {\n this.animation = config.animation;\n this.type = config.type;\n this.closeOtherPanels = config.closeOthers;\n }\n\n /**\n * Checks if a panel with a given id is expanded.\n */\n isExpanded(panelId: string): boolean { return this.activeIds.indexOf(panelId) > -1; }\n\n /**\n * Expands a panel with a given id.\n *\n * Has no effect if the panel is already expanded or disabled.\n */\n expand(panelId: string): void { this._changeOpenState(this._findPanelById(panelId), true); }\n\n /**\n * Expands all panels, if `[closeOthers]` is `false`.\n *\n * If `[closeOthers]` is `true`, it will expand the first panel, unless there is already a panel opened.\n */\n expandAll(): void {\n if (this.closeOtherPanels) {\n if (this.activeIds.length === 0 && this.panels.length) {\n this._changeOpenState(this.panels.first, true);\n }\n } else {\n this.panels.forEach(panel => this._changeOpenState(panel, true));\n }\n }\n\n /**\n * Collapses a panel with the given id.\n *\n * Has no effect if the panel is already collapsed or disabled.\n */\n collapse(panelId: string) { this._changeOpenState(this._findPanelById(panelId), false); }\n\n /**\n * Collapses all opened panels.\n */\n collapseAll() {\n this.panels.forEach((panel) => { this._changeOpenState(panel, false); });\n }\n\n /**\n * Toggles a panel with the given id.\n *\n * Has no effect if the panel is disabled.\n */\n toggle(panelId: string) {\n const panel = this._findPanelById(panelId);\n if (panel) {\n this._changeOpenState(panel, !panel.isOpen);\n }\n }\n\n ngAfterContentChecked() {\n // active id updates\n if (isString(this.activeIds)) {\n this.activeIds = this.activeIds.split(/\\s*,\\s*/);\n }\n\n // update panels open states\n this.panels.forEach(panel => { panel.isOpen = !panel.disabled && this.activeIds.indexOf(panel.id) > -1; });\n\n // closeOthers updates\n if (this.activeIds.length > 1 && this.closeOtherPanels) {\n this._closeOthers(this.activeIds[0], false);\n this._updateActiveIds();\n }\n\n // Setup the initial classes here\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.panels.forEach(panel => {\n const panelElement = this._getPanelElement(panel.id);\n if (panelElement) {\n if (!panel.initClassDone) {\n panel.initClassDone = true;\n const {classList} = panelElement;\n classList.add('collapse');\n if (panel.isOpen) {\n classList.add('show');\n }\n }\n } else {\n // Classes must be initialized next time it will be in the dom\n panel.initClassDone = false;\n }\n });\n });\n }\n\n private _changeOpenState(panel: NgbPanel | null, nextState: boolean) {\n if (panel != null && !panel.disabled && panel.isOpen !== nextState) {\n let defaultPrevented = false;\n\n this.panelChange.emit(\n {panelId: panel.id, nextState: nextState, preventDefault: () => { defaultPrevented = true; }});\n\n if (!defaultPrevented) {\n panel.isOpen = nextState;\n panel.transitionRunning = true;\n\n if (nextState && this.closeOtherPanels) {\n this._closeOthers(panel.id);\n }\n this._updateActiveIds();\n this._runTransitions(this.animation);\n }\n }\n }\n\n private _closeOthers(panelId: string, enableTransition = true) {\n this.panels.forEach(panel => {\n if (panel.id !== panelId && panel.isOpen) {\n panel.isOpen = false;\n panel.transitionRunning = enableTransition;\n }\n });\n }\n\n private _findPanelById(panelId: string): NgbPanel | null { return this.panels.find(p => p.id === panelId) || null; }\n\n private _updateActiveIds() {\n this.activeIds = this.panels.filter(panel => panel.isOpen && !panel.disabled).map(panel => panel.id);\n }\n\n private _runTransitions(animation: boolean, emitEvent = true) {\n // detectChanges is performed to ensure that all panels are in the dom (via transitionRunning = true)\n // before starting the animation\n this._changeDetector.detectChanges();\n\n this.panels.forEach(panel => {\n // When panel.transitionRunning is true, the transition needs to be started OR reversed,\n // The direction (show or hide) is choosen by each panel.isOpen state\n if (panel.transitionRunning) {\n const panelElement = this._getPanelElement(panel.id);\n ngbRunTransition(panelElement !, ngbCollapsingTransition, {\n animation,\n runningTransition: 'stop',\n context: {direction: panel.isOpen ? 'show' : 'hide'}\n }).subscribe(() => {\n panel.transitionRunning = false;\n if (emitEvent) {\n const {id} = panel;\n if (panel.isOpen) {\n panel.shown.emit();\n this.shown.emit(id);\n } else {\n panel.hidden.emit();\n this.hidden.emit(id);\n }\n }\n });\n }\n });\n }\n\n private _getPanelElement(panelId: string): HTMLElement | null {\n return this._element.nativeElement.querySelector('#' + panelId);\n }\n}\n\n/**\n * A directive to put on a button that toggles panel opening and closing.\n *\n * To be used inside the [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader)\n *\n * @since 4.1.0\n */\n@Directive({\n selector: 'button[ngbPanelToggle]',\n host: {\n 'type': 'button',\n '[disabled]': 'panel.disabled',\n '[class.collapsed]': '!panel.isOpen',\n '[attr.aria-expanded]': 'panel.isOpen',\n '[attr.aria-controls]': 'panel.id',\n '(click)': 'accordion.toggle(panel.id)'\n }\n})\nexport class NgbPanelToggle {\n static ngAcceptInputType_ngbPanelToggle: NgbPanel | '';\n\n @Input()\n set ngbPanelToggle(panel: NgbPanel) {\n if (panel) {\n this.panel = panel;\n }\n }\n\n constructor(public accordion: NgbAccordion, @Optional() @Host() public panel: NgbPanel) {}\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle} from './accordion';\n\nexport {\n NgbAccordion,\n NgbPanel,\n NgbPanelTitle,\n NgbPanelContent,\n NgbPanelChangeEvent,\n NgbPanelHeader,\n NgbPanelHeaderContext,\n NgbPanelToggle\n} from './accordion';\nexport {NgbAccordionConfig} from './accordion-config';\n\nconst NGB_ACCORDION_DIRECTIVES =\n [NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle];\n\n@NgModule({declarations: NGB_ACCORDION_DIRECTIVES, exports: NGB_ACCORDION_DIRECTIVES, imports: [CommonModule]})\nexport class NgbAccordionModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [NgbAlert](#/components/alert/api#NgbAlert) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all alerts used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbAlertConfig {\n animation: boolean;\n dismissible = true;\n type = 'warning';\n\n constructor(ngbConfig: NgbConfig) { this.animation = ngbConfig.animation; }\n}\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\n\nexport const ngbAlertFadingTransition: NgbTransitionStartFn = ({classList}: HTMLElement) => {\n classList.remove('show');\n};\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n Renderer2,\n ElementRef,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {Observable} from 'rxjs';\n\nimport {NgbAlertConfig} from './alert-config';\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {ngbAlertFadingTransition} from './alert-transition';\n\n/**\n * Alert is a component to provide contextual feedback messages for user.\n *\n * It supports several alert types and can be dismissed.\n */\n@Component({\n selector: 'ngb-alert',\n exportAs: 'ngbAlert',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host:\n {'role': 'alert', 'class': 'alert show', '[class.fade]': 'animation', '[class.alert-dismissible]': 'dismissible'},\n template: `\n \n \n `,\n styleUrls: ['./alert.scss']\n})\nexport class NgbAlert implements OnInit,\n OnChanges {\n /**\n * If `true`, alert closing will be animated.\n *\n * Animation is triggered only when clicked on the close button (×)\n * or via the `.close()` function\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * If `true`, alert can be dismissed by the user.\n *\n * The close button (×) will be displayed and you can be notified\n * of the event with the `(close)` output.\n */\n @Input() dismissible: boolean;\n\n /**\n * Type of the alert.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n\n /**\n * An event emitted when the close button is clicked. It has no payload and only relevant for dismissible alerts.\n *\n * @since 8.0.0\n */\n @Output() closed = new EventEmitter();\n\n\n constructor(config: NgbAlertConfig, private _renderer: Renderer2, private _element: ElementRef) {\n this.dismissible = config.dismissible;\n this.type = config.type;\n this.animation = config.animation;\n }\n\n /**\n * Triggers alert closing programmatically (same as clicking on the close button (×)).\n *\n * The returned observable will emit and be completed once the closing transition has finished.\n * If the animations are turned off this happens synchronously.\n *\n * Alternatively you could listen or subscribe to the `(closed)` output\n *\n * @since 8.0.0\n */\n close(): Observable {\n const transition = ngbRunTransition(\n this._element.nativeElement, ngbAlertFadingTransition,\n {animation: this.animation, runningTransition: 'continue'});\n transition.subscribe(() => this.closed.emit());\n return transition;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const typeChange = changes['type'];\n if (typeChange && !typeChange.firstChange) {\n this._renderer.removeClass(this._element.nativeElement, `alert-${typeChange.previousValue}`);\n this._renderer.addClass(this._element.nativeElement, `alert-${typeChange.currentValue}`);\n }\n }\n\n ngOnInit() { this._renderer.addClass(this._element.nativeElement, `alert-${this.type}`); }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbAlert} from './alert';\n\nexport {NgbAlert} from './alert';\nexport {NgbAlertConfig} from './alert-config';\n\n@NgModule({declarations: [NgbAlert], exports: [NgbAlert], imports: [CommonModule], entryComponents: [NgbAlert]})\nexport class NgbAlertModule {\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[ngbButtonLabel]',\n host:\n {'[class.btn]': 'true', '[class.active]': 'active', '[class.disabled]': 'disabled', '[class.focus]': 'focused'}\n})\nexport class NgbButtonLabel {\n active: boolean;\n disabled: boolean;\n focused: boolean;\n}\n","import {ChangeDetectorRef, Directive, forwardRef, Input} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {NgbButtonLabel} from './label';\n\nconst NGB_CHECKBOX_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbCheckBox),\n multi: true\n};\n\n\n/**\n * Allows to easily create Bootstrap-style checkbox buttons.\n *\n * Integrates with forms, so the value of a checked button is bound to the underlying form control\n * either in a reactive or template-driven way.\n */\n@Directive({\n selector: '[ngbButton][type=checkbox]',\n host: {\n '[checked]': 'checked',\n '[disabled]': 'disabled',\n '(change)': 'onInputChange($event)',\n '(focus)': 'focused = true',\n '(blur)': 'focused = false'\n },\n providers: [NGB_CHECKBOX_VALUE_ACCESSOR]\n})\nexport class NgbCheckBox implements ControlValueAccessor {\n static ngAcceptInputType_disabled: boolean | '';\n\n checked;\n\n /**\n * If `true`, the checkbox button will be disabled\n */\n @Input() disabled = false;\n\n /**\n * The form control value when the checkbox is checked.\n */\n @Input() valueChecked = true;\n\n /**\n * The form control value when the checkbox is unchecked.\n */\n @Input() valueUnChecked = false;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n set focused(isFocused: boolean) {\n this._label.focused = isFocused;\n if (!isFocused) {\n this.onTouched();\n }\n }\n\n constructor(private _label: NgbButtonLabel, private _cd: ChangeDetectorRef) {}\n\n onInputChange($event) {\n const modelToPropagate = $event.target.checked ? this.valueChecked : this.valueUnChecked;\n this.onChange(modelToPropagate);\n this.onTouched();\n this.writeValue(modelToPropagate);\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._label.disabled = isDisabled;\n }\n\n writeValue(value) {\n this.checked = value === this.valueChecked;\n this._label.active = this.checked;\n\n // label won't be updated, if it is inside the OnPush component when [ngModel] changes\n this._cd.markForCheck();\n }\n}\n","import {ChangeDetectorRef, Directive, ElementRef, forwardRef, Input, OnDestroy, Renderer2} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {NgbButtonLabel} from './label';\n\nconst NGB_RADIO_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbRadioGroup),\n multi: true\n};\n\nlet nextId = 0;\n\n/**\n * Allows to easily create Bootstrap-style radio buttons.\n *\n * Integrates with forms, so the value of a checked button is bound to the underlying form control\n * either in a reactive or template-driven way.\n */\n@Directive({selector: '[ngbRadioGroup]', host: {'role': 'radiogroup'}, providers: [NGB_RADIO_VALUE_ACCESSOR]})\nexport class NgbRadioGroup implements ControlValueAccessor {\n private _radios: Set = new Set();\n private _value = null;\n private _disabled: boolean;\n\n get disabled() { return this._disabled; }\n set disabled(isDisabled: boolean) { this.setDisabledState(isDisabled); }\n\n /**\n * Name of the radio group applied to radio input elements.\n *\n * Will be applied to all radio input elements inside the group,\n * unless [`NgbRadio`](#/components/buttons/api#NgbRadio)'s specify names themselves.\n *\n * If not provided, will be generated in the `ngb-radio-xx` format.\n */\n @Input() name = `ngb-radio-${nextId++}`;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n onRadioChange(radio: NgbRadio) {\n this.writeValue(radio.value);\n this.onChange(radio.value);\n }\n\n onRadioValueUpdate() { this._updateRadiosValue(); }\n\n register(radio: NgbRadio) { this._radios.add(radio); }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled = isDisabled;\n this._updateRadiosDisabled();\n }\n\n unregister(radio: NgbRadio) { this._radios.delete(radio); }\n\n writeValue(value) {\n this._value = value;\n this._updateRadiosValue();\n }\n\n private _updateRadiosValue() { this._radios.forEach((radio) => radio.updateValue(this._value)); }\n private _updateRadiosDisabled() { this._radios.forEach((radio) => radio.updateDisabled()); }\n}\n\n\n/**\n * A directive that marks an input of type \"radio\" as a part of the\n * [`NgbRadioGroup`](#/components/buttons/api#NgbRadioGroup).\n */\n@Directive({\n selector: '[ngbButton][type=radio]',\n host: {\n '[checked]': 'checked',\n '[disabled]': 'disabled',\n '[name]': 'nameAttr',\n '(change)': 'onChange()',\n '(focus)': 'focused = true',\n '(blur)': 'focused = false'\n }\n})\nexport class NgbRadio implements OnDestroy {\n static ngAcceptInputType_disabled: boolean | '';\n\n private _checked: boolean;\n private _disabled: boolean;\n private _value: any = null;\n\n /**\n * The value for the 'name' property of the input element.\n *\n * All inputs of the radio group should have the same name. If not specified,\n * the name of the enclosing group is used.\n */\n @Input() name: string;\n\n /**\n * The form control value when current radio button is checked.\n */\n @Input('value')\n set value(value: any) {\n this._value = value;\n const stringValue = value ? value.toString() : '';\n this._renderer.setProperty(this._element.nativeElement, 'value', stringValue);\n this._group.onRadioValueUpdate();\n }\n\n /**\n * If `true`, current radio button will be disabled.\n */\n @Input('disabled')\n set disabled(isDisabled: boolean) {\n this._disabled = isDisabled !== false;\n this.updateDisabled();\n }\n\n set focused(isFocused: boolean) {\n if (this._label) {\n this._label.focused = isFocused;\n }\n if (!isFocused) {\n this._group.onTouched();\n }\n }\n\n get checked() { return this._checked; }\n\n get disabled() { return this._group.disabled || this._disabled; }\n\n get value() { return this._value; }\n\n get nameAttr() { return this.name || this._group.name; }\n\n constructor(\n private _group: NgbRadioGroup, private _label: NgbButtonLabel, private _renderer: Renderer2,\n private _element: ElementRef, private _cd: ChangeDetectorRef) {\n this._group.register(this);\n this.updateDisabled();\n }\n\n ngOnDestroy() { this._group.unregister(this); }\n\n onChange() { this._group.onRadioChange(this); }\n\n updateValue(value) {\n // label won't be updated, if it is inside the OnPush component when [ngModel] changes\n if (this.value !== value) {\n this._cd.markForCheck();\n }\n\n this._checked = this.value === value;\n this._label.active = this._checked;\n }\n\n updateDisabled() { this._label.disabled = this.disabled; }\n}\n","import {NgModule} from '@angular/core';\nimport {NgbButtonLabel} from './label';\nimport {NgbCheckBox} from './checkbox';\nimport {NgbRadio, NgbRadioGroup} from './radio';\n\nexport {NgbButtonLabel} from './label';\nexport {NgbCheckBox} from './checkbox';\nexport {NgbRadio, NgbRadioGroup} from './radio';\n\n\nconst NGB_BUTTON_DIRECTIVES = [NgbButtonLabel, NgbCheckBox, NgbRadioGroup, NgbRadio];\n\n@NgModule({declarations: NGB_BUTTON_DIRECTIVES, exports: NGB_BUTTON_DIRECTIVES})\nexport class NgbButtonsModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [NgbCarousel](#/components/carousel/api#NgbCarousel) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all carousels used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbCarouselConfig {\n animation: boolean;\n interval = 5000;\n wrap = true;\n keyboard = true;\n pauseOnHover = true;\n pauseOnFocus = true;\n showNavigationArrows = true;\n showNavigationIndicators = true;\n\n constructor(ngbConfig: NgbConfig) { this.animation = ngbConfig.animation; }\n}\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\nimport {reflow} from '../util/util';\n\n/**\n * Defines the carousel slide transition direction.\n */\nexport enum NgbSlideEventDirection {\n LEFT = 'left',\n RIGHT = 'right'\n}\n\nexport interface NgbCarouselCtx { direction: 'left' | 'right'; }\n\nconst isAnimated = ({classList}) => {\n return classList.contains('carousel-item-left') || classList.contains('carousel-item-right');\n};\n\nconst removeDirectionClasses = ({classList}) => {\n classList.remove('carousel-item-left');\n classList.remove('carousel-item-right');\n};\n\nconst removeClasses = ({classList}) => {\n removeDirectionClasses({classList});\n classList.remove('carousel-item-prev');\n classList.remove('carousel-item-next');\n};\n\nexport const ngbCarouselTransitionIn: NgbTransitionStartFn =\n (element: HTMLElement, {direction}: NgbCarouselCtx) => {\n const {classList} = element;\n if (isAnimated(element)) {\n // Revert the transition\n removeDirectionClasses(element);\n } else {\n // For the 'in' transition, a 'pre-class' is applied to the element to ensure its visibility\n classList.add('carousel-item-' + (direction === NgbSlideEventDirection.LEFT ? 'next' : 'prev'));\n reflow(element);\n classList.add('carousel-item-' + direction);\n }\n\n return () => {\n removeClasses(element);\n classList.add('active');\n };\n };\n\nexport const ngbCarouselTransitionOut: NgbTransitionStartFn =\n (element: HTMLElement, {direction}: NgbCarouselCtx) => {\n const {classList} = element;\n // direction is left or right, depending on the way the slide goes out.\n if (isAnimated(element)) {\n // Revert the transition\n removeDirectionClasses(element);\n } else {\n classList.add('carousel-item-' + direction);\n }\n\n return () => {\n removeClasses(element);\n classList.remove('active');\n };\n };\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n AfterViewInit\n} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\nimport {NgbCarouselConfig} from './carousel-config';\n\nimport {BehaviorSubject, combineLatest, NEVER, Observable, Subject, timer, zip} from 'rxjs';\nimport {distinctUntilChanged, map, startWith, switchMap, take, takeUntil} from 'rxjs/operators';\nimport {ngbRunTransition, NgbTransitionOptions} from '../util/transition/ngbTransition';\nimport {\n ngbCarouselTransitionIn,\n ngbCarouselTransitionOut,\n NgbSlideEventDirection,\n NgbCarouselCtx\n} from './carousel-transition';\n\nlet nextId = 0;\n\n/**\n * A directive that wraps the individual carousel slide.\n */\n@Directive({selector: 'ng-template[ngbSlide]'})\nexport class NgbSlide {\n /**\n * Slide id that must be unique for the entire document.\n *\n * If not provided, will be generated in the `ngb-slide-xx` format.\n */\n @Input() id = `ngb-slide-${nextId++}`;\n\n /**\n * An event emitted when the slide transition is finished\n *\n * @since 8.0.0\n */\n @Output() slid = new EventEmitter();\n\n constructor(public tplRef: TemplateRef) {}\n}\n\n/**\n * Carousel is a component to easily create and control slideshows.\n *\n * Allows to set intervals, change the way user interacts with the slides and provides a programmatic API.\n */\n@Component({\n selector: 'ngb-carousel',\n exportAs: 'ngbCarousel',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'carousel slide',\n '[style.display]': '\"block\"',\n 'tabIndex': '0',\n '(keydown.arrowLeft)': 'keyboard && arrowLeft()',\n '(keydown.arrowRight)': 'keyboard && arrowRight()',\n '(mouseenter)': 'mouseHover = true',\n '(mouseleave)': 'mouseHover = false',\n '(focusin)': 'focused = true',\n '(focusout)': 'focused = false',\n '[attr.aria-activedescendant]': 'activeId'\n },\n template: `\n
    \n
  1. \n
\n
\n
\n \n Slide {{i + 1}} of {{c}}\n \n \n
\n
\n \n \n Previous\n \n \n \n Next\n \n `\n})\nexport class NgbCarousel implements AfterContentChecked,\n AfterContentInit, AfterViewInit, OnDestroy {\n @ContentChildren(NgbSlide) slides: QueryList;\n\n public NgbSlideEventSource = NgbSlideEventSource;\n\n private _destroy$ = new Subject();\n private _interval$ = new BehaviorSubject(0);\n private _mouseHover$ = new BehaviorSubject(false);\n private _focused$ = new BehaviorSubject(false);\n private _pauseOnHover$ = new BehaviorSubject(false);\n private _pauseOnFocus$ = new BehaviorSubject(false);\n private _pause$ = new BehaviorSubject(false);\n private _wrap$ = new BehaviorSubject(false);\n\n /**\n * A flag to enable/disable the animations.\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * The slide id that should be displayed **initially**.\n *\n * For subsequent interactions use methods `select()`, `next()`, etc. and the `(slide)` output.\n */\n @Input() activeId: string;\n\n /**\n * Time in milliseconds before the next slide is shown.\n */\n @Input()\n set interval(value: number) {\n this._interval$.next(value);\n }\n\n get interval() { return this._interval$.value; }\n\n /**\n * If `true`, will 'wrap' the carousel by switching from the last slide back to the first.\n */\n @Input()\n set wrap(value: boolean) {\n this._wrap$.next(value);\n }\n\n get wrap() { return this._wrap$.value; }\n\n /**\n * If `true`, allows to interact with carousel using keyboard 'arrow left' and 'arrow right'.\n */\n @Input() keyboard: boolean;\n\n /**\n * If `true`, will pause slide switching when mouse cursor hovers the slide.\n *\n * @since 2.2.0\n */\n @Input()\n set pauseOnHover(value: boolean) {\n this._pauseOnHover$.next(value);\n }\n\n get pauseOnHover() { return this._pauseOnHover$.value; }\n\n /**\n * If `true`, will pause slide switching when the focus is inside the carousel.\n */\n @Input()\n set pauseOnFocus(value: boolean) {\n this._pauseOnFocus$.next(value);\n }\n\n get pauseOnFocus() { return this._pauseOnFocus$.value; }\n\n /**\n * If `true`, 'previous' and 'next' navigation arrows will be visible on the slide.\n *\n * @since 2.2.0\n */\n @Input() showNavigationArrows: boolean;\n\n /**\n * If `true`, navigation indicators at the bottom of the slide will be visible.\n *\n * @since 2.2.0\n */\n @Input() showNavigationIndicators: boolean;\n\n /**\n * An event emitted just before the slide transition starts.\n *\n * See [`NgbSlideEvent`](#/components/carousel/api#NgbSlideEvent) for payload details.\n */\n @Output() slide = new EventEmitter();\n\n /**\n * An event emitted right after the slide transition is completed.\n *\n * See [`NgbSlideEvent`](#/components/carousel/api#NgbSlideEvent) for payload details.\n *\n * @since 8.0.0\n */\n @Output() slid = new EventEmitter();\n\n /*\n * Keep the ids of the panels currently transitionning\n * in order to allow only the transition revertion\n */\n private _transitionIds: [string, string] | null = null;\n\n set mouseHover(value: boolean) { this._mouseHover$.next(value); }\n\n get mouseHover() { return this._mouseHover$.value; }\n\n set focused(value: boolean) { this._focused$.next(value); }\n\n get focused() { return this._focused$.value; }\n\n constructor(\n config: NgbCarouselConfig, @Inject(PLATFORM_ID) private _platformId, private _ngZone: NgZone,\n private _cd: ChangeDetectorRef, private _container: ElementRef) {\n this.animation = config.animation;\n this.interval = config.interval;\n this.wrap = config.wrap;\n this.keyboard = config.keyboard;\n this.pauseOnHover = config.pauseOnHover;\n this.pauseOnFocus = config.pauseOnFocus;\n this.showNavigationArrows = config.showNavigationArrows;\n this.showNavigationIndicators = config.showNavigationIndicators;\n }\n\n arrowLeft() {\n this.focus();\n this.prev(NgbSlideEventSource.ARROW_LEFT);\n }\n\n arrowRight() {\n this.focus();\n this.next(NgbSlideEventSource.ARROW_RIGHT);\n }\n\n ngAfterContentInit() {\n // setInterval() doesn't play well with SSR and protractor,\n // so we should run it in the browser and outside Angular\n if (isPlatformBrowser(this._platformId)) {\n this._ngZone.runOutsideAngular(() => {\n const hasNextSlide$ = combineLatest([\n this.slide.pipe(map(slideEvent => slideEvent.current), startWith(this.activeId)),\n this._wrap$, this.slides.changes.pipe(startWith(null))\n ])\n .pipe(\n map(([currentSlideId, wrap]) => {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n return wrap ? slideArr.length > 1 : currentSlideIdx < slideArr.length - 1;\n }),\n distinctUntilChanged());\n combineLatest([\n this._pause$, this._pauseOnHover$, this._mouseHover$, this._pauseOnFocus$, this._focused$, this._interval$,\n hasNextSlide$\n ])\n .pipe(\n map(([pause, pauseOnHover, mouseHover, pauseOnFocus, focused, interval,\n hasNextSlide]: [boolean, boolean, boolean, boolean, boolean, number, boolean]) =>\n ((pause || (pauseOnHover && mouseHover) || (pauseOnFocus && focused) || !hasNextSlide) ?\n 0 :\n interval)),\n\n distinctUntilChanged(), switchMap(interval => interval > 0 ? timer(interval, interval) : NEVER),\n takeUntil(this._destroy$))\n .subscribe(() => this._ngZone.run(() => this.next(NgbSlideEventSource.TIMER)));\n });\n }\n\n this.slides.changes.pipe(takeUntil(this._destroy$)).subscribe(() => this._cd.markForCheck());\n }\n\n ngAfterContentChecked() {\n let activeSlide = this._getSlideById(this.activeId);\n this.activeId = activeSlide ? activeSlide.id : (this.slides.length ? this.slides.first.id : '');\n }\n\n ngAfterViewInit() {\n // Initialize the 'active' class (not managed by the template)\n if (this.activeId) {\n const element = this._getSlideElement(this.activeId);\n if (element) {\n element.classList.add('active');\n }\n }\n }\n\n ngOnDestroy() { this._destroy$.next(); }\n\n /**\n * Navigates to a slide with the specified identifier.\n */\n select(slideId: string, source?: NgbSlideEventSource) {\n this._cycleToSelected(slideId, this._getSlideEventDirection(this.activeId, slideId), source);\n }\n\n /**\n * Navigates to the previous slide.\n */\n prev(source?: NgbSlideEventSource) {\n this._cycleToSelected(this._getPrevSlide(this.activeId), NgbSlideEventDirection.RIGHT, source);\n }\n\n /**\n * Navigates to the next slide.\n */\n next(source?: NgbSlideEventSource) {\n this._cycleToSelected(this._getNextSlide(this.activeId), NgbSlideEventDirection.LEFT, source);\n }\n\n /**\n * Pauses cycling through the slides.\n */\n pause() { this._pause$.next(true); }\n\n /**\n * Restarts cycling through the slides from left to right.\n */\n cycle() { this._pause$.next(false); }\n\n /**\n * Set the focus on the carousel.\n */\n focus() { this._container.nativeElement.focus(); }\n\n private _cycleToSelected(slideIdx: string, direction: NgbSlideEventDirection, source?: NgbSlideEventSource) {\n const transitionIds = this._transitionIds;\n if (transitionIds && (transitionIds[0] !== slideIdx || transitionIds[1] !== this.activeId)) {\n // Revert prevented\n return;\n }\n\n let selectedSlide = this._getSlideById(slideIdx);\n if (selectedSlide && selectedSlide.id !== this.activeId) {\n this._transitionIds = [this.activeId, slideIdx];\n this.slide.emit(\n {prev: this.activeId, current: selectedSlide.id, direction: direction, paused: this._pause$.value, source});\n\n const options: NgbTransitionOptions = {\n animation: this.animation,\n runningTransition: 'stop',\n context: {direction},\n };\n\n const transitions: Array> = [];\n const activeSlide = this._getSlideById(this.activeId);\n if (activeSlide) {\n const activeSlideTransition =\n ngbRunTransition(this._getSlideElement(activeSlide.id), ngbCarouselTransitionOut, options);\n activeSlideTransition.subscribe(() => { activeSlide.slid.emit({isShown: false, direction, source}); });\n transitions.push(activeSlideTransition);\n }\n\n const previousId = this.activeId;\n this.activeId = selectedSlide.id;\n const nextSlide = this._getSlideById(this.activeId);\n const transition = ngbRunTransition(this._getSlideElement(selectedSlide.id), ngbCarouselTransitionIn, options);\n transition.subscribe(() => { nextSlide ?.slid.emit({isShown: true, direction, source}); });\n transitions.push(transition);\n\n zip(...transitions).pipe(take(1)).subscribe(() => {\n this._transitionIds = null;\n this.slid.emit(\n {prev: previousId, current: selectedSlide !.id, direction: direction, paused: this._pause$.value, source});\n });\n }\n\n // we get here after the interval fires or any external API call like next(), prev() or select()\n this._cd.markForCheck();\n }\n\n private _getSlideEventDirection(currentActiveSlideId: string, nextActiveSlideId: string): NgbSlideEventDirection {\n const currentActiveSlideIdx = this._getSlideIdxById(currentActiveSlideId);\n const nextActiveSlideIdx = this._getSlideIdxById(nextActiveSlideId);\n\n return currentActiveSlideIdx > nextActiveSlideIdx ? NgbSlideEventDirection.RIGHT : NgbSlideEventDirection.LEFT;\n }\n\n private _getSlideById(slideId: string): NgbSlide | null {\n return this.slides.find(slide => slide.id === slideId) || null;\n }\n\n private _getSlideIdxById(slideId: string): number {\n const slide = this._getSlideById(slideId);\n return slide != null ? this.slides.toArray().indexOf(slide) : -1;\n }\n\n private _getNextSlide(currentSlideId: string): string {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n const isLastSlide = currentSlideIdx === slideArr.length - 1;\n\n return isLastSlide ? (this.wrap ? slideArr[0].id : slideArr[slideArr.length - 1].id) :\n slideArr[currentSlideIdx + 1].id;\n }\n\n private _getPrevSlide(currentSlideId: string): string {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n const isFirstSlide = currentSlideIdx === 0;\n\n return isFirstSlide ? (this.wrap ? slideArr[slideArr.length - 1].id : slideArr[0].id) :\n slideArr[currentSlideIdx - 1].id;\n }\n\n private _getSlideElement(slideId: string): HTMLElement {\n return this._container.nativeElement.querySelector(`#slide-${slideId}`);\n }\n}\n\n/**\n * A slide change event emitted right after the slide transition is completed.\n */\nexport interface NgbSlideEvent {\n /**\n * The previous slide id.\n */\n prev: string;\n\n /**\n * The current slide id.\n */\n current: string;\n\n /**\n * The slide event direction.\n *\n * Possible values are `'left' | 'right'`.\n */\n direction: NgbSlideEventDirection;\n\n /**\n * Whether the pause() method was called (and no cycle() call was done afterwards).\n *\n * @since 5.1.0\n */\n paused: boolean;\n\n /**\n * Source triggering the slide change event.\n *\n * Possible values are `'timer' | 'arrowLeft' | 'arrowRight' | 'indicator'`\n *\n * @since 5.1.0\n */\n source?: NgbSlideEventSource;\n}\n\n/**\n * A slide change event emitted right after the slide transition is completed.\n *\n * @since 8.0.0\n */\nexport interface NgbSingleSlideEvent {\n /**\n * true if the slide is shown, false otherwise\n */\n isShown: boolean;\n\n /**\n * The slide event direction.\n *\n * Possible values are `'left' | 'right'`.\n */\n direction: NgbSlideEventDirection;\n\n /**\n * Source triggering the slide change event.\n *\n * Possible values are `'timer' | 'arrowLeft' | 'arrowRight' | 'indicator'`\n *\n */\n source?: NgbSlideEventSource;\n}\n\nexport enum NgbSlideEventSource {\n TIMER = 'timer',\n ARROW_LEFT = 'arrowLeft',\n ARROW_RIGHT = 'arrowRight',\n INDICATOR = 'indicator'\n}\n\nexport const NGB_CAROUSEL_DIRECTIVES = [NgbCarousel, NgbSlide];\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NGB_CAROUSEL_DIRECTIVES} from './carousel';\n\nexport {NgbCarousel, NgbSlide, NgbSlideEvent, NgbSlideEventSource} from './carousel';\nexport {NgbSlideEventDirection} from './carousel-transition';\nexport {NgbCarouselConfig} from './carousel-config';\n\n@NgModule({declarations: NGB_CAROUSEL_DIRECTIVES, exports: NGB_CAROUSEL_DIRECTIVES, imports: [CommonModule]})\nexport class NgbCarouselModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [NgbCollapse](#/components/collapse/api#NgbCollapse) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all collapses used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbCollapseConfig {\n animation: boolean;\n\n constructor(ngbConfig: NgbConfig) { this.animation = ngbConfig.animation; }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {ngbCollapsingTransition} from '../util/transition/ngbCollapseTransition';\nimport {NgbCollapseConfig} from './collapse-config';\n\n/**\n * A directive to provide a simple way of hiding and showing elements on the page.\n */\n@Directive({selector: '[ngbCollapse]', exportAs: 'ngbCollapse'})\nexport class NgbCollapse implements OnInit, OnChanges {\n /**\n * If `true`, collapse will be animated.\n *\n * Animation is triggered only when clicked on triggering element\n * or via the `.toggle()` function\n *\n * @since 8.0.0\n */\n @Input() animation = false;\n\n /**\n * If `true`, will collapse the element or show it otherwise.\n */\n @Input('ngbCollapse') collapsed = false;\n\n @Output() ngbCollapseChange = new EventEmitter();\n\n /**\n * An event emitted when the collapse element is shown, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the collapse element is hidden, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n\n constructor(private _element: ElementRef, config: NgbCollapseConfig) { this.animation = config.animation; }\n\n ngOnInit() {\n this._element.nativeElement.classList.add('collapse');\n this._runTransition(this.collapsed, false, false);\n }\n\n ngOnChanges({collapsed}: SimpleChanges) {\n if (!collapsed.firstChange) {\n this._runTransition(this.collapsed, this.animation);\n }\n }\n\n /**\n * Triggers collapsing programmatically.\n *\n * If there is a collapsing transition running already, it will be reversed.\n * If the animations are turned off this happens synchronously.\n *\n * @since 8.0.0\n */\n toggle(open: boolean = this.collapsed) {\n this.collapsed = !open;\n this.ngbCollapseChange.next(this.collapsed);\n this._runTransition(this.collapsed, this.animation);\n }\n\n private _runTransition(collapsed: boolean, animation: boolean, emitEvent = true) {\n ngbRunTransition(this._element.nativeElement, ngbCollapsingTransition, {\n animation,\n runningTransition: 'stop',\n context: {direction: collapsed ? 'hide' : 'show'}\n }).subscribe(() => {\n if (emitEvent) {\n if (collapsed) {\n this.hidden.emit();\n } else {\n this.shown.emit();\n }\n }\n });\n }\n}\n","import {NgModule} from '@angular/core';\nimport {NgbCollapse} from './collapse';\n\nexport {NgbCollapse} from './collapse';\nexport {NgbCollapseConfig} from './collapse-config';\n\n@NgModule({declarations: [NgbCollapse], exports: [NgbCollapse]})\nexport class NgbCollapseModule {\n}\n","import {NgbDateStruct} from './ngb-date-struct';\nimport {isInteger} from '../util/util';\n\n/**\n * A simple class that represents a date that datepicker also uses internally.\n *\n * It is the implementation of the `NgbDateStruct` interface that adds some convenience methods,\n * like `.equals()`, `.before()`, etc.\n *\n * All datepicker APIs consume `NgbDateStruct`, but return `NgbDate`.\n *\n * In many cases it is simpler to manipulate these objects together with\n * [`NgbCalendar`](#/components/datepicker/api#NgbCalendar) than native JS Dates.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details.\n *\n * @since 3.0.0\n */\nexport class NgbDate implements NgbDateStruct {\n /**\n * The year, for example 2016\n */\n year: number;\n\n /**\n * The month, for example 1=Jan ... 12=Dec as in ISO 8601\n */\n month: number;\n\n /**\n * The day of month, starting with 1\n */\n day: number;\n\n /**\n * A **static method** that creates a new date object from the `NgbDateStruct`,\n *\n * ex. `NgbDate.from({year: 2000, month: 5, day: 1})`.\n *\n * If the `date` is already of `NgbDate` type, the method will return the same object.\n */\n static from(date?: NgbDateStruct | null): NgbDate | null {\n if (date instanceof NgbDate) {\n return date;\n }\n return date ? new NgbDate(date.year, date.month, date.day) : null;\n }\n\n constructor(year: number, month: number, day: number) {\n this.year = isInteger(year) ? year : null;\n this.month = isInteger(month) ? month : null;\n this.day = isInteger(day) ? day : null;\n }\n\n /**\n * Checks if the current date is equal to another date.\n */\n equals(other?: NgbDateStruct | null): boolean {\n return other != null && this.year === other.year && this.month === other.month && this.day === other.day;\n }\n\n /**\n * Checks if the current date is before another date.\n */\n before(other?: NgbDateStruct | null): boolean {\n if (!other) {\n return false;\n }\n\n if (this.year === other.year) {\n if (this.month === other.month) {\n return this.day === other.day ? false : this.day < other.day;\n } else {\n return this.month < other.month;\n }\n } else {\n return this.year < other.year;\n }\n }\n\n /**\n * Checks if the current date is after another date.\n */\n after(other?: NgbDateStruct | null): boolean {\n if (!other) {\n return false;\n }\n if (this.year === other.year) {\n if (this.month === other.month) {\n return this.day === other.day ? false : this.day > other.day;\n } else {\n return this.month > other.month;\n }\n } else {\n return this.year > other.year;\n }\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {Injectable} from '@angular/core';\nimport {isInteger} from '../util/util';\n\nexport function fromJSDate(jsDate: Date) {\n return new NgbDate(jsDate.getFullYear(), jsDate.getMonth() + 1, jsDate.getDate());\n}\nexport function toJSDate(date: NgbDate) {\n const jsDate = new Date(date.year, date.month - 1, date.day, 12);\n // this is done avoid 30 -> 1930 conversion\n if (!isNaN(jsDate.getTime())) {\n jsDate.setFullYear(date.year);\n }\n return jsDate;\n}\n\nexport type NgbPeriod = 'y' | 'm' | 'd';\n\nexport function NGB_DATEPICKER_CALENDAR_FACTORY() {\n return new NgbCalendarGregorian();\n}\n\n/**\n * A service that represents the calendar used by the datepicker.\n *\n * The default implementation uses the Gregorian calendar. You can inject it in your own\n * implementations if necessary to simplify `NgbDate` calculations.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_CALENDAR_FACTORY})\nexport abstract class NgbCalendar {\n /**\n * Returns the number of days per week.\n */\n abstract getDaysPerWeek(): number;\n\n /**\n * Returns an array of months per year.\n *\n * With default calendar we use ISO 8601 and return [1, 2, ..., 12];\n */\n abstract getMonths(year?: number): number[];\n\n /**\n * Returns the number of weeks per month.\n */\n abstract getWeeksPerMonth(): number;\n\n /**\n * Returns the weekday number for a given day.\n *\n * With the default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun\n */\n abstract getWeekday(date: NgbDate): number;\n\n /**\n * Adds a number of years, months or days to a given date.\n *\n * * `period` can be `y`, `m` or `d` and defaults to day.\n * * `number` defaults to 1.\n *\n * Always returns a new date.\n */\n abstract getNext(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\n\n /**\n * Subtracts a number of years, months or days from a given date.\n *\n * * `period` can be `y`, `m` or `d` and defaults to day.\n * * `number` defaults to 1.\n *\n * Always returns a new date.\n */\n abstract getPrev(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\n\n /**\n * Returns the week number for a given week.\n */\n abstract getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number): number;\n\n /**\n * Returns the today's date.\n */\n abstract getToday(): NgbDate;\n\n /**\n * Checks if a date is valid in the current calendar.\n */\n abstract isValid(date?: NgbDate | null): boolean;\n}\n\n@Injectable()\nexport class NgbCalendarGregorian extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n let jsDate = toJSDate(date);\n let checkMonth = true;\n let expectedMonth = jsDate.getMonth();\n\n switch (period) {\n case 'y':\n jsDate.setFullYear(jsDate.getFullYear() + number);\n break;\n case 'm':\n expectedMonth += number;\n jsDate.setMonth(expectedMonth);\n expectedMonth = expectedMonth % 12;\n if (expectedMonth < 0) {\n expectedMonth = expectedMonth + 12;\n }\n break;\n case 'd':\n jsDate.setDate(jsDate.getDate() + number);\n checkMonth = false;\n break;\n default:\n return date;\n }\n\n if (checkMonth && jsDate.getMonth() !== expectedMonth) {\n // this means the destination month has less days than the initial month\n // let's go back to the end of the previous month:\n jsDate.setDate(0);\n }\n\n return fromJSDate(jsDate);\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n let jsDate = toJSDate(date);\n let day = jsDate.getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n let date = week[thursdayIndex];\n\n const jsDate = toJSDate(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n jsDate.setMonth(0); // Compare with Jan 1\n jsDate.setDate(1);\n return Math.floor(Math.round((time - jsDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return fromJSDate(new Date()); }\n\n isValid(date?: NgbDate | null): boolean {\n if (!date || !isInteger(date.year) || !isInteger(date.month) || !isInteger(date.day)) {\n return false;\n }\n\n // year 0 doesn't exist in Gregorian calendar\n if (date.year === 0) {\n return false;\n }\n\n const jsDate = toJSDate(date);\n\n return !isNaN(jsDate.getTime()) && jsDate.getFullYear() === date.year && jsDate.getMonth() + 1 === date.month &&\n jsDate.getDate() === date.day;\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {DatepickerViewModel, DayViewModel, MonthViewModel} from './datepicker-view-model';\nimport {NgbCalendar} from './ngb-calendar';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\nexport function isChangedDate(prev?: NgbDate | null, next?: NgbDate | null): boolean {\n return !dateComparator(prev, next);\n}\n\nexport function isChangedMonth(prev?: NgbDate | null, next?: NgbDate | null): boolean {\n return !prev && !next ? false : !prev || !next ? true : prev.year !== next.year || prev.month !== next.month;\n}\n\nexport function dateComparator(prev?: NgbDate | null, next?: NgbDate | null): boolean {\n return (!prev && !next) || (!!prev && !!next && prev.equals(next));\n}\n\nexport function checkMinBeforeMax(minDate?: NgbDate | null, maxDate?: NgbDate | null): void {\n if (maxDate && minDate && maxDate.before(minDate)) {\n throw new Error(`'maxDate' ${maxDate} should be greater than 'minDate' ${minDate}`);\n }\n}\n\nexport function checkDateInRange(date?: NgbDate | null, minDate?: NgbDate | null, maxDate?: NgbDate | null): NgbDate |\n null {\n if (date && minDate && date.before(minDate)) {\n return minDate;\n }\n if (date && maxDate && date.after(maxDate)) {\n return maxDate;\n }\n\n return date || null;\n}\n\nexport function isDateSelectable(date: NgbDate | null | undefined, state: DatepickerViewModel) {\n const {minDate, maxDate, disabled, markDisabled} = state;\n // clang-format off\n return !(\n date === null ||\n date === undefined ||\n disabled ||\n (markDisabled && markDisabled(date, {year: date.year, month: date.month})) ||\n (minDate && date.before(minDate)) ||\n (maxDate && date.after(maxDate))\n );\n // clang-format on\n}\n\nexport function generateSelectBoxMonths(\n calendar: NgbCalendar, date: NgbDate, minDate: NgbDate | null, maxDate: NgbDate | null) {\n if (!date) {\n return [];\n }\n\n let months = calendar.getMonths(date.year);\n\n if (minDate && date.year === minDate.year) {\n const index = months.findIndex(month => month === minDate.month);\n months = months.slice(index);\n }\n\n if (maxDate && date.year === maxDate.year) {\n const index = months.findIndex(month => month === maxDate.month);\n months = months.slice(0, index + 1);\n }\n\n return months;\n}\n\nexport function generateSelectBoxYears(date: NgbDate, minDate: NgbDate | null, maxDate: NgbDate | null) {\n if (!date) {\n return [];\n }\n\n const start = minDate ? Math.max(minDate.year, date.year - 500) : date.year - 10;\n const end = maxDate ? Math.min(maxDate.year, date.year + 500) : date.year + 10;\n\n const length = end - start + 1;\n const numbers = Array(length);\n for (let i = 0; i < length; i++) {\n numbers[i] = start + i;\n }\n\n return numbers;\n}\n\nexport function nextMonthDisabled(calendar: NgbCalendar, date: NgbDate, maxDate: NgbDate | null) {\n const nextDate = Object.assign(calendar.getNext(date, 'm'), {day: 1});\n return maxDate != null && nextDate.after(maxDate);\n}\n\nexport function prevMonthDisabled(calendar: NgbCalendar, date: NgbDate, minDate: NgbDate | null) {\n const prevDate = Object.assign(calendar.getPrev(date, 'm'), {day: 1});\n return minDate != null && (prevDate.year === minDate.year && prevDate.month < minDate.month ||\n prevDate.year < minDate.year && minDate.month === 1);\n}\n\nexport function buildMonths(\n calendar: NgbCalendar, date: NgbDate, state: DatepickerViewModel, i18n: NgbDatepickerI18n,\n force: boolean): MonthViewModel[] {\n const {displayMonths, months} = state;\n // move old months to a temporary array\n const monthsToReuse = months.splice(0, months.length);\n\n // generate new first dates, nullify or reuse months\n const firstDates = Array.from({length: displayMonths}, (_, i) => {\n const firstDate = Object.assign(calendar.getNext(date, 'm', i), {day: 1});\n months[i] = null;\n\n if (!force) {\n const reusedIndex = monthsToReuse.findIndex(month => month.firstDate.equals(firstDate));\n // move reused month back to months\n if (reusedIndex !== -1) {\n months[i] = monthsToReuse.splice(reusedIndex, 1)[0];\n }\n }\n\n return firstDate;\n });\n\n // rebuild nullified months\n firstDates.forEach((firstDate, i) => {\n if (months[i] === null) {\n months[i] = buildMonth(calendar, firstDate, state, i18n, monthsToReuse.shift() || {} as MonthViewModel);\n }\n });\n\n return months;\n}\n\nexport function buildMonth(\n calendar: NgbCalendar, date: NgbDate, state: DatepickerViewModel, i18n: NgbDatepickerI18n,\n month: MonthViewModel = {} as MonthViewModel): MonthViewModel {\n const {dayTemplateData, minDate, maxDate, firstDayOfWeek, markDisabled, outsideDays} = state;\n const calendarToday = calendar.getToday();\n\n month.firstDate = null;\n month.lastDate = null;\n month.number = date.month;\n month.year = date.year;\n month.weeks = month.weeks || [];\n month.weekdays = month.weekdays || [];\n\n date = getFirstViewDate(calendar, date, firstDayOfWeek);\n\n // month has weeks\n for (let week = 0; week < calendar.getWeeksPerMonth(); week++) {\n let weekObject = month.weeks[week];\n if (!weekObject) {\n weekObject = month.weeks[week] = {number: 0, days: [], collapsed: true};\n }\n const days = weekObject.days;\n\n // week has days\n for (let day = 0; day < calendar.getDaysPerWeek(); day++) {\n if (week === 0) {\n month.weekdays[day] = calendar.getWeekday(date);\n }\n\n const newDate = new NgbDate(date.year, date.month, date.day);\n const nextDate = calendar.getNext(newDate);\n\n const ariaLabel = i18n.getDayAriaLabel(newDate);\n\n // marking date as disabled\n let disabled = !!((minDate && newDate.before(minDate)) || (maxDate && newDate.after(maxDate)));\n if (!disabled && markDisabled) {\n disabled = markDisabled(newDate, {month: month.number, year: month.year});\n }\n\n // today\n let today = newDate.equals(calendarToday);\n\n // adding user-provided data to the context\n let contextUserData =\n dayTemplateData ? dayTemplateData(newDate, {month: month.number, year: month.year}) : undefined;\n\n // saving first date of the month\n if (month.firstDate === null && newDate.month === month.number) {\n month.firstDate = newDate;\n }\n\n // saving last date of the month\n if (newDate.month === month.number && nextDate.month !== month.number) {\n month.lastDate = newDate;\n }\n\n let dayObject = days[day];\n if (!dayObject) {\n dayObject = days[day] = {} as DayViewModel;\n }\n dayObject.date = newDate;\n dayObject.context = Object.assign(dayObject.context || {}, {\n $implicit: newDate,\n date: newDate,\n data: contextUserData,\n currentMonth: month.number,\n currentYear: month.year, disabled,\n focused: false,\n selected: false, today\n });\n dayObject.tabindex = -1;\n dayObject.ariaLabel = ariaLabel;\n dayObject.hidden = false;\n\n date = nextDate;\n }\n\n weekObject.number = calendar.getWeekNumber(days.map(day => day.date), firstDayOfWeek);\n\n // marking week as collapsed\n weekObject.collapsed = outsideDays === 'collapsed' && days[0].date.month !== month.number &&\n days[days.length - 1].date.month !== month.number;\n }\n\n return month;\n}\n\nexport function getFirstViewDate(calendar: NgbCalendar, date: NgbDate, firstDayOfWeek: number): NgbDate {\n const daysPerWeek = calendar.getDaysPerWeek();\n const firstMonthDate = new NgbDate(date.year, date.month, 1);\n const dayOfWeek = calendar.getWeekday(firstMonthDate) % daysPerWeek;\n return calendar.getPrev(firstMonthDate, 'd', (daysPerWeek + dayOfWeek - firstDayOfWeek) % daysPerWeek);\n}\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {FormStyle, getLocaleDayNames, getLocaleMonthNames, TranslationWidth, formatDate} from '@angular/common';\nimport {NgbDateStruct} from './ngb-date-struct';\n\nexport function NGB_DATEPICKER_18N_FACTORY(locale) {\n return new NgbDatepickerI18nDefault(locale);\n}\n\n/**\n * A service supplying i18n data to the datepicker component.\n *\n * The default implementation of this service uses the Angular locale and registered locale data for\n * weekdays and month names (as explained in the Angular i18n guide).\n *\n * It also provides a way to i18n data that depends on calendar calculations, like aria labels, day, week and year\n * numerals. For other static labels the datepicker uses the default Angular i18n.\n *\n * See the [i18n demo](#/components/datepicker/examples#i18n) and\n * [Hebrew calendar demo](#/components/datepicker/calendars#hebrew) on how to extend this class and define\n * a custom provider for i18n.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_18N_FACTORY, deps: [LOCALE_ID]})\nexport abstract class NgbDatepickerI18n {\n /**\n * Returns the short weekday name to display in the heading of the month view.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n abstract getWeekdayShortName(weekday: number): string;\n\n /**\n * Returns the short month name to display in the date picker navigation.\n *\n * With default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n */\n abstract getMonthShortName(month: number, year?: number): string;\n\n /**\n * Returns the full month name to display in the date picker navigation.\n *\n * With default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n */\n abstract getMonthFullName(month: number, year?: number): string;\n\n /**\n * Returns the value of the `aria-label` attribute for a specific date.\n *\n * @since 2.0.0\n */\n abstract getDayAriaLabel(date: NgbDateStruct): string;\n\n /**\n * Returns the textual representation of a day that is rendered in a day cell.\n *\n * @since 3.0.0\n */\n getDayNumerals(date: NgbDateStruct): string { return `${date.day}`; }\n\n /**\n * Returns the textual representation of a week number rendered by datepicker.\n *\n * @since 3.0.0\n */\n getWeekNumerals(weekNumber: number): string { return `${weekNumber}`; }\n\n /**\n * Returns the textual representation of a year that is rendered in the datepicker year select box.\n *\n * @since 3.0.0\n */\n getYearNumerals(year: number): string { return `${year}`; }\n}\n\n@Injectable()\nexport class NgbDatepickerI18nDefault extends NgbDatepickerI18n {\n private _weekdaysShort: Array;\n private _monthsShort: Array;\n private _monthsFull: Array;\n\n constructor(@Inject(LOCALE_ID) private _locale: string) {\n super();\n\n const weekdaysStartingOnSunday = getLocaleDayNames(_locale, FormStyle.Standalone, TranslationWidth.Short);\n this._weekdaysShort = weekdaysStartingOnSunday.map((day, index) => weekdaysStartingOnSunday[(index + 1) % 7]);\n\n this._monthsShort = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Abbreviated);\n this._monthsFull = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Wide);\n }\n\n getWeekdayShortName(weekday: number): string { return this._weekdaysShort[weekday - 1] || ''; }\n\n getMonthShortName(month: number): string { return this._monthsShort[month - 1] || ''; }\n\n getMonthFullName(month: number): string { return this._monthsFull[month - 1] || ''; }\n\n getDayAriaLabel(date: NgbDateStruct): string {\n const jsDate = new Date(date.year, date.month - 1, date.day);\n return formatDate(jsDate, 'fullDate', this._locale);\n }\n}\n","import {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {DatepickerViewModel, NgbDayTemplateData, NgbMarkDisabled} from './datepicker-view-model';\nimport {Injectable} from '@angular/core';\nimport {isInteger, toInteger} from '../util/util';\nimport {Observable, Subject} from 'rxjs';\nimport {\n buildMonths,\n checkDateInRange,\n checkMinBeforeMax,\n isChangedDate,\n isChangedMonth,\n isDateSelectable,\n generateSelectBoxYears,\n generateSelectBoxMonths,\n prevMonthDisabled,\n nextMonthDisabled\n} from './datepicker-tools';\n\nimport {filter} from 'rxjs/operators';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\nexport interface DatepickerServiceInputs extends Partial<\n Required>> {}\n\n@Injectable()\nexport class NgbDatepickerService {\n private _VALIDATORS:\n {[K in keyof DatepickerServiceInputs]: (v: DatepickerServiceInputs[K]) => Partial| void} = {\n dayTemplateData: (dayTemplateData: NgbDayTemplateData) => {\n if (this._state.dayTemplateData !== dayTemplateData) {\n return {dayTemplateData};\n }\n },\n displayMonths: (displayMonths: number) => {\n displayMonths = toInteger(displayMonths);\n if (isInteger(displayMonths) && displayMonths > 0 && this._state.displayMonths !== displayMonths) {\n return {displayMonths};\n }\n },\n disabled: (disabled: boolean) => {\n if (this._state.disabled !== disabled) {\n return {disabled};\n }\n },\n firstDayOfWeek: (firstDayOfWeek: number) => {\n firstDayOfWeek = toInteger(firstDayOfWeek);\n if (isInteger(firstDayOfWeek) && firstDayOfWeek >= 0 && this._state.firstDayOfWeek !== firstDayOfWeek) {\n return {firstDayOfWeek};\n }\n },\n focusVisible: (focusVisible: boolean) => {\n if (this._state.focusVisible !== focusVisible && !this._state.disabled) {\n return {focusVisible};\n }\n },\n markDisabled: (markDisabled: NgbMarkDisabled) => {\n if (this._state.markDisabled !== markDisabled) {\n return {markDisabled};\n }\n },\n maxDate: (date: NgbDate) => {\n const maxDate = this.toValidDate(date, null);\n if (isChangedDate(this._state.maxDate, maxDate)) {\n return {maxDate};\n }\n },\n minDate: (date: NgbDate) => {\n const minDate = this.toValidDate(date, null);\n if (isChangedDate(this._state.minDate, minDate)) {\n return {minDate};\n }\n },\n navigation: (navigation: 'select' | 'arrows' | 'none') => {\n if (this._state.navigation !== navigation) {\n return {navigation};\n }\n },\n outsideDays: (outsideDays: 'visible' | 'collapsed' | 'hidden') => {\n if (this._state.outsideDays !== outsideDays) {\n return {outsideDays};\n }\n }\n };\n\n private _model$ = new Subject();\n\n private _dateSelect$ = new Subject();\n\n private _state: DatepickerViewModel = {\n dayTemplateData: null,\n markDisabled: null,\n maxDate: null,\n minDate: null,\n disabled: false,\n displayMonths: 1,\n firstDate: null,\n firstDayOfWeek: 1,\n lastDate: null,\n focusDate: null,\n focusVisible: false,\n months: [],\n navigation: 'select',\n outsideDays: 'visible',\n prevDisabled: false,\n nextDisabled: false,\n selectedDate: null,\n selectBoxes: {years: [], months: []}\n };\n\n get model$(): Observable { return this._model$.pipe(filter(model => model.months.length > 0)); }\n\n get dateSelect$(): Observable { return this._dateSelect$.pipe(filter(date => date !== null)); }\n\n set(options: DatepickerServiceInputs) {\n let patch = Object.keys(options)\n .map(key => this._VALIDATORS[key](options[key]))\n .reduce((obj, part) => ({...obj, ...part}), {});\n\n if (Object.keys(patch).length > 0) {\n this._nextState(patch);\n }\n }\n\n constructor(private _calendar: NgbCalendar, private _i18n: NgbDatepickerI18n) {}\n\n focus(date?: NgbDate | null) {\n const focusedDate = this.toValidDate(date, null);\n if (focusedDate != null && !this._state.disabled && isChangedDate(this._state.focusDate, focusedDate)) {\n this._nextState({focusDate: date});\n }\n }\n\n focusSelect() {\n if (isDateSelectable(this._state.focusDate, this._state)) {\n this.select(this._state.focusDate, {emitEvent: true});\n }\n }\n\n open(date?: NgbDate | null) {\n const firstDate = this.toValidDate(date, this._calendar.getToday());\n if (firstDate != null && !this._state.disabled &&\n (!this._state.firstDate || isChangedMonth(this._state.firstDate, firstDate))) {\n this._nextState({firstDate});\n }\n }\n\n select(date?: NgbDate | null, options: {emitEvent?: boolean} = {}) {\n const selectedDate = this.toValidDate(date, null);\n if (selectedDate != null && !this._state.disabled) {\n if (isChangedDate(this._state.selectedDate, selectedDate)) {\n this._nextState({selectedDate});\n }\n\n if (options.emitEvent && isDateSelectable(selectedDate, this._state)) {\n this._dateSelect$.next(selectedDate);\n }\n }\n }\n\n toValidDate(date?: NgbDateStruct | null, defaultValue?: NgbDate | null): NgbDate | null {\n const ngbDate = NgbDate.from(date);\n if (defaultValue === undefined) {\n defaultValue = this._calendar.getToday();\n }\n return this._calendar.isValid(ngbDate) ? ngbDate : defaultValue;\n }\n\n getMonth(struct: NgbDateStruct) {\n for (let month of this._state.months) {\n if (struct.month === month.number && struct.year === month.year) {\n return month;\n }\n }\n throw new Error(`month ${struct.month} of year ${struct.year} not found`);\n }\n\n private _nextState(patch: Partial) {\n const newState = this._updateState(patch);\n this._patchContexts(newState);\n this._state = newState;\n this._model$.next(this._state);\n }\n\n private _patchContexts(state: DatepickerViewModel) {\n const {months, displayMonths, selectedDate, focusDate, focusVisible, disabled, outsideDays} = state;\n state.months.forEach(month => {\n month.weeks.forEach(week => {\n week.days.forEach(day => {\n\n // patch focus flag\n if (focusDate) {\n day.context.focused = focusDate.equals(day.date) && focusVisible;\n }\n\n // calculating tabindex\n day.tabindex =\n !disabled && focusDate && day.date.equals(focusDate) && focusDate.month === month.number ? 0 : -1;\n\n // override context disabled\n if (disabled === true) {\n day.context.disabled = true;\n }\n\n // patch selection flag\n if (selectedDate !== undefined) {\n day.context.selected = selectedDate !== null && selectedDate.equals(day.date);\n }\n\n // visibility\n if (month.number !== day.date.month) {\n day.hidden = outsideDays === 'hidden' || outsideDays === 'collapsed' ||\n (displayMonths > 1 && day.date.after(months[0].firstDate) &&\n day.date.before(months[displayMonths - 1].lastDate));\n }\n });\n });\n });\n }\n\n private _updateState(patch: Partial): DatepickerViewModel {\n // patching fields\n const state = Object.assign({}, this._state, patch);\n\n let startDate = state.firstDate;\n\n // min/max dates changed\n if ('minDate' in patch || 'maxDate' in patch) {\n checkMinBeforeMax(state.minDate, state.maxDate);\n state.focusDate = checkDateInRange(state.focusDate, state.minDate, state.maxDate);\n state.firstDate = checkDateInRange(state.firstDate, state.minDate, state.maxDate);\n startDate = state.focusDate;\n }\n\n // disabled\n if ('disabled' in patch) {\n state.focusVisible = false;\n }\n\n // initial rebuild via 'select()'\n if ('selectedDate' in patch && this._state.months.length === 0) {\n startDate = state.selectedDate;\n }\n\n // terminate early if only focus visibility was changed\n if ('focusVisible' in patch) {\n return state;\n }\n\n // focus date changed\n if ('focusDate' in patch) {\n state.focusDate = checkDateInRange(state.focusDate, state.minDate, state.maxDate);\n startDate = state.focusDate;\n\n // nothing to rebuild if only focus changed and it is still visible\n if (state.months.length !== 0 && state.focusDate && !state.focusDate.before(state.firstDate) &&\n !state.focusDate.after(state.lastDate)) {\n return state;\n }\n }\n\n // first date changed\n if ('firstDate' in patch) {\n state.firstDate = checkDateInRange(state.firstDate, state.minDate, state.maxDate);\n startDate = state.firstDate;\n }\n\n // rebuilding months\n if (startDate) {\n const forceRebuild = 'dayTemplateData' in patch || 'firstDayOfWeek' in patch || 'markDisabled' in patch ||\n 'minDate' in patch || 'maxDate' in patch || 'disabled' in patch || 'outsideDays' in patch;\n\n const months = buildMonths(this._calendar, startDate, state, this._i18n, forceRebuild);\n\n // updating months and boundary dates\n state.months = months;\n state.firstDate = months[0].firstDate;\n state.lastDate = months[months.length - 1].lastDate;\n\n // reset selected date if 'markDisabled' returns true\n if ('selectedDate' in patch && !isDateSelectable(state.selectedDate, state)) {\n state.selectedDate = null;\n }\n\n // adjusting focus after months were built\n if ('firstDate' in patch) {\n if (!state.focusDate || state.focusDate.before(state.firstDate) || state.focusDate.after(state.lastDate)) {\n state.focusDate = startDate;\n }\n }\n\n // adjusting months/years for the select box navigation\n const yearChanged = !this._state.firstDate || this._state.firstDate.year !== state.firstDate.year;\n const monthChanged = !this._state.firstDate || this._state.firstDate.month !== state.firstDate.month;\n if (state.navigation === 'select') {\n // years -> boundaries (min/max were changed)\n if ('minDate' in patch || 'maxDate' in patch || state.selectBoxes.years.length === 0 || yearChanged) {\n state.selectBoxes.years = generateSelectBoxYears(state.firstDate, state.minDate, state.maxDate);\n }\n\n // months -> when current year or boundaries change\n if ('minDate' in patch || 'maxDate' in patch || state.selectBoxes.months.length === 0 || yearChanged) {\n state.selectBoxes.months =\n generateSelectBoxMonths(this._calendar, state.firstDate, state.minDate, state.maxDate);\n }\n } else {\n state.selectBoxes = {years: [], months: []};\n }\n\n // updating navigation arrows -> boundaries change (min/max) or month/year changes\n if ((state.navigation === 'arrows' || state.navigation === 'select') &&\n (monthChanged || yearChanged || 'minDate' in patch || 'maxDate' in patch || 'disabled' in patch)) {\n state.prevDisabled = state.disabled || prevMonthDisabled(this._calendar, state.firstDate, state.minDate);\n state.nextDisabled = state.disabled || nextMonthDisabled(this._calendar, state.lastDate, state.maxDate);\n }\n }\n\n return state;\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {DayTemplateContext} from './datepicker-day-template-context';\n\nexport type NgbMarkDisabled = (date: NgbDateStruct, current?: {year: number, month: number}) => boolean;\nexport type NgbDayTemplateData = (date: NgbDateStruct, current?: {year: number, month: number}) => any;\n\nexport type DayViewModel = {\n date: NgbDate,\n context: DayTemplateContext,\n tabindex: number,\n ariaLabel: string,\n hidden: boolean\n};\n\nexport type WeekViewModel = {\n number: number,\n days: DayViewModel[],\n collapsed: boolean\n};\n\nexport type MonthViewModel = {\n firstDate: NgbDate,\n lastDate: NgbDate,\n number: number,\n year: number,\n weeks: WeekViewModel[],\n weekdays: number[]\n};\n\n// clang-format off\nexport type DatepickerViewModel = {\n dayTemplateData: NgbDayTemplateData | null,\n disabled: boolean,\n displayMonths: number,\n firstDate: NgbDate | null,\n firstDayOfWeek: number,\n focusDate: NgbDate | null,\n focusVisible: boolean,\n lastDate: NgbDate | null,\n markDisabled: NgbMarkDisabled | null,\n maxDate: NgbDate | null,\n minDate: NgbDate | null,\n months: MonthViewModel[],\n navigation: 'select' | 'arrows' | 'none',\n outsideDays: 'visible' | 'collapsed' | 'hidden',\n prevDisabled: boolean,\n nextDisabled: boolean,\n selectBoxes: {\n years: number[],\n months: number[]\n },\n selectedDate: NgbDate | null\n};\n// clang-format on\n\nexport enum NavigationEvent {\n PREV,\n NEXT\n}\n","import {Injectable, TemplateRef} from '@angular/core';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbDateStruct} from './ngb-date-struct';\n\n/**\n * A configuration service for the [`NgbDatepicker`](#/components/datepicker/api#NgbDatepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the datepickers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDatepickerConfig {\n dayTemplate: TemplateRef;\n dayTemplateData: (date: NgbDateStruct, current?: {year: number, month: number}) => any;\n footerTemplate: TemplateRef;\n displayMonths = 1;\n firstDayOfWeek = 1;\n markDisabled: (date: NgbDateStruct, current?: {year: number, month: number}) => boolean;\n minDate: NgbDateStruct;\n maxDate: NgbDateStruct;\n navigation: 'select' | 'arrows' | 'none' = 'select';\n outsideDays: 'visible' | 'collapsed' | 'hidden' = 'visible';\n showWeekdays = true;\n showWeekNumbers = false;\n startDate: {year: number, month: number};\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {isInteger} from '../../util/util';\n\nexport function NGB_DATEPICKER_DATE_ADAPTER_FACTORY() {\n return new NgbDateStructAdapter();\n}\n\n/**\n * An abstract service that does the conversion between the internal datepicker `NgbDateStruct` model and\n * any provided user date model `D`, ex. a string, a native date, etc.\n *\n * The adapter is used **only** for conversion when binding datepicker to a form control,\n * ex. `[(ngModel)]=\"userDateModel\"`. Here `userDateModel` can be of any type.\n *\n * The default datepicker implementation assumes we use `NgbDateStruct` as a user model.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details\n * and the [custom adapter demo](#/components/datepicker/examples#adapter) for an example.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_DATE_ADAPTER_FACTORY})\nexport abstract class NgbDateAdapter {\n /**\n * Converts a user-model date of type `D` to an `NgbDateStruct` for internal use.\n */\n abstract fromModel(value: D | null): NgbDateStruct | null;\n\n /**\n * Converts an internal `NgbDateStruct` date to a user-model date of type `D`.\n */\n abstract toModel(date: NgbDateStruct | null): D | null;\n}\n\n@Injectable()\nexport class NgbDateStructAdapter extends NgbDateAdapter {\n /**\n * Converts a NgbDateStruct value into NgbDateStruct value\n */\n fromModel(date: NgbDateStruct | null): NgbDateStruct | null {\n return (date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day)) ?\n {year: date.year, month: date.month, day: date.day} :\n null;\n }\n\n /**\n * Converts a NgbDateStruct value into NgbDateStruct value\n */\n toModel(date: NgbDateStruct | null): NgbDateStruct | null {\n return (date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day)) ?\n {year: date.year, month: date.month, day: date.day} :\n null;\n }\n}\n","import {fromEvent, merge, Subject} from 'rxjs';\nimport {filter, take, takeUntil} from 'rxjs/operators';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {DatepickerServiceInputs, NgbDatepickerService} from './datepicker-service';\nimport {DatepickerViewModel, NavigationEvent} from './datepicker-view-model';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\nimport {isChangedDate, isChangedMonth} from './datepicker-tools';\nimport {hasClassName} from '../util/util';\n\nexport const NGB_DATEPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbDatepicker),\n multi: true\n};\n\n/**\n * An event emitted right before the navigation happens and the month displayed by the datepicker changes.\n */\nexport interface NgbDatepickerNavigateEvent {\n /**\n * The currently displayed month.\n */\n current: {year: number, month: number} | null;\n\n /**\n * The month we're navigating to.\n */\n next: {year: number, month: number};\n\n /**\n * Calling this function will prevent navigation from happening.\n *\n * @since 4.1.0\n */\n preventDefault: () => void;\n}\n\n/**\n * An interface that represents the readonly public state of the datepicker.\n *\n * Accessible via the `datepicker.state` getter\n *\n * @since 5.2.0\n */\nexport interface NgbDatepickerState {\n /**\n * The earliest date that can be displayed or selected\n */\n readonly minDate: NgbDate | null;\n\n /**\n * The latest date that can be displayed or selected\n */\n readonly maxDate: NgbDate | null;\n\n /**\n * The first visible date of currently displayed months\n */\n readonly firstDate: NgbDate;\n\n /**\n * The last visible date of currently displayed months\n */\n readonly lastDate: NgbDate;\n\n /**\n * The date currently focused by the datepicker\n */\n readonly focusedDate: NgbDate;\n\n /**\n * First dates of months currently displayed by the datepicker\n *\n * @since 5.3.0\n */\n readonly months: NgbDate[];\n}\n\n/**\n * A directive that marks the content template that customizes the way datepicker months are displayed\n *\n * @since 5.3.0\n */\n@Directive({selector: 'ng-template[ngbDatepickerContent]'})\nexport class NgbDatepickerContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A highly configurable component that helps you with selecting calendar dates.\n *\n * `NgbDatepicker` is meant to be displayed inline on a page or put inside a popup.\n */\n@Component({\n exportAs: 'ngbDatepicker',\n selector: 'ngb-datepicker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker.scss'],\n template: `\n \n
\n
\n
\n\n \n
\n
1 && navigation === 'select')\" class=\"ngb-dp-month-name\">\n {{ i18n.getMonthFullName(month.number, month.year) }} {{ i18n.getYearNumerals(month.year) }}\n
\n \n
\n
\n\n
\n \n \n
\n\n
\n \n
\n\n \n `,\n providers: [NGB_DATEPICKER_VALUE_ACCESSOR, NgbDatepickerService]\n})\nexport class NgbDatepicker implements OnDestroy,\n OnChanges, OnInit, ControlValueAccessor {\n static ngAcceptInputType_autoClose: boolean | string;\n static ngAcceptInputType_navigation: string;\n static ngAcceptInputType_outsideDays: string;\n\n model: DatepickerViewModel;\n\n @ViewChild('defaultDayTemplate', {static: true}) private _defaultDayTemplate: TemplateRef;\n @ViewChild('content', {static: true}) private _contentEl: ElementRef;\n @ContentChild(NgbDatepickerContent, {static: true}) contentTemplate: NgbDatepickerContent;\n\n private _controlValue: NgbDate | null = null;\n private _destroyed$ = new Subject();\n private _publicState: NgbDatepickerState = {};\n\n /**\n * The reference to a custom template for the day.\n *\n * Allows to completely override the way a day 'cell' in the calendar is displayed.\n *\n * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\n */\n @Input() dayTemplate: TemplateRef;\n\n /**\n * The callback to pass any arbitrary data to the template cell via the\n * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\n *\n * `current` is the month that is currently displayed by the datepicker.\n *\n * @since 3.3.0\n */\n @Input() dayTemplateData: (date: NgbDate, current?: {year: number, month: number}) => any;\n\n /**\n * The number of months to display.\n */\n @Input() displayMonths: number;\n\n /**\n * The first day of the week.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n @Input() firstDayOfWeek: number;\n\n /**\n * The reference to the custom template for the datepicker footer.\n *\n * @since 3.3.0\n */\n @Input() footerTemplate: TemplateRef;\n\n /**\n * The callback to mark some dates as disabled.\n *\n * It is called for each new date when navigating to a different month.\n *\n * `current` is the month that is currently displayed by the datepicker.\n */\n @Input() markDisabled: (date: NgbDate, current?: {year: number, month: number}) => boolean;\n\n /**\n * The latest date that can be displayed or selected.\n *\n * If not provided, 'year' select box will display 10 years after the current month.\n */\n @Input() maxDate: NgbDateStruct;\n\n /**\n * The earliest date that can be displayed or selected.\n *\n * If not provided, 'year' select box will display 10 years before the current month.\n */\n @Input() minDate: NgbDateStruct;\n\n /**\n * Navigation type.\n *\n * * `\"select\"` - select boxes for month and navigation arrows\n * * `\"arrows\"` - only navigation arrows\n * * `\"none\"` - no navigation visible at all\n */\n @Input() navigation: 'select' | 'arrows' | 'none';\n\n /**\n * The way of displaying days that don't belong to the current month.\n *\n * * `\"visible\"` - days are visible\n * * `\"hidden\"` - days are hidden, white space preserved\n * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\n *\n * For the 2+ months view, days in between months are never shown.\n */\n @Input() outsideDays: 'visible' | 'collapsed' | 'hidden';\n\n /**\n * If `true`, weekdays will be displayed.\n */\n @Input() showWeekdays: boolean;\n\n /**\n * If `true`, week numbers will be displayed.\n */\n @Input() showWeekNumbers: boolean;\n\n /**\n * The date to open calendar with.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date is provided, calendar will open with current month.\n *\n * You could use `navigateTo(date)` method as an alternative.\n */\n @Input() startDate: {year: number, month: number, day?: number};\n\n /**\n * An event emitted right before the navigation happens and displayed month changes.\n *\n * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\n */\n @Output() navigate = new EventEmitter();\n\n /**\n * An event emitted when user selects a date using keyboard or mouse.\n *\n * The payload of the event is currently selected `NgbDate`.\n *\n * @since 5.2.0\n */\n @Output() dateSelect = new EventEmitter();\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n constructor(\n private _service: NgbDatepickerService, private _calendar: NgbCalendar, public i18n: NgbDatepickerI18n,\n config: NgbDatepickerConfig, cd: ChangeDetectorRef, private _elementRef: ElementRef,\n private _ngbDateAdapter: NgbDateAdapter, private _ngZone: NgZone) {\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\n 'maxDate', 'navigation', 'outsideDays', 'showWeekdays', 'showWeekNumbers', 'startDate']\n .forEach(input => this[input] = config[input]);\n\n _service.dateSelect$.pipe(takeUntil(this._destroyed$)).subscribe(date => { this.dateSelect.emit(date); });\n\n _service.model$.pipe(takeUntil(this._destroyed$)).subscribe(model => {\n const newDate = model.firstDate !;\n const oldDate = this.model ? this.model.firstDate : null;\n\n // update public state\n this._publicState = {\n maxDate: model.maxDate,\n minDate: model.minDate,\n firstDate: model.firstDate !,\n lastDate: model.lastDate !,\n focusedDate: model.focusDate !,\n months: model.months.map(viewModel => viewModel.firstDate)\n };\n\n let navigationPrevented = false;\n // emitting navigation event if the first month changes\n if (!newDate.equals(oldDate)) {\n this.navigate.emit({\n current: oldDate ? {year: oldDate.year, month: oldDate.month} : null,\n next: {year: newDate.year, month: newDate.month},\n preventDefault: () => navigationPrevented = true\n });\n\n // can't prevent the very first navigation\n if (navigationPrevented && oldDate !== null) {\n this._service.open(oldDate);\n return;\n }\n }\n\n const newSelectedDate = model.selectedDate;\n const newFocusedDate = model.focusDate;\n const oldFocusedDate = this.model ? this.model.focusDate : null;\n\n this.model = model;\n\n // handling selection change\n if (isChangedDate(newSelectedDate, this._controlValue)) {\n this._controlValue = newSelectedDate;\n this.onTouched();\n this.onChange(this._ngbDateAdapter.toModel(newSelectedDate));\n }\n\n // handling focus change\n if (isChangedDate(newFocusedDate, oldFocusedDate) && oldFocusedDate && model.focusVisible) {\n this.focus();\n }\n\n cd.markForCheck();\n });\n }\n\n /**\n * Returns the readonly public state of the datepicker\n *\n * @since 5.2.0\n */\n get state(): NgbDatepickerState { return this._publicState; }\n\n /**\n * Returns the calendar service used in the specific datepicker instance.\n *\n * @since 5.3.0\n */\n get calendar(): NgbCalendar { return this._calendar; }\n\n /**\n * Focuses on given date.\n */\n focusDate(date?: NgbDateStruct | null): void { this._service.focus(NgbDate.from(date)); }\n\n /**\n * Selects focused date.\n */\n focusSelect(): void { this._service.focusSelect(); }\n\n focus() {\n this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n const elementToFocus =\n this._elementRef.nativeElement.querySelector('div.ngb-dp-day[tabindex=\"0\"]');\n if (elementToFocus) {\n elementToFocus.focus();\n }\n });\n }\n\n /**\n * Navigates to the provided date.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date provided calendar will open current month.\n *\n * Use the `[startDate]` input as an alternative.\n */\n navigateTo(date?: {year: number, month: number, day?: number}) {\n this._service.open(NgbDate.from(date ? date.day ? date as NgbDateStruct : {...date, day: 1} : null));\n }\n\n ngAfterViewInit() {\n this._ngZone.runOutsideAngular(() => {\n const focusIns$ = fromEvent(this._contentEl.nativeElement, 'focusin');\n const focusOuts$ = fromEvent(this._contentEl.nativeElement, 'focusout');\n const {nativeElement} = this._elementRef;\n\n // we're changing 'focusVisible' only when entering or leaving months view\n // and ignoring all focus events where both 'target' and 'related' target are day cells\n merge(focusIns$, focusOuts$)\n .pipe(\n filter(\n ({target, relatedTarget}) =>\n !(hasClassName(target, 'ngb-dp-day') && hasClassName(relatedTarget, 'ngb-dp-day') &&\n nativeElement.contains(target as Node) && nativeElement.contains(relatedTarget as Node))),\n takeUntil(this._destroyed$))\n .subscribe(({type}) => this._ngZone.run(() => this._service.set({focusVisible: type === 'focusin'})));\n });\n }\n\n ngOnDestroy() { this._destroyed$.next(); }\n\n ngOnInit() {\n if (this.model === undefined) {\n const inputs: DatepickerServiceInputs = {};\n ['dayTemplateData', 'displayMonths', 'markDisabled', 'firstDayOfWeek', 'navigation', 'minDate', 'maxDate',\n 'outsideDays']\n .forEach(name => inputs[name] = this[name]);\n this._service.set(inputs);\n\n this.navigateTo(this.startDate);\n }\n if (!this.dayTemplate) {\n this.dayTemplate = this._defaultDayTemplate;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const inputs: DatepickerServiceInputs = {};\n ['dayTemplateData', 'displayMonths', 'markDisabled', 'firstDayOfWeek', 'navigation', 'minDate', 'maxDate',\n 'outsideDays']\n .filter(name => name in changes)\n .forEach(name => inputs[name] = this[name]);\n this._service.set(inputs);\n\n if ('startDate' in changes) {\n const {currentValue, previousValue} = changes.startDate;\n if (isChangedMonth(previousValue, currentValue)) {\n this.navigateTo(this.startDate);\n }\n }\n }\n\n onDateSelect(date: NgbDate) {\n this._service.focus(date);\n this._service.select(date, {emitEvent: true});\n }\n\n onNavigateDateSelect(date: NgbDate) { this._service.open(date); }\n\n onNavigateEvent(event: NavigationEvent) {\n switch (event) {\n case NavigationEvent.PREV:\n this._service.open(this._calendar.getPrev(this.model.firstDate !, 'm', 1));\n break;\n case NavigationEvent.NEXT:\n this._service.open(this._calendar.getNext(this.model.firstDate !, 'm', 1));\n break;\n }\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(disabled: boolean) { this._service.set({disabled}); }\n\n writeValue(value) {\n this._controlValue = NgbDate.from(this._ngbDateAdapter.fromModel(value));\n this._service.select(this._controlValue);\n }\n}\n","export enum Key {\n Tab = 9,\n Enter = 13,\n Escape = 27,\n Space = 32,\n PageUp = 33,\n PageDown = 34,\n End = 35,\n Home = 36,\n ArrowLeft = 37,\n ArrowUp = 38,\n ArrowRight = 39,\n ArrowDown = 40\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDatepicker} from './datepicker';\nimport {Key} from '../util/key';\n\n/**\n * A service that represents the keyboard navigation.\n *\n * Default keyboard shortcuts [are documented in the overview](#/components/datepicker/overview#keyboard-shortcuts)\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDatepickerKeyboardService {\n /**\n * Processes a keyboard event.\n */\n processKey(event: KeyboardEvent, datepicker: NgbDatepicker) {\n const {state, calendar} = datepicker;\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.PageUp:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, event.shiftKey ? 'y' : 'm', 1));\n break;\n case Key.PageDown:\n datepicker.focusDate(calendar.getNext(state.focusedDate, event.shiftKey ? 'y' : 'm', 1));\n break;\n case Key.End:\n datepicker.focusDate(event.shiftKey ? state.maxDate : state.lastDate);\n break;\n case Key.Home:\n datepicker.focusDate(event.shiftKey ? state.minDate : state.firstDate);\n break;\n case Key.ArrowLeft:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, 'd', 1));\n break;\n case Key.ArrowUp:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, 'd', calendar.getDaysPerWeek()));\n break;\n case Key.ArrowRight:\n datepicker.focusDate(calendar.getNext(state.focusedDate, 'd', 1));\n break;\n case Key.ArrowDown:\n datepicker.focusDate(calendar.getNext(state.focusedDate, 'd', calendar.getDaysPerWeek()));\n break;\n case Key.Enter:\n case Key.Space:\n datepicker.focusSelect();\n break;\n default:\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import {Component, Input, ViewEncapsulation} from '@angular/core';\nimport {NgbDatepicker} from './datepicker';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\nimport {NgbDatepickerKeyboardService} from './datepicker-keyboard-service';\nimport {NgbDatepickerService} from './datepicker-service';\nimport {MonthViewModel, DayViewModel} from './datepicker-view-model';\nimport {NgbDateStruct} from './ngb-date-struct';\n\n/**\n * A component that renders one month including all the days, weekdays and week numbers. Can be used inside\n * the `` when you want to customize months layout.\n *\n * For a usage example, see [custom month layout demo](#/components/datepicker/examples#custommonth)\n *\n * @since 5.3.0\n */\n@Component({\n selector: 'ngb-datepicker-month',\n host: {'role': 'grid', '(keydown)': 'onKeyDown($event)'},\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-month.scss'],\n template: `\n
\n
\n
\n {{ i18n.getWeekdayShortName(w) }}\n
\n
\n \n
\n
{{ i18n.getWeekNumerals(week.number) }}
\n
\n \n \n \n
\n
\n
\n `\n})\nexport class NgbDatepickerMonth {\n /**\n * The first date of month to be rendered.\n *\n * This month must one of the months present in the\n * [datepicker state](#/components/datepicker/api#NgbDatepickerState).\n */\n @Input()\n set month(month: NgbDateStruct) {\n this.viewModel = this._service.getMonth(month);\n }\n\n viewModel: MonthViewModel;\n\n constructor(\n public i18n: NgbDatepickerI18n, public datepicker: NgbDatepicker,\n private _keyboardService: NgbDatepickerKeyboardService, private _service: NgbDatepickerService) {}\n\n onKeyDown(event: KeyboardEvent) { this._keyboardService.processKey(event, this.datepicker); }\n\n doSelect(day: DayViewModel) {\n if (!day.context.disabled && !day.hidden) {\n this.datepicker.onDateSelect(day.date);\n }\n }\n}\n","import {Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {NavigationEvent, MonthViewModel} from './datepicker-view-model';\nimport {NgbDate} from './ngb-date';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: 'ngb-datepicker-navigation',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-navigation.scss'],\n template: `\n
\n \n
\n \n \n\n \n
0\">
\n
\n {{ i18n.getMonthFullName(month.number, month.year) }} {{ i18n.getYearNumerals(month.year) }}\n
\n
\n
\n
\n \n
\n `\n})\nexport class NgbDatepickerNavigation {\n navigation = NavigationEvent;\n\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() months: MonthViewModel[] = [];\n @Input() showSelect: boolean;\n @Input() prevDisabled: boolean;\n @Input() nextDisabled: boolean;\n @Input() selectBoxes: {years: number[], months: number[]};\n\n @Output() navigate = new EventEmitter();\n @Output() select = new EventEmitter();\n\n constructor(public i18n: NgbDatepickerI18n) {}\n\n onClickPrev(event: MouseEvent) {\n (event.currentTarget as HTMLElement).focus();\n this.navigate.emit(this.navigation.PREV);\n }\n\n onClickNext(event: MouseEvent) {\n (event.currentTarget as HTMLElement).focus();\n this.navigate.emit(this.navigation.NEXT);\n }\n}\n","import {NgZone} from '@angular/core';\nimport {fromEvent, Observable, race} from 'rxjs';\nimport {delay, filter, map, takeUntil, tap, withLatestFrom} from 'rxjs/operators';\nimport {Key} from './key';\nimport {closest} from './util';\n\nconst isContainedIn = (element: HTMLElement, array?: HTMLElement[]) =>\n array ? array.some(item => item.contains(element)) : false;\n\nconst matchesSelectorIfAny = (element: HTMLElement, selector?: string) =>\n !selector || closest(element, selector) != null;\n\n// we have to add a more significant delay to avoid re-opening when handling (click) on a toggling element\n// TODO: use proper Angular platform detection when NgbAutoClose becomes a service and we can inject PLATFORM_ID\nconst isMobile = (() => {\n const isIOS = () => /iPad|iPhone|iPod/.test(navigator.userAgent) ||\n (/Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2);\n const isAndroid = () => /Android/.test(navigator.userAgent);\n\n return typeof navigator !== 'undefined' ? !!navigator.userAgent && (isIOS() || isAndroid()) : false;\n})();\n\n// setting 'ngbAutoClose' synchronously on mobile results in immediate popup closing\n// when tapping on the triggering element\nconst wrapAsyncForMobile = fn => isMobile ? () => setTimeout(() => fn(), 100) : fn;\n\nexport const enum SOURCE {ESCAPE, CLICK}\n\nexport function ngbAutoClose(\n zone: NgZone, document: any, type: boolean | 'inside' | 'outside', close: (source: SOURCE) => void,\n closed$: Observable, insideElements: HTMLElement[], ignoreElements?: HTMLElement[], insideSelector?: string) {\n // closing on ESC and outside clicks\n if (type) {\n zone.runOutsideAngular(wrapAsyncForMobile(() => {\n\n const shouldCloseOnClick = (event: MouseEvent) => {\n const element = event.target as HTMLElement;\n if (event.button === 2 || isContainedIn(element, ignoreElements)) {\n return false;\n }\n if (type === 'inside') {\n return isContainedIn(element, insideElements) && matchesSelectorIfAny(element, insideSelector);\n } else if (type === 'outside') {\n return !isContainedIn(element, insideElements);\n } else /* if (type === true) */ {\n return matchesSelectorIfAny(element, insideSelector) || !isContainedIn(element, insideElements);\n }\n };\n\n const escapes$ = fromEvent(document, 'keydown')\n .pipe(\n takeUntil(closed$),\n // tslint:disable-next-line:deprecation\n filter(e => e.which === Key.Escape), tap(e => e.preventDefault()));\n\n\n // we have to pre-calculate 'shouldCloseOnClick' on 'mousedown',\n // because on 'mouseup' DOM nodes might be detached\n const mouseDowns$ =\n fromEvent(document, 'mousedown').pipe(map(shouldCloseOnClick), takeUntil(closed$));\n\n const closeableClicks$ = fromEvent(document, 'mouseup')\n .pipe(\n withLatestFrom(mouseDowns$), filter(([_, shouldClose]) => shouldClose), delay(0),\n takeUntil(closed$)) as Observable;\n\n\n race([\n escapes$.pipe(map(_ => SOURCE.ESCAPE)), closeableClicks$.pipe(map(_ => SOURCE.CLICK))\n ]).subscribe((source: SOURCE) => zone.run(() => close(source)));\n }));\n }\n}\n","import {NgZone} from '@angular/core';\n\nimport {fromEvent, Observable} from 'rxjs';\nimport {filter, map, takeUntil, withLatestFrom} from 'rxjs/operators';\n\nimport {Key} from './key';\n\n\nexport const FOCUSABLE_ELEMENTS_SELECTOR = [\n 'a[href]', 'button:not([disabled])', 'input:not([disabled]):not([type=\"hidden\"])', 'select:not([disabled])',\n 'textarea:not([disabled])', '[contenteditable]', '[tabindex]:not([tabindex=\"-1\"])'\n].join(', ');\n\n/**\n * Returns first and last focusable elements inside of a given element based on specific CSS selector\n */\nexport function getFocusableBoundaryElements(element: HTMLElement): HTMLElement[] {\n const list: HTMLElement[] =\n Array.from(element.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR) as NodeListOf)\n .filter(el => el.tabIndex !== -1);\n return [list[0], list[list.length - 1]];\n}\n\n/**\n * Function that enforces browser focus to be trapped inside a DOM element.\n *\n * Works only for clicks inside the element and navigation with 'Tab', ignoring clicks outside of the element\n *\n * @param zone Angular zone\n * @param element The element around which focus will be trapped inside\n * @param stopFocusTrap$ The observable stream. When completed the focus trap will clean up listeners\n * and free internal resources\n * @param refocusOnClick Put the focus back to the last focused element whenever a click occurs on element (default to\n * false)\n */\nexport const ngbFocusTrap =\n (zone: NgZone, element: HTMLElement, stopFocusTrap$: Observable, refocusOnClick = false) => {\n zone.runOutsideAngular(() => {\n // last focused element\n const lastFocusedElement$ =\n fromEvent(element, 'focusin').pipe(takeUntil(stopFocusTrap$), map(e => e.target));\n\n // 'tab' / 'shift+tab' stream\n fromEvent(element, 'keydown')\n .pipe(\n takeUntil(stopFocusTrap$),\n // tslint:disable:deprecation\n filter(e => e.which === Key.Tab),\n // tslint:enable:deprecation\n withLatestFrom(lastFocusedElement$))\n .subscribe(([tabEvent, focusedElement]) => {\n const[first, last] = getFocusableBoundaryElements(element);\n\n if ((focusedElement === first || focusedElement === element) && tabEvent.shiftKey) {\n last.focus();\n tabEvent.preventDefault();\n }\n\n if (focusedElement === last && !tabEvent.shiftKey) {\n first.focus();\n tabEvent.preventDefault();\n }\n });\n\n // inside click\n if (refocusOnClick) {\n fromEvent(element, 'click')\n .pipe(takeUntil(stopFocusTrap$), withLatestFrom(lastFocusedElement$), map(arr => arr[1] as HTMLElement))\n .subscribe(lastFocusedElement => lastFocusedElement.focus());\n }\n });\n };\n","// previous version:\n// https://github.com/angular-ui/bootstrap/blob/07c31d0731f7cb068a1932b8e01d2312b796b4ec/src/position/position.js\nexport class Positioning {\n private getAllStyles(element: HTMLElement) { return window.getComputedStyle(element); }\n\n private getStyle(element: HTMLElement, prop: string): string { return this.getAllStyles(element)[prop]; }\n\n private isStaticPositioned(element: HTMLElement): boolean {\n return (this.getStyle(element, 'position') || 'static') === 'static';\n }\n\n private offsetParent(element: HTMLElement): HTMLElement {\n let offsetParentEl = element.offsetParent || document.documentElement;\n\n while (offsetParentEl && offsetParentEl !== document.documentElement && this.isStaticPositioned(offsetParentEl)) {\n offsetParentEl = offsetParentEl.offsetParent;\n }\n\n return offsetParentEl || document.documentElement;\n }\n\n position(element: HTMLElement, round = true): ClientRect {\n let elPosition: ClientRect;\n let parentOffset: ClientRect = {width: 0, height: 0, top: 0, bottom: 0, left: 0, right: 0};\n\n if (this.getStyle(element, 'position') === 'fixed') {\n elPosition = element.getBoundingClientRect();\n elPosition = {\n top: elPosition.top,\n bottom: elPosition.bottom,\n left: elPosition.left,\n right: elPosition.right,\n height: elPosition.height,\n width: elPosition.width\n };\n } else {\n const offsetParentEl = this.offsetParent(element);\n\n elPosition = this.offset(element, false);\n\n if (offsetParentEl !== document.documentElement) {\n parentOffset = this.offset(offsetParentEl, false);\n }\n\n parentOffset.top += offsetParentEl.clientTop;\n parentOffset.left += offsetParentEl.clientLeft;\n }\n\n elPosition.top -= parentOffset.top;\n elPosition.bottom -= parentOffset.top;\n elPosition.left -= parentOffset.left;\n elPosition.right -= parentOffset.left;\n\n if (round) {\n elPosition.top = Math.round(elPosition.top);\n elPosition.bottom = Math.round(elPosition.bottom);\n elPosition.left = Math.round(elPosition.left);\n elPosition.right = Math.round(elPosition.right);\n }\n\n return elPosition;\n }\n\n offset(element: HTMLElement, round = true): ClientRect {\n const elBcr = element.getBoundingClientRect();\n const viewportOffset = {\n top: window.pageYOffset - document.documentElement.clientTop,\n left: window.pageXOffset - document.documentElement.clientLeft\n };\n\n let elOffset = {\n height: elBcr.height || element.offsetHeight,\n width: elBcr.width || element.offsetWidth,\n top: elBcr.top + viewportOffset.top,\n bottom: elBcr.bottom + viewportOffset.top,\n left: elBcr.left + viewportOffset.left,\n right: elBcr.right + viewportOffset.left\n };\n\n if (round) {\n elOffset.height = Math.round(elOffset.height);\n elOffset.width = Math.round(elOffset.width);\n elOffset.top = Math.round(elOffset.top);\n elOffset.bottom = Math.round(elOffset.bottom);\n elOffset.left = Math.round(elOffset.left);\n elOffset.right = Math.round(elOffset.right);\n }\n\n return elOffset;\n }\n\n /*\n Return false if the element to position is outside the viewport\n */\n positionElements(hostElement: HTMLElement, targetElement: HTMLElement, placement: string, appendToBody?: boolean):\n boolean {\n const[placementPrimary = 'top', placementSecondary = 'center'] = placement.split('-');\n\n const hostElPosition = appendToBody ? this.offset(hostElement, false) : this.position(hostElement, false);\n const targetElStyles = this.getAllStyles(targetElement);\n\n const marginTop = parseFloat(targetElStyles.marginTop);\n const marginBottom = parseFloat(targetElStyles.marginBottom);\n const marginLeft = parseFloat(targetElStyles.marginLeft);\n const marginRight = parseFloat(targetElStyles.marginRight);\n\n let topPosition = 0;\n let leftPosition = 0;\n\n switch (placementPrimary) {\n case 'top':\n topPosition = (hostElPosition.top - (targetElement.offsetHeight + marginTop + marginBottom));\n break;\n case 'bottom':\n topPosition = (hostElPosition.top + hostElPosition.height);\n break;\n case 'left':\n leftPosition = (hostElPosition.left - (targetElement.offsetWidth + marginLeft + marginRight));\n break;\n case 'right':\n leftPosition = (hostElPosition.left + hostElPosition.width);\n break;\n }\n\n switch (placementSecondary) {\n case 'top':\n topPosition = hostElPosition.top;\n break;\n case 'bottom':\n topPosition = hostElPosition.top + hostElPosition.height - targetElement.offsetHeight;\n break;\n case 'left':\n leftPosition = hostElPosition.left;\n break;\n case 'right':\n leftPosition = hostElPosition.left + hostElPosition.width - targetElement.offsetWidth;\n break;\n case 'center':\n if (placementPrimary === 'top' || placementPrimary === 'bottom') {\n leftPosition = (hostElPosition.left + hostElPosition.width / 2 - targetElement.offsetWidth / 2);\n } else {\n topPosition = (hostElPosition.top + hostElPosition.height / 2 - targetElement.offsetHeight / 2);\n }\n break;\n }\n\n /// The translate3d/gpu acceleration render a blurry text on chrome, the next line is commented until a browser fix\n // targetElement.style.transform = `translate3d(${Math.round(leftPosition)}px, ${Math.floor(topPosition)}px, 0px)`;\n targetElement.style.transform = `translate(${Math.round(leftPosition)}px, ${Math.round(topPosition)}px)`;\n\n // Check if the targetElement is inside the viewport\n const targetElBCR = targetElement.getBoundingClientRect();\n const html = document.documentElement;\n const windowHeight = window.innerHeight || html.clientHeight;\n const windowWidth = window.innerWidth || html.clientWidth;\n\n return targetElBCR.left >= 0 && targetElBCR.top >= 0 && targetElBCR.right <= windowWidth &&\n targetElBCR.bottom <= windowHeight;\n }\n}\n\nconst placementSeparator = /\\s+/;\nexport const positionService = new Positioning();\n\n/*\n * Accept the placement array and applies the appropriate placement dependent on the viewport.\n * Returns the applied placement.\n * In case of auto placement, placements are selected in order\n * 'top', 'bottom', 'left', 'right',\n * 'top-left', 'top-right',\n * 'bottom-left', 'bottom-right',\n * 'left-top', 'left-bottom',\n * 'right-top', 'right-bottom'.\n * */\nexport function positionElements(\n hostElement: HTMLElement, targetElement: HTMLElement, placement: string | Placement | PlacementArray,\n appendToBody?: boolean, baseClass?: string): Placement |\n null {\n let placementVals: Array =\n Array.isArray(placement) ? placement : placement.split(placementSeparator) as Array;\n\n const allowedPlacements = [\n 'top', 'bottom', 'left', 'right', 'top-left', 'top-right', 'bottom-left', 'bottom-right', 'left-top', 'left-bottom',\n 'right-top', 'right-bottom'\n ];\n\n const classList = targetElement.classList;\n const addClassesToTarget = (targetPlacement: Placement): Array => {\n const[primary, secondary] = targetPlacement.split('-');\n const classes: string[] = [];\n if (baseClass) {\n classes.push(`${baseClass}-${primary}`);\n if (secondary) {\n classes.push(`${baseClass}-${primary}-${secondary}`);\n }\n\n classes.forEach((classname) => { classList.add(classname); });\n }\n return classes;\n };\n\n // Remove old placement classes to avoid issues\n if (baseClass) {\n allowedPlacements.forEach((placementToRemove) => { classList.remove(`${baseClass}-${placementToRemove}`); });\n }\n\n // replace auto placement with other placements\n let hasAuto = placementVals.findIndex(val => val === 'auto');\n if (hasAuto >= 0) {\n allowedPlacements.forEach(function(obj) {\n if (placementVals.find(val => val.search('^' + obj) !== -1) == null) {\n placementVals.splice(hasAuto++, 1, obj as Placement);\n }\n });\n }\n\n // coordinates where to position\n\n // Required for transform:\n const style = targetElement.style;\n style.position = 'absolute';\n style.top = '0';\n style.left = '0';\n style['will-change'] = 'transform';\n\n let testPlacement: Placement | null = null;\n let isInViewport = false;\n for (testPlacement of placementVals) {\n let addedClasses = addClassesToTarget(testPlacement);\n\n if (positionService.positionElements(hostElement, targetElement, testPlacement, appendToBody)) {\n isInViewport = true;\n break;\n }\n\n // Remove the baseClasses for further calculation\n if (baseClass) {\n addedClasses.forEach((classname) => { classList.remove(classname); });\n }\n }\n\n if (!isInViewport) {\n // If nothing match, the first placement is the default one\n testPlacement = placementVals[0];\n addClassesToTarget(testPlacement);\n positionService.positionElements(hostElement, targetElement, testPlacement, appendToBody);\n }\n\n return testPlacement;\n}\n\nexport type Placement = 'auto' | 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' |\n 'bottom-right' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom';\n\nexport type PlacementArray = Placement | Array| string;\n","import {padNumber, toInteger, isNumber} from '../util/util';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {Injectable} from '@angular/core';\n\nexport function NGB_DATEPICKER_PARSER_FORMATTER_FACTORY() {\n return new NgbDateISOParserFormatter();\n}\n\n/**\n * An abstract service for parsing and formatting dates for the\n * [`NgbInputDatepicker`](#/components/datepicker/api#NgbInputDatepicker) directive.\n * Converts between the internal `NgbDateStruct` model presentation and a `string` that is displayed in the\n * input element.\n *\n * When user types something in the input this service attempts to parse it into a `NgbDateStruct` object.\n * And vice versa, when users selects a date in the calendar with the mouse, it must be displayed as a `string`\n * in the input.\n *\n * Default implementation uses the ISO 8601 format, but you can provide another implementation via DI\n * to use an alternative string format or a custom parsing logic.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_PARSER_FORMATTER_FACTORY})\nexport abstract class NgbDateParserFormatter {\n /**\n * Parses the given `string` to an `NgbDateStruct`.\n *\n * Implementations should try their best to provide a result, even\n * partial. They must return `null` if the value can't be parsed.\n */\n abstract parse(value: string): NgbDateStruct | null;\n\n /**\n * Formats the given `NgbDateStruct` to a `string`.\n *\n * Implementations should return an empty string if the given date is `null`,\n * and try their best to provide a partial result if the given date is incomplete or invalid.\n */\n abstract format(date: NgbDateStruct | null): string;\n}\n\n@Injectable()\nexport class NgbDateISOParserFormatter extends NgbDateParserFormatter {\n parse(value: string): NgbDateStruct | null {\n if (value != null) {\n const dateParts = value.trim().split('-');\n if (dateParts.length === 1 && isNumber(dateParts[0])) {\n return {year: toInteger(dateParts[0]), month: null, day: null};\n } else if (dateParts.length === 2 && isNumber(dateParts[0]) && isNumber(dateParts[1])) {\n return {year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: null};\n } else if (dateParts.length === 3 && isNumber(dateParts[0]) && isNumber(dateParts[1]) && isNumber(dateParts[2])) {\n return {year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: toInteger(dateParts[2])};\n }\n }\n return null;\n }\n\n format(date: NgbDateStruct | null): string {\n return date ?\n `${date.year}-${isNumber(date.month) ? padNumber(date.month) : ''}-${isNumber(date.day) ? padNumber(date.day) : ''}` :\n '';\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbDatepickerInput`](#/components/datepicker/api#NgbDatepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the datepicker inputs used in the application.\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbInputDatepickerConfig extends NgbDatepickerConfig {\n autoClose: boolean | 'inside' | 'outside' = true;\n container: null | 'body';\n positionTarget: string | HTMLElement;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n restoreFocus: true | HTMLElement | string = true;\n}\n","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator\n} from '@angular/forms';\n\nimport {ngbAutoClose} from '../util/autoclose';\nimport {ngbFocusTrap} from '../util/focus-trap';\nimport {PlacementArray, positionElements} from '../util/positioning';\n\nimport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nimport {NgbDatepicker, NgbDatepickerNavigateEvent} from './datepicker';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {NgbDateParserFormatter} from './ngb-date-parser-formatter';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {NgbInputDatepickerConfig} from './datepicker-input-config';\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {isString} from '../util/util';\n\nconst NGB_DATEPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbInputDatepicker),\n multi: true\n};\n\nconst NGB_DATEPICKER_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => NgbInputDatepicker),\n multi: true\n};\n\n/**\n * A directive that allows to stick a datepicker popup to an input field.\n *\n * Manages interaction with the input field itself, does value formatting and provides forms integration.\n */\n@Directive({\n selector: 'input[ngbDatepicker]',\n exportAs: 'ngbDatepicker',\n host: {\n '(input)': 'manualDateChange($event.target.value)',\n '(change)': 'manualDateChange($event.target.value, true)',\n '(focus)': 'onFocus()',\n '(blur)': 'onBlur()',\n '[disabled]': 'disabled'\n },\n providers: [\n NGB_DATEPICKER_VALUE_ACCESSOR, NGB_DATEPICKER_VALIDATOR,\n {provide: NgbDatepickerConfig, useExisting: NgbInputDatepickerConfig}\n ],\n})\nexport class NgbInputDatepicker implements OnChanges,\n OnDestroy, ControlValueAccessor, Validator {\n static ngAcceptInputType_autoClose: boolean | string;\n static ngAcceptInputType_disabled: boolean | '';\n static ngAcceptInputType_navigation: string;\n static ngAcceptInputType_outsideDays: string;\n\n private _cRef: ComponentRef| null = null;\n private _disabled = false;\n private _elWithFocus: HTMLElement | null = null;\n private _model: NgbDate | null = null;\n private _inputValue: string;\n private _zoneSubscription: any;\n\n /**\n * Indicates whether the datepicker popup should be closed automatically after date selection / outside click or not.\n *\n * * `true` - the popup will close on both date selection and outside click.\n * * `false` - the popup can only be closed manually via `close()` or `toggle()` methods.\n * * `\"inside\"` - the popup will close on date selection, but not outside clicks.\n * * `\"outside\"` - the popup will close only on the outside click and not on date selection/inside clicks.\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The reference to a custom template for the day.\n *\n * Allows to completely override the way a day 'cell' in the calendar is displayed.\n *\n * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\n */\n @Input() dayTemplate: TemplateRef;\n\n /**\n * The callback to pass any arbitrary data to the template cell via the\n * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\n *\n * `current` is the month that is currently displayed by the datepicker.\n *\n * @since 3.3.0\n */\n @Input() dayTemplateData: (date: NgbDate, current?: {year: number, month: number}) => any;\n\n /**\n * The number of months to display.\n */\n @Input() displayMonths: number;\n\n /**\n * The first day of the week.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n @Input() firstDayOfWeek: number;\n\n /**\n * The reference to the custom template for the datepicker footer.\n *\n * @since 3.3.0\n */\n @Input() footerTemplate: TemplateRef;\n\n /**\n * The callback to mark some dates as disabled.\n *\n * It is called for each new date when navigating to a different month.\n *\n * `current` is the month that is currently displayed by the datepicker.\n */\n @Input() markDisabled: (date: NgbDate, current?: {year: number, month: number}) => boolean;\n\n /**\n * The earliest date that can be displayed or selected. Also used for form validation.\n *\n * If not provided, 'year' select box will display 10 years before the current month.\n */\n @Input() minDate: NgbDateStruct;\n\n /**\n * The latest date that can be displayed or selected. Also used for form validation.\n *\n * If not provided, 'year' select box will display 10 years after the current month.\n */\n @Input() maxDate: NgbDateStruct;\n\n /**\n * Navigation type.\n *\n * * `\"select\"` - select boxes for month and navigation arrows\n * * `\"arrows\"` - only navigation arrows\n * * `\"none\"` - no navigation visible at all\n */\n @Input() navigation: 'select' | 'arrows' | 'none';\n\n /**\n * The way of displaying days that don't belong to the current month.\n *\n * * `\"visible\"` - days are visible\n * * `\"hidden\"` - days are hidden, white space preserved\n * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\n *\n * For the 2+ months view, days in between months are never shown.\n */\n @Input() outsideDays: 'visible' | 'collapsed' | 'hidden';\n\n /**\n * The preferred placement of the datepicker popup.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * If `true`, when closing datepicker will focus element that was focused before datepicker was opened.\n *\n * Alternatively you could provide a selector or an `HTMLElement` to focus. If the element doesn't exist or invalid,\n * we'll fallback to focus document body.\n *\n * @since 5.2.0\n */\n @Input() restoreFocus: true | string | HTMLElement;\n\n /**\n * If `true`, weekdays will be displayed.\n */\n @Input() showWeekdays: boolean;\n\n /**\n * If `true`, week numbers will be displayed.\n */\n @Input() showWeekNumbers: boolean;\n\n /**\n * The date to open calendar with.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date is provided, calendar will open with current month.\n *\n * You could use `navigateTo(date)` method as an alternative.\n */\n @Input() startDate: {year: number, month: number, day?: number};\n\n /**\n * A selector specifying the element the datepicker popup should be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * A css selector or html element specifying the element the datepicker popup should be positioned against.\n *\n * By default the input is used as a target.\n *\n * @since 4.2.0\n */\n @Input() positionTarget: string | HTMLElement;\n\n /**\n * An event emitted when user selects a date using keyboard or mouse.\n *\n * The payload of the event is currently selected `NgbDate`.\n *\n * @since 1.1.1\n */\n @Output() dateSelect = new EventEmitter();\n\n /**\n * Event emitted right after the navigation happens and displayed month changes.\n *\n * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\n */\n @Output() navigate = new EventEmitter();\n\n /**\n * An event fired after closing datepicker window.\n *\n * @since 4.2.0\n */\n @Output() closed = new EventEmitter();\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = value === '' || (value && value !== 'false');\n\n if (this.isOpen()) {\n this._cRef !.instance.setDisabledState(this._disabled);\n }\n }\n\n private _onChange = (_: any) => {};\n private _onTouched = () => {};\n private _validatorChange = () => {};\n\n\n constructor(\n private _parserFormatter: NgbDateParserFormatter, private _elRef: ElementRef,\n private _vcRef: ViewContainerRef, private _renderer: Renderer2, private _cfr: ComponentFactoryResolver,\n private _ngZone: NgZone, private _calendar: NgbCalendar, private _dateAdapter: NgbDateAdapter,\n @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n config: NgbInputDatepickerConfig) {\n ['autoClose', 'container', 'positionTarget', 'placement'].forEach(input => this[input] = config[input]);\n this._zoneSubscription = _ngZone.onStable.subscribe(() => this._updatePopupPosition());\n }\n\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this._onTouched = fn; }\n\n registerOnValidatorChange(fn: () => void): void { this._validatorChange = fn; }\n\n setDisabledState(isDisabled: boolean): void { this.disabled = isDisabled; }\n\n validate(c: AbstractControl): ValidationErrors | null {\n const {value} = c;\n\n if (value != null) {\n const ngbDate = this._fromDateStruct(this._dateAdapter.fromModel(value));\n\n if (!ngbDate) {\n return {'ngbDate': {invalid: value}};\n }\n\n if (this.minDate && ngbDate.before(NgbDate.from(this.minDate))) {\n return {'ngbDate': {minDate: {minDate: this.minDate, actual: value}}};\n }\n\n if (this.maxDate && ngbDate.after(NgbDate.from(this.maxDate))) {\n return {'ngbDate': {maxDate: {maxDate: this.maxDate, actual: value}}};\n }\n }\n\n return null;\n }\n\n writeValue(value) {\n this._model = this._fromDateStruct(this._dateAdapter.fromModel(value));\n this._writeModelValue(this._model);\n }\n\n manualDateChange(value: string, updateView = false) {\n const inputValueChanged = value !== this._inputValue;\n if (inputValueChanged) {\n this._inputValue = value;\n this._model = this._fromDateStruct(this._parserFormatter.parse(value));\n }\n if (inputValueChanged || !updateView) {\n this._onChange(this._model ? this._dateAdapter.toModel(this._model) : (value === '' ? null : value));\n }\n if (updateView && this._model) {\n this._writeModelValue(this._model);\n }\n }\n\n isOpen() { return !!this._cRef; }\n\n /**\n * Opens the datepicker popup.\n *\n * If the related form control contains a valid date, the corresponding month will be opened.\n */\n open() {\n if (!this.isOpen()) {\n const cf = this._cfr.resolveComponentFactory(NgbDatepicker);\n this._cRef = this._vcRef.createComponent(cf);\n\n this._applyPopupStyling(this._cRef.location.nativeElement);\n this._applyDatepickerInputs(this._cRef.instance);\n this._subscribeForDatepickerOutputs(this._cRef.instance);\n this._cRef.instance.ngOnInit();\n this._cRef.instance.writeValue(this._dateAdapter.toModel(this._model));\n\n // date selection event handling\n this._cRef.instance.registerOnChange((selectedDate) => {\n this.writeValue(selectedDate);\n this._onChange(selectedDate);\n this._onTouched();\n });\n\n this._cRef.changeDetectorRef.detectChanges();\n\n this._cRef.instance.setDisabledState(this.disabled);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._cRef.location.nativeElement);\n }\n\n // focus handling\n this._elWithFocus = this._document.activeElement;\n ngbFocusTrap(this._ngZone, this._cRef.location.nativeElement, this.closed, true);\n this._cRef.instance.focus();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.closed, [],\n [this._elRef.nativeElement, this._cRef.location.nativeElement]);\n }\n }\n\n /**\n * Closes the datepicker popup.\n */\n close() {\n if (this.isOpen()) {\n this._vcRef.remove(this._vcRef.indexOf(this._cRef !.hostView));\n this._cRef = null;\n this.closed.emit();\n this._changeDetector.markForCheck();\n\n // restore focus\n let elementToFocus: HTMLElement | null = this._elWithFocus;\n if (isString(this.restoreFocus)) {\n elementToFocus = this._document.querySelector(this.restoreFocus);\n } else if (this.restoreFocus !== undefined) {\n elementToFocus = this.restoreFocus as HTMLElement;\n }\n\n // in IE document.activeElement can contain an object without 'focus()' sometimes\n if (elementToFocus && elementToFocus['focus']) {\n elementToFocus.focus();\n } else {\n this._document.body.focus();\n }\n }\n }\n\n /**\n * Toggles the datepicker popup.\n */\n toggle() {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Navigates to the provided date.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date provided calendar will open current month.\n *\n * Use the `[startDate]` input as an alternative.\n */\n navigateTo(date?: {year: number, month: number, day?: number}) {\n if (this.isOpen()) {\n this._cRef !.instance.navigateTo(date);\n }\n }\n\n onBlur() { this._onTouched(); }\n\n onFocus() { this._elWithFocus = this._elRef.nativeElement; }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['minDate'] || changes['maxDate']) {\n this._validatorChange();\n\n if (this.isOpen()) {\n if (changes['minDate']) {\n this._cRef !.instance.minDate = this.minDate;\n }\n if (changes['maxDate']) {\n this._cRef !.instance.maxDate = this.maxDate;\n }\n this._cRef !.instance.ngOnChanges(changes);\n }\n }\n }\n\n ngOnDestroy() {\n this.close();\n this._zoneSubscription.unsubscribe();\n }\n\n private _applyDatepickerInputs(datepickerInstance: NgbDatepicker): void {\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\n 'maxDate', 'navigation', 'outsideDays', 'showNavigation', 'showWeekdays', 'showWeekNumbers']\n .forEach((optionName: string) => {\n if (this[optionName] !== undefined) {\n datepickerInstance[optionName] = this[optionName];\n }\n });\n datepickerInstance.startDate = this.startDate || this._model;\n }\n\n private _applyPopupStyling(nativeElement: any) {\n this._renderer.addClass(nativeElement, 'dropdown-menu');\n this._renderer.addClass(nativeElement, 'show');\n\n if (this.container === 'body') {\n this._renderer.addClass(nativeElement, 'ngb-dp-body');\n }\n }\n\n private _subscribeForDatepickerOutputs(datepickerInstance: NgbDatepicker) {\n datepickerInstance.navigate.subscribe(navigateEvent => this.navigate.emit(navigateEvent));\n datepickerInstance.dateSelect.subscribe(date => {\n this.dateSelect.emit(date);\n if (this.autoClose === true || this.autoClose === 'inside') {\n this.close();\n }\n });\n }\n\n private _writeModelValue(model: NgbDate | null) {\n const value = this._parserFormatter.format(model);\n this._inputValue = value;\n this._renderer.setProperty(this._elRef.nativeElement, 'value', value);\n if (this.isOpen()) {\n this._cRef !.instance.writeValue(this._dateAdapter.toModel(model));\n this._onTouched();\n }\n }\n\n private _fromDateStruct(date: NgbDateStruct | null): NgbDate | null {\n const ngbDate = date ? new NgbDate(date.year, date.month, date.day) : null;\n return this._calendar.isValid(ngbDate) ? ngbDate : null;\n }\n\n private _updatePopupPosition() {\n if (!this._cRef) {\n return;\n }\n\n let hostElement: HTMLElement;\n if (isString(this.positionTarget)) {\n hostElement = this._document.querySelector(this.positionTarget);\n } else if (this.positionTarget instanceof HTMLElement) {\n hostElement = this.positionTarget;\n } else {\n hostElement = this._elRef.nativeElement;\n }\n\n if (this.positionTarget && !hostElement) {\n throw new Error('ngbDatepicker could not find element declared in [positionTarget] to position against.');\n }\n\n positionElements(hostElement, this._cRef.location.nativeElement, this.placement, this.container === 'body');\n }\n}\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\nimport {NgbDate} from './ngb-date';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: '[ngbDatepickerDayView]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-day-view.scss'],\n host: {\n 'class': 'btn-light',\n '[class.bg-primary]': 'selected',\n '[class.text-white]': 'selected',\n '[class.text-muted]': 'isMuted()',\n '[class.outside]': 'isMuted()',\n '[class.active]': 'focused'\n },\n template: `{{ i18n.getDayNumerals(date) }}`\n})\nexport class NgbDatepickerDayView {\n @Input() currentMonth: number;\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() focused: boolean;\n @Input() selected: boolean;\n\n constructor(public i18n: NgbDatepickerI18n) {}\n\n isMuted() { return !this.selected && (this.date.month !== this.currentMonth || this.disabled); }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterViewChecked,\n ViewChild,\n ElementRef,\n Renderer2\n} from '@angular/core';\nimport {NgbDate} from './ngb-date';\nimport {toInteger} from '../util/util';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: 'ngb-datepicker-navigation-select',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-navigation-select.scss'],\n template: `\n \n `\n})\nexport class NgbDatepickerNavigationSelect implements AfterViewChecked {\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() months: number[];\n @Input() years: number[];\n\n @Output() select = new EventEmitter();\n\n @ViewChild('month', {static: true, read: ElementRef}) monthSelect: ElementRef;\n @ViewChild('year', {static: true, read: ElementRef}) yearSelect: ElementRef;\n\n private _month = -1;\n private _year = -1;\n\n constructor(public i18n: NgbDatepickerI18n, private _renderer: Renderer2) {}\n\n changeMonth(month: string) { this.select.emit(new NgbDate(this.date.year, toInteger(month), 1)); }\n\n changeYear(year: string) { this.select.emit(new NgbDate(toInteger(year), this.date.month, 1)); }\n\n ngAfterViewChecked() {\n if (this.date) {\n if (this.date.month !== this._month) {\n this._month = this.date.month;\n this._renderer.setProperty(this.monthSelect.nativeElement, 'value', this._month);\n }\n if (this.date.year !== this._year) {\n this._year = this.date.year;\n this._renderer.setProperty(this.yearSelect.nativeElement, 'value', this._year);\n }\n }\n }\n}\n","import {NgbDate} from '../ngb-date';\nimport {NgbPeriod, NgbCalendar} from '../ngb-calendar';\nimport {Injectable} from '@angular/core';\nimport {isNumber} from '../../util/util';\n\n@Injectable()\nexport abstract class NgbCalendarHijri extends NgbCalendar {\n /**\n * Returns the number of days in a specific Hijri month.\n * `month` is 1 for Muharram, 2 for Safar, etc.\n * `year` is any Hijri year.\n */\n abstract getDaysPerMonth(month: number, year: number): number;\n\n /**\n * Returns the equivalent Hijri date value for a give input Gregorian date.\n * `gDate` is s JS Date to be converted to Hijri.\n */\n abstract fromGregorian(gDate: Date): NgbDate;\n\n /**\n * Converts the current Hijri date to Gregorian.\n */\n abstract toGregorian(hDate: NgbDate): Date;\n\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date = this._setYear(date, date.year + number);\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = this._setMonth(date, date.month + number);\n date.day = 1;\n return date;\n case 'd':\n return this._setDay(date, date.day + number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = this.toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n const date = week[thursdayIndex];\n\n const jsDate = this.toGregorian(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n const MuhDate = this.toGregorian(new NgbDate(date.year, 1, 1)); // Compare with Muharram 1\n return Math.floor(Math.round((time - MuhDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return this.fromGregorian(new Date()); }\n\n\n isValid(date?: NgbDate | null): boolean {\n return date != null && isNumber(date.year) && isNumber(date.month) && isNumber(date.day) &&\n !isNaN(this.toGregorian(date).getTime());\n }\n\n private _setDay(date: NgbDate, day: number): NgbDate {\n day = +day;\n let mDays = this.getDaysPerMonth(date.month, date.year);\n if (day <= 0) {\n while (day <= 0) {\n date = this._setMonth(date, date.month - 1);\n mDays = this.getDaysPerMonth(date.month, date.year);\n day += mDays;\n }\n } else if (day > mDays) {\n while (day > mDays) {\n day -= mDays;\n date = this._setMonth(date, date.month + 1);\n mDays = this.getDaysPerMonth(date.month, date.year);\n }\n }\n date.day = day;\n return date;\n }\n\n private _setMonth(date: NgbDate, month: number): NgbDate {\n month = +month;\n date.year = date.year + Math.floor((month - 1) / 12);\n date.month = Math.floor(((month - 1) % 12 + 12) % 12) + 1;\n return date;\n }\n\n private _setYear(date: NgbDate, year: number): NgbDate {\n date.year = +year;\n return date;\n }\n}\n","import {NgbCalendarHijri} from './ngb-calendar-hijri';\nimport {NgbDate} from '../ngb-date';\nimport {Injectable} from '@angular/core';\n\n/**\n * Checks if islamic year is a leap year\n */\nfunction isIslamicLeapYear(hYear: number): boolean {\n return (14 + 11 * hYear) % 30 < 11;\n}\n\n/**\n * Checks if gregorian years is a leap year\n */\nfunction isGregorianLeapYear(gDate: Date): boolean {\n const year = gDate.getFullYear();\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\n\n/**\n * Returns the start of Hijri Month.\n * `hMonth` is 0 for Muharram, 1 for Safar, etc.\n * `hYear` is any Hijri hYear.\n */\nfunction getIslamicMonthStart(hYear: number, hMonth: number): number {\n return Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30.0);\n}\n\n/**\n * Returns the start of Hijri year.\n * `year` is any Hijri year.\n */\nfunction getIslamicYearStart(year: number): number {\n return (year - 1) * 354 + Math.floor((3 + 11 * year) / 30.0);\n}\n\nfunction mod(a: number, b: number): number {\n return a - b * Math.floor(a / b);\n}\n\n/**\n * The civil calendar is one type of Hijri calendars used in islamic countries.\n * Uses a fixed cycle of alternating 29- and 30-day months,\n * with a leap day added to the last month of 11 out of every 30 years.\n * http://cldr.unicode.org/development/development-process/design-proposals/islamic-calendar-types\n * All the calculations here are based on the equations from \"Calendrical Calculations\" By Edward M. Reingold, Nachum\n * Dershowitz.\n */\n\nconst GREGORIAN_EPOCH = 1721425.5;\nconst ISLAMIC_EPOCH = 1948439.5;\n\n@Injectable()\nexport class NgbCalendarIslamicCivil extends NgbCalendarHijri {\n /**\n * Returns the equivalent islamic(civil) date value for a give input Gregorian date.\n * `gDate` is a JS Date to be converted to Hijri.\n */\n fromGregorian(gDate: Date): NgbDate {\n const gYear = gDate.getFullYear(), gMonth = gDate.getMonth(), gDay = gDate.getDate();\n\n let julianDay = GREGORIAN_EPOCH - 1 + 365 * (gYear - 1) + Math.floor((gYear - 1) / 4) +\n -Math.floor((gYear - 1) / 100) + Math.floor((gYear - 1) / 400) +\n Math.floor(\n (367 * (gMonth + 1) - 362) / 12 + (gMonth + 1 <= 2 ? 0 : isGregorianLeapYear(gDate) ? -1 : -2) + gDay);\n julianDay = Math.floor(julianDay) + 0.5;\n\n const days = julianDay - ISLAMIC_EPOCH;\n const hYear = Math.floor((30 * days + 10646) / 10631.0);\n let hMonth = Math.ceil((days - 29 - getIslamicYearStart(hYear)) / 29.5);\n hMonth = Math.min(hMonth, 11);\n const hDay = Math.ceil(days - getIslamicMonthStart(hYear, hMonth)) + 1;\n return new NgbDate(hYear, hMonth + 1, hDay);\n }\n\n /**\n * Returns the equivalent JS date value for a give input islamic(civil) date.\n * `hDate` is an islamic(civil) date to be converted to Gregorian.\n */\n toGregorian(hDate: NgbDate): Date {\n const hYear = hDate.year;\n const hMonth = hDate.month - 1;\n const hDay = hDate.day;\n const julianDay =\n hDay + Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30) + ISLAMIC_EPOCH - 1;\n\n const wjd = Math.floor(julianDay - 0.5) + 0.5, depoch = wjd - GREGORIAN_EPOCH,\n quadricent = Math.floor(depoch / 146097), dqc = mod(depoch, 146097), cent = Math.floor(dqc / 36524),\n dcent = mod(dqc, 36524), quad = Math.floor(dcent / 1461), dquad = mod(dcent, 1461),\n yindex = Math.floor(dquad / 365);\n let year = quadricent * 400 + cent * 100 + quad * 4 + yindex;\n if (!(cent === 4 || yindex === 4)) {\n year++;\n }\n\n const gYearStart = GREGORIAN_EPOCH + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400);\n\n const yearday = wjd - gYearStart;\n\n const tjd = GREGORIAN_EPOCH - 1 + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400) + Math.floor(739 / 12 + (isGregorianLeapYear(new Date(year, 3, 1)) ? -1 : -2) + 1);\n\n const leapadj = wjd < tjd ? 0 : isGregorianLeapYear(new Date(year, 3, 1)) ? 1 : 2;\n\n const month = Math.floor(((yearday + leapadj) * 12 + 373) / 367);\n const tjd2 = GREGORIAN_EPOCH - 1 + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400) +\n Math.floor(\n (367 * month - 362) / 12 + (month <= 2 ? 0 : isGregorianLeapYear(new Date(year, month - 1, 1)) ? -1 : -2) +\n 1);\n\n const day = wjd - tjd2 + 1;\n\n return new Date(year, month - 1, day);\n }\n\n /**\n * Returns the number of days in a specific Hijri month.\n * `month` is 1 for Muharram, 2 for Safar, etc.\n * `year` is any Hijri year.\n */\n getDaysPerMonth(month: number, year: number): number {\n year = year + Math.floor(month / 13);\n month = ((month - 1) % 12) + 1;\n let length = 29 + month % 2;\n if (month === 12 && isIslamicLeapYear(year)) {\n length++;\n }\n return length;\n }\n}\n","import {NgbCalendarIslamicCivil} from './ngb-calendar-islamic-civil';\nimport {NgbDate} from '../ngb-date';\nimport {Injectable} from '@angular/core';\n\n/**\n * Umalqura calendar is one type of Hijri calendars used in islamic countries.\n * This Calendar is used by Saudi Arabia for administrative purpose.\n * Unlike tabular calendars, the algorithm involves astronomical calculation, but it's still deterministic.\n * http://cldr.unicode.org/development/development-process/design-proposals/islamic-calendar-types\n */\n\nconst GREGORIAN_FIRST_DATE = new Date(1882, 10, 12);\nconst GREGORIAN_LAST_DATE = new Date(2174, 10, 25);\nconst HIJRI_BEGIN = 1300;\nconst HIJRI_END = 1600;\nconst ONE_DAY = 1000 * 60 * 60 * 24;\n\nconst MONTH_LENGTH = [\n // 1300-1304\n '101010101010', '110101010100', '111011001001', '011011010100', '011011101010',\n // 1305-1309\n '001101101100', '101010101101', '010101010101', '011010101001', '011110010010',\n // 1310-1314\n '101110101001', '010111010100', '101011011010', '010101011100', '110100101101',\n // 1315-1319\n '011010010101', '011101001010', '101101010100', '101101101010', '010110101101',\n // 1320-1324\n '010010101110', '101001001111', '010100010111', '011010001011', '011010100101',\n // 1325-1329\n '101011010101', '001011010110', '100101011011', '010010011101', '101001001101',\n // 1330-1334\n '110100100110', '110110010101', '010110101100', '100110110110', '001010111010',\n // 1335-1339\n '101001011011', '010100101011', '101010010101', '011011001010', '101011101001',\n // 1340-1344\n '001011110100', '100101110110', '001010110110', '100101010110', '101011001010',\n // 1345-1349\n '101110100100', '101111010010', '010111011001', '001011011100', '100101101101',\n // 1350-1354\n '010101001101', '101010100101', '101101010010', '101110100101', '010110110100',\n // 1355-1359\n '100110110110', '010101010111', '001010010111', '010101001011', '011010100011',\n // 1360-1364\n '011101010010', '101101100101', '010101101010', '101010101011', '010100101011',\n // 1365-1369\n '110010010101', '110101001010', '110110100101', '010111001010', '101011010110',\n // 1370-1374\n '100101010111', '010010101011', '100101001011', '101010100101', '101101010010',\n // 1375-1379\n '101101101010', '010101110101', '001001110110', '100010110111', '010001011011',\n // 1380-1384\n '010101010101', '010110101001', '010110110100', '100111011010', '010011011101',\n // 1385-1389\n '001001101110', '100100110110', '101010101010', '110101010100', '110110110010',\n // 1390-1394\n '010111010101', '001011011010', '100101011011', '010010101011', '101001010101',\n // 1395-1399\n '101101001001', '101101100100', '101101110001', '010110110100', '101010110101',\n // 1400-1404\n '101001010101', '110100100101', '111010010010', '111011001001', '011011010100',\n // 1405-1409\n '101011101001', '100101101011', '010010101011', '101010010011', '110101001001',\n // 1410-1414\n '110110100100', '110110110010', '101010111001', '010010111010', '101001011011',\n // 1415-1419\n '010100101011', '101010010101', '101100101010', '101101010101', '010101011100',\n // 1420-1424\n '010010111101', '001000111101', '100100011101', '101010010101', '101101001010',\n // 1425-1429\n '101101011010', '010101101101', '001010110110', '100100111011', '010010011011',\n // 1430-1434\n '011001010101', '011010101001', '011101010100', '101101101010', '010101101100',\n // 1435-1439\n '101010101101', '010101010101', '101100101001', '101110010010', '101110101001',\n // 1440-1444\n '010111010100', '101011011010', '010101011010', '101010101011', '010110010101',\n // 1445-1449\n '011101001001', '011101100100', '101110101010', '010110110101', '001010110110',\n // 1450-1454\n '101001010110', '111001001101', '101100100101', '101101010010', '101101101010',\n // 1455-1459\n '010110101101', '001010101110', '100100101111', '010010010111', '011001001011',\n // 1460-1464\n '011010100101', '011010101100', '101011010110', '010101011101', '010010011101',\n // 1465-1469\n '101001001101', '110100010110', '110110010101', '010110101010', '010110110101',\n // 1470-1474\n '001011011010', '100101011011', '010010101101', '010110010101', '011011001010',\n // 1475-1479\n '011011100100', '101011101010', '010011110101', '001010110110', '100101010110',\n // 1480-1484\n '101010101010', '101101010100', '101111010010', '010111011001', '001011101010',\n // 1485-1489\n '100101101101', '010010101101', '101010010101', '101101001010', '101110100101',\n // 1490-1494\n '010110110010', '100110110101', '010011010110', '101010010111', '010101000111',\n // 1495-1499\n '011010010011', '011101001001', '101101010101', '010101101010', '101001101011',\n // 1500-1504\n '010100101011', '101010001011', '110101000110', '110110100011', '010111001010',\n // 1505-1509\n '101011010110', '010011011011', '001001101011', '100101001011', '101010100101',\n // 1510-1514\n '101101010010', '101101101001', '010101110101', '000101110110', '100010110111',\n // 1515-1519\n '001001011011', '010100101011', '010101100101', '010110110100', '100111011010',\n // 1520-1524\n '010011101101', '000101101101', '100010110110', '101010100110', '110101010010',\n // 1525-1529\n '110110101001', '010111010100', '101011011010', '100101011011', '010010101011',\n // 1530-1534\n '011001010011', '011100101001', '011101100010', '101110101001', '010110110010',\n // 1535-1539\n '101010110101', '010101010101', '101100100101', '110110010010', '111011001001',\n // 1540-1544\n '011011010010', '101011101001', '010101101011', '010010101011', '101001010101',\n // 1545-1549\n '110100101001', '110101010100', '110110101010', '100110110101', '010010111010',\n // 1550-1554\n '101000111011', '010010011011', '101001001101', '101010101010', '101011010101',\n // 1555-1559\n '001011011010', '100101011101', '010001011110', '101000101110', '110010011010',\n // 1560-1564\n '110101010101', '011010110010', '011010111001', '010010111010', '101001011101',\n // 1565-1569\n '010100101101', '101010010101', '101101010010', '101110101000', '101110110100',\n // 1570-1574\n '010110111001', '001011011010', '100101011010', '101101001010', '110110100100',\n // 1575-1579\n '111011010001', '011011101000', '101101101010', '010101101101', '010100110101',\n // 1580-1584\n '011010010101', '110101001010', '110110101000', '110111010100', '011011011010',\n // 1585-1589\n '010101011011', '001010011101', '011000101011', '101100010101', '101101001010',\n // 1590-1594\n '101110010101', '010110101010', '101010101110', '100100101110', '110010001111',\n // 1595-1599\n '010100100111', '011010010101', '011010101010', '101011010110', '010101011101',\n // 1600\n '001010011101'\n];\n\nfunction getDaysDiff(date1: Date, date2: Date): number {\n // Ignores the time part in date1 and date2:\n const time1 = Date.UTC(date1.getFullYear(), date1.getMonth(), date1.getDate());\n const time2 = Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate());\n const diff = Math.abs(time1 - time2);\n return Math.round(diff / ONE_DAY);\n}\n\n@Injectable()\nexport class NgbCalendarIslamicUmalqura extends NgbCalendarIslamicCivil {\n /**\n * Returns the equivalent islamic(Umalqura) date value for a give input Gregorian date.\n * `gdate` is s JS Date to be converted to Hijri.\n */\n fromGregorian(gDate: Date): NgbDate {\n let hDay = 1, hMonth = 0, hYear = 1300;\n let daysDiff = getDaysDiff(gDate, GREGORIAN_FIRST_DATE);\n if (gDate.getTime() - GREGORIAN_FIRST_DATE.getTime() >= 0 && gDate.getTime() - GREGORIAN_LAST_DATE.getTime() <= 0) {\n let year = 1300;\n for (let i = 0; i < MONTH_LENGTH.length; i++, year++) {\n for (let j = 0; j < 12; j++) {\n let numOfDays = +MONTH_LENGTH[i][j] + 29;\n if (daysDiff <= numOfDays) {\n hDay = daysDiff + 1;\n if (hDay > numOfDays) {\n hDay = 1;\n j++;\n }\n if (j > 11) {\n j = 0;\n year++;\n }\n hMonth = j;\n hYear = year;\n return new NgbDate(hYear, hMonth + 1, hDay);\n }\n daysDiff = daysDiff - numOfDays;\n }\n }\n return null as any;\n } else {\n return super.fromGregorian(gDate);\n }\n }\n /**\n * Converts the current Hijri date to Gregorian.\n */\n toGregorian(hDate: NgbDate): Date {\n const hYear = hDate.year;\n const hMonth = hDate.month - 1;\n const hDay = hDate.day;\n let gDate = new Date(GREGORIAN_FIRST_DATE);\n let dayDiff = hDay - 1;\n if (hYear >= HIJRI_BEGIN && hYear <= HIJRI_END) {\n for (let y = 0; y < hYear - HIJRI_BEGIN; y++) {\n for (let m = 0; m < 12; m++) {\n dayDiff += +MONTH_LENGTH[y][m] + 29;\n }\n }\n for (let m = 0; m < hMonth; m++) {\n dayDiff += +MONTH_LENGTH[hYear - HIJRI_BEGIN][m] + 29;\n }\n gDate.setDate(GREGORIAN_FIRST_DATE.getDate() + dayDiff);\n } else {\n gDate = super.toGregorian(hDate);\n }\n return gDate;\n }\n /**\n * Returns the number of days in a specific Hijri hMonth.\n * `hMonth` is 1 for Muharram, 2 for Safar, etc.\n * `hYear` is any Hijri hYear.\n */\n getDaysPerMonth(hMonth: number, hYear: number): number {\n if (hYear >= HIJRI_BEGIN && hYear <= HIJRI_END) {\n const pos = hYear - HIJRI_BEGIN;\n return +MONTH_LENGTH[pos][hMonth - 1] + 29;\n }\n return super.getDaysPerMonth(hMonth, hYear);\n }\n}\n","import {NgbDate} from '../ngb-date';\n\n/**\n * Returns the equivalent JS date value for a give input Jalali date.\n * `jalaliDate` is an Jalali date to be converted to Gregorian.\n */\nexport function toGregorian(jalaliDate: NgbDate): Date {\n let jdn = jalaliToJulian(jalaliDate.year, jalaliDate.month, jalaliDate.day);\n let date = julianToGregorian(jdn);\n date.setHours(6, 30, 3, 200);\n return date;\n}\n\n/**\n * Returns the equivalent jalali date value for a give input Gregorian date.\n * `gdate` is a JS Date to be converted to jalali.\n * utc to local\n */\nexport function fromGregorian(gdate: Date): NgbDate {\n let g2d = gregorianToJulian(gdate.getFullYear(), gdate.getMonth() + 1, gdate.getDate());\n return julianToJalali(g2d);\n}\n\nexport function setJalaliYear(date: NgbDate, yearValue: number): NgbDate {\n date.year = +yearValue;\n return date;\n}\n\nexport function setJalaliMonth(date: NgbDate, month: number): NgbDate {\n month = +month;\n date.year = date.year + Math.floor((month - 1) / 12);\n date.month = Math.floor(((month - 1) % 12 + 12) % 12) + 1;\n return date;\n}\n\nexport function setJalaliDay(date: NgbDate, day: number): NgbDate {\n let mDays = getDaysPerMonth(date.month, date.year);\n if (day <= 0) {\n while (day <= 0) {\n date = setJalaliMonth(date, date.month - 1);\n mDays = getDaysPerMonth(date.month, date.year);\n day += mDays;\n }\n } else if (day > mDays) {\n while (day > mDays) {\n day -= mDays;\n date = setJalaliMonth(date, date.month + 1);\n mDays = getDaysPerMonth(date.month, date.year);\n }\n }\n date.day = day;\n return date;\n}\n\nfunction mod(a: number, b: number): number {\n return a - b * Math.floor(a / b);\n}\n\nfunction div(a: number, b: number) {\n return Math.trunc(a / b);\n}\n\n/*\n This function determines if the Jalali (Persian) year is\n leap (366-day long) or is the common year (365 days), and\n finds the day in March (Gregorian calendar) of the first\n day of the Jalali year (jalaliYear).\n @param jalaliYear Jalali calendar year (-61 to 3177)\n @return\n leap: number of years since the last leap year (0 to 4)\n gYear: Gregorian year of the beginning of Jalali year\n march: the March day of Farvardin the 1st (1st day of jalaliYear)\n @see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm\n @see: http://www.fourmilab.ch/documents/calendar/\n */\nfunction jalCal(jalaliYear: number) {\n // Jalali years starting the 33-year rule.\n let breaks =\n [-61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210, 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178];\n const breaksLength = breaks.length;\n const gYear = jalaliYear + 621;\n let leapJ = -14;\n let jp = breaks[0];\n\n if (jalaliYear < jp || jalaliYear >= breaks[breaksLength - 1]) {\n throw new Error('Invalid Jalali year ' + jalaliYear);\n }\n\n // Find the limiting years for the Jalali year jalaliYear.\n let jump;\n for (let i = 1; i < breaksLength; i += 1) {\n const jm = breaks[i];\n jump = jm - jp;\n if (jalaliYear < jm) {\n break;\n }\n leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4);\n jp = jm;\n }\n let n = jalaliYear - jp;\n\n // Find the number of leap years from AD 621 to the beginning\n // of the current Jalali year in the Persian calendar.\n leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4);\n if (mod(jump, 33) === 4 && jump - n === 4) {\n leapJ += 1;\n }\n\n // And the same in the Gregorian calendar (until the year gYear).\n const leapG = div(gYear, 4) - div((div(gYear, 100) + 1) * 3, 4) - 150;\n\n // Determine the Gregorian date of Farvardin the 1st.\n const march = 20 + leapJ - leapG;\n\n // Find how many years have passed since the last leap year.\n if (jump - n < 6) {\n n = n - jump + div(jump + 4, 33) * 33;\n }\n let leap = mod(mod(n + 1, 33) - 1, 4);\n if (leap === -1) {\n leap = 4;\n }\n\n return {leap: leap, gy: gYear, march: march};\n}\n\n/*\n Calculates Gregorian and Julian calendar dates from the Julian Day number\n (jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both\n calendars) to some millions years ahead of the present.\n @param jdn Julian Day number\n @return\n gYear: Calendar year (years BC numbered 0, -1, -2, ...)\n gMonth: Calendar month (1 to 12)\n gDay: Calendar day of the month M (1 to 28/29/30/31)\n */\nfunction julianToGregorian(julianDayNumber: number) {\n let j = 4 * julianDayNumber + 139361631;\n j = j + div(div(4 * julianDayNumber + 183187720, 146097) * 3, 4) * 4 - 3908;\n const i = div(mod(j, 1461), 4) * 5 + 308;\n const gDay = div(mod(i, 153), 5) + 1;\n const gMonth = mod(div(i, 153), 12) + 1;\n const gYear = div(j, 1461) - 100100 + div(8 - gMonth, 6);\n\n return new Date(gYear, gMonth - 1, gDay);\n}\n\n/*\n Converts a date of the Jalali calendar to the Julian Day number.\n @param jy Jalali year (1 to 3100)\n @param jm Jalali month (1 to 12)\n @param jd Jalali day (1 to 29/31)\n @return Julian Day number\n */\nfunction gregorianToJulian(gy: number, gm: number, gd: number) {\n let d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) + div(153 * mod(gm + 9, 12) + 2, 5) + gd - 34840408;\n d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752;\n return d;\n}\n\n/*\n Converts the Julian Day number to a date in the Jalali calendar.\n @param julianDayNumber Julian Day number\n @return\n jalaliYear: Jalali year (1 to 3100)\n jalaliMonth: Jalali month (1 to 12)\n jalaliDay: Jalali day (1 to 29/31)\n */\nfunction julianToJalali(julianDayNumber: number) {\n let gy = julianToGregorian(julianDayNumber).getFullYear() // Calculate Gregorian year (gy).\n ,\n jalaliYear = gy - 621, r = jalCal(jalaliYear), gregorianDay = gregorianToJulian(gy, 3, r.march), jalaliDay,\n jalaliMonth, numberOfDays;\n\n // Find number of days that passed since 1 Farvardin.\n numberOfDays = julianDayNumber - gregorianDay;\n if (numberOfDays >= 0) {\n if (numberOfDays <= 185) {\n // The first 6 months.\n jalaliMonth = 1 + div(numberOfDays, 31);\n jalaliDay = mod(numberOfDays, 31) + 1;\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\n } else {\n // The remaining months.\n numberOfDays -= 186;\n }\n } else {\n // Previous Jalali year.\n jalaliYear -= 1;\n numberOfDays += 179;\n if (r.leap === 1) {\n numberOfDays += 1;\n }\n }\n jalaliMonth = 7 + div(numberOfDays, 30);\n jalaliDay = mod(numberOfDays, 30) + 1;\n\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\n}\n\n/*\n Converts a date of the Jalali calendar to the Julian Day number.\n @param jYear Jalali year (1 to 3100)\n @param jMonth Jalali month (1 to 12)\n @param jDay Jalali day (1 to 29/31)\n @return Julian Day number\n */\nfunction jalaliToJulian(jYear: number, jMonth: number, jDay: number) {\n let r = jalCal(jYear);\n return gregorianToJulian(r.gy, 3, r.march) + (jMonth - 1) * 31 - div(jMonth, 7) * (jMonth - 7) + jDay - 1;\n}\n\n/**\n * Returns the number of days in a specific jalali month.\n */\nfunction getDaysPerMonth(month: number, year: number): number {\n if (month <= 6) {\n return 31;\n }\n if (month <= 11) {\n return 30;\n }\n if (jalCal(year).leap === 0) {\n return 30;\n }\n return 29;\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDate} from '../ngb-date';\nimport {NgbCalendar, NgbPeriod} from '../ngb-calendar';\nimport {isInteger} from '../../util/util';\n\nimport {fromGregorian, setJalaliDay, setJalaliMonth, setJalaliYear, toGregorian} from './jalali';\n\n@Injectable()\nexport class NgbCalendarPersian extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date = setJalaliYear(date, date.year + number);\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = setJalaliMonth(date, date.month + number);\n date.day = 1;\n return date;\n case 'd':\n return setJalaliDay(date, date.day + number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n const date = week[thursdayIndex];\n\n const jsDate = toGregorian(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n const startDate = toGregorian(new NgbDate(date.year, 1, 1));\n return Math.floor(Math.round((time - startDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return fromGregorian(new Date()); }\n\n isValid(date?: NgbDate | null): boolean {\n return date != null && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) &&\n !isNaN(toGregorian(date).getTime());\n }\n}\n","import {NgbDate} from '../ngb-date';\nimport {NgbDateStruct} from '../ngb-date-struct';\n\nconst PARTS_PER_HOUR = 1080;\nconst PARTS_PER_DAY = 24 * PARTS_PER_HOUR;\nconst PARTS_FRACTIONAL_MONTH = 12 * PARTS_PER_HOUR + 793;\nconst PARTS_PER_MONTH = 29 * PARTS_PER_DAY + PARTS_FRACTIONAL_MONTH;\nconst BAHARAD = 11 * PARTS_PER_HOUR + 204;\nconst HEBREW_DAY_ON_JAN_1_1970 = 2092591;\nconst GREGORIAN_EPOCH = 1721425.5;\n\nfunction isGregorianLeapYear(year: number): boolean {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\n\nfunction numberOfFirstDayInYear(year: number): number {\n let monthsBeforeYear = Math.floor((235 * year - 234) / 19);\n let fractionalMonthsBeforeYear = monthsBeforeYear * PARTS_FRACTIONAL_MONTH + BAHARAD;\n let dayNumber = monthsBeforeYear * 29 + Math.floor(fractionalMonthsBeforeYear / PARTS_PER_DAY);\n let timeOfDay = fractionalMonthsBeforeYear % PARTS_PER_DAY;\n\n let dayOfWeek = dayNumber % 7; // 0 == Monday\n\n if (dayOfWeek === 2 || dayOfWeek === 4 || dayOfWeek === 6) {\n dayNumber++;\n dayOfWeek = dayNumber % 7;\n }\n if (dayOfWeek === 1 && timeOfDay > 15 * PARTS_PER_HOUR + 204 && !isHebrewLeapYear(year)) {\n dayNumber += 2;\n } else if (dayOfWeek === 0 && timeOfDay > 21 * PARTS_PER_HOUR + 589 && isHebrewLeapYear(year - 1)) {\n dayNumber++;\n }\n return dayNumber;\n}\n\nfunction getDaysInGregorianMonth(month: number, year: number): number {\n let days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n if (isGregorianLeapYear(year)) {\n days[1]++;\n }\n return days[month - 1];\n}\n\nfunction getHebrewMonths(year: number): number {\n return isHebrewLeapYear(year) ? 13 : 12;\n}\n\n/**\n * Returns the number of days in a specific Hebrew year.\n * `year` is any Hebrew year.\n */\nfunction getDaysInHebrewYear(year: number): number {\n return numberOfFirstDayInYear(year + 1) - numberOfFirstDayInYear(year);\n}\n\nexport function isHebrewLeapYear(year?: number): boolean {\n if (year != null) {\n let b = (year * 12 + 17) % 19;\n return b >= ((b < 0) ? -7 : 12);\n }\n return false;\n}\n\n/**\n * Returns the number of days in a specific Hebrew month.\n * `month` is 1 for Nisan, 2 for Iyar etc. Note: Hebrew leap year contains 13 months.\n * `year` is any Hebrew year.\n */\nexport function getDaysInHebrewMonth(month: number, year: number): number {\n let yearLength = numberOfFirstDayInYear(year + 1) - numberOfFirstDayInYear(year);\n let yearType = (yearLength <= 380 ? yearLength : (yearLength - 30)) - 353;\n let leapYear = isHebrewLeapYear(year);\n let daysInMonth = leapYear ? [30, 29, 29, 29, 30, 30, 29, 30, 29, 30, 29, 30, 29] :\n [30, 29, 29, 29, 30, 29, 30, 29, 30, 29, 30, 29];\n if (yearType > 0) {\n daysInMonth[2]++; // Kislev gets an extra day in normal or complete years.\n }\n if (yearType > 1) {\n daysInMonth[1]++; // Heshvan gets an extra day in complete years only.\n }\n return daysInMonth[month - 1];\n}\n\nexport function getDayNumberInHebrewYear(date: NgbDate): number {\n let numberOfDay = 0;\n for (let i = 1; i < date.month; i++) {\n numberOfDay += getDaysInHebrewMonth(i, date.year);\n }\n return numberOfDay + date.day;\n}\n\nexport function setHebrewMonth(date: NgbDate, val: number): NgbDate {\n let after = val >= 0;\n if (!after) {\n val = -val;\n }\n while (val > 0) {\n if (after) {\n if (val > getHebrewMonths(date.year) - date.month) {\n val -= getHebrewMonths(date.year) - date.month + 1;\n date.year++;\n date.month = 1;\n } else {\n date.month += val;\n val = 0;\n }\n } else {\n if (val >= date.month) {\n date.year--;\n val -= date.month;\n date.month = getHebrewMonths(date.year);\n } else {\n date.month -= val;\n val = 0;\n }\n }\n }\n return date;\n}\n\nexport function setHebrewDay(date: NgbDate, val: number): NgbDate {\n let after = val >= 0;\n if (!after) {\n val = -val;\n }\n while (val > 0) {\n if (after) {\n if (val > getDaysInHebrewYear(date.year) - getDayNumberInHebrewYear(date)) {\n val -= getDaysInHebrewYear(date.year) - getDayNumberInHebrewYear(date) + 1;\n date.year++;\n date.month = 1;\n date.day = 1;\n } else if (val > getDaysInHebrewMonth(date.month, date.year) - date.day) {\n val -= getDaysInHebrewMonth(date.month, date.year) - date.day + 1;\n date.month++;\n date.day = 1;\n } else {\n date.day += val;\n val = 0;\n }\n } else {\n if (val >= date.day) {\n val -= date.day;\n date.month--;\n if (date.month === 0) {\n date.year--;\n date.month = getHebrewMonths(date.year);\n }\n date.day = getDaysInHebrewMonth(date.month, date.year);\n } else {\n date.day -= val;\n val = 0;\n }\n }\n }\n return date;\n}\n\n/**\n * Returns the equivalent Hebrew date value for a give input Gregorian date.\n * `gdate` is a JS Date to be converted to Hebrew date.\n */\nexport function fromGregorian(gdate: Date): NgbDate {\n const date = new Date(gdate);\n const gYear = date.getFullYear(), gMonth = date.getMonth(), gDay = date.getDate();\n let julianDay = GREGORIAN_EPOCH - 1 + 365 * (gYear - 1) + Math.floor((gYear - 1) / 4) -\n Math.floor((gYear - 1) / 100) + Math.floor((gYear - 1) / 400) +\n Math.floor((367 * (gMonth + 1) - 362) / 12 + (gMonth + 1 <= 2 ? 0 : isGregorianLeapYear(gYear) ? -1 : -2) + gDay);\n julianDay = Math.floor(julianDay + 0.5);\n let daysSinceHebEpoch = julianDay - 347997;\n let monthsSinceHebEpoch = Math.floor(daysSinceHebEpoch * PARTS_PER_DAY / PARTS_PER_MONTH);\n let hYear = Math.floor((monthsSinceHebEpoch * 19 + 234) / 235) + 1;\n let firstDayOfThisYear = numberOfFirstDayInYear(hYear);\n let dayOfYear = daysSinceHebEpoch - firstDayOfThisYear;\n while (dayOfYear < 1) {\n hYear--;\n firstDayOfThisYear = numberOfFirstDayInYear(hYear);\n dayOfYear = daysSinceHebEpoch - firstDayOfThisYear;\n }\n let hMonth = 1;\n let hDay = dayOfYear;\n while (hDay > getDaysInHebrewMonth(hMonth, hYear)) {\n hDay -= getDaysInHebrewMonth(hMonth, hYear);\n hMonth++;\n }\n return new NgbDate(hYear, hMonth, hDay);\n}\n\n/**\n * Returns the equivalent JS date value for a given Hebrew date.\n * `hebrewDate` is an Hebrew date to be converted to Gregorian.\n */\nexport function toGregorian(hebrewDate: NgbDateStruct | NgbDate): Date {\n const hYear = hebrewDate.year;\n const hMonth = hebrewDate.month;\n const hDay = hebrewDate.day;\n let days = numberOfFirstDayInYear(hYear);\n for (let i = 1; i < hMonth; i++) {\n days += getDaysInHebrewMonth(i, hYear);\n }\n days += hDay;\n let diffDays = days - HEBREW_DAY_ON_JAN_1_1970;\n let after = diffDays >= 0;\n if (!after) {\n diffDays = -diffDays;\n }\n let gYear = 1970;\n let gMonth = 1;\n let gDay = 1;\n while (diffDays > 0) {\n if (after) {\n if (diffDays >= (isGregorianLeapYear(gYear) ? 366 : 365)) {\n diffDays -= isGregorianLeapYear(gYear) ? 366 : 365;\n gYear++;\n } else if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\n gMonth++;\n } else {\n gDay += diffDays;\n diffDays = 0;\n }\n } else {\n if (diffDays >= (isGregorianLeapYear(gYear - 1) ? 366 : 365)) {\n diffDays -= isGregorianLeapYear(gYear - 1) ? 366 : 365;\n gYear--;\n } else {\n if (gMonth > 1) {\n gMonth--;\n } else {\n gMonth = 12;\n gYear--;\n }\n if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\n } else {\n gDay = getDaysInGregorianMonth(gMonth, gYear) - diffDays + 1;\n diffDays = 0;\n }\n }\n }\n }\n return new Date(gYear, gMonth - 1, gDay);\n}\n\nexport function hebrewNumerals(numerals: number): string {\n if (!numerals) {\n return '';\n }\n const hArray0_9 = ['', '\\u05d0', '\\u05d1', '\\u05d2', '\\u05d3', '\\u05d4', '\\u05d5', '\\u05d6', '\\u05d7', '\\u05d8'];\n const hArray10_19 = [\n '\\u05d9', '\\u05d9\\u05d0', '\\u05d9\\u05d1', '\\u05d9\\u05d2', '\\u05d9\\u05d3', '\\u05d8\\u05d5', '\\u05d8\\u05d6',\n '\\u05d9\\u05d6', '\\u05d9\\u05d7', '\\u05d9\\u05d8'\n ];\n const hArray20_90 = ['', '', '\\u05db', '\\u05dc', '\\u05de', '\\u05e0', '\\u05e1', '\\u05e2', '\\u05e4', '\\u05e6'];\n const hArray100_900 = [\n '', '\\u05e7', '\\u05e8', '\\u05e9', '\\u05ea', '\\u05ea\\u05e7', '\\u05ea\\u05e8', '\\u05ea\\u05e9', '\\u05ea\\u05ea',\n '\\u05ea\\u05ea\\u05e7'\n ];\n const hArray1000_9000 = [\n '', '\\u05d0', '\\u05d1', '\\u05d1\\u05d0', '\\u05d1\\u05d1', '\\u05d4', '\\u05d4\\u05d0', '\\u05d4\\u05d1',\n '\\u05d4\\u05d1\\u05d0', '\\u05d4\\u05d1\\u05d1'\n ];\n const geresh = '\\u05f3', gershaim = '\\u05f4';\n let mem = 0;\n let result: string[] = [];\n let step = 0;\n while (numerals > 0) {\n let m = numerals % 10;\n if (step === 0) {\n mem = m;\n } else if (step === 1) {\n if (m !== 1) {\n result.unshift(hArray20_90[m], hArray0_9[mem]);\n } else {\n result.unshift(hArray10_19[mem]);\n }\n } else if (step === 2) {\n result.unshift(hArray100_900[m]);\n } else {\n if (m !== 5) {\n result.unshift(hArray1000_9000[m], geresh, ' ');\n }\n break;\n }\n numerals = Math.floor(numerals / 10);\n if (step === 0 && numerals === 0) {\n result.unshift(hArray0_9[m]);\n }\n step++;\n }\n result = result.join('').split('');\n if (result.length === 1) {\n result.push(geresh);\n } else if (result.length > 1) {\n result.splice(result.length - 1, 0, gershaim);\n }\n return result.join('');\n}\n","import {NgbDate} from '../ngb-date';\nimport {fromJSDate, NgbCalendar, NgbPeriod, toJSDate} from '../ngb-calendar';\nimport {Injectable} from '@angular/core';\nimport {isNumber} from '../../util/util';\nimport {\n fromGregorian,\n getDayNumberInHebrewYear,\n getDaysInHebrewMonth,\n isHebrewLeapYear,\n toGregorian,\n setHebrewDay,\n setHebrewMonth\n} from './hebrew';\n\n/**\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbCalendarHebrew extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths(year?: number) {\n if (year && isHebrewLeapYear(year)) {\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];\n } else {\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n }\n }\n\n getWeeksPerMonth() { return 6; }\n\n isValid(date?: NgbDate | null): boolean {\n if (date != null) {\n let b = isNumber(date.year) && isNumber(date.month) && isNumber(date.day);\n b = b && date.month > 0 && date.month <= (isHebrewLeapYear(date.year) ? 13 : 12);\n b = b && date.day > 0 && date.day <= getDaysInHebrewMonth(date.month, date.year);\n return b && !isNaN(toGregorian(date).getTime());\n }\n\n return false;\n }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date.year += number;\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = setHebrewMonth(date, number);\n date.day = 1;\n return date;\n case 'd':\n return setHebrewDay(date, number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n const date = week[week.length - 1];\n return Math.ceil(getDayNumberInHebrewYear(date) / 7);\n }\n\n getToday(): NgbDate { return fromGregorian(new Date()); }\n\n /**\n * @since 3.4.0\n */\n toGregorian(date: NgbDate): NgbDate { return fromJSDate(toGregorian(date)); }\n\n /**\n * @since 3.4.0\n */\n fromGregorian(date: NgbDate): NgbDate { return fromGregorian(toJSDate(date)); }\n}\n","import {NgbDatepickerI18n} from '../datepicker-i18n';\nimport {NgbDateStruct} from '../../index';\nimport {hebrewNumerals, isHebrewLeapYear} from './hebrew';\nimport {Injectable} from '@angular/core';\n\n\nconst WEEKDAYS = ['שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת', 'ראשון'];\nconst MONTHS = ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\nconst MONTHS_LEAP =\n ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר א׳', 'אדר ב׳', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\n\n/**\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbDatepickerI18nHebrew extends NgbDatepickerI18n {\n getMonthShortName(month: number, year?: number): string { return this.getMonthFullName(month, year); }\n\n getMonthFullName(month: number, year?: number): string {\n return isHebrewLeapYear(year) ? MONTHS_LEAP[month - 1] || '' : MONTHS[month - 1] || '';\n }\n\n getWeekdayShortName(weekday: number): string { return WEEKDAYS[weekday - 1] || ''; }\n\n getDayAriaLabel(date: NgbDateStruct): string {\n return `${hebrewNumerals(date.day)} ${this.getMonthFullName(date.month, date.year)} ${hebrewNumerals(date.year)}`;\n }\n\n getDayNumerals(date: NgbDateStruct): string { return hebrewNumerals(date.day); }\n\n getWeekNumerals(weekNumber: number): string { return hebrewNumerals(weekNumber); }\n\n getYearNumerals(year: number): string { return hebrewNumerals(year); }\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateAdapter} from './ngb-date-adapter';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {isInteger} from '../../util/util';\n\n/**\n * [`NgbDateAdapter`](#/components/datepicker/api#NgbDateAdapter) implementation that uses\n * native javascript dates as a user date model.\n */\n@Injectable()\nexport class NgbDateNativeAdapter extends NgbDateAdapter {\n /**\n * Converts a native `Date` to a `NgbDateStruct`.\n */\n fromModel(date: Date | null): NgbDateStruct | null {\n return (date instanceof Date && !isNaN(date.getTime())) ? this._fromNativeDate(date) : null;\n }\n\n /**\n * Converts a `NgbDateStruct` to a native `Date`.\n */\n toModel(date: NgbDateStruct | null): Date | null {\n return date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) ? this._toNativeDate(date) :\n null;\n }\n\n protected _fromNativeDate(date: Date): NgbDateStruct {\n return {year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()};\n }\n\n protected _toNativeDate(date: NgbDateStruct): Date {\n const jsDate = new Date(date.year, date.month - 1, date.day, 12);\n // avoid 30 -> 1930 conversion\n jsDate.setFullYear(date.year);\n return jsDate;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {NgbDateNativeAdapter} from './ngb-date-native-adapter';\n\n/**\n * Same as [`NgbDateNativeAdapter`](#/components/datepicker/api#NgbDateNativeAdapter), but with UTC dates.\n *\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbDateNativeUTCAdapter extends NgbDateNativeAdapter {\n protected _fromNativeDate(date: Date): NgbDateStruct {\n return {year: date.getUTCFullYear(), month: date.getUTCMonth() + 1, day: date.getUTCDate()};\n }\n\n protected _toNativeDate(date: NgbDateStruct): Date {\n const jsDate = new Date(Date.UTC(date.year, date.month - 1, date.day));\n // avoid 30 -> 1930 conversion\n jsDate.setUTCFullYear(date.year);\n return jsDate;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from '@angular/forms';\nimport {NgbDatepicker, NgbDatepickerContent} from './datepicker';\nimport {NgbDatepickerMonth} from './datepicker-month';\nimport {NgbDatepickerNavigation} from './datepicker-navigation';\nimport {NgbInputDatepicker} from './datepicker-input';\nimport {NgbDatepickerDayView} from './datepicker-day-view';\nimport {NgbDatepickerNavigationSelect} from './datepicker-navigation-select';\n\nexport {NgbDatepicker, NgbDatepickerContent, NgbDatepickerNavigateEvent, NgbDatepickerState} from './datepicker';\nexport {NgbInputDatepicker} from './datepicker-input';\nexport {NgbCalendar, NgbPeriod, NgbCalendarGregorian} from './ngb-calendar';\nexport {NgbCalendarIslamicCivil} from './hijri/ngb-calendar-islamic-civil';\nexport {NgbCalendarIslamicUmalqura} from './hijri/ngb-calendar-islamic-umalqura';\nexport {NgbCalendarPersian} from './jalali/ngb-calendar-persian';\nexport {NgbCalendarHebrew} from './hebrew/ngb-calendar-hebrew';\nexport {NgbDatepickerI18nHebrew} from './hebrew/datepicker-i18n-hebrew';\nexport {NgbDatepickerMonth} from './datepicker-month';\nexport {NgbDatepickerDayView} from './datepicker-day-view';\nexport {NgbDatepickerNavigation} from './datepicker-navigation';\nexport {NgbDatepickerNavigationSelect} from './datepicker-navigation-select';\nexport {NgbDatepickerConfig} from './datepicker-config';\nexport {NgbInputDatepickerConfig} from './datepicker-input-config';\nexport {NgbDatepickerI18n} from './datepicker-i18n';\nexport {NgbDateStruct} from './ngb-date-struct';\nexport {NgbDate} from './ngb-date';\nexport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nexport {NgbDateNativeAdapter} from './adapters/ngb-date-native-adapter';\nexport {NgbDateNativeUTCAdapter} from './adapters/ngb-date-native-utc-adapter';\nexport {NgbDateParserFormatter} from './ngb-date-parser-formatter';\nexport {NgbDatepickerKeyboardService} from './datepicker-keyboard-service';\n\n@NgModule({\n declarations: [\n NgbDatepicker, NgbDatepickerContent, NgbDatepickerMonth, NgbDatepickerNavigation, NgbDatepickerNavigationSelect,\n NgbDatepickerDayView, NgbInputDatepicker\n ],\n exports: [NgbDatepicker, NgbDatepickerContent, NgbInputDatepicker, NgbDatepickerMonth],\n imports: [CommonModule, FormsModule],\n entryComponents: [NgbDatepicker]\n})\nexport class NgbDatepickerModule {\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbDropdown`](#/components/dropdown/api#NgbDropdown) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the dropdowns used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDropdownConfig {\n autoClose: boolean | 'outside' | 'inside' = true;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n container: null | 'body';\n}\n","import {\n ChangeDetectorRef,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n AfterContentInit,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n Optional\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {fromEvent, Subject, Subscription} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\nimport {Placement, PlacementArray, positionElements} from '../util/positioning';\nimport {ngbAutoClose, SOURCE} from '../util/autoclose';\nimport {Key} from '../util/key';\n\nimport {NgbDropdownConfig} from './dropdown-config';\nimport {FOCUSABLE_ELEMENTS_SELECTOR} from '../util/focus-trap';\n\n@Directive({selector: '.navbar'})\nexport class NgbNavbar {\n}\n\n/**\n * A directive you should put on a dropdown item to enable keyboard navigation.\n * Arrow keys will move focus between items marked with this directive.\n *\n * @since 4.1.0\n */\n@Directive({selector: '[ngbDropdownItem]', host: {'class': 'dropdown-item', '[class.disabled]': 'disabled'}})\nexport class NgbDropdownItem {\n static ngAcceptInputType_disabled: boolean | '';\n\n private _disabled = false;\n\n @Input()\n set disabled(value: boolean) {\n this._disabled = value === '' || value === true; // accept an empty attribute as true\n }\n\n get disabled(): boolean { return this._disabled; }\n\n constructor(public elementRef: ElementRef) {}\n}\n\n/**\n * A directive that wraps dropdown menu content and dropdown items.\n */\n@Directive({\n selector: '[ngbDropdownMenu]',\n host: {\n '[class.dropdown-menu]': 'true',\n '[class.show]': 'dropdown.isOpen()',\n '[attr.x-placement]': 'placement',\n '(keydown.ArrowUp)': 'dropdown.onKeyDown($event)',\n '(keydown.ArrowDown)': 'dropdown.onKeyDown($event)',\n '(keydown.Home)': 'dropdown.onKeyDown($event)',\n '(keydown.End)': 'dropdown.onKeyDown($event)',\n '(keydown.Enter)': 'dropdown.onKeyDown($event)',\n '(keydown.Space)': 'dropdown.onKeyDown($event)',\n '(keydown.Tab)': 'dropdown.onKeyDown($event)',\n '(keydown.Shift.Tab)': 'dropdown.onKeyDown($event)'\n }\n})\nexport class NgbDropdownMenu {\n nativeElement: HTMLElement;\n placement: Placement | null = 'bottom';\n isOpen = false;\n\n @ContentChildren(NgbDropdownItem) menuItems: QueryList;\n\n constructor(@Inject(forwardRef(() => NgbDropdown)) public dropdown, _elementRef: ElementRef) {\n this.nativeElement = _elementRef.nativeElement;\n }\n}\n\n/**\n * A directive to mark an element to which dropdown menu will be anchored.\n *\n * This is a simple version of the `NgbDropdownToggle` directive.\n * It plays the same role, but doesn't listen to click events to toggle dropdown menu thus enabling support\n * for events other than click.\n *\n * @since 1.1.0\n */\n@Directive(\n {selector: '[ngbDropdownAnchor]', host: {'class': 'dropdown-toggle', '[attr.aria-expanded]': 'dropdown.isOpen()'}})\nexport class NgbDropdownAnchor {\n nativeElement: HTMLElement;\n constructor(@Inject(forwardRef(() => NgbDropdown)) public dropdown, _elementRef: ElementRef) {\n this.nativeElement = _elementRef.nativeElement;\n }\n}\n\n/**\n * A directive to mark an element that will toggle dropdown via the `click` event.\n *\n * You can also use `NgbDropdownAnchor` as an alternative.\n */\n@Directive({\n selector: '[ngbDropdownToggle]',\n host: {\n 'class': 'dropdown-toggle',\n '[attr.aria-expanded]': 'dropdown.isOpen()',\n '(click)': 'dropdown.toggle()',\n '(keydown.ArrowUp)': 'dropdown.onKeyDown($event)',\n '(keydown.ArrowDown)': 'dropdown.onKeyDown($event)',\n '(keydown.Home)': 'dropdown.onKeyDown($event)',\n '(keydown.End)': 'dropdown.onKeyDown($event)',\n '(keydown.Tab)': 'dropdown.onKeyDown($event)',\n '(keydown.Shift.Tab)': 'dropdown.onKeyDown($event)'\n },\n providers: [{provide: NgbDropdownAnchor, useExisting: forwardRef(() => NgbDropdownToggle)}]\n})\nexport class NgbDropdownToggle extends NgbDropdownAnchor {\n constructor(@Inject(forwardRef(() => NgbDropdown)) dropdown, elementRef: ElementRef) {\n super(dropdown, elementRef);\n }\n}\n\n/**\n * A directive that provides contextual overlays for displaying lists of links and more.\n */\n@Directive({selector: '[ngbDropdown]', exportAs: 'ngbDropdown', host: {'[class.show]': 'isOpen()'}})\nexport class NgbDropdown implements AfterContentInit, OnDestroy {\n static ngAcceptInputType_autoClose: boolean | string;\n static ngAcceptInputType_display: string;\n private _closed$ = new Subject();\n private _zoneSubscription: Subscription;\n private _bodyContainer: HTMLElement | null = null;\n\n @ContentChild(NgbDropdownMenu, {static: false}) private _menu: NgbDropdownMenu;\n @ContentChild(NgbDropdownAnchor, {static: false}) private _anchor: NgbDropdownAnchor;\n\n /**\n * Indicates whether the dropdown should be closed when clicking one of dropdown items or pressing ESC.\n *\n * * `true` - the dropdown will close on both outside and inside (menu) clicks.\n * * `false` - the dropdown can only be closed manually via `close()` or `toggle()` methods.\n * * `\"inside\"` - the dropdown will close on inside menu clicks, but not outside clicks.\n * * `\"outside\"` - the dropdown will close only on the outside clicks and not on menu clicks.\n */\n @Input() autoClose: boolean | 'outside' | 'inside';\n\n /**\n * Defines whether or not the dropdown menu is opened initially.\n */\n @Input('open') _open = false;\n\n /**\n * The preferred placement of the dropdown.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * A selector specifying the element the dropdown should be appended to.\n * Currently only supports \"body\".\n *\n * @since 4.1.0\n */\n @Input() container: null | 'body';\n\n /**\n * Enable or disable the dynamic positioning. The default value is dynamic unless the dropdown is used\n * inside a Bootstrap navbar. If you need custom placement for a dropdown in a navbar, set it to\n * dynamic explicitly. See the [positioning of dropdown](#/positioning#dropdown)\n * and the [navbar demo](/#/components/dropdown/examples#navbar) for more details.\n *\n * @since 4.2.0\n */\n @Input() display: 'dynamic' | 'static';\n\n /**\n * An event fired when the dropdown is opened or closed.\n *\n * The event payload is a `boolean`:\n * * `true` - the dropdown was opened\n * * `false` - the dropdown was closed\n */\n @Output() openChange = new EventEmitter();\n\n constructor(\n private _changeDetector: ChangeDetectorRef, config: NgbDropdownConfig, @Inject(DOCUMENT) private _document: any,\n private _ngZone: NgZone, private _elementRef: ElementRef, private _renderer: Renderer2,\n @Optional() ngbNavbar: NgbNavbar) {\n this.placement = config.placement;\n this.container = config.container;\n this.autoClose = config.autoClose;\n\n this.display = ngbNavbar ? 'static' : 'dynamic';\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => { this._positionMenu(); });\n }\n\n ngAfterContentInit() {\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n this._applyPlacementClasses();\n if (this._open) {\n this._setCloseHandlers();\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.container && this._open) {\n this._applyContainer(this.container);\n }\n\n if (changes.placement && !changes.placement.isFirstChange) {\n this._applyPlacementClasses();\n }\n }\n\n /**\n * Checks if the dropdown menu is open.\n */\n isOpen(): boolean { return this._open; }\n\n /**\n * Opens the dropdown menu.\n */\n open(): void {\n if (!this._open) {\n this._open = true;\n this._applyContainer(this.container);\n this.openChange.emit(true);\n this._setCloseHandlers();\n if (this._anchor) {\n this._anchor.nativeElement.focus();\n }\n }\n }\n\n private _setCloseHandlers() {\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose,\n (source: SOURCE) => {\n this.close();\n if (source === SOURCE.ESCAPE) {\n this._anchor.nativeElement.focus();\n }\n },\n this._closed$, this._menu ? [this._menu.nativeElement] : [], this._anchor ? [this._anchor.nativeElement] : [],\n '.dropdown-item,.dropdown-divider');\n }\n\n /**\n * Closes the dropdown menu.\n */\n close(): void {\n if (this._open) {\n this._open = false;\n this._resetContainer();\n this._closed$.next();\n this.openChange.emit(false);\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Toggles the dropdown menu.\n */\n toggle(): void {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n ngOnDestroy() {\n this._resetContainer();\n\n this._closed$.next();\n this._zoneSubscription.unsubscribe();\n }\n\n onKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n const key = event.which;\n const itemElements = this._getMenuElements();\n\n let position = -1;\n let itemElement: HTMLElement | null = null;\n const isEventFromToggle = this._isEventFromToggle(event);\n\n if (!isEventFromToggle && itemElements.length) {\n itemElements.forEach((item, index) => {\n if (item.contains(event.target as HTMLElement)) {\n itemElement = item;\n }\n if (item === this._document.activeElement) {\n position = index;\n }\n });\n }\n\n // closing on Enter / Space\n if (key === Key.Space || key === Key.Enter) {\n if (itemElement && (this.autoClose === true || this.autoClose === 'inside')) {\n // Item is either a button or a link, so click will be triggered by the browser on Enter or Space.\n // So we have to register a one-time click handler that will fire after any user defined click handlers\n // to close the dropdown\n fromEvent(itemElement, 'click').pipe(take(1)).subscribe(() => this.close());\n }\n return;\n }\n\n if (key === Key.Tab) {\n if (event.target && this.isOpen() && this.autoClose) {\n if (this._anchor.nativeElement === event.target) {\n if (this.container === 'body' && !event.shiftKey) {\n /* This case is special: user is using [Tab] from the anchor/toggle.\n User expects the next focusable element in the dropdown menu to get focus.\n But the menu is not a sibling to anchor/toggle, it is at the end of the body.\n Trick is to synchronously focus the menu element, and let the [keydown.Tab] go\n so that browser will focus the proper element (first one focusable in the menu) */\n this._renderer.setAttribute(this._menu.nativeElement, 'tabindex', '0');\n this._menu.nativeElement.focus();\n this._renderer.removeAttribute(this._menu.nativeElement, 'tabindex');\n } else if (event.shiftKey) {\n this.close();\n }\n return;\n } else if (this.container === 'body') {\n const focusableElements = this._menu.nativeElement.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR);\n if (event.shiftKey && event.target === focusableElements[0]) {\n this._anchor.nativeElement.focus();\n event.preventDefault();\n } else if (!event.shiftKey && event.target === focusableElements[focusableElements.length - 1]) {\n this._anchor.nativeElement.focus();\n this.close();\n }\n } else {\n fromEvent(event.target as HTMLElement, 'focusout').pipe(take(1)).subscribe(({relatedTarget}) => {\n if (!this._elementRef.nativeElement.contains(relatedTarget as HTMLElement)) {\n this.close();\n }\n });\n }\n }\n return;\n }\n\n // opening / navigating\n if (isEventFromToggle || itemElement) {\n this.open();\n\n if (itemElements.length) {\n switch (key) {\n case Key.ArrowDown:\n position = Math.min(position + 1, itemElements.length - 1);\n break;\n case Key.ArrowUp:\n if (this._isDropup() && position === -1) {\n position = itemElements.length - 1;\n break;\n }\n position = Math.max(position - 1, 0);\n break;\n case Key.Home:\n position = 0;\n break;\n case Key.End:\n position = itemElements.length - 1;\n break;\n }\n itemElements[position].focus();\n }\n event.preventDefault();\n }\n }\n\n private _isDropup(): boolean { return this._elementRef.nativeElement.classList.contains('dropup'); }\n\n private _isEventFromToggle(event: KeyboardEvent) {\n return this._anchor.nativeElement.contains(event.target as HTMLElement);\n }\n\n private _getMenuElements(): HTMLElement[] {\n const menu = this._menu;\n if (menu == null) {\n return [];\n }\n return menu.menuItems.filter(item => !item.disabled).map(item => item.elementRef.nativeElement);\n }\n\n private _positionMenu() {\n const menu = this._menu;\n if (this.isOpen() && menu) {\n this._applyPlacementClasses(\n this.display === 'dynamic' ? positionElements(\n this._anchor.nativeElement, this._bodyContainer || this._menu.nativeElement,\n this.placement, this.container === 'body') :\n this._getFirstPlacement(this.placement));\n }\n }\n\n private _getFirstPlacement(placement: PlacementArray): Placement {\n return Array.isArray(placement) ? placement[0] : placement.split(' ')[0] as Placement;\n }\n\n private _resetContainer() {\n const renderer = this._renderer;\n if (this._menu) {\n const dropdownElement = this._elementRef.nativeElement;\n const dropdownMenuElement = this._menu.nativeElement;\n\n renderer.appendChild(dropdownElement, dropdownMenuElement);\n renderer.removeStyle(dropdownMenuElement, 'position');\n renderer.removeStyle(dropdownMenuElement, 'transform');\n }\n if (this._bodyContainer) {\n renderer.removeChild(this._document.body, this._bodyContainer);\n this._bodyContainer = null;\n }\n }\n\n private _applyContainer(container: null | 'body' = null) {\n this._resetContainer();\n if (container === 'body') {\n const renderer = this._renderer;\n const dropdownMenuElement = this._menu.nativeElement;\n const bodyContainer = this._bodyContainer = this._bodyContainer || renderer.createElement('div');\n\n // Override some styles to have the positionning working\n renderer.setStyle(bodyContainer, 'position', 'absolute');\n renderer.setStyle(dropdownMenuElement, 'position', 'static');\n renderer.setStyle(bodyContainer, 'z-index', '1050');\n\n renderer.appendChild(bodyContainer, dropdownMenuElement);\n renderer.appendChild(this._document.body, bodyContainer);\n }\n }\n\n private _applyPlacementClasses(placement?: Placement | null) {\n const menu = this._menu;\n if (menu) {\n if (!placement) {\n placement = this._getFirstPlacement(this.placement);\n }\n\n const renderer = this._renderer;\n const dropdownElement = this._elementRef.nativeElement;\n\n // remove the current placement classes\n renderer.removeClass(dropdownElement, 'dropup');\n renderer.removeClass(dropdownElement, 'dropdown');\n menu.placement = this.display === 'static' ? null : placement;\n\n /*\n * apply the new placement\n * in case of top use up-arrow or down-arrow otherwise\n */\n const dropdownClass = placement.search('^top') !== -1 ? 'dropup' : 'dropdown';\n renderer.addClass(dropdownElement, dropdownClass);\n\n const bodyContainer = this._bodyContainer;\n if (bodyContainer) {\n renderer.removeClass(bodyContainer, 'dropup');\n renderer.removeClass(bodyContainer, 'dropdown');\n renderer.addClass(bodyContainer, dropdownClass);\n }\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownToggle,\n NgbDropdownMenu,\n NgbDropdownItem,\n NgbNavbar\n} from './dropdown';\n\nexport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownToggle,\n NgbDropdownMenu,\n NgbDropdownItem,\n NgbNavbar\n} from './dropdown';\nexport {NgbDropdownConfig} from './dropdown-config';\n\nconst NGB_DROPDOWN_DIRECTIVES =\n [NgbDropdown, NgbDropdownAnchor, NgbDropdownToggle, NgbDropdownMenu, NgbDropdownItem, NgbNavbar];\n\n@NgModule({declarations: NGB_DROPDOWN_DIRECTIVES, exports: NGB_DROPDOWN_DIRECTIVES})\nexport class NgbDropdownModule {\n}\n","import {Injectable, Injector} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * Options available when opening new modal windows with `NgbModal.open()` method.\n */\nexport interface NgbModalOptions {\n /**\n * If `true`, modal opening and closing will be animated.\n *\n * @since 8.0.0\n */\n animation?: boolean;\n\n /**\n * `aria-labelledby` attribute value to set on the modal window.\n *\n * @since 2.2.0\n */\n ariaLabelledBy?: string;\n\n /**\n * `aria-describedby` attribute value to set on the modal window.\n *\n * @since 6.1.0\n */\n ariaDescribedBy?: string;\n\n /**\n * If `true`, the backdrop element will be created for a given modal.\n *\n * Alternatively, specify `'static'` for a backdrop which doesn't close the modal on click.\n *\n * Default value is `true`.\n */\n backdrop?: boolean | 'static';\n\n /**\n * Callback right before the modal will be dismissed.\n *\n * If this function returns:\n * * `false`\n * * a promise resolved with `false`\n * * a promise that is rejected\n *\n * then the modal won't be dismissed.\n */\n beforeDismiss?: () => boolean | Promise;\n\n /**\n * If `true`, the modal will be centered vertically.\n *\n * Default value is `false`.\n *\n * @since 1.1.0\n */\n centered?: boolean;\n\n /**\n * A selector specifying the element all new modal windows should be appended to.\n * Since v5.3.0 it is also possible to pass the reference to an `HTMLElement`.\n *\n * If not specified, will be `body`.\n */\n container?: string | HTMLElement;\n\n /**\n * The `Injector` to use for modal content.\n */\n injector?: Injector;\n\n /**\n * If `true`, the modal will be closed when `Escape` key is pressed\n *\n * Default value is `true`.\n */\n keyboard?: boolean;\n\n /**\n * Scrollable modal content (false by default).\n *\n * @since 5.0.0\n */\n scrollable?: boolean;\n\n /**\n * Size of a new modal window.\n */\n size?: 'sm' | 'lg' | 'xl' | string;\n\n /**\n * A custom class to append to the modal window.\n */\n windowClass?: string;\n\n /**\n * A custom class to append to the modal backdrop.\n *\n * @since 1.1.0\n */\n backdropClass?: string;\n}\n\n/**\n * A configuration service for the [`NgbModal`](#/components/modal/api#NgbModal) service.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all modals used in the application.\n*\n* @since 3.1.0\n*/\n@Injectable({providedIn: 'root'})\nexport class NgbModalConfig implements Required {\n animation: boolean;\n ariaLabelledBy: string;\n ariaDescribedBy: string;\n backdrop: boolean | 'static' = true;\n beforeDismiss: () => boolean | Promise;\n centered: boolean;\n container: string;\n injector: Injector;\n keyboard = true;\n scrollable: boolean;\n size: 'sm' | 'lg' | 'xl' | string;\n windowClass: string;\n backdropClass: string;\n\n constructor(ngbConfig: NgbConfig) { this.animation = ngbConfig.animation; }\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Injector,\n NgZone,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n ViewRef\n} from '@angular/core';\n\nimport {Observable, of} from 'rxjs';\nimport {mergeMap, take, tap} from 'rxjs/operators';\n\nimport {ngbRunTransition} from './transition/ngbTransition';\n\nexport class ContentRef {\n constructor(public nodes: any[], public viewRef?: ViewRef, public componentRef?: ComponentRef) {}\n}\n\nexport class PopupService {\n private _windowRef: ComponentRef| null = null;\n private _contentRef: ContentRef | null = null;\n\n constructor(\n private _type: any, private _injector: Injector, private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2, private _ngZone: NgZone,\n private _componentFactoryResolver: ComponentFactoryResolver, private _applicationRef: ApplicationRef) {}\n\n open(content?: string | TemplateRef, context?: any, animation = false):\n {windowRef: ComponentRef, transition$: Observable} {\n if (!this._windowRef) {\n this._contentRef = this._getContentRef(content, context);\n this._windowRef = this._viewContainerRef.createComponent(\n this._componentFactoryResolver.resolveComponentFactory(this._type), this._viewContainerRef.length,\n this._injector, this._contentRef.nodes);\n }\n\n const {nativeElement} = this._windowRef.location;\n const onStable$ = this._ngZone.onStable.asObservable().pipe(take(1));\n const transition$ = onStable$.pipe(\n mergeMap(\n () => ngbRunTransition(\n nativeElement, ({classList}) => classList.add('show'), {animation, runningTransition: 'continue'})));\n\n return {windowRef: this._windowRef, transition$};\n }\n\n close(animation = false): Observable {\n if (!this._windowRef) {\n return of(undefined);\n }\n\n return ngbRunTransition(\n this._windowRef.location.nativeElement, ({classList}) => classList.remove('show'),\n {animation, runningTransition: 'stop'})\n .pipe(tap(() => {\n if (this._windowRef) {\n // this is required because of the container='body' option\n this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView));\n this._windowRef = null;\n }\n if (this._contentRef?.viewRef) {\n this._applicationRef.detachView(this._contentRef.viewRef);\n this._contentRef.viewRef.destroy();\n this._contentRef = null;\n }\n }));\n }\n\n private _getContentRef(content?: string | TemplateRef, context?: any): ContentRef {\n if (!content) {\n return new ContentRef([]);\n } else if (content instanceof TemplateRef) {\n const viewRef = content.createEmbeddedView(context);\n this._applicationRef.attachView(viewRef);\n return new ContentRef([viewRef.rootNodes], viewRef);\n } else {\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n }\n}\n","import {Injectable, Inject} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\nconst noop = () => {};\n\n\n\n/** Type for the callback used to revert the scrollbar compensation. */\nexport type CompensationReverter = () => void;\n\n\n\n/**\n * Utility to handle the scrollbar.\n *\n * It allows to compensate the lack of a vertical scrollbar by adding an\n * equivalent padding on the right of the body, and to remove this compensation.\n */\n@Injectable({providedIn: 'root'})\nexport class ScrollBar {\n constructor(@Inject(DOCUMENT) private _document: any) {}\n\n /**\n * To be called right before a potential vertical scrollbar would be removed:\n *\n * - if there was a scrollbar, adds some compensation padding to the body\n * to keep the same layout as when the scrollbar is there\n * - if there was none, there is nothing to do\n *\n * @return a callback used to revert the compensation (noop if there was none,\n * otherwise a function removing the padding)\n */\n compensate(): CompensationReverter {\n const width = this._getWidth();\n return !this._isPresent(width) ? noop : this._adjustBody(width);\n }\n\n /**\n * Adds a padding of the given width on the right of the body.\n *\n * @return a callback used to revert the padding to its previous value\n */\n private _adjustBody(scrollbarWidth: number): CompensationReverter {\n const body = this._document.body;\n const userSetPaddingStyle = body.style.paddingRight;\n const actualPadding = parseFloat(window.getComputedStyle(body)['padding-right']);\n body.style['padding-right'] = `${actualPadding + scrollbarWidth}px`;\n return () => body.style['padding-right'] = userSetPaddingStyle;\n }\n\n /**\n * Tells whether a scrollbar is currently present on the body.\n *\n * @return true if scrollbar is present, false otherwise\n */\n private _isPresent(scrollbarWidth: number): boolean {\n const rect = this._document.body.getBoundingClientRect();\n const bodyToViewportGap = window.innerWidth - (rect.left + rect.right);\n const uncertainty = 0.1 * scrollbarWidth;\n return bodyToViewportGap >= scrollbarWidth - uncertainty;\n }\n\n /**\n * Calculates and returns the width of a scrollbar.\n *\n * @return the width of a scrollbar on this page\n */\n private _getWidth(): number {\n const measurer = this._document.createElement('div');\n measurer.className = 'modal-scrollbar-measure';\n\n const body = this._document.body;\n body.appendChild(measurer);\n const width = measurer.getBoundingClientRect().width - measurer.clientWidth;\n body.removeChild(measurer);\n\n return width;\n }\n}\n","import {Component, ElementRef, Input, NgZone, OnInit, ViewEncapsulation} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\n\n@Component({\n selector: 'ngb-modal-backdrop',\n encapsulation: ViewEncapsulation.None,\n template: '',\n host: {\n '[class]': '\"modal-backdrop\" + (backdropClass ? \" \" + backdropClass : \"\")',\n '[class.show]': '!animation',\n '[class.fade]': 'animation',\n 'style': 'z-index: 1050'\n }\n})\nexport class NgbModalBackdrop implements OnInit {\n @Input() animation: boolean;\n @Input() backdropClass: string;\n\n constructor(private _el: ElementRef, private _zone: NgZone) {}\n\n ngOnInit() {\n this._zone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n ngbRunTransition(\n this._el.nativeElement, ({classList}) => classList.add('show'),\n {animation: this.animation, runningTransition: 'continue'});\n });\n }\n\n hide(): Observable {\n return ngbRunTransition(\n this._el.nativeElement, ({classList}) => classList.remove('show'),\n {animation: this.animation, runningTransition: 'stop'});\n }\n}\n","import {ComponentRef} from '@angular/core';\n\nimport {Observable, of, Subject, zip} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalWindow} from './modal-window';\n\nimport {ContentRef} from '../util/popup';\n\n/**\n * A reference to the currently opened (active) modal.\n *\n * Instances of this class can be injected into your component passed as modal content.\n * So you can `.close()` or `.dismiss()` the modal window from your component.\n */\nexport class NgbActiveModal {\n /**\n * Closes the modal with an optional `result` value.\n *\n * The `NgbModalRef.result` promise will be resolved with the provided value.\n */\n close(result?: any): void {}\n\n /**\n * Dismisses the modal with an optional `reason` value.\n *\n * The `NgbModalRef.result` promise will be rejected with the provided value.\n */\n dismiss(reason?: any): void {}\n}\n\n/**\n * A reference to the newly opened modal returned by the `NgbModal.open()` method.\n */\nexport class NgbModalRef {\n private _closed = new Subject();\n private _dismissed = new Subject();\n private _hidden = new Subject();\n private _resolve: (result?: any) => void;\n private _reject: (reason?: any) => void;\n\n /**\n * The instance of a component used for the modal content.\n *\n * When a `TemplateRef` is used as the content or when the modal is closed, will return `undefined`.\n */\n get componentInstance(): any {\n if (this._contentRef && this._contentRef.componentRef) {\n return this._contentRef.componentRef.instance;\n }\n }\n\n /**\n * The promise that is resolved when the modal is closed and rejected when the modal is dismissed.\n */\n result: Promise;\n\n /**\n * The observable that emits when the modal is closed via the `.close()` method.\n *\n * It will emit the result passed to the `.close()` method.\n *\n * @since 8.0.0\n */\n get closed(): Observable { return this._closed.asObservable().pipe(takeUntil(this._hidden)); }\n\n /**\n * The observable that emits when the modal is dismissed via the `.dismiss()` method.\n *\n * It will emit the reason passed to the `.dismissed()` method by the user, or one of the internal\n * reasons like backdrop click or ESC key press.\n *\n * @since 8.0.0\n */\n get dismissed(): Observable { return this._dismissed.asObservable().pipe(takeUntil(this._hidden)); }\n\n /**\n * The observable that emits when both modal window and backdrop are closed and animations were finished.\n * At this point modal and backdrop elements will be removed from the DOM tree.\n *\n * This observable will be completed after emitting.\n *\n * @since 8.0.0\n */\n get hidden(): Observable { return this._hidden.asObservable(); }\n\n /**\n * The observable that emits when modal is fully visible and animation was finished.\n * Modal DOM element is always available synchronously after calling 'modal.open()' service.\n *\n * This observable will be completed after emitting.\n * It will not emit, if modal is closed before open animation is finished.\n *\n * @since 8.0.0\n */\n get shown(): Observable { return this._windowCmptRef.instance.shown.asObservable(); }\n\n constructor(\n private _windowCmptRef: ComponentRef, private _contentRef: ContentRef,\n private _backdropCmptRef?: ComponentRef, private _beforeDismiss?: Function) {\n _windowCmptRef.instance.dismissEvent.subscribe((reason: any) => { this.dismiss(reason); });\n\n this.result = new Promise((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n this.result.then(null, () => {});\n }\n\n /**\n * Closes the modal with an optional `result` value.\n *\n * The `NgbMobalRef.result` promise will be resolved with the provided value.\n */\n close(result?: any): void {\n if (this._windowCmptRef) {\n this._closed.next(result);\n this._resolve(result);\n this._removeModalElements();\n }\n }\n\n private _dismiss(reason?: any) {\n this._dismissed.next(reason);\n this._reject(reason);\n this._removeModalElements();\n }\n\n /**\n * Dismisses the modal with an optional `reason` value.\n *\n * The `NgbModalRef.result` promise will be rejected with the provided value.\n */\n dismiss(reason?: any): void {\n if (this._windowCmptRef) {\n if (!this._beforeDismiss) {\n this._dismiss(reason);\n } else {\n const dismiss = this._beforeDismiss();\n if (dismiss && dismiss.then) {\n dismiss.then(\n result => {\n if (result !== false) {\n this._dismiss(reason);\n }\n },\n () => {});\n } else if (dismiss !== false) {\n this._dismiss(reason);\n }\n }\n }\n }\n\n private _removeModalElements() {\n const windowTransition$ = this._windowCmptRef.instance.hide();\n const backdropTransition$ = this._backdropCmptRef ? this._backdropCmptRef.instance.hide() : of(undefined);\n\n // hiding window\n windowTransition$.subscribe(() => {\n const {nativeElement} = this._windowCmptRef.location;\n nativeElement.parentNode.removeChild(nativeElement);\n this._windowCmptRef.destroy();\n\n if (this._contentRef && this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._windowCmptRef = null;\n this._contentRef = null;\n });\n\n // hiding backdrop\n backdropTransition$.subscribe(() => {\n if (this._backdropCmptRef) {\n const {nativeElement} = this._backdropCmptRef.location;\n nativeElement.parentNode.removeChild(nativeElement);\n this._backdropCmptRef.destroy();\n this._backdropCmptRef = null;\n }\n });\n\n // all done\n zip(windowTransition$, backdropTransition$).subscribe(() => {\n this._hidden.next();\n this._hidden.complete();\n });\n }\n}\n","export enum ModalDismissReasons {\n BACKDROP_CLICK,\n ESC\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {fromEvent, Observable, Subject, zip} from 'rxjs';\nimport {filter, switchMap, take, takeUntil, tap} from 'rxjs/operators';\n\nimport {getFocusableBoundaryElements} from '../util/focus-trap';\nimport {Key} from '../util/key';\nimport {ModalDismissReasons} from './modal-dismiss-reasons';\nimport {ngbRunTransition, NgbTransitionOptions} from '../util/transition/ngbTransition';\n\n@Component({\n selector: 'ngb-modal-window',\n host: {\n '[class]': '\"modal d-block\" + (windowClass ? \" \" + windowClass : \"\")',\n '[class.fade]': 'animation',\n 'role': 'dialog',\n 'tabindex': '-1',\n '[attr.aria-modal]': 'true',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '[attr.aria-describedby]': 'ariaDescribedBy'\n },\n template: `\n
\n
\n
\n `,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./modal.scss']\n})\nexport class NgbModalWindow implements OnInit,\n AfterViewInit, OnDestroy {\n private _closed$ = new Subject();\n private _elWithFocus: Element | null = null; // element that is focused prior to modal opening\n\n @ViewChild('dialog', {static: true}) private _dialogEl: ElementRef;\n\n @Input() animation: boolean;\n @Input() ariaLabelledBy: string;\n @Input() ariaDescribedBy: string;\n @Input() backdrop: boolean | string = true;\n @Input() centered: string;\n @Input() keyboard = true;\n @Input() scrollable: string;\n @Input() size: string;\n @Input() windowClass: string;\n\n @Output('dismiss') dismissEvent = new EventEmitter();\n\n shown = new Subject();\n hidden = new Subject();\n\n constructor(\n @Inject(DOCUMENT) private _document: any, private _elRef: ElementRef, private _zone: NgZone) {}\n\n dismiss(reason): void { this.dismissEvent.emit(reason); }\n\n ngOnInit() { this._elWithFocus = this._document.activeElement; }\n\n ngAfterViewInit() { this._show(); }\n\n ngOnDestroy() { this._disableEventHandling(); }\n\n hide(): Observable {\n const {nativeElement} = this._elRef;\n const context: NgbTransitionOptions = {animation: this.animation, runningTransition: 'stop'};\n\n const windowTransition$ = ngbRunTransition(nativeElement, () => nativeElement.classList.remove('show'), context);\n const dialogTransition$ = ngbRunTransition(this._dialogEl.nativeElement, () => {}, context);\n\n const transitions$ = zip(windowTransition$, dialogTransition$);\n transitions$.subscribe(() => {\n this.hidden.next();\n this.hidden.complete();\n });\n\n this._disableEventHandling();\n this._restoreFocus();\n\n return transitions$;\n }\n\n private _show() {\n const {nativeElement} = this._elRef;\n const context: NgbTransitionOptions = {animation: this.animation, runningTransition: 'continue'};\n\n const windowTransition$ = ngbRunTransition(nativeElement, () => nativeElement.classList.add('show'), context);\n const dialogTransition$ = ngbRunTransition(this._dialogEl.nativeElement, () => {}, context);\n\n zip(windowTransition$, dialogTransition$).subscribe(() => {\n this.shown.next();\n this.shown.complete();\n });\n\n this._enableEventHandling();\n this._setFocus();\n }\n\n private _enableEventHandling() {\n const {nativeElement} = this._elRef;\n this._zone.runOutsideAngular(() => {\n fromEvent(nativeElement, 'keydown')\n .pipe(\n takeUntil(this._closed$),\n // tslint:disable-next-line:deprecation\n filter(e => e.which === Key.Escape))\n .subscribe(event => {\n if (this.keyboard) {\n requestAnimationFrame(() => {\n if (!event.defaultPrevented) {\n this._zone.run(() => this.dismiss(ModalDismissReasons.ESC));\n }\n });\n } else if (this.backdrop === 'static') {\n this._bumpBackdrop();\n }\n });\n\n // We're listening to 'mousedown' and 'mouseup' to prevent modal from closing when pressing the mouse\n // inside the modal dialog and releasing it outside\n let preventClose = false;\n fromEvent(this._dialogEl.nativeElement, 'mousedown')\n .pipe(\n takeUntil(this._closed$), tap(() => preventClose = false),\n switchMap(() => fromEvent(nativeElement, 'mouseup').pipe(takeUntil(this._closed$), take(1))),\n filter(({target}) => nativeElement === target))\n .subscribe(() => { preventClose = true; });\n\n // We're listening to 'click' to dismiss modal on modal window click, except when:\n // 1. clicking on modal dialog itself\n // 2. closing was prevented by mousedown/up handlers\n // 3. clicking on scrollbar when the viewport is too small and modal doesn't fit (click is not triggered at all)\n fromEvent(nativeElement, 'click').pipe(takeUntil(this._closed$)).subscribe(({target}) => {\n if (nativeElement === target) {\n if (this.backdrop === 'static') {\n this._bumpBackdrop();\n } else if (this.backdrop === true && !preventClose) {\n this._zone.run(() => this.dismiss(ModalDismissReasons.BACKDROP_CLICK));\n }\n }\n\n preventClose = false;\n });\n });\n }\n\n private _disableEventHandling() { this._closed$.next(); }\n\n private _setFocus() {\n const {nativeElement} = this._elRef;\n if (!nativeElement.contains(document.activeElement)) {\n const autoFocusable = nativeElement.querySelector(`[ngbAutofocus]`) as HTMLElement;\n const firstFocusable = getFocusableBoundaryElements(nativeElement)[0];\n\n const elementToFocus = autoFocusable || firstFocusable || nativeElement;\n elementToFocus.focus();\n }\n }\n\n private _restoreFocus() {\n const body = this._document.body;\n const elWithFocus = this._elWithFocus;\n\n let elementToFocus;\n if (elWithFocus && elWithFocus['focus'] && body.contains(elWithFocus)) {\n elementToFocus = elWithFocus;\n } else {\n elementToFocus = body;\n }\n this._zone.runOutsideAngular(() => {\n setTimeout(() => elementToFocus.focus());\n this._elWithFocus = null;\n });\n }\n\n private _bumpBackdrop() {\n if (this.backdrop === 'static') {\n ngbRunTransition(this._elRef.nativeElement, ({classList}) => {\n classList.add('modal-static');\n return () => classList.remove('modal-static');\n }, {animation: this.animation, runningTransition: 'continue'});\n }\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EventEmitter,\n Inject,\n Injectable,\n Injector,\n NgZone,\n RendererFactory2,\n TemplateRef\n} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nimport {ngbFocusTrap} from '../util/focus-trap';\nimport {ContentRef} from '../util/popup';\nimport {ScrollBar} from '../util/scrollbar';\nimport {isDefined, isString} from '../util/util';\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalOptions} from './modal-config';\nimport {NgbActiveModal, NgbModalRef} from './modal-ref';\nimport {NgbModalWindow} from './modal-window';\n\n@Injectable({providedIn: 'root'})\nexport class NgbModalStack {\n private _activeWindowCmptHasChanged = new Subject();\n private _ariaHiddenValues: Map = new Map();\n private _backdropAttributes = ['animation', 'backdropClass'];\n private _modalRefs: NgbModalRef[] = [];\n private _windowAttributes = [\n 'animation', 'ariaLabelledBy', 'ariaDescribedBy', 'backdrop', 'centered', 'keyboard', 'scrollable', 'size',\n 'windowClass'\n ];\n private _windowCmpts: ComponentRef[] = [];\n private _activeInstances: EventEmitter = new EventEmitter();\n\n constructor(\n private _applicationRef: ApplicationRef, private _injector: Injector, @Inject(DOCUMENT) private _document: any,\n private _scrollBar: ScrollBar, private _rendererFactory: RendererFactory2, private _ngZone: NgZone) {\n // Trap focus on active WindowCmpt\n this._activeWindowCmptHasChanged.subscribe(() => {\n if (this._windowCmpts.length) {\n const activeWindowCmpt = this._windowCmpts[this._windowCmpts.length - 1];\n ngbFocusTrap(this._ngZone, activeWindowCmpt.location.nativeElement, this._activeWindowCmptHasChanged);\n this._revertAriaHidden();\n this._setAriaHidden(activeWindowCmpt.location.nativeElement);\n }\n });\n }\n\n open(moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, options): NgbModalRef {\n const containerEl = options.container instanceof HTMLElement ? options.container : isDefined(options.container) ?\n this._document.querySelector(options.container) :\n this._document.body;\n const renderer = this._rendererFactory.createRenderer(null, null);\n\n const revertPaddingForScrollBar = this._scrollBar.compensate();\n const removeBodyClass = () => {\n if (!this._modalRefs.length) {\n renderer.removeClass(this._document.body, 'modal-open');\n this._revertAriaHidden();\n }\n };\n\n if (!containerEl) {\n throw new Error(`The specified modal container \"${options.container || 'body'}\" was not found in the DOM.`);\n }\n\n const activeModal = new NgbActiveModal();\n const contentRef =\n this._getContentRef(moduleCFR, options.injector || contentInjector, content, activeModal, options);\n\n let backdropCmptRef: ComponentRef| undefined =\n options.backdrop !== false ? this._attachBackdrop(moduleCFR, containerEl) : undefined;\n let windowCmptRef: ComponentRef = this._attachWindowComponent(moduleCFR, containerEl, contentRef);\n let ngbModalRef: NgbModalRef = new NgbModalRef(windowCmptRef, contentRef, backdropCmptRef, options.beforeDismiss);\n\n this._registerModalRef(ngbModalRef);\n this._registerWindowCmpt(windowCmptRef);\n ngbModalRef.result.then(revertPaddingForScrollBar, revertPaddingForScrollBar);\n ngbModalRef.result.then(removeBodyClass, removeBodyClass);\n activeModal.close = (result: any) => { ngbModalRef.close(result); };\n activeModal.dismiss = (reason: any) => { ngbModalRef.dismiss(reason); };\n\n this._applyWindowOptions(windowCmptRef.instance, options);\n if (this._modalRefs.length === 1) {\n renderer.addClass(this._document.body, 'modal-open');\n }\n\n if (backdropCmptRef && backdropCmptRef.instance) {\n this._applyBackdropOptions(backdropCmptRef.instance, options);\n }\n return ngbModalRef;\n }\n\n get activeInstances() { return this._activeInstances; }\n\n dismissAll(reason?: any) { this._modalRefs.forEach(ngbModalRef => ngbModalRef.dismiss(reason)); }\n\n hasOpenModals(): boolean { return this._modalRefs.length > 0; }\n\n private _attachBackdrop(moduleCFR: ComponentFactoryResolver, containerEl: any): ComponentRef {\n let backdropFactory = moduleCFR.resolveComponentFactory(NgbModalBackdrop);\n let backdropCmptRef = backdropFactory.create(this._injector);\n this._applicationRef.attachView(backdropCmptRef.hostView);\n containerEl.appendChild(backdropCmptRef.location.nativeElement);\n return backdropCmptRef;\n }\n\n private _attachWindowComponent(moduleCFR: ComponentFactoryResolver, containerEl: any, contentRef: any):\n ComponentRef {\n let windowFactory = moduleCFR.resolveComponentFactory(NgbModalWindow);\n let windowCmptRef = windowFactory.create(this._injector, contentRef.nodes);\n this._applicationRef.attachView(windowCmptRef.hostView);\n containerEl.appendChild(windowCmptRef.location.nativeElement);\n return windowCmptRef;\n }\n\n private _applyWindowOptions(windowInstance: NgbModalWindow, options: Object): void {\n this._windowAttributes.forEach((optionName: string) => {\n if (isDefined(options[optionName])) {\n windowInstance[optionName] = options[optionName];\n }\n });\n }\n\n private _applyBackdropOptions(backdropInstance: NgbModalBackdrop, options: Object): void {\n this._backdropAttributes.forEach((optionName: string) => {\n if (isDefined(options[optionName])) {\n backdropInstance[optionName] = options[optionName];\n }\n });\n }\n\n private _getContentRef(\n moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, activeModal: NgbActiveModal,\n options: NgbModalOptions): ContentRef {\n if (!content) {\n return new ContentRef([]);\n } else if (content instanceof TemplateRef) {\n return this._createFromTemplateRef(content, activeModal);\n } else if (isString(content)) {\n return this._createFromString(content);\n } else {\n return this._createFromComponent(moduleCFR, contentInjector, content, activeModal, options);\n }\n }\n\n private _createFromTemplateRef(content: TemplateRef, activeModal: NgbActiveModal): ContentRef {\n const context = {\n $implicit: activeModal,\n close(result) { activeModal.close(result); },\n dismiss(reason) { activeModal.dismiss(reason); }\n };\n const viewRef = content.createEmbeddedView(context);\n this._applicationRef.attachView(viewRef);\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n private _createFromString(content: string): ContentRef {\n const component = this._document.createTextNode(`${content}`);\n return new ContentRef([[component]]);\n }\n\n private _createFromComponent(\n moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, context: NgbActiveModal,\n options: NgbModalOptions): ContentRef {\n const contentCmptFactory = moduleCFR.resolveComponentFactory(content);\n const modalContentInjector =\n Injector.create({providers: [{provide: NgbActiveModal, useValue: context}], parent: contentInjector});\n const componentRef = contentCmptFactory.create(modalContentInjector);\n const componentNativeEl = componentRef.location.nativeElement;\n if (options.scrollable) {\n (componentNativeEl as HTMLElement).classList.add('component-host-scrollable');\n }\n this._applicationRef.attachView(componentRef.hostView);\n // FIXME: we should here get rid of the component nativeElement\n // and use `[Array.from(componentNativeEl.childNodes)]` instead and remove the above CSS class.\n return new ContentRef([[componentNativeEl]], componentRef.hostView, componentRef);\n }\n\n private _setAriaHidden(element: Element) {\n const parent = element.parentElement;\n if (parent && element !== this._document.body) {\n Array.from(parent.children).forEach(sibling => {\n if (sibling !== element && sibling.nodeName !== 'SCRIPT') {\n this._ariaHiddenValues.set(sibling, sibling.getAttribute('aria-hidden'));\n sibling.setAttribute('aria-hidden', 'true');\n }\n });\n\n this._setAriaHidden(parent);\n }\n }\n\n private _revertAriaHidden() {\n this._ariaHiddenValues.forEach((value, element) => {\n if (value) {\n element.setAttribute('aria-hidden', value);\n } else {\n element.removeAttribute('aria-hidden');\n }\n });\n this._ariaHiddenValues.clear();\n }\n\n private _registerModalRef(ngbModalRef: NgbModalRef) {\n const unregisterModalRef = () => {\n const index = this._modalRefs.indexOf(ngbModalRef);\n if (index > -1) {\n this._modalRefs.splice(index, 1);\n this._activeInstances.emit(this._modalRefs);\n }\n };\n this._modalRefs.push(ngbModalRef);\n this._activeInstances.emit(this._modalRefs);\n ngbModalRef.result.then(unregisterModalRef, unregisterModalRef);\n }\n\n private _registerWindowCmpt(ngbWindowCmpt: ComponentRef) {\n this._windowCmpts.push(ngbWindowCmpt);\n this._activeWindowCmptHasChanged.next();\n\n ngbWindowCmpt.onDestroy(() => {\n const index = this._windowCmpts.indexOf(ngbWindowCmpt);\n if (index > -1) {\n this._windowCmpts.splice(index, 1);\n this._activeWindowCmptHasChanged.next();\n }\n });\n }\n}\n","import {Injectable, Injector, ComponentFactoryResolver} from '@angular/core';\n\nimport {NgbModalOptions, NgbModalConfig} from './modal-config';\nimport {NgbModalRef} from './modal-ref';\nimport {NgbModalStack} from './modal-stack';\n\n/**\n * A service for opening modal windows.\n *\n * Creating a modal is straightforward: create a component or a template and pass it as an argument to\n * the `.open()` method.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbModal {\n constructor(\n private _moduleCFR: ComponentFactoryResolver, private _injector: Injector, private _modalStack: NgbModalStack,\n private _config: NgbModalConfig) {}\n\n /**\n * Opens a new modal window with the specified content and supplied options.\n *\n * Content can be provided as a `TemplateRef` or a component type. If you pass a component type as content,\n * then instances of those components can be injected with an instance of the `NgbActiveModal` class. You can then\n * use `NgbActiveModal` methods to close / dismiss modals from \"inside\" of your component.\n *\n * Also see the [`NgbModalOptions`](#/components/modal/api#NgbModalOptions) for the list of supported options.\n */\n open(content: any, options: NgbModalOptions = {}): NgbModalRef {\n const combinedOptions = Object.assign({}, this._config, options);\n return this._modalStack.open(this._moduleCFR, this._injector, content, combinedOptions);\n }\n\n /**\n * Returns an observable that holds the active modal instances.\n */\n get activeInstances() { return this._modalStack.activeInstances; }\n\n /**\n * Dismisses all currently displayed modal windows with the supplied reason.\n *\n * @since 3.1.0\n */\n dismissAll(reason?: any) { this._modalStack.dismissAll(reason); }\n\n /**\n * Indicates if there are currently any open modal windows in the application.\n *\n * @since 3.3.0\n */\n hasOpenModals(): boolean { return this._modalStack.hasOpenModals(); }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbModal} from './modal';\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalWindow} from './modal-window';\n\nexport {NgbModal} from './modal';\nexport {NgbModalConfig, NgbModalOptions} from './modal-config';\nexport {NgbModalRef, NgbActiveModal} from './modal-ref';\nexport {ModalDismissReasons} from './modal-dismiss-reasons';\n\n@NgModule({\n declarations: [NgbModalBackdrop, NgbModalWindow],\n entryComponents: [NgbModalBackdrop, NgbModalWindow],\n providers: [NgbModal]\n})\nexport class NgbModalModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [`NgbNav`](#/components/nav/api#NgbNav) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the navs used in the application.\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbNavConfig {\n animation: boolean;\n destroyOnHide = true;\n orientation: 'horizontal' | 'vertical' = 'horizontal';\n roles: 'tablist' | false = 'tablist';\n keyboard: boolean | 'changeWithArrows' = false;\n\n constructor(ngbConfig: NgbConfig) { this.animation = ngbConfig.animation; }\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n Attribute,\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {Subject} from 'rxjs';\n\nimport {isDefined} from '../util/util';\nimport {NgbNavConfig} from './nav-config';\nimport {Key} from '../util/key';\n\nconst isValidNavId = (id: any) => isDefined(id) && id !== '';\n\nlet navCounter = 0;\n\n/**\n * Context passed to the nav content template.\n *\n * See [this demo](#/components/nav/examples#keep-content) as the example.\n *\n * @since 5.2.0\n */\nexport interface NgbNavContentContext {\n /**\n * If `true`, current nav content is visible and active\n */\n $implicit: boolean;\n}\n\n\n/**\n * This directive must be used to wrap content to be displayed in the nav.\n *\n * @since 5.2.0\n */\n@Directive({selector: 'ng-template[ngbNavContent]'})\nexport class NgbNavContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n\n/**\n * The directive used to group nav link and related nav content. As well as set nav identifier and some options.\n *\n * @since 5.2.0\n */\n@Directive({selector: '[ngbNavItem]', exportAs: 'ngbNavItem', host: {'[class.nav-item]': 'true'}})\nexport class NgbNavItem implements AfterContentChecked, OnInit {\n private _nav: NgbNav;\n\n /**\n * If `true`, non-active current nav item content will be removed from DOM\n * Otherwise it will just be hidden\n */\n @Input() destroyOnHide;\n\n /**\n * If `true`, the current nav item is disabled and can't be toggled by user.\n *\n * Nevertheless disabled nav can be selected programmatically via the `.select()` method and the `[activeId]` binding.\n */\n @Input() disabled = false;\n\n /**\n * The id used for the DOM elements.\n * Must be unique inside the document in case you have multiple `ngbNav`s on the page.\n *\n * Autogenerated as `ngb-nav-XXX` if not provided.\n */\n @Input() domId: string;\n\n /**\n * The id used as a model for active nav.\n * It can be anything, but must be unique inside one `ngbNav`.\n *\n * The only limitation is that it is not possible to have the `''` (empty string) as id,\n * because ` ngbNavItem `, `ngbNavItem=''` and `[ngbNavItem]=\"''\"` are indistinguishable\n */\n @Input('ngbNavItem') _id: any;\n\n /**\n * An event emitted when the fade in transition is finished on the related nav content\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the fade out transition is finished on the related nav content\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n contentTpl: NgbNavContent | null;\n\n @ContentChildren(NgbNavContent, {descendants: false}) contentTpls: QueryList;\n\n constructor(@Inject(forwardRef(() => NgbNav)) nav, public elementRef: ElementRef) {\n // TODO: cf https://github.com/angular/angular/issues/30106\n this._nav = nav;\n }\n\n ngAfterContentChecked() {\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\n // only @ContentChildren allows us to specify the {descendants: false} option.\n // Without {descendants: false} we are hitting bugs described in:\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\n this.contentTpl = this.contentTpls.first;\n }\n\n ngOnInit() {\n if (!isDefined(this.domId)) {\n this.domId = `ngb-nav-${navCounter++}`;\n }\n }\n\n get active() { return this._nav.activeId === this.id; }\n\n get id() { return isValidNavId(this._id) ? this._id : this.domId; }\n\n get panelDomId() { return `${this.domId}-panel`; }\n\n isPanelInDom() {\n return (isDefined(this.destroyOnHide) ? !this.destroyOnHide : !this._nav.destroyOnHide) || this.active;\n }\n}\n\n\n/**\n * A nav directive that helps with implementing tabbed navigation components.\n *\n * @since 5.2.0\n */\n@Directive({\n selector: '[ngbNav]',\n exportAs: 'ngbNav',\n host: {\n '[class.nav]': 'true',\n '[class.flex-column]': `orientation === 'vertical'`,\n '[attr.aria-orientation]': `orientation === 'vertical' && roles === 'tablist' ? 'vertical' : undefined`,\n '[attr.role]': `role ? role : roles ? 'tablist' : undefined`,\n '(keydown.arrowLeft)': 'onKeyDown($event)',\n '(keydown.arrowRight)': 'onKeyDown($event)',\n '(keydown.arrowDown)': 'onKeyDown($event)',\n '(keydown.arrowUp)': 'onKeyDown($event)',\n '(keydown.Home)': 'onKeyDown($event)',\n '(keydown.End)': 'onKeyDown($event)'\n }\n})\nexport class NgbNav implements AfterContentInit {\n static ngAcceptInputType_orientation: string;\n static ngAcceptInputType_roles: boolean | string;\n\n /**\n * The id of the nav that should be active\n *\n * You could also use the `.select()` method and the `(navChange)` event\n */\n @Input() activeId: any;\n\n /**\n * The event emitted after the active nav changes\n * The payload of the event is the newly active nav id\n *\n * If you want to prevent nav change, you should use `(navChange)` event\n */\n @Output() activeIdChange = new EventEmitter();\n\n /**\n * If `true`, nav change will be animated.\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * If `true`, non-active nav content will be removed from DOM\n * Otherwise it will just be hidden\n */\n @Input() destroyOnHide;\n\n /**\n * The orientation of navs.\n *\n * Using `vertical` will also add the `aria-orientation` attribute\n */\n @Input() orientation: 'horizontal' | 'vertical';\n\n /**\n * Role attribute generating strategy:\n * - `false` - no role attributes will be generated\n * - `'tablist'` - 'tablist', 'tab' and 'tabpanel' will be generated (default)\n */\n @Input() roles: 'tablist' | false;\n\n /**\n * Keyboard support for nav focus/selection using arrow keys.\n *\n * * `false` - no keyboard support.\n * * `true` - navs will be focused using keyboard arrow keys\n * * `'changeWithArrows'` - nav will be selected using keyboard arrow keys\n *\n * See the [list of available keyboard shortcuts](#/components/nav/overview#keyboard-shortcuts).\n *\n * @since 6.1.0\n */\n @Input() keyboard: boolean | 'changeWithArrows';\n\n /**\n * An event emitted when the fade in transition is finished for one of the items.\n *\n * Payload of the event is the nav id that was just shown.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the fade out transition is finished for one of the items.\n *\n * Payload of the event is the nav id that was just hidden.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n @ContentChildren(NgbNavItem) items: QueryList;\n @ContentChildren(forwardRef(() => NgbNavLink), {descendants: true}) links: QueryList;\n\n navItemChange$ = new Subject();\n\n constructor(\n @Attribute('role') public role: string, config: NgbNavConfig, private _cd: ChangeDetectorRef,\n @Inject(DOCUMENT) private _document: any) {\n this.animation = config.animation;\n this.destroyOnHide = config.destroyOnHide;\n this.orientation = config.orientation;\n this.roles = config.roles;\n this.keyboard = config.keyboard;\n }\n\n /**\n * The nav change event emitted right before the nav change happens on user click.\n *\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\n *\n * See [`NgbNavChangeEvent`](#/components/nav/api#NgbNavChangeEvent) for payload details.\n */\n @Output() navChange = new EventEmitter();\n\n click(item: NgbNavItem) {\n if (!item.disabled) {\n this._updateActiveId(item.id);\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (this.roles !== 'tablist' || !this.keyboard) {\n return;\n }\n // tslint:disable-next-line: deprecation\n const key = event.which;\n const enabledLinks = this.links.filter(link => !link.navItem.disabled);\n const {length} = enabledLinks;\n\n let position = -1;\n\n enabledLinks.forEach((link, index) => {\n if (link.elRef.nativeElement === this._document.activeElement) {\n position = index;\n }\n });\n\n if (length) {\n switch (key) {\n case Key.ArrowLeft:\n if (this.orientation === 'vertical') {\n return;\n }\n position = (position - 1 + length) % length;\n break;\n case Key.ArrowRight:\n if (this.orientation === 'vertical') {\n return;\n }\n position = (position + 1) % length;\n break;\n case Key.ArrowDown:\n if (this.orientation === 'horizontal') {\n return;\n }\n position = (position + 1) % length;\n break;\n case Key.ArrowUp:\n if (this.orientation === 'horizontal') {\n return;\n }\n position = (position - 1 + length) % length;\n break;\n case Key.Home:\n position = 0;\n break;\n case Key.End:\n position = length - 1;\n break;\n }\n if (this.keyboard === 'changeWithArrows') {\n this.select(enabledLinks[position].navItem.id);\n }\n enabledLinks[position].elRef.nativeElement.focus();\n\n event.preventDefault();\n }\n }\n\n /**\n * Selects the nav with the given id and shows its associated pane.\n * Any other nav that was previously selected becomes unselected and its associated pane is hidden.\n */\n select(id: any) { this._updateActiveId(id, false); }\n\n ngAfterContentInit() {\n if (!isDefined(this.activeId)) {\n const nextId = this.items.first ? this.items.first.id : null;\n if (isValidNavId(nextId)) {\n this._updateActiveId(nextId, false);\n this._cd.detectChanges();\n }\n }\n }\n\n ngOnChanges({activeId}: SimpleChanges): void {\n if (activeId && !activeId.firstChange) {\n this._notifyItemChanged(activeId.currentValue);\n }\n }\n\n private _updateActiveId(nextId: any, emitNavChange = true) {\n if (this.activeId !== nextId) {\n let defaultPrevented = false;\n\n if (emitNavChange) {\n this.navChange.emit({activeId: this.activeId, nextId, preventDefault: () => { defaultPrevented = true; }});\n }\n\n if (!defaultPrevented) {\n this.activeId = nextId;\n this.activeIdChange.emit(nextId);\n this._notifyItemChanged(nextId);\n }\n }\n }\n\n private _notifyItemChanged(nextItemId: any) { this.navItemChange$.next(this._getItemById(nextItemId)); }\n\n private _getItemById(itemId: any): NgbNavItem | null {\n return this.items && this.items.find(item => item.id === itemId) || null;\n }\n}\n\n\n/**\n * A directive to put on the nav link.\n *\n * @since 5.2.0\n */\n@Directive({\n selector: 'a[ngbNavLink]',\n host: {\n '[id]': 'navItem.domId',\n '[class.nav-link]': 'true',\n '[class.nav-item]': 'hasNavItemClass()',\n '[attr.role]': `role ? role : nav.roles ? 'tab' : undefined`,\n 'href': '',\n '[class.active]': 'navItem.active',\n '[class.disabled]': 'navItem.disabled',\n '[attr.tabindex]': 'navItem.disabled ? -1 : undefined',\n '[attr.aria-controls]': 'navItem.isPanelInDom() ? navItem.panelDomId : null',\n '[attr.aria-selected]': 'navItem.active',\n '[attr.aria-disabled]': 'navItem.disabled',\n '(click)': 'nav.click(navItem); $event.preventDefault()'\n }\n})\nexport class NgbNavLink {\n constructor(\n @Attribute('role') public role: string, public navItem: NgbNavItem, public nav: NgbNav,\n public elRef: ElementRef) {}\n\n hasNavItemClass() {\n // with alternative markup we have to add `.nav-item` class, because `ngbNavItem` is on the ng-container\n return this.navItem.elementRef.nativeElement.nodeType === Node.COMMENT_NODE;\n }\n}\n\n\n/**\n * The payload of the change event emitted right before the nav change happens on user click.\n *\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\n *\n * @since 5.2.0\n */\nexport interface NgbNavChangeEvent {\n /**\n * Id of the currently active nav.\n */\n activeId: T;\n\n /**\n * Id of the newly selected nav.\n */\n nextId: T;\n\n /**\n * Function that will prevent nav change if called.\n */\n preventDefault: () => void;\n}\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\nimport {reflow} from '../util/util';\n\nexport const ngbNavFadeOutTransition: NgbTransitionStartFn = ({classList}) => {\n classList.remove('show');\n return () => classList.remove('active');\n};\n\nexport const ngbNavFadeInTransition: NgbTransitionStartFn = (element: HTMLElement) => {\n element.classList.add('active');\n reflow(element);\n element.classList.add('show');\n};\n\nexport const ngbNavFadeInNoReflowTransition: NgbTransitionStartFn = (element: HTMLElement) => {\n element.classList.add('active');\n element.classList.add('show');\n};\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n Input,\n QueryList,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {distinctUntilChanged, skip, startWith} from 'rxjs/operators';\n\nimport {ngbNavFadeInNoReflowTransition, ngbNavFadeInTransition, ngbNavFadeOutTransition} from './nav-transition';\nimport {ngbRunTransition, NgbTransitionOptions} from '../util/transition/ngbTransition';\nimport {NgbNav, NgbNavItem} from './nav';\n\n@Directive({\n selector: '[ngbNavPane]',\n host: {\n '[id]': 'item.panelDomId',\n 'class': 'tab-pane',\n '[class.fade]': 'nav.animation',\n '[attr.role]': 'role ? role : nav.roles ? \"tabpanel\" : undefined',\n '[attr.aria-labelledby]': 'item.domId'\n }\n})\nexport class NgbNavPane {\n @Input() item: NgbNavItem;\n @Input() nav: NgbNav;\n @Input() role: string;\n\n constructor(public elRef: ElementRef) {}\n}\n\n/**\n * The outlet where currently active nav content will be displayed.\n *\n * @since 5.2.0\n */\n@Component({\n selector: '[ngbNavOutlet]',\n host: {'[class.tab-content]': 'true'},\n encapsulation: ViewEncapsulation.None,\n template: `\n \n
\n \n
\n
\n `\n})\nexport class NgbNavOutlet implements AfterViewInit {\n private _activePane: NgbNavPane | null = null;\n\n @ViewChildren(NgbNavPane) private _panes: QueryList;\n\n /**\n * A role to set on the nav pane\n */\n @Input() paneRole;\n\n /**\n * Reference to the `NgbNav`\n */\n @Input('ngbNavOutlet') nav: NgbNav;\n\n constructor(private _cd: ChangeDetectorRef) {}\n\n isPanelTransitioning(item: NgbNavItem) { return this._activePane ?.item === item; }\n\n ngAfterViewInit() {\n // initial display\n this._activePane = this._getActivePane();\n this._activePane ?.elRef.nativeElement.classList.add('show');\n this._activePane ?.elRef.nativeElement.classList.add('active');\n\n // this will be emitted for all 3 types of nav changes: .select(), [activeId] or (click)\n this.nav.navItemChange$\n .pipe(startWith(this._activePane ?.item || null), distinctUntilChanged(), skip(1))\n .subscribe(nextItem => {\n const options: NgbTransitionOptions = {animation: this.nav.animation, runningTransition: 'stop'};\n\n // fading out\n if (this._activePane) {\n ngbRunTransition(this._activePane.elRef.nativeElement, ngbNavFadeOutTransition, options).subscribe(() => {\n const activeItem = this._activePane ?.item;\n\n // next panel we're switching to will only appear in DOM after the change detection is done\n // and `this._panes` will be updated\n this._cd.detectChanges();\n\n this._activePane = this._getPaneForItem(nextItem);\n\n // fading in\n if (this._activePane) {\n const fadeInTransition = this.nav.animation ? ngbNavFadeInTransition : ngbNavFadeInNoReflowTransition;\n ngbRunTransition(this._activePane.elRef.nativeElement, fadeInTransition, options).subscribe(() => {\n if (nextItem) {\n nextItem.shown.emit();\n this.nav.shown.emit(nextItem.id);\n }\n });\n }\n\n if (activeItem) {\n activeItem.hidden.emit();\n this.nav.hidden.emit(activeItem.id);\n }\n });\n }\n });\n }\n\n private _getPaneForItem(item: NgbNavItem | null) {\n return this._panes && this._panes.find(pane => pane.item === item) || null;\n }\n\n private _getActivePane(): NgbNavPane | null {\n return this._panes && this._panes.find(pane => pane.item.active) || null;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbNav, NgbNavContent, NgbNavItem, NgbNavLink} from './nav';\nimport {NgbNavOutlet, NgbNavPane} from './nav-outlet';\n\nexport {NgbNav, NgbNavContent, NgbNavContentContext, NgbNavItem, NgbNavLink, NgbNavChangeEvent} from './nav';\nexport {NgbNavOutlet, NgbNavPane} from './nav-outlet';\nexport {NgbNavConfig} from './nav-config';\n\nconst NGB_NAV_DIRECTIVES = [NgbNavContent, NgbNav, NgbNavItem, NgbNavLink, NgbNavOutlet, NgbNavPane];\n\n@NgModule({declarations: NGB_NAV_DIRECTIVES, exports: NGB_NAV_DIRECTIVES, imports: [CommonModule]})\nexport class NgbNavModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbPagination`](#/components/pagination/api#NgbPagination) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the paginations used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbPaginationConfig {\n disabled = false;\n boundaryLinks = false;\n directionLinks = true;\n ellipses = true;\n maxSize = 0;\n pageSize = 10;\n rotate = false;\n size: 'sm' | 'lg';\n}\n","import {\n Component,\n ContentChild,\n Directive,\n EventEmitter,\n Input,\n Output,\n OnChanges,\n ChangeDetectionStrategy,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport {getValueInRange, isNumber} from '../util/util';\nimport {NgbPaginationConfig} from './pagination-config';\n\n/**\n * A context for the\n * * `NgbPaginationFirst`\n * * `NgbPaginationPrevious`\n * * `NgbPaginationNext`\n * * `NgbPaginationLast`\n * * `NgbPaginationEllipsis`\n *\n * link templates in case you want to override one.\n *\n * @since 4.1.0\n */\nexport interface NgbPaginationLinkContext {\n /**\n * The currently selected page number\n */\n currentPage: number;\n\n /**\n * If `true`, the current link is disabled\n */\n disabled: boolean;\n}\n\n/**\n * A context for the `NgbPaginationNumber` link template in case you want to override one.\n *\n * Extends `NgbPaginationLinkContext`.\n *\n * @since 4.1.0\n */\nexport interface NgbPaginationNumberContext extends NgbPaginationLinkContext {\n /**\n * The page number, displayed by the current page link.\n */\n $implicit: number;\n}\n\n/**\n * A directive to match the 'ellipsis' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationEllipsis]'})\nexport class NgbPaginationEllipsis {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'first' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationFirst]'})\nexport class NgbPaginationFirst {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'last' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationLast]'})\nexport class NgbPaginationLast {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'next' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationNext]'})\nexport class NgbPaginationNext {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the page 'number' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationNumber]'})\nexport class NgbPaginationNumber {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'previous' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationPrevious]'})\nexport class NgbPaginationPrevious {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A component that displays page numbers and allows to customize them in several ways.\n */\n@Component({\n selector: 'ngb-pagination',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'role': 'navigation'},\n template: `\n ««\n «\n »\n »»\n ...\n \n {{ page }}\n (current)\n \n \n `\n})\nexport class NgbPagination implements OnChanges {\n pageCount = 0;\n pages: number[] = [];\n\n @ContentChild(NgbPaginationEllipsis, {static: false}) tplEllipsis: NgbPaginationEllipsis;\n @ContentChild(NgbPaginationFirst, {static: false}) tplFirst: NgbPaginationFirst;\n @ContentChild(NgbPaginationLast, {static: false}) tplLast: NgbPaginationLast;\n @ContentChild(NgbPaginationNext, {static: false}) tplNext: NgbPaginationNext;\n @ContentChild(NgbPaginationNumber, {static: false}) tplNumber: NgbPaginationNumber;\n @ContentChild(NgbPaginationPrevious, {static: false}) tplPrevious: NgbPaginationPrevious;\n\n /**\n * If `true`, pagination links will be disabled.\n */\n @Input() disabled: boolean;\n\n /**\n * If `true`, the \"First\" and \"Last\" page links are shown.\n */\n @Input() boundaryLinks: boolean;\n\n /**\n * If `true`, the \"Next\" and \"Previous\" page links are shown.\n */\n @Input() directionLinks: boolean;\n\n /**\n * If `true`, the ellipsis symbols and first/last page numbers will be shown when `maxSize` > number of pages.\n */\n @Input() ellipses: boolean;\n\n /**\n * Whether to rotate pages when `maxSize` > number of pages.\n *\n * The current page always stays in the middle if `true`.\n */\n @Input() rotate: boolean;\n\n /**\n * The number of items in your paginated collection.\n *\n * Note, that this is not the number of pages. Page numbers are calculated dynamically based on\n * `collectionSize` and `pageSize`. Ex. if you have 100 items in your collection and displaying 20 items per page,\n * you'll end up with 5 pages.\n */\n @Input() collectionSize: number;\n\n /**\n * The maximum number of pages to display.\n */\n @Input() maxSize: number;\n\n /**\n * The current page.\n *\n * Page numbers start with `1`.\n */\n @Input() page = 1;\n\n /**\n * The number of items per page.\n */\n @Input() pageSize: number;\n\n /**\n * An event fired when the page is changed. Will fire only if collection size is set and all values are valid.\n *\n * Event payload is the number of the newly selected page.\n *\n * Page numbers start with `1`.\n */\n @Output() pageChange = new EventEmitter(true);\n\n /**\n * The pagination display size.\n *\n * Bootstrap currently supports small and large sizes.\n */\n @Input() size: 'sm' | 'lg';\n\n constructor(config: NgbPaginationConfig) {\n this.disabled = config.disabled;\n this.boundaryLinks = config.boundaryLinks;\n this.directionLinks = config.directionLinks;\n this.ellipses = config.ellipses;\n this.maxSize = config.maxSize;\n this.pageSize = config.pageSize;\n this.rotate = config.rotate;\n this.size = config.size;\n }\n\n hasPrevious(): boolean { return this.page > 1; }\n\n hasNext(): boolean { return this.page < this.pageCount; }\n\n nextDisabled(): boolean { return !this.hasNext() || this.disabled; }\n\n previousDisabled(): boolean { return !this.hasPrevious() || this.disabled; }\n\n selectPage(pageNumber: number): void { this._updatePages(pageNumber); }\n\n ngOnChanges(changes: SimpleChanges): void { this._updatePages(this.page); }\n\n isEllipsis(pageNumber): boolean { return pageNumber === -1; }\n\n /**\n * Appends ellipses and first/last page number to the displayed pages\n */\n private _applyEllipses(start: number, end: number) {\n if (this.ellipses) {\n if (start > 0) {\n // The first page will always be included. If the displayed range\n // starts after the third page, then add ellipsis. But if the range\n // starts on the third page, then add the second page instead of\n // an ellipsis, because the ellipsis would only hide a single page.\n if (start > 2) {\n this.pages.unshift(-1);\n } else if (start === 2) {\n this.pages.unshift(2);\n }\n this.pages.unshift(1);\n }\n if (end < this.pageCount) {\n // The last page will always be included. If the displayed range\n // ends before the third-last page, then add ellipsis. But if the range\n // ends on third-last page, then add the second-last page instead of\n // an ellipsis, because the ellipsis would only hide a single page.\n if (end < (this.pageCount - 2)) {\n this.pages.push(-1);\n } else if (end === (this.pageCount - 2)) {\n this.pages.push(this.pageCount - 1);\n }\n this.pages.push(this.pageCount);\n }\n }\n }\n\n /**\n * Rotates page numbers based on maxSize items visible.\n * Currently selected page stays in the middle:\n *\n * Ex. for selected page = 6:\n * [5,*6*,7] for maxSize = 3\n * [4,5,*6*,7] for maxSize = 4\n */\n private _applyRotation(): [number, number] {\n let start = 0;\n let end = this.pageCount;\n let leftOffset = Math.floor(this.maxSize / 2);\n let rightOffset = this.maxSize % 2 === 0 ? leftOffset - 1 : leftOffset;\n\n if (this.page <= leftOffset) {\n // very beginning, no rotation -> [0..maxSize]\n end = this.maxSize;\n } else if (this.pageCount - this.page < leftOffset) {\n // very end, no rotation -> [len-maxSize..len]\n start = this.pageCount - this.maxSize;\n } else {\n // rotate\n start = this.page - leftOffset - 1;\n end = this.page + rightOffset;\n }\n\n return [start, end];\n }\n\n /**\n * Paginates page numbers based on maxSize items per page.\n */\n private _applyPagination(): [number, number] {\n let page = Math.ceil(this.page / this.maxSize) - 1;\n let start = page * this.maxSize;\n let end = start + this.maxSize;\n\n return [start, end];\n }\n\n private _setPageInRange(newPageNo) {\n const prevPageNo = this.page;\n this.page = getValueInRange(newPageNo, this.pageCount, 1);\n\n if (this.page !== prevPageNo && isNumber(this.collectionSize)) {\n this.pageChange.emit(this.page);\n }\n }\n\n private _updatePages(newPage: number) {\n this.pageCount = Math.ceil(this.collectionSize / this.pageSize);\n\n if (!isNumber(this.pageCount)) {\n this.pageCount = 0;\n }\n\n // fill-in model needed to render pages\n this.pages.length = 0;\n for (let i = 1; i <= this.pageCount; i++) {\n this.pages.push(i);\n }\n\n // set page within 1..max range\n this._setPageInRange(newPage);\n\n // apply maxSize if necessary\n if (this.maxSize > 0 && this.pageCount > this.maxSize) {\n let start = 0;\n let end = this.pageCount;\n\n // either paginating or rotating page numbers\n if (this.rotate) {\n [start, end] = this._applyRotation();\n } else {\n [start, end] = this._applyPagination();\n }\n\n this.pages = this.pages.slice(start, end);\n\n // adding ellipses\n this._applyEllipses(start, end);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {\n NgbPagination,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination';\n\nexport {\n NgbPagination,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination';\nexport {NgbPaginationConfig} from './pagination-config';\n\nconst DIRECTIVES = [\n NgbPagination, NgbPaginationEllipsis, NgbPaginationFirst, NgbPaginationLast, NgbPaginationNext, NgbPaginationNumber,\n NgbPaginationPrevious\n];\n\n@NgModule({declarations: DIRECTIVES, exports: DIRECTIVES, imports: [CommonModule]})\nexport class NgbPaginationModule {\n}\n","import {Observable, merge} from 'rxjs';\nimport {share, filter, delay, map} from 'rxjs/operators';\nimport {Renderer2} from '@angular/core';\n\nexport class Trigger {\n constructor(public open: string, public close?: string) {\n if (!close) {\n this.close = open;\n }\n }\n\n isManual() { return this.open === 'manual' || this.close === 'manual'; }\n}\n\nconst DEFAULT_ALIASES = {\n 'hover': ['mouseenter', 'mouseleave'],\n 'focus': ['focusin', 'focusout'],\n};\n\nexport function parseTriggers(triggers: string, aliases = DEFAULT_ALIASES): Trigger[] {\n const trimmedTriggers = (triggers || '').trim();\n\n if (trimmedTriggers.length === 0) {\n return [];\n }\n\n const parsedTriggers = trimmedTriggers.split(/\\s+/).map(trigger => trigger.split(':')).map((triggerPair) => {\n let alias = aliases[triggerPair[0]] || triggerPair;\n return new Trigger(alias[0], alias[1]);\n });\n\n const manualTriggers = parsedTriggers.filter(triggerPair => triggerPair.isManual());\n\n if (manualTriggers.length > 1) {\n throw 'Triggers parse error: only one manual trigger is allowed';\n }\n\n if (manualTriggers.length === 1 && parsedTriggers.length > 1) {\n throw 'Triggers parse error: manual trigger can\\'t be mixed with other triggers';\n }\n\n return parsedTriggers;\n}\n\nexport function observeTriggers(\n renderer: Renderer2, nativeElement: HTMLElement, triggers: Trigger[], isOpenedFn: () => boolean) {\n return new Observable(subscriber => {\n const listeners: Function[] = [];\n const openFn = () => subscriber.next(true);\n const closeFn = () => subscriber.next(false);\n const toggleFn = () => subscriber.next(!isOpenedFn());\n\n triggers.forEach((trigger: Trigger) => {\n if (trigger.open === trigger.close) {\n listeners.push(renderer.listen(nativeElement, trigger.open, toggleFn));\n } else {\n listeners.push(\n renderer.listen(nativeElement, trigger.open, openFn),\n renderer.listen(nativeElement, trigger.close !, closeFn));\n }\n });\n\n return () => { listeners.forEach(unsubscribeFn => unsubscribeFn()); };\n });\n}\n\nconst delayOrNoop = (time: number) => time > 0 ? delay(time) : (a: Observable) => a;\n\nexport function triggerDelay(openDelay: number, closeDelay: number, isOpenedFn: () => boolean) {\n return (input$: Observable) => {\n let pending: {open: boolean} | null = null;\n const filteredInput$ = input$.pipe(\n map(open => ({open})), filter(event => {\n const currentlyOpen = isOpenedFn();\n if (currentlyOpen !== event.open && (!pending || pending.open === currentlyOpen)) {\n pending = event;\n return true;\n }\n if (pending && pending.open !== event.open) {\n pending = null;\n }\n return false;\n }),\n share());\n const delayedOpen$ = filteredInput$.pipe(filter(event => event.open), delayOrNoop(openDelay));\n const delayedClose$ = filteredInput$.pipe(filter(event => !event.open), delayOrNoop(closeDelay));\n return merge(delayedOpen$, delayedClose$)\n .pipe(\n filter(event => {\n if (event === pending) {\n pending = null;\n return event.open !== isOpenedFn();\n }\n return false;\n }),\n map(event => event.open));\n };\n}\n\nexport function listenToTriggers(\n renderer: Renderer2, nativeElement: HTMLElement, triggers: string, isOpenedFn: () => boolean, openFn: Function,\n closeFn: Function, openDelay = 0, closeDelay = 0) {\n const parsedTriggers = parseTriggers(triggers);\n\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return () => {};\n }\n\n const subscription = observeTriggers(renderer, nativeElement, parsedTriggers, isOpenedFn)\n .pipe(triggerDelay(openDelay, closeDelay, isOpenedFn))\n .subscribe(open => (open ? openFn() : closeFn()));\n\n return () => subscription.unsubscribe();\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [`NgbPopover`](#/components/popover/api#NgbPopover) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the popovers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbPopoverConfig {\n animation: boolean;\n autoClose: boolean | 'inside' | 'outside' = true;\n placement: PlacementArray = 'auto';\n triggers = 'click';\n container: string;\n disablePopover = false;\n popoverClass: string;\n openDelay = 0;\n closeDelay = 0;\n\n constructor(ngbConfig: NgbConfig) { this.animation = ngbConfig.animation; }\n}\n","import {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n OnChanges,\n Inject,\n Injector,\n Renderer2,\n ComponentRef,\n ElementRef,\n TemplateRef,\n ViewContainerRef,\n ComponentFactoryResolver,\n NgZone,\n SimpleChanges,\n ViewEncapsulation,\n ChangeDetectorRef,\n ApplicationRef\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {listenToTriggers} from '../util/triggers';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {positionElements, PlacementArray} from '../util/positioning';\nimport {PopupService} from '../util/popup';\n\nimport {NgbPopoverConfig} from './popover-config';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngb-popover-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '\"popover\" + (popoverClass ? \" \" + popoverClass : \"\")',\n '[class.fade]': 'animation',\n 'role': 'tooltip',\n '[id]': 'id'\n },\n template: `\n
\n

\n {{title}}\n \n

\n
`,\n styleUrls: ['./popover.scss']\n})\nexport class NgbPopoverWindow {\n @Input() animation: boolean;\n @Input() title: string | TemplateRef| null | undefined;\n @Input() id: string;\n @Input() popoverClass: string;\n @Input() context: any;\n\n isTitleTemplate() { return this.title instanceof TemplateRef; }\n}\n\n/**\n * A lightweight and extensible directive for fancy popover creation.\n */\n@Directive({selector: '[ngbPopover]', exportAs: 'ngbPopover'})\nexport class NgbPopover implements OnInit, OnDestroy, OnChanges {\n static ngAcceptInputType_autoClose: boolean | string;\n\n /**\n * If `true`, popover opening and closing will be animated.\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * Indicates whether the popover should be closed on `Escape` key and inside/outside clicks:\n *\n * * `true` - closes on both outside and inside clicks as well as `Escape` presses\n * * `false` - disables the autoClose feature (NB: triggers still apply)\n * * `\"inside\"` - closes on inside clicks as well as Escape presses\n * * `\"outside\"` - closes on outside clicks (sometimes also achievable through triggers)\n * as well as `Escape` presses\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The string content or a `TemplateRef` for the content to be displayed in the popover.\n *\n * If the title and the content are falsy, the popover won't open.\n */\n @Input() ngbPopover: string | TemplateRef| null | undefined;\n\n /**\n * The title of the popover.\n *\n * If the title and the content are falsy, the popover won't open.\n */\n @Input() popoverTitle: string | TemplateRef| null | undefined;\n\n /**\n * The preferred placement of the popover.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"auto\"` (same as the sequence above).\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * Specifies events that should trigger the tooltip.\n *\n * Supports a space separated list of event names.\n * For more details see the [triggers demo](#/components/popover/examples#triggers).\n */\n @Input() triggers: string;\n\n /**\n * A selector specifying the element the popover should be appended to.\n *\n * Currently only supports `body`.\n */\n @Input() container: string;\n\n /**\n * If `true`, popover is disabled and won't be displayed.\n *\n * @since 1.1.0\n */\n @Input() disablePopover: boolean;\n\n /**\n * An optional class applied to the popover window element.\n *\n * @since 2.2.0\n */\n @Input() popoverClass: string;\n\n /**\n * The opening delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() openDelay: number;\n\n /**\n * The closing delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() closeDelay: number;\n\n /**\n * An event emitted when the popover opening animation has finished. Contains no payload.\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the popover closing animation has finished. Contains no payload.\n *\n * At this point popover is not in the DOM anymore.\n */\n @Output() hidden = new EventEmitter();\n\n private _ngbPopoverWindowId = `ngb-popover-${nextId++}`;\n private _popupService: PopupService;\n private _windowRef: ComponentRef| null = null;\n private _unregisterListenersFn;\n private _zoneSubscription: any;\n private _isDisabled(): boolean {\n if (this.disablePopover) {\n return true;\n }\n if (!this.ngbPopover && !this.popoverTitle) {\n return true;\n }\n return false;\n }\n\n constructor(\n private _elementRef: ElementRef, private _renderer: Renderer2, injector: Injector,\n componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: NgbPopoverConfig,\n private _ngZone: NgZone, @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n applicationRef: ApplicationRef) {\n this.animation = config.animation;\n this.autoClose = config.autoClose;\n this.placement = config.placement;\n this.triggers = config.triggers;\n this.container = config.container;\n this.disablePopover = config.disablePopover;\n this.popoverClass = config.popoverClass;\n this.openDelay = config.openDelay;\n this.closeDelay = config.closeDelay;\n this._popupService = new PopupService(\n NgbPopoverWindow, injector, viewContainerRef, _renderer, this._ngZone, componentFactoryResolver,\n applicationRef);\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\n if (this._windowRef) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\n this.container === 'body', 'bs-popover');\n }\n });\n }\n\n /**\n * Opens the popover.\n *\n * This is considered to be a \"manual\" triggering.\n * The `context` is an optional value to be injected into the popover template when it is created.\n */\n open(context?: any) {\n if (!this._windowRef && !this._isDisabled()) {\n // this type assertion is safe because otherwise _isDisabled would return true\n const {windowRef, transition$} =\n this._popupService.open(this.ngbPopover as(string | TemplateRef), context, this.animation);\n this._windowRef = windowRef;\n this._windowRef.instance.animation = this.animation;\n this._windowRef.instance.title = this.popoverTitle;\n this._windowRef.instance.context = context;\n this._windowRef.instance.popoverClass = this.popoverClass;\n this._windowRef.instance.id = this._ngbPopoverWindowId;\n\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbPopoverWindowId);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n // We need to detect changes, because we don't know where .open() might be called from.\n // Ex. opening popover from one of lifecycle hooks that run after the CD\n // (say from ngAfterViewInit) will result in 'ExpressionHasChanged' exception\n this._windowRef.changeDetectorRef.detectChanges();\n\n // We need to mark for check, because popover won't work inside the OnPush component.\n // Ex. when we use expression like `{{ popover.isOpen() : 'opened' : 'closed' }}`\n // inside the template of an OnPush component and we change the popover from\n // open -> closed, the expression in question won't be updated unless we explicitly\n // mark the parent component to be checked.\n this._windowRef.changeDetectorRef.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden,\n [this._windowRef.location.nativeElement]);\n\n transition$.subscribe(() => this.shown.emit());\n }\n }\n\n /**\n * Closes the popover.\n *\n * This is considered to be a \"manual\" triggering of the popover.\n */\n close() {\n if (this._windowRef) {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n this._popupService.close(this.animation).subscribe(() => {\n this._windowRef = null;\n this.hidden.emit();\n this._changeDetector.markForCheck();\n });\n }\n }\n\n /**\n * Toggles the popover.\n *\n * This is considered to be a \"manual\" triggering of the popover.\n */\n toggle(): void {\n if (this._windowRef) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Returns `true`, if the popover is currently shown.\n */\n isOpen(): boolean { return this._windowRef != null; }\n\n ngOnInit() {\n this._unregisterListenersFn = listenToTriggers(\n this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this),\n this.close.bind(this), +this.openDelay, +this.closeDelay);\n }\n\n ngOnChanges({ngbPopover, popoverTitle, disablePopover, popoverClass}: SimpleChanges) {\n if (popoverClass && this.isOpen()) {\n this._windowRef !.instance.popoverClass = popoverClass.currentValue;\n }\n // close popover if title and content become empty, or disablePopover set to true\n if ((ngbPopover || popoverTitle || disablePopover) && this._isDisabled()) {\n this.close();\n }\n }\n\n ngOnDestroy() {\n this.close();\n // This check is needed as it might happen that ngOnDestroy is called before ngOnInit\n // under certain conditions, see: https://github.com/ng-bootstrap/ng-bootstrap/issues/2199\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n this._zoneSubscription.unsubscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbPopover, NgbPopoverWindow} from './popover';\nimport {CommonModule} from '@angular/common';\n\nexport {NgbPopover} from './popover';\nexport {NgbPopoverConfig} from './popover-config';\nexport {Placement} from '../util/positioning';\n\n@NgModule({\n declarations: [NgbPopover, NgbPopoverWindow],\n exports: [NgbPopover],\n imports: [CommonModule],\n entryComponents: [NgbPopoverWindow]\n})\nexport class NgbPopoverModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbProgressbar`](#/components/progressbar/api#NgbProgressbar) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the progress bars used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbProgressbarConfig {\n max = 100;\n animated = false;\n striped = false;\n textType: string;\n type: string;\n showValue = false;\n height: string;\n}\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation, HostBinding} from '@angular/core';\nimport {getValueInRange, isNumber} from '../util/util';\nimport {NgbProgressbarConfig} from './progressbar-config';\n\n/**\n * A directive that provides feedback on the progress of a workflow or an action.\n */\n@Component({\n selector: 'ngb-progressbar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {class: 'progress'},\n template: `\n
\n {{getValue() / max | percent}}\n
\n `\n})\nexport class NgbProgressbar {\n private _max: number;\n\n /**\n * The maximal value to be displayed in the progress bar.\n *\n * Should be a positive number. Will default to 100 otherwise.\n */\n @Input()\n set max(max: number) {\n this._max = !isNumber(max) || max <= 0 ? 100 : max;\n }\n\n get max(): number { return this._max; }\n\n /**\n * If `true`, the stripes on the progress bar are animated.\n *\n * Takes effect only for browsers supporting CSS3 animations, and if `striped` is `true`.\n */\n @Input() animated: boolean;\n\n /**\n * If `true`, the progress bars will be displayed as striped.\n */\n @Input() striped: boolean;\n\n /**\n * If `true`, the current percentage will be shown in the `xx%` format.\n */\n @Input() showValue: boolean;\n\n /**\n * Optional text variant type of the progress bar.\n *\n * Supports types based on Bootstrap background color variants, like:\n * `\"success\"`, `\"info\"`, `\"warning\"`, `\"danger\"`, `\"primary\"`, `\"secondary\"`, `\"dark\"` and so on.\n *\n * @since 5.2.0\n */\n @Input() textType: string;\n\n /**\n * The type of the progress bar.\n *\n * Supports types based on Bootstrap background color variants, like:\n * `\"success\"`, `\"info\"`, `\"warning\"`, `\"danger\"`, `\"primary\"`, `\"secondary\"`, `\"dark\"` and so on.\n */\n @Input() type: string;\n\n /**\n * The current value for the progress bar.\n *\n * Should be in the `[0, max]` range.\n */\n @Input() value = 0;\n\n /**\n * The height of the progress bar.\n *\n * Accepts any valid CSS height values, ex. `\"2rem\"`\n */\n @Input() @HostBinding('style.height') height: string;\n\n constructor(config: NgbProgressbarConfig) {\n this.max = config.max;\n this.animated = config.animated;\n this.striped = config.striped;\n this.textType = config.textType;\n this.type = config.type;\n this.showValue = config.showValue;\n this.height = config.height;\n }\n\n getValue() { return getValueInRange(this.value, this.max); }\n\n getPercentValue() { return 100 * this.getValue() / this.max; }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbProgressbar} from './progressbar';\n\nexport {NgbProgressbar} from './progressbar';\nexport {NgbProgressbarConfig} from './progressbar-config';\n\n@NgModule({declarations: [NgbProgressbar], exports: [NgbProgressbar], imports: [CommonModule]})\nexport class NgbProgressbarModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbRating`](#/components/rating/api#NgbRating) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the ratings used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbRatingConfig {\n max = 10;\n readonly = false;\n resettable = false;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {NgbRatingConfig} from './rating-config';\nimport {getValueInRange} from '../util/util';\nimport {Key} from '../util/key';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n/**\n * The context for the custom star display template defined in the `starTemplate`.\n */\nexport interface StarTemplateContext {\n /**\n * The star fill percentage, an integer in the `[0, 100]` range.\n */\n fill: number;\n\n /**\n * Index of the star, starts with `0`.\n */\n index: number;\n}\n\nconst NGB_RATING_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbRating),\n multi: true\n};\n\n/**\n * A directive that helps visualising and interacting with a star rating bar.\n */\n@Component({\n selector: 'ngb-rating',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'd-inline-flex',\n '[tabindex]': 'disabled ? -1 : 0',\n 'role': 'slider',\n 'aria-valuemin': '0',\n '[attr.aria-valuemax]': 'max',\n '[attr.aria-valuenow]': 'nextRate',\n '[attr.aria-valuetext]': 'ariaValueText()',\n '[attr.aria-disabled]': 'readonly ? true : null',\n '(blur)': 'handleBlur()',\n '(keydown)': 'handleKeyDown($event)',\n '(mouseleave)': 'reset()'\n },\n template: `\n {{ fill === 100 ? '★' : '☆' }}\n \n ({{ index < nextRate ? '*' : ' ' }})\n \n \n \n \n \n `,\n providers: [NGB_RATING_VALUE_ACCESSOR]\n})\nexport class NgbRating implements ControlValueAccessor,\n OnInit, OnChanges {\n contexts: StarTemplateContext[] = [];\n disabled = false;\n nextRate: number;\n\n\n /**\n * The maximal rating that can be given.\n */\n @Input() max: number;\n\n /**\n * The current rating. Could be a decimal value like `3.75`.\n */\n @Input() rate: number;\n\n /**\n * If `true`, the rating can't be changed.\n */\n @Input() readonly: boolean;\n\n /**\n * If `true`, the rating can be reset to `0` by mouse clicking currently set rating.\n */\n @Input() resettable: boolean;\n\n /**\n * The template to override the way each star is displayed.\n *\n * Alternatively put an `` as the only child of your `` element\n */\n @Input() starTemplate: TemplateRef;\n @ContentChild(TemplateRef, {static: false}) starTemplateFromContent: TemplateRef;\n\n /**\n * An event emitted when the user is hovering over a given rating.\n *\n * Event payload equals to the rating being hovered over.\n */\n @Output() hover = new EventEmitter();\n\n /**\n * An event emitted when the user stops hovering over a given rating.\n *\n * Event payload equals to the rating of the last item being hovered over.\n */\n @Output() leave = new EventEmitter();\n\n /**\n * An event emitted when the user selects a new rating.\n *\n * Event payload equals to the newly selected rating.\n */\n @Output() rateChange = new EventEmitter(true);\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n constructor(config: NgbRatingConfig, private _changeDetectorRef: ChangeDetectorRef) {\n this.max = config.max;\n this.readonly = config.readonly;\n }\n\n ariaValueText() { return `${this.nextRate} out of ${this.max}`; }\n\n isInteractive(): boolean { return !this.readonly && !this.disabled; }\n\n enter(value: number): void {\n if (this.isInteractive()) {\n this._updateState(value);\n }\n this.hover.emit(value);\n }\n\n handleBlur() { this.onTouched(); }\n\n handleClick(value: number) {\n if (this.isInteractive()) {\n this.update(this.resettable && this.rate === value ? 0 : value);\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.ArrowDown:\n case Key.ArrowLeft:\n this.update(this.rate - 1);\n break;\n case Key.ArrowUp:\n case Key.ArrowRight:\n this.update(this.rate + 1);\n break;\n case Key.Home:\n this.update(0);\n break;\n case Key.End:\n this.update(this.max);\n break;\n default:\n return;\n }\n\n // note 'return' in default case\n event.preventDefault();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['rate']) {\n this.update(this.rate);\n }\n }\n\n ngOnInit(): void {\n this.contexts = Array.from({length: this.max}, (v, k) => ({fill: 0, index: k}));\n this._updateState(this.rate);\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n reset(): void {\n this.leave.emit(this.nextRate);\n this._updateState(this.rate);\n }\n\n setDisabledState(isDisabled: boolean) { this.disabled = isDisabled; }\n\n update(value: number, internalChange = true): void {\n const newRate = getValueInRange(value, this.max, 0);\n if (this.isInteractive() && this.rate !== newRate) {\n this.rate = newRate;\n this.rateChange.emit(this.rate);\n }\n if (internalChange) {\n this.onChange(this.rate);\n this.onTouched();\n }\n this._updateState(this.rate);\n }\n\n writeValue(value) {\n this.update(value, false);\n this._changeDetectorRef.markForCheck();\n }\n\n private _updateState(nextValue: number) {\n this.nextRate = nextValue;\n this.contexts.forEach(\n (context, index) => context.fill = Math.round(getValueInRange(nextValue - index, 1, 0) * 100));\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbRating} from './rating';\n\nexport {NgbRating} from './rating';\nexport {NgbRatingConfig} from './rating-config';\n\n@NgModule({declarations: [NgbRating], exports: [NgbRating], imports: [CommonModule]})\nexport class NgbRatingModule {\n}\n","import {isNumber, toInteger} from '../util/util';\n\nexport class NgbTime {\n hour: number;\n minute: number;\n second: number;\n\n constructor(hour?: number, minute?: number, second?: number) {\n this.hour = toInteger(hour);\n this.minute = toInteger(minute);\n this.second = toInteger(second);\n }\n\n changeHour(step = 1) { this.updateHour((isNaN(this.hour) ? 0 : this.hour) + step); }\n\n updateHour(hour: number) {\n if (isNumber(hour)) {\n this.hour = (hour < 0 ? 24 + hour : hour) % 24;\n } else {\n this.hour = NaN;\n }\n }\n\n changeMinute(step = 1) { this.updateMinute((isNaN(this.minute) ? 0 : this.minute) + step); }\n\n updateMinute(minute: number) {\n if (isNumber(minute)) {\n this.minute = minute % 60 < 0 ? 60 + minute % 60 : minute % 60;\n this.changeHour(Math.floor(minute / 60));\n } else {\n this.minute = NaN;\n }\n }\n\n changeSecond(step = 1) { this.updateSecond((isNaN(this.second) ? 0 : this.second) + step); }\n\n updateSecond(second: number) {\n if (isNumber(second)) {\n this.second = second < 0 ? 60 + second % 60 : second % 60;\n this.changeMinute(Math.floor(second / 60));\n } else {\n this.second = NaN;\n }\n }\n\n isValid(checkSecs = true) {\n return isNumber(this.hour) && isNumber(this.minute) && (checkSecs ? isNumber(this.second) : true);\n }\n\n toString() { return `${this.hour || 0}:${this.minute || 0}:${this.second || 0}`; }\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbTimepicker`](#/components/timepicker/api#NgbTimepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the timepickers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTimepickerConfig {\n meridian = false;\n spinners = true;\n seconds = false;\n hourStep = 1;\n minuteStep = 1;\n secondStep = 1;\n disabled = false;\n readonlyInputs = false;\n size: 'small' | 'medium' | 'large' = 'medium';\n}\n","import {Injectable} from '@angular/core';\nimport {NgbTimeStruct} from './ngb-time-struct';\nimport {isInteger} from '../util/util';\n\nexport function NGB_DATEPICKER_TIME_ADAPTER_FACTORY() {\n return new NgbTimeStructAdapter();\n}\n\n/**\n * An abstract service that does the conversion between the internal timepicker `NgbTimeStruct` model and\n * any provided user time model `T`, ex. a string, a native date, etc.\n *\n * The adapter is used **only** for conversion when binding timepicker to a form control,\n * ex. `[(ngModel)]=\"userTimeModel\"`. Here `userTimeModel` can be of any type.\n *\n * The default timepicker implementation assumes we use `NgbTimeStruct` as a user model.\n *\n * See the [custom time adapter demo](#/components/timepicker/examples#adapter) for an example.\n *\n * @since 2.2.0\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_TIME_ADAPTER_FACTORY})\nexport abstract class NgbTimeAdapter {\n /**\n * Converts a user-model time of type `T` to an `NgbTimeStruct` for internal use.\n */\n abstract fromModel(value: T | null): NgbTimeStruct | null;\n\n /**\n * Converts an internal `NgbTimeStruct` time to a user-model time of type `T`.\n */\n abstract toModel(time: NgbTimeStruct | null): T | null;\n}\n\n@Injectable()\nexport class NgbTimeStructAdapter extends NgbTimeAdapter {\n /**\n * Converts a NgbTimeStruct value into NgbTimeStruct value\n */\n fromModel(time: NgbTimeStruct | null): NgbTimeStruct | null {\n return (time && isInteger(time.hour) && isInteger(time.minute)) ?\n {hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null} :\n null;\n }\n\n /**\n * Converts a NgbTimeStruct value into NgbTimeStruct value\n */\n toModel(time: NgbTimeStruct | null): NgbTimeStruct | null {\n return (time && isInteger(time.hour) && isInteger(time.minute)) ?\n {hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null} :\n null;\n }\n}\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {FormStyle, getLocaleDayPeriods, TranslationWidth} from '@angular/common';\n\nexport function NGB_TIMEPICKER_I18N_FACTORY(locale) {\n return new NgbTimepickerI18nDefault(locale);\n}\n\n/**\n * Type of the service supplying day periods (for example, 'AM' and 'PM') to NgbTimepicker component.\n * The default implementation of this service honors the Angular locale, and uses the registered locale data,\n * as explained in the Angular i18n guide.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_TIMEPICKER_I18N_FACTORY, deps: [LOCALE_ID]})\nexport abstract class NgbTimepickerI18n {\n /**\n * Returns the name for the period before midday.\n */\n abstract getMorningPeriod(): string;\n\n /**\n * Returns the name for the period after midday.\n */\n abstract getAfternoonPeriod(): string;\n}\n\n@Injectable()\nexport class NgbTimepickerI18nDefault extends NgbTimepickerI18n {\n private _periods: [string, string];\n\n constructor(@Inject(LOCALE_ID) locale: string) {\n super();\n\n this._periods = getLocaleDayPeriods(locale, FormStyle.Standalone, TranslationWidth.Narrow);\n }\n\n getMorningPeriod(): string { return this._periods[0]; }\n\n getAfternoonPeriod(): string { return this._periods[1]; }\n}\n","import {\n ChangeDetectorRef,\n Component,\n forwardRef,\n Input,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {isInteger, isNumber, padNumber, toInteger} from '../util/util';\nimport {NgbTime} from './ngb-time';\nimport {NgbTimepickerConfig} from './timepicker-config';\nimport {NgbTimeAdapter} from './ngb-time-adapter';\nimport {NgbTimepickerI18n} from './timepicker-i18n';\n\nconst FILTER_REGEX = /[^0-9]/g;\n\nconst NGB_TIMEPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbTimepicker),\n multi: true\n};\n\n/**\n * A directive that helps with wth picking hours, minutes and seconds.\n */\n@Component({\n selector: 'ngb-timepicker',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./timepicker.scss'],\n template: `\n
\n
\n
\n \n \n \n
\n
:
\n
\n \n \n \n
\n
:
\n
\n \n \n \n
\n
\n
\n \n
\n
\n
\n `,\n providers: [NGB_TIMEPICKER_VALUE_ACCESSOR]\n})\nexport class NgbTimepicker implements ControlValueAccessor,\n OnChanges {\n static ngAcceptInputType_size: string;\n\n disabled: boolean;\n model: NgbTime;\n\n private _hourStep: number;\n private _minuteStep: number;\n private _secondStep: number;\n\n /**\n * Whether to display 12H or 24H mode.\n */\n @Input() meridian: boolean;\n\n /**\n * If `true`, the spinners above and below inputs are visible.\n */\n @Input() spinners: boolean;\n\n /**\n * If `true`, it is possible to select seconds.\n */\n @Input() seconds: boolean;\n\n /**\n * The number of hours to add/subtract when clicking hour spinners.\n */\n @Input()\n set hourStep(step: number) {\n this._hourStep = isInteger(step) ? step : this._config.hourStep;\n }\n\n get hourStep(): number { return this._hourStep; }\n\n /**\n * The number of minutes to add/subtract when clicking minute spinners.\n */\n @Input()\n set minuteStep(step: number) {\n this._minuteStep = isInteger(step) ? step : this._config.minuteStep;\n }\n\n get minuteStep(): number { return this._minuteStep; }\n\n /**\n * The number of seconds to add/subtract when clicking second spinners.\n */\n @Input()\n set secondStep(step: number) {\n this._secondStep = isInteger(step) ? step : this._config.secondStep;\n }\n\n get secondStep(): number { return this._secondStep; }\n\n /**\n * If `true`, the timepicker is readonly and can't be changed.\n */\n @Input() readonlyInputs: boolean;\n\n /**\n * The size of inputs and buttons.\n */\n @Input() size: 'small' | 'medium' | 'large';\n\n constructor(\n private readonly _config: NgbTimepickerConfig, private _ngbTimeAdapter: NgbTimeAdapter,\n private _cd: ChangeDetectorRef, public i18n: NgbTimepickerI18n) {\n this.meridian = _config.meridian;\n this.spinners = _config.spinners;\n this.seconds = _config.seconds;\n this.hourStep = _config.hourStep;\n this.minuteStep = _config.minuteStep;\n this.secondStep = _config.secondStep;\n this.disabled = _config.disabled;\n this.readonlyInputs = _config.readonlyInputs;\n this.size = _config.size;\n }\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n writeValue(value) {\n const structValue = this._ngbTimeAdapter.fromModel(value);\n this.model = structValue ? new NgbTime(structValue.hour, structValue.minute, structValue.second) : new NgbTime();\n if (!this.seconds && (!structValue || !isNumber(structValue.second))) {\n this.model.second = 0;\n }\n this._cd.markForCheck();\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean) { this.disabled = isDisabled; }\n\n changeHour(step: number) {\n this.model.changeHour(step);\n this.propagateModelChange();\n }\n\n changeMinute(step: number) {\n this.model.changeMinute(step);\n this.propagateModelChange();\n }\n\n changeSecond(step: number) {\n this.model.changeSecond(step);\n this.propagateModelChange();\n }\n\n updateHour(newVal: string) {\n const isPM = this.model.hour >= 12;\n const enteredHour = toInteger(newVal);\n if (this.meridian && (isPM && enteredHour < 12 || !isPM && enteredHour === 12)) {\n this.model.updateHour(enteredHour + 12);\n } else {\n this.model.updateHour(enteredHour);\n }\n this.propagateModelChange();\n }\n\n updateMinute(newVal: string) {\n this.model.updateMinute(toInteger(newVal));\n this.propagateModelChange();\n }\n\n updateSecond(newVal: string) {\n this.model.updateSecond(toInteger(newVal));\n this.propagateModelChange();\n }\n\n toggleMeridian() {\n if (this.meridian) {\n this.changeHour(12);\n }\n }\n\n formatInput(input: HTMLInputElement) { input.value = input.value.replace(FILTER_REGEX, ''); }\n\n formatHour(value?: number) {\n if (isNumber(value)) {\n if (this.meridian) {\n return padNumber(value % 12 === 0 ? 12 : value % 12);\n } else {\n return padNumber(value % 24);\n }\n } else {\n return padNumber(NaN);\n }\n }\n\n formatMinSec(value?: number) { return padNumber(isNumber(value) ? value : NaN); }\n\n get isSmallSize(): boolean { return this.size === 'small'; }\n\n get isLargeSize(): boolean { return this.size === 'large'; }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['seconds'] && !this.seconds && this.model && !isNumber(this.model.second)) {\n this.model.second = 0;\n this.propagateModelChange(false);\n }\n }\n\n private propagateModelChange(touched = true) {\n if (touched) {\n this.onTouched();\n }\n if (this.model.isValid(this.seconds)) {\n this.onChange(\n this._ngbTimeAdapter.toModel({hour: this.model.hour, minute: this.model.minute, second: this.model.second}));\n } else {\n this.onChange(this._ngbTimeAdapter.toModel(null));\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbTimepicker} from './timepicker';\n\nexport {NgbTimepicker} from './timepicker';\nexport {NgbTimepickerConfig} from './timepicker-config';\nexport {NgbTimeStruct} from './ngb-time-struct';\nexport {NgbTimeAdapter} from './ngb-time-adapter';\nexport {NgbTimepickerI18n} from './timepicker-i18n';\n\n@NgModule({declarations: [NgbTimepicker], exports: [NgbTimepicker], imports: [CommonModule]})\nexport class NgbTimepickerModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * Interface used to type all toast config options. See `NgbToastConfig`.\n *\n * @since 5.0.0\n */\nexport interface NgbToastOptions {\n /**\n * Specify if the toast component should emit the `hide()` output\n * after a certain `delay` in ms.\n */\n autohide?: boolean;\n\n /**\n * Delay in ms after which the `hide()` output should be emitted.\n */\n delay?: number;\n\n /**\n * Type of aria-live attribute to be used.\n *\n * Could be one of these 2 values (as string):\n * - `polite` (default)\n * - `alert`\n */\n ariaLive?: 'polite' | 'alert';\n}\n\n/**\n * Configuration service for the NgbToast component. You can inject this service, typically in your root component,\n * and customize the values of its properties in order to provide default values for all the toasts used in the\n * application.\n *\n * @since 5.0.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbToastConfig implements NgbToastOptions {\n animation: boolean;\n autohide = true;\n delay = 500;\n ariaLive: 'polite' | 'alert' = 'polite';\n\n constructor(ngbConfig: NgbConfig) { this.animation = ngbConfig.animation; }\n}\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\n\nexport const ngbToastFadeInTransition: NgbTransitionStartFn = ({classList}: HTMLElement) => {\n classList.remove('hide');\n classList.add('showing');\n\n return () => {\n classList.remove('showing');\n classList.add('show');\n };\n};\n\nexport const ngbToastFadeOutTransition: NgbTransitionStartFn = ({classList}: HTMLElement) => {\n classList.remove('show');\n return () => { classList.add('hide'); };\n};\n","import {\n AfterContentInit,\n Attribute,\n Component,\n ContentChild,\n Directive,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n ElementRef,\n NgZone,\n} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\nimport {NgbToastConfig} from './toast-config';\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {ngbToastFadeInTransition, ngbToastFadeOutTransition} from './toast-transition';\n\n\n/**\n * This directive allows the usage of HTML markup or other directives\n * inside of the toast's header.\n *\n * @since 5.0.0\n */\n@Directive({selector: '[ngbToastHeader]'})\nexport class NgbToastHeader {\n}\n\n/**\n * Toasts provide feedback messages as notifications to the user.\n * Goal is to mimic the push notifications available both on mobile and desktop operating systems.\n *\n * @since 5.0.0\n */\n@Component({\n selector: 'ngb-toast',\n exportAs: 'ngbToast',\n encapsulation: ViewEncapsulation.None,\n host: {\n 'role': 'alert',\n '[attr.aria-live]': 'ariaLive',\n 'aria-atomic': 'true',\n 'class': 'toast',\n '[class.fade]': 'animation',\n },\n template: `\n \n {{header}}\n \n \n
\n \n \n
\n
\n
\n \n
\n `,\n styleUrls: ['./toast.scss']\n})\nexport class NgbToast implements AfterContentInit,\n OnChanges {\n /**\n * If `true`, toast opening and closing will be animated.\n *\n * Animation is triggered only when the `.hide()` or `.show()` functions are called\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n private _timeoutID;\n\n /**\n * Delay after which the toast will hide (ms).\n * default: `500` (ms) (inherited from NgbToastConfig)\n */\n @Input() delay: number;\n\n /**\n * Auto hide the toast after a delay in ms.\n * default: `true` (inherited from NgbToastConfig)\n */\n @Input() autohide: boolean;\n\n /**\n * Text to be used as toast's header.\n * Ignored if a ContentChild template is specified at the same time.\n */\n @Input() header: string;\n\n /**\n * A template like `` can be\n * used in the projected content to allow markup usage.\n */\n @ContentChild(NgbToastHeader, {read: TemplateRef, static: true}) contentHeaderTpl: TemplateRef| null = null;\n\n /**\n * An event fired after the animation triggered by calling `.show()` method has finished.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event fired after the animation triggered by calling `.hide()` method has finished.\n *\n * It can only occur in 2 different scenarios:\n * - `autohide` timeout fires\n * - user clicks on a closing cross\n *\n * Additionally this output is purely informative. The toast won't be removed from DOM automatically, it's up\n * to the user to take care of that.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n constructor(\n @Attribute('aria-live') public ariaLive: string, config: NgbToastConfig, private _zone: NgZone,\n private _element: ElementRef) {\n if (this.ariaLive == null) {\n this.ariaLive = config.ariaLive;\n }\n this.delay = config.delay;\n this.autohide = config.autohide;\n this.animation = config.animation;\n }\n\n ngAfterContentInit() {\n this._zone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n this._init();\n this.show();\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if ('autohide' in changes) {\n this._clearTimeout();\n this._init();\n }\n }\n\n /**\n * Triggers toast closing programmatically.\n *\n * The returned observable will emit and be completed once the closing transition has finished.\n * If the animations are turned off this happens synchronously.\n *\n * Alternatively you could listen or subscribe to the `(hidden)` output\n *\n * @since 8.0.0\n */\n hide(): Observable {\n this._clearTimeout();\n const transition = ngbRunTransition(\n this._element.nativeElement, ngbToastFadeOutTransition, {animation: this.animation, runningTransition: 'stop'});\n transition.subscribe(() => { this.hidden.emit(); });\n return transition;\n }\n\n /**\n * Triggers toast opening programmatically.\n *\n * The returned observable will emit and be completed once the opening transition has finished.\n * If the animations are turned off this happens synchronously.\n *\n * Alternatively you could listen or subscribe to the `(shown)` output\n *\n * @since 8.0.0\n */\n show(): Observable {\n const transition = ngbRunTransition(this._element.nativeElement, ngbToastFadeInTransition, {\n animation: this.animation,\n runningTransition: 'continue',\n });\n transition.subscribe(() => { this.shown.emit(); });\n return transition;\n }\n\n private _init() {\n if (this.autohide && !this._timeoutID) {\n this._timeoutID = setTimeout(() => this.hide(), this.delay);\n }\n }\n\n private _clearTimeout() {\n if (this._timeoutID) {\n clearTimeout(this._timeoutID);\n this._timeoutID = null;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {NgbToast, NgbToastHeader} from './toast';\n\nexport {NgbToast, NgbToastHeader} from './toast';\nexport {NgbToastConfig, NgbToastOptions} from './toast-config';\n\n@NgModule({declarations: [NgbToast, NgbToastHeader], imports: [CommonModule], exports: [NgbToast, NgbToastHeader]})\nexport class NgbToastModule {\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [`NgbTooltip`](#/components/tooltip/api#NgbTooltip) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the tooltips used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTooltipConfig {\n animation: boolean;\n autoClose: boolean | 'inside' | 'outside' = true;\n placement: PlacementArray = 'auto';\n triggers = 'hover focus';\n container: string;\n disableTooltip = false;\n tooltipClass: string;\n openDelay = 0;\n closeDelay = 0;\n\n constructor(ngbConfig: NgbConfig) { this.animation = ngbConfig.animation; }\n}\n","import {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n Inject,\n Injector,\n Renderer2,\n ComponentRef,\n ElementRef,\n TemplateRef,\n ViewContainerRef,\n ComponentFactoryResolver,\n NgZone,\n ViewEncapsulation,\n ChangeDetectorRef,\n ApplicationRef,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {listenToTriggers} from '../util/triggers';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {positionElements, PlacementArray} from '../util/positioning';\nimport {PopupService} from '../util/popup';\n\nimport {NgbTooltipConfig} from './tooltip-config';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngb-tooltip-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '\"tooltip\" + (tooltipClass ? \" \" + tooltipClass : \"\")',\n '[class.fade]': 'animation',\n 'role': 'tooltip',\n '[id]': 'id'\n },\n template: `
`,\n styleUrls: ['./tooltip.scss']\n})\nexport class NgbTooltipWindow {\n @Input() animation: boolean;\n @Input() id: string;\n @Input() tooltipClass: string;\n}\n\n/**\n * A lightweight and extensible directive for fancy tooltip creation.\n */\n@Directive({selector: '[ngbTooltip]', exportAs: 'ngbTooltip'})\nexport class NgbTooltip implements OnInit, OnDestroy, OnChanges {\n static ngAcceptInputType_autoClose: boolean | string;\n\n /**\n * If `true`, tooltip opening and closing will be animated.\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * Indicates whether the tooltip should be closed on `Escape` key and inside/outside clicks:\n *\n * * `true` - closes on both outside and inside clicks as well as `Escape` presses\n * * `false` - disables the autoClose feature (NB: triggers still apply)\n * * `\"inside\"` - closes on inside clicks as well as Escape presses\n * * `\"outside\"` - closes on outside clicks (sometimes also achievable through triggers)\n * as well as `Escape` presses\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The preferred placement of the tooltip.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"auto\"` (same as the sequence above).\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * Specifies events that should trigger the tooltip.\n *\n * Supports a space separated list of event names.\n * For more details see the [triggers demo](#/components/tooltip/examples#triggers).\n */\n @Input() triggers: string;\n\n /**\n * A selector specifying the element the tooltip should be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * If `true`, tooltip is disabled and won't be displayed.\n *\n * @since 1.1.0\n */\n @Input() disableTooltip: boolean;\n\n /**\n * An optional class applied to the tooltip window element.\n *\n * @since 3.2.0\n */\n @Input() tooltipClass: string;\n\n /**\n * The opening delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() openDelay: number;\n\n /**\n * The closing delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() closeDelay: number;\n\n /**\n * An event emitted when the tooltip opening animation has finished. Contains no payload.\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the tooltip closing animation has finished. Contains no payload.\n */\n @Output() hidden = new EventEmitter();\n\n private _ngbTooltip: string | TemplateRef| null | undefined;\n private _ngbTooltipWindowId = `ngb-tooltip-${nextId++}`;\n private _popupService: PopupService;\n private _windowRef: ComponentRef| null = null;\n private _unregisterListenersFn;\n private _zoneSubscription: any;\n\n constructor(\n private _elementRef: ElementRef, private _renderer: Renderer2, injector: Injector,\n componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: NgbTooltipConfig,\n private _ngZone: NgZone, @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n applicationRef: ApplicationRef) {\n this.animation = config.animation;\n this.autoClose = config.autoClose;\n this.placement = config.placement;\n this.triggers = config.triggers;\n this.container = config.container;\n this.disableTooltip = config.disableTooltip;\n this.tooltipClass = config.tooltipClass;\n this.openDelay = config.openDelay;\n this.closeDelay = config.closeDelay;\n this._popupService = new PopupService(\n NgbTooltipWindow, injector, viewContainerRef, _renderer, this._ngZone, componentFactoryResolver,\n applicationRef);\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\n if (this._windowRef) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\n this.container === 'body', 'bs-tooltip');\n }\n });\n }\n\n /**\n * The string content or a `TemplateRef` for the content to be displayed in the tooltip.\n *\n * If the content if falsy, the tooltip won't open.\n */\n @Input()\n set ngbTooltip(value: string | TemplateRef| null | undefined) {\n this._ngbTooltip = value;\n if (!value && this._windowRef) {\n this.close();\n }\n }\n\n get ngbTooltip() { return this._ngbTooltip; }\n\n /**\n * Opens the tooltip.\n *\n * This is considered to be a \"manual\" triggering.\n * The `context` is an optional value to be injected into the tooltip template when it is created.\n */\n open(context?: any) {\n if (!this._windowRef && this._ngbTooltip && !this.disableTooltip) {\n const {windowRef, transition$} = this._popupService.open(this._ngbTooltip, context, this.animation);\n this._windowRef = windowRef;\n this._windowRef.instance.animation = this.animation;\n this._windowRef.instance.tooltipClass = this.tooltipClass;\n this._windowRef.instance.id = this._ngbTooltipWindowId;\n\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbTooltipWindowId);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n // We need to detect changes, because we don't know where .open() might be called from.\n // Ex. opening tooltip from one of lifecycle hooks that run after the CD\n // (say from ngAfterViewInit) will result in 'ExpressionHasChanged' exception\n this._windowRef.changeDetectorRef.detectChanges();\n\n // We need to mark for check, because tooltip won't work inside the OnPush component.\n // Ex. when we use expression like `{{ tooltip.isOpen() : 'opened' : 'closed' }}`\n // inside the template of an OnPush component and we change the tooltip from\n // open -> closed, the expression in question won't be updated unless we explicitly\n // mark the parent component to be checked.\n this._windowRef.changeDetectorRef.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden,\n [this._windowRef.location.nativeElement]);\n\n transition$.subscribe(() => this.shown.emit());\n }\n }\n\n /**\n * Closes the tooltip.\n *\n * This is considered to be a \"manual\" triggering of the tooltip.\n */\n close(): void {\n if (this._windowRef != null) {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n this._popupService.close(this.animation).subscribe(() => {\n this._windowRef = null;\n this.hidden.emit();\n this._changeDetector.markForCheck();\n });\n }\n }\n\n /**\n * Toggles the tooltip.\n *\n * This is considered to be a \"manual\" triggering of the tooltip.\n */\n toggle(): void {\n if (this._windowRef) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Returns `true`, if the popover is currently shown.\n */\n isOpen(): boolean { return this._windowRef != null; }\n\n ngOnInit() {\n this._unregisterListenersFn = listenToTriggers(\n this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this),\n this.close.bind(this), +this.openDelay, +this.closeDelay);\n }\n\n ngOnChanges({tooltipClass}: SimpleChanges) {\n if (tooltipClass && this.isOpen()) {\n this._windowRef !.instance.tooltipClass = tooltipClass.currentValue;\n }\n }\n\n ngOnDestroy() {\n this.close();\n // This check is needed as it might happen that ngOnDestroy is called before ngOnInit\n // under certain conditions, see: https://github.com/ng-bootstrap/ng-bootstrap/issues/2199\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n this._zoneSubscription.unsubscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbTooltip, NgbTooltipWindow} from './tooltip';\n\nexport {NgbTooltipConfig} from './tooltip-config';\nexport {NgbTooltip} from './tooltip';\nexport {Placement} from '../util/positioning';\n\n@NgModule({declarations: [NgbTooltip, NgbTooltipWindow], exports: [NgbTooltip], entryComponents: [NgbTooltipWindow]})\nexport class NgbTooltipModule {\n}\n","import {Component, Input, OnChanges, ChangeDetectionStrategy, SimpleChanges, ViewEncapsulation} from '@angular/core';\nimport {regExpEscape, toString} from '../util/util';\n\n/**\n * A component that helps with text highlighting.\n *\n * If splits the `result` text into parts that contain the searched `term` and generates the HTML markup to simplify\n * highlighting:\n *\n * Ex. `result=\"Alaska\"` and `term=\"as\"` will produce `Alaska`.\n */\n@Component({\n selector: 'ngb-highlight',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `` +\n `{{part}}{{part}}` +\n ``, // template needs to be formatted in a certain way so we don't add empty text nodes\n styleUrls: ['./highlight.scss']\n})\nexport class NgbHighlight implements OnChanges {\n parts: string[];\n\n /**\n * The CSS class for `` elements wrapping the `term` inside the `result`.\n */\n @Input() highlightClass = 'ngb-highlight';\n\n /**\n * The text highlighting is added to.\n *\n * If the `term` is found inside this text, it will be highlighted.\n * If the `term` contains array then all the items from it will be highlighted inside the text.\n */\n @Input() result?: string | null;\n\n /**\n * The term or array of terms to be highlighted.\n * Since version `v4.2.0` term could be a `string[]`\n */\n @Input() term: string | readonly string[];\n\n ngOnChanges(changes: SimpleChanges) {\n const result = toString(this.result);\n\n const terms = Array.isArray(this.term) ? this.term : [this.term];\n const escapedTerms = terms.map(term => regExpEscape(toString(term))).filter(term => term);\n\n this.parts = escapedTerms.length ? result.split(new RegExp(`(${escapedTerms.join('|')})`, 'gmi')) : [result];\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewEncapsulation} from '@angular/core';\n\nimport {toString} from '../util/util';\n\n/**\n * The context for the typeahead result template in case you want to override the default one.\n */\nexport interface ResultTemplateContext {\n /**\n * Your typeahead result item.\n */\n result: any;\n\n /**\n * Search term from the `` used to get current result.\n */\n term: string;\n}\n\n@Component({\n selector: 'ngb-typeahead-window',\n exportAs: 'ngbTypeaheadWindow',\n encapsulation: ViewEncapsulation.None,\n host: {'(mousedown)': '$event.preventDefault()', 'class': 'dropdown-menu show', 'role': 'listbox', '[id]': 'id'},\n template: `\n \n \n \n \n \n \n `\n})\nexport class NgbTypeaheadWindow implements OnInit {\n activeIdx = 0;\n\n /**\n * The id for the typeahead window. The id should be unique and the same\n * as the associated typeahead's id.\n */\n @Input() id: string;\n\n /**\n * Flag indicating if the first row should be active initially\n */\n @Input() focusFirst = true;\n\n /**\n * Typeahead match results to be displayed\n */\n @Input() results;\n\n /**\n * Search term used to get current results\n */\n @Input() term: string;\n\n /**\n * A function used to format a given result before display. This function should return a formatted string without any\n * HTML markup\n */\n @Input() formatter = toString;\n\n /**\n * A template to override a matching result default display\n */\n @Input() resultTemplate: TemplateRef;\n\n /**\n * Event raised when user selects a particular result row\n */\n @Output('select') selectEvent = new EventEmitter();\n\n @Output('activeChange') activeChangeEvent = new EventEmitter();\n\n hasActive() { return this.activeIdx > -1 && this.activeIdx < this.results.length; }\n\n getActive() { return this.results[this.activeIdx]; }\n\n markActive(activeIdx: number) {\n this.activeIdx = activeIdx;\n this._activeChanged();\n }\n\n next() {\n if (this.activeIdx === this.results.length - 1) {\n this.activeIdx = this.focusFirst ? (this.activeIdx + 1) % this.results.length : -1;\n } else {\n this.activeIdx++;\n }\n this._activeChanged();\n }\n\n prev() {\n if (this.activeIdx < 0) {\n this.activeIdx = this.results.length - 1;\n } else if (this.activeIdx === 0) {\n this.activeIdx = this.focusFirst ? this.results.length - 1 : -1;\n } else {\n this.activeIdx--;\n }\n this._activeChanged();\n }\n\n resetActive() {\n this.activeIdx = this.focusFirst ? 0 : -1;\n this._activeChanged();\n }\n\n select(item) { this.selectEvent.emit(item); }\n\n ngOnInit() { this.resetActive(); }\n\n private _activeChanged() {\n this.activeChangeEvent.emit(this.activeIdx >= 0 ? this.id + '-' + this.activeIdx : undefined);\n }\n}\n","import {Injectable, Inject, InjectionToken, OnDestroy} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\n\n// usefulness (and default value) of delay documented in Material's CDK\n// https://github.com/angular/material2/blob/6405da9b8e8532a7e5c854c920ee1815c275d734/src/cdk/a11y/live-announcer/live-announcer.ts#L50\nexport type ARIA_LIVE_DELAY_TYPE = number | null;\nexport const ARIA_LIVE_DELAY = new InjectionToken(\n 'live announcer delay', {providedIn: 'root', factory: ARIA_LIVE_DELAY_FACTORY});\nexport function ARIA_LIVE_DELAY_FACTORY(): number {\n return 100;\n}\n\n\nfunction getLiveElement(document: any, lazyCreate = false): HTMLElement | null {\n let element = document.body.querySelector('#ngb-live') as HTMLElement;\n\n if (element == null && lazyCreate) {\n element = document.createElement('div');\n\n element.setAttribute('id', 'ngb-live');\n element.setAttribute('aria-live', 'polite');\n element.setAttribute('aria-atomic', 'true');\n\n element.classList.add('sr-only');\n\n document.body.appendChild(element);\n }\n\n return element;\n}\n\n\n\n@Injectable({providedIn: 'root'})\nexport class Live implements OnDestroy {\n constructor(@Inject(DOCUMENT) private _document: any, @Inject(ARIA_LIVE_DELAY) private _delay: any) {}\n\n ngOnDestroy() {\n const element = getLiveElement(this._document);\n if (element) {\n // if exists, it will always be attached to the \n element.parentElement !.removeChild(element);\n }\n }\n\n say(message: string) {\n const element = getLiveElement(this._document, true);\n const delay = this._delay;\n\n if (element != null) {\n element.textContent = '';\n const setText = () => element.textContent = message;\n if (delay === null) {\n setText();\n } else {\n setTimeout(setText, delay);\n }\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbTypeahead`](#/components/typeahead/api#NgbTypeahead) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the typeaheads used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTypeaheadConfig {\n container;\n editable = true;\n focusFirst = true;\n showHint = false;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n}\n","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n ApplicationRef\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {DOCUMENT} from '@angular/common';\nimport {BehaviorSubject, fromEvent, Observable, Subject, Subscription} from 'rxjs';\nimport {map, switchMap, tap} from 'rxjs/operators';\n\nimport {Live} from '../util/accessibility/live';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {Key} from '../util/key';\nimport {PopupService} from '../util/popup';\nimport {PlacementArray, positionElements} from '../util/positioning';\nimport {isDefined, toString} from '../util/util';\n\nimport {NgbTypeaheadConfig} from './typeahead-config';\nimport {NgbTypeaheadWindow, ResultTemplateContext} from './typeahead-window';\n\n\nconst NGB_TYPEAHEAD_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbTypeahead),\n multi: true\n};\n\n/**\n * An event emitted right before an item is selected from the result list.\n */\nexport interface NgbTypeaheadSelectItemEvent {\n /**\n * The item from the result list about to be selected.\n */\n item: T;\n\n /**\n * Calling this function will prevent item selection from happening.\n */\n preventDefault: () => void;\n}\n\nlet nextWindowId = 0;\n\n/**\n * A directive providing a simple way of creating powerful typeaheads from any text input.\n */\n@Directive({\n selector: 'input[ngbTypeahead]',\n exportAs: 'ngbTypeahead',\n host: {\n '(blur)': 'handleBlur()',\n '[class.open]': 'isPopupOpen()',\n '(keydown)': 'handleKeyDown($event)',\n '[autocomplete]': 'autocomplete',\n 'autocapitalize': 'off',\n 'autocorrect': 'off',\n 'role': 'combobox',\n 'aria-multiline': 'false',\n '[attr.aria-autocomplete]': 'showHint ? \"both\" : \"list\"',\n '[attr.aria-activedescendant]': 'activeDescendant',\n '[attr.aria-owns]': 'isPopupOpen() ? popupId : null',\n '[attr.aria-expanded]': 'isPopupOpen()'\n },\n providers: [NGB_TYPEAHEAD_VALUE_ACCESSOR]\n})\nexport class NgbTypeahead implements ControlValueAccessor,\n OnInit, OnDestroy {\n private _popupService: PopupService;\n private _subscription: Subscription | null = null;\n private _closed$ = new Subject();\n private _inputValueBackup: string | null = null;\n private _valueChanges: Observable;\n private _resubscribeTypeahead: BehaviorSubject;\n private _windowRef: ComponentRef| null = null;\n private _zoneSubscription: any;\n\n /**\n * The value for the `autocomplete` attribute for the `` element.\n *\n * Defaults to `\"off\"` to disable the native browser autocomplete, but you can override it if necessary.\n *\n * @since 2.1.0\n */\n @Input() autocomplete = 'off';\n\n /**\n * A selector specifying the element the typeahead popup will be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * If `true`, model values will not be restricted only to items selected from the popup.\n */\n @Input() editable: boolean;\n\n /**\n * If `true`, the first item in the result list will always stay focused while typing.\n */\n @Input() focusFirst: boolean;\n\n /**\n * The function that converts an item from the result list to a `string` to display in the `` field.\n *\n * It is called when the user selects something in the popup or the model value changes, so the input needs to\n * be updated.\n */\n @Input() inputFormatter: (item: any) => string;\n\n /**\n * The function that converts a stream of text values from the `` element to the stream of the array of items\n * to display in the typeahead popup.\n *\n * If the resulting observable emits a non-empty array - the popup will be shown. If it emits an empty array - the\n * popup will be closed.\n *\n * See the [basic example](#/components/typeahead/examples#basic) for more details.\n *\n * Note that the `this` argument is `undefined` so you need to explicitly bind it to a desired \"this\" target.\n */\n @Input() ngbTypeahead: (text: Observable) => Observable;\n\n /**\n * The function that converts an item from the result list to a `string` to display in the popup.\n *\n * Must be provided, if your `ngbTypeahead` returns something other than `Observable`.\n *\n * Alternatively for more complex markup in the popup you should use `resultTemplate`.\n */\n @Input() resultFormatter: (item: any) => string;\n\n /**\n * The template to override the way resulting items are displayed in the popup.\n *\n * See the [ResultTemplateContext](#/components/typeahead/api#ResultTemplateContext) for the template context.\n *\n * Also see the [template for results demo](#/components/typeahead/examples#template) for more details.\n */\n @Input() resultTemplate: TemplateRef;\n\n /**\n * If `true`, will show the hint in the `` when an item in the result list matches.\n */\n @Input() showHint: boolean;\n\n /**\n * The preferred placement of the typeahead.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray = 'bottom-left';\n\n /**\n * An event emitted right before an item is selected from the result list.\n *\n * Event payload is of type [`NgbTypeaheadSelectItemEvent`](#/components/typeahead/api#NgbTypeaheadSelectItemEvent).\n */\n @Output() selectItem = new EventEmitter();\n\n activeDescendant: string | null = null;\n popupId = `ngb-typeahead-${nextWindowId++}`;\n\n private _onTouched = () => {};\n private _onChange = (_: any) => {};\n\n constructor(\n private _elementRef: ElementRef, viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2, injector: Injector, componentFactoryResolver: ComponentFactoryResolver,\n config: NgbTypeaheadConfig, ngZone: NgZone, private _live: Live, @Inject(DOCUMENT) private _document: any,\n private _ngZone: NgZone, private _changeDetector: ChangeDetectorRef, applicationRef: ApplicationRef) {\n this.container = config.container;\n this.editable = config.editable;\n this.focusFirst = config.focusFirst;\n this.showHint = config.showHint;\n this.placement = config.placement;\n\n this._valueChanges = fromEvent(_elementRef.nativeElement, 'input')\n .pipe(map($event => ($event.target as HTMLInputElement).value));\n\n this._resubscribeTypeahead = new BehaviorSubject(null);\n\n this._popupService = new PopupService(\n NgbTypeaheadWindow, injector, viewContainerRef, _renderer, this._ngZone, componentFactoryResolver,\n applicationRef);\n\n this._zoneSubscription = ngZone.onStable.subscribe(() => {\n if (this.isPopupOpen()) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef !.location.nativeElement, this.placement,\n this.container === 'body');\n }\n });\n }\n\n ngOnInit(): void {\n const inputValues$ = this._valueChanges.pipe(tap(value => {\n this._inputValueBackup = this.showHint ? value : null;\n this._onChange(this.editable ? value : undefined);\n }));\n const results$ = inputValues$.pipe(this.ngbTypeahead);\n const userInput$ = this._resubscribeTypeahead.pipe(switchMap(() => results$));\n this._subscription = this._subscribeToUserInput(userInput$);\n }\n\n ngOnDestroy(): void {\n this._closePopup();\n this._unsubscribeFromUserInput();\n this._zoneSubscription.unsubscribe();\n }\n\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this._onTouched = fn; }\n\n writeValue(value) {\n this._writeInputValue(this._formatItemForInput(value));\n if (this.showHint) {\n this._inputValueBackup = value;\n }\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n }\n\n /**\n * Dismisses typeahead popup window\n */\n dismissPopup() {\n if (this.isPopupOpen()) {\n this._resubscribeTypeahead.next(null);\n this._closePopup();\n if (this.showHint && this._inputValueBackup !== null) {\n this._writeInputValue(this._inputValueBackup);\n }\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Returns true if the typeahead popup window is displayed\n */\n isPopupOpen() { return this._windowRef != null; }\n\n handleBlur() {\n this._resubscribeTypeahead.next(null);\n this._onTouched();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (!this.isPopupOpen()) {\n return;\n }\n\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.ArrowDown:\n event.preventDefault();\n this._windowRef !.instance.next();\n this._showHint();\n break;\n case Key.ArrowUp:\n event.preventDefault();\n this._windowRef !.instance.prev();\n this._showHint();\n break;\n case Key.Enter:\n case Key.Tab:\n const result = this._windowRef !.instance.getActive();\n if (isDefined(result)) {\n event.preventDefault();\n event.stopPropagation();\n this._selectResult(result);\n }\n this._closePopup();\n break;\n }\n }\n\n private _openPopup() {\n if (!this.isPopupOpen()) {\n this._inputValueBackup = this._elementRef.nativeElement.value;\n const {windowRef} = this._popupService.open();\n this._windowRef = windowRef;\n this._windowRef.instance.id = this.popupId;\n this._windowRef.instance.selectEvent.subscribe((result: any) => this._selectResultClosePopup(result));\n this._windowRef.instance.activeChangeEvent.subscribe((activeId: string) => this.activeDescendant = activeId);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n this._changeDetector.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, 'outside', () => this.dismissPopup(), this._closed$,\n [this._elementRef.nativeElement, this._windowRef.location.nativeElement]);\n }\n }\n\n private _closePopup() {\n this._popupService.close().subscribe(() => {\n this._closed$.next();\n this._windowRef = null;\n this.activeDescendant = null;\n });\n }\n\n private _selectResult(result: any) {\n let defaultPrevented = false;\n this.selectItem.emit({item: result, preventDefault: () => { defaultPrevented = true; }});\n this._resubscribeTypeahead.next(null);\n\n if (!defaultPrevented) {\n this.writeValue(result);\n this._onChange(result);\n }\n }\n\n private _selectResultClosePopup(result: any) {\n this._selectResult(result);\n this._closePopup();\n }\n\n private _showHint() {\n if (this.showHint && this._windowRef?.instance.hasActive() && this._inputValueBackup != null) {\n const userInputLowerCase = this._inputValueBackup.toLowerCase();\n const formattedVal = this._formatItemForInput(this._windowRef.instance.getActive());\n\n if (userInputLowerCase === formattedVal.substr(0, this._inputValueBackup.length).toLowerCase()) {\n this._writeInputValue(this._inputValueBackup + formattedVal.substr(this._inputValueBackup.length));\n this._elementRef.nativeElement['setSelectionRange'].apply(\n this._elementRef.nativeElement, [this._inputValueBackup.length, formattedVal.length]);\n } else {\n this._writeInputValue(formattedVal);\n }\n }\n }\n\n private _formatItemForInput(item: any): string {\n return item != null && this.inputFormatter ? this.inputFormatter(item) : toString(item);\n }\n\n private _writeInputValue(value: string): void {\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', toString(value));\n }\n\n private _subscribeToUserInput(userInput$: Observable): Subscription {\n return userInput$.subscribe((results) => {\n if (!results || results.length === 0) {\n this._closePopup();\n } else {\n this._openPopup();\n this._windowRef !.instance.focusFirst = this.focusFirst;\n this._windowRef !.instance.results = results;\n this._windowRef !.instance.term = this._elementRef.nativeElement.value;\n if (this.resultFormatter) {\n this._windowRef !.instance.formatter = this.resultFormatter;\n }\n if (this.resultTemplate) {\n this._windowRef !.instance.resultTemplate = this.resultTemplate;\n }\n this._windowRef !.instance.resetActive();\n\n // The observable stream we are subscribing to might have async steps\n // and if a component containing typeahead is using the OnPush strategy\n // the change detection turn wouldn't be invoked automatically.\n this._windowRef !.changeDetectorRef.detectChanges();\n\n this._showHint();\n }\n\n // live announcer\n const count = results ? results.length : 0;\n this._live.say(count === 0 ? 'No results available' : `${count} result${count === 1 ? '' : 's'} available`);\n });\n }\n\n private _unsubscribeFromUserInput() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n this._subscription = null;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbHighlight} from './highlight';\nimport {NgbTypeaheadWindow} from './typeahead-window';\nimport {NgbTypeahead} from './typeahead';\n\nexport {NgbHighlight} from './highlight';\nexport {NgbTypeaheadWindow} from './typeahead-window';\nexport {NgbTypeaheadConfig} from './typeahead-config';\nexport {NgbTypeahead, NgbTypeaheadSelectItemEvent} from './typeahead';\n\n@NgModule({\n declarations: [NgbTypeahead, NgbHighlight, NgbTypeaheadWindow],\n exports: [NgbTypeahead, NgbHighlight],\n imports: [CommonModule],\n entryComponents: [NgbTypeaheadWindow]\n})\nexport class NgbTypeaheadModule {\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbAccordionModule} from './accordion/accordion.module';\nimport {NgbAlertModule} from './alert/alert.module';\nimport {NgbButtonsModule} from './buttons/buttons.module';\nimport {NgbCarouselModule} from './carousel/carousel.module';\nimport {NgbCollapseModule} from './collapse/collapse.module';\nimport {NgbDatepickerModule} from './datepicker/datepicker.module';\nimport {NgbDropdownModule} from './dropdown/dropdown.module';\nimport {NgbModalModule} from './modal/modal.module';\nimport {NgbNavModule} from './nav/nav.module';\nimport {NgbPaginationModule} from './pagination/pagination.module';\nimport {NgbPopoverModule} from './popover/popover.module';\nimport {NgbProgressbarModule} from './progressbar/progressbar.module';\nimport {NgbRatingModule} from './rating/rating.module';\nimport {NgbTimepickerModule} from './timepicker/timepicker.module';\nimport {NgbToastModule} from './toast/toast.module';\nimport {NgbTooltipModule} from './tooltip/tooltip.module';\nimport {NgbTypeaheadModule} from './typeahead/typeahead.module';\n\n\n\nexport {\n NgbAccordion,\n NgbAccordionConfig,\n NgbAccordionModule,\n NgbPanel,\n NgbPanelChangeEvent,\n NgbPanelContent,\n NgbPanelHeader,\n NgbPanelHeaderContext,\n NgbPanelTitle,\n NgbPanelToggle\n} from './accordion/accordion.module';\nexport {NgbAlert, NgbAlertConfig, NgbAlertModule} from './alert/alert.module';\nexport {NgbButtonLabel, NgbButtonsModule, NgbCheckBox, NgbRadio, NgbRadioGroup} from './buttons/buttons.module';\nexport {\n NgbCarousel,\n NgbCarouselConfig,\n NgbCarouselModule,\n NgbSlide,\n NgbSlideEvent,\n NgbSlideEventDirection,\n NgbSlideEventSource\n} from './carousel/carousel.module';\nexport {NgbCollapse, NgbCollapseConfig, NgbCollapseModule} from './collapse/collapse.module';\nexport {\n NgbCalendar,\n NgbCalendarGregorian,\n NgbCalendarHebrew,\n NgbCalendarIslamicCivil,\n NgbCalendarIslamicUmalqura,\n NgbCalendarPersian,\n NgbDate,\n NgbDateAdapter,\n NgbDateNativeAdapter,\n NgbDateNativeUTCAdapter,\n NgbDateParserFormatter,\n NgbDatepicker,\n NgbDatepickerConfig,\n NgbInputDatepickerConfig,\n NgbDatepickerContent,\n NgbDatepickerI18n,\n NgbDatepickerI18nHebrew,\n NgbDatepickerKeyboardService,\n NgbDatepickerModule,\n NgbDatepickerMonth,\n NgbDatepickerNavigateEvent,\n NgbDatepickerState,\n NgbDateStruct,\n NgbInputDatepicker,\n NgbPeriod\n} from './datepicker/datepicker.module';\nexport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownConfig,\n NgbDropdownItem,\n NgbDropdownMenu,\n NgbDropdownModule,\n NgbDropdownToggle,\n NgbNavbar\n} from './dropdown/dropdown.module';\nexport {\n ModalDismissReasons,\n NgbActiveModal,\n NgbModal,\n NgbModalConfig,\n NgbModalModule,\n NgbModalOptions,\n NgbModalRef\n} from './modal/modal.module';\nexport {\n NgbNavChangeEvent,\n NgbNavConfig,\n NgbNav,\n NgbNavContent,\n NgbNavContentContext,\n NgbNavItem,\n NgbNavLink,\n NgbNavModule,\n NgbNavOutlet,\n NgbNavPane\n} from './nav/nav.module';\nexport {\n NgbPagination,\n NgbPaginationConfig,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationModule,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination/pagination.module';\nexport {NgbPopover, NgbPopoverConfig, NgbPopoverModule} from './popover/popover.module';\nexport {NgbProgressbar, NgbProgressbarConfig, NgbProgressbarModule} from './progressbar/progressbar.module';\nexport {NgbRating, NgbRatingConfig, NgbRatingModule} from './rating/rating.module';\nexport {\n NgbTimeAdapter,\n NgbTimepickerI18n,\n NgbTimepicker,\n NgbTimepickerConfig,\n NgbTimepickerModule,\n NgbTimeStruct\n} from './timepicker/timepicker.module';\nexport {NgbToast, NgbToastConfig, NgbToastHeader, NgbToastModule} from './toast/toast.module';\nexport {NgbTooltip, NgbTooltipConfig, NgbTooltipModule} from './tooltip/tooltip.module';\nexport {\n NgbHighlight,\n NgbTypeahead,\n NgbTypeaheadConfig,\n NgbTypeaheadModule,\n NgbTypeaheadSelectItemEvent\n} from './typeahead/typeahead.module';\nexport {Placement} from './util/positioning';\n\nexport {NgbConfig} from './ngb-config';\n\n\nconst NGB_MODULES = [\n NgbAccordionModule, NgbAlertModule, NgbButtonsModule, NgbCarouselModule, NgbCollapseModule, NgbDatepickerModule,\n NgbDropdownModule, NgbModalModule, NgbNavModule, NgbPaginationModule, NgbPopoverModule, NgbProgressbarModule,\n NgbRatingModule, NgbTimepickerModule, NgbToastModule, NgbTooltipModule, NgbTypeaheadModule\n];\n\n@NgModule({imports: NGB_MODULES, exports: NGB_MODULES})\nexport class NgbModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {NGB_CAROUSEL_DIRECTIVES as ɵa} from './carousel/carousel';\nexport {NGB_DATEPICKER_DATE_ADAPTER_FACTORY as ɵi,NgbDateStructAdapter as ɵj} from './datepicker/adapters/ngb-date-adapter';\nexport {NGB_DATEPICKER_VALUE_ACCESSOR as ɵb} from './datepicker/datepicker';\nexport {NgbDatepickerDayView as ɵd} from './datepicker/datepicker-day-view';\nexport {NGB_DATEPICKER_18N_FACTORY as ɵg,NgbDatepickerI18nDefault as ɵh} from './datepicker/datepicker-i18n';\nexport {NgbDatepickerNavigation as ɵe} from './datepicker/datepicker-navigation';\nexport {NgbDatepickerNavigationSelect as ɵf} from './datepicker/datepicker-navigation-select';\nexport {NgbDatepickerService as ɵt} from './datepicker/datepicker-service';\nexport {NgbCalendarHijri as ɵbb} from './datepicker/hijri/ngb-calendar-hijri';\nexport {NGB_DATEPICKER_CALENDAR_FACTORY as ɵc} from './datepicker/ngb-calendar';\nexport {NGB_DATEPICKER_PARSER_FORMATTER_FACTORY as ɵk,NgbDateISOParserFormatter as ɵl} from './datepicker/ngb-date-parser-formatter';\nexport {NgbModalBackdrop as ɵu} from './modal/modal-backdrop';\nexport {NgbModalStack as ɵw} from './modal/modal-stack';\nexport {NgbModalWindow as ɵv} from './modal/modal-window';\nexport {NgbPopoverWindow as ɵm} from './popover/popover';\nexport {NGB_DATEPICKER_TIME_ADAPTER_FACTORY as ɵn,NgbTimeStructAdapter as ɵo} from './timepicker/ngb-time-adapter';\nexport {NGB_TIMEPICKER_I18N_FACTORY as ɵp,NgbTimepickerI18nDefault as ɵq} from './timepicker/timepicker-i18n';\nexport {NgbTooltipWindow as ɵr} from './tooltip/tooltip';\nexport {NgbTypeaheadWindow as ɵs} from './typeahead/typeahead-window';\nexport {ARIA_LIVE_DELAY as ɵy,ARIA_LIVE_DELAY_FACTORY as ɵz,Live as ɵba} from './util/accessibility/live';\nexport {ContentRef as ɵbc} from './util/popup';\nexport {ScrollBar as ɵx} from './util/scrollbar';","/**\n * @license Angular v11.0.0\n * (c) 2010-2020 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar TagContentType;\n(function (TagContentType) {\n TagContentType[TagContentType[\"RAW_TEXT\"] = 0] = \"RAW_TEXT\";\n TagContentType[TagContentType[\"ESCAPABLE_RAW_TEXT\"] = 1] = \"ESCAPABLE_RAW_TEXT\";\n TagContentType[TagContentType[\"PARSABLE_DATA\"] = 2] = \"PARSABLE_DATA\";\n})(TagContentType || (TagContentType = {}));\nfunction splitNsName(elementName) {\n if (elementName[0] != ':') {\n return [null, elementName];\n }\n const colonIndex = elementName.indexOf(':', 1);\n if (colonIndex == -1) {\n throw new Error(`Unsupported format \"${elementName}\" expecting \":namespace:name\"`);\n }\n return [elementName.slice(1, colonIndex), elementName.slice(colonIndex + 1)];\n}\n// `` tags work the same regardless the namespace\nfunction isNgContainer(tagName) {\n return splitNsName(tagName)[1] === 'ng-container';\n}\n// `` tags work the same regardless the namespace\nfunction isNgContent(tagName) {\n return splitNsName(tagName)[1] === 'ng-content';\n}\n// `` tags work the same regardless the namespace\nfunction isNgTemplate(tagName) {\n return splitNsName(tagName)[1] === 'ng-template';\n}\nfunction getNsPrefix(fullName) {\n return fullName === null ? null : splitNsName(fullName)[0];\n}\nfunction mergeNsAndName(prefix, localName) {\n return prefix ? `:${prefix}:${localName}` : localName;\n}\n// see http://www.w3.org/TR/html51/syntax.html#named-character-references\n// see https://html.spec.whatwg.org/multipage/entities.json\n// This list is not exhaustive to keep the compiler footprint low.\n// The `{` / `ƫ` syntax should be used when the named character reference does not\n// exist.\nconst NAMED_ENTITIES = {\n 'Aacute': '\\u00C1',\n 'aacute': '\\u00E1',\n 'Acirc': '\\u00C2',\n 'acirc': '\\u00E2',\n 'acute': '\\u00B4',\n 'AElig': '\\u00C6',\n 'aelig': '\\u00E6',\n 'Agrave': '\\u00C0',\n 'agrave': '\\u00E0',\n 'alefsym': '\\u2135',\n 'Alpha': '\\u0391',\n 'alpha': '\\u03B1',\n 'amp': '&',\n 'and': '\\u2227',\n 'ang': '\\u2220',\n 'apos': '\\u0027',\n 'Aring': '\\u00C5',\n 'aring': '\\u00E5',\n 'asymp': '\\u2248',\n 'Atilde': '\\u00C3',\n 'atilde': '\\u00E3',\n 'Auml': '\\u00C4',\n 'auml': '\\u00E4',\n 'bdquo': '\\u201E',\n 'Beta': '\\u0392',\n 'beta': '\\u03B2',\n 'brvbar': '\\u00A6',\n 'bull': '\\u2022',\n 'cap': '\\u2229',\n 'Ccedil': '\\u00C7',\n 'ccedil': '\\u00E7',\n 'cedil': '\\u00B8',\n 'cent': '\\u00A2',\n 'Chi': '\\u03A7',\n 'chi': '\\u03C7',\n 'circ': '\\u02C6',\n 'clubs': '\\u2663',\n 'cong': '\\u2245',\n 'copy': '\\u00A9',\n 'crarr': '\\u21B5',\n 'cup': '\\u222A',\n 'curren': '\\u00A4',\n 'dagger': '\\u2020',\n 'Dagger': '\\u2021',\n 'darr': '\\u2193',\n 'dArr': '\\u21D3',\n 'deg': '\\u00B0',\n 'Delta': '\\u0394',\n 'delta': '\\u03B4',\n 'diams': '\\u2666',\n 'divide': '\\u00F7',\n 'Eacute': '\\u00C9',\n 'eacute': '\\u00E9',\n 'Ecirc': '\\u00CA',\n 'ecirc': '\\u00EA',\n 'Egrave': '\\u00C8',\n 'egrave': '\\u00E8',\n 'empty': '\\u2205',\n 'emsp': '\\u2003',\n 'ensp': '\\u2002',\n 'Epsilon': '\\u0395',\n 'epsilon': '\\u03B5',\n 'equiv': '\\u2261',\n 'Eta': '\\u0397',\n 'eta': '\\u03B7',\n 'ETH': '\\u00D0',\n 'eth': '\\u00F0',\n 'Euml': '\\u00CB',\n 'euml': '\\u00EB',\n 'euro': '\\u20AC',\n 'exist': '\\u2203',\n 'fnof': '\\u0192',\n 'forall': '\\u2200',\n 'frac12': '\\u00BD',\n 'frac14': '\\u00BC',\n 'frac34': '\\u00BE',\n 'frasl': '\\u2044',\n 'Gamma': '\\u0393',\n 'gamma': '\\u03B3',\n 'ge': '\\u2265',\n 'gt': '>',\n 'harr': '\\u2194',\n 'hArr': '\\u21D4',\n 'hearts': '\\u2665',\n 'hellip': '\\u2026',\n 'Iacute': '\\u00CD',\n 'iacute': '\\u00ED',\n 'Icirc': '\\u00CE',\n 'icirc': '\\u00EE',\n 'iexcl': '\\u00A1',\n 'Igrave': '\\u00CC',\n 'igrave': '\\u00EC',\n 'image': '\\u2111',\n 'infin': '\\u221E',\n 'int': '\\u222B',\n 'Iota': '\\u0399',\n 'iota': '\\u03B9',\n 'iquest': '\\u00BF',\n 'isin': '\\u2208',\n 'Iuml': '\\u00CF',\n 'iuml': '\\u00EF',\n 'Kappa': '\\u039A',\n 'kappa': '\\u03BA',\n 'Lambda': '\\u039B',\n 'lambda': '\\u03BB',\n 'lang': '\\u27E8',\n 'laquo': '\\u00AB',\n 'larr': '\\u2190',\n 'lArr': '\\u21D0',\n 'lceil': '\\u2308',\n 'ldquo': '\\u201C',\n 'le': '\\u2264',\n 'lfloor': '\\u230A',\n 'lowast': '\\u2217',\n 'loz': '\\u25CA',\n 'lrm': '\\u200E',\n 'lsaquo': '\\u2039',\n 'lsquo': '\\u2018',\n 'lt': '<',\n 'macr': '\\u00AF',\n 'mdash': '\\u2014',\n 'micro': '\\u00B5',\n 'middot': '\\u00B7',\n 'minus': '\\u2212',\n 'Mu': '\\u039C',\n 'mu': '\\u03BC',\n 'nabla': '\\u2207',\n 'nbsp': '\\u00A0',\n 'ndash': '\\u2013',\n 'ne': '\\u2260',\n 'ni': '\\u220B',\n 'not': '\\u00AC',\n 'notin': '\\u2209',\n 'nsub': '\\u2284',\n 'Ntilde': '\\u00D1',\n 'ntilde': '\\u00F1',\n 'Nu': '\\u039D',\n 'nu': '\\u03BD',\n 'Oacute': '\\u00D3',\n 'oacute': '\\u00F3',\n 'Ocirc': '\\u00D4',\n 'ocirc': '\\u00F4',\n 'OElig': '\\u0152',\n 'oelig': '\\u0153',\n 'Ograve': '\\u00D2',\n 'ograve': '\\u00F2',\n 'oline': '\\u203E',\n 'Omega': '\\u03A9',\n 'omega': '\\u03C9',\n 'Omicron': '\\u039F',\n 'omicron': '\\u03BF',\n 'oplus': '\\u2295',\n 'or': '\\u2228',\n 'ordf': '\\u00AA',\n 'ordm': '\\u00BA',\n 'Oslash': '\\u00D8',\n 'oslash': '\\u00F8',\n 'Otilde': '\\u00D5',\n 'otilde': '\\u00F5',\n 'otimes': '\\u2297',\n 'Ouml': '\\u00D6',\n 'ouml': '\\u00F6',\n 'para': '\\u00B6',\n 'permil': '\\u2030',\n 'perp': '\\u22A5',\n 'Phi': '\\u03A6',\n 'phi': '\\u03C6',\n 'Pi': '\\u03A0',\n 'pi': '\\u03C0',\n 'piv': '\\u03D6',\n 'plusmn': '\\u00B1',\n 'pound': '\\u00A3',\n 'prime': '\\u2032',\n 'Prime': '\\u2033',\n 'prod': '\\u220F',\n 'prop': '\\u221D',\n 'Psi': '\\u03A8',\n 'psi': '\\u03C8',\n 'quot': '\\u0022',\n 'radic': '\\u221A',\n 'rang': '\\u27E9',\n 'raquo': '\\u00BB',\n 'rarr': '\\u2192',\n 'rArr': '\\u21D2',\n 'rceil': '\\u2309',\n 'rdquo': '\\u201D',\n 'real': '\\u211C',\n 'reg': '\\u00AE',\n 'rfloor': '\\u230B',\n 'Rho': '\\u03A1',\n 'rho': '\\u03C1',\n 'rlm': '\\u200F',\n 'rsaquo': '\\u203A',\n 'rsquo': '\\u2019',\n 'sbquo': '\\u201A',\n 'Scaron': '\\u0160',\n 'scaron': '\\u0161',\n 'sdot': '\\u22C5',\n 'sect': '\\u00A7',\n 'shy': '\\u00AD',\n 'Sigma': '\\u03A3',\n 'sigma': '\\u03C3',\n 'sigmaf': '\\u03C2',\n 'sim': '\\u223C',\n 'spades': '\\u2660',\n 'sub': '\\u2282',\n 'sube': '\\u2286',\n 'sum': '\\u2211',\n 'sup': '\\u2283',\n 'sup1': '\\u00B9',\n 'sup2': '\\u00B2',\n 'sup3': '\\u00B3',\n 'supe': '\\u2287',\n 'szlig': '\\u00DF',\n 'Tau': '\\u03A4',\n 'tau': '\\u03C4',\n 'there4': '\\u2234',\n 'Theta': '\\u0398',\n 'theta': '\\u03B8',\n 'thetasym': '\\u03D1',\n 'thinsp': '\\u2009',\n 'THORN': '\\u00DE',\n 'thorn': '\\u00FE',\n 'tilde': '\\u02DC',\n 'times': '\\u00D7',\n 'trade': '\\u2122',\n 'Uacute': '\\u00DA',\n 'uacute': '\\u00FA',\n 'uarr': '\\u2191',\n 'uArr': '\\u21D1',\n 'Ucirc': '\\u00DB',\n 'ucirc': '\\u00FB',\n 'Ugrave': '\\u00D9',\n 'ugrave': '\\u00F9',\n 'uml': '\\u00A8',\n 'upsih': '\\u03D2',\n 'Upsilon': '\\u03A5',\n 'upsilon': '\\u03C5',\n 'Uuml': '\\u00DC',\n 'uuml': '\\u00FC',\n 'weierp': '\\u2118',\n 'Xi': '\\u039E',\n 'xi': '\\u03BE',\n 'Yacute': '\\u00DD',\n 'yacute': '\\u00FD',\n 'yen': '\\u00A5',\n 'yuml': '\\u00FF',\n 'Yuml': '\\u0178',\n 'Zeta': '\\u0396',\n 'zeta': '\\u03B6',\n 'zwj': '\\u200D',\n 'zwnj': '\\u200C',\n};\n// The &ngsp; pseudo-entity is denoting a space. see:\n// https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart\nconst NGSP_UNICODE = '\\uE500';\nNAMED_ENTITIES['ngsp'] = NGSP_UNICODE;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass HtmlTagDefinition {\n constructor({ closedByChildren, implicitNamespacePrefix, contentType = TagContentType.PARSABLE_DATA, closedByParent = false, isVoid = false, ignoreFirstLf = false, preventNamespaceInheritance = false } = {}) {\n this.closedByChildren = {};\n this.closedByParent = false;\n this.canSelfClose = false;\n if (closedByChildren && closedByChildren.length > 0) {\n closedByChildren.forEach(tagName => this.closedByChildren[tagName] = true);\n }\n this.isVoid = isVoid;\n this.closedByParent = closedByParent || isVoid;\n this.implicitNamespacePrefix = implicitNamespacePrefix || null;\n this.contentType = contentType;\n this.ignoreFirstLf = ignoreFirstLf;\n this.preventNamespaceInheritance = preventNamespaceInheritance;\n }\n isClosedByChild(name) {\n return this.isVoid || name.toLowerCase() in this.closedByChildren;\n }\n}\nlet _DEFAULT_TAG_DEFINITION;\n// see http://www.w3.org/TR/html51/syntax.html#optional-tags\n// This implementation does not fully conform to the HTML5 spec.\nlet TAG_DEFINITIONS;\nfunction getHtmlTagDefinition(tagName) {\n var _a, _b;\n if (!TAG_DEFINITIONS) {\n _DEFAULT_TAG_DEFINITION = new HtmlTagDefinition();\n TAG_DEFINITIONS = {\n 'base': new HtmlTagDefinition({ isVoid: true }),\n 'meta': new HtmlTagDefinition({ isVoid: true }),\n 'area': new HtmlTagDefinition({ isVoid: true }),\n 'embed': new HtmlTagDefinition({ isVoid: true }),\n 'link': new HtmlTagDefinition({ isVoid: true }),\n 'img': new HtmlTagDefinition({ isVoid: true }),\n 'input': new HtmlTagDefinition({ isVoid: true }),\n 'param': new HtmlTagDefinition({ isVoid: true }),\n 'hr': new HtmlTagDefinition({ isVoid: true }),\n 'br': new HtmlTagDefinition({ isVoid: true }),\n 'source': new HtmlTagDefinition({ isVoid: true }),\n 'track': new HtmlTagDefinition({ isVoid: true }),\n 'wbr': new HtmlTagDefinition({ isVoid: true }),\n 'p': new HtmlTagDefinition({\n closedByChildren: [\n 'address', 'article', 'aside', 'blockquote', 'div', 'dl', 'fieldset',\n 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5',\n 'h6', 'header', 'hgroup', 'hr', 'main', 'nav', 'ol',\n 'p', 'pre', 'section', 'table', 'ul'\n ],\n closedByParent: true\n }),\n 'thead': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'] }),\n 'tbody': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'], closedByParent: true }),\n 'tfoot': new HtmlTagDefinition({ closedByChildren: ['tbody'], closedByParent: true }),\n 'tr': new HtmlTagDefinition({ closedByChildren: ['tr'], closedByParent: true }),\n 'td': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'th': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'col': new HtmlTagDefinition({ isVoid: true }),\n 'svg': new HtmlTagDefinition({ implicitNamespacePrefix: 'svg' }),\n 'foreignObject': new HtmlTagDefinition({\n // Usually the implicit namespace here would be redundant since it will be inherited from\n // the parent `svg`, but we have to do it for `foreignObject`, because the way the parser\n // works is that the parent node of an end tag is its own start tag which means that\n // the `preventNamespaceInheritance` on `foreignObject` would have it default to the\n // implicit namespace which is `html`, unless specified otherwise.\n implicitNamespacePrefix: 'svg',\n // We want to prevent children of foreignObject from inheriting its namespace, because\n // the point of the element is to allow nodes from other namespaces to be inserted.\n preventNamespaceInheritance: true,\n }),\n 'math': new HtmlTagDefinition({ implicitNamespacePrefix: 'math' }),\n 'li': new HtmlTagDefinition({ closedByChildren: ['li'], closedByParent: true }),\n 'dt': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'] }),\n 'dd': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'], closedByParent: true }),\n 'rb': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rt': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rtc': new HtmlTagDefinition({ closedByChildren: ['rb', 'rtc', 'rp'], closedByParent: true }),\n 'rp': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'optgroup': new HtmlTagDefinition({ closedByChildren: ['optgroup'], closedByParent: true }),\n 'option': new HtmlTagDefinition({ closedByChildren: ['option', 'optgroup'], closedByParent: true }),\n 'pre': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'listing': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'style': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'script': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'title': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT }),\n 'textarea': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT, ignoreFirstLf: true }),\n };\n }\n // We have to make both a case-sensitive and a case-insesitive lookup, because\n // HTML tag names are case insensitive, whereas some SVG tags are case sensitive.\n return (_b = (_a = TAG_DEFINITIONS[tagName]) !== null && _a !== void 0 ? _a : TAG_DEFINITIONS[tagName.toLowerCase()]) !== null && _b !== void 0 ? _b : _DEFAULT_TAG_DEFINITION;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _SELECTOR_REGEXP = new RegExp('(\\\\:not\\\\()|' + // 1: \":not(\"\n '(([\\\\.\\\\#]?)[-\\\\w]+)|' + // 2: \"tag\"; 3: \".\"/\"#\";\n // \"-\" should appear first in the regexp below as FF31 parses \"[.-\\w]\" as a range\n // 4: attribute; 5: attribute_string; 6: attribute_value\n '(?:\\\\[([-.\\\\w*]+)(?:=([\\\"\\']?)([^\\\\]\\\"\\']*)\\\\5)?\\\\])|' + // \"[name]\", \"[name=value]\",\n // \"[name=\"value\"]\",\n // \"[name='value']\"\n '(\\\\))|' + // 7: \")\"\n '(\\\\s*,\\\\s*)', // 8: \",\"\n'g');\n/**\n * A css selector contains an element name,\n * css classes and attribute/value pairs with the purpose\n * of selecting subsets out of them.\n */\nclass CssSelector {\n constructor() {\n this.element = null;\n this.classNames = [];\n /**\n * The selectors are encoded in pairs where:\n * - even locations are attribute names\n * - odd locations are attribute values.\n *\n * Example:\n * Selector: `[key1=value1][key2]` would parse to:\n * ```\n * ['key1', 'value1', 'key2', '']\n * ```\n */\n this.attrs = [];\n this.notSelectors = [];\n }\n static parse(selector) {\n const results = [];\n const _addResult = (res, cssSel) => {\n if (cssSel.notSelectors.length > 0 && !cssSel.element && cssSel.classNames.length == 0 &&\n cssSel.attrs.length == 0) {\n cssSel.element = '*';\n }\n res.push(cssSel);\n };\n let cssSelector = new CssSelector();\n let match;\n let current = cssSelector;\n let inNot = false;\n _SELECTOR_REGEXP.lastIndex = 0;\n while (match = _SELECTOR_REGEXP.exec(selector)) {\n if (match[1 /* NOT */]) {\n if (inNot) {\n throw new Error('Nesting :not in a selector is not allowed');\n }\n inNot = true;\n current = new CssSelector();\n cssSelector.notSelectors.push(current);\n }\n const tag = match[2 /* TAG */];\n if (tag) {\n const prefix = match[3 /* PREFIX */];\n if (prefix === '#') {\n // #hash\n current.addAttribute('id', tag.substr(1));\n }\n else if (prefix === '.') {\n // Class\n current.addClassName(tag.substr(1));\n }\n else {\n // Element\n current.setElement(tag);\n }\n }\n const attribute = match[4 /* ATTRIBUTE */];\n if (attribute) {\n current.addAttribute(attribute, match[6 /* ATTRIBUTE_VALUE */]);\n }\n if (match[7 /* NOT_END */]) {\n inNot = false;\n current = cssSelector;\n }\n if (match[8 /* SEPARATOR */]) {\n if (inNot) {\n throw new Error('Multiple selectors in :not are not supported');\n }\n _addResult(results, cssSelector);\n cssSelector = current = new CssSelector();\n }\n }\n _addResult(results, cssSelector);\n return results;\n }\n isElementSelector() {\n return this.hasElementSelector() && this.classNames.length == 0 && this.attrs.length == 0 &&\n this.notSelectors.length === 0;\n }\n hasElementSelector() {\n return !!this.element;\n }\n setElement(element = null) {\n this.element = element;\n }\n /** Gets a template string for an element that matches the selector. */\n getMatchingElementTemplate() {\n const tagName = this.element || 'div';\n const classAttr = this.classNames.length > 0 ? ` class=\"${this.classNames.join(' ')}\"` : '';\n let attrs = '';\n for (let i = 0; i < this.attrs.length; i += 2) {\n const attrName = this.attrs[i];\n const attrValue = this.attrs[i + 1] !== '' ? `=\"${this.attrs[i + 1]}\"` : '';\n attrs += ` ${attrName}${attrValue}`;\n }\n return getHtmlTagDefinition(tagName).isVoid ? `<${tagName}${classAttr}${attrs}/>` :\n `<${tagName}${classAttr}${attrs}>`;\n }\n getAttrs() {\n const result = [];\n if (this.classNames.length > 0) {\n result.push('class', this.classNames.join(' '));\n }\n return result.concat(this.attrs);\n }\n addAttribute(name, value = '') {\n this.attrs.push(name, value && value.toLowerCase() || '');\n }\n addClassName(name) {\n this.classNames.push(name.toLowerCase());\n }\n toString() {\n let res = this.element || '';\n if (this.classNames) {\n this.classNames.forEach(klass => res += `.${klass}`);\n }\n if (this.attrs) {\n for (let i = 0; i < this.attrs.length; i += 2) {\n const name = this.attrs[i];\n const value = this.attrs[i + 1];\n res += `[${name}${value ? '=' + value : ''}]`;\n }\n }\n this.notSelectors.forEach(notSelector => res += `:not(${notSelector})`);\n return res;\n }\n}\n/**\n * Reads a list of CssSelectors and allows to calculate which ones\n * are contained in a given CssSelector.\n */\nclass SelectorMatcher {\n constructor() {\n this._elementMap = new Map();\n this._elementPartialMap = new Map();\n this._classMap = new Map();\n this._classPartialMap = new Map();\n this._attrValueMap = new Map();\n this._attrValuePartialMap = new Map();\n this._listContexts = [];\n }\n static createNotMatcher(notSelectors) {\n const notMatcher = new SelectorMatcher();\n notMatcher.addSelectables(notSelectors, null);\n return notMatcher;\n }\n addSelectables(cssSelectors, callbackCtxt) {\n let listContext = null;\n if (cssSelectors.length > 1) {\n listContext = new SelectorListContext(cssSelectors);\n this._listContexts.push(listContext);\n }\n for (let i = 0; i < cssSelectors.length; i++) {\n this._addSelectable(cssSelectors[i], callbackCtxt, listContext);\n }\n }\n /**\n * Add an object that can be found later on by calling `match`.\n * @param cssSelector A css selector\n * @param callbackCtxt An opaque object that will be given to the callback of the `match` function\n */\n _addSelectable(cssSelector, callbackCtxt, listContext) {\n let matcher = this;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n const selectable = new SelectorContext(cssSelector, callbackCtxt, listContext);\n if (element) {\n const isTerminal = attrs.length === 0 && classNames.length === 0;\n if (isTerminal) {\n this._addTerminal(matcher._elementMap, element, selectable);\n }\n else {\n matcher = this._addPartial(matcher._elementPartialMap, element);\n }\n }\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const isTerminal = attrs.length === 0 && i === classNames.length - 1;\n const className = classNames[i];\n if (isTerminal) {\n this._addTerminal(matcher._classMap, className, selectable);\n }\n else {\n matcher = this._addPartial(matcher._classPartialMap, className);\n }\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const isTerminal = i === attrs.length - 2;\n const name = attrs[i];\n const value = attrs[i + 1];\n if (isTerminal) {\n const terminalMap = matcher._attrValueMap;\n let terminalValuesMap = terminalMap.get(name);\n if (!terminalValuesMap) {\n terminalValuesMap = new Map();\n terminalMap.set(name, terminalValuesMap);\n }\n this._addTerminal(terminalValuesMap, value, selectable);\n }\n else {\n const partialMap = matcher._attrValuePartialMap;\n let partialValuesMap = partialMap.get(name);\n if (!partialValuesMap) {\n partialValuesMap = new Map();\n partialMap.set(name, partialValuesMap);\n }\n matcher = this._addPartial(partialValuesMap, value);\n }\n }\n }\n }\n _addTerminal(map, name, selectable) {\n let terminalList = map.get(name);\n if (!terminalList) {\n terminalList = [];\n map.set(name, terminalList);\n }\n terminalList.push(selectable);\n }\n _addPartial(map, name) {\n let matcher = map.get(name);\n if (!matcher) {\n matcher = new SelectorMatcher();\n map.set(name, matcher);\n }\n return matcher;\n }\n /**\n * Find the objects that have been added via `addSelectable`\n * whose css selector is contained in the given css selector.\n * @param cssSelector A css selector\n * @param matchedCallback This callback will be called with the object handed into `addSelectable`\n * @return boolean true if a match was found\n */\n match(cssSelector, matchedCallback) {\n let result = false;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n for (let i = 0; i < this._listContexts.length; i++) {\n this._listContexts[i].alreadyMatched = false;\n }\n result = this._matchTerminal(this._elementMap, element, cssSelector, matchedCallback) || result;\n result = this._matchPartial(this._elementPartialMap, element, cssSelector, matchedCallback) ||\n result;\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const className = classNames[i];\n result =\n this._matchTerminal(this._classMap, className, cssSelector, matchedCallback) || result;\n result =\n this._matchPartial(this._classPartialMap, className, cssSelector, matchedCallback) ||\n result;\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const name = attrs[i];\n const value = attrs[i + 1];\n const terminalValuesMap = this._attrValueMap.get(name);\n if (value) {\n result =\n this._matchTerminal(terminalValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchTerminal(terminalValuesMap, value, cssSelector, matchedCallback) || result;\n const partialValuesMap = this._attrValuePartialMap.get(name);\n if (value) {\n result = this._matchPartial(partialValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchPartial(partialValuesMap, value, cssSelector, matchedCallback) || result;\n }\n }\n return result;\n }\n /** @internal */\n _matchTerminal(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n let selectables = map.get(name) || [];\n const starSelectables = map.get('*');\n if (starSelectables) {\n selectables = selectables.concat(starSelectables);\n }\n if (selectables.length === 0) {\n return false;\n }\n let selectable;\n let result = false;\n for (let i = 0; i < selectables.length; i++) {\n selectable = selectables[i];\n result = selectable.finalize(cssSelector, matchedCallback) || result;\n }\n return result;\n }\n /** @internal */\n _matchPartial(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n const nestedSelector = map.get(name);\n if (!nestedSelector) {\n return false;\n }\n // TODO(perf): get rid of recursion and measure again\n // TODO(perf): don't pass the whole selector into the recursion,\n // but only the not processed parts\n return nestedSelector.match(cssSelector, matchedCallback);\n }\n}\nclass SelectorListContext {\n constructor(selectors) {\n this.selectors = selectors;\n this.alreadyMatched = false;\n }\n}\n// Store context to pass back selector and context when a selector is matched\nclass SelectorContext {\n constructor(selector, cbContext, listContext) {\n this.selector = selector;\n this.cbContext = cbContext;\n this.listContext = listContext;\n this.notSelectors = selector.notSelectors;\n }\n finalize(cssSelector, callback) {\n let result = true;\n if (this.notSelectors.length > 0 && (!this.listContext || !this.listContext.alreadyMatched)) {\n const notMatcher = SelectorMatcher.createNotMatcher(this.notSelectors);\n result = !notMatcher.match(cssSelector, null);\n }\n if (result && callback && (!this.listContext || !this.listContext.alreadyMatched)) {\n if (this.listContext) {\n this.listContext.alreadyMatched = true;\n }\n callback(this.selector, this.cbContext);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst createInject = makeMetadataFactory('Inject', (token) => ({ token }));\nconst createInjectionToken = makeMetadataFactory('InjectionToken', (desc) => ({ _desc: desc, ɵprov: undefined }));\nconst createAttribute = makeMetadataFactory('Attribute', (attributeName) => ({ attributeName }));\nconst createContentChildren = makeMetadataFactory('ContentChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: false, descendants: false }, data)));\nconst createContentChild = makeMetadataFactory('ContentChild', (selector, data = {}) => (Object.assign({ selector, first: true, isViewQuery: false, descendants: true }, data)));\nconst createViewChildren = makeMetadataFactory('ViewChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: true, descendants: true }, data)));\nconst createViewChild = makeMetadataFactory('ViewChild', (selector, data) => (Object.assign({ selector, first: true, isViewQuery: true, descendants: true }, data)));\nconst createDirective = makeMetadataFactory('Directive', (dir = {}) => dir);\nvar ViewEncapsulation;\n(function (ViewEncapsulation) {\n ViewEncapsulation[ViewEncapsulation[\"Emulated\"] = 0] = \"Emulated\";\n // Historically the 1 value was for `Native` encapsulation which has been removed as of v11.\n ViewEncapsulation[ViewEncapsulation[\"None\"] = 2] = \"None\";\n ViewEncapsulation[ViewEncapsulation[\"ShadowDom\"] = 3] = \"ShadowDom\";\n})(ViewEncapsulation || (ViewEncapsulation = {}));\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\nconst createComponent = makeMetadataFactory('Component', (c = {}) => (Object.assign({ changeDetection: ChangeDetectionStrategy.Default }, c)));\nconst createPipe = makeMetadataFactory('Pipe', (p) => (Object.assign({ pure: true }, p)));\nconst createInput = makeMetadataFactory('Input', (bindingPropertyName) => ({ bindingPropertyName }));\nconst createOutput = makeMetadataFactory('Output', (bindingPropertyName) => ({ bindingPropertyName }));\nconst createHostBinding = makeMetadataFactory('HostBinding', (hostPropertyName) => ({ hostPropertyName }));\nconst createHostListener = makeMetadataFactory('HostListener', (eventName, args) => ({ eventName, args }));\nconst createNgModule = makeMetadataFactory('NgModule', (ngModule) => ngModule);\nconst createInjectable = makeMetadataFactory('Injectable', (injectable = {}) => injectable);\nconst CUSTOM_ELEMENTS_SCHEMA = {\n name: 'custom-elements'\n};\nconst NO_ERRORS_SCHEMA = {\n name: 'no-errors-schema'\n};\nconst createOptional = makeMetadataFactory('Optional');\nconst createSelf = makeMetadataFactory('Self');\nconst createSkipSelf = makeMetadataFactory('SkipSelf');\nconst createHost = makeMetadataFactory('Host');\nconst Type = Function;\nvar SecurityContext;\n(function (SecurityContext) {\n SecurityContext[SecurityContext[\"NONE\"] = 0] = \"NONE\";\n SecurityContext[SecurityContext[\"HTML\"] = 1] = \"HTML\";\n SecurityContext[SecurityContext[\"STYLE\"] = 2] = \"STYLE\";\n SecurityContext[SecurityContext[\"SCRIPT\"] = 3] = \"SCRIPT\";\n SecurityContext[SecurityContext[\"URL\"] = 4] = \"URL\";\n SecurityContext[SecurityContext[\"RESOURCE_URL\"] = 5] = \"RESOURCE_URL\";\n})(SecurityContext || (SecurityContext = {}));\nvar MissingTranslationStrategy;\n(function (MissingTranslationStrategy) {\n MissingTranslationStrategy[MissingTranslationStrategy[\"Error\"] = 0] = \"Error\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Warning\"] = 1] = \"Warning\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Ignore\"] = 2] = \"Ignore\";\n})(MissingTranslationStrategy || (MissingTranslationStrategy = {}));\nfunction makeMetadataFactory(name, props) {\n // This must be declared as a function, not a fat arrow, so that ES2015 devmode produces code\n // that works with the static_reflector.ts in the ViewEngine compiler.\n // In particular, `_registerDecoratorOrConstructor` assumes that the value returned here can be\n // new'ed.\n function factory(...args) {\n const values = props ? props(...args) : {};\n return Object.assign({ ngMetadataName: name }, values);\n }\n factory.isTypeOf = (obj) => obj && obj.ngMetadataName === name;\n factory.ngMetadataName = name;\n return factory;\n}\nfunction parserSelectorToSimpleSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* CLASS */, ...selector.classNames] :\n [];\n const elementName = selector.element && selector.element !== '*' ? selector.element : '';\n return [elementName, ...selector.attrs, ...classes];\n}\nfunction parserSelectorToNegativeSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* CLASS */, ...selector.classNames] :\n [];\n if (selector.element) {\n return [\n 1 /* NOT */ | 4 /* ELEMENT */, selector.element, ...selector.attrs, ...classes\n ];\n }\n else if (selector.attrs.length) {\n return [1 /* NOT */ | 2 /* ATTRIBUTE */, ...selector.attrs, ...classes];\n }\n else {\n return selector.classNames && selector.classNames.length ?\n [1 /* NOT */ | 8 /* CLASS */, ...selector.classNames] :\n [];\n }\n}\nfunction parserSelectorToR3Selector(selector) {\n const positive = parserSelectorToSimpleSelector(selector);\n const negative = selector.notSelectors && selector.notSelectors.length ?\n selector.notSelectors.map(notSelector => parserSelectorToNegativeSelector(notSelector)) :\n [];\n return positive.concat(...negative);\n}\nfunction parseSelectorToR3Selector(selector) {\n return selector ? CssSelector.parse(selector).map(parserSelectorToR3Selector) : [];\n}\n\nvar core = /*#__PURE__*/Object.freeze({\n __proto__: null,\n createInject: createInject,\n createInjectionToken: createInjectionToken,\n createAttribute: createAttribute,\n createContentChildren: createContentChildren,\n createContentChild: createContentChild,\n createViewChildren: createViewChildren,\n createViewChild: createViewChild,\n createDirective: createDirective,\n get ViewEncapsulation () { return ViewEncapsulation; },\n get ChangeDetectionStrategy () { return ChangeDetectionStrategy; },\n createComponent: createComponent,\n createPipe: createPipe,\n createInput: createInput,\n createOutput: createOutput,\n createHostBinding: createHostBinding,\n createHostListener: createHostListener,\n createNgModule: createNgModule,\n createInjectable: createInjectable,\n CUSTOM_ELEMENTS_SCHEMA: CUSTOM_ELEMENTS_SCHEMA,\n NO_ERRORS_SCHEMA: NO_ERRORS_SCHEMA,\n createOptional: createOptional,\n createSelf: createSelf,\n createSkipSelf: createSkipSelf,\n createHost: createHost,\n Type: Type,\n get SecurityContext () { return SecurityContext; },\n get MissingTranslationStrategy () { return MissingTranslationStrategy; },\n parseSelectorToR3Selector: parseSelectorToR3Selector\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n//// Types\nvar TypeModifier;\n(function (TypeModifier) {\n TypeModifier[TypeModifier[\"Const\"] = 0] = \"Const\";\n})(TypeModifier || (TypeModifier = {}));\nclass Type$1 {\n constructor(modifiers = []) {\n this.modifiers = modifiers;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n}\nvar BuiltinTypeName;\n(function (BuiltinTypeName) {\n BuiltinTypeName[BuiltinTypeName[\"Dynamic\"] = 0] = \"Dynamic\";\n BuiltinTypeName[BuiltinTypeName[\"Bool\"] = 1] = \"Bool\";\n BuiltinTypeName[BuiltinTypeName[\"String\"] = 2] = \"String\";\n BuiltinTypeName[BuiltinTypeName[\"Int\"] = 3] = \"Int\";\n BuiltinTypeName[BuiltinTypeName[\"Number\"] = 4] = \"Number\";\n BuiltinTypeName[BuiltinTypeName[\"Function\"] = 5] = \"Function\";\n BuiltinTypeName[BuiltinTypeName[\"Inferred\"] = 6] = \"Inferred\";\n BuiltinTypeName[BuiltinTypeName[\"None\"] = 7] = \"None\";\n})(BuiltinTypeName || (BuiltinTypeName = {}));\nclass BuiltinType extends Type$1 {\n constructor(name, modifiers) {\n super(modifiers);\n this.name = name;\n }\n visitType(visitor, context) {\n return visitor.visitBuiltinType(this, context);\n }\n}\nclass ExpressionType extends Type$1 {\n constructor(value, modifiers, typeParams = null) {\n super(modifiers);\n this.value = value;\n this.typeParams = typeParams;\n }\n visitType(visitor, context) {\n return visitor.visitExpressionType(this, context);\n }\n}\nclass ArrayType extends Type$1 {\n constructor(of, modifiers) {\n super(modifiers);\n this.of = of;\n }\n visitType(visitor, context) {\n return visitor.visitArrayType(this, context);\n }\n}\nclass MapType extends Type$1 {\n constructor(valueType, modifiers) {\n super(modifiers);\n this.valueType = valueType || null;\n }\n visitType(visitor, context) {\n return visitor.visitMapType(this, context);\n }\n}\nconst DYNAMIC_TYPE = new BuiltinType(BuiltinTypeName.Dynamic);\nconst INFERRED_TYPE = new BuiltinType(BuiltinTypeName.Inferred);\nconst BOOL_TYPE = new BuiltinType(BuiltinTypeName.Bool);\nconst INT_TYPE = new BuiltinType(BuiltinTypeName.Int);\nconst NUMBER_TYPE = new BuiltinType(BuiltinTypeName.Number);\nconst STRING_TYPE = new BuiltinType(BuiltinTypeName.String);\nconst FUNCTION_TYPE = new BuiltinType(BuiltinTypeName.Function);\nconst NONE_TYPE = new BuiltinType(BuiltinTypeName.None);\n///// Expressions\nvar UnaryOperator;\n(function (UnaryOperator) {\n UnaryOperator[UnaryOperator[\"Minus\"] = 0] = \"Minus\";\n UnaryOperator[UnaryOperator[\"Plus\"] = 1] = \"Plus\";\n})(UnaryOperator || (UnaryOperator = {}));\nvar BinaryOperator;\n(function (BinaryOperator) {\n BinaryOperator[BinaryOperator[\"Equals\"] = 0] = \"Equals\";\n BinaryOperator[BinaryOperator[\"NotEquals\"] = 1] = \"NotEquals\";\n BinaryOperator[BinaryOperator[\"Identical\"] = 2] = \"Identical\";\n BinaryOperator[BinaryOperator[\"NotIdentical\"] = 3] = \"NotIdentical\";\n BinaryOperator[BinaryOperator[\"Minus\"] = 4] = \"Minus\";\n BinaryOperator[BinaryOperator[\"Plus\"] = 5] = \"Plus\";\n BinaryOperator[BinaryOperator[\"Divide\"] = 6] = \"Divide\";\n BinaryOperator[BinaryOperator[\"Multiply\"] = 7] = \"Multiply\";\n BinaryOperator[BinaryOperator[\"Modulo\"] = 8] = \"Modulo\";\n BinaryOperator[BinaryOperator[\"And\"] = 9] = \"And\";\n BinaryOperator[BinaryOperator[\"Or\"] = 10] = \"Or\";\n BinaryOperator[BinaryOperator[\"BitwiseAnd\"] = 11] = \"BitwiseAnd\";\n BinaryOperator[BinaryOperator[\"Lower\"] = 12] = \"Lower\";\n BinaryOperator[BinaryOperator[\"LowerEquals\"] = 13] = \"LowerEquals\";\n BinaryOperator[BinaryOperator[\"Bigger\"] = 14] = \"Bigger\";\n BinaryOperator[BinaryOperator[\"BiggerEquals\"] = 15] = \"BiggerEquals\";\n})(BinaryOperator || (BinaryOperator = {}));\nfunction nullSafeIsEquivalent(base, other) {\n if (base == null || other == null) {\n return base == other;\n }\n return base.isEquivalent(other);\n}\nfunction areAllEquivalent(base, other) {\n const len = base.length;\n if (len !== other.length) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n if (!base[i].isEquivalent(other[i])) {\n return false;\n }\n }\n return true;\n}\nclass Expression {\n constructor(type, sourceSpan) {\n this.type = type || null;\n this.sourceSpan = sourceSpan || null;\n }\n prop(name, sourceSpan) {\n return new ReadPropExpr(this, name, null, sourceSpan);\n }\n key(index, type, sourceSpan) {\n return new ReadKeyExpr(this, index, type, sourceSpan);\n }\n callMethod(name, params, sourceSpan) {\n return new InvokeMethodExpr(this, name, params, null, sourceSpan);\n }\n callFn(params, sourceSpan, pure) {\n return new InvokeFunctionExpr(this, params, null, sourceSpan, pure);\n }\n instantiate(params, type, sourceSpan) {\n return new InstantiateExpr(this, params, type, sourceSpan);\n }\n conditional(trueCase, falseCase = null, sourceSpan) {\n return new ConditionalExpr(this, trueCase, falseCase, null, sourceSpan);\n }\n equals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Equals, this, rhs, null, sourceSpan);\n }\n notEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotEquals, this, rhs, null, sourceSpan);\n }\n identical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Identical, this, rhs, null, sourceSpan);\n }\n notIdentical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotIdentical, this, rhs, null, sourceSpan);\n }\n minus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Minus, this, rhs, null, sourceSpan);\n }\n plus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Plus, this, rhs, null, sourceSpan);\n }\n divide(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Divide, this, rhs, null, sourceSpan);\n }\n multiply(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Multiply, this, rhs, null, sourceSpan);\n }\n modulo(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Modulo, this, rhs, null, sourceSpan);\n }\n and(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.And, this, rhs, null, sourceSpan);\n }\n bitwiseAnd(rhs, sourceSpan, parens = true) {\n return new BinaryOperatorExpr(BinaryOperator.BitwiseAnd, this, rhs, null, sourceSpan, parens);\n }\n or(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Or, this, rhs, null, sourceSpan);\n }\n lower(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Lower, this, rhs, null, sourceSpan);\n }\n lowerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.LowerEquals, this, rhs, null, sourceSpan);\n }\n bigger(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Bigger, this, rhs, null, sourceSpan);\n }\n biggerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.BiggerEquals, this, rhs, null, sourceSpan);\n }\n isBlank(sourceSpan) {\n // Note: We use equals by purpose here to compare to null and undefined in JS.\n // We use the typed null to allow strictNullChecks to narrow types.\n return this.equals(TYPED_NULL_EXPR, sourceSpan);\n }\n cast(type, sourceSpan) {\n return new CastExpr(this, type, sourceSpan);\n }\n toStmt() {\n return new ExpressionStatement(this, null);\n }\n}\nvar BuiltinVar;\n(function (BuiltinVar) {\n BuiltinVar[BuiltinVar[\"This\"] = 0] = \"This\";\n BuiltinVar[BuiltinVar[\"Super\"] = 1] = \"Super\";\n BuiltinVar[BuiltinVar[\"CatchError\"] = 2] = \"CatchError\";\n BuiltinVar[BuiltinVar[\"CatchStack\"] = 3] = \"CatchStack\";\n})(BuiltinVar || (BuiltinVar = {}));\nclass ReadVarExpr extends Expression {\n constructor(name, type, sourceSpan) {\n super(type, sourceSpan);\n if (typeof name === 'string') {\n this.name = name;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = name;\n }\n }\n isEquivalent(e) {\n return e instanceof ReadVarExpr && this.name === e.name && this.builtin === e.builtin;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadVarExpr(this, context);\n }\n set(value) {\n if (!this.name) {\n throw new Error(`Built in variable ${this.builtin} can not be assigned to.`);\n }\n return new WriteVarExpr(this.name, value, null, this.sourceSpan);\n }\n}\nclass TypeofExpr extends Expression {\n constructor(expr, type, sourceSpan) {\n super(type, sourceSpan);\n this.expr = expr;\n }\n visitExpression(visitor, context) {\n return visitor.visitTypeofExpr(this, context);\n }\n isEquivalent(e) {\n return e instanceof TypeofExpr && e.expr.isEquivalent(this.expr);\n }\n isConstant() {\n return this.expr.isConstant();\n }\n}\nclass WrappedNodeExpr extends Expression {\n constructor(node, type, sourceSpan) {\n super(type, sourceSpan);\n this.node = node;\n }\n isEquivalent(e) {\n return e instanceof WrappedNodeExpr && this.node === e.node;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWrappedNodeExpr(this, context);\n }\n}\nclass WriteVarExpr extends Expression {\n constructor(name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteVarExpr && this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteVarExpr(this, context);\n }\n toDeclStmt(type, modifiers) {\n return new DeclareVarStmt(this.name, this.value, type, modifiers, this.sourceSpan);\n }\n toConstDecl() {\n return this.toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]);\n }\n}\nclass WriteKeyExpr extends Expression {\n constructor(receiver, index, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index) && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteKeyExpr(this, context);\n }\n}\nclass WritePropExpr extends Expression {\n constructor(receiver, name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WritePropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWritePropExpr(this, context);\n }\n}\nvar BuiltinMethod;\n(function (BuiltinMethod) {\n BuiltinMethod[BuiltinMethod[\"ConcatArray\"] = 0] = \"ConcatArray\";\n BuiltinMethod[BuiltinMethod[\"SubscribeObservable\"] = 1] = \"SubscribeObservable\";\n BuiltinMethod[BuiltinMethod[\"Bind\"] = 2] = \"Bind\";\n})(BuiltinMethod || (BuiltinMethod = {}));\nclass InvokeMethodExpr extends Expression {\n constructor(receiver, method, args, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.args = args;\n if (typeof method === 'string') {\n this.name = method;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = method;\n }\n }\n isEquivalent(e) {\n return e instanceof InvokeMethodExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name && this.builtin === e.builtin && areAllEquivalent(this.args, e.args);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInvokeMethodExpr(this, context);\n }\n}\nclass InvokeFunctionExpr extends Expression {\n constructor(fn, args, type, sourceSpan, pure = false) {\n super(type, sourceSpan);\n this.fn = fn;\n this.args = args;\n this.pure = pure;\n }\n isEquivalent(e) {\n return e instanceof InvokeFunctionExpr && this.fn.isEquivalent(e.fn) &&\n areAllEquivalent(this.args, e.args) && this.pure === e.pure;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInvokeFunctionExpr(this, context);\n }\n}\nclass InstantiateExpr extends Expression {\n constructor(classExpr, args, type, sourceSpan) {\n super(type, sourceSpan);\n this.classExpr = classExpr;\n this.args = args;\n }\n isEquivalent(e) {\n return e instanceof InstantiateExpr && this.classExpr.isEquivalent(e.classExpr) &&\n areAllEquivalent(this.args, e.args);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInstantiateExpr(this, context);\n }\n}\nclass LiteralExpr extends Expression {\n constructor(value, type, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof LiteralExpr && this.value === e.value;\n }\n isConstant() {\n return true;\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralExpr(this, context);\n }\n}\nclass MessagePiece {\n constructor(text, sourceSpan) {\n this.text = text;\n this.sourceSpan = sourceSpan;\n }\n}\nclass LiteralPiece extends MessagePiece {\n}\nclass PlaceholderPiece extends MessagePiece {\n}\nclass LocalizedString extends Expression {\n constructor(metaBlock, messageParts, placeHolderNames, expressions, sourceSpan) {\n super(STRING_TYPE, sourceSpan);\n this.metaBlock = metaBlock;\n this.messageParts = messageParts;\n this.placeHolderNames = placeHolderNames;\n this.expressions = expressions;\n }\n isEquivalent(e) {\n // return e instanceof LocalizedString && this.message === e.message;\n return false;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitLocalizedString(this, context);\n }\n /**\n * Serialize the given `meta` and `messagePart` into \"cooked\" and \"raw\" strings that can be used\n * in a `$localize` tagged string. The format of the metadata is the same as that parsed by\n * `parseI18nMeta()`.\n *\n * @param meta The metadata to serialize\n * @param messagePart The first part of the tagged string\n */\n serializeI18nHead() {\n const MEANING_SEPARATOR = '|';\n const ID_SEPARATOR = '@@';\n const LEGACY_ID_INDICATOR = '␟';\n let metaBlock = this.metaBlock.description || '';\n if (this.metaBlock.meaning) {\n metaBlock = `${this.metaBlock.meaning}${MEANING_SEPARATOR}${metaBlock}`;\n }\n if (this.metaBlock.customId) {\n metaBlock = `${metaBlock}${ID_SEPARATOR}${this.metaBlock.customId}`;\n }\n if (this.metaBlock.legacyIds) {\n this.metaBlock.legacyIds.forEach(legacyId => {\n metaBlock = `${metaBlock}${LEGACY_ID_INDICATOR}${legacyId}`;\n });\n }\n return createCookedRawString(metaBlock, this.messageParts[0].text, this.getMessagePartSourceSpan(0));\n }\n getMessagePartSourceSpan(i) {\n var _a, _b;\n return (_b = (_a = this.messageParts[i]) === null || _a === void 0 ? void 0 : _a.sourceSpan) !== null && _b !== void 0 ? _b : this.sourceSpan;\n }\n getPlaceholderSourceSpan(i) {\n var _a, _b, _c, _d;\n return (_d = (_b = (_a = this.placeHolderNames[i]) === null || _a === void 0 ? void 0 : _a.sourceSpan) !== null && _b !== void 0 ? _b : (_c = this.expressions[i]) === null || _c === void 0 ? void 0 : _c.sourceSpan) !== null && _d !== void 0 ? _d : this.sourceSpan;\n }\n /**\n * Serialize the given `placeholderName` and `messagePart` into \"cooked\" and \"raw\" strings that\n * can be used in a `$localize` tagged string.\n *\n * @param placeholderName The placeholder name to serialize\n * @param messagePart The following message string after this placeholder\n */\n serializeI18nTemplatePart(partIndex) {\n const placeholderName = this.placeHolderNames[partIndex - 1].text;\n const messagePart = this.messageParts[partIndex];\n return createCookedRawString(placeholderName, messagePart.text, this.getMessagePartSourceSpan(partIndex));\n }\n}\nconst escapeSlashes = (str) => str.replace(/\\\\/g, '\\\\\\\\');\nconst escapeStartingColon = (str) => str.replace(/^:/, '\\\\:');\nconst escapeColons = (str) => str.replace(/:/g, '\\\\:');\nconst escapeForMessagePart = (str) => str.replace(/`/g, '\\\\`').replace(/\\${/g, '$\\\\{');\n/**\n * Creates a `{cooked, raw}` object from the `metaBlock` and `messagePart`.\n *\n * The `raw` text must have various character sequences escaped:\n * * \"\\\" would otherwise indicate that the next character is a control character.\n * * \"`\" and \"${\" are template string control sequences that would otherwise prematurely indicate\n * the end of a message part.\n * * \":\" inside a metablock would prematurely indicate the end of the metablock.\n * * \":\" at the start of a messagePart with no metablock would erroneously indicate the start of a\n * metablock.\n *\n * @param metaBlock Any metadata that should be prepended to the string\n * @param messagePart The message part of the string\n */\nfunction createCookedRawString(metaBlock, messagePart, range) {\n if (metaBlock === '') {\n return {\n cooked: messagePart,\n raw: escapeForMessagePart(escapeStartingColon(escapeSlashes(messagePart))),\n range,\n };\n }\n else {\n return {\n cooked: `:${metaBlock}:${messagePart}`,\n raw: escapeForMessagePart(`:${escapeColons(escapeSlashes(metaBlock))}:${escapeSlashes(messagePart)}`),\n range,\n };\n }\n}\nclass ExternalExpr extends Expression {\n constructor(value, type, typeParams = null, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n this.typeParams = typeParams;\n }\n isEquivalent(e) {\n return e instanceof ExternalExpr && this.value.name === e.value.name &&\n this.value.moduleName === e.value.moduleName && this.value.runtime === e.value.runtime;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitExternalExpr(this, context);\n }\n}\nclass ExternalReference {\n constructor(moduleName, name, runtime) {\n this.moduleName = moduleName;\n this.name = name;\n this.runtime = runtime;\n }\n}\nclass ConditionalExpr extends Expression {\n constructor(condition, trueCase, falseCase = null, type, sourceSpan) {\n super(type || trueCase.type, sourceSpan);\n this.condition = condition;\n this.falseCase = falseCase;\n this.trueCase = trueCase;\n }\n isEquivalent(e) {\n return e instanceof ConditionalExpr && this.condition.isEquivalent(e.condition) &&\n this.trueCase.isEquivalent(e.trueCase) && nullSafeIsEquivalent(this.falseCase, e.falseCase);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitConditionalExpr(this, context);\n }\n}\nclass NotExpr extends Expression {\n constructor(condition, sourceSpan) {\n super(BOOL_TYPE, sourceSpan);\n this.condition = condition;\n }\n isEquivalent(e) {\n return e instanceof NotExpr && this.condition.isEquivalent(e.condition);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitNotExpr(this, context);\n }\n}\nclass AssertNotNull extends Expression {\n constructor(condition, sourceSpan) {\n super(condition.type, sourceSpan);\n this.condition = condition;\n }\n isEquivalent(e) {\n return e instanceof AssertNotNull && this.condition.isEquivalent(e.condition);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitAssertNotNullExpr(this, context);\n }\n}\nclass CastExpr extends Expression {\n constructor(value, type, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof CastExpr && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitCastExpr(this, context);\n }\n}\nclass FnParam {\n constructor(name, type = null) {\n this.name = name;\n this.type = type;\n }\n isEquivalent(param) {\n return this.name === param.name;\n }\n}\nclass FunctionExpr extends Expression {\n constructor(params, statements, type, sourceSpan, name) {\n super(type, sourceSpan);\n this.params = params;\n this.statements = statements;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof FunctionExpr && areAllEquivalent(this.params, e.params) &&\n areAllEquivalent(this.statements, e.statements);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitFunctionExpr(this, context);\n }\n toDeclStmt(name, modifiers) {\n return new DeclareFunctionStmt(name, this.params, this.statements, this.type, modifiers, this.sourceSpan);\n }\n}\nclass UnaryOperatorExpr extends Expression {\n constructor(operator, expr, type, sourceSpan, parens = true) {\n super(type || NUMBER_TYPE, sourceSpan);\n this.operator = operator;\n this.expr = expr;\n this.parens = parens;\n }\n isEquivalent(e) {\n return e instanceof UnaryOperatorExpr && this.operator === e.operator &&\n this.expr.isEquivalent(e.expr);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitUnaryOperatorExpr(this, context);\n }\n}\nclass BinaryOperatorExpr extends Expression {\n constructor(operator, lhs, rhs, type, sourceSpan, parens = true) {\n super(type || lhs.type, sourceSpan);\n this.operator = operator;\n this.rhs = rhs;\n this.parens = parens;\n this.lhs = lhs;\n }\n isEquivalent(e) {\n return e instanceof BinaryOperatorExpr && this.operator === e.operator &&\n this.lhs.isEquivalent(e.lhs) && this.rhs.isEquivalent(e.rhs);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitBinaryOperatorExpr(this, context);\n }\n}\nclass ReadPropExpr extends Expression {\n constructor(receiver, name, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof ReadPropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadPropExpr(this, context);\n }\n set(value) {\n return new WritePropExpr(this.receiver, this.name, value, null, this.sourceSpan);\n }\n}\nclass ReadKeyExpr extends Expression {\n constructor(receiver, index, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n }\n isEquivalent(e) {\n return e instanceof ReadKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadKeyExpr(this, context);\n }\n set(value) {\n return new WriteKeyExpr(this.receiver, this.index, value, null, this.sourceSpan);\n }\n}\nclass LiteralArrayExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n }\n isConstant() {\n return this.entries.every(e => e.isConstant());\n }\n isEquivalent(e) {\n return e instanceof LiteralArrayExpr && areAllEquivalent(this.entries, e.entries);\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralArrayExpr(this, context);\n }\n}\nclass LiteralMapEntry {\n constructor(key, value, quoted) {\n this.key = key;\n this.value = value;\n this.quoted = quoted;\n }\n isEquivalent(e) {\n return this.key === e.key && this.value.isEquivalent(e.value);\n }\n}\nclass LiteralMapExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n this.valueType = null;\n if (type) {\n this.valueType = type.valueType;\n }\n }\n isEquivalent(e) {\n return e instanceof LiteralMapExpr && areAllEquivalent(this.entries, e.entries);\n }\n isConstant() {\n return this.entries.every(e => e.value.isConstant());\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralMapExpr(this, context);\n }\n}\nclass CommaExpr extends Expression {\n constructor(parts, sourceSpan) {\n super(parts[parts.length - 1].type, sourceSpan);\n this.parts = parts;\n }\n isEquivalent(e) {\n return e instanceof CommaExpr && areAllEquivalent(this.parts, e.parts);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitCommaExpr(this, context);\n }\n}\nconst THIS_EXPR = new ReadVarExpr(BuiltinVar.This, null, null);\nconst SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super, null, null);\nconst CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError, null, null);\nconst CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack, null, null);\nconst NULL_EXPR = new LiteralExpr(null, null, null);\nconst TYPED_NULL_EXPR = new LiteralExpr(null, INFERRED_TYPE, null);\n//// Statements\nvar StmtModifier;\n(function (StmtModifier) {\n StmtModifier[StmtModifier[\"Final\"] = 0] = \"Final\";\n StmtModifier[StmtModifier[\"Private\"] = 1] = \"Private\";\n StmtModifier[StmtModifier[\"Exported\"] = 2] = \"Exported\";\n StmtModifier[StmtModifier[\"Static\"] = 3] = \"Static\";\n})(StmtModifier || (StmtModifier = {}));\nclass LeadingComment {\n constructor(text, multiline, trailingNewline) {\n this.text = text;\n this.multiline = multiline;\n this.trailingNewline = trailingNewline;\n }\n toString() {\n return this.multiline ? ` ${this.text} ` : this.text;\n }\n}\nclass JSDocComment extends LeadingComment {\n constructor(tags) {\n super('', /* multiline */ true, /* trailingNewline */ true);\n this.tags = tags;\n }\n toString() {\n return serializeTags(this.tags);\n }\n}\nclass Statement {\n constructor(modifiers = [], sourceSpan = null, leadingComments) {\n this.modifiers = modifiers;\n this.sourceSpan = sourceSpan;\n this.leadingComments = leadingComments;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n addLeadingComment(leadingComment) {\n var _a;\n this.leadingComments = (_a = this.leadingComments) !== null && _a !== void 0 ? _a : [];\n this.leadingComments.push(leadingComment);\n }\n}\nclass DeclareVarStmt extends Statement {\n constructor(name, value, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.value = value;\n this.type = type || (value && value.type) || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareVarStmt && this.name === stmt.name &&\n (this.value ? !!stmt.value && this.value.isEquivalent(stmt.value) : !stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareVarStmt(this, context);\n }\n}\nclass DeclareFunctionStmt extends Statement {\n constructor(name, params, statements, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.params = params;\n this.statements = statements;\n this.type = type || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareFunctionStmt && areAllEquivalent(this.params, stmt.params) &&\n areAllEquivalent(this.statements, stmt.statements);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareFunctionStmt(this, context);\n }\n}\nclass ExpressionStatement extends Statement {\n constructor(expr, sourceSpan, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.expr = expr;\n }\n isEquivalent(stmt) {\n return stmt instanceof ExpressionStatement && this.expr.isEquivalent(stmt.expr);\n }\n visitStatement(visitor, context) {\n return visitor.visitExpressionStmt(this, context);\n }\n}\nclass ReturnStatement extends Statement {\n constructor(value, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.value = value;\n }\n isEquivalent(stmt) {\n return stmt instanceof ReturnStatement && this.value.isEquivalent(stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitReturnStmt(this, context);\n }\n}\nclass AbstractClassPart {\n constructor(type = null, modifiers = []) {\n this.type = type;\n this.modifiers = modifiers;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n}\nclass ClassField extends AbstractClassPart {\n constructor(name, type, modifiers, initializer) {\n super(type, modifiers);\n this.name = name;\n this.initializer = initializer;\n }\n isEquivalent(f) {\n return this.name === f.name;\n }\n}\nclass ClassMethod extends AbstractClassPart {\n constructor(name, params, body, type, modifiers) {\n super(type, modifiers);\n this.name = name;\n this.params = params;\n this.body = body;\n }\n isEquivalent(m) {\n return this.name === m.name && areAllEquivalent(this.body, m.body);\n }\n}\nclass ClassGetter extends AbstractClassPart {\n constructor(name, body, type, modifiers) {\n super(type, modifiers);\n this.name = name;\n this.body = body;\n }\n isEquivalent(m) {\n return this.name === m.name && areAllEquivalent(this.body, m.body);\n }\n}\nclass ClassStmt extends Statement {\n constructor(name, parent, fields, getters, constructorMethod, methods, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.parent = parent;\n this.fields = fields;\n this.getters = getters;\n this.constructorMethod = constructorMethod;\n this.methods = methods;\n }\n isEquivalent(stmt) {\n return stmt instanceof ClassStmt && this.name === stmt.name &&\n nullSafeIsEquivalent(this.parent, stmt.parent) &&\n areAllEquivalent(this.fields, stmt.fields) &&\n areAllEquivalent(this.getters, stmt.getters) &&\n this.constructorMethod.isEquivalent(stmt.constructorMethod) &&\n areAllEquivalent(this.methods, stmt.methods);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareClassStmt(this, context);\n }\n}\nclass IfStmt extends Statement {\n constructor(condition, trueCase, falseCase = [], sourceSpan, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.condition = condition;\n this.trueCase = trueCase;\n this.falseCase = falseCase;\n }\n isEquivalent(stmt) {\n return stmt instanceof IfStmt && this.condition.isEquivalent(stmt.condition) &&\n areAllEquivalent(this.trueCase, stmt.trueCase) &&\n areAllEquivalent(this.falseCase, stmt.falseCase);\n }\n visitStatement(visitor, context) {\n return visitor.visitIfStmt(this, context);\n }\n}\nclass TryCatchStmt extends Statement {\n constructor(bodyStmts, catchStmts, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.bodyStmts = bodyStmts;\n this.catchStmts = catchStmts;\n }\n isEquivalent(stmt) {\n return stmt instanceof TryCatchStmt && areAllEquivalent(this.bodyStmts, stmt.bodyStmts) &&\n areAllEquivalent(this.catchStmts, stmt.catchStmts);\n }\n visitStatement(visitor, context) {\n return visitor.visitTryCatchStmt(this, context);\n }\n}\nclass ThrowStmt extends Statement {\n constructor(error, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.error = error;\n }\n isEquivalent(stmt) {\n return stmt instanceof TryCatchStmt && this.error.isEquivalent(stmt.error);\n }\n visitStatement(visitor, context) {\n return visitor.visitThrowStmt(this, context);\n }\n}\nclass AstTransformer {\n transformExpr(expr, context) {\n return expr;\n }\n transformStmt(stmt, context) {\n return stmt;\n }\n visitReadVarExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitWrappedNodeExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitTypeofExpr(expr, context) {\n return this.transformExpr(new TypeofExpr(expr.expr.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWriteVarExpr(expr, context) {\n return this.transformExpr(new WriteVarExpr(expr.name, expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWriteKeyExpr(expr, context) {\n return this.transformExpr(new WriteKeyExpr(expr.receiver.visitExpression(this, context), expr.index.visitExpression(this, context), expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWritePropExpr(expr, context) {\n return this.transformExpr(new WritePropExpr(expr.receiver.visitExpression(this, context), expr.name, expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitInvokeMethodExpr(ast, context) {\n const method = ast.builtin || ast.name;\n return this.transformExpr(new InvokeMethodExpr(ast.receiver.visitExpression(this, context), method, this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitInvokeFunctionExpr(ast, context) {\n return this.transformExpr(new InvokeFunctionExpr(ast.fn.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitInstantiateExpr(ast, context) {\n return this.transformExpr(new InstantiateExpr(ast.classExpr.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitLocalizedString(ast, context) {\n return this.transformExpr(new LocalizedString(ast.metaBlock, ast.messageParts, ast.placeHolderNames, this.visitAllExpressions(ast.expressions, context), ast.sourceSpan), context);\n }\n visitExternalExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitConditionalExpr(ast, context) {\n return this.transformExpr(new ConditionalExpr(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitNotExpr(ast, context) {\n return this.transformExpr(new NotExpr(ast.condition.visitExpression(this, context), ast.sourceSpan), context);\n }\n visitAssertNotNullExpr(ast, context) {\n return this.transformExpr(new AssertNotNull(ast.condition.visitExpression(this, context), ast.sourceSpan), context);\n }\n visitCastExpr(ast, context) {\n return this.transformExpr(new CastExpr(ast.value.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitFunctionExpr(ast, context) {\n return this.transformExpr(new FunctionExpr(ast.params, this.visitAllStatements(ast.statements, context), ast.type, ast.sourceSpan), context);\n }\n visitUnaryOperatorExpr(ast, context) {\n return this.transformExpr(new UnaryOperatorExpr(ast.operator, ast.expr.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitBinaryOperatorExpr(ast, context) {\n return this.transformExpr(new BinaryOperatorExpr(ast.operator, ast.lhs.visitExpression(this, context), ast.rhs.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitReadPropExpr(ast, context) {\n return this.transformExpr(new ReadPropExpr(ast.receiver.visitExpression(this, context), ast.name, ast.type, ast.sourceSpan), context);\n }\n visitReadKeyExpr(ast, context) {\n return this.transformExpr(new ReadKeyExpr(ast.receiver.visitExpression(this, context), ast.index.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralArrayExpr(ast, context) {\n return this.transformExpr(new LiteralArrayExpr(this.visitAllExpressions(ast.entries, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralMapExpr(ast, context) {\n const entries = ast.entries.map((entry) => new LiteralMapEntry(entry.key, entry.value.visitExpression(this, context), entry.quoted));\n const mapType = new MapType(ast.valueType);\n return this.transformExpr(new LiteralMapExpr(entries, mapType, ast.sourceSpan), context);\n }\n visitCommaExpr(ast, context) {\n return this.transformExpr(new CommaExpr(this.visitAllExpressions(ast.parts, context), ast.sourceSpan), context);\n }\n visitAllExpressions(exprs, context) {\n return exprs.map(expr => expr.visitExpression(this, context));\n }\n visitDeclareVarStmt(stmt, context) {\n const value = stmt.value && stmt.value.visitExpression(this, context);\n return this.transformStmt(new DeclareVarStmt(stmt.name, value, stmt.type, stmt.modifiers, stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitDeclareFunctionStmt(stmt, context) {\n return this.transformStmt(new DeclareFunctionStmt(stmt.name, stmt.params, this.visitAllStatements(stmt.statements, context), stmt.type, stmt.modifiers, stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitExpressionStmt(stmt, context) {\n return this.transformStmt(new ExpressionStatement(stmt.expr.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitReturnStmt(stmt, context) {\n return this.transformStmt(new ReturnStatement(stmt.value.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitDeclareClassStmt(stmt, context) {\n const parent = stmt.parent.visitExpression(this, context);\n const getters = stmt.getters.map(getter => new ClassGetter(getter.name, this.visitAllStatements(getter.body, context), getter.type, getter.modifiers));\n const ctorMethod = stmt.constructorMethod &&\n new ClassMethod(stmt.constructorMethod.name, stmt.constructorMethod.params, this.visitAllStatements(stmt.constructorMethod.body, context), stmt.constructorMethod.type, stmt.constructorMethod.modifiers);\n const methods = stmt.methods.map(method => new ClassMethod(method.name, method.params, this.visitAllStatements(method.body, context), method.type, method.modifiers));\n return this.transformStmt(new ClassStmt(stmt.name, parent, stmt.fields, getters, ctorMethod, methods, stmt.modifiers, stmt.sourceSpan), context);\n }\n visitIfStmt(stmt, context) {\n return this.transformStmt(new IfStmt(stmt.condition.visitExpression(this, context), this.visitAllStatements(stmt.trueCase, context), this.visitAllStatements(stmt.falseCase, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitTryCatchStmt(stmt, context) {\n return this.transformStmt(new TryCatchStmt(this.visitAllStatements(stmt.bodyStmts, context), this.visitAllStatements(stmt.catchStmts, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitThrowStmt(stmt, context) {\n return this.transformStmt(new ThrowStmt(stmt.error.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitAllStatements(stmts, context) {\n return stmts.map(stmt => stmt.visitStatement(this, context));\n }\n}\nclass RecursiveAstVisitor {\n visitType(ast, context) {\n return ast;\n }\n visitExpression(ast, context) {\n if (ast.type) {\n ast.type.visitType(this, context);\n }\n return ast;\n }\n visitBuiltinType(type, context) {\n return this.visitType(type, context);\n }\n visitExpressionType(type, context) {\n type.value.visitExpression(this, context);\n if (type.typeParams !== null) {\n type.typeParams.forEach(param => this.visitType(param, context));\n }\n return this.visitType(type, context);\n }\n visitArrayType(type, context) {\n return this.visitType(type, context);\n }\n visitMapType(type, context) {\n return this.visitType(type, context);\n }\n visitWrappedNodeExpr(ast, context) {\n return ast;\n }\n visitTypeofExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitReadVarExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitWriteVarExpr(ast, context) {\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWriteKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWritePropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitInvokeMethodExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitInvokeFunctionExpr(ast, context) {\n ast.fn.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitInstantiateExpr(ast, context) {\n ast.classExpr.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitLocalizedString(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitExternalExpr(ast, context) {\n if (ast.typeParams) {\n ast.typeParams.forEach(type => type.visitType(this, context));\n }\n return this.visitExpression(ast, context);\n }\n visitConditionalExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n ast.trueCase.visitExpression(this, context);\n ast.falseCase.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitNotExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitAssertNotNullExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitCastExpr(ast, context) {\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitFunctionExpr(ast, context) {\n this.visitAllStatements(ast.statements, context);\n return this.visitExpression(ast, context);\n }\n visitUnaryOperatorExpr(ast, context) {\n ast.expr.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitBinaryOperatorExpr(ast, context) {\n ast.lhs.visitExpression(this, context);\n ast.rhs.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadPropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralArrayExpr(ast, context) {\n this.visitAllExpressions(ast.entries, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralMapExpr(ast, context) {\n ast.entries.forEach((entry) => entry.value.visitExpression(this, context));\n return this.visitExpression(ast, context);\n }\n visitCommaExpr(ast, context) {\n this.visitAllExpressions(ast.parts, context);\n return this.visitExpression(ast, context);\n }\n visitAllExpressions(exprs, context) {\n exprs.forEach(expr => expr.visitExpression(this, context));\n }\n visitDeclareVarStmt(stmt, context) {\n if (stmt.value) {\n stmt.value.visitExpression(this, context);\n }\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitDeclareFunctionStmt(stmt, context) {\n this.visitAllStatements(stmt.statements, context);\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitExpressionStmt(stmt, context) {\n stmt.expr.visitExpression(this, context);\n return stmt;\n }\n visitReturnStmt(stmt, context) {\n stmt.value.visitExpression(this, context);\n return stmt;\n }\n visitDeclareClassStmt(stmt, context) {\n stmt.parent.visitExpression(this, context);\n stmt.getters.forEach(getter => this.visitAllStatements(getter.body, context));\n if (stmt.constructorMethod) {\n this.visitAllStatements(stmt.constructorMethod.body, context);\n }\n stmt.methods.forEach(method => this.visitAllStatements(method.body, context));\n return stmt;\n }\n visitIfStmt(stmt, context) {\n stmt.condition.visitExpression(this, context);\n this.visitAllStatements(stmt.trueCase, context);\n this.visitAllStatements(stmt.falseCase, context);\n return stmt;\n }\n visitTryCatchStmt(stmt, context) {\n this.visitAllStatements(stmt.bodyStmts, context);\n this.visitAllStatements(stmt.catchStmts, context);\n return stmt;\n }\n visitThrowStmt(stmt, context) {\n stmt.error.visitExpression(this, context);\n return stmt;\n }\n visitAllStatements(stmts, context) {\n stmts.forEach(stmt => stmt.visitStatement(this, context));\n }\n}\nfunction findReadVarNames(stmts) {\n const visitor = new _ReadVarVisitor();\n visitor.visitAllStatements(stmts, null);\n return visitor.varNames;\n}\nclass _ReadVarVisitor extends RecursiveAstVisitor {\n constructor() {\n super(...arguments);\n this.varNames = new Set();\n }\n visitDeclareFunctionStmt(stmt, context) {\n // Don't descend into nested functions\n return stmt;\n }\n visitDeclareClassStmt(stmt, context) {\n // Don't descend into nested classes\n return stmt;\n }\n visitReadVarExpr(ast, context) {\n if (ast.name) {\n this.varNames.add(ast.name);\n }\n return null;\n }\n}\nfunction collectExternalReferences(stmts) {\n const visitor = new _FindExternalReferencesVisitor();\n visitor.visitAllStatements(stmts, null);\n return visitor.externalReferences;\n}\nclass _FindExternalReferencesVisitor extends RecursiveAstVisitor {\n constructor() {\n super(...arguments);\n this.externalReferences = [];\n }\n visitExternalExpr(e, context) {\n this.externalReferences.push(e.value);\n return super.visitExternalExpr(e, context);\n }\n}\nfunction applySourceSpanToStatementIfNeeded(stmt, sourceSpan) {\n if (!sourceSpan) {\n return stmt;\n }\n const transformer = new _ApplySourceSpanTransformer(sourceSpan);\n return stmt.visitStatement(transformer, null);\n}\nfunction applySourceSpanToExpressionIfNeeded(expr, sourceSpan) {\n if (!sourceSpan) {\n return expr;\n }\n const transformer = new _ApplySourceSpanTransformer(sourceSpan);\n return expr.visitExpression(transformer, null);\n}\nclass _ApplySourceSpanTransformer extends AstTransformer {\n constructor(sourceSpan) {\n super();\n this.sourceSpan = sourceSpan;\n }\n _clone(obj) {\n const clone = Object.create(obj.constructor.prototype);\n for (let prop of Object.keys(obj)) {\n clone[prop] = obj[prop];\n }\n return clone;\n }\n transformExpr(expr, context) {\n if (!expr.sourceSpan) {\n expr = this._clone(expr);\n expr.sourceSpan = this.sourceSpan;\n }\n return expr;\n }\n transformStmt(stmt, context) {\n if (!stmt.sourceSpan) {\n stmt = this._clone(stmt);\n stmt.sourceSpan = this.sourceSpan;\n }\n return stmt;\n }\n}\nfunction leadingComment(text, multiline = false, trailingNewline = true) {\n return new LeadingComment(text, multiline, trailingNewline);\n}\nfunction jsDocComment(tags = []) {\n return new JSDocComment(tags);\n}\nfunction variable(name, type, sourceSpan) {\n return new ReadVarExpr(name, type, sourceSpan);\n}\nfunction importExpr(id, typeParams = null, sourceSpan) {\n return new ExternalExpr(id, null, typeParams, sourceSpan);\n}\nfunction importType(id, typeParams, typeModifiers) {\n return id != null ? expressionType(importExpr(id, typeParams, null), typeModifiers) : null;\n}\nfunction expressionType(expr, typeModifiers, typeParams) {\n return new ExpressionType(expr, typeModifiers, typeParams);\n}\nfunction typeofExpr(expr) {\n return new TypeofExpr(expr);\n}\nfunction literalArr(values, type, sourceSpan) {\n return new LiteralArrayExpr(values, type, sourceSpan);\n}\nfunction literalMap(values, type = null) {\n return new LiteralMapExpr(values.map(e => new LiteralMapEntry(e.key, e.value, e.quoted)), type, null);\n}\nfunction unary(operator, expr, type, sourceSpan) {\n return new UnaryOperatorExpr(operator, expr, type, sourceSpan);\n}\nfunction not(expr, sourceSpan) {\n return new NotExpr(expr, sourceSpan);\n}\nfunction assertNotNull(expr, sourceSpan) {\n return new AssertNotNull(expr, sourceSpan);\n}\nfunction fn(params, body, type, sourceSpan, name) {\n return new FunctionExpr(params, body, type, sourceSpan, name);\n}\nfunction ifStmt(condition, thenClause, elseClause, sourceSpan, leadingComments) {\n return new IfStmt(condition, thenClause, elseClause, sourceSpan, leadingComments);\n}\nfunction literal(value, type, sourceSpan) {\n return new LiteralExpr(value, type, sourceSpan);\n}\nfunction localizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan) {\n return new LocalizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan);\n}\nfunction isNull(exp) {\n return exp instanceof LiteralExpr && exp.value === null;\n}\n/*\n * Serializes a `Tag` into a string.\n * Returns a string like \" @foo {bar} baz\" (note the leading whitespace before `@foo`).\n */\nfunction tagToString(tag) {\n let out = '';\n if (tag.tagName) {\n out += ` @${tag.tagName}`;\n }\n if (tag.text) {\n if (tag.text.match(/\\/\\*|\\*\\//)) {\n throw new Error('JSDoc text cannot contain \"/*\" and \"*/\"');\n }\n out += ' ' + tag.text.replace(/@/g, '\\\\@');\n }\n return out;\n}\nfunction serializeTags(tags) {\n if (tags.length === 0)\n return '';\n if (tags.length === 1 && tags[0].tagName && !tags[0].text) {\n // The JSDOC comment is a single simple tag: e.g `/** @tagname */`.\n return `*${tagToString(tags[0])} `;\n }\n let out = '*\\n';\n for (const tag of tags) {\n out += ' *';\n // If the tagToString is multi-line, insert \" * \" prefixes on lines.\n out += tagToString(tag).replace(/\\n/g, '\\n * ');\n out += '\\n';\n }\n out += ' ';\n return out;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction splitAtColon(input, defaultValues) {\n return _splitAt(input, ':', defaultValues);\n}\nfunction splitAtPeriod(input, defaultValues) {\n return _splitAt(input, '.', defaultValues);\n}\nfunction _splitAt(input, character, defaultValues) {\n const characterIndex = input.indexOf(character);\n if (characterIndex == -1)\n return defaultValues;\n return [input.slice(0, characterIndex).trim(), input.slice(characterIndex + 1).trim()];\n}\nfunction visitValue(value, visitor, context) {\n if (Array.isArray(value)) {\n return visitor.visitArray(value, context);\n }\n if (isStrictStringMap(value)) {\n return visitor.visitStringMap(value, context);\n }\n if (value == null || typeof value == 'string' || typeof value == 'number' ||\n typeof value == 'boolean') {\n return visitor.visitPrimitive(value, context);\n }\n return visitor.visitOther(value, context);\n}\nfunction isDefined(val) {\n return val !== null && val !== undefined;\n}\nfunction noUndefined(val) {\n return val === undefined ? null : val;\n}\nclass ValueTransformer {\n visitArray(arr, context) {\n return arr.map(value => visitValue(value, this, context));\n }\n visitStringMap(map, context) {\n const result = {};\n Object.keys(map).forEach(key => {\n result[key] = visitValue(map[key], this, context);\n });\n return result;\n }\n visitPrimitive(value, context) {\n return value;\n }\n visitOther(value, context) {\n return value;\n }\n}\nconst SyncAsync = {\n assertSync: (value) => {\n if (isPromise(value)) {\n throw new Error(`Illegal state: value cannot be a promise`);\n }\n return value;\n },\n then: (value, cb) => {\n return isPromise(value) ? value.then(cb) : cb(value);\n },\n all: (syncAsyncValues) => {\n return syncAsyncValues.some(isPromise) ? Promise.all(syncAsyncValues) : syncAsyncValues;\n }\n};\nfunction error(msg) {\n throw new Error(`Internal Error: ${msg}`);\n}\nfunction syntaxError(msg, parseErrors) {\n const error = Error(msg);\n error[ERROR_SYNTAX_ERROR] = true;\n if (parseErrors)\n error[ERROR_PARSE_ERRORS] = parseErrors;\n return error;\n}\nconst ERROR_SYNTAX_ERROR = 'ngSyntaxError';\nconst ERROR_PARSE_ERRORS = 'ngParseErrors';\nfunction isSyntaxError(error) {\n return error[ERROR_SYNTAX_ERROR];\n}\nfunction getParseErrors(error) {\n return error[ERROR_PARSE_ERRORS] || [];\n}\n// Escape characters that have a special meaning in Regular Expressions\nfunction escapeRegExp(s) {\n return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\nconst STRING_MAP_PROTO = Object.getPrototypeOf({});\nfunction isStrictStringMap(obj) {\n return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\nfunction utf8Encode(str) {\n let encoded = '';\n for (let index = 0; index < str.length; index++) {\n let codePoint = str.charCodeAt(index);\n // decode surrogate\n // see https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n if (codePoint >= 0xd800 && codePoint <= 0xdbff && str.length > (index + 1)) {\n const low = str.charCodeAt(index + 1);\n if (low >= 0xdc00 && low <= 0xdfff) {\n index++;\n codePoint = ((codePoint - 0xd800) << 10) + low - 0xdc00 + 0x10000;\n }\n }\n if (codePoint <= 0x7f) {\n encoded += String.fromCharCode(codePoint);\n }\n else if (codePoint <= 0x7ff) {\n encoded += String.fromCharCode(((codePoint >> 6) & 0x1F) | 0xc0, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0xffff) {\n encoded += String.fromCharCode((codePoint >> 12) | 0xe0, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0x1fffff) {\n encoded += String.fromCharCode(((codePoint >> 18) & 0x07) | 0xf0, ((codePoint >> 12) & 0x3f) | 0x80, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n }\n return encoded;\n}\nfunction stringify(token) {\n if (typeof token === 'string') {\n return token;\n }\n if (Array.isArray(token)) {\n return '[' + token.map(stringify).join(', ') + ']';\n }\n if (token == null) {\n return '' + token;\n }\n if (token.overriddenName) {\n return `${token.overriddenName}`;\n }\n if (token.name) {\n return `${token.name}`;\n }\n if (!token.toString) {\n return 'object';\n }\n // WARNING: do not try to `JSON.stringify(token)` here\n // see https://github.com/angular/angular/issues/23440\n const res = token.toString();\n if (res == null) {\n return '' + res;\n }\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\n/**\n * Lazily retrieves the reference value from a forwardRef.\n */\nfunction resolveForwardRef(type) {\n if (typeof type === 'function' && type.hasOwnProperty('__forward_ref__')) {\n return type();\n }\n else {\n return type;\n }\n}\n/**\n * Determine if the argument is shaped like a Promise\n */\nfunction isPromise(obj) {\n // allow any Promise/A+ compliant thenable.\n // It's up to the caller to ensure that obj.then conforms to the spec\n return !!obj && typeof obj.then === 'function';\n}\nclass Version {\n constructor(full) {\n this.full = full;\n const splits = full.split('.');\n this.major = splits[0];\n this.minor = splits[1];\n this.patch = splits.slice(2).join('.');\n }\n}\nconst __window = typeof window !== 'undefined' && window;\nconst __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nconst __global = typeof global !== 'undefined' && global;\n// Check __global first, because in Node tests both __global and __window may be defined and _global\n// should be __global in that case.\nconst _global = __global || __window || __self;\nfunction newArray(size, value) {\n const list = [];\n for (let i = 0; i < size; i++) {\n list.push(value);\n }\n return list;\n}\n/**\n * Partitions a given array into 2 arrays, based on a boolean value returned by the condition\n * function.\n *\n * @param arr Input array that should be partitioned\n * @param conditionFn Condition function that is called for each item in a given array and returns a\n * boolean value.\n */\nfunction partitionArray(arr, conditionFn) {\n const truthy = [];\n const falsy = [];\n for (const item of arr) {\n (conditionFn(item) ? truthy : falsy).push(item);\n }\n return [truthy, falsy];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CONSTANT_PREFIX = '_c';\n/**\n * `ConstantPool` tries to reuse literal factories when two or more literals are identical.\n * We determine whether literals are identical by creating a key out of their AST using the\n * `KeyVisitor`. This constant is used to replace dynamic expressions which can't be safely\n * converted into a key. E.g. given an expression `{foo: bar()}`, since we don't know what\n * the result of `bar` will be, we create a key that looks like `{foo: }`. Note\n * that we use a variable, rather than something like `null` in order to avoid collisions.\n */\nconst UNKNOWN_VALUE_KEY = variable('');\n/**\n * Context to use when producing a key.\n *\n * This ensures we see the constant not the reference variable when producing\n * a key.\n */\nconst KEY_CONTEXT = {};\n/**\n * Generally all primitive values are excluded from the `ConstantPool`, but there is an exclusion\n * for strings that reach a certain length threshold. This constant defines the length threshold for\n * strings.\n */\nconst POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS = 50;\n/**\n * A node that is a place-holder that allows the node to be replaced when the actual\n * node is known.\n *\n * This allows the constant pool to change an expression from a direct reference to\n * a constant to a shared constant. It returns a fix-up node that is later allowed to\n * change the referenced expression.\n */\nclass FixupExpression extends Expression {\n constructor(resolved) {\n super(resolved.type);\n this.resolved = resolved;\n this.original = resolved;\n }\n visitExpression(visitor, context) {\n if (context === KEY_CONTEXT) {\n // When producing a key we want to traverse the constant not the\n // variable used to refer to it.\n return this.original.visitExpression(visitor, context);\n }\n else {\n return this.resolved.visitExpression(visitor, context);\n }\n }\n isEquivalent(e) {\n return e instanceof FixupExpression && this.resolved.isEquivalent(e.resolved);\n }\n isConstant() {\n return true;\n }\n fixup(expression) {\n this.resolved = expression;\n this.shared = true;\n }\n}\n/**\n * A constant pool allows a code emitter to share constant in an output context.\n *\n * The constant pool also supports sharing access to ivy definitions references.\n */\nclass ConstantPool {\n constructor(isClosureCompilerEnabled = false) {\n this.isClosureCompilerEnabled = isClosureCompilerEnabled;\n this.statements = [];\n this.literals = new Map();\n this.literalFactories = new Map();\n this.injectorDefinitions = new Map();\n this.directiveDefinitions = new Map();\n this.componentDefinitions = new Map();\n this.pipeDefinitions = new Map();\n this.nextNameIndex = 0;\n }\n getConstLiteral(literal, forceShared) {\n if ((literal instanceof LiteralExpr && !isLongStringLiteral(literal)) ||\n literal instanceof FixupExpression) {\n // Do no put simple literals into the constant pool or try to produce a constant for a\n // reference to a constant.\n return literal;\n }\n const key = this.keyOf(literal);\n let fixup = this.literals.get(key);\n let newValue = false;\n if (!fixup) {\n fixup = new FixupExpression(literal);\n this.literals.set(key, fixup);\n newValue = true;\n }\n if ((!newValue && !fixup.shared) || (newValue && forceShared)) {\n // Replace the expression with a variable\n const name = this.freshName();\n let definition;\n let usage;\n if (this.isClosureCompilerEnabled && isLongStringLiteral(literal)) {\n // For string literals, Closure will **always** inline the string at\n // **all** usages, duplicating it each time. For large strings, this\n // unnecessarily bloats bundle size. To work around this restriction, we\n // wrap the string in a function, and call that function for each usage.\n // This tricks Closure into using inline logic for functions instead of\n // string literals. Function calls are only inlined if the body is small\n // enough to be worth it. By doing this, very large strings will be\n // shared across multiple usages, rather than duplicating the string at\n // each usage site.\n //\n // const myStr = function() { return \"very very very long string\"; };\n // const usage1 = myStr();\n // const usage2 = myStr();\n definition = variable(name).set(new FunctionExpr([], // Params.\n [\n // Statements.\n new ReturnStatement(literal),\n ]));\n usage = variable(name).callFn([]);\n }\n else {\n // Just declare and use the variable directly, without a function call\n // indirection. This saves a few bytes and avoids an unncessary call.\n definition = variable(name).set(literal);\n usage = variable(name);\n }\n this.statements.push(definition.toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]));\n fixup.fixup(usage);\n }\n return fixup;\n }\n getDefinition(type, kind, ctx, forceShared = false) {\n const definitions = this.definitionsOf(kind);\n let fixup = definitions.get(type);\n let newValue = false;\n if (!fixup) {\n const property = this.propertyNameOf(kind);\n fixup = new FixupExpression(ctx.importExpr(type).prop(property));\n definitions.set(type, fixup);\n newValue = true;\n }\n if ((!newValue && !fixup.shared) || (newValue && forceShared)) {\n const name = this.freshName();\n this.statements.push(variable(name).set(fixup.resolved).toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]));\n fixup.fixup(variable(name));\n }\n return fixup;\n }\n getLiteralFactory(literal) {\n // Create a pure function that builds an array of a mix of constant and variable expressions\n if (literal instanceof LiteralArrayExpr) {\n const argumentsForKey = literal.entries.map(e => e.isConstant() ? e : UNKNOWN_VALUE_KEY);\n const key = this.keyOf(literalArr(argumentsForKey));\n return this._getLiteralFactory(key, literal.entries, entries => literalArr(entries));\n }\n else {\n const expressionForKey = literalMap(literal.entries.map(e => ({\n key: e.key,\n value: e.value.isConstant() ? e.value : UNKNOWN_VALUE_KEY,\n quoted: e.quoted\n })));\n const key = this.keyOf(expressionForKey);\n return this._getLiteralFactory(key, literal.entries.map(e => e.value), entries => literalMap(entries.map((value, index) => ({\n key: literal.entries[index].key,\n value,\n quoted: literal.entries[index].quoted\n }))));\n }\n }\n _getLiteralFactory(key, values, resultMap) {\n let literalFactory = this.literalFactories.get(key);\n const literalFactoryArguments = values.filter((e => !e.isConstant()));\n if (!literalFactory) {\n const resultExpressions = values.map((e, index) => e.isConstant() ? this.getConstLiteral(e, true) : variable(`a${index}`));\n const parameters = resultExpressions.filter(isVariable).map(e => new FnParam(e.name, DYNAMIC_TYPE));\n const pureFunctionDeclaration = fn(parameters, [new ReturnStatement(resultMap(resultExpressions))], INFERRED_TYPE);\n const name = this.freshName();\n this.statements.push(variable(name).set(pureFunctionDeclaration).toDeclStmt(INFERRED_TYPE, [\n StmtModifier.Final\n ]));\n literalFactory = variable(name);\n this.literalFactories.set(key, literalFactory);\n }\n return { literalFactory, literalFactoryArguments };\n }\n /**\n * Produce a unique name.\n *\n * The name might be unique among different prefixes if any of the prefixes end in\n * a digit so the prefix should be a constant string (not based on user input) and\n * must not end in a digit.\n */\n uniqueName(prefix) {\n return `${prefix}${this.nextNameIndex++}`;\n }\n definitionsOf(kind) {\n switch (kind) {\n case 2 /* Component */:\n return this.componentDefinitions;\n case 1 /* Directive */:\n return this.directiveDefinitions;\n case 0 /* Injector */:\n return this.injectorDefinitions;\n case 3 /* Pipe */:\n return this.pipeDefinitions;\n }\n error(`Unknown definition kind ${kind}`);\n return this.componentDefinitions;\n }\n propertyNameOf(kind) {\n switch (kind) {\n case 2 /* Component */:\n return 'ɵcmp';\n case 1 /* Directive */:\n return 'ɵdir';\n case 0 /* Injector */:\n return 'ɵinj';\n case 3 /* Pipe */:\n return 'ɵpipe';\n }\n error(`Unknown definition kind ${kind}`);\n return '';\n }\n freshName() {\n return this.uniqueName(CONSTANT_PREFIX);\n }\n keyOf(expression) {\n return expression.visitExpression(new KeyVisitor(), KEY_CONTEXT);\n }\n}\n/**\n * Visitor used to determine if 2 expressions are equivalent and can be shared in the\n * `ConstantPool`.\n *\n * When the id (string) generated by the visitor is equal, expressions are considered equivalent.\n */\nclass KeyVisitor {\n constructor() {\n this.visitWrappedNodeExpr = invalid;\n this.visitWriteVarExpr = invalid;\n this.visitWriteKeyExpr = invalid;\n this.visitWritePropExpr = invalid;\n this.visitInvokeMethodExpr = invalid;\n this.visitInvokeFunctionExpr = invalid;\n this.visitInstantiateExpr = invalid;\n this.visitConditionalExpr = invalid;\n this.visitNotExpr = invalid;\n this.visitAssertNotNullExpr = invalid;\n this.visitCastExpr = invalid;\n this.visitFunctionExpr = invalid;\n this.visitUnaryOperatorExpr = invalid;\n this.visitBinaryOperatorExpr = invalid;\n this.visitReadPropExpr = invalid;\n this.visitReadKeyExpr = invalid;\n this.visitCommaExpr = invalid;\n this.visitLocalizedString = invalid;\n }\n visitLiteralExpr(ast) {\n return `${typeof ast.value === 'string' ? '\"' + ast.value + '\"' : ast.value}`;\n }\n visitLiteralArrayExpr(ast, context) {\n return `[${ast.entries.map(entry => entry.visitExpression(this, context)).join(',')}]`;\n }\n visitLiteralMapExpr(ast, context) {\n const mapKey = (entry) => {\n const quote = entry.quoted ? '\"' : '';\n return `${quote}${entry.key}${quote}`;\n };\n const mapEntry = (entry) => `${mapKey(entry)}:${entry.value.visitExpression(this, context)}`;\n return `{${ast.entries.map(mapEntry).join(',')}`;\n }\n visitExternalExpr(ast) {\n return ast.value.moduleName ? `EX:${ast.value.moduleName}:${ast.value.name}` :\n `EX:${ast.value.runtime.name}`;\n }\n visitReadVarExpr(node) {\n return `VAR:${node.name}`;\n }\n visitTypeofExpr(node, context) {\n return `TYPEOF:${node.expr.visitExpression(this, context)}`;\n }\n}\nfunction invalid(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction isVariable(e) {\n return e instanceof ReadVarExpr;\n}\nfunction isLongStringLiteral(expr) {\n return expr instanceof LiteralExpr && typeof expr.value === 'string' &&\n expr.value.length >= POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CORE = '@angular/core';\nclass Identifiers {\n}\nIdentifiers.ANALYZE_FOR_ENTRY_COMPONENTS = {\n name: 'ANALYZE_FOR_ENTRY_COMPONENTS',\n moduleName: CORE,\n};\nIdentifiers.ElementRef = { name: 'ElementRef', moduleName: CORE };\nIdentifiers.NgModuleRef = { name: 'NgModuleRef', moduleName: CORE };\nIdentifiers.ViewContainerRef = { name: 'ViewContainerRef', moduleName: CORE };\nIdentifiers.ChangeDetectorRef = {\n name: 'ChangeDetectorRef',\n moduleName: CORE,\n};\nIdentifiers.QueryList = { name: 'QueryList', moduleName: CORE };\nIdentifiers.TemplateRef = { name: 'TemplateRef', moduleName: CORE };\nIdentifiers.Renderer2 = { name: 'Renderer2', moduleName: CORE };\nIdentifiers.CodegenComponentFactoryResolver = {\n name: 'ɵCodegenComponentFactoryResolver',\n moduleName: CORE,\n};\nIdentifiers.ComponentFactoryResolver = {\n name: 'ComponentFactoryResolver',\n moduleName: CORE,\n};\nIdentifiers.ComponentFactory = { name: 'ComponentFactory', moduleName: CORE };\nIdentifiers.ComponentRef = { name: 'ComponentRef', moduleName: CORE };\nIdentifiers.NgModuleFactory = { name: 'NgModuleFactory', moduleName: CORE };\nIdentifiers.createModuleFactory = {\n name: 'ɵcmf',\n moduleName: CORE,\n};\nIdentifiers.moduleDef = {\n name: 'ɵmod',\n moduleName: CORE,\n};\nIdentifiers.moduleProviderDef = {\n name: 'ɵmpd',\n moduleName: CORE,\n};\nIdentifiers.RegisterModuleFactoryFn = {\n name: 'ɵregisterModuleFactory',\n moduleName: CORE,\n};\nIdentifiers.inject = { name: 'ɵɵinject', moduleName: CORE };\nIdentifiers.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE };\nIdentifiers.INJECTOR = { name: 'INJECTOR', moduleName: CORE };\nIdentifiers.Injector = { name: 'Injector', moduleName: CORE };\nIdentifiers.ɵɵdefineInjectable = { name: 'ɵɵdefineInjectable', moduleName: CORE };\nIdentifiers.InjectableDef = { name: 'ɵɵInjectableDef', moduleName: CORE };\nIdentifiers.ViewEncapsulation = {\n name: 'ViewEncapsulation',\n moduleName: CORE,\n};\nIdentifiers.ChangeDetectionStrategy = {\n name: 'ChangeDetectionStrategy',\n moduleName: CORE,\n};\nIdentifiers.SecurityContext = {\n name: 'SecurityContext',\n moduleName: CORE,\n};\nIdentifiers.LOCALE_ID = { name: 'LOCALE_ID', moduleName: CORE };\nIdentifiers.TRANSLATIONS_FORMAT = {\n name: 'TRANSLATIONS_FORMAT',\n moduleName: CORE,\n};\nIdentifiers.inlineInterpolate = {\n name: 'ɵinlineInterpolate',\n moduleName: CORE,\n};\nIdentifiers.interpolate = { name: 'ɵinterpolate', moduleName: CORE };\nIdentifiers.EMPTY_ARRAY = { name: 'ɵEMPTY_ARRAY', moduleName: CORE };\nIdentifiers.EMPTY_MAP = { name: 'ɵEMPTY_MAP', moduleName: CORE };\nIdentifiers.Renderer = { name: 'Renderer', moduleName: CORE };\nIdentifiers.viewDef = { name: 'ɵvid', moduleName: CORE };\nIdentifiers.elementDef = { name: 'ɵeld', moduleName: CORE };\nIdentifiers.anchorDef = { name: 'ɵand', moduleName: CORE };\nIdentifiers.textDef = { name: 'ɵted', moduleName: CORE };\nIdentifiers.directiveDef = { name: 'ɵdid', moduleName: CORE };\nIdentifiers.providerDef = { name: 'ɵprd', moduleName: CORE };\nIdentifiers.queryDef = { name: 'ɵqud', moduleName: CORE };\nIdentifiers.pureArrayDef = { name: 'ɵpad', moduleName: CORE };\nIdentifiers.pureObjectDef = { name: 'ɵpod', moduleName: CORE };\nIdentifiers.purePipeDef = { name: 'ɵppd', moduleName: CORE };\nIdentifiers.pipeDef = { name: 'ɵpid', moduleName: CORE };\nIdentifiers.nodeValue = { name: 'ɵnov', moduleName: CORE };\nIdentifiers.ngContentDef = { name: 'ɵncd', moduleName: CORE };\nIdentifiers.unwrapValue = { name: 'ɵunv', moduleName: CORE };\nIdentifiers.createRendererType2 = { name: 'ɵcrt', moduleName: CORE };\n// type only\nIdentifiers.RendererType2 = {\n name: 'RendererType2',\n moduleName: CORE,\n};\n// type only\nIdentifiers.ViewDefinition = {\n name: 'ɵViewDefinition',\n moduleName: CORE,\n};\nIdentifiers.createComponentFactory = { name: 'ɵccf', moduleName: CORE };\nIdentifiers.setClassMetadata = { name: 'ɵsetClassMetadata', moduleName: CORE };\nfunction createTokenForReference(reference) {\n return { identifier: { reference: reference } };\n}\nfunction createTokenForExternalReference(reflector, reference) {\n return createTokenForReference(reflector.resolveExternalReference(reference));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A token representing the a reference to a static type.\n *\n * This token is unique for a filePath and name and can be used as a hash table key.\n */\nclass StaticSymbol {\n constructor(filePath, name, members) {\n this.filePath = filePath;\n this.name = name;\n this.members = members;\n }\n assertNoMembers() {\n if (this.members.length) {\n throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`);\n }\n }\n}\n/**\n * A cache of static symbol used by the StaticReflector to return the same symbol for the\n * same symbol values.\n */\nclass StaticSymbolCache {\n constructor() {\n this.cache = new Map();\n }\n get(declarationFile, name, members) {\n members = members || [];\n const memberSuffix = members.length ? `.${members.join('.')}` : '';\n const key = `\"${declarationFile}\".${name}${memberSuffix}`;\n let result = this.cache.get(key);\n if (!result) {\n result = new StaticSymbol(declarationFile, name, members);\n this.cache.set(key, result);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// group 0: \"[prop] or (event) or @trigger\"\n// group 1: \"prop\" from \"[prop]\"\n// group 2: \"event\" from \"(event)\"\n// group 3: \"@trigger\" from \"@trigger\"\nconst HOST_REG_EXP = /^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;\nfunction sanitizeIdentifier(name) {\n return name.replace(/\\W/g, '_');\n}\nlet _anonymousTypeIndex = 0;\nfunction identifierName(compileIdentifier) {\n if (!compileIdentifier || !compileIdentifier.reference) {\n return null;\n }\n const ref = compileIdentifier.reference;\n if (ref instanceof StaticSymbol) {\n return ref.name;\n }\n if (ref['__anonymousType']) {\n return ref['__anonymousType'];\n }\n let identifier = stringify(ref);\n if (identifier.indexOf('(') >= 0) {\n // case: anonymous functions!\n identifier = `anonymous_${_anonymousTypeIndex++}`;\n ref['__anonymousType'] = identifier;\n }\n else {\n identifier = sanitizeIdentifier(identifier);\n }\n return identifier;\n}\nfunction identifierModuleUrl(compileIdentifier) {\n const ref = compileIdentifier.reference;\n if (ref instanceof StaticSymbol) {\n return ref.filePath;\n }\n // Runtime type\n return `./${stringify(ref)}`;\n}\nfunction viewClassName(compType, embeddedTemplateIndex) {\n return `View_${identifierName({ reference: compType })}_${embeddedTemplateIndex}`;\n}\nfunction rendererTypeName(compType) {\n return `RenderType_${identifierName({ reference: compType })}`;\n}\nfunction hostViewClassName(compType) {\n return `HostView_${identifierName({ reference: compType })}`;\n}\nfunction componentFactoryName(compType) {\n return `${identifierName({ reference: compType })}NgFactory`;\n}\nvar CompileSummaryKind;\n(function (CompileSummaryKind) {\n CompileSummaryKind[CompileSummaryKind[\"Pipe\"] = 0] = \"Pipe\";\n CompileSummaryKind[CompileSummaryKind[\"Directive\"] = 1] = \"Directive\";\n CompileSummaryKind[CompileSummaryKind[\"NgModule\"] = 2] = \"NgModule\";\n CompileSummaryKind[CompileSummaryKind[\"Injectable\"] = 3] = \"Injectable\";\n})(CompileSummaryKind || (CompileSummaryKind = {}));\nfunction tokenName(token) {\n return token.value != null ? sanitizeIdentifier(token.value) : identifierName(token.identifier);\n}\nfunction tokenReference(token) {\n if (token.identifier != null) {\n return token.identifier.reference;\n }\n else {\n return token.value;\n }\n}\n/**\n * Metadata about a stylesheet\n */\nclass CompileStylesheetMetadata {\n constructor({ moduleUrl, styles, styleUrls } = {}) {\n this.moduleUrl = moduleUrl || null;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n }\n}\n/**\n * Metadata regarding compilation of a template.\n */\nclass CompileTemplateMetadata {\n constructor({ encapsulation, template, templateUrl, htmlAst, styles, styleUrls, externalStylesheets, animations, ngContentSelectors, interpolation, isInline, preserveWhitespaces }) {\n this.encapsulation = encapsulation;\n this.template = template;\n this.templateUrl = templateUrl;\n this.htmlAst = htmlAst;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n this.externalStylesheets = _normalizeArray(externalStylesheets);\n this.animations = animations ? flatten(animations) : [];\n this.ngContentSelectors = ngContentSelectors || [];\n if (interpolation && interpolation.length != 2) {\n throw new Error(`'interpolation' should have a start and an end symbol.`);\n }\n this.interpolation = interpolation;\n this.isInline = isInline;\n this.preserveWhitespaces = preserveWhitespaces;\n }\n toSummary() {\n return {\n ngContentSelectors: this.ngContentSelectors,\n encapsulation: this.encapsulation,\n styles: this.styles,\n animations: this.animations\n };\n }\n}\n/**\n * Metadata regarding compilation of a directive.\n */\nclass CompileDirectiveMetadata {\n constructor({ isHost, type, isComponent, selector, exportAs, changeDetection, inputs, outputs, hostListeners, hostProperties, hostAttributes, providers, viewProviders, queries, guards, viewQueries, entryComponents, template, componentViewType, rendererType, componentFactory }) {\n this.isHost = !!isHost;\n this.type = type;\n this.isComponent = isComponent;\n this.selector = selector;\n this.exportAs = exportAs;\n this.changeDetection = changeDetection;\n this.inputs = inputs;\n this.outputs = outputs;\n this.hostListeners = hostListeners;\n this.hostProperties = hostProperties;\n this.hostAttributes = hostAttributes;\n this.providers = _normalizeArray(providers);\n this.viewProviders = _normalizeArray(viewProviders);\n this.queries = _normalizeArray(queries);\n this.guards = guards;\n this.viewQueries = _normalizeArray(viewQueries);\n this.entryComponents = _normalizeArray(entryComponents);\n this.template = template;\n this.componentViewType = componentViewType;\n this.rendererType = rendererType;\n this.componentFactory = componentFactory;\n }\n static create({ isHost, type, isComponent, selector, exportAs, changeDetection, inputs, outputs, host, providers, viewProviders, queries, guards, viewQueries, entryComponents, template, componentViewType, rendererType, componentFactory }) {\n const hostListeners = {};\n const hostProperties = {};\n const hostAttributes = {};\n if (host != null) {\n Object.keys(host).forEach(key => {\n const value = host[key];\n const matches = key.match(HOST_REG_EXP);\n if (matches === null) {\n hostAttributes[key] = value;\n }\n else if (matches[1] != null) {\n hostProperties[matches[1]] = value;\n }\n else if (matches[2] != null) {\n hostListeners[matches[2]] = value;\n }\n });\n }\n const inputsMap = {};\n if (inputs != null) {\n inputs.forEach((bindConfig) => {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n const parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n inputsMap[parts[0]] = parts[1];\n });\n }\n const outputsMap = {};\n if (outputs != null) {\n outputs.forEach((bindConfig) => {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n const parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n outputsMap[parts[0]] = parts[1];\n });\n }\n return new CompileDirectiveMetadata({\n isHost,\n type,\n isComponent: !!isComponent,\n selector,\n exportAs,\n changeDetection,\n inputs: inputsMap,\n outputs: outputsMap,\n hostListeners,\n hostProperties,\n hostAttributes,\n providers,\n viewProviders,\n queries,\n guards,\n viewQueries,\n entryComponents,\n template,\n componentViewType,\n rendererType,\n componentFactory,\n });\n }\n toSummary() {\n return {\n summaryKind: CompileSummaryKind.Directive,\n type: this.type,\n isComponent: this.isComponent,\n selector: this.selector,\n exportAs: this.exportAs,\n inputs: this.inputs,\n outputs: this.outputs,\n hostListeners: this.hostListeners,\n hostProperties: this.hostProperties,\n hostAttributes: this.hostAttributes,\n providers: this.providers,\n viewProviders: this.viewProviders,\n queries: this.queries,\n guards: this.guards,\n viewQueries: this.viewQueries,\n entryComponents: this.entryComponents,\n changeDetection: this.changeDetection,\n template: this.template && this.template.toSummary(),\n componentViewType: this.componentViewType,\n rendererType: this.rendererType,\n componentFactory: this.componentFactory\n };\n }\n}\nclass CompilePipeMetadata {\n constructor({ type, name, pure }) {\n this.type = type;\n this.name = name;\n this.pure = !!pure;\n }\n toSummary() {\n return {\n summaryKind: CompileSummaryKind.Pipe,\n type: this.type,\n name: this.name,\n pure: this.pure\n };\n }\n}\nclass CompileShallowModuleMetadata {\n}\n/**\n * Metadata regarding compilation of a module.\n */\nclass CompileNgModuleMetadata {\n constructor({ type, providers, declaredDirectives, exportedDirectives, declaredPipes, exportedPipes, entryComponents, bootstrapComponents, importedModules, exportedModules, schemas, transitiveModule, id }) {\n this.type = type || null;\n this.declaredDirectives = _normalizeArray(declaredDirectives);\n this.exportedDirectives = _normalizeArray(exportedDirectives);\n this.declaredPipes = _normalizeArray(declaredPipes);\n this.exportedPipes = _normalizeArray(exportedPipes);\n this.providers = _normalizeArray(providers);\n this.entryComponents = _normalizeArray(entryComponents);\n this.bootstrapComponents = _normalizeArray(bootstrapComponents);\n this.importedModules = _normalizeArray(importedModules);\n this.exportedModules = _normalizeArray(exportedModules);\n this.schemas = _normalizeArray(schemas);\n this.id = id || null;\n this.transitiveModule = transitiveModule || null;\n }\n toSummary() {\n const module = this.transitiveModule;\n return {\n summaryKind: CompileSummaryKind.NgModule,\n type: this.type,\n entryComponents: module.entryComponents,\n providers: module.providers,\n modules: module.modules,\n exportedDirectives: module.exportedDirectives,\n exportedPipes: module.exportedPipes\n };\n }\n}\nclass TransitiveCompileNgModuleMetadata {\n constructor() {\n this.directivesSet = new Set();\n this.directives = [];\n this.exportedDirectivesSet = new Set();\n this.exportedDirectives = [];\n this.pipesSet = new Set();\n this.pipes = [];\n this.exportedPipesSet = new Set();\n this.exportedPipes = [];\n this.modulesSet = new Set();\n this.modules = [];\n this.entryComponentsSet = new Set();\n this.entryComponents = [];\n this.providers = [];\n }\n addProvider(provider, module) {\n this.providers.push({ provider: provider, module: module });\n }\n addDirective(id) {\n if (!this.directivesSet.has(id.reference)) {\n this.directivesSet.add(id.reference);\n this.directives.push(id);\n }\n }\n addExportedDirective(id) {\n if (!this.exportedDirectivesSet.has(id.reference)) {\n this.exportedDirectivesSet.add(id.reference);\n this.exportedDirectives.push(id);\n }\n }\n addPipe(id) {\n if (!this.pipesSet.has(id.reference)) {\n this.pipesSet.add(id.reference);\n this.pipes.push(id);\n }\n }\n addExportedPipe(id) {\n if (!this.exportedPipesSet.has(id.reference)) {\n this.exportedPipesSet.add(id.reference);\n this.exportedPipes.push(id);\n }\n }\n addModule(id) {\n if (!this.modulesSet.has(id.reference)) {\n this.modulesSet.add(id.reference);\n this.modules.push(id);\n }\n }\n addEntryComponent(ec) {\n if (!this.entryComponentsSet.has(ec.componentType)) {\n this.entryComponentsSet.add(ec.componentType);\n this.entryComponents.push(ec);\n }\n }\n}\nfunction _normalizeArray(obj) {\n return obj || [];\n}\nclass ProviderMeta {\n constructor(token, { useClass, useValue, useExisting, useFactory, deps, multi }) {\n this.token = token;\n this.useClass = useClass || null;\n this.useValue = useValue;\n this.useExisting = useExisting;\n this.useFactory = useFactory || null;\n this.dependencies = deps || null;\n this.multi = !!multi;\n }\n}\nfunction flatten(list) {\n return list.reduce((flat, item) => {\n const flatItem = Array.isArray(item) ? flatten(item) : item;\n return flat.concat(flatItem);\n }, []);\n}\nfunction jitSourceUrl(url) {\n // Note: We need 3 \"/\" so that ng shows up as a separate domain\n // in the chrome dev tools.\n return url.replace(/(\\w+:\\/\\/[\\w:-]+)?(\\/+)?/, 'ng:///');\n}\nfunction templateSourceUrl(ngModuleType, compMeta, templateMeta) {\n let url;\n if (templateMeta.isInline) {\n if (compMeta.type.reference instanceof StaticSymbol) {\n // Note: a .ts file might contain multiple components with inline templates,\n // so we need to give them unique urls, as these will be used for sourcemaps.\n url = `${compMeta.type.reference.filePath}.${compMeta.type.reference.name}.html`;\n }\n else {\n url = `${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.html`;\n }\n }\n else {\n url = templateMeta.templateUrl;\n }\n return compMeta.type.reference instanceof StaticSymbol ? url : jitSourceUrl(url);\n}\nfunction sharedStylesheetJitUrl(meta, id) {\n const pathParts = meta.moduleUrl.split(/\\/\\\\/g);\n const baseName = pathParts[pathParts.length - 1];\n return jitSourceUrl(`css/${id}${baseName}.ngstyle.js`);\n}\nfunction ngModuleJitUrl(moduleMeta) {\n return jitSourceUrl(`${identifierName(moduleMeta.type)}/module.ngfactory.js`);\n}\nfunction templateJitUrl(ngModuleType, compMeta) {\n return jitSourceUrl(`${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.ngfactory.js`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CORE$1 = '@angular/core';\nclass Identifiers$1 {\n}\n/* Methods */\nIdentifiers$1.NEW_METHOD = 'factory';\nIdentifiers$1.TRANSFORM_METHOD = 'transform';\nIdentifiers$1.PATCH_DEPS = 'patchedDeps';\n/* Instructions */\nIdentifiers$1.namespaceHTML = { name: 'ɵɵnamespaceHTML', moduleName: CORE$1 };\nIdentifiers$1.namespaceMathML = { name: 'ɵɵnamespaceMathML', moduleName: CORE$1 };\nIdentifiers$1.namespaceSVG = { name: 'ɵɵnamespaceSVG', moduleName: CORE$1 };\nIdentifiers$1.element = { name: 'ɵɵelement', moduleName: CORE$1 };\nIdentifiers$1.elementStart = { name: 'ɵɵelementStart', moduleName: CORE$1 };\nIdentifiers$1.elementEnd = { name: 'ɵɵelementEnd', moduleName: CORE$1 };\nIdentifiers$1.advance = { name: 'ɵɵadvance', moduleName: CORE$1 };\nIdentifiers$1.syntheticHostProperty = { name: 'ɵɵsyntheticHostProperty', moduleName: CORE$1 };\nIdentifiers$1.syntheticHostListener = { name: 'ɵɵsyntheticHostListener', moduleName: CORE$1 };\nIdentifiers$1.attribute = { name: 'ɵɵattribute', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate1 = { name: 'ɵɵattributeInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate2 = { name: 'ɵɵattributeInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate3 = { name: 'ɵɵattributeInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate4 = { name: 'ɵɵattributeInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate5 = { name: 'ɵɵattributeInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate6 = { name: 'ɵɵattributeInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate7 = { name: 'ɵɵattributeInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate8 = { name: 'ɵɵattributeInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolateV = { name: 'ɵɵattributeInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.classProp = { name: 'ɵɵclassProp', moduleName: CORE$1 };\nIdentifiers$1.elementContainerStart = { name: 'ɵɵelementContainerStart', moduleName: CORE$1 };\nIdentifiers$1.elementContainerEnd = { name: 'ɵɵelementContainerEnd', moduleName: CORE$1 };\nIdentifiers$1.elementContainer = { name: 'ɵɵelementContainer', moduleName: CORE$1 };\nIdentifiers$1.styleMap = { name: 'ɵɵstyleMap', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate1 = { name: 'ɵɵstyleMapInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate2 = { name: 'ɵɵstyleMapInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate3 = { name: 'ɵɵstyleMapInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate4 = { name: 'ɵɵstyleMapInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate5 = { name: 'ɵɵstyleMapInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate6 = { name: 'ɵɵstyleMapInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate7 = { name: 'ɵɵstyleMapInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate8 = { name: 'ɵɵstyleMapInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolateV = { name: 'ɵɵstyleMapInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.classMap = { name: 'ɵɵclassMap', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate1 = { name: 'ɵɵclassMapInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate2 = { name: 'ɵɵclassMapInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate3 = { name: 'ɵɵclassMapInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate4 = { name: 'ɵɵclassMapInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate5 = { name: 'ɵɵclassMapInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate6 = { name: 'ɵɵclassMapInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate7 = { name: 'ɵɵclassMapInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate8 = { name: 'ɵɵclassMapInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolateV = { name: 'ɵɵclassMapInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.styleProp = { name: 'ɵɵstyleProp', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate1 = { name: 'ɵɵstylePropInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate2 = { name: 'ɵɵstylePropInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate3 = { name: 'ɵɵstylePropInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate4 = { name: 'ɵɵstylePropInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate5 = { name: 'ɵɵstylePropInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate6 = { name: 'ɵɵstylePropInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate7 = { name: 'ɵɵstylePropInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate8 = { name: 'ɵɵstylePropInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolateV = { name: 'ɵɵstylePropInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.nextContext = { name: 'ɵɵnextContext', moduleName: CORE$1 };\nIdentifiers$1.templateCreate = { name: 'ɵɵtemplate', moduleName: CORE$1 };\nIdentifiers$1.text = { name: 'ɵɵtext', moduleName: CORE$1 };\nIdentifiers$1.enableBindings = { name: 'ɵɵenableBindings', moduleName: CORE$1 };\nIdentifiers$1.disableBindings = { name: 'ɵɵdisableBindings', moduleName: CORE$1 };\nIdentifiers$1.getCurrentView = { name: 'ɵɵgetCurrentView', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate = { name: 'ɵɵtextInterpolate', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate1 = { name: 'ɵɵtextInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate2 = { name: 'ɵɵtextInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate3 = { name: 'ɵɵtextInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate4 = { name: 'ɵɵtextInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate5 = { name: 'ɵɵtextInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate6 = { name: 'ɵɵtextInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate7 = { name: 'ɵɵtextInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate8 = { name: 'ɵɵtextInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.textInterpolateV = { name: 'ɵɵtextInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.restoreView = { name: 'ɵɵrestoreView', moduleName: CORE$1 };\nIdentifiers$1.pureFunction0 = { name: 'ɵɵpureFunction0', moduleName: CORE$1 };\nIdentifiers$1.pureFunction1 = { name: 'ɵɵpureFunction1', moduleName: CORE$1 };\nIdentifiers$1.pureFunction2 = { name: 'ɵɵpureFunction2', moduleName: CORE$1 };\nIdentifiers$1.pureFunction3 = { name: 'ɵɵpureFunction3', moduleName: CORE$1 };\nIdentifiers$1.pureFunction4 = { name: 'ɵɵpureFunction4', moduleName: CORE$1 };\nIdentifiers$1.pureFunction5 = { name: 'ɵɵpureFunction5', moduleName: CORE$1 };\nIdentifiers$1.pureFunction6 = { name: 'ɵɵpureFunction6', moduleName: CORE$1 };\nIdentifiers$1.pureFunction7 = { name: 'ɵɵpureFunction7', moduleName: CORE$1 };\nIdentifiers$1.pureFunction8 = { name: 'ɵɵpureFunction8', moduleName: CORE$1 };\nIdentifiers$1.pureFunctionV = { name: 'ɵɵpureFunctionV', moduleName: CORE$1 };\nIdentifiers$1.pipeBind1 = { name: 'ɵɵpipeBind1', moduleName: CORE$1 };\nIdentifiers$1.pipeBind2 = { name: 'ɵɵpipeBind2', moduleName: CORE$1 };\nIdentifiers$1.pipeBind3 = { name: 'ɵɵpipeBind3', moduleName: CORE$1 };\nIdentifiers$1.pipeBind4 = { name: 'ɵɵpipeBind4', moduleName: CORE$1 };\nIdentifiers$1.pipeBindV = { name: 'ɵɵpipeBindV', moduleName: CORE$1 };\nIdentifiers$1.hostProperty = { name: 'ɵɵhostProperty', moduleName: CORE$1 };\nIdentifiers$1.property = { name: 'ɵɵproperty', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate = { name: 'ɵɵpropertyInterpolate', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate1 = { name: 'ɵɵpropertyInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate2 = { name: 'ɵɵpropertyInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate3 = { name: 'ɵɵpropertyInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate4 = { name: 'ɵɵpropertyInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate5 = { name: 'ɵɵpropertyInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate6 = { name: 'ɵɵpropertyInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate7 = { name: 'ɵɵpropertyInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate8 = { name: 'ɵɵpropertyInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolateV = { name: 'ɵɵpropertyInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.i18n = { name: 'ɵɵi18n', moduleName: CORE$1 };\nIdentifiers$1.i18nAttributes = { name: 'ɵɵi18nAttributes', moduleName: CORE$1 };\nIdentifiers$1.i18nExp = { name: 'ɵɵi18nExp', moduleName: CORE$1 };\nIdentifiers$1.i18nStart = { name: 'ɵɵi18nStart', moduleName: CORE$1 };\nIdentifiers$1.i18nEnd = { name: 'ɵɵi18nEnd', moduleName: CORE$1 };\nIdentifiers$1.i18nApply = { name: 'ɵɵi18nApply', moduleName: CORE$1 };\nIdentifiers$1.i18nPostprocess = { name: 'ɵɵi18nPostprocess', moduleName: CORE$1 };\nIdentifiers$1.pipe = { name: 'ɵɵpipe', moduleName: CORE$1 };\nIdentifiers$1.projection = { name: 'ɵɵprojection', moduleName: CORE$1 };\nIdentifiers$1.projectionDef = { name: 'ɵɵprojectionDef', moduleName: CORE$1 };\nIdentifiers$1.reference = { name: 'ɵɵreference', moduleName: CORE$1 };\nIdentifiers$1.inject = { name: 'ɵɵinject', moduleName: CORE$1 };\nIdentifiers$1.injectAttribute = { name: 'ɵɵinjectAttribute', moduleName: CORE$1 };\nIdentifiers$1.injectPipeChangeDetectorRef = { name: 'ɵɵinjectPipeChangeDetectorRef', moduleName: CORE$1 };\nIdentifiers$1.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE$1 };\nIdentifiers$1.invalidFactory = { name: 'ɵɵinvalidFactory', moduleName: CORE$1 };\nIdentifiers$1.invalidFactoryDep = { name: 'ɵɵinvalidFactoryDep', moduleName: CORE$1 };\nIdentifiers$1.templateRefExtractor = { name: 'ɵɵtemplateRefExtractor', moduleName: CORE$1 };\nIdentifiers$1.resolveWindow = { name: 'ɵɵresolveWindow', moduleName: CORE$1 };\nIdentifiers$1.resolveDocument = { name: 'ɵɵresolveDocument', moduleName: CORE$1 };\nIdentifiers$1.resolveBody = { name: 'ɵɵresolveBody', moduleName: CORE$1 };\nIdentifiers$1.defineComponent = { name: 'ɵɵdefineComponent', moduleName: CORE$1 };\nIdentifiers$1.setComponentScope = { name: 'ɵɵsetComponentScope', moduleName: CORE$1 };\nIdentifiers$1.ComponentDefWithMeta = {\n name: 'ɵɵComponentDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.FactoryDef = {\n name: 'ɵɵFactoryDef',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineDirective = {\n name: 'ɵɵdefineDirective',\n moduleName: CORE$1,\n};\nIdentifiers$1.DirectiveDefWithMeta = {\n name: 'ɵɵDirectiveDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.InjectorDef = {\n name: 'ɵɵInjectorDef',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineInjector = {\n name: 'ɵɵdefineInjector',\n moduleName: CORE$1,\n};\nIdentifiers$1.NgModuleDefWithMeta = {\n name: 'ɵɵNgModuleDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.ModuleWithProviders = {\n name: 'ModuleWithProviders',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineNgModule = { name: 'ɵɵdefineNgModule', moduleName: CORE$1 };\nIdentifiers$1.setNgModuleScope = { name: 'ɵɵsetNgModuleScope', moduleName: CORE$1 };\nIdentifiers$1.PipeDefWithMeta = { name: 'ɵɵPipeDefWithMeta', moduleName: CORE$1 };\nIdentifiers$1.definePipe = { name: 'ɵɵdefinePipe', moduleName: CORE$1 };\nIdentifiers$1.queryRefresh = { name: 'ɵɵqueryRefresh', moduleName: CORE$1 };\nIdentifiers$1.viewQuery = { name: 'ɵɵviewQuery', moduleName: CORE$1 };\nIdentifiers$1.staticViewQuery = { name: 'ɵɵstaticViewQuery', moduleName: CORE$1 };\nIdentifiers$1.staticContentQuery = { name: 'ɵɵstaticContentQuery', moduleName: CORE$1 };\nIdentifiers$1.loadQuery = { name: 'ɵɵloadQuery', moduleName: CORE$1 };\nIdentifiers$1.contentQuery = { name: 'ɵɵcontentQuery', moduleName: CORE$1 };\nIdentifiers$1.NgOnChangesFeature = { name: 'ɵɵNgOnChangesFeature', moduleName: CORE$1 };\nIdentifiers$1.InheritDefinitionFeature = { name: 'ɵɵInheritDefinitionFeature', moduleName: CORE$1 };\nIdentifiers$1.CopyDefinitionFeature = { name: 'ɵɵCopyDefinitionFeature', moduleName: CORE$1 };\nIdentifiers$1.ProvidersFeature = { name: 'ɵɵProvidersFeature', moduleName: CORE$1 };\nIdentifiers$1.listener = { name: 'ɵɵlistener', moduleName: CORE$1 };\nIdentifiers$1.getFactoryOf = {\n name: 'ɵɵgetFactoryOf',\n moduleName: CORE$1,\n};\nIdentifiers$1.getInheritedFactory = {\n name: 'ɵɵgetInheritedFactory',\n moduleName: CORE$1,\n};\n// sanitization-related functions\nIdentifiers$1.sanitizeHtml = { name: 'ɵɵsanitizeHtml', moduleName: CORE$1 };\nIdentifiers$1.sanitizeStyle = { name: 'ɵɵsanitizeStyle', moduleName: CORE$1 };\nIdentifiers$1.sanitizeResourceUrl = { name: 'ɵɵsanitizeResourceUrl', moduleName: CORE$1 };\nIdentifiers$1.sanitizeScript = { name: 'ɵɵsanitizeScript', moduleName: CORE$1 };\nIdentifiers$1.sanitizeUrl = { name: 'ɵɵsanitizeUrl', moduleName: CORE$1 };\nIdentifiers$1.sanitizeUrlOrResourceUrl = { name: 'ɵɵsanitizeUrlOrResourceUrl', moduleName: CORE$1 };\nIdentifiers$1.trustConstantHtml = { name: 'ɵɵtrustConstantHtml', moduleName: CORE$1 };\nIdentifiers$1.trustConstantScript = { name: 'ɵɵtrustConstantScript', moduleName: CORE$1 };\nIdentifiers$1.trustConstantResourceUrl = { name: 'ɵɵtrustConstantResourceUrl', moduleName: CORE$1 };\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Convert an object map with `Expression` values into a `LiteralMapExpr`.\n */\nfunction mapToMapExpression(map) {\n const result = Object.keys(map).map(key => ({\n key,\n // The assertion here is because really TypeScript doesn't allow us to express that if the\n // key is present, it will have a value, but this is true in reality.\n value: map[key],\n quoted: false,\n }));\n return literalMap(result);\n}\n/**\n * Convert metadata into an `Expression` in the given `OutputContext`.\n *\n * This operation will handle arrays, references to symbols, or literal `null` or `undefined`.\n */\nfunction convertMetaToOutput(meta, ctx) {\n if (Array.isArray(meta)) {\n return literalArr(meta.map(entry => convertMetaToOutput(entry, ctx)));\n }\n if (meta instanceof StaticSymbol) {\n return ctx.importExpr(meta);\n }\n if (meta == null) {\n return literal(meta);\n }\n throw new Error(`Internal error: Unsupported or unknown metadata: ${meta}`);\n}\nfunction typeWithParameters(type, numParams) {\n if (numParams === 0) {\n return expressionType(type);\n }\n const params = [];\n for (let i = 0; i < numParams; i++) {\n params.push(DYNAMIC_TYPE);\n }\n return expressionType(type, undefined, params);\n}\nconst ANIMATE_SYMBOL_PREFIX = '@';\nfunction prepareSyntheticPropertyName(name) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}`;\n}\nfunction prepareSyntheticListenerName(name, phase) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}.${phase}`;\n}\nfunction isSyntheticPropertyOrListener(name) {\n return name.charAt(0) == ANIMATE_SYMBOL_PREFIX;\n}\nfunction getSyntheticPropertyName(name) {\n // this will strip out listener phase values...\n // @foo.start => @foo\n const i = name.indexOf('.');\n name = i > 0 ? name.substring(0, i) : name;\n if (name.charAt(0) !== ANIMATE_SYMBOL_PREFIX) {\n name = ANIMATE_SYMBOL_PREFIX + name;\n }\n return name;\n}\nfunction prepareSyntheticListenerFunctionName(name, phase) {\n return `animation_${name}_${phase}`;\n}\nfunction jitOnlyGuardedExpression(expr) {\n const ngJitMode = new ExternalExpr({ name: 'ngJitMode', moduleName: null });\n const jitFlagNotDefined = new BinaryOperatorExpr(BinaryOperator.Identical, new TypeofExpr(ngJitMode), literal('undefined'));\n const jitFlagUndefinedOrTrue = new BinaryOperatorExpr(BinaryOperator.Or, jitFlagNotDefined, ngJitMode, /* type */ undefined, \n /* sourceSpan */ undefined, true);\n return new BinaryOperatorExpr(BinaryOperator.And, jitFlagUndefinedOrTrue, expr);\n}\nfunction wrapReference(value) {\n const wrapped = new WrappedNodeExpr(value);\n return { value: wrapped, type: wrapped };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Text {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass BoundText {\n constructor(value, sourceSpan, i18n) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitBoundText(this);\n }\n}\nclass TextAttribute {\n constructor(name, value, sourceSpan, valueSpan, i18n) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTextAttribute(this);\n }\n}\nclass BoundAttribute {\n constructor(name, type, securityContext, value, unit, sourceSpan, keySpan, valueSpan, i18n) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n static fromBoundElementProperty(prop, i18n) {\n if (prop.keySpan === undefined) {\n throw new Error(`Unexpected state: keySpan must be defined for bound attributes but was not for ${prop.name}: ${prop.sourceSpan}`);\n }\n return new BoundAttribute(prop.name, prop.type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan, prop.keySpan, prop.valueSpan, i18n);\n }\n visit(visitor) {\n return visitor.visitBoundAttribute(this);\n }\n}\nclass BoundEvent {\n constructor(name, type, handler, target, phase, sourceSpan, handlerSpan) {\n this.name = name;\n this.type = type;\n this.handler = handler;\n this.target = target;\n this.phase = phase;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n }\n static fromParsedEvent(event) {\n const target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;\n const phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;\n return new BoundEvent(event.name, event.type, event.handler, target, phase, event.sourceSpan, event.handlerSpan);\n }\n visit(visitor) {\n return visitor.visitBoundEvent(this);\n }\n}\nclass Element {\n constructor(name, attributes, inputs, outputs, children, references, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.name = name;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.children = children;\n this.references = references;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitElement(this);\n }\n}\nclass Template {\n constructor(tagName, attributes, inputs, outputs, templateAttrs, children, references, variables, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.tagName = tagName;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.templateAttrs = templateAttrs;\n this.children = children;\n this.references = references;\n this.variables = variables;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTemplate(this);\n }\n}\nclass Content {\n constructor(selector, attributes, sourceSpan, i18n) {\n this.selector = selector;\n this.attributes = attributes;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n this.name = 'ng-content';\n }\n visit(visitor) {\n return visitor.visitContent(this);\n }\n}\nclass Variable {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitVariable(this);\n }\n}\nclass Reference {\n constructor(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitReference(this);\n }\n}\nclass Icu {\n constructor(vars, placeholders, sourceSpan, i18n) {\n this.vars = vars;\n this.placeholders = placeholders;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitIcu(this);\n }\n}\nclass NullVisitor {\n visitElement(element) { }\n visitTemplate(template) { }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass RecursiveVisitor {\n visitElement(element) {\n visitAll(this, element.attributes);\n visitAll(this, element.children);\n visitAll(this, element.references);\n }\n visitTemplate(template) {\n visitAll(this, template.attributes);\n visitAll(this, template.children);\n visitAll(this, template.references);\n visitAll(this, template.variables);\n }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass TransformVisitor {\n visitElement(element) {\n const newAttributes = transformAll(this, element.attributes);\n const newInputs = transformAll(this, element.inputs);\n const newOutputs = transformAll(this, element.outputs);\n const newChildren = transformAll(this, element.children);\n const newReferences = transformAll(this, element.references);\n if (newAttributes != element.attributes || newInputs != element.inputs ||\n newOutputs != element.outputs || newChildren != element.children ||\n newReferences != element.references) {\n return new Element(element.name, newAttributes, newInputs, newOutputs, newChildren, newReferences, element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n return element;\n }\n visitTemplate(template) {\n const newAttributes = transformAll(this, template.attributes);\n const newInputs = transformAll(this, template.inputs);\n const newOutputs = transformAll(this, template.outputs);\n const newTemplateAttrs = transformAll(this, template.templateAttrs);\n const newChildren = transformAll(this, template.children);\n const newReferences = transformAll(this, template.references);\n const newVariables = transformAll(this, template.variables);\n if (newAttributes != template.attributes || newInputs != template.inputs ||\n newOutputs != template.outputs || newTemplateAttrs != template.templateAttrs ||\n newChildren != template.children || newReferences != template.references ||\n newVariables != template.variables) {\n return new Template(template.tagName, newAttributes, newInputs, newOutputs, newTemplateAttrs, newChildren, newReferences, newVariables, template.sourceSpan, template.startSourceSpan, template.endSourceSpan);\n }\n return template;\n }\n visitContent(content) {\n return content;\n }\n visitVariable(variable) {\n return variable;\n }\n visitReference(reference) {\n return reference;\n }\n visitTextAttribute(attribute) {\n return attribute;\n }\n visitBoundAttribute(attribute) {\n return attribute;\n }\n visitBoundEvent(attribute) {\n return attribute;\n }\n visitText(text) {\n return text;\n }\n visitBoundText(text) {\n return text;\n }\n visitIcu(icu) {\n return icu;\n }\n}\nfunction visitAll(visitor, nodes) {\n const result = [];\n if (visitor.visit) {\n for (const node of nodes) {\n const newNode = visitor.visit(node) || node.visit(visitor);\n }\n }\n else {\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n }\n }\n return result;\n}\nfunction transformAll(visitor, nodes) {\n const result = [];\n let changed = false;\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n changed = changed || newNode != node;\n }\n return changed ? result : nodes;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Message {\n /**\n * @param nodes message AST\n * @param placeholders maps placeholder names to static content and their source spans\n * @param placeholderToMessage maps placeholder names to messages (used for nested ICU messages)\n * @param meaning\n * @param description\n * @param customId\n */\n constructor(nodes, placeholders, placeholderToMessage, meaning, description, customId) {\n this.nodes = nodes;\n this.placeholders = placeholders;\n this.placeholderToMessage = placeholderToMessage;\n this.meaning = meaning;\n this.description = description;\n this.customId = customId;\n this.id = this.customId;\n /** The ids to use if there are no custom id and if `i18nLegacyMessageIdFormat` is not empty */\n this.legacyIds = [];\n if (nodes.length) {\n this.sources = [{\n filePath: nodes[0].sourceSpan.start.file.url,\n startLine: nodes[0].sourceSpan.start.line + 1,\n startCol: nodes[0].sourceSpan.start.col + 1,\n endLine: nodes[nodes.length - 1].sourceSpan.end.line + 1,\n endCol: nodes[0].sourceSpan.start.col + 1\n }];\n }\n else {\n this.sources = [];\n }\n }\n}\nclass Text$1 {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\n// TODO(vicb): do we really need this node (vs an array) ?\nclass Container {\n constructor(children, sourceSpan) {\n this.children = children;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitContainer(this, context);\n }\n}\nclass Icu$1 {\n constructor(expression, type, cases, sourceSpan) {\n this.expression = expression;\n this.type = type;\n this.cases = cases;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcu(this, context);\n }\n}\nclass TagPlaceholder {\n constructor(tag, attrs, startName, closeName, children, isVoid, \n // TODO sourceSpan should cover all (we need a startSourceSpan and endSourceSpan)\n sourceSpan, startSourceSpan, endSourceSpan) {\n this.tag = tag;\n this.attrs = attrs;\n this.startName = startName;\n this.closeName = closeName;\n this.children = children;\n this.isVoid = isVoid;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitTagPlaceholder(this, context);\n }\n}\nclass Placeholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitPlaceholder(this, context);\n }\n}\nclass IcuPlaceholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcuPlaceholder(this, context);\n }\n}\n// Clone the AST\nclass CloneVisitor {\n visitText(text, context) {\n return new Text$1(text.value, text.sourceSpan);\n }\n visitContainer(container, context) {\n const children = container.children.map(n => n.visit(this, context));\n return new Container(children, container.sourceSpan);\n }\n visitIcu(icu, context) {\n const cases = {};\n Object.keys(icu.cases).forEach(key => cases[key] = icu.cases[key].visit(this, context));\n const msg = new Icu$1(icu.expression, icu.type, cases, icu.sourceSpan);\n msg.expressionPlaceholder = icu.expressionPlaceholder;\n return msg;\n }\n visitTagPlaceholder(ph, context) {\n const children = ph.children.map(n => n.visit(this, context));\n return new TagPlaceholder(ph.tag, ph.attrs, ph.startName, ph.closeName, children, ph.isVoid, ph.sourceSpan, ph.startSourceSpan, ph.endSourceSpan);\n }\n visitPlaceholder(ph, context) {\n return new Placeholder(ph.value, ph.name, ph.sourceSpan);\n }\n visitIcuPlaceholder(ph, context) {\n return new IcuPlaceholder(ph.value, ph.name, ph.sourceSpan);\n }\n}\n// Visit all the nodes recursively\nclass RecurseVisitor {\n visitText(text, context) { }\n visitContainer(container, context) {\n container.children.forEach(child => child.visit(this));\n }\n visitIcu(icu, context) {\n Object.keys(icu.cases).forEach(k => {\n icu.cases[k].visit(this);\n });\n }\n visitTagPlaceholder(ph, context) {\n ph.children.forEach(child => child.visit(this));\n }\n visitPlaceholder(ph, context) { }\n visitIcuPlaceholder(ph, context) { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Return the message id or compute it using the XLIFF1 digest.\n */\nfunction digest(message) {\n return message.id || computeDigest(message);\n}\n/**\n * Compute the message id using the XLIFF1 digest.\n */\nfunction computeDigest(message) {\n return sha1(serializeNodes(message.nodes).join('') + `[${message.meaning}]`);\n}\n/**\n * Return the message id or compute it using the XLIFF2/XMB/$localize digest.\n */\nfunction decimalDigest(message) {\n return message.id || computeDecimalDigest(message);\n}\n/**\n * Compute the message id using the XLIFF2/XMB/$localize digest.\n */\nfunction computeDecimalDigest(message) {\n const visitor = new _SerializerIgnoreIcuExpVisitor();\n const parts = message.nodes.map(a => a.visit(visitor, null));\n return computeMsgId(parts.join(''), message.meaning);\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * The visitor is also used in the i18n parser tests\n *\n * @internal\n */\nclass _SerializerVisitor {\n visitText(text, context) {\n return text.value;\n }\n visitContainer(container, context) {\n return `[${container.children.map(child => child.visit(this)).join(', ')}]`;\n }\n visitIcu(icu, context) {\n const strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n return `{${icu.expression}, ${icu.type}, ${strCases.join(', ')}}`;\n }\n visitTagPlaceholder(ph, context) {\n return ph.isVoid ?\n `` :\n `${ph.children.map(child => child.visit(this)).join(', ')}`;\n }\n visitPlaceholder(ph, context) {\n return ph.value ? `${ph.value}` : ``;\n }\n visitIcuPlaceholder(ph, context) {\n return `${ph.value.visit(this)}`;\n }\n}\nconst serializerVisitor = new _SerializerVisitor();\nfunction serializeNodes(nodes) {\n return nodes.map(a => a.visit(serializerVisitor, null));\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * Ignore the ICU expressions so that message IDs stays identical if only the expression changes.\n *\n * @internal\n */\nclass _SerializerIgnoreIcuExpVisitor extends _SerializerVisitor {\n visitIcu(icu, context) {\n let strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n // Do not take the expression into account\n return `{${icu.type}, ${strCases.join(', ')}}`;\n }\n}\n/**\n * Compute the SHA1 of the given string\n *\n * see http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf\n *\n * WARNING: this function has not been designed not tested with security in mind.\n * DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.\n */\nfunction sha1(str) {\n const utf8 = utf8Encode(str);\n const words32 = stringToWords32(utf8, Endian.Big);\n const len = utf8.length * 8;\n const w = newArray(80);\n let a = 0x67452301, b = 0xefcdab89, c = 0x98badcfe, d = 0x10325476, e = 0xc3d2e1f0;\n words32[len >> 5] |= 0x80 << (24 - len % 32);\n words32[((len + 64 >> 9) << 4) + 15] = len;\n for (let i = 0; i < words32.length; i += 16) {\n const h0 = a, h1 = b, h2 = c, h3 = d, h4 = e;\n for (let j = 0; j < 80; j++) {\n if (j < 16) {\n w[j] = words32[i + j];\n }\n else {\n w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);\n }\n const fkVal = fk(j, b, c, d);\n const f = fkVal[0];\n const k = fkVal[1];\n const temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32);\n e = d;\n d = c;\n c = rol32(b, 30);\n b = a;\n a = temp;\n }\n a = add32(a, h0);\n b = add32(b, h1);\n c = add32(c, h2);\n d = add32(d, h3);\n e = add32(e, h4);\n }\n return byteStringToHexString(words32ToByteString([a, b, c, d, e]));\n}\nfunction fk(index, b, c, d) {\n if (index < 20) {\n return [(b & c) | (~b & d), 0x5a827999];\n }\n if (index < 40) {\n return [b ^ c ^ d, 0x6ed9eba1];\n }\n if (index < 60) {\n return [(b & c) | (b & d) | (c & d), 0x8f1bbcdc];\n }\n return [b ^ c ^ d, 0xca62c1d6];\n}\n/**\n * Compute the fingerprint of the given string\n *\n * The output is 64 bit number encoded as a decimal string\n *\n * based on:\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/GoogleJsMessageIdGenerator.java\n */\nfunction fingerprint(str) {\n const utf8 = utf8Encode(str);\n let hi = hash32(utf8, 0);\n let lo = hash32(utf8, 102072);\n if (hi == 0 && (lo == 0 || lo == 1)) {\n hi = hi ^ 0x130f9bef;\n lo = lo ^ -0x6b5f56d8;\n }\n return [hi, lo];\n}\nfunction computeMsgId(msg, meaning = '') {\n let msgFingerprint = fingerprint(msg);\n if (meaning) {\n const meaningFingerprint = fingerprint(meaning);\n msgFingerprint = add64(rol64(msgFingerprint, 1), meaningFingerprint);\n }\n const hi = msgFingerprint[0];\n const lo = msgFingerprint[1];\n return byteStringToDecString(words32ToByteString([hi & 0x7fffffff, lo]));\n}\nfunction hash32(str, c) {\n let a = 0x9e3779b9, b = 0x9e3779b9;\n let i;\n const len = str.length;\n for (i = 0; i + 12 <= len; i += 12) {\n a = add32(a, wordAt(str, i, Endian.Little));\n b = add32(b, wordAt(str, i + 4, Endian.Little));\n c = add32(c, wordAt(str, i + 8, Endian.Little));\n const res = mix(a, b, c);\n a = res[0], b = res[1], c = res[2];\n }\n a = add32(a, wordAt(str, i, Endian.Little));\n b = add32(b, wordAt(str, i + 4, Endian.Little));\n // the first byte of c is reserved for the length\n c = add32(c, len);\n c = add32(c, wordAt(str, i + 8, Endian.Little) << 8);\n return mix(a, b, c)[2];\n}\n// clang-format off\nfunction mix(a, b, c) {\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 13;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 8;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 13;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 12;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 16;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 5;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 3;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 10;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 15;\n return [a, b, c];\n}\n// clang-format on\n// Utils\nvar Endian;\n(function (Endian) {\n Endian[Endian[\"Little\"] = 0] = \"Little\";\n Endian[Endian[\"Big\"] = 1] = \"Big\";\n})(Endian || (Endian = {}));\nfunction add32(a, b) {\n return add32to64(a, b)[1];\n}\nfunction add32to64(a, b) {\n const low = (a & 0xffff) + (b & 0xffff);\n const high = (a >>> 16) + (b >>> 16) + (low >>> 16);\n return [high >>> 16, (high << 16) | (low & 0xffff)];\n}\nfunction add64(a, b) {\n const ah = a[0], al = a[1];\n const bh = b[0], bl = b[1];\n const result = add32to64(al, bl);\n const carry = result[0];\n const l = result[1];\n const h = add32(add32(ah, bh), carry);\n return [h, l];\n}\nfunction sub32(a, b) {\n const low = (a & 0xffff) - (b & 0xffff);\n const high = (a >> 16) - (b >> 16) + (low >> 16);\n return (high << 16) | (low & 0xffff);\n}\n// Rotate a 32b number left `count` position\nfunction rol32(a, count) {\n return (a << count) | (a >>> (32 - count));\n}\n// Rotate a 64b number left `count` position\nfunction rol64(num, count) {\n const hi = num[0], lo = num[1];\n const h = (hi << count) | (lo >>> (32 - count));\n const l = (lo << count) | (hi >>> (32 - count));\n return [h, l];\n}\nfunction stringToWords32(str, endian) {\n const size = (str.length + 3) >>> 2;\n const words32 = [];\n for (let i = 0; i < size; i++) {\n words32[i] = wordAt(str, i * 4, endian);\n }\n return words32;\n}\nfunction byteAt(str, index) {\n return index >= str.length ? 0 : str.charCodeAt(index) & 0xff;\n}\nfunction wordAt(str, index, endian) {\n let word = 0;\n if (endian === Endian.Big) {\n for (let i = 0; i < 4; i++) {\n word += byteAt(str, index + i) << (24 - 8 * i);\n }\n }\n else {\n for (let i = 0; i < 4; i++) {\n word += byteAt(str, index + i) << 8 * i;\n }\n }\n return word;\n}\nfunction words32ToByteString(words32) {\n return words32.reduce((str, word) => str + word32ToByteString(word), '');\n}\nfunction word32ToByteString(word) {\n let str = '';\n for (let i = 0; i < 4; i++) {\n str += String.fromCharCode((word >>> 8 * (3 - i)) & 0xff);\n }\n return str;\n}\nfunction byteStringToHexString(str) {\n let hex = '';\n for (let i = 0; i < str.length; i++) {\n const b = byteAt(str, i);\n hex += (b >>> 4).toString(16) + (b & 0x0f).toString(16);\n }\n return hex.toLowerCase();\n}\n// based on http://www.danvk.org/hex2dec.html (JS can not handle more than 56b)\nfunction byteStringToDecString(str) {\n let decimal = '';\n let toThePower = '1';\n for (let i = str.length - 1; i >= 0; i--) {\n decimal = addBigInt(decimal, numberTimesBigInt(byteAt(str, i), toThePower));\n toThePower = numberTimesBigInt(256, toThePower);\n }\n return decimal.split('').reverse().join('');\n}\n// x and y decimal, lowest significant digit first\nfunction addBigInt(x, y) {\n let sum = '';\n const len = Math.max(x.length, y.length);\n for (let i = 0, carry = 0; i < len || carry; i++) {\n const tmpSum = carry + +(x[i] || 0) + +(y[i] || 0);\n if (tmpSum >= 10) {\n carry = 1;\n sum += tmpSum - 10;\n }\n else {\n carry = 0;\n sum += tmpSum;\n }\n }\n return sum;\n}\nfunction numberTimesBigInt(num, b) {\n let product = '';\n let bToThePower = b;\n for (; num !== 0; num = num >>> 1) {\n if (num & 1)\n product = addBigInt(product, bToThePower);\n bToThePower = addBigInt(bToThePower, bToThePower);\n }\n return product;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Serializer {\n // Creates a name mapper, see `PlaceholderMapper`\n // Returning `null` means that no name mapping is used.\n createNameMapper(message) {\n return null;\n }\n}\n/**\n * A simple mapper that take a function to transform an internal name to a public name\n */\nclass SimplePlaceholderMapper extends RecurseVisitor {\n // create a mapping from the message\n constructor(message, mapName) {\n super();\n this.mapName = mapName;\n this.internalToPublic = {};\n this.publicToNextId = {};\n this.publicToInternal = {};\n message.nodes.forEach(node => node.visit(this));\n }\n toPublicName(internalName) {\n return this.internalToPublic.hasOwnProperty(internalName) ?\n this.internalToPublic[internalName] :\n null;\n }\n toInternalName(publicName) {\n return this.publicToInternal.hasOwnProperty(publicName) ? this.publicToInternal[publicName] :\n null;\n }\n visitText(text, context) {\n return null;\n }\n visitTagPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.startName);\n super.visitTagPlaceholder(ph, context);\n this.visitPlaceholderName(ph.closeName);\n }\n visitPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n visitIcuPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n // XMB placeholders could only contains A-Z, 0-9 and _\n visitPlaceholderName(internalName) {\n if (!internalName || this.internalToPublic.hasOwnProperty(internalName)) {\n return;\n }\n let publicName = this.mapName(internalName);\n if (this.publicToInternal.hasOwnProperty(publicName)) {\n // Create a new XMB when it has already been used\n const nextId = this.publicToNextId[publicName];\n this.publicToNextId[publicName] = nextId + 1;\n publicName = `${publicName}_${nextId}`;\n }\n else {\n this.publicToNextId[publicName] = 1;\n }\n this.internalToPublic[internalName] = publicName;\n this.publicToInternal[publicName] = internalName;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass _Visitor {\n visitTag(tag) {\n const strAttrs = this._serializeAttributes(tag.attrs);\n if (tag.children.length == 0) {\n return `<${tag.name}${strAttrs}/>`;\n }\n const strChildren = tag.children.map(node => node.visit(this));\n return `<${tag.name}${strAttrs}>${strChildren.join('')}`;\n }\n visitText(text) {\n return text.value;\n }\n visitDeclaration(decl) {\n return ``;\n }\n _serializeAttributes(attrs) {\n const strAttrs = Object.keys(attrs).map((name) => `${name}=\"${attrs[name]}\"`).join(' ');\n return strAttrs.length > 0 ? ' ' + strAttrs : '';\n }\n visitDoctype(doctype) {\n return ``;\n }\n}\nconst _visitor = new _Visitor();\nfunction serialize(nodes) {\n return nodes.map((node) => node.visit(_visitor)).join('');\n}\nclass Declaration {\n constructor(unescapedAttrs) {\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitDeclaration(this);\n }\n}\nclass Doctype {\n constructor(rootTag, dtd) {\n this.rootTag = rootTag;\n this.dtd = dtd;\n }\n visit(visitor) {\n return visitor.visitDoctype(this);\n }\n}\nclass Tag {\n constructor(name, unescapedAttrs = {}, children = []) {\n this.name = name;\n this.children = children;\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitTag(this);\n }\n}\nclass Text$2 {\n constructor(unescapedValue) {\n this.value = escapeXml(unescapedValue);\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass CR extends Text$2 {\n constructor(ws = 0) {\n super(`\\n${new Array(ws + 1).join(' ')}`);\n }\n}\nconst _ESCAPED_CHARS = [\n [/&/g, '&'],\n [/\"/g, '"'],\n [/'/g, '''],\n [//g, '>'],\n];\n// Escape `_ESCAPED_CHARS` characters in the given text with encoded entities\nfunction escapeXml(text) {\n return _ESCAPED_CHARS.reduce((text, entry) => text.replace(entry[0], entry[1]), text);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _MESSAGES_TAG = 'messagebundle';\nconst _MESSAGE_TAG = 'msg';\nconst _PLACEHOLDER_TAG = 'ph';\nconst _EXAMPLE_TAG = 'ex';\nconst _SOURCE_TAG = 'source';\nconst _DOCTYPE = `\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n`;\nclass Xmb extends Serializer {\n write(messages, locale) {\n const exampleVisitor = new ExampleVisitor();\n const visitor = new _Visitor$1();\n let rootNode = new Tag(_MESSAGES_TAG);\n messages.forEach(message => {\n const attrs = { id: message.id };\n if (message.description) {\n attrs['desc'] = message.description;\n }\n if (message.meaning) {\n attrs['meaning'] = message.meaning;\n }\n let sourceTags = [];\n message.sources.forEach((source) => {\n sourceTags.push(new Tag(_SOURCE_TAG, {}, [new Text$2(`${source.filePath}:${source.startLine}${source.endLine !== source.startLine ? ',' + source.endLine : ''}`)]));\n });\n rootNode.children.push(new CR(2), new Tag(_MESSAGE_TAG, attrs, [...sourceTags, ...visitor.serialize(message.nodes)]));\n });\n rootNode.children.push(new CR());\n return serialize([\n new Declaration({ version: '1.0', encoding: 'UTF-8' }),\n new CR(),\n new Doctype(_MESSAGES_TAG, _DOCTYPE),\n new CR(),\n exampleVisitor.addDefaultExamples(rootNode),\n new CR(),\n ]);\n }\n load(content, url) {\n throw new Error('Unsupported');\n }\n digest(message) {\n return digest$1(message);\n }\n createNameMapper(message) {\n return new SimplePlaceholderMapper(message, toPublicName);\n }\n}\nclass _Visitor$1 {\n visitText(text, context) {\n return [new Text$2(text.value)];\n }\n visitContainer(container, context) {\n const nodes = [];\n container.children.forEach((node) => nodes.push(...node.visit(this)));\n return nodes;\n }\n visitIcu(icu, context) {\n const nodes = [new Text$2(`{${icu.expressionPlaceholder}, ${icu.type}, `)];\n Object.keys(icu.cases).forEach((c) => {\n nodes.push(new Text$2(`${c} {`), ...icu.cases[c].visit(this), new Text$2(`} `));\n });\n nodes.push(new Text$2(`}`));\n return nodes;\n }\n visitTagPlaceholder(ph, context) {\n const startTagAsText = new Text$2(`<${ph.tag}>`);\n const startEx = new Tag(_EXAMPLE_TAG, {}, [startTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const startTagPh = new Tag(_PLACEHOLDER_TAG, { name: ph.startName }, [startEx, startTagAsText]);\n if (ph.isVoid) {\n // void tags have no children nor closing tags\n return [startTagPh];\n }\n const closeTagAsText = new Text$2(``);\n const closeEx = new Tag(_EXAMPLE_TAG, {}, [closeTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const closeTagPh = new Tag(_PLACEHOLDER_TAG, { name: ph.closeName }, [closeEx, closeTagAsText]);\n return [startTagPh, ...this.serialize(ph.children), closeTagPh];\n }\n visitPlaceholder(ph, context) {\n const interpolationAsText = new Text$2(`{{${ph.value}}}`);\n // Example tag needs to be not-empty for TC.\n const exTag = new Tag(_EXAMPLE_TAG, {}, [interpolationAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG, { name: ph.name }, [exTag, interpolationAsText])\n ];\n }\n visitIcuPlaceholder(ph, context) {\n const icuExpression = ph.value.expression;\n const icuType = ph.value.type;\n const icuCases = Object.keys(ph.value.cases).map((value) => value + ' {...}').join(' ');\n const icuAsText = new Text$2(`{${icuExpression}, ${icuType}, ${icuCases}}`);\n const exTag = new Tag(_EXAMPLE_TAG, {}, [icuAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG, { name: ph.name }, [exTag, icuAsText])\n ];\n }\n serialize(nodes) {\n return [].concat(...nodes.map(node => node.visit(this)));\n }\n}\nfunction digest$1(message) {\n return decimalDigest(message);\n}\n// TC requires at least one non-empty example on placeholders\nclass ExampleVisitor {\n addDefaultExamples(node) {\n node.visit(this);\n return node;\n }\n visitTag(tag) {\n if (tag.name === _PLACEHOLDER_TAG) {\n if (!tag.children || tag.children.length == 0) {\n const exText = new Text$2(tag.attrs['name'] || '...');\n tag.children = [new Tag(_EXAMPLE_TAG, {}, [exText])];\n }\n }\n else if (tag.children) {\n tag.children.forEach(node => node.visit(this));\n }\n }\n visitText(text) { }\n visitDeclaration(decl) { }\n visitDoctype(doctype) { }\n}\n// XMB/XTB placeholders can only contain A-Z, 0-9 and _\nfunction toPublicName(internalName) {\n return internalName.toUpperCase().replace(/[^A-Z0-9_]/g, '_');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/* Closure variables holding messages must be named `MSG_[A-Z0-9]+` */\nconst CLOSURE_TRANSLATION_VAR_PREFIX = 'MSG_';\n/**\n * Prefix for non-`goog.getMsg` i18n-related vars.\n * Note: the prefix uses lowercase characters intentionally due to a Closure behavior that\n * considers variables like `I18N_0` as constants and throws an error when their value changes.\n */\nconst TRANSLATION_VAR_PREFIX = 'i18n_';\n/** Name of the i18n attributes **/\nconst I18N_ATTR = 'i18n';\nconst I18N_ATTR_PREFIX = 'i18n-';\n/** Prefix of var expressions used in ICUs */\nconst I18N_ICU_VAR_PREFIX = 'VAR_';\n/** Prefix of ICU expressions for post processing */\nconst I18N_ICU_MAPPING_PREFIX = 'I18N_EXP_';\n/** Placeholder wrapper for i18n expressions **/\nconst I18N_PLACEHOLDER_SYMBOL = '�';\nfunction isI18nAttribute(name) {\n return name === I18N_ATTR || name.startsWith(I18N_ATTR_PREFIX);\n}\nfunction isI18nRootNode(meta) {\n return meta instanceof Message;\n}\nfunction isSingleI18nIcu(meta) {\n return isI18nRootNode(meta) && meta.nodes.length === 1 && meta.nodes[0] instanceof Icu$1;\n}\nfunction hasI18nMeta(node) {\n return !!node.i18n;\n}\nfunction hasI18nAttrs(element) {\n return element.attrs.some((attr) => isI18nAttribute(attr.name));\n}\nfunction icuFromI18nMessage(message) {\n return message.nodes[0];\n}\nfunction wrapI18nPlaceholder(content, contextId = 0) {\n const blockId = contextId > 0 ? `:${contextId}` : '';\n return `${I18N_PLACEHOLDER_SYMBOL}${content}${blockId}${I18N_PLACEHOLDER_SYMBOL}`;\n}\nfunction assembleI18nBoundString(strings, bindingStartIndex = 0, contextId = 0) {\n if (!strings.length)\n return '';\n let acc = '';\n const lastIdx = strings.length - 1;\n for (let i = 0; i < lastIdx; i++) {\n acc += `${strings[i]}${wrapI18nPlaceholder(bindingStartIndex + i, contextId)}`;\n }\n acc += strings[lastIdx];\n return acc;\n}\nfunction getSeqNumberGenerator(startsAt = 0) {\n let current = startsAt;\n return () => current++;\n}\nfunction placeholdersToParams(placeholders) {\n const params = {};\n placeholders.forEach((values, key) => {\n params[key] = literal(values.length > 1 ? `[${values.join('|')}]` : values[0]);\n });\n return params;\n}\nfunction updatePlaceholderMap(map, name, ...values) {\n const current = map.get(name) || [];\n current.push(...values);\n map.set(name, current);\n}\nfunction assembleBoundTextPlaceholders(meta, bindingStartIndex = 0, contextId = 0) {\n const startIdx = bindingStartIndex;\n const placeholders = new Map();\n const node = meta instanceof Message ? meta.nodes.find(node => node instanceof Container) : meta;\n if (node) {\n node\n .children\n .filter((child) => child instanceof Placeholder)\n .forEach((child, idx) => {\n const content = wrapI18nPlaceholder(startIdx + idx, contextId);\n updatePlaceholderMap(placeholders, child.name, content);\n });\n }\n return placeholders;\n}\n/**\n * Format the placeholder names in a map of placeholders to expressions.\n *\n * The placeholder names are converted from \"internal\" format (e.g. `START_TAG_DIV_1`) to \"external\"\n * format (e.g. `startTagDiv_1`).\n *\n * @param params A map of placeholder names to expressions.\n * @param useCamelCase whether to camelCase the placeholder name when formatting.\n * @returns A new map of formatted placeholder names to expressions.\n */\nfunction i18nFormatPlaceholderNames(params = {}, useCamelCase) {\n const _params = {};\n if (params && Object.keys(params).length) {\n Object.keys(params).forEach(key => _params[formatI18nPlaceholderName(key, useCamelCase)] = params[key]);\n }\n return _params;\n}\n/**\n * Converts internal placeholder names to public-facing format\n * (for example to use in goog.getMsg call).\n * Example: `START_TAG_DIV_1` is converted to `startTagDiv_1`.\n *\n * @param name The placeholder name that should be formatted\n * @returns Formatted placeholder name\n */\nfunction formatI18nPlaceholderName(name, useCamelCase = true) {\n const publicName = toPublicName(name);\n if (!useCamelCase) {\n return publicName;\n }\n const chunks = publicName.split('_');\n if (chunks.length === 1) {\n // if no \"_\" found - just lowercase the value\n return name.toLowerCase();\n }\n let postfix;\n // eject last element if it's a number\n if (/^\\d+$/.test(chunks[chunks.length - 1])) {\n postfix = chunks.pop();\n }\n let raw = chunks.shift().toLowerCase();\n if (chunks.length) {\n raw += chunks.map(c => c.charAt(0).toUpperCase() + c.slice(1).toLowerCase()).join('');\n }\n return postfix ? `${raw}_${postfix}` : raw;\n}\n/**\n * Generates a prefix for translation const name.\n *\n * @param extra Additional local prefix that should be injected into translation var name\n * @returns Complete translation const prefix\n */\nfunction getTranslationConstPrefix(extra) {\n return `${CLOSURE_TRANSLATION_VAR_PREFIX}${extra}`.toUpperCase();\n}\n/**\n * Generate AST to declare a variable. E.g. `var I18N_1;`.\n * @param variable the name of the variable to declare.\n */\nfunction declareI18nVariable(variable) {\n return new DeclareVarStmt(variable.name, undefined, INFERRED_TYPE, undefined, variable.sourceSpan);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Checks whether an object key contains potentially unsafe chars, thus the key should be wrapped in\n * quotes. Note: we do not wrap all keys into quotes, as it may have impact on minification and may\n * bot work in some cases when object keys are mangled by minifier.\n *\n * TODO(FW-1136): this is a temporary solution, we need to come up with a better way of working with\n * inputs that contain potentially unsafe chars.\n */\nconst UNSAFE_OBJECT_KEY_NAME_REGEXP = /[-.]/;\n/** Name of the temporary to use during data binding */\nconst TEMPORARY_NAME = '_t';\n/** Name of the context parameter passed into a template function */\nconst CONTEXT_NAME = 'ctx';\n/** Name of the RenderFlag passed into a template function */\nconst RENDER_FLAGS = 'rf';\n/** The prefix reference variables */\nconst REFERENCE_PREFIX = '_r';\n/** The name of the implicit context reference */\nconst IMPLICIT_REFERENCE = '$implicit';\n/** Non bindable attribute name **/\nconst NON_BINDABLE_ATTR = 'ngNonBindable';\n/**\n * Creates an allocator for a temporary variable.\n *\n * A variable declaration is added to the statements the first time the allocator is invoked.\n */\nfunction temporaryAllocator(statements, name) {\n let temp = null;\n return () => {\n if (!temp) {\n statements.push(new DeclareVarStmt(TEMPORARY_NAME, undefined, DYNAMIC_TYPE));\n temp = variable(name);\n }\n return temp;\n };\n}\nfunction unsupported(feature) {\n if (this) {\n throw new Error(`Builder ${this.constructor.name} doesn't support ${feature} yet`);\n }\n throw new Error(`Feature ${feature} is not supported yet`);\n}\nfunction invalid$1(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction asLiteral(value) {\n if (Array.isArray(value)) {\n return literalArr(value.map(asLiteral));\n }\n return literal(value, INFERRED_TYPE);\n}\nfunction conditionallyCreateMapObjectLiteral(keys, keepDeclared) {\n if (Object.getOwnPropertyNames(keys).length > 0) {\n return mapToExpression(keys, keepDeclared);\n }\n return null;\n}\nfunction mapToExpression(map, keepDeclared) {\n return literalMap(Object.getOwnPropertyNames(map).map(key => {\n // canonical syntax: `dirProp: publicProp`\n // if there is no `:`, use dirProp = elProp\n const value = map[key];\n let declaredName;\n let publicName;\n let minifiedName;\n if (Array.isArray(value)) {\n [publicName, declaredName] = value;\n }\n else {\n [declaredName, publicName] = splitAtColon(key, [key, value]);\n }\n minifiedName = declaredName;\n return {\n key: minifiedName,\n // put quotes around keys that contain potentially unsafe characters\n quoted: UNSAFE_OBJECT_KEY_NAME_REGEXP.test(minifiedName),\n value: (keepDeclared && publicName !== declaredName) ?\n literalArr([asLiteral(publicName), asLiteral(declaredName)]) :\n asLiteral(publicName)\n };\n }));\n}\n/**\n * Remove trailing null nodes as they are implied.\n */\nfunction trimTrailingNulls(parameters) {\n while (isNull(parameters[parameters.length - 1])) {\n parameters.pop();\n }\n return parameters;\n}\nfunction getQueryPredicate(query, constantPool) {\n if (Array.isArray(query.predicate)) {\n let predicate = [];\n query.predicate.forEach((selector) => {\n // Each item in predicates array may contain strings with comma-separated refs\n // (for ex. 'ref, ref1, ..., refN'), thus we extract individual refs and store them\n // as separate array entities\n const selectors = selector.split(',').map(token => literal(token.trim()));\n predicate.push(...selectors);\n });\n return constantPool.getConstLiteral(literalArr(predicate), true);\n }\n else {\n return query.predicate;\n }\n}\nfunction noop() { }\nclass DefinitionMap {\n constructor() {\n this.values = [];\n }\n set(key, value) {\n if (value) {\n this.values.push({ key, value, quoted: false });\n }\n }\n toLiteralMap() {\n return literalMap(this.values);\n }\n}\n/**\n * Extract a map of properties to values for a given element or template node, which can be used\n * by the directive matching machinery.\n *\n * @param elOrTpl the element or template in question\n * @return an object set up for directive matching. For attributes on the element/template, this\n * object maps a property name to its (static) value. For any bindings, this map simply maps the\n * property name to an empty string.\n */\nfunction getAttrsForDirectiveMatching(elOrTpl) {\n const attributesMap = {};\n if (elOrTpl instanceof Template && elOrTpl.tagName !== 'ng-template') {\n elOrTpl.templateAttrs.forEach(a => attributesMap[a.name] = '');\n }\n else {\n elOrTpl.attributes.forEach(a => {\n if (!isI18nAttribute(a.name)) {\n attributesMap[a.name] = a.value;\n }\n });\n elOrTpl.inputs.forEach(i => {\n attributesMap[i.name] = '';\n });\n elOrTpl.outputs.forEach(o => {\n attributesMap[o.name] = '';\n });\n }\n return attributesMap;\n}\n/** Returns a call expression to a chained instruction, e.g. `property(params[0])(params[1])`. */\nfunction chainedInstruction(reference, calls, span) {\n let expression = importExpr(reference, null, span);\n if (calls.length > 0) {\n for (let i = 0; i < calls.length; i++) {\n expression = expression.callFn(calls[i], span);\n }\n }\n else {\n // Add a blank invocation, in case the `calls` array is empty.\n expression = expression.callFn([], span);\n }\n return expression;\n}\n/**\n * Gets the number of arguments expected to be passed to a generated instruction in the case of\n * interpolation instructions.\n * @param interpolation An interpolation ast\n */\nfunction getInterpolationArgsLength(interpolation) {\n const { expressions, strings } = interpolation;\n if (expressions.length === 1 && strings.length === 2 && strings[0] === '' && strings[1] === '') {\n // If the interpolation has one interpolated value, but the prefix and suffix are both empty\n // strings, we only pass one argument, to a special instruction like `propertyInterpolate` or\n // `textInterpolate`.\n return 1;\n }\n else {\n return expressions.length + strings.length;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar R3FactoryDelegateType;\n(function (R3FactoryDelegateType) {\n R3FactoryDelegateType[R3FactoryDelegateType[\"Class\"] = 0] = \"Class\";\n R3FactoryDelegateType[R3FactoryDelegateType[\"Function\"] = 1] = \"Function\";\n R3FactoryDelegateType[R3FactoryDelegateType[\"Factory\"] = 2] = \"Factory\";\n})(R3FactoryDelegateType || (R3FactoryDelegateType = {}));\nvar R3FactoryTarget;\n(function (R3FactoryTarget) {\n R3FactoryTarget[R3FactoryTarget[\"Directive\"] = 0] = \"Directive\";\n R3FactoryTarget[R3FactoryTarget[\"Component\"] = 1] = \"Component\";\n R3FactoryTarget[R3FactoryTarget[\"Injectable\"] = 2] = \"Injectable\";\n R3FactoryTarget[R3FactoryTarget[\"Pipe\"] = 3] = \"Pipe\";\n R3FactoryTarget[R3FactoryTarget[\"NgModule\"] = 4] = \"NgModule\";\n})(R3FactoryTarget || (R3FactoryTarget = {}));\n/**\n * Resolved type of a dependency.\n *\n * Occasionally, dependencies will have special significance which is known statically. In that\n * case the `R3ResolvedDependencyType` informs the factory generator that a particular dependency\n * should be generated specially (usually by calling a special injection function instead of the\n * standard one).\n */\nvar R3ResolvedDependencyType;\n(function (R3ResolvedDependencyType) {\n /**\n * A normal token dependency.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Token\"] = 0] = \"Token\";\n /**\n * The dependency is for an attribute.\n *\n * The token expression is a string representing the attribute name.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Attribute\"] = 1] = \"Attribute\";\n /**\n * Injecting the `ChangeDetectorRef` token. Needs special handling when injected into a pipe.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"ChangeDetectorRef\"] = 2] = \"ChangeDetectorRef\";\n /**\n * An invalid dependency (no token could be determined). An error should be thrown at runtime.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Invalid\"] = 3] = \"Invalid\";\n})(R3ResolvedDependencyType || (R3ResolvedDependencyType = {}));\n/**\n * Construct a factory function expression for the given `R3FactoryMetadata`.\n */\nfunction compileFactoryFunction(meta) {\n const t = variable('t');\n const statements = [];\n let ctorDepsType = NONE_TYPE;\n // The type to instantiate via constructor invocation. If there is no delegated factory, meaning\n // this type is always created by constructor invocation, then this is the type-to-create\n // parameter provided by the user (t) if specified, or the current type if not. If there is a\n // delegated factory (which is used to create the current type) then this is only the type-to-\n // create parameter (t).\n const typeForCtor = !isDelegatedMetadata(meta) ?\n new BinaryOperatorExpr(BinaryOperator.Or, t, meta.internalType) :\n t;\n let ctorExpr = null;\n if (meta.deps !== null) {\n // There is a constructor (either explicitly or implicitly defined).\n if (meta.deps !== 'invalid') {\n ctorExpr = new InstantiateExpr(typeForCtor, injectDependencies(meta.deps, meta.injectFn, meta.target === R3FactoryTarget.Pipe));\n ctorDepsType = createCtorDepsType(meta.deps);\n }\n }\n else {\n const baseFactory = variable(`ɵ${meta.name}_BaseFactory`);\n const getInheritedFactory = importExpr(Identifiers$1.getInheritedFactory);\n const baseFactoryStmt = baseFactory\n .set(getInheritedFactory.callFn([meta.internalType], /* sourceSpan */ undefined, /* pure */ true))\n .toDeclStmt(INFERRED_TYPE, [StmtModifier.Exported, StmtModifier.Final]);\n statements.push(baseFactoryStmt);\n // There is no constructor, use the base class' factory to construct typeForCtor.\n ctorExpr = baseFactory.callFn([typeForCtor]);\n }\n const ctorExprFinal = ctorExpr;\n const body = [];\n let retExpr = null;\n function makeConditionalFactory(nonCtorExpr) {\n const r = variable('r');\n body.push(r.set(NULL_EXPR).toDeclStmt());\n let ctorStmt = null;\n if (ctorExprFinal !== null) {\n ctorStmt = r.set(ctorExprFinal).toStmt();\n }\n else {\n ctorStmt = importExpr(Identifiers$1.invalidFactory).callFn([]).toStmt();\n }\n body.push(ifStmt(t, [ctorStmt], [r.set(nonCtorExpr).toStmt()]));\n return r;\n }\n if (isDelegatedMetadata(meta) && meta.delegateType === R3FactoryDelegateType.Factory) {\n const delegateFactory = variable(`ɵ${meta.name}_BaseFactory`);\n const getFactoryOf = importExpr(Identifiers$1.getFactoryOf);\n if (meta.delegate.isEquivalent(meta.internalType)) {\n throw new Error(`Illegal state: compiling factory that delegates to itself`);\n }\n const delegateFactoryStmt = delegateFactory.set(getFactoryOf.callFn([meta.delegate])).toDeclStmt(INFERRED_TYPE, [\n StmtModifier.Exported, StmtModifier.Final\n ]);\n statements.push(delegateFactoryStmt);\n retExpr = makeConditionalFactory(delegateFactory.callFn([]));\n }\n else if (isDelegatedMetadata(meta)) {\n // This type is created with a delegated factory. If a type parameter is not specified, call\n // the factory instead.\n const delegateArgs = injectDependencies(meta.delegateDeps, meta.injectFn, meta.target === R3FactoryTarget.Pipe);\n // Either call `new delegate(...)` or `delegate(...)` depending on meta.delegateType.\n const factoryExpr = new (meta.delegateType === R3FactoryDelegateType.Class ?\n InstantiateExpr :\n InvokeFunctionExpr)(meta.delegate, delegateArgs);\n retExpr = makeConditionalFactory(factoryExpr);\n }\n else if (isExpressionFactoryMetadata(meta)) {\n // TODO(alxhub): decide whether to lower the value here or in the caller\n retExpr = makeConditionalFactory(meta.expression);\n }\n else {\n retExpr = ctorExpr;\n }\n if (retExpr !== null) {\n body.push(new ReturnStatement(retExpr));\n }\n else {\n body.push(importExpr(Identifiers$1.invalidFactory).callFn([]).toStmt());\n }\n return {\n factory: fn([new FnParam('t', DYNAMIC_TYPE)], body, INFERRED_TYPE, undefined, `${meta.name}_Factory`),\n statements,\n type: expressionType(importExpr(Identifiers$1.FactoryDef, [typeWithParameters(meta.type.type, meta.typeArgumentCount), ctorDepsType]))\n };\n}\nfunction injectDependencies(deps, injectFn, isPipe) {\n return deps.map((dep, index) => compileInjectDependency(dep, injectFn, isPipe, index));\n}\nfunction compileInjectDependency(dep, injectFn, isPipe, index) {\n // Interpret the dependency according to its resolved type.\n switch (dep.resolved) {\n case R3ResolvedDependencyType.Token:\n case R3ResolvedDependencyType.ChangeDetectorRef:\n // Build up the injection flags according to the metadata.\n const flags = 0 /* Default */ | (dep.self ? 2 /* Self */ : 0) |\n (dep.skipSelf ? 4 /* SkipSelf */ : 0) | (dep.host ? 1 /* Host */ : 0) |\n (dep.optional ? 8 /* Optional */ : 0);\n // If this dependency is optional or otherwise has non-default flags, then additional\n // parameters describing how to inject the dependency must be passed to the inject function\n // that's being used.\n let flagsParam = (flags !== 0 /* Default */ || dep.optional) ? literal(flags) : null;\n // We have a separate instruction for injecting ChangeDetectorRef into a pipe.\n if (isPipe && dep.resolved === R3ResolvedDependencyType.ChangeDetectorRef) {\n return importExpr(Identifiers$1.injectPipeChangeDetectorRef).callFn(flagsParam ? [flagsParam] : []);\n }\n // Build up the arguments to the injectFn call.\n const injectArgs = [dep.token];\n if (flagsParam) {\n injectArgs.push(flagsParam);\n }\n return importExpr(injectFn).callFn(injectArgs);\n case R3ResolvedDependencyType.Attribute:\n // In the case of attributes, the attribute name in question is given as the token.\n return importExpr(Identifiers$1.injectAttribute).callFn([dep.token]);\n case R3ResolvedDependencyType.Invalid:\n return importExpr(Identifiers$1.invalidFactoryDep).callFn([literal(index)]);\n default:\n return unsupported(`Unknown R3ResolvedDependencyType: ${R3ResolvedDependencyType[dep.resolved]}`);\n }\n}\nfunction createCtorDepsType(deps) {\n let hasTypes = false;\n const attributeTypes = deps.map(dep => {\n const type = createCtorDepType(dep);\n if (type !== null) {\n hasTypes = true;\n return type;\n }\n else {\n return literal(null);\n }\n });\n if (hasTypes) {\n return expressionType(literalArr(attributeTypes));\n }\n else {\n return NONE_TYPE;\n }\n}\nfunction createCtorDepType(dep) {\n const entries = [];\n if (dep.resolved === R3ResolvedDependencyType.Attribute) {\n if (dep.attribute !== null) {\n entries.push({ key: 'attribute', value: dep.attribute, quoted: false });\n }\n }\n if (dep.optional) {\n entries.push({ key: 'optional', value: literal(true), quoted: false });\n }\n if (dep.host) {\n entries.push({ key: 'host', value: literal(true), quoted: false });\n }\n if (dep.self) {\n entries.push({ key: 'self', value: literal(true), quoted: false });\n }\n if (dep.skipSelf) {\n entries.push({ key: 'skipSelf', value: literal(true), quoted: false });\n }\n return entries.length > 0 ? literalMap(entries) : null;\n}\n/**\n * A helper function useful for extracting `R3DependencyMetadata` from a Render2\n * `CompileTypeMetadata` instance.\n */\nfunction dependenciesFromGlobalMetadata(type, outputCtx, reflector) {\n // Use the `CompileReflector` to look up references to some well-known Angular types. These will\n // be compared with the token to statically determine whether the token has significance to\n // Angular, and set the correct `R3ResolvedDependencyType` as a result.\n const injectorRef = reflector.resolveExternalReference(Identifiers.Injector);\n // Iterate through the type's DI dependencies and produce `R3DependencyMetadata` for each of them.\n const deps = [];\n for (let dependency of type.diDeps) {\n if (dependency.token) {\n const tokenRef = tokenReference(dependency.token);\n let resolved = dependency.isAttribute ?\n R3ResolvedDependencyType.Attribute :\n R3ResolvedDependencyType.Token;\n // In the case of most dependencies, the token will be a reference to a type. Sometimes,\n // however, it can be a string, in the case of older Angular code or @Attribute injection.\n const token = tokenRef instanceof StaticSymbol ? outputCtx.importExpr(tokenRef) : literal(tokenRef);\n // Construct the dependency.\n deps.push({\n token,\n attribute: null,\n resolved,\n host: !!dependency.isHost,\n optional: !!dependency.isOptional,\n self: !!dependency.isSelf,\n skipSelf: !!dependency.isSkipSelf,\n });\n }\n else {\n unsupported('dependency without a token');\n }\n }\n return deps;\n}\nfunction isDelegatedMetadata(meta) {\n return meta.delegateType !== undefined;\n}\nfunction isExpressionFactoryMetadata(meta) {\n return meta.expression !== undefined;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction compileInjectable(meta) {\n let result = null;\n const factoryMeta = {\n name: meta.name,\n type: meta.type,\n internalType: meta.internalType,\n typeArgumentCount: meta.typeArgumentCount,\n deps: [],\n injectFn: Identifiers.inject,\n target: R3FactoryTarget.Injectable,\n };\n if (meta.useClass !== undefined) {\n // meta.useClass has two modes of operation. Either deps are specified, in which case `new` is\n // used to instantiate the class with dependencies injected, or deps are not specified and\n // the factory of the class is used to instantiate it.\n //\n // A special case exists for useClass: Type where Type is the injectable type itself and no\n // deps are specified, in which case 'useClass' is effectively ignored.\n const useClassOnSelf = meta.useClass.isEquivalent(meta.internalType);\n let deps = undefined;\n if (meta.userDeps !== undefined) {\n deps = meta.userDeps;\n }\n if (deps !== undefined) {\n // factory: () => new meta.useClass(...deps)\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { delegate: meta.useClass, delegateDeps: deps, delegateType: R3FactoryDelegateType.Class }));\n }\n else if (useClassOnSelf) {\n result = compileFactoryFunction(factoryMeta);\n }\n else {\n result = delegateToFactory(meta.type.value, meta.useClass);\n }\n }\n else if (meta.useFactory !== undefined) {\n if (meta.userDeps !== undefined) {\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { delegate: meta.useFactory, delegateDeps: meta.userDeps || [], delegateType: R3FactoryDelegateType.Function }));\n }\n else {\n result = {\n statements: [],\n factory: fn([], [new ReturnStatement(meta.useFactory.callFn([]))])\n };\n }\n }\n else if (meta.useValue !== undefined) {\n // Note: it's safe to use `meta.useValue` instead of the `USE_VALUE in meta` check used for\n // client code because meta.useValue is an Expression which will be defined even if the actual\n // value is undefined.\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: meta.useValue }));\n }\n else if (meta.useExisting !== undefined) {\n // useExisting is an `inject` call on the existing token.\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: importExpr(Identifiers.inject).callFn([meta.useExisting]) }));\n }\n else {\n result = delegateToFactory(meta.type.value, meta.internalType);\n }\n const token = meta.internalType;\n const injectableProps = { token, factory: result.factory };\n // Only generate providedIn property if it has a non-null value\n if (meta.providedIn.value !== null) {\n injectableProps.providedIn = meta.providedIn;\n }\n const expression = importExpr(Identifiers.ɵɵdefineInjectable).callFn([mapToMapExpression(injectableProps)]);\n const type = new ExpressionType(importExpr(Identifiers.InjectableDef, [typeWithParameters(meta.type.type, meta.typeArgumentCount)]));\n return {\n expression,\n type,\n statements: result.statements,\n };\n}\nfunction delegateToFactory(type, internalType) {\n return {\n statements: [],\n // If types are the same, we can generate `factory: type.ɵfac`\n // If types are different, we have to generate a wrapper function to ensure\n // the internal type has been resolved (`factory: function(t) { return type.ɵfac(t); }`)\n factory: type.node === internalType.node ?\n internalType.prop('ɵfac') :\n fn([new FnParam('t', DYNAMIC_TYPE)], [new ReturnStatement(internalType.callMethod('ɵfac', [variable('t')]))])\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction assertArrayOfStrings(identifier, value) {\n if (value == null) {\n return;\n }\n if (!Array.isArray(value)) {\n throw new Error(`Expected '${identifier}' to be an array of strings.`);\n }\n for (let i = 0; i < value.length; i += 1) {\n if (typeof value[i] !== 'string') {\n throw new Error(`Expected '${identifier}' to be an array of strings.`);\n }\n }\n}\nconst UNUSABLE_INTERPOLATION_REGEXPS = [\n /^\\s*$/,\n /[<>]/,\n /^[{}]$/,\n /&(#|[a-z])/i,\n /^\\/\\//,\n];\nfunction assertInterpolationSymbols(identifier, value) {\n if (value != null && !(Array.isArray(value) && value.length == 2)) {\n throw new Error(`Expected '${identifier}' to be an array, [start, end].`);\n }\n else if (value != null) {\n const start = value[0];\n const end = value[1];\n // Check for unusable interpolation symbols\n UNUSABLE_INTERPOLATION_REGEXPS.forEach(regexp => {\n if (regexp.test(start) || regexp.test(end)) {\n throw new Error(`['${start}', '${end}'] contains unusable interpolation symbol.`);\n }\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass InterpolationConfig {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n static fromArray(markers) {\n if (!markers) {\n return DEFAULT_INTERPOLATION_CONFIG;\n }\n assertInterpolationSymbols('interpolation', markers);\n return new InterpolationConfig(markers[0], markers[1]);\n }\n}\nconst DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\nconst VERSION = 3;\nconst JS_B64_PREFIX = '# sourceMappingURL=data:application/json;base64,';\nclass SourceMapGenerator {\n constructor(file = null) {\n this.file = file;\n this.sourcesContent = new Map();\n this.lines = [];\n this.lastCol0 = 0;\n this.hasMappings = false;\n }\n // The content is `null` when the content is expected to be loaded using the URL\n addSource(url, content = null) {\n if (!this.sourcesContent.has(url)) {\n this.sourcesContent.set(url, content);\n }\n return this;\n }\n addLine() {\n this.lines.push([]);\n this.lastCol0 = 0;\n return this;\n }\n addMapping(col0, sourceUrl, sourceLine0, sourceCol0) {\n if (!this.currentLine) {\n throw new Error(`A line must be added before mappings can be added`);\n }\n if (sourceUrl != null && !this.sourcesContent.has(sourceUrl)) {\n throw new Error(`Unknown source file \"${sourceUrl}\"`);\n }\n if (col0 == null) {\n throw new Error(`The column in the generated code must be provided`);\n }\n if (col0 < this.lastCol0) {\n throw new Error(`Mapping should be added in output order`);\n }\n if (sourceUrl && (sourceLine0 == null || sourceCol0 == null)) {\n throw new Error(`The source location must be provided when a source url is provided`);\n }\n this.hasMappings = true;\n this.lastCol0 = col0;\n this.currentLine.push({ col0, sourceUrl, sourceLine0, sourceCol0 });\n return this;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get currentLine() {\n return this.lines.slice(-1)[0];\n }\n toJSON() {\n if (!this.hasMappings) {\n return null;\n }\n const sourcesIndex = new Map();\n const sources = [];\n const sourcesContent = [];\n Array.from(this.sourcesContent.keys()).forEach((url, i) => {\n sourcesIndex.set(url, i);\n sources.push(url);\n sourcesContent.push(this.sourcesContent.get(url) || null);\n });\n let mappings = '';\n let lastCol0 = 0;\n let lastSourceIndex = 0;\n let lastSourceLine0 = 0;\n let lastSourceCol0 = 0;\n this.lines.forEach(segments => {\n lastCol0 = 0;\n mappings += segments\n .map(segment => {\n // zero-based starting column of the line in the generated code\n let segAsStr = toBase64VLQ(segment.col0 - lastCol0);\n lastCol0 = segment.col0;\n if (segment.sourceUrl != null) {\n // zero-based index into the “sources” list\n segAsStr +=\n toBase64VLQ(sourcesIndex.get(segment.sourceUrl) - lastSourceIndex);\n lastSourceIndex = sourcesIndex.get(segment.sourceUrl);\n // the zero-based starting line in the original source\n segAsStr += toBase64VLQ(segment.sourceLine0 - lastSourceLine0);\n lastSourceLine0 = segment.sourceLine0;\n // the zero-based starting column in the original source\n segAsStr += toBase64VLQ(segment.sourceCol0 - lastSourceCol0);\n lastSourceCol0 = segment.sourceCol0;\n }\n return segAsStr;\n })\n .join(',');\n mappings += ';';\n });\n mappings = mappings.slice(0, -1);\n return {\n 'file': this.file || '',\n 'version': VERSION,\n 'sourceRoot': '',\n 'sources': sources,\n 'sourcesContent': sourcesContent,\n 'mappings': mappings,\n };\n }\n toJsComment() {\n return this.hasMappings ? '//' + JS_B64_PREFIX + toBase64String(JSON.stringify(this, null, 0)) :\n '';\n }\n}\nfunction toBase64String(value) {\n let b64 = '';\n value = utf8Encode(value);\n for (let i = 0; i < value.length;) {\n const i1 = value.charCodeAt(i++);\n const i2 = value.charCodeAt(i++);\n const i3 = value.charCodeAt(i++);\n b64 += toBase64Digit(i1 >> 2);\n b64 += toBase64Digit(((i1 & 3) << 4) | (isNaN(i2) ? 0 : i2 >> 4));\n b64 += isNaN(i2) ? '=' : toBase64Digit(((i2 & 15) << 2) | (i3 >> 6));\n b64 += isNaN(i2) || isNaN(i3) ? '=' : toBase64Digit(i3 & 63);\n }\n return b64;\n}\nfunction toBase64VLQ(value) {\n value = value < 0 ? ((-value) << 1) + 1 : value << 1;\n let out = '';\n do {\n let digit = value & 31;\n value = value >> 5;\n if (value > 0) {\n digit = digit | 32;\n }\n out += toBase64Digit(digit);\n } while (value > 0);\n return out;\n}\nconst B64_DIGITS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfunction toBase64Digit(value) {\n if (value < 0 || value >= 64) {\n throw new Error(`Can only encode value in the range [0, 63]`);\n }\n return B64_DIGITS[value];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\\\|\\n|\\r|\\$/g;\nconst _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;\nconst _INDENT_WITH = ' ';\nconst CATCH_ERROR_VAR$1 = variable('error', null, null);\nconst CATCH_STACK_VAR$1 = variable('stack', null, null);\nclass _EmittedLine {\n constructor(indent) {\n this.indent = indent;\n this.partsLength = 0;\n this.parts = [];\n this.srcSpans = [];\n }\n}\nclass EmitterVisitorContext {\n constructor(_indent) {\n this._indent = _indent;\n this._classes = [];\n this._preambleLineCount = 0;\n this._lines = [new _EmittedLine(_indent)];\n }\n static createRoot() {\n return new EmitterVisitorContext(0);\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get _currentLine() {\n return this._lines[this._lines.length - 1];\n }\n println(from, lastPart = '') {\n this.print(from || null, lastPart, true);\n }\n lineIsEmpty() {\n return this._currentLine.parts.length === 0;\n }\n lineLength() {\n return this._currentLine.indent * _INDENT_WITH.length + this._currentLine.partsLength;\n }\n print(from, part, newLine = false) {\n if (part.length > 0) {\n this._currentLine.parts.push(part);\n this._currentLine.partsLength += part.length;\n this._currentLine.srcSpans.push(from && from.sourceSpan || null);\n }\n if (newLine) {\n this._lines.push(new _EmittedLine(this._indent));\n }\n }\n removeEmptyLastLine() {\n if (this.lineIsEmpty()) {\n this._lines.pop();\n }\n }\n incIndent() {\n this._indent++;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n decIndent() {\n this._indent--;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n pushClass(clazz) {\n this._classes.push(clazz);\n }\n popClass() {\n return this._classes.pop();\n }\n get currentClass() {\n return this._classes.length > 0 ? this._classes[this._classes.length - 1] : null;\n }\n toSource() {\n return this.sourceLines\n .map(l => l.parts.length > 0 ? _createIndent(l.indent) + l.parts.join('') : '')\n .join('\\n');\n }\n toSourceMapGenerator(genFilePath, startsAtLine = 0) {\n const map = new SourceMapGenerator(genFilePath);\n let firstOffsetMapped = false;\n const mapFirstOffsetIfNeeded = () => {\n if (!firstOffsetMapped) {\n // Add a single space so that tools won't try to load the file from disk.\n // Note: We are using virtual urls like `ng:///`, so we have to\n // provide a content here.\n map.addSource(genFilePath, ' ').addMapping(0, genFilePath, 0, 0);\n firstOffsetMapped = true;\n }\n };\n for (let i = 0; i < startsAtLine; i++) {\n map.addLine();\n mapFirstOffsetIfNeeded();\n }\n this.sourceLines.forEach((line, lineIdx) => {\n map.addLine();\n const spans = line.srcSpans;\n const parts = line.parts;\n let col0 = line.indent * _INDENT_WITH.length;\n let spanIdx = 0;\n // skip leading parts without source spans\n while (spanIdx < spans.length && !spans[spanIdx]) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n if (spanIdx < spans.length && lineIdx === 0 && col0 === 0) {\n firstOffsetMapped = true;\n }\n else {\n mapFirstOffsetIfNeeded();\n }\n while (spanIdx < spans.length) {\n const span = spans[spanIdx];\n const source = span.start.file;\n const sourceLine = span.start.line;\n const sourceCol = span.start.col;\n map.addSource(source.url, source.content)\n .addMapping(col0, source.url, sourceLine, sourceCol);\n col0 += parts[spanIdx].length;\n spanIdx++;\n // assign parts without span or the same span to the previous segment\n while (spanIdx < spans.length && (span === spans[spanIdx] || !spans[spanIdx])) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n }\n });\n return map;\n }\n setPreambleLineCount(count) {\n return this._preambleLineCount = count;\n }\n spanOf(line, column) {\n const emittedLine = this._lines[line - this._preambleLineCount];\n if (emittedLine) {\n let columnsLeft = column - _createIndent(emittedLine.indent).length;\n for (let partIndex = 0; partIndex < emittedLine.parts.length; partIndex++) {\n const part = emittedLine.parts[partIndex];\n if (part.length > columnsLeft) {\n return emittedLine.srcSpans[partIndex];\n }\n columnsLeft -= part.length;\n }\n }\n return null;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get sourceLines() {\n if (this._lines.length && this._lines[this._lines.length - 1].parts.length === 0) {\n return this._lines.slice(0, -1);\n }\n return this._lines;\n }\n}\nclass AbstractEmitterVisitor {\n constructor(_escapeDollarInStrings) {\n this._escapeDollarInStrings = _escapeDollarInStrings;\n }\n printLeadingComments(stmt, ctx) {\n if (stmt.leadingComments === undefined) {\n return;\n }\n for (const comment of stmt.leadingComments) {\n if (comment instanceof JSDocComment) {\n ctx.print(stmt, `/*${comment.toString()}*/`, comment.trailingNewline);\n }\n else {\n if (comment.multiline) {\n ctx.print(stmt, `/* ${comment.text} */`, comment.trailingNewline);\n }\n else {\n comment.text.split('\\n').forEach((line) => {\n ctx.println(stmt, `// ${line}`);\n });\n }\n }\n }\n }\n visitExpressionStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n stmt.expr.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitReturnStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `return `);\n stmt.value.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitIfStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `if (`);\n stmt.condition.visitExpression(this, ctx);\n ctx.print(stmt, `) {`);\n const hasElseCase = stmt.falseCase != null && stmt.falseCase.length > 0;\n if (stmt.trueCase.length <= 1 && !hasElseCase) {\n ctx.print(stmt, ` `);\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.removeEmptyLastLine();\n ctx.print(stmt, ` `);\n }\n else {\n ctx.println();\n ctx.incIndent();\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.decIndent();\n if (hasElseCase) {\n ctx.println(stmt, `} else {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.falseCase, ctx);\n ctx.decIndent();\n }\n }\n ctx.println(stmt, `}`);\n return null;\n }\n visitThrowStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `throw `);\n stmt.error.visitExpression(this, ctx);\n ctx.println(stmt, `;`);\n return null;\n }\n visitWriteVarExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n ctx.print(expr, `${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWriteKeyExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `[`);\n expr.index.visitExpression(this, ctx);\n ctx.print(expr, `] = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWritePropExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `.${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitInvokeMethodExpr(expr, ctx) {\n expr.receiver.visitExpression(this, ctx);\n let name = expr.name;\n if (expr.builtin != null) {\n name = this.getBuiltinMethodName(expr.builtin);\n if (name == null) {\n // some builtins just mean to skip the call.\n return null;\n }\n }\n ctx.print(expr, `.${name}(`);\n this.visitAllExpressions(expr.args, ctx, `,`);\n ctx.print(expr, `)`);\n return null;\n }\n visitInvokeFunctionExpr(expr, ctx) {\n expr.fn.visitExpression(this, ctx);\n ctx.print(expr, `(`);\n this.visitAllExpressions(expr.args, ctx, ',');\n ctx.print(expr, `)`);\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Abstract emitter cannot visit WrappedNodeExpr.');\n }\n visitTypeofExpr(expr, ctx) {\n ctx.print(expr, 'typeof ');\n expr.expr.visitExpression(this, ctx);\n }\n visitReadVarExpr(ast, ctx) {\n let varName = ast.name;\n if (ast.builtin != null) {\n switch (ast.builtin) {\n case BuiltinVar.Super:\n varName = 'super';\n break;\n case BuiltinVar.This:\n varName = 'this';\n break;\n case BuiltinVar.CatchError:\n varName = CATCH_ERROR_VAR$1.name;\n break;\n case BuiltinVar.CatchStack:\n varName = CATCH_STACK_VAR$1.name;\n break;\n default:\n throw new Error(`Unknown builtin variable ${ast.builtin}`);\n }\n }\n ctx.print(ast, varName);\n return null;\n }\n visitInstantiateExpr(ast, ctx) {\n ctx.print(ast, `new `);\n ast.classExpr.visitExpression(this, ctx);\n ctx.print(ast, `(`);\n this.visitAllExpressions(ast.args, ctx, ',');\n ctx.print(ast, `)`);\n return null;\n }\n visitLiteralExpr(ast, ctx) {\n const value = ast.value;\n if (typeof value === 'string') {\n ctx.print(ast, escapeIdentifier(value, this._escapeDollarInStrings));\n }\n else {\n ctx.print(ast, `${value}`);\n }\n return null;\n }\n visitLocalizedString(ast, ctx) {\n const head = ast.serializeI18nHead();\n ctx.print(ast, '$localize `' + head.raw);\n for (let i = 1; i < ast.messageParts.length; i++) {\n ctx.print(ast, '${');\n ast.expressions[i - 1].visitExpression(this, ctx);\n ctx.print(ast, `}${ast.serializeI18nTemplatePart(i).raw}`);\n }\n ctx.print(ast, '`');\n return null;\n }\n visitConditionalExpr(ast, ctx) {\n ctx.print(ast, `(`);\n ast.condition.visitExpression(this, ctx);\n ctx.print(ast, '? ');\n ast.trueCase.visitExpression(this, ctx);\n ctx.print(ast, ': ');\n ast.falseCase.visitExpression(this, ctx);\n ctx.print(ast, `)`);\n return null;\n }\n visitNotExpr(ast, ctx) {\n ctx.print(ast, '!');\n ast.condition.visitExpression(this, ctx);\n return null;\n }\n visitAssertNotNullExpr(ast, ctx) {\n ast.condition.visitExpression(this, ctx);\n return null;\n }\n visitUnaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case UnaryOperator.Plus:\n opStr = '+';\n break;\n case UnaryOperator.Minus:\n opStr = '-';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ctx.print(ast, opStr);\n ast.expr.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitBinaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case BinaryOperator.Equals:\n opStr = '==';\n break;\n case BinaryOperator.Identical:\n opStr = '===';\n break;\n case BinaryOperator.NotEquals:\n opStr = '!=';\n break;\n case BinaryOperator.NotIdentical:\n opStr = '!==';\n break;\n case BinaryOperator.And:\n opStr = '&&';\n break;\n case BinaryOperator.BitwiseAnd:\n opStr = '&';\n break;\n case BinaryOperator.Or:\n opStr = '||';\n break;\n case BinaryOperator.Plus:\n opStr = '+';\n break;\n case BinaryOperator.Minus:\n opStr = '-';\n break;\n case BinaryOperator.Divide:\n opStr = '/';\n break;\n case BinaryOperator.Multiply:\n opStr = '*';\n break;\n case BinaryOperator.Modulo:\n opStr = '%';\n break;\n case BinaryOperator.Lower:\n opStr = '<';\n break;\n case BinaryOperator.LowerEquals:\n opStr = '<=';\n break;\n case BinaryOperator.Bigger:\n opStr = '>';\n break;\n case BinaryOperator.BiggerEquals:\n opStr = '>=';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ast.lhs.visitExpression(this, ctx);\n ctx.print(ast, ` ${opStr} `);\n ast.rhs.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitReadPropExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `.`);\n ctx.print(ast, ast.name);\n return null;\n }\n visitReadKeyExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `[`);\n ast.index.visitExpression(this, ctx);\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralArrayExpr(ast, ctx) {\n ctx.print(ast, `[`);\n this.visitAllExpressions(ast.entries, ctx, ',');\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralMapExpr(ast, ctx) {\n ctx.print(ast, `{`);\n this.visitAllObjects(entry => {\n ctx.print(ast, `${escapeIdentifier(entry.key, this._escapeDollarInStrings, entry.quoted)}:`);\n entry.value.visitExpression(this, ctx);\n }, ast.entries, ctx, ',');\n ctx.print(ast, `}`);\n return null;\n }\n visitCommaExpr(ast, ctx) {\n ctx.print(ast, '(');\n this.visitAllExpressions(ast.parts, ctx, ',');\n ctx.print(ast, ')');\n return null;\n }\n visitAllExpressions(expressions, ctx, separator) {\n this.visitAllObjects(expr => expr.visitExpression(this, ctx), expressions, ctx, separator);\n }\n visitAllObjects(handler, expressions, ctx, separator) {\n let incrementedIndent = false;\n for (let i = 0; i < expressions.length; i++) {\n if (i > 0) {\n if (ctx.lineLength() > 80) {\n ctx.print(null, separator, true);\n if (!incrementedIndent) {\n // continuation are marked with double indent.\n ctx.incIndent();\n ctx.incIndent();\n incrementedIndent = true;\n }\n }\n else {\n ctx.print(null, separator, false);\n }\n }\n handler(expressions[i]);\n }\n if (incrementedIndent) {\n // continuation are marked with double indent.\n ctx.decIndent();\n ctx.decIndent();\n }\n }\n visitAllStatements(statements, ctx) {\n statements.forEach((stmt) => stmt.visitStatement(this, ctx));\n }\n}\nfunction escapeIdentifier(input, escapeDollar, alwaysQuote = true) {\n if (input == null) {\n return null;\n }\n const body = input.replace(_SINGLE_QUOTE_ESCAPE_STRING_RE, (...match) => {\n if (match[0] == '$') {\n return escapeDollar ? '\\\\$' : '$';\n }\n else if (match[0] == '\\n') {\n return '\\\\n';\n }\n else if (match[0] == '\\r') {\n return '\\\\r';\n }\n else {\n return `\\\\${match[0]}`;\n }\n });\n const requiresQuotes = alwaysQuote || !_LEGAL_IDENTIFIER_RE.test(body);\n return requiresQuotes ? `'${body}'` : body;\n}\nfunction _createIndent(count) {\n let res = '';\n for (let i = 0; i < count; i++) {\n res += _INDENT_WITH;\n }\n return res;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass AbstractJsEmitterVisitor extends AbstractEmitterVisitor {\n constructor() {\n super(false);\n }\n visitDeclareClassStmt(stmt, ctx) {\n ctx.pushClass(stmt);\n this._visitClassConstructor(stmt, ctx);\n if (stmt.parent != null) {\n ctx.print(stmt, `${stmt.name}.prototype = Object.create(`);\n stmt.parent.visitExpression(this, ctx);\n ctx.println(stmt, `.prototype);`);\n }\n stmt.getters.forEach((getter) => this._visitClassGetter(stmt, getter, ctx));\n stmt.methods.forEach((method) => this._visitClassMethod(stmt, method, ctx));\n ctx.popClass();\n return null;\n }\n _visitClassConstructor(stmt, ctx) {\n ctx.print(stmt, `function ${stmt.name}(`);\n if (stmt.constructorMethod != null) {\n this._visitParams(stmt.constructorMethod.params, ctx);\n }\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n if (stmt.constructorMethod != null) {\n if (stmt.constructorMethod.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(stmt.constructorMethod.body, ctx);\n }\n }\n ctx.decIndent();\n ctx.println(stmt, `}`);\n }\n _visitClassGetter(stmt, getter, ctx) {\n ctx.println(stmt, `Object.defineProperty(${stmt.name}.prototype, '${getter.name}', { get: function() {`);\n ctx.incIndent();\n if (getter.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(getter.body, ctx);\n }\n ctx.decIndent();\n ctx.println(stmt, `}});`);\n }\n _visitClassMethod(stmt, method, ctx) {\n ctx.print(stmt, `${stmt.name}.prototype.${method.name} = function(`);\n this._visitParams(method.params, ctx);\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n if (method.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(method.body, ctx);\n }\n ctx.decIndent();\n ctx.println(stmt, `};`);\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Cannot emit a WrappedNodeExpr in Javascript.');\n }\n visitReadVarExpr(ast, ctx) {\n if (ast.builtin === BuiltinVar.This) {\n ctx.print(ast, 'self');\n }\n else if (ast.builtin === BuiltinVar.Super) {\n throw new Error(`'super' needs to be handled at a parent ast node, not at the variable level!`);\n }\n else {\n super.visitReadVarExpr(ast, ctx);\n }\n return null;\n }\n visitDeclareVarStmt(stmt, ctx) {\n ctx.print(stmt, `var ${stmt.name}`);\n if (stmt.value) {\n ctx.print(stmt, ' = ');\n stmt.value.visitExpression(this, ctx);\n }\n ctx.println(stmt, `;`);\n return null;\n }\n visitCastExpr(ast, ctx) {\n ast.value.visitExpression(this, ctx);\n return null;\n }\n visitInvokeFunctionExpr(expr, ctx) {\n const fnExpr = expr.fn;\n if (fnExpr instanceof ReadVarExpr && fnExpr.builtin === BuiltinVar.Super) {\n ctx.currentClass.parent.visitExpression(this, ctx);\n ctx.print(expr, `.call(this`);\n if (expr.args.length > 0) {\n ctx.print(expr, `, `);\n this.visitAllExpressions(expr.args, ctx, ',');\n }\n ctx.print(expr, `)`);\n }\n else {\n super.visitInvokeFunctionExpr(expr, ctx);\n }\n return null;\n }\n visitFunctionExpr(ast, ctx) {\n ctx.print(ast, `function${ast.name ? ' ' + ast.name : ''}(`);\n this._visitParams(ast.params, ctx);\n ctx.println(ast, `) {`);\n ctx.incIndent();\n this.visitAllStatements(ast.statements, ctx);\n ctx.decIndent();\n ctx.print(ast, `}`);\n return null;\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n ctx.print(stmt, `function ${stmt.name}(`);\n this._visitParams(stmt.params, ctx);\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.statements, ctx);\n ctx.decIndent();\n ctx.println(stmt, `}`);\n return null;\n }\n visitTryCatchStmt(stmt, ctx) {\n ctx.println(stmt, `try {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.bodyStmts, ctx);\n ctx.decIndent();\n ctx.println(stmt, `} catch (${CATCH_ERROR_VAR$1.name}) {`);\n ctx.incIndent();\n const catchStmts = [CATCH_STACK_VAR$1.set(CATCH_ERROR_VAR$1.prop('stack')).toDeclStmt(null, [\n StmtModifier.Final\n ])].concat(stmt.catchStmts);\n this.visitAllStatements(catchStmts, ctx);\n ctx.decIndent();\n ctx.println(stmt, `}`);\n return null;\n }\n visitLocalizedString(ast, ctx) {\n // The following convoluted piece of code is effectively the downlevelled equivalent of\n // ```\n // $localize `...`\n // ```\n // which is effectively like:\n // ```\n // $localize(__makeTemplateObject(cooked, raw), expression1, expression2, ...);\n // ```\n //\n // The `$localize` function expects a \"template object\", which is an array of \"cooked\" strings\n // plus a `raw` property that contains an array of \"raw\" strings.\n //\n // In some environments a helper function called `__makeTemplateObject(cooked, raw)` might be\n // available, in which case we use that. Otherwise we must create our own helper function\n // inline.\n //\n // In the inline function, if `Object.defineProperty` is available we use that to attach the\n // `raw` array.\n ctx.print(ast, '$localize((this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e})(');\n const parts = [ast.serializeI18nHead()];\n for (let i = 1; i < ast.messageParts.length; i++) {\n parts.push(ast.serializeI18nTemplatePart(i));\n }\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.cooked, false)).join(', ')}], `);\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.raw, false)).join(', ')}])`);\n ast.expressions.forEach(expression => {\n ctx.print(ast, ', ');\n expression.visitExpression(this, ctx);\n });\n ctx.print(ast, ')');\n return null;\n }\n _visitParams(params, ctx) {\n this.visitAllObjects(param => ctx.print(null, param.name), params, ctx, ',');\n }\n getBuiltinMethodName(method) {\n let name;\n switch (method) {\n case BuiltinMethod.ConcatArray:\n name = 'concat';\n break;\n case BuiltinMethod.SubscribeObservable:\n name = 'subscribe';\n break;\n case BuiltinMethod.Bind:\n name = 'bind';\n break;\n default:\n throw new Error(`Unknown builtin method: ${method}`);\n }\n return name;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A helper class to manage the evaluation of JIT generated code.\n */\nclass JitEvaluator {\n /**\n *\n * @param sourceUrl The URL of the generated code.\n * @param statements An array of Angular statement AST nodes to be evaluated.\n * @param reflector A helper used when converting the statements to executable code.\n * @param createSourceMaps If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns A map of all the variables in the generated code.\n */\n evaluateStatements(sourceUrl, statements, reflector, createSourceMaps) {\n const converter = new JitEmitterVisitor(reflector);\n const ctx = EmitterVisitorContext.createRoot();\n // Ensure generated code is in strict mode\n if (statements.length > 0 && !isUseStrictStatement(statements[0])) {\n statements = [\n literal('use strict').toStmt(),\n ...statements,\n ];\n }\n converter.visitAllStatements(statements, ctx);\n converter.createReturnStmt(ctx);\n return this.evaluateCode(sourceUrl, ctx, converter.getArgs(), createSourceMaps);\n }\n /**\n * Evaluate a piece of JIT generated code.\n * @param sourceUrl The URL of this generated code.\n * @param ctx A context object that contains an AST of the code to be evaluated.\n * @param vars A map containing the names and values of variables that the evaluated code might\n * reference.\n * @param createSourceMap If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns The result of evaluating the code.\n */\n evaluateCode(sourceUrl, ctx, vars, createSourceMap) {\n let fnBody = `\"use strict\";${ctx.toSource()}\\n//# sourceURL=${sourceUrl}`;\n const fnArgNames = [];\n const fnArgValues = [];\n for (const argName in vars) {\n fnArgValues.push(vars[argName]);\n fnArgNames.push(argName);\n }\n if (createSourceMap) {\n // using `new Function(...)` generates a header, 1 line of no arguments, 2 lines otherwise\n // E.g. ```\n // function anonymous(a,b,c\n // /**/) { ... }```\n // We don't want to hard code this fact, so we auto detect it via an empty function first.\n const emptyFn = new Function(...fnArgNames.concat('return null;')).toString();\n const headerLines = emptyFn.slice(0, emptyFn.indexOf('return null;')).split('\\n').length - 1;\n fnBody += `\\n${ctx.toSourceMapGenerator(sourceUrl, headerLines).toJsComment()}`;\n }\n const fn = new Function(...fnArgNames.concat(fnBody));\n return this.executeFunction(fn, fnArgValues);\n }\n /**\n * Execute a JIT generated function by calling it.\n *\n * This method can be overridden in tests to capture the functions that are generated\n * by this `JitEvaluator` class.\n *\n * @param fn A function to execute.\n * @param args The arguments to pass to the function being executed.\n * @returns The return value of the executed function.\n */\n executeFunction(fn, args) {\n return fn(...args);\n }\n}\n/**\n * An Angular AST visitor that converts AST nodes into executable JavaScript code.\n */\nclass JitEmitterVisitor extends AbstractJsEmitterVisitor {\n constructor(reflector) {\n super();\n this.reflector = reflector;\n this._evalArgNames = [];\n this._evalArgValues = [];\n this._evalExportedVars = [];\n }\n createReturnStmt(ctx) {\n const stmt = new ReturnStatement(new LiteralMapExpr(this._evalExportedVars.map(resultVar => new LiteralMapEntry(resultVar, variable(resultVar), false))));\n stmt.visitStatement(this, ctx);\n }\n getArgs() {\n const result = {};\n for (let i = 0; i < this._evalArgNames.length; i++) {\n result[this._evalArgNames[i]] = this._evalArgValues[i];\n }\n return result;\n }\n visitExternalExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, this.reflector.resolveExternalReference(ast.value), ctx);\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, ast.node, ctx);\n return null;\n }\n visitDeclareVarStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareVarStmt(stmt, ctx);\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareFunctionStmt(stmt, ctx);\n }\n visitDeclareClassStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareClassStmt(stmt, ctx);\n }\n _emitReferenceToExternal(ast, value, ctx) {\n let id = this._evalArgValues.indexOf(value);\n if (id === -1) {\n id = this._evalArgValues.length;\n this._evalArgValues.push(value);\n const name = identifierName({ reference: value }) || 'val';\n this._evalArgNames.push(`jit_${name}_${id}`);\n }\n ctx.print(ast, this._evalArgNames[id]);\n }\n}\nfunction isUseStrictStatement(statement) {\n return statement.isEquivalent(literal('use strict').toStmt());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst $EOF = 0;\nconst $BSPACE = 8;\nconst $TAB = 9;\nconst $LF = 10;\nconst $VTAB = 11;\nconst $FF = 12;\nconst $CR = 13;\nconst $SPACE = 32;\nconst $BANG = 33;\nconst $DQ = 34;\nconst $HASH = 35;\nconst $$ = 36;\nconst $PERCENT = 37;\nconst $AMPERSAND = 38;\nconst $SQ = 39;\nconst $LPAREN = 40;\nconst $RPAREN = 41;\nconst $STAR = 42;\nconst $PLUS = 43;\nconst $COMMA = 44;\nconst $MINUS = 45;\nconst $PERIOD = 46;\nconst $SLASH = 47;\nconst $COLON = 58;\nconst $SEMICOLON = 59;\nconst $LT = 60;\nconst $EQ = 61;\nconst $GT = 62;\nconst $QUESTION = 63;\nconst $0 = 48;\nconst $7 = 55;\nconst $9 = 57;\nconst $A = 65;\nconst $E = 69;\nconst $F = 70;\nconst $X = 88;\nconst $Z = 90;\nconst $LBRACKET = 91;\nconst $BACKSLASH = 92;\nconst $RBRACKET = 93;\nconst $CARET = 94;\nconst $_ = 95;\nconst $a = 97;\nconst $b = 98;\nconst $e = 101;\nconst $f = 102;\nconst $n = 110;\nconst $r = 114;\nconst $t = 116;\nconst $u = 117;\nconst $v = 118;\nconst $x = 120;\nconst $z = 122;\nconst $LBRACE = 123;\nconst $BAR = 124;\nconst $RBRACE = 125;\nconst $NBSP = 160;\nconst $PIPE = 124;\nconst $TILDA = 126;\nconst $AT = 64;\nconst $BT = 96;\nfunction isWhitespace(code) {\n return (code >= $TAB && code <= $SPACE) || (code == $NBSP);\n}\nfunction isDigit(code) {\n return $0 <= code && code <= $9;\n}\nfunction isAsciiLetter(code) {\n return code >= $a && code <= $z || code >= $A && code <= $Z;\n}\nfunction isAsciiHexDigit(code) {\n return code >= $a && code <= $f || code >= $A && code <= $F || isDigit(code);\n}\nfunction isNewLine(code) {\n return code === $LF || code === $CR;\n}\nfunction isOctalDigit(code) {\n return $0 <= code && code <= $7;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ParseLocation {\n constructor(file, offset, line, col) {\n this.file = file;\n this.offset = offset;\n this.line = line;\n this.col = col;\n }\n toString() {\n return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url;\n }\n moveBy(delta) {\n const source = this.file.content;\n const len = source.length;\n let offset = this.offset;\n let line = this.line;\n let col = this.col;\n while (offset > 0 && delta < 0) {\n offset--;\n delta++;\n const ch = source.charCodeAt(offset);\n if (ch == $LF) {\n line--;\n const priorLine = source.substr(0, offset - 1).lastIndexOf(String.fromCharCode($LF));\n col = priorLine > 0 ? offset - priorLine : offset;\n }\n else {\n col--;\n }\n }\n while (offset < len && delta > 0) {\n const ch = source.charCodeAt(offset);\n offset++;\n delta--;\n if (ch == $LF) {\n line++;\n col = 0;\n }\n else {\n col++;\n }\n }\n return new ParseLocation(this.file, offset, line, col);\n }\n // Return the source around the location\n // Up to `maxChars` or `maxLines` on each side of the location\n getContext(maxChars, maxLines) {\n const content = this.file.content;\n let startOffset = this.offset;\n if (startOffset != null) {\n if (startOffset > content.length - 1) {\n startOffset = content.length - 1;\n }\n let endOffset = startOffset;\n let ctxChars = 0;\n let ctxLines = 0;\n while (ctxChars < maxChars && startOffset > 0) {\n startOffset--;\n ctxChars++;\n if (content[startOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n ctxChars = 0;\n ctxLines = 0;\n while (ctxChars < maxChars && endOffset < content.length - 1) {\n endOffset++;\n ctxChars++;\n if (content[endOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n return {\n before: content.substring(startOffset, this.offset),\n after: content.substring(this.offset, endOffset + 1),\n };\n }\n return null;\n }\n}\nclass ParseSourceFile {\n constructor(content, url) {\n this.content = content;\n this.url = url;\n }\n}\nclass ParseSourceSpan {\n /**\n * Create an object that holds information about spans of tokens/nodes captured during\n * lexing/parsing of text.\n *\n * @param start\n * The location of the start of the span (having skipped leading trivia).\n * Skipping leading trivia makes source-spans more \"user friendly\", since things like HTML\n * elements will appear to begin at the start of the opening tag, rather than at the start of any\n * leading trivia, which could include newlines.\n *\n * @param end\n * The location of the end of the span.\n *\n * @param fullStart\n * The start of the token without skipping the leading trivia.\n * This is used by tooling that splits tokens further, such as extracting Angular interpolations\n * from text tokens. Such tooling creates new source-spans relative to the original token's\n * source-span. If leading trivia characters have been skipped then the new source-spans may be\n * incorrectly offset.\n *\n * @param details\n * Additional information (such as identifier names) that should be associated with the span.\n */\n constructor(start, end, fullStart = start, details = null) {\n this.start = start;\n this.end = end;\n this.fullStart = fullStart;\n this.details = details;\n }\n toString() {\n return this.start.file.content.substring(this.start.offset, this.end.offset);\n }\n}\nvar ParseErrorLevel;\n(function (ParseErrorLevel) {\n ParseErrorLevel[ParseErrorLevel[\"WARNING\"] = 0] = \"WARNING\";\n ParseErrorLevel[ParseErrorLevel[\"ERROR\"] = 1] = \"ERROR\";\n})(ParseErrorLevel || (ParseErrorLevel = {}));\nclass ParseError {\n constructor(span, msg, level = ParseErrorLevel.ERROR) {\n this.span = span;\n this.msg = msg;\n this.level = level;\n }\n contextualMessage() {\n const ctx = this.span.start.getContext(100, 3);\n return ctx ? `${this.msg} (\"${ctx.before}[${ParseErrorLevel[this.level]} ->]${ctx.after}\")` :\n this.msg;\n }\n toString() {\n const details = this.span.details ? `, ${this.span.details}` : '';\n return `${this.contextualMessage()}: ${this.span.start}${details}`;\n }\n}\nfunction typeSourceSpan(kind, type) {\n const moduleUrl = identifierModuleUrl(type);\n const sourceFileName = moduleUrl != null ? `in ${kind} ${identifierName(type)} in ${moduleUrl}` :\n `in ${kind} ${identifierName(type)}`;\n const sourceFile = new ParseSourceFile('', sourceFileName);\n return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1));\n}\n/**\n * Generates Source Span object for a given R3 Type for JIT mode.\n *\n * @param kind Component or Directive.\n * @param typeName name of the Component or Directive.\n * @param sourceUrl reference to Component or Directive source.\n * @returns instance of ParseSourceSpan that represent a given Component or Directive.\n */\nfunction r3JitTypeSourceSpan(kind, typeName, sourceUrl) {\n const sourceFileName = `in ${kind} ${typeName} in ${sourceUrl}`;\n const sourceFile = new ParseSourceFile('', sourceFileName);\n return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Implementation of `CompileReflector` which resolves references to @angular/core\n * symbols at runtime, according to a consumer-provided mapping.\n *\n * Only supports `resolveExternalReference`, all other methods throw.\n */\nclass R3JitReflector {\n constructor(context) {\n this.context = context;\n }\n resolveExternalReference(ref) {\n // This reflector only handles @angular/core imports.\n if (ref.moduleName !== '@angular/core') {\n throw new Error(`Cannot resolve external reference to ${ref.moduleName}, only references to @angular/core are supported.`);\n }\n if (!this.context.hasOwnProperty(ref.name)) {\n throw new Error(`No value provided for @angular/core symbol '${ref.name}'.`);\n }\n return this.context[ref.name];\n }\n parameters(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n annotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n shallowAnnotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n tryAnnotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n propMetadata(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n hasLifecycleHook(type, lcProperty) {\n throw new Error('Not implemented.');\n }\n guards(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n componentModuleUrl(type, cmpMetadata) {\n throw new Error('Not implemented.');\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction mapEntry(key, value) {\n return { key, value, quoted: false };\n}\nfunction mapLiteral(obj, quoted = false) {\n return literalMap(Object.keys(obj).map(key => ({\n key,\n quoted,\n value: obj[key],\n })));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Construct an `R3NgModuleDef` for the given `R3NgModuleMetadata`.\n */\nfunction compileNgModule(meta) {\n const { internalType, type: moduleType, bootstrap, declarations, imports, exports, schemas, containsForwardDecls, emitInline, id } = meta;\n const additionalStatements = [];\n const definitionMap = { type: internalType };\n // Only generate the keys in the metadata if the arrays have values.\n if (bootstrap.length) {\n definitionMap.bootstrap = refsToArray(bootstrap, containsForwardDecls);\n }\n // If requested to emit scope information inline, pass the declarations, imports and exports to\n // the `ɵɵdefineNgModule` call. The JIT compilation uses this.\n if (emitInline) {\n if (declarations.length) {\n definitionMap.declarations = refsToArray(declarations, containsForwardDecls);\n }\n if (imports.length) {\n definitionMap.imports = refsToArray(imports, containsForwardDecls);\n }\n if (exports.length) {\n definitionMap.exports = refsToArray(exports, containsForwardDecls);\n }\n }\n // If not emitting inline, the scope information is not passed into `ɵɵdefineNgModule` as it would\n // prevent tree-shaking of the declarations, imports and exports references.\n else {\n const setNgModuleScopeCall = generateSetNgModuleScopeCall(meta);\n if (setNgModuleScopeCall !== null) {\n additionalStatements.push(setNgModuleScopeCall);\n }\n }\n if (schemas && schemas.length) {\n definitionMap.schemas = literalArr(schemas.map(ref => ref.value));\n }\n if (id) {\n definitionMap.id = id;\n }\n const expression = importExpr(Identifiers$1.defineNgModule).callFn([mapToMapExpression(definitionMap)]);\n const type = new ExpressionType(importExpr(Identifiers$1.NgModuleDefWithMeta, [\n new ExpressionType(moduleType.type), tupleTypeOf(declarations), tupleTypeOf(imports),\n tupleTypeOf(exports)\n ]));\n return { expression, type, additionalStatements };\n}\n/**\n * Generates a function call to `ɵɵsetNgModuleScope` with all necessary information so that the\n * transitive module scope can be computed during runtime in JIT mode. This call is marked pure\n * such that the references to declarations, imports and exports may be elided causing these\n * symbols to become tree-shakeable.\n */\nfunction generateSetNgModuleScopeCall(meta) {\n const { adjacentType: moduleType, declarations, imports, exports, containsForwardDecls } = meta;\n const scopeMap = {};\n if (declarations.length) {\n scopeMap.declarations = refsToArray(declarations, containsForwardDecls);\n }\n if (imports.length) {\n scopeMap.imports = refsToArray(imports, containsForwardDecls);\n }\n if (exports.length) {\n scopeMap.exports = refsToArray(exports, containsForwardDecls);\n }\n if (Object.keys(scopeMap).length === 0) {\n return null;\n }\n // setNgModuleScope(...)\n const fnCall = new InvokeFunctionExpr(\n /* fn */ importExpr(Identifiers$1.setNgModuleScope), \n /* args */ [moduleType, mapToMapExpression(scopeMap)]);\n // (ngJitMode guard) && setNgModuleScope(...)\n const guardedCall = jitOnlyGuardedExpression(fnCall);\n // function() { (ngJitMode guard) && setNgModuleScope(...); }\n const iife = new FunctionExpr(\n /* params */ [], \n /* statements */ [guardedCall.toStmt()]);\n // (function() { (ngJitMode guard) && setNgModuleScope(...); })()\n const iifeCall = new InvokeFunctionExpr(\n /* fn */ iife, \n /* args */ []);\n return iifeCall.toStmt();\n}\nfunction compileInjector(meta) {\n const result = compileFactoryFunction({\n name: meta.name,\n type: meta.type,\n internalType: meta.internalType,\n typeArgumentCount: 0,\n deps: meta.deps,\n injectFn: Identifiers$1.inject,\n target: R3FactoryTarget.NgModule,\n });\n const definitionMap = {\n factory: result.factory,\n };\n if (meta.providers !== null) {\n definitionMap.providers = meta.providers;\n }\n if (meta.imports.length > 0) {\n definitionMap.imports = literalArr(meta.imports);\n }\n const expression = importExpr(Identifiers$1.defineInjector).callFn([mapToMapExpression(definitionMap)]);\n const type = new ExpressionType(importExpr(Identifiers$1.InjectorDef, [new ExpressionType(meta.type.type)]));\n return { expression, type, statements: result.statements };\n}\n// TODO(alxhub): integrate this with `compileNgModule`. Currently the two are separate operations.\nfunction compileNgModuleFromRender2(ctx, ngModule, injectableCompiler) {\n const className = identifierName(ngModule.type);\n const rawImports = ngModule.rawImports ? [ngModule.rawImports] : [];\n const rawExports = ngModule.rawExports ? [ngModule.rawExports] : [];\n const injectorDefArg = mapLiteral({\n 'factory': injectableCompiler.factoryFor({ type: ngModule.type, symbol: ngModule.type.reference }, ctx),\n 'providers': convertMetaToOutput(ngModule.rawProviders, ctx),\n 'imports': convertMetaToOutput([...rawImports, ...rawExports], ctx),\n });\n const injectorDef = importExpr(Identifiers$1.defineInjector).callFn([injectorDefArg]);\n ctx.statements.push(new ClassStmt(\n /* name */ className, \n /* parent */ null, \n /* fields */ [new ClassField(\n /* name */ 'ɵinj', \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ injectorDef)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []));\n}\nfunction accessExportScope(module) {\n const selectorScope = new ReadPropExpr(module, 'ɵmod');\n return new ReadPropExpr(selectorScope, 'exported');\n}\nfunction tupleTypeOf(exp) {\n const types = exp.map(ref => typeofExpr(ref.type));\n return exp.length > 0 ? expressionType(literalArr(types)) : NONE_TYPE;\n}\nfunction refsToArray(refs, shouldForwardDeclare) {\n const values = literalArr(refs.map(ref => ref.value));\n return shouldForwardDeclare ? fn([], [new ReturnStatement(values)]) : values;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction compilePipeFromMetadata(metadata) {\n const definitionMapValues = [];\n // e.g. `name: 'myPipe'`\n definitionMapValues.push({ key: 'name', value: literal(metadata.pipeName), quoted: false });\n // e.g. `type: MyPipe`\n definitionMapValues.push({ key: 'type', value: metadata.type.value, quoted: false });\n // e.g. `pure: true`\n definitionMapValues.push({ key: 'pure', value: literal(metadata.pure), quoted: false });\n const expression = importExpr(Identifiers$1.definePipe).callFn([literalMap(definitionMapValues)]);\n const type = new ExpressionType(importExpr(Identifiers$1.PipeDefWithMeta, [\n typeWithParameters(metadata.type.type, metadata.typeArgumentCount),\n new ExpressionType(new LiteralExpr(metadata.pipeName)),\n ]));\n return { expression, type };\n}\n/**\n * Write a pipe definition to the output context.\n */\nfunction compilePipeFromRender2(outputCtx, pipe, reflector) {\n const name = identifierName(pipe.type);\n if (!name) {\n return error(`Cannot resolve the name of ${pipe.type}`);\n }\n const type = outputCtx.importExpr(pipe.type.reference);\n const metadata = {\n name,\n type: wrapReference(type),\n internalType: type,\n pipeName: pipe.name,\n typeArgumentCount: 0,\n deps: dependenciesFromGlobalMetadata(pipe.type, outputCtx, reflector),\n pure: pipe.pure,\n };\n const res = compilePipeFromMetadata(metadata);\n const factoryRes = compileFactoryFunction(Object.assign(Object.assign({}, metadata), { injectFn: Identifiers$1.directiveInject, target: R3FactoryTarget.Pipe }));\n const definitionField = outputCtx.constantPool.propertyNameOf(3 /* Pipe */);\n const ngFactoryDefStatement = new ClassStmt(\n /* name */ name, \n /* parent */ null, \n /* fields */\n [new ClassField(\n /* name */ 'ɵfac', \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ factoryRes.factory)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []);\n const pipeDefStatement = new ClassStmt(\n /* name */ name, \n /* parent */ null, \n /* fields */ [new ClassField(\n /* name */ definitionField, \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ res.expression)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []);\n outputCtx.statements.push(ngFactoryDefStatement, pipeDefStatement);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ParserError {\n constructor(message, input, errLocation, ctxLocation) {\n this.input = input;\n this.errLocation = errLocation;\n this.ctxLocation = ctxLocation;\n this.message = `Parser Error: ${message} ${errLocation} [${input}] in ${ctxLocation}`;\n }\n}\nclass ParseSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n toAbsolute(absoluteOffset) {\n return new AbsoluteSourceSpan(absoluteOffset + this.start, absoluteOffset + this.end);\n }\n}\nclass AST {\n constructor(span, \n /**\n * Absolute location of the expression AST in a source code file.\n */\n sourceSpan) {\n this.span = span;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context = null) {\n return null;\n }\n toString() {\n return 'AST';\n }\n}\nclass ASTWithName extends AST {\n constructor(span, sourceSpan, nameSpan) {\n super(span, sourceSpan);\n this.nameSpan = nameSpan;\n }\n}\n/**\n * Represents a quoted expression of the form:\n *\n * quote = prefix `:` uninterpretedExpression\n * prefix = identifier\n * uninterpretedExpression = arbitrary string\n *\n * A quoted expression is meant to be pre-processed by an AST transformer that\n * converts it into another AST that no longer contains quoted expressions.\n * It is meant to allow third-party developers to extend Angular template\n * expression language. The `uninterpretedExpression` part of the quote is\n * therefore not interpreted by the Angular's own expression parser.\n */\nclass Quote extends AST {\n constructor(span, sourceSpan, prefix, uninterpretedExpression, location) {\n super(span, sourceSpan);\n this.prefix = prefix;\n this.uninterpretedExpression = uninterpretedExpression;\n this.location = location;\n }\n visit(visitor, context = null) {\n return visitor.visitQuote(this, context);\n }\n toString() {\n return 'Quote';\n }\n}\nclass EmptyExpr extends AST {\n visit(visitor, context = null) {\n // do nothing\n }\n}\nclass ImplicitReceiver extends AST {\n visit(visitor, context = null) {\n return visitor.visitImplicitReceiver(this, context);\n }\n}\n/**\n * Receiver when something is accessed through `this` (e.g. `this.foo`). Note that this class\n * inherits from `ImplicitReceiver`, because accessing something through `this` is treated the\n * same as accessing it implicitly inside of an Angular template (e.g. `[attr.title]=\"this.title\"`\n * is the same as `[attr.title]=\"title\"`.). Inheriting allows for the `this` accesses to be treated\n * the same as implicit ones, except for a couple of exceptions like `$event` and `$any`.\n * TODO: we should find a way for this class not to extend from `ImplicitReceiver` in the future.\n */\nclass ThisReceiver extends ImplicitReceiver {\n visit(visitor, context = null) {\n var _a;\n return (_a = visitor.visitThisReceiver) === null || _a === void 0 ? void 0 : _a.call(visitor, this, context);\n }\n}\n/**\n * Multiple expressions separated by a semicolon.\n */\nclass Chain extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitChain(this, context);\n }\n}\nclass Conditional extends AST {\n constructor(span, sourceSpan, condition, trueExp, falseExp) {\n super(span, sourceSpan);\n this.condition = condition;\n this.trueExp = trueExp;\n this.falseExp = falseExp;\n }\n visit(visitor, context = null) {\n return visitor.visitConditional(this, context);\n }\n}\nclass PropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyRead(this, context);\n }\n}\nclass PropertyWrite extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, value) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyWrite(this, context);\n }\n}\nclass SafePropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitSafePropertyRead(this, context);\n }\n}\nclass KeyedRead extends AST {\n constructor(span, sourceSpan, obj, key) {\n super(span, sourceSpan);\n this.obj = obj;\n this.key = key;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedRead(this, context);\n }\n}\nclass KeyedWrite extends AST {\n constructor(span, sourceSpan, obj, key, value) {\n super(span, sourceSpan);\n this.obj = obj;\n this.key = key;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedWrite(this, context);\n }\n}\nclass BindingPipe extends ASTWithName {\n constructor(span, sourceSpan, exp, name, args, nameSpan) {\n super(span, sourceSpan, nameSpan);\n this.exp = exp;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitPipe(this, context);\n }\n}\nclass LiteralPrimitive extends AST {\n constructor(span, sourceSpan, value) {\n super(span, sourceSpan);\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralPrimitive(this, context);\n }\n}\nclass LiteralArray extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralArray(this, context);\n }\n}\nclass LiteralMap extends AST {\n constructor(span, sourceSpan, keys, values) {\n super(span, sourceSpan);\n this.keys = keys;\n this.values = values;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralMap(this, context);\n }\n}\nclass Interpolation extends AST {\n constructor(span, sourceSpan, strings, expressions) {\n super(span, sourceSpan);\n this.strings = strings;\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitInterpolation(this, context);\n }\n}\nclass Binary extends AST {\n constructor(span, sourceSpan, operation, left, right) {\n super(span, sourceSpan);\n this.operation = operation;\n this.left = left;\n this.right = right;\n }\n visit(visitor, context = null) {\n return visitor.visitBinary(this, context);\n }\n}\n/**\n * For backwards compatibility reasons, `Unary` inherits from `Binary` and mimics the binary AST\n * node that was originally used. This inheritance relation can be deleted in some future major,\n * after consumers have been given a chance to fully support Unary.\n */\nclass Unary extends Binary {\n /**\n * During the deprecation period this constructor is private, to avoid consumers from creating\n * a `Unary` with the fallback properties for `Binary`.\n */\n constructor(span, sourceSpan, operator, expr, binaryOp, binaryLeft, binaryRight) {\n super(span, sourceSpan, binaryOp, binaryLeft, binaryRight);\n this.operator = operator;\n this.expr = expr;\n }\n /**\n * Creates a unary minus expression \"-x\", represented as `Binary` using \"0 - x\".\n */\n static createMinus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '-', expr, '-', new LiteralPrimitive(span, sourceSpan, 0), expr);\n }\n /**\n * Creates a unary plus expression \"+x\", represented as `Binary` using \"x - 0\".\n */\n static createPlus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '+', expr, '-', expr, new LiteralPrimitive(span, sourceSpan, 0));\n }\n visit(visitor, context = null) {\n if (visitor.visitUnary !== undefined) {\n return visitor.visitUnary(this, context);\n }\n return visitor.visitBinary(this, context);\n }\n}\nclass PrefixNot extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitPrefixNot(this, context);\n }\n}\nclass NonNullAssert extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitNonNullAssert(this, context);\n }\n}\nclass MethodCall extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, args) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitMethodCall(this, context);\n }\n}\nclass SafeMethodCall extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, args) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitSafeMethodCall(this, context);\n }\n}\nclass FunctionCall extends AST {\n constructor(span, sourceSpan, target, args) {\n super(span, sourceSpan);\n this.target = target;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitFunctionCall(this, context);\n }\n}\n/**\n * Records the absolute position of a text span in a source file, where `start` and `end` are the\n * starting and ending byte offsets, respectively, of the text span in a source file.\n */\nclass AbsoluteSourceSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n}\nclass ASTWithSource extends AST {\n constructor(ast, source, location, absoluteOffset, errors) {\n super(new ParseSpan(0, source === null ? 0 : source.length), new AbsoluteSourceSpan(absoluteOffset, source === null ? absoluteOffset : absoluteOffset + source.length));\n this.ast = ast;\n this.source = source;\n this.location = location;\n this.errors = errors;\n }\n visit(visitor, context = null) {\n if (visitor.visitASTWithSource) {\n return visitor.visitASTWithSource(this, context);\n }\n return this.ast.visit(visitor, context);\n }\n toString() {\n return `${this.source} in ${this.location}`;\n }\n}\nclass VariableBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key name of the LHS along with its span.\n * @param value optional value for the RHS along with its span.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass ExpressionBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key binding name, like ngForOf, ngForTrackBy, ngIf, along with its\n * span. Note that the length of the span may not be the same as\n * `key.source.length`. For example,\n * 1. key.source = ngFor, key.span is for \"ngFor\"\n * 2. key.source = ngForOf, key.span is for \"of\"\n * 3. key.source = ngForTrackBy, key.span is for \"trackBy\"\n * @param value optional expression for the RHS.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass RecursiveAstVisitor$1 {\n visit(ast, context) {\n // The default implementation just visits every node.\n // Classes that extend RecursiveAstVisitor should override this function\n // to selectively visit the specified node.\n ast.visit(this, context);\n }\n visitUnary(ast, context) {\n this.visit(ast.expr, context);\n }\n visitBinary(ast, context) {\n this.visit(ast.left, context);\n this.visit(ast.right, context);\n }\n visitChain(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitConditional(ast, context) {\n this.visit(ast.condition, context);\n this.visit(ast.trueExp, context);\n this.visit(ast.falseExp, context);\n }\n visitPipe(ast, context) {\n this.visit(ast.exp, context);\n this.visitAll(ast.args, context);\n }\n visitFunctionCall(ast, context) {\n if (ast.target) {\n this.visit(ast.target, context);\n }\n this.visitAll(ast.args, context);\n }\n visitImplicitReceiver(ast, context) { }\n visitThisReceiver(ast, context) { }\n visitInterpolation(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitKeyedRead(ast, context) {\n this.visit(ast.obj, context);\n this.visit(ast.key, context);\n }\n visitKeyedWrite(ast, context) {\n this.visit(ast.obj, context);\n this.visit(ast.key, context);\n this.visit(ast.value, context);\n }\n visitLiteralArray(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitLiteralMap(ast, context) {\n this.visitAll(ast.values, context);\n }\n visitLiteralPrimitive(ast, context) { }\n visitMethodCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n visitPrefixNot(ast, context) {\n this.visit(ast.expression, context);\n }\n visitNonNullAssert(ast, context) {\n this.visit(ast.expression, context);\n }\n visitPropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitPropertyWrite(ast, context) {\n this.visit(ast.receiver, context);\n this.visit(ast.value, context);\n }\n visitSafePropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitSafeMethodCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n visitQuote(ast, context) { }\n // This is not part of the AstVisitor interface, just a helper method\n visitAll(asts, context) {\n for (const ast of asts) {\n this.visit(ast, context);\n }\n }\n}\nclass AstTransformer$1 {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitThisReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, this.visitAll(ast.expressions));\n }\n visitLiteralPrimitive(ast, context) {\n return new LiteralPrimitive(ast.span, ast.sourceSpan, ast.value);\n }\n visitPropertyRead(ast, context) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitPropertyWrite(ast, context) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, ast.value.visit(this));\n }\n visitSafePropertyRead(ast, context) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitMethodCall(ast, context) {\n return new MethodCall(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n }\n visitSafeMethodCall(ast, context) {\n return new SafeMethodCall(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n }\n visitFunctionCall(ast, context) {\n return new FunctionCall(ast.span, ast.sourceSpan, ast.target.visit(this), this.visitAll(ast.args));\n }\n visitLiteralArray(ast, context) {\n return new LiteralArray(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitLiteralMap(ast, context) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, this.visitAll(ast.values));\n }\n visitUnary(ast, context) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n visitBinary(ast, context) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, ast.left.visit(this), ast.right.visit(this));\n }\n visitPrefixNot(ast, context) {\n return new PrefixNot(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitNonNullAssert(ast, context) {\n return new NonNullAssert(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitConditional(ast, context) {\n return new Conditional(ast.span, ast.sourceSpan, ast.condition.visit(this), ast.trueExp.visit(this), ast.falseExp.visit(this));\n }\n visitPipe(ast, context) {\n return new BindingPipe(ast.span, ast.sourceSpan, ast.exp.visit(this), ast.name, this.visitAll(ast.args), ast.nameSpan);\n }\n visitKeyedRead(ast, context) {\n return new KeyedRead(ast.span, ast.sourceSpan, ast.obj.visit(this), ast.key.visit(this));\n }\n visitKeyedWrite(ast, context) {\n return new KeyedWrite(ast.span, ast.sourceSpan, ast.obj.visit(this), ast.key.visit(this), ast.value.visit(this));\n }\n visitAll(asts) {\n const res = [];\n for (let i = 0; i < asts.length; ++i) {\n res[i] = asts[i].visit(this);\n }\n return res;\n }\n visitChain(ast, context) {\n return new Chain(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitQuote(ast, context) {\n return new Quote(ast.span, ast.sourceSpan, ast.prefix, ast.uninterpretedExpression, ast.location);\n }\n}\n// A transformer that only creates new nodes if the transformer makes a change or\n// a change is made a child node.\nclass AstMemoryEfficientTransformer {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitThisReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions)\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, expressions);\n return ast;\n }\n visitLiteralPrimitive(ast, context) {\n return ast;\n }\n visitPropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitPropertyWrite(ast, context) {\n const receiver = ast.receiver.visit(this);\n const value = ast.value.visit(this);\n if (receiver !== ast.receiver || value !== ast.value) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, value);\n }\n return ast;\n }\n visitSafePropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitMethodCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new MethodCall(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, args);\n }\n return ast;\n }\n visitSafeMethodCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new SafeMethodCall(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, args);\n }\n return ast;\n }\n visitFunctionCall(ast, context) {\n const target = ast.target && ast.target.visit(this);\n const args = this.visitAll(ast.args);\n if (target !== ast.target || args !== ast.args) {\n return new FunctionCall(ast.span, ast.sourceSpan, target, args);\n }\n return ast;\n }\n visitLiteralArray(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new LiteralArray(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitLiteralMap(ast, context) {\n const values = this.visitAll(ast.values);\n if (values !== ast.values) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, values);\n }\n return ast;\n }\n visitUnary(ast, context) {\n const expr = ast.expr.visit(this);\n if (expr !== ast.expr) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, expr);\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, expr);\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n return ast;\n }\n visitBinary(ast, context) {\n const left = ast.left.visit(this);\n const right = ast.right.visit(this);\n if (left !== ast.left || right !== ast.right) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, left, right);\n }\n return ast;\n }\n visitPrefixNot(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new PrefixNot(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitNonNullAssert(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new NonNullAssert(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitConditional(ast, context) {\n const condition = ast.condition.visit(this);\n const trueExp = ast.trueExp.visit(this);\n const falseExp = ast.falseExp.visit(this);\n if (condition !== ast.condition || trueExp !== ast.trueExp || falseExp !== ast.falseExp) {\n return new Conditional(ast.span, ast.sourceSpan, condition, trueExp, falseExp);\n }\n return ast;\n }\n visitPipe(ast, context) {\n const exp = ast.exp.visit(this);\n const args = this.visitAll(ast.args);\n if (exp !== ast.exp || args !== ast.args) {\n return new BindingPipe(ast.span, ast.sourceSpan, exp, ast.name, args, ast.nameSpan);\n }\n return ast;\n }\n visitKeyedRead(ast, context) {\n const obj = ast.obj.visit(this);\n const key = ast.key.visit(this);\n if (obj !== ast.obj || key !== ast.key) {\n return new KeyedRead(ast.span, ast.sourceSpan, obj, key);\n }\n return ast;\n }\n visitKeyedWrite(ast, context) {\n const obj = ast.obj.visit(this);\n const key = ast.key.visit(this);\n const value = ast.value.visit(this);\n if (obj !== ast.obj || key !== ast.key || value !== ast.value) {\n return new KeyedWrite(ast.span, ast.sourceSpan, obj, key, value);\n }\n return ast;\n }\n visitAll(asts) {\n const res = [];\n let modified = false;\n for (let i = 0; i < asts.length; ++i) {\n const original = asts[i];\n const value = original.visit(this);\n res[i] = value;\n modified = modified || value !== original;\n }\n return modified ? res : asts;\n }\n visitChain(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new Chain(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitQuote(ast, context) {\n return ast;\n }\n}\n// Bindings\nclass ParsedProperty {\n constructor(name, expression, type, \n // TODO(atscott): `keySpan` should really be required but allows `undefined` so VE does\n // not need to be updated. Make `keySpan` required when VE is removed.\n sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.expression = expression;\n this.type = type;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n this.isLiteral = this.type === ParsedPropertyType.LITERAL_ATTR;\n this.isAnimation = this.type === ParsedPropertyType.ANIMATION;\n }\n}\nvar ParsedPropertyType;\n(function (ParsedPropertyType) {\n ParsedPropertyType[ParsedPropertyType[\"DEFAULT\"] = 0] = \"DEFAULT\";\n ParsedPropertyType[ParsedPropertyType[\"LITERAL_ATTR\"] = 1] = \"LITERAL_ATTR\";\n ParsedPropertyType[ParsedPropertyType[\"ANIMATION\"] = 2] = \"ANIMATION\";\n})(ParsedPropertyType || (ParsedPropertyType = {}));\nclass ParsedEvent {\n // Regular events have a target\n // Animation events have a phase\n constructor(name, targetOrPhase, type, handler, sourceSpan, handlerSpan) {\n this.name = name;\n this.targetOrPhase = targetOrPhase;\n this.type = type;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n }\n}\n/**\n * ParsedVariable represents a variable declaration in a microsyntax expression.\n */\nclass ParsedVariable {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n}\nclass BoundElementProperty {\n constructor(name, type, securityContext, value, unit, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass EventHandlerVars {\n}\nEventHandlerVars.event = variable('$event');\nclass ConvertActionBindingResult {\n constructor(\n /**\n * Render2 compatible statements,\n */\n stmts, \n /**\n * Variable name used with render2 compatible statements.\n */\n allowDefault) {\n this.stmts = stmts;\n this.allowDefault = allowDefault;\n /**\n * This is bit of a hack. It converts statements which render2 expects to statements which are\n * expected by render3.\n *\n * Example: `
` will generate:\n *\n * Render3:\n * ```\n * const pd_b:any = ((ctx.doSomething($event)) !== false);\n * return pd_b;\n * ```\n *\n * but render2 expects:\n * ```\n * return ctx.doSomething($event);\n * ```\n */\n // TODO(misko): remove this hack once we no longer support ViewEngine.\n this.render3Stmts = stmts.map((statement) => {\n if (statement instanceof DeclareVarStmt && statement.name == allowDefault.name &&\n statement.value instanceof BinaryOperatorExpr) {\n const lhs = statement.value.lhs;\n return new ReturnStatement(lhs.value);\n }\n return statement;\n });\n }\n}\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression is\n * used in an action binding (e.g. an event handler).\n */\nfunction convertActionBinding(localResolver, implicitReceiver, action, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses, globals) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver(globals);\n }\n const actionWithoutBuiltins = convertPropertyBindingBuiltins({\n createLiteralArrayConverter: (argCount) => {\n // Note: no caching for literal arrays in actions.\n return (args) => literalArr(args);\n },\n createLiteralMapConverter: (keys) => {\n // Note: no caching for literal maps in actions.\n return (values) => {\n const entries = keys.map((k, i) => ({\n key: k.key,\n value: values[i],\n quoted: k.quoted,\n }));\n return literalMap(entries);\n };\n },\n createPipeConverter: (name) => {\n throw new Error(`Illegal State: Actions are not allowed to contain pipes. Pipe: ${name}`);\n }\n }, action);\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses);\n const actionStmts = [];\n flattenStatements(actionWithoutBuiltins.visit(visitor, _Mode.Statement), actionStmts);\n prependTemporaryDecls(visitor.temporaryCount, bindingId, actionStmts);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const lastIndex = actionStmts.length - 1;\n let preventDefaultVar = null;\n if (lastIndex >= 0) {\n const lastStatement = actionStmts[lastIndex];\n const returnExpr = convertStmtIntoExpression(lastStatement);\n if (returnExpr) {\n // Note: We need to cast the result of the method call to dynamic,\n // as it might be a void method!\n preventDefaultVar = createPreventDefaultVar(bindingId);\n actionStmts[lastIndex] =\n preventDefaultVar.set(returnExpr.cast(DYNAMIC_TYPE).notIdentical(literal(false)))\n .toDeclStmt(null, [StmtModifier.Final]);\n }\n }\n return new ConvertActionBindingResult(actionStmts, preventDefaultVar);\n}\nfunction convertPropertyBindingBuiltins(converterFactory, ast) {\n return convertBuiltins(converterFactory, ast);\n}\nclass ConvertPropertyBindingResult {\n constructor(stmts, currValExpr) {\n this.stmts = stmts;\n this.currValExpr = currValExpr;\n }\n}\nvar BindingForm;\n(function (BindingForm) {\n // The general form of binding expression, supports all expressions.\n BindingForm[BindingForm[\"General\"] = 0] = \"General\";\n // Try to generate a simple binding (no temporaries or statements)\n // otherwise generate a general binding\n BindingForm[BindingForm[\"TrySimple\"] = 1] = \"TrySimple\";\n // Inlines assignment of temporaries into the generated expression. The result may still\n // have statements attached for declarations of temporary variables.\n // This is the only relevant form for Ivy, the other forms are only used in ViewEngine.\n BindingForm[BindingForm[\"Expression\"] = 2] = \"Expression\";\n})(BindingForm || (BindingForm = {}));\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression\n * is used in property binding. The expression has to be preprocessed via\n * `convertPropertyBindingBuiltins`.\n */\nfunction convertPropertyBinding(localResolver, implicitReceiver, expressionWithoutBuiltins, bindingId, form, interpolationFunction) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver();\n }\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, interpolationFunction);\n const outputExpr = expressionWithoutBuiltins.visit(visitor, _Mode.Expression);\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n if (visitor.temporaryCount === 0 && form == BindingForm.TrySimple) {\n return new ConvertPropertyBindingResult([], outputExpr);\n }\n else if (form === BindingForm.Expression) {\n return new ConvertPropertyBindingResult(stmts, outputExpr);\n }\n const currValExpr = createCurrValueExpr(bindingId);\n stmts.push(currValExpr.set(outputExpr).toDeclStmt(DYNAMIC_TYPE, [StmtModifier.Final]));\n return new ConvertPropertyBindingResult(stmts, currValExpr);\n}\n/**\n * Given some expression, such as a binding or interpolation expression, and a context expression to\n * look values up on, visit each facet of the given expression resolving values from the context\n * expression such that a list of arguments can be derived from the found values that can be used as\n * arguments to an external update instruction.\n *\n * @param localResolver The resolver to use to look up expressions by name appropriately\n * @param contextVariableExpression The expression representing the context variable used to create\n * the final argument expressions\n * @param expressionWithArgumentsToExtract The expression to visit to figure out what values need to\n * be resolved and what arguments list to build.\n * @param bindingId A name prefix used to create temporary variable names if they're needed for the\n * arguments generated\n * @returns An array of expressions that can be passed as arguments to instruction expressions like\n * `o.importExpr(R3.propertyInterpolate).callFn(result)`\n */\nfunction convertUpdateArguments(localResolver, contextVariableExpression, expressionWithArgumentsToExtract, bindingId) {\n const visitor = new _AstToIrVisitor(localResolver, contextVariableExpression, bindingId, undefined);\n const outputExpr = expressionWithArgumentsToExtract.visit(visitor, _Mode.Expression);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n // Removing the first argument, because it was a length for ViewEngine, not Ivy.\n let args = outputExpr.args.slice(1);\n if (expressionWithArgumentsToExtract instanceof Interpolation) {\n // If we're dealing with an interpolation of 1 value with an empty prefix and suffix, reduce the\n // args returned to just the value, because we're going to pass it to a special instruction.\n const strings = expressionWithArgumentsToExtract.strings;\n if (args.length === 3 && strings[0] === '' && strings[1] === '') {\n // Single argument interpolate instructions.\n args = [args[1]];\n }\n else if (args.length >= 19) {\n // 19 or more arguments must be passed to the `interpolateV`-style instructions, which accept\n // an array of arguments\n args = [literalArr(args)];\n }\n }\n return { stmts, args };\n}\nfunction getStatementsFromVisitor(visitor, bindingId) {\n const stmts = [];\n for (let i = 0; i < visitor.temporaryCount; i++) {\n stmts.push(temporaryDeclaration(bindingId, i));\n }\n return stmts;\n}\nfunction convertBuiltins(converterFactory, ast) {\n const visitor = new _BuiltinAstConverter(converterFactory);\n return ast.visit(visitor);\n}\nfunction temporaryName(bindingId, temporaryNumber) {\n return `tmp_${bindingId}_${temporaryNumber}`;\n}\nfunction temporaryDeclaration(bindingId, temporaryNumber) {\n return new DeclareVarStmt(temporaryName(bindingId, temporaryNumber), NULL_EXPR);\n}\nfunction prependTemporaryDecls(temporaryCount, bindingId, statements) {\n for (let i = temporaryCount - 1; i >= 0; i--) {\n statements.unshift(temporaryDeclaration(bindingId, i));\n }\n}\nvar _Mode;\n(function (_Mode) {\n _Mode[_Mode[\"Statement\"] = 0] = \"Statement\";\n _Mode[_Mode[\"Expression\"] = 1] = \"Expression\";\n})(_Mode || (_Mode = {}));\nfunction ensureStatementMode(mode, ast) {\n if (mode !== _Mode.Statement) {\n throw new Error(`Expected a statement, but saw ${ast}`);\n }\n}\nfunction ensureExpressionMode(mode, ast) {\n if (mode !== _Mode.Expression) {\n throw new Error(`Expected an expression, but saw ${ast}`);\n }\n}\nfunction convertToStatementIfNeeded(mode, expr) {\n if (mode === _Mode.Statement) {\n return expr.toStmt();\n }\n else {\n return expr;\n }\n}\nclass _BuiltinAstConverter extends AstTransformer$1 {\n constructor(_converterFactory) {\n super();\n this._converterFactory = _converterFactory;\n }\n visitPipe(ast, context) {\n const args = [ast.exp, ...ast.args].map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createPipeConverter(ast.name, args.length));\n }\n visitLiteralArray(ast, context) {\n const args = ast.expressions.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralArrayConverter(ast.expressions.length));\n }\n visitLiteralMap(ast, context) {\n const args = ast.values.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralMapConverter(ast.keys));\n }\n}\nclass _AstToIrVisitor {\n constructor(_localResolver, _implicitReceiver, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses) {\n this._localResolver = _localResolver;\n this._implicitReceiver = _implicitReceiver;\n this.bindingId = bindingId;\n this.interpolationFunction = interpolationFunction;\n this.baseSourceSpan = baseSourceSpan;\n this.implicitReceiverAccesses = implicitReceiverAccesses;\n this._nodeMap = new Map();\n this._resultMap = new Map();\n this._currentTemporary = 0;\n this.temporaryCount = 0;\n this.usesImplicitReceiver = false;\n }\n visitUnary(ast, mode) {\n let op;\n switch (ast.operator) {\n case '+':\n op = UnaryOperator.Plus;\n break;\n case '-':\n op = UnaryOperator.Minus;\n break;\n default:\n throw new Error(`Unsupported operator ${ast.operator}`);\n }\n return convertToStatementIfNeeded(mode, new UnaryOperatorExpr(op, this._visit(ast.expr, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitBinary(ast, mode) {\n let op;\n switch (ast.operation) {\n case '+':\n op = BinaryOperator.Plus;\n break;\n case '-':\n op = BinaryOperator.Minus;\n break;\n case '*':\n op = BinaryOperator.Multiply;\n break;\n case '/':\n op = BinaryOperator.Divide;\n break;\n case '%':\n op = BinaryOperator.Modulo;\n break;\n case '&&':\n op = BinaryOperator.And;\n break;\n case '||':\n op = BinaryOperator.Or;\n break;\n case '==':\n op = BinaryOperator.Equals;\n break;\n case '!=':\n op = BinaryOperator.NotEquals;\n break;\n case '===':\n op = BinaryOperator.Identical;\n break;\n case '!==':\n op = BinaryOperator.NotIdentical;\n break;\n case '<':\n op = BinaryOperator.Lower;\n break;\n case '>':\n op = BinaryOperator.Bigger;\n break;\n case '<=':\n op = BinaryOperator.LowerEquals;\n break;\n case '>=':\n op = BinaryOperator.BiggerEquals;\n break;\n default:\n throw new Error(`Unsupported operation ${ast.operation}`);\n }\n return convertToStatementIfNeeded(mode, new BinaryOperatorExpr(op, this._visit(ast.left, _Mode.Expression), this._visit(ast.right, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitChain(ast, mode) {\n ensureStatementMode(mode, ast);\n return this.visitAll(ast.expressions, mode);\n }\n visitConditional(ast, mode) {\n const value = this._visit(ast.condition, _Mode.Expression);\n return convertToStatementIfNeeded(mode, value.conditional(this._visit(ast.trueExp, _Mode.Expression), this._visit(ast.falseExp, _Mode.Expression), this.convertSourceSpan(ast.span)));\n }\n visitPipe(ast, mode) {\n throw new Error(`Illegal state: Pipes should have been converted into functions. Pipe: ${ast.name}`);\n }\n visitFunctionCall(ast, mode) {\n const convertedArgs = this.visitAll(ast.args, _Mode.Expression);\n let fnResult;\n if (ast instanceof BuiltinFunctionCall) {\n fnResult = ast.converter(convertedArgs);\n }\n else {\n fnResult = this._visit(ast.target, _Mode.Expression)\n .callFn(convertedArgs, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, fnResult);\n }\n visitImplicitReceiver(ast, mode) {\n ensureExpressionMode(mode, ast);\n this.usesImplicitReceiver = true;\n return this._implicitReceiver;\n }\n visitThisReceiver(ast, mode) {\n return this.visitImplicitReceiver(ast, mode);\n }\n visitInterpolation(ast, mode) {\n ensureExpressionMode(mode, ast);\n const args = [literal(ast.expressions.length)];\n for (let i = 0; i < ast.strings.length - 1; i++) {\n args.push(literal(ast.strings[i]));\n args.push(this._visit(ast.expressions[i], _Mode.Expression));\n }\n args.push(literal(ast.strings[ast.strings.length - 1]));\n if (this.interpolationFunction) {\n return this.interpolationFunction(args);\n }\n return ast.expressions.length <= 9 ?\n importExpr(Identifiers.inlineInterpolate).callFn(args) :\n importExpr(Identifiers.interpolate).callFn([\n args[0], literalArr(args.slice(1), undefined, this.convertSourceSpan(ast.span))\n ]);\n }\n visitKeyedRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n return convertToStatementIfNeeded(mode, this._visit(ast.obj, _Mode.Expression).key(this._visit(ast.key, _Mode.Expression)));\n }\n }\n visitKeyedWrite(ast, mode) {\n const obj = this._visit(ast.obj, _Mode.Expression);\n const key = this._visit(ast.key, _Mode.Expression);\n const value = this._visit(ast.value, _Mode.Expression);\n return convertToStatementIfNeeded(mode, obj.key(key).set(value));\n }\n visitLiteralArray(ast, mode) {\n throw new Error(`Illegal State: literal arrays should have been converted into functions`);\n }\n visitLiteralMap(ast, mode) {\n throw new Error(`Illegal State: literal maps should have been converted into functions`);\n }\n visitLiteralPrimitive(ast, mode) {\n // For literal values of null, undefined, true, or false allow type interference\n // to infer the type.\n const type = ast.value === null || ast.value === undefined || ast.value === true || ast.value === true ?\n INFERRED_TYPE :\n undefined;\n return convertToStatementIfNeeded(mode, literal(ast.value, type, this.convertSourceSpan(ast.span)));\n }\n _getLocal(name, receiver) {\n var _a;\n if (((_a = this._localResolver.globals) === null || _a === void 0 ? void 0 : _a.has(name)) && receiver instanceof ThisReceiver) {\n return null;\n }\n return this._localResolver.getLocal(name);\n }\n visitMethodCall(ast, mode) {\n if (ast.receiver instanceof ImplicitReceiver &&\n !(ast.receiver instanceof ThisReceiver) && ast.name === '$any') {\n const args = this.visitAll(ast.args, _Mode.Expression);\n if (args.length != 1) {\n throw new Error(`Invalid call to $any, expected 1 argument but received ${args.length || 'none'}`);\n }\n return args[0].cast(DYNAMIC_TYPE, this.convertSourceSpan(ast.span));\n }\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n const args = this.visitAll(ast.args, _Mode.Expression);\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n let result = null;\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n if (receiver === this._implicitReceiver) {\n const varExpr = this._getLocal(ast.name, ast.receiver);\n if (varExpr) {\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n result = varExpr.callFn(args);\n this.addImplicitReceiverAccess(ast.name);\n }\n }\n if (result == null) {\n result = receiver.callMethod(ast.name, args, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, result);\n }\n }\n visitPrefixNot(ast, mode) {\n return convertToStatementIfNeeded(mode, not(this._visit(ast.expression, _Mode.Expression)));\n }\n visitNonNullAssert(ast, mode) {\n return convertToStatementIfNeeded(mode, assertNotNull(this._visit(ast.expression, _Mode.Expression)));\n }\n visitPropertyRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n let result = null;\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n if (receiver === this._implicitReceiver) {\n result = this._getLocal(ast.name, ast.receiver);\n if (result) {\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n this.addImplicitReceiverAccess(ast.name);\n }\n }\n if (result == null) {\n result = receiver.prop(ast.name);\n }\n return convertToStatementIfNeeded(mode, result);\n }\n }\n visitPropertyWrite(ast, mode) {\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n let varExpr = null;\n if (receiver === this._implicitReceiver) {\n const localExpr = this._getLocal(ast.name, ast.receiver);\n if (localExpr) {\n if (localExpr instanceof ReadPropExpr) {\n // If the local variable is a property read expression, it's a reference\n // to a 'context.property' value and will be used as the target of the\n // write expression.\n varExpr = localExpr;\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n this.addImplicitReceiverAccess(ast.name);\n }\n else {\n // Otherwise it's an error.\n const receiver = ast.name;\n const value = (ast.value instanceof PropertyRead) ? ast.value.name : undefined;\n throw new Error(`Cannot assign value \"${value}\" to template variable \"${receiver}\". Template variables are read-only.`);\n }\n }\n }\n // If no local expression could be produced, use the original receiver's\n // property as the target.\n if (varExpr === null) {\n varExpr = receiver.prop(ast.name);\n }\n return convertToStatementIfNeeded(mode, varExpr.set(this._visit(ast.value, _Mode.Expression)));\n }\n visitSafePropertyRead(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitSafeMethodCall(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitAll(asts, mode) {\n return asts.map(ast => this._visit(ast, mode));\n }\n visitQuote(ast, mode) {\n throw new Error(`Quotes are not supported for evaluation!\n Statement: ${ast.uninterpretedExpression} located at ${ast.location}`);\n }\n _visit(ast, mode) {\n const result = this._resultMap.get(ast);\n if (result)\n return result;\n return (this._nodeMap.get(ast) || ast).visit(this, mode);\n }\n convertSafeAccess(ast, leftMostSafe, mode) {\n // If the expression contains a safe access node on the left it needs to be converted to\n // an expression that guards the access to the member by checking the receiver for blank. As\n // execution proceeds from left to right, the left most part of the expression must be guarded\n // first but, because member access is left associative, the right side of the expression is at\n // the top of the AST. The desired result requires lifting a copy of the left part of the\n // expression up to test it for blank before generating the unguarded version.\n // Consider, for example the following expression: a?.b.c?.d.e\n // This results in the ast:\n // .\n // / \\\n // ?. e\n // / \\\n // . d\n // / \\\n // ?. c\n // / \\\n // a b\n // The following tree should be generated:\n //\n // /---- ? ----\\\n // / | \\\n // a /--- ? ---\\ null\n // / | \\\n // . . null\n // / \\ / \\\n // . c . e\n // / \\ / \\\n // a b . d\n // / \\\n // . c\n // / \\\n // a b\n //\n // Notice that the first guard condition is the left hand of the left most safe access node\n // which comes in as leftMostSafe to this routine.\n let guardedExpression = this._visit(leftMostSafe.receiver, _Mode.Expression);\n let temporary = undefined;\n if (this.needsTemporary(leftMostSafe.receiver)) {\n // If the expression has method calls or pipes then we need to save the result into a\n // temporary variable to avoid calling stateful or impure code more than once.\n temporary = this.allocateTemporary();\n // Preserve the result in the temporary variable\n guardedExpression = temporary.set(guardedExpression);\n // Ensure all further references to the guarded expression refer to the temporary instead.\n this._resultMap.set(leftMostSafe.receiver, temporary);\n }\n const condition = guardedExpression.isBlank();\n // Convert the ast to an unguarded access to the receiver's member. The map will substitute\n // leftMostNode with its unguarded version in the call to `this.visit()`.\n if (leftMostSafe instanceof SafeMethodCall) {\n this._nodeMap.set(leftMostSafe, new MethodCall(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.nameSpan, leftMostSafe.receiver, leftMostSafe.name, leftMostSafe.args));\n }\n else {\n this._nodeMap.set(leftMostSafe, new PropertyRead(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.nameSpan, leftMostSafe.receiver, leftMostSafe.name));\n }\n // Recursively convert the node now without the guarded member access.\n const access = this._visit(ast, _Mode.Expression);\n // Remove the mapping. This is not strictly required as the converter only traverses each node\n // once but is safer if the conversion is changed to traverse the nodes more than once.\n this._nodeMap.delete(leftMostSafe);\n // If we allocated a temporary, release it.\n if (temporary) {\n this.releaseTemporary(temporary);\n }\n // Produce the conditional\n return convertToStatementIfNeeded(mode, condition.conditional(literal(null), access));\n }\n // Given an expression of the form a?.b.c?.d.e then the left most safe node is\n // the (a?.b). The . and ?. are left associative thus can be rewritten as:\n // ((((a?.c).b).c)?.d).e. This returns the most deeply nested safe read or\n // safe method call as this needs to be transformed initially to:\n // a == null ? null : a.c.b.c?.d.e\n // then to:\n // a == null ? null : a.b.c == null ? null : a.b.c.d.e\n leftMostSafeNode(ast) {\n const visit = (visitor, ast) => {\n return (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n return ast.visit({\n visitUnary(ast) {\n return null;\n },\n visitBinary(ast) {\n return null;\n },\n visitChain(ast) {\n return null;\n },\n visitConditional(ast) {\n return null;\n },\n visitFunctionCall(ast) {\n return null;\n },\n visitImplicitReceiver(ast) {\n return null;\n },\n visitThisReceiver(ast) {\n return null;\n },\n visitInterpolation(ast) {\n return null;\n },\n visitKeyedRead(ast) {\n return visit(this, ast.obj);\n },\n visitKeyedWrite(ast) {\n return null;\n },\n visitLiteralArray(ast) {\n return null;\n },\n visitLiteralMap(ast) {\n return null;\n },\n visitLiteralPrimitive(ast) {\n return null;\n },\n visitMethodCall(ast) {\n return visit(this, ast.receiver);\n },\n visitPipe(ast) {\n return null;\n },\n visitPrefixNot(ast) {\n return null;\n },\n visitNonNullAssert(ast) {\n return null;\n },\n visitPropertyRead(ast) {\n return visit(this, ast.receiver);\n },\n visitPropertyWrite(ast) {\n return null;\n },\n visitQuote(ast) {\n return null;\n },\n visitSafeMethodCall(ast) {\n return visit(this, ast.receiver) || ast;\n },\n visitSafePropertyRead(ast) {\n return visit(this, ast.receiver) || ast;\n }\n });\n }\n // Returns true of the AST includes a method or a pipe indicating that, if the\n // expression is used as the target of a safe property or method access then\n // the expression should be stored into a temporary variable.\n needsTemporary(ast) {\n const visit = (visitor, ast) => {\n return ast && (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n const visitSome = (visitor, ast) => {\n return ast.some(ast => visit(visitor, ast));\n };\n return ast.visit({\n visitUnary(ast) {\n return visit(this, ast.expr);\n },\n visitBinary(ast) {\n return visit(this, ast.left) || visit(this, ast.right);\n },\n visitChain(ast) {\n return false;\n },\n visitConditional(ast) {\n return visit(this, ast.condition) || visit(this, ast.trueExp) || visit(this, ast.falseExp);\n },\n visitFunctionCall(ast) {\n return true;\n },\n visitImplicitReceiver(ast) {\n return false;\n },\n visitThisReceiver(ast) {\n return false;\n },\n visitInterpolation(ast) {\n return visitSome(this, ast.expressions);\n },\n visitKeyedRead(ast) {\n return false;\n },\n visitKeyedWrite(ast) {\n return false;\n },\n visitLiteralArray(ast) {\n return true;\n },\n visitLiteralMap(ast) {\n return true;\n },\n visitLiteralPrimitive(ast) {\n return false;\n },\n visitMethodCall(ast) {\n return true;\n },\n visitPipe(ast) {\n return true;\n },\n visitPrefixNot(ast) {\n return visit(this, ast.expression);\n },\n visitNonNullAssert(ast) {\n return visit(this, ast.expression);\n },\n visitPropertyRead(ast) {\n return false;\n },\n visitPropertyWrite(ast) {\n return false;\n },\n visitQuote(ast) {\n return false;\n },\n visitSafeMethodCall(ast) {\n return true;\n },\n visitSafePropertyRead(ast) {\n return false;\n }\n });\n }\n allocateTemporary() {\n const tempNumber = this._currentTemporary++;\n this.temporaryCount = Math.max(this._currentTemporary, this.temporaryCount);\n return new ReadVarExpr(temporaryName(this.bindingId, tempNumber));\n }\n releaseTemporary(temporary) {\n this._currentTemporary--;\n if (temporary.name != temporaryName(this.bindingId, this._currentTemporary)) {\n throw new Error(`Temporary ${temporary.name} released out of order`);\n }\n }\n /**\n * Creates an absolute `ParseSourceSpan` from the relative `ParseSpan`.\n *\n * `ParseSpan` objects are relative to the start of the expression.\n * This method converts these to full `ParseSourceSpan` objects that\n * show where the span is within the overall source file.\n *\n * @param span the relative span to convert.\n * @returns a `ParseSourceSpan` for the given span or null if no\n * `baseSourceSpan` was provided to this class.\n */\n convertSourceSpan(span) {\n if (this.baseSourceSpan) {\n const start = this.baseSourceSpan.start.moveBy(span.start);\n const end = this.baseSourceSpan.start.moveBy(span.end);\n const fullStart = this.baseSourceSpan.fullStart.moveBy(span.start);\n return new ParseSourceSpan(start, end, fullStart);\n }\n else {\n return null;\n }\n }\n /** Adds the name of an AST to the list of implicit receiver accesses. */\n addImplicitReceiverAccess(name) {\n if (this.implicitReceiverAccesses) {\n this.implicitReceiverAccesses.add(name);\n }\n }\n}\nfunction flattenStatements(arg, output) {\n if (Array.isArray(arg)) {\n arg.forEach((entry) => flattenStatements(entry, output));\n }\n else {\n output.push(arg);\n }\n}\nclass DefaultLocalResolver {\n constructor(globals) {\n this.globals = globals;\n }\n notifyImplicitReceiverUse() { }\n getLocal(name) {\n if (name === EventHandlerVars.event.name) {\n return EventHandlerVars.event;\n }\n return null;\n }\n}\nfunction createCurrValueExpr(bindingId) {\n return variable(`currVal_${bindingId}`); // fix syntax highlighting: `\n}\nfunction createPreventDefaultVar(bindingId) {\n return variable(`pd_${bindingId}`);\n}\nfunction convertStmtIntoExpression(stmt) {\n if (stmt instanceof ExpressionStatement) {\n return stmt.expr;\n }\n else if (stmt instanceof ReturnStatement) {\n return stmt.value;\n }\n return null;\n}\nclass BuiltinFunctionCall extends FunctionCall {\n constructor(span, sourceSpan, args, converter) {\n super(span, sourceSpan, null, args);\n this.args = args;\n this.converter = converter;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This file is a port of shadowCSS from webcomponents.js to TypeScript.\n *\n * Please make sure to keep to edits in sync with the source file.\n *\n * Source:\n * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js\n *\n * The original file level comment is reproduced below\n */\n/*\n This is a limited shim for ShadowDOM css styling.\n https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles\n\n The intention here is to support only the styling features which can be\n relatively simply implemented. The goal is to allow users to avoid the\n most obvious pitfalls and do so without compromising performance significantly.\n For ShadowDOM styling that's not covered here, a set of best practices\n can be provided that should allow users to accomplish more complex styling.\n\n The following is a list of specific ShadowDOM styling features and a brief\n discussion of the approach used to shim.\n\n Shimmed features:\n\n * :host, :host-context: ShadowDOM allows styling of the shadowRoot's host\n element using the :host rule. To shim this feature, the :host styles are\n reformatted and prefixed with a given scope name and promoted to a\n document level stylesheet.\n For example, given a scope name of .foo, a rule like this:\n\n :host {\n background: red;\n }\n }\n\n becomes:\n\n .foo {\n background: red;\n }\n\n * encapsulation: Styles defined within ShadowDOM, apply only to\n dom inside the ShadowDOM. Polymer uses one of two techniques to implement\n this feature.\n\n By default, rules are prefixed with the host element tag name\n as a descendant selector. This ensures styling does not leak out of the 'top'\n of the element's ShadowDOM. For example,\n\n div {\n font-weight: bold;\n }\n\n becomes:\n\n x-foo div {\n font-weight: bold;\n }\n\n becomes:\n\n\n Alternatively, if WebComponents.ShadowCSS.strictStyling is set to true then\n selectors are scoped by adding an attribute selector suffix to each\n simple selector that contains the host element tag name. Each element\n in the element's ShadowDOM template is also given the scope attribute.\n Thus, these rules match only elements that have the scope attribute.\n For example, given a scope name of x-foo, a rule like this:\n\n div {\n font-weight: bold;\n }\n\n becomes:\n\n div[x-foo] {\n font-weight: bold;\n }\n\n Note that elements that are dynamically added to a scope must have the scope\n selector added to them manually.\n\n * upper/lower bound encapsulation: Styles which are defined outside a\n shadowRoot should not cross the ShadowDOM boundary and should not apply\n inside a shadowRoot.\n\n This styling behavior is not emulated. Some possible ways to do this that\n were rejected due to complexity and/or performance concerns include: (1) reset\n every possible property for every possible selector for a given scope name;\n (2) re-implement css in javascript.\n\n As an alternative, users should make sure to use selectors\n specific to the scope in which they are working.\n\n * ::distributed: This behavior is not emulated. It's often not necessary\n to style the contents of a specific insertion point and instead, descendants\n of the host element can be styled selectively. Users can also create an\n extra node around an insertion point and style that node's contents\n via descendent selectors. For example, with a shadowRoot like this:\n\n \n \n\n could become:\n\n \n
\n \n
\n\n Note the use of @polyfill in the comment above a ShadowDOM specific style\n declaration. This is a directive to the styling shim to use the selector\n in comments in lieu of the next selector when running under polyfill.\n*/\nclass ShadowCss {\n constructor() {\n this.strictStyling = true;\n }\n /*\n * Shim some cssText with the given selector. Returns cssText that can\n * be included in the document via WebComponents.ShadowCSS.addCssToDocument(css).\n *\n * When strictStyling is true:\n * - selector is the attribute added to all elements inside the host,\n * - hostSelector is the attribute added to the host itself.\n */\n shimCssText(cssText, selector, hostSelector = '') {\n const commentsWithHash = extractCommentsWithHash(cssText);\n cssText = stripComments(cssText);\n cssText = this._insertDirectives(cssText);\n const scopedCssText = this._scopeCssText(cssText, selector, hostSelector);\n return [scopedCssText, ...commentsWithHash].join('\\n');\n }\n _insertDirectives(cssText) {\n cssText = this._insertPolyfillDirectivesInCssText(cssText);\n return this._insertPolyfillRulesInCssText(cssText);\n }\n /*\n * Process styles to convert native ShadowDOM rules that will trip\n * up the css parser; we rely on decorating the stylesheet with inert rules.\n *\n * For example, we convert this rule:\n *\n * polyfill-next-selector { content: ':host menu-item'; }\n * ::content menu-item {\n *\n * to this:\n *\n * scopeName menu-item {\n *\n **/\n _insertPolyfillDirectivesInCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentNextSelectorRe, function (...m) {\n return m[2] + '{';\n });\n }\n /*\n * Process styles to add rules which will only apply under the polyfill\n *\n * For example, we convert this rule:\n *\n * polyfill-rule {\n * content: ':host menu-item';\n * ...\n * }\n *\n * to this:\n *\n * scopeName menu-item {...}\n *\n **/\n _insertPolyfillRulesInCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentRuleRe, (...m) => {\n const rule = m[0].replace(m[1], '').replace(m[2], '');\n return m[4] + rule;\n });\n }\n /* Ensure styles are scoped. Pseudo-scoping takes a rule like:\n *\n * .foo {... }\n *\n * and converts this to\n *\n * scopeName .foo { ... }\n */\n _scopeCssText(cssText, scopeSelector, hostSelector) {\n const unscopedRules = this._extractUnscopedRulesFromCssText(cssText);\n // replace :host and :host-context -shadowcsshost and -shadowcsshost respectively\n cssText = this._insertPolyfillHostInCssText(cssText);\n cssText = this._convertColonHost(cssText);\n cssText = this._convertColonHostContext(cssText);\n cssText = this._convertShadowDOMSelectors(cssText);\n if (scopeSelector) {\n cssText = this._scopeSelectors(cssText, scopeSelector, hostSelector);\n }\n cssText = cssText + '\\n' + unscopedRules;\n return cssText.trim();\n }\n /*\n * Process styles to add rules which will only apply under the polyfill\n * and do not process via CSSOM. (CSSOM is destructive to rules on rare\n * occasions, e.g. -webkit-calc on Safari.)\n * For example, we convert this rule:\n *\n * @polyfill-unscoped-rule {\n * content: 'menu-item';\n * ... }\n *\n * to this:\n *\n * menu-item {...}\n *\n **/\n _extractUnscopedRulesFromCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n let r = '';\n let m;\n _cssContentUnscopedRuleRe.lastIndex = 0;\n while ((m = _cssContentUnscopedRuleRe.exec(cssText)) !== null) {\n const rule = m[0].replace(m[2], '').replace(m[1], m[4]);\n r += rule + '\\n\\n';\n }\n return r;\n }\n /*\n * convert a rule like :host(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar\n */\n _convertColonHost(cssText) {\n return this._convertColonRule(cssText, _cssColonHostRe, this._colonHostPartReplacer);\n }\n /*\n * convert a rule like :host-context(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar, .foo scopeName > .bar { }\n *\n * and\n *\n * :host-context(.foo:host) .bar { ... }\n *\n * to\n *\n * .foo .bar { ... }\n */\n _convertColonHostContext(cssText) {\n return this._convertColonRule(cssText, _cssColonHostContextRe, this._colonHostContextPartReplacer);\n }\n _convertColonRule(cssText, regExp, partReplacer) {\n // m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule\n return cssText.replace(regExp, function (...m) {\n if (m[2]) {\n const parts = m[2].split(',');\n const r = [];\n for (let i = 0; i < parts.length; i++) {\n const p = parts[i].trim();\n if (!p)\n break;\n r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));\n }\n return r.join(',');\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n }\n _colonHostContextPartReplacer(host, part, suffix) {\n if (part.indexOf(_polyfillHost) > -1) {\n return this._colonHostPartReplacer(host, part, suffix);\n }\n else {\n return host + part + suffix + ', ' + part + ' ' + host + suffix;\n }\n }\n _colonHostPartReplacer(host, part, suffix) {\n return host + part.replace(_polyfillHost, '') + suffix;\n }\n /*\n * Convert combinators like ::shadow and pseudo-elements like ::content\n * by replacing with space.\n */\n _convertShadowDOMSelectors(cssText) {\n return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, ' '), cssText);\n }\n // change a selector like 'div' to 'name div'\n _scopeSelectors(cssText, scopeSelector, hostSelector) {\n return processRules(cssText, (rule) => {\n let selector = rule.selector;\n let content = rule.content;\n if (rule.selector[0] != '@') {\n selector =\n this._scopeSelector(rule.selector, scopeSelector, hostSelector, this.strictStyling);\n }\n else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n content = this._scopeSelectors(rule.content, scopeSelector, hostSelector);\n }\n return new CssRule(selector, content);\n });\n }\n _scopeSelector(selector, scopeSelector, hostSelector, strict) {\n return selector.split(',')\n .map(part => part.trim().split(_shadowDeepSelectors))\n .map((deepParts) => {\n const [shallowPart, ...otherParts] = deepParts;\n const applyScope = (shallowPart) => {\n if (this._selectorNeedsScoping(shallowPart, scopeSelector)) {\n return strict ?\n this._applyStrictSelectorScope(shallowPart, scopeSelector, hostSelector) :\n this._applySelectorScope(shallowPart, scopeSelector, hostSelector);\n }\n else {\n return shallowPart;\n }\n };\n return [applyScope(shallowPart), ...otherParts].join(' ');\n })\n .join(', ');\n }\n _selectorNeedsScoping(selector, scopeSelector) {\n const re = this._makeScopeMatcher(scopeSelector);\n return !re.test(selector);\n }\n _makeScopeMatcher(scopeSelector) {\n const lre = /\\[/g;\n const rre = /\\]/g;\n scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n }\n _applySelectorScope(selector, scopeSelector, hostSelector) {\n // Difference from webcomponents.js: scopeSelector could not be an array\n return this._applySimpleSelectorScope(selector, scopeSelector, hostSelector);\n }\n // scope via name and [is=name]\n _applySimpleSelectorScope(selector, scopeSelector, hostSelector) {\n // In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n _polyfillHostRe.lastIndex = 0;\n if (_polyfillHostRe.test(selector)) {\n const replaceBy = this.strictStyling ? `[${hostSelector}]` : scopeSelector;\n return selector\n .replace(_polyfillHostNoCombinatorRe, (hnc, selector) => {\n return selector.replace(/([^:]*)(:*)(.*)/, (_, before, colon, after) => {\n return before + replaceBy + colon + after;\n });\n })\n .replace(_polyfillHostRe, replaceBy + ' ');\n }\n return scopeSelector + ' ' + selector;\n }\n // return a selector with [name] suffix on each simple selector\n // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name] /** @internal */\n _applyStrictSelectorScope(selector, scopeSelector, hostSelector) {\n const isRe = /\\[is=([^\\]]*)\\]/g;\n scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);\n const attrName = '[' + scopeSelector + ']';\n const _scopeSelectorPart = (p) => {\n let scopedP = p.trim();\n if (!scopedP) {\n return '';\n }\n if (p.indexOf(_polyfillHostNoCombinator) > -1) {\n scopedP = this._applySimpleSelectorScope(p, scopeSelector, hostSelector);\n }\n else {\n // remove :host since it should be unnecessary\n const t = p.replace(_polyfillHostRe, '');\n if (t.length > 0) {\n const matches = t.match(/([^:]*)(:*)(.*)/);\n if (matches) {\n scopedP = matches[1] + attrName + matches[2] + matches[3];\n }\n }\n }\n return scopedP;\n };\n const safeContent = new SafeSelector(selector);\n selector = safeContent.content();\n let scopedSelector = '';\n let startIndex = 0;\n let res;\n const sep = /( |>|\\+|~(?!=))\\s*/g;\n // If a selector appears before :host it should not be shimmed as it\n // matches on ancestor elements and not on elements in the host's shadow\n // `:host-context(div)` is transformed to\n // `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`\n // the `div` is not part of the component in the 2nd selectors and should not be scoped.\n // Historically `component-tag:host` was matching the component so we also want to preserve\n // this behavior to avoid breaking legacy apps (it should not match).\n // The behavior should be:\n // - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)\n // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a\n // `:host-context(tag)`)\n const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;\n // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present\n let shouldScope = !hasHost;\n while ((res = sep.exec(selector)) !== null) {\n const separator = res[1];\n const part = selector.slice(startIndex, res.index).trim();\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;\n scopedSelector += `${scopedPart} ${separator} `;\n startIndex = sep.lastIndex;\n }\n const part = selector.substring(startIndex);\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;\n // replace the placeholders with their original values\n return safeContent.restore(scopedSelector);\n }\n _insertPolyfillHostInCssText(selector) {\n return selector.replace(_colonHostContextRe, _polyfillHostContext)\n .replace(_colonHostRe, _polyfillHost);\n }\n}\nclass SafeSelector {\n constructor(selector) {\n this.placeholders = [];\n this.index = 0;\n // Replaces attribute selectors with placeholders.\n // The WS in [attr=\"va lue\"] would otherwise be interpreted as a selector separator.\n selector = selector.replace(/(\\[[^\\]]*\\])/g, (_, keep) => {\n const replaceBy = `__ph-${this.index}__`;\n this.placeholders.push(keep);\n this.index++;\n return replaceBy;\n });\n // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.\n // WS and \"+\" would otherwise be interpreted as selector separators.\n this._content = selector.replace(/(:nth-[-\\w]+)(\\([^)]+\\))/g, (_, pseudo, exp) => {\n const replaceBy = `__ph-${this.index}__`;\n this.placeholders.push(exp);\n this.index++;\n return pseudo + replaceBy;\n });\n }\n restore(content) {\n return content.replace(/__ph-(\\d+)__/g, (ph, index) => this.placeholders[+index]);\n }\n content() {\n return this._content;\n }\n}\nconst _cssContentNextSelectorRe = /polyfill-next-selector[^}]*content:[\\s]*?(['\"])(.*?)\\1[;\\s]*}([^{]*?){/gim;\nconst _cssContentRuleRe = /(polyfill-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nconst _cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nconst _polyfillHost = '-shadowcsshost';\n// note: :host-context pre-processed to -shadowcsshostcontext.\nconst _polyfillHostContext = '-shadowcsscontext';\nconst _parenSuffix = ')(?:\\\\((' +\n '(?:\\\\([^)(]*\\\\)|[^)(]*)+?' +\n ')\\\\))?([^,{]*)';\nconst _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');\nconst _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');\nconst _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';\nconst _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\\s]*)/;\nconst _shadowDOMSelectorsRe = [\n /::shadow/g,\n /::content/g,\n // Deprecated selectors\n /\\/shadow-deep\\//g,\n /\\/shadow\\//g,\n];\n// The deep combinator is deprecated in the CSS spec\n// Support for `>>>`, `deep`, `::ng-deep` is then also deprecated and will be removed in the future.\n// see https://github.com/angular/angular/pull/17677\nconst _shadowDeepSelectors = /(?:>>>)|(?:\\/deep\\/)|(?:::ng-deep)/g;\nconst _selectorReSuffix = '([>\\\\s~+\\[.,{:][\\\\s\\\\S]*)?$';\nconst _polyfillHostRe = /-shadowcsshost/gim;\nconst _colonHostRe = /:host/gim;\nconst _colonHostContextRe = /:host-context/gim;\nconst _commentRe = /\\/\\*\\s*[\\s\\S]*?\\*\\//g;\nfunction stripComments(input) {\n return input.replace(_commentRe, '');\n}\nconst _commentWithHashRe = /\\/\\*\\s*#\\s*source(Mapping)?URL=[\\s\\S]+?\\*\\//g;\nfunction extractCommentsWithHash(input) {\n return input.match(_commentWithHashRe) || [];\n}\nconst BLOCK_PLACEHOLDER = '%BLOCK%';\nconst QUOTE_PLACEHOLDER = '%QUOTED%';\nconst _ruleRe = /(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))/g;\nconst _quotedRe = /%QUOTED%/g;\nconst CONTENT_PAIRS = new Map([['{', '}']]);\nconst QUOTE_PAIRS = new Map([[`\"`, `\"`], [`'`, `'`]]);\nclass CssRule {\n constructor(selector, content) {\n this.selector = selector;\n this.content = content;\n }\n}\nfunction processRules(input, ruleCallback) {\n const inputWithEscapedQuotes = escapeBlocks(input, QUOTE_PAIRS, QUOTE_PLACEHOLDER);\n const inputWithEscapedBlocks = escapeBlocks(inputWithEscapedQuotes.escapedString, CONTENT_PAIRS, BLOCK_PLACEHOLDER);\n let nextBlockIndex = 0;\n let nextQuoteIndex = 0;\n return inputWithEscapedBlocks.escapedString\n .replace(_ruleRe, (...m) => {\n const selector = m[2];\n let content = '';\n let suffix = m[4];\n let contentPrefix = '';\n if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n contentPrefix = '{';\n }\n const rule = ruleCallback(new CssRule(selector, content));\n return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;\n })\n .replace(_quotedRe, () => inputWithEscapedQuotes.blocks[nextQuoteIndex++]);\n}\nclass StringWithEscapedBlocks {\n constructor(escapedString, blocks) {\n this.escapedString = escapedString;\n this.blocks = blocks;\n }\n}\nfunction escapeBlocks(input, charPairs, placeholder) {\n const resultParts = [];\n const escapedBlocks = [];\n let openCharCount = 0;\n let nonBlockStartIndex = 0;\n let blockStartIndex = -1;\n let openChar;\n let closeChar;\n for (let i = 0; i < input.length; i++) {\n const char = input[i];\n if (char === '\\\\') {\n i++;\n }\n else if (char === closeChar) {\n openCharCount--;\n if (openCharCount === 0) {\n escapedBlocks.push(input.substring(blockStartIndex, i));\n resultParts.push(placeholder);\n nonBlockStartIndex = i;\n blockStartIndex = -1;\n openChar = closeChar = undefined;\n }\n }\n else if (char === openChar) {\n openCharCount++;\n }\n else if (openCharCount === 0 && charPairs.has(char)) {\n openChar = char;\n closeChar = charPairs.get(char);\n openCharCount = 1;\n blockStartIndex = i + 1;\n resultParts.push(input.substring(nonBlockStartIndex, blockStartIndex));\n }\n }\n if (blockStartIndex !== -1) {\n escapedBlocks.push(input.substring(blockStartIndex));\n resultParts.push(placeholder);\n }\n else {\n resultParts.push(input.substring(nonBlockStartIndex));\n }\n return new StringWithEscapedBlocks(resultParts.join(''), escapedBlocks);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst COMPONENT_VARIABLE = '%COMP%';\nconst HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;\nconst CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;\nclass StylesCompileDependency {\n constructor(name, moduleUrl, setValue) {\n this.name = name;\n this.moduleUrl = moduleUrl;\n this.setValue = setValue;\n }\n}\nclass CompiledStylesheet {\n constructor(outputCtx, stylesVar, dependencies, isShimmed, meta) {\n this.outputCtx = outputCtx;\n this.stylesVar = stylesVar;\n this.dependencies = dependencies;\n this.isShimmed = isShimmed;\n this.meta = meta;\n }\n}\nclass StyleCompiler {\n constructor(_urlResolver) {\n this._urlResolver = _urlResolver;\n this._shadowCss = new ShadowCss();\n }\n compileComponent(outputCtx, comp) {\n const template = comp.template;\n return this._compileStyles(outputCtx, comp, new CompileStylesheetMetadata({\n styles: template.styles,\n styleUrls: template.styleUrls,\n moduleUrl: identifierModuleUrl(comp.type)\n }), this.needsStyleShim(comp), true);\n }\n compileStyles(outputCtx, comp, stylesheet, shim = this.needsStyleShim(comp)) {\n return this._compileStyles(outputCtx, comp, stylesheet, shim, false);\n }\n needsStyleShim(comp) {\n return comp.template.encapsulation === ViewEncapsulation.Emulated;\n }\n _compileStyles(outputCtx, comp, stylesheet, shim, isComponentStylesheet) {\n const styleExpressions = stylesheet.styles.map(plainStyle => literal(this._shimIfNeeded(plainStyle, shim)));\n const dependencies = [];\n stylesheet.styleUrls.forEach((styleUrl) => {\n const exprIndex = styleExpressions.length;\n // Note: This placeholder will be filled later.\n styleExpressions.push(null);\n dependencies.push(new StylesCompileDependency(getStylesVarName(null), styleUrl, (value) => styleExpressions[exprIndex] = outputCtx.importExpr(value)));\n });\n // styles variable contains plain strings and arrays of other styles arrays (recursive),\n // so we set its type to dynamic.\n const stylesVar = getStylesVarName(isComponentStylesheet ? comp : null);\n const stmt = variable(stylesVar)\n .set(literalArr(styleExpressions, new ArrayType(DYNAMIC_TYPE, [TypeModifier.Const])))\n .toDeclStmt(null, isComponentStylesheet ? [StmtModifier.Final] : [\n StmtModifier.Final, StmtModifier.Exported\n ]);\n outputCtx.statements.push(stmt);\n return new CompiledStylesheet(outputCtx, stylesVar, dependencies, shim, stylesheet);\n }\n _shimIfNeeded(style, shim) {\n return shim ? this._shadowCss.shimCssText(style, CONTENT_ATTR, HOST_ATTR) : style;\n }\n}\nfunction getStylesVarName(component) {\n let result = `styles`;\n if (component) {\n result += `_${identifierName(component.type)}`;\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A path is an ordered set of elements. Typically a path is to a\n * particular offset in a source file. The head of the list is the top\n * most node. The tail is the node that contains the offset directly.\n *\n * For example, the expression `a + b + c` might have an ast that looks\n * like:\n * +\n * / \\\n * a +\n * / \\\n * b c\n *\n * The path to the node at offset 9 would be `['+' at 1-10, '+' at 7-10,\n * 'c' at 9-10]` and the path the node at offset 1 would be\n * `['+' at 1-10, 'a' at 1-2]`.\n */\nclass AstPath {\n constructor(path, position = -1) {\n this.path = path;\n this.position = position;\n }\n get empty() {\n return !this.path || !this.path.length;\n }\n get head() {\n return this.path[0];\n }\n get tail() {\n return this.path[this.path.length - 1];\n }\n parentOf(node) {\n return node && this.path[this.path.indexOf(node) - 1];\n }\n childOf(node) {\n return this.path[this.path.indexOf(node) + 1];\n }\n first(ctor) {\n for (let i = this.path.length - 1; i >= 0; i--) {\n let item = this.path[i];\n if (item instanceof ctor)\n return item;\n }\n }\n push(node) {\n this.path.push(node);\n }\n pop() {\n return this.path.pop();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass NodeWithI18n {\n constructor(sourceSpan, i18n) {\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n}\nclass Text$3 extends NodeWithI18n {\n constructor(value, sourceSpan, i18n) {\n super(sourceSpan, i18n);\n this.value = value;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\nclass Expansion extends NodeWithI18n {\n constructor(switchValue, type, cases, sourceSpan, switchValueSourceSpan, i18n) {\n super(sourceSpan, i18n);\n this.switchValue = switchValue;\n this.type = type;\n this.cases = cases;\n this.switchValueSourceSpan = switchValueSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitExpansion(this, context);\n }\n}\nclass ExpansionCase {\n constructor(value, expression, sourceSpan, valueSourceSpan, expSourceSpan) {\n this.value = value;\n this.expression = expression;\n this.sourceSpan = sourceSpan;\n this.valueSourceSpan = valueSourceSpan;\n this.expSourceSpan = expSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitExpansionCase(this, context);\n }\n}\nclass Attribute extends NodeWithI18n {\n constructor(name, value, sourceSpan, valueSpan, i18n) {\n super(sourceSpan, i18n);\n this.name = name;\n this.value = value;\n this.valueSpan = valueSpan;\n }\n visit(visitor, context) {\n return visitor.visitAttribute(this, context);\n }\n}\nclass Element$1 extends NodeWithI18n {\n constructor(name, attrs, children, sourceSpan, startSourceSpan, endSourceSpan = null, i18n) {\n super(sourceSpan, i18n);\n this.name = name;\n this.attrs = attrs;\n this.children = children;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitElement(this, context);\n }\n}\nclass Comment {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitComment(this, context);\n }\n}\nfunction visitAll$1(visitor, nodes, context = null) {\n const result = [];\n const visit = visitor.visit ?\n (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :\n (ast) => ast.visit(visitor, context);\n nodes.forEach(ast => {\n const astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\nclass RecursiveVisitor$1 {\n constructor() { }\n visitElement(ast, context) {\n this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.children);\n });\n }\n visitAttribute(ast, context) { }\n visitText(ast, context) { }\n visitComment(ast, context) { }\n visitExpansion(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.cases);\n });\n }\n visitExpansionCase(ast, context) { }\n visitChildren(context, cb) {\n let results = [];\n let t = this;\n function visit(children) {\n if (children)\n results.push(visitAll$1(t, children, context));\n }\n cb(visit);\n return Array.prototype.concat.apply([], results);\n }\n}\nfunction spanOf(ast) {\n const start = ast.sourceSpan.start.offset;\n let end = ast.sourceSpan.end.offset;\n if (ast instanceof Element$1) {\n if (ast.endSourceSpan) {\n end = ast.endSourceSpan.end.offset;\n }\n else if (ast.children && ast.children.length) {\n end = spanOf(ast.children[ast.children.length - 1]).end;\n }\n }\n return { start, end };\n}\nfunction findNode(nodes, position) {\n const path = [];\n const visitor = new class extends RecursiveVisitor$1 {\n visit(ast, context) {\n const span = spanOf(ast);\n if (span.start <= position && position < span.end) {\n path.push(ast);\n }\n else {\n // Returning a value here will result in the children being skipped.\n return true;\n }\n }\n };\n visitAll$1(visitor, nodes);\n return new AstPath(path, position);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar TokenType;\n(function (TokenType) {\n TokenType[TokenType[\"TAG_OPEN_START\"] = 0] = \"TAG_OPEN_START\";\n TokenType[TokenType[\"TAG_OPEN_END\"] = 1] = \"TAG_OPEN_END\";\n TokenType[TokenType[\"TAG_OPEN_END_VOID\"] = 2] = \"TAG_OPEN_END_VOID\";\n TokenType[TokenType[\"TAG_CLOSE\"] = 3] = \"TAG_CLOSE\";\n TokenType[TokenType[\"INCOMPLETE_TAG_OPEN\"] = 4] = \"INCOMPLETE_TAG_OPEN\";\n TokenType[TokenType[\"TEXT\"] = 5] = \"TEXT\";\n TokenType[TokenType[\"ESCAPABLE_RAW_TEXT\"] = 6] = \"ESCAPABLE_RAW_TEXT\";\n TokenType[TokenType[\"RAW_TEXT\"] = 7] = \"RAW_TEXT\";\n TokenType[TokenType[\"COMMENT_START\"] = 8] = \"COMMENT_START\";\n TokenType[TokenType[\"COMMENT_END\"] = 9] = \"COMMENT_END\";\n TokenType[TokenType[\"CDATA_START\"] = 10] = \"CDATA_START\";\n TokenType[TokenType[\"CDATA_END\"] = 11] = \"CDATA_END\";\n TokenType[TokenType[\"ATTR_NAME\"] = 12] = \"ATTR_NAME\";\n TokenType[TokenType[\"ATTR_QUOTE\"] = 13] = \"ATTR_QUOTE\";\n TokenType[TokenType[\"ATTR_VALUE\"] = 14] = \"ATTR_VALUE\";\n TokenType[TokenType[\"DOC_TYPE\"] = 15] = \"DOC_TYPE\";\n TokenType[TokenType[\"EXPANSION_FORM_START\"] = 16] = \"EXPANSION_FORM_START\";\n TokenType[TokenType[\"EXPANSION_CASE_VALUE\"] = 17] = \"EXPANSION_CASE_VALUE\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_START\"] = 18] = \"EXPANSION_CASE_EXP_START\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_END\"] = 19] = \"EXPANSION_CASE_EXP_END\";\n TokenType[TokenType[\"EXPANSION_FORM_END\"] = 20] = \"EXPANSION_FORM_END\";\n TokenType[TokenType[\"EOF\"] = 21] = \"EOF\";\n})(TokenType || (TokenType = {}));\nclass Token {\n constructor(type, parts, sourceSpan) {\n this.type = type;\n this.parts = parts;\n this.sourceSpan = sourceSpan;\n }\n}\nclass TokenError extends ParseError {\n constructor(errorMsg, tokenType, span) {\n super(span, errorMsg);\n this.tokenType = tokenType;\n }\n}\nclass TokenizeResult {\n constructor(tokens, errors, nonNormalizedIcuExpressions) {\n this.tokens = tokens;\n this.errors = errors;\n this.nonNormalizedIcuExpressions = nonNormalizedIcuExpressions;\n }\n}\nfunction tokenize(source, url, getTagDefinition, options = {}) {\n const tokenizer = new _Tokenizer(new ParseSourceFile(source, url), getTagDefinition, options);\n tokenizer.tokenize();\n return new TokenizeResult(mergeTextTokens(tokenizer.tokens), tokenizer.errors, tokenizer.nonNormalizedIcuExpressions);\n}\nconst _CR_OR_CRLF_REGEXP = /\\r\\n?/g;\nfunction _unexpectedCharacterErrorMsg(charCode) {\n const char = charCode === $EOF ? 'EOF' : String.fromCharCode(charCode);\n return `Unexpected character \"${char}\"`;\n}\nfunction _unknownEntityErrorMsg(entitySrc) {\n return `Unknown entity \"${entitySrc}\" - use the \"&#;\" or \"&#x;\" syntax`;\n}\nfunction _unparsableEntityErrorMsg(type, entityStr) {\n return `Unable to parse entity \"${entityStr}\" - ${type} character reference entities must end with \";\"`;\n}\nvar CharacterReferenceType;\n(function (CharacterReferenceType) {\n CharacterReferenceType[\"HEX\"] = \"hexadecimal\";\n CharacterReferenceType[\"DEC\"] = \"decimal\";\n})(CharacterReferenceType || (CharacterReferenceType = {}));\nclass _ControlFlowError {\n constructor(error) {\n this.error = error;\n }\n}\n// See http://www.w3.org/TR/html51/syntax.html#writing\nclass _Tokenizer {\n /**\n * @param _file The html source file being tokenized.\n * @param _getTagDefinition A function that will retrieve a tag definition for a given tag name.\n * @param options Configuration of the tokenization.\n */\n constructor(_file, _getTagDefinition, options) {\n this._getTagDefinition = _getTagDefinition;\n this._currentTokenStart = null;\n this._currentTokenType = null;\n this._expansionCaseStack = [];\n this._inInterpolation = false;\n this.tokens = [];\n this.errors = [];\n this.nonNormalizedIcuExpressions = [];\n this._tokenizeIcu = options.tokenizeExpansionForms || false;\n this._interpolationConfig = options.interpolationConfig || DEFAULT_INTERPOLATION_CONFIG;\n this._leadingTriviaCodePoints =\n options.leadingTriviaChars && options.leadingTriviaChars.map(c => c.codePointAt(0) || 0);\n const range = options.range || { endPos: _file.content.length, startPos: 0, startLine: 0, startCol: 0 };\n this._cursor = options.escapedString ? new EscapedCharacterCursor(_file, range) :\n new PlainCharacterCursor(_file, range);\n this._preserveLineEndings = options.preserveLineEndings || false;\n this._escapedString = options.escapedString || false;\n this._i18nNormalizeLineEndingsInICUs = options.i18nNormalizeLineEndingsInICUs || false;\n try {\n this._cursor.init();\n }\n catch (e) {\n this.handleError(e);\n }\n }\n _processCarriageReturns(content) {\n if (this._preserveLineEndings) {\n return content;\n }\n // http://www.w3.org/TR/html5/syntax.html#preprocessing-the-input-stream\n // In order to keep the original position in the source, we can not\n // pre-process it.\n // Instead CRs are processed right before instantiating the tokens.\n return content.replace(_CR_OR_CRLF_REGEXP, '\\n');\n }\n tokenize() {\n while (this._cursor.peek() !== $EOF) {\n const start = this._cursor.clone();\n try {\n if (this._attemptCharCode($LT)) {\n if (this._attemptCharCode($BANG)) {\n if (this._attemptCharCode($LBRACKET)) {\n this._consumeCdata(start);\n }\n else if (this._attemptCharCode($MINUS)) {\n this._consumeComment(start);\n }\n else {\n this._consumeDocType(start);\n }\n }\n else if (this._attemptCharCode($SLASH)) {\n this._consumeTagClose(start);\n }\n else {\n this._consumeTagOpen(start);\n }\n }\n else if (!(this._tokenizeIcu && this._tokenizeExpansionForm())) {\n this._consumeText();\n }\n }\n catch (e) {\n this.handleError(e);\n }\n }\n this._beginToken(TokenType.EOF);\n this._endToken([]);\n }\n /**\n * @returns whether an ICU token has been created\n * @internal\n */\n _tokenizeExpansionForm() {\n if (this.isExpansionFormStart()) {\n this._consumeExpansionFormStart();\n return true;\n }\n if (isExpansionCaseStart(this._cursor.peek()) && this._isInExpansionForm()) {\n this._consumeExpansionCaseStart();\n return true;\n }\n if (this._cursor.peek() === $RBRACE) {\n if (this._isInExpansionCase()) {\n this._consumeExpansionCaseEnd();\n return true;\n }\n if (this._isInExpansionForm()) {\n this._consumeExpansionFormEnd();\n return true;\n }\n }\n return false;\n }\n _beginToken(type, start = this._cursor.clone()) {\n this._currentTokenStart = start;\n this._currentTokenType = type;\n }\n _endToken(parts, end) {\n if (this._currentTokenStart === null) {\n throw new TokenError('Programming error - attempted to end a token when there was no start to the token', this._currentTokenType, this._cursor.getSpan(end));\n }\n if (this._currentTokenType === null) {\n throw new TokenError('Programming error - attempted to end a token which has no token type', null, this._cursor.getSpan(this._currentTokenStart));\n }\n const token = new Token(this._currentTokenType, parts, this._cursor.getSpan(this._currentTokenStart, this._leadingTriviaCodePoints));\n this.tokens.push(token);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return token;\n }\n _createError(msg, span) {\n if (this._isInExpansionForm()) {\n msg += ` (Do you have an unescaped \"{\" in your template? Use \"{{ '{' }}\") to escape it.)`;\n }\n const error = new TokenError(msg, this._currentTokenType, span);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return new _ControlFlowError(error);\n }\n handleError(e) {\n if (e instanceof CursorError) {\n e = this._createError(e.msg, this._cursor.getSpan(e.cursor));\n }\n if (e instanceof _ControlFlowError) {\n this.errors.push(e.error);\n }\n else {\n throw e;\n }\n }\n _attemptCharCode(charCode) {\n if (this._cursor.peek() === charCode) {\n this._cursor.advance();\n return true;\n }\n return false;\n }\n _attemptCharCodeCaseInsensitive(charCode) {\n if (compareCharCodeCaseInsensitive(this._cursor.peek(), charCode)) {\n this._cursor.advance();\n return true;\n }\n return false;\n }\n _requireCharCode(charCode) {\n const location = this._cursor.clone();\n if (!this._attemptCharCode(charCode)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));\n }\n }\n _attemptStr(chars) {\n const len = chars.length;\n if (this._cursor.charsLeft() < len) {\n return false;\n }\n const initialPosition = this._cursor.clone();\n for (let i = 0; i < len; i++) {\n if (!this._attemptCharCode(chars.charCodeAt(i))) {\n // If attempting to parse the string fails, we want to reset the parser\n // to where it was before the attempt\n this._cursor = initialPosition;\n return false;\n }\n }\n return true;\n }\n _attemptStrCaseInsensitive(chars) {\n for (let i = 0; i < chars.length; i++) {\n if (!this._attemptCharCodeCaseInsensitive(chars.charCodeAt(i))) {\n return false;\n }\n }\n return true;\n }\n _requireStr(chars) {\n const location = this._cursor.clone();\n if (!this._attemptStr(chars)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));\n }\n }\n _attemptCharCodeUntilFn(predicate) {\n while (!predicate(this._cursor.peek())) {\n this._cursor.advance();\n }\n }\n _requireCharCodeUntilFn(predicate, len) {\n const start = this._cursor.clone();\n this._attemptCharCodeUntilFn(predicate);\n if (this._cursor.diff(start) < len) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));\n }\n }\n _attemptUntilChar(char) {\n while (this._cursor.peek() !== char) {\n this._cursor.advance();\n }\n }\n _readChar(decodeEntities) {\n if (decodeEntities && this._cursor.peek() === $AMPERSAND) {\n return this._decodeEntity();\n }\n else {\n // Don't rely upon reading directly from `_input` as the actual char value\n // may have been generated from an escape sequence.\n const char = String.fromCodePoint(this._cursor.peek());\n this._cursor.advance();\n return char;\n }\n }\n _decodeEntity() {\n const start = this._cursor.clone();\n this._cursor.advance();\n if (this._attemptCharCode($HASH)) {\n const isHex = this._attemptCharCode($x) || this._attemptCharCode($X);\n const codeStart = this._cursor.clone();\n this._attemptCharCodeUntilFn(isDigitEntityEnd);\n if (this._cursor.peek() != $SEMICOLON) {\n // Advance cursor to include the peeked character in the string provided to the error\n // message.\n this._cursor.advance();\n const entityType = isHex ? CharacterReferenceType.HEX : CharacterReferenceType.DEC;\n throw this._createError(_unparsableEntityErrorMsg(entityType, this._cursor.getChars(start)), this._cursor.getSpan());\n }\n const strNum = this._cursor.getChars(codeStart);\n this._cursor.advance();\n try {\n const charCode = parseInt(strNum, isHex ? 16 : 10);\n return String.fromCharCode(charCode);\n }\n catch (_a) {\n throw this._createError(_unknownEntityErrorMsg(this._cursor.getChars(start)), this._cursor.getSpan());\n }\n }\n else {\n const nameStart = this._cursor.clone();\n this._attemptCharCodeUntilFn(isNamedEntityEnd);\n if (this._cursor.peek() != $SEMICOLON) {\n this._cursor = nameStart;\n return '&';\n }\n const name = this._cursor.getChars(nameStart);\n this._cursor.advance();\n const char = NAMED_ENTITIES[name];\n if (!char) {\n throw this._createError(_unknownEntityErrorMsg(name), this._cursor.getSpan(start));\n }\n return char;\n }\n }\n _consumeRawText(decodeEntities, endMarkerPredicate) {\n this._beginToken(decodeEntities ? TokenType.ESCAPABLE_RAW_TEXT : TokenType.RAW_TEXT);\n const parts = [];\n while (true) {\n const tagCloseStart = this._cursor.clone();\n const foundEndMarker = endMarkerPredicate();\n this._cursor = tagCloseStart;\n if (foundEndMarker) {\n break;\n }\n parts.push(this._readChar(decodeEntities));\n }\n return this._endToken([this._processCarriageReturns(parts.join(''))]);\n }\n _consumeComment(start) {\n this._beginToken(TokenType.COMMENT_START, start);\n this._requireCharCode($MINUS);\n this._endToken([]);\n this._consumeRawText(false, () => this._attemptStr('-->'));\n this._beginToken(TokenType.COMMENT_END);\n this._requireStr('-->');\n this._endToken([]);\n }\n _consumeCdata(start) {\n this._beginToken(TokenType.CDATA_START, start);\n this._requireStr('CDATA[');\n this._endToken([]);\n this._consumeRawText(false, () => this._attemptStr(']]>'));\n this._beginToken(TokenType.CDATA_END);\n this._requireStr(']]>');\n this._endToken([]);\n }\n _consumeDocType(start) {\n this._beginToken(TokenType.DOC_TYPE, start);\n const contentStart = this._cursor.clone();\n this._attemptUntilChar($GT);\n const content = this._cursor.getChars(contentStart);\n this._cursor.advance();\n this._endToken([content]);\n }\n _consumePrefixAndName() {\n const nameOrPrefixStart = this._cursor.clone();\n let prefix = '';\n while (this._cursor.peek() !== $COLON && !isPrefixEnd(this._cursor.peek())) {\n this._cursor.advance();\n }\n let nameStart;\n if (this._cursor.peek() === $COLON) {\n prefix = this._cursor.getChars(nameOrPrefixStart);\n this._cursor.advance();\n nameStart = this._cursor.clone();\n }\n else {\n nameStart = nameOrPrefixStart;\n }\n this._requireCharCodeUntilFn(isNameEnd, prefix === '' ? 0 : 1);\n const name = this._cursor.getChars(nameStart);\n return [prefix, name];\n }\n _consumeTagOpen(start) {\n let tagName;\n let prefix;\n let openTagToken;\n try {\n if (!isAsciiLetter(this._cursor.peek())) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));\n }\n openTagToken = this._consumeTagOpenStart(start);\n prefix = openTagToken.parts[0];\n tagName = openTagToken.parts[1];\n this._attemptCharCodeUntilFn(isNotWhitespace);\n while (this._cursor.peek() !== $SLASH && this._cursor.peek() !== $GT &&\n this._cursor.peek() !== $LT) {\n this._consumeAttributeName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (this._attemptCharCode($EQ)) {\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._consumeAttributeValue();\n }\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n this._consumeTagOpenEnd();\n }\n catch (e) {\n if (e instanceof _ControlFlowError) {\n if (openTagToken) {\n // We errored before we could close the opening tag, so it is incomplete.\n openTagToken.type = TokenType.INCOMPLETE_TAG_OPEN;\n }\n else {\n // When the start tag is invalid, assume we want a \"<\" as text.\n // Back to back text tokens are merged at the end.\n this._beginToken(TokenType.TEXT, start);\n this._endToken(['<']);\n }\n return;\n }\n throw e;\n }\n const contentTokenType = this._getTagDefinition(tagName).contentType;\n if (contentTokenType === TagContentType.RAW_TEXT) {\n this._consumeRawTextWithTagClose(prefix, tagName, false);\n }\n else if (contentTokenType === TagContentType.ESCAPABLE_RAW_TEXT) {\n this._consumeRawTextWithTagClose(prefix, tagName, true);\n }\n }\n _consumeRawTextWithTagClose(prefix, tagName, decodeEntities) {\n const textToken = this._consumeRawText(decodeEntities, () => {\n if (!this._attemptCharCode($LT))\n return false;\n if (!this._attemptCharCode($SLASH))\n return false;\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (!this._attemptStrCaseInsensitive(tagName))\n return false;\n this._attemptCharCodeUntilFn(isNotWhitespace);\n return this._attemptCharCode($GT);\n });\n this._beginToken(TokenType.TAG_CLOSE);\n this._requireCharCodeUntilFn(code => code === $GT, 3);\n this._cursor.advance(); // Consume the `>`\n this._endToken([prefix, tagName]);\n }\n _consumeTagOpenStart(start) {\n this._beginToken(TokenType.TAG_OPEN_START, start);\n const parts = this._consumePrefixAndName();\n return this._endToken(parts);\n }\n _consumeAttributeName() {\n const attrNameStart = this._cursor.peek();\n if (attrNameStart === $SQ || attrNameStart === $DQ) {\n throw this._createError(_unexpectedCharacterErrorMsg(attrNameStart), this._cursor.getSpan());\n }\n this._beginToken(TokenType.ATTR_NAME);\n const prefixAndName = this._consumePrefixAndName();\n this._endToken(prefixAndName);\n }\n _consumeAttributeValue() {\n let value;\n if (this._cursor.peek() === $SQ || this._cursor.peek() === $DQ) {\n this._beginToken(TokenType.ATTR_QUOTE);\n const quoteChar = this._cursor.peek();\n this._cursor.advance();\n this._endToken([String.fromCodePoint(quoteChar)]);\n this._beginToken(TokenType.ATTR_VALUE);\n const parts = [];\n while (this._cursor.peek() !== quoteChar) {\n parts.push(this._readChar(true));\n }\n value = parts.join('');\n this._endToken([this._processCarriageReturns(value)]);\n this._beginToken(TokenType.ATTR_QUOTE);\n this._cursor.advance();\n this._endToken([String.fromCodePoint(quoteChar)]);\n }\n else {\n this._beginToken(TokenType.ATTR_VALUE);\n const valueStart = this._cursor.clone();\n this._requireCharCodeUntilFn(isNameEnd, 1);\n value = this._cursor.getChars(valueStart);\n this._endToken([this._processCarriageReturns(value)]);\n }\n }\n _consumeTagOpenEnd() {\n const tokenType = this._attemptCharCode($SLASH) ? TokenType.TAG_OPEN_END_VOID : TokenType.TAG_OPEN_END;\n this._beginToken(tokenType);\n this._requireCharCode($GT);\n this._endToken([]);\n }\n _consumeTagClose(start) {\n this._beginToken(TokenType.TAG_CLOSE, start);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n const prefixAndName = this._consumePrefixAndName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._requireCharCode($GT);\n this._endToken(prefixAndName);\n }\n _consumeExpansionFormStart() {\n this._beginToken(TokenType.EXPANSION_FORM_START);\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._expansionCaseStack.push(TokenType.EXPANSION_FORM_START);\n this._beginToken(TokenType.RAW_TEXT);\n const condition = this._readUntil($COMMA);\n const normalizedCondition = this._processCarriageReturns(condition);\n if (this._i18nNormalizeLineEndingsInICUs) {\n // We explicitly want to normalize line endings for this text.\n this._endToken([normalizedCondition]);\n }\n else {\n // We are not normalizing line endings.\n const conditionToken = this._endToken([condition]);\n if (normalizedCondition !== condition) {\n this.nonNormalizedIcuExpressions.push(conditionToken);\n }\n }\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType.RAW_TEXT);\n const type = this._readUntil($COMMA);\n this._endToken([type]);\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n _consumeExpansionCaseStart() {\n this._beginToken(TokenType.EXPANSION_CASE_VALUE);\n const value = this._readUntil($LBRACE).trim();\n this._endToken([value]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType.EXPANSION_CASE_EXP_START);\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.push(TokenType.EXPANSION_CASE_EXP_START);\n }\n _consumeExpansionCaseEnd() {\n this._beginToken(TokenType.EXPANSION_CASE_EXP_END);\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.pop();\n }\n _consumeExpansionFormEnd() {\n this._beginToken(TokenType.EXPANSION_FORM_END);\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._expansionCaseStack.pop();\n }\n _consumeText() {\n const start = this._cursor.clone();\n this._beginToken(TokenType.TEXT, start);\n const parts = [];\n do {\n if (this._interpolationConfig && this._attemptStr(this._interpolationConfig.start)) {\n parts.push(this._interpolationConfig.start);\n this._inInterpolation = true;\n }\n else if (this._interpolationConfig && this._inInterpolation &&\n this._attemptStr(this._interpolationConfig.end)) {\n parts.push(this._interpolationConfig.end);\n this._inInterpolation = false;\n }\n else {\n parts.push(this._readChar(true));\n }\n } while (!this._isTextEnd());\n this._endToken([this._processCarriageReturns(parts.join(''))]);\n }\n _isTextEnd() {\n if (this._cursor.peek() === $LT || this._cursor.peek() === $EOF) {\n return true;\n }\n if (this._tokenizeIcu && !this._inInterpolation) {\n if (this.isExpansionFormStart()) {\n // start of an expansion form\n return true;\n }\n if (this._cursor.peek() === $RBRACE && this._isInExpansionCase()) {\n // end of and expansion case\n return true;\n }\n }\n return false;\n }\n _readUntil(char) {\n const start = this._cursor.clone();\n this._attemptUntilChar(char);\n return this._cursor.getChars(start);\n }\n _isInExpansionCase() {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType.EXPANSION_CASE_EXP_START;\n }\n _isInExpansionForm() {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType.EXPANSION_FORM_START;\n }\n isExpansionFormStart() {\n if (this._cursor.peek() !== $LBRACE) {\n return false;\n }\n if (this._interpolationConfig) {\n const start = this._cursor.clone();\n const isInterpolation = this._attemptStr(this._interpolationConfig.start);\n this._cursor = start;\n return !isInterpolation;\n }\n return true;\n }\n}\nfunction isNotWhitespace(code) {\n return !isWhitespace(code) || code === $EOF;\n}\nfunction isNameEnd(code) {\n return isWhitespace(code) || code === $GT || code === $LT ||\n code === $SLASH || code === $SQ || code === $DQ || code === $EQ;\n}\nfunction isPrefixEnd(code) {\n return (code < $a || $z < code) && (code < $A || $Z < code) &&\n (code < $0 || code > $9);\n}\nfunction isDigitEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiHexDigit(code);\n}\nfunction isNamedEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiLetter(code);\n}\nfunction isExpansionCaseStart(peek) {\n return peek !== $RBRACE;\n}\nfunction compareCharCodeCaseInsensitive(code1, code2) {\n return toUpperCaseCharCode(code1) == toUpperCaseCharCode(code2);\n}\nfunction toUpperCaseCharCode(code) {\n return code >= $a && code <= $z ? code - $a + $A : code;\n}\nfunction mergeTextTokens(srcTokens) {\n const dstTokens = [];\n let lastDstToken = undefined;\n for (let i = 0; i < srcTokens.length; i++) {\n const token = srcTokens[i];\n if (lastDstToken && lastDstToken.type == TokenType.TEXT && token.type == TokenType.TEXT) {\n lastDstToken.parts[0] += token.parts[0];\n lastDstToken.sourceSpan.end = token.sourceSpan.end;\n }\n else {\n lastDstToken = token;\n dstTokens.push(lastDstToken);\n }\n }\n return dstTokens;\n}\nclass PlainCharacterCursor {\n constructor(fileOrCursor, range) {\n if (fileOrCursor instanceof PlainCharacterCursor) {\n this.file = fileOrCursor.file;\n this.input = fileOrCursor.input;\n this.end = fileOrCursor.end;\n const state = fileOrCursor.state;\n // Note: avoid using `{...fileOrCursor.state}` here as that has a severe performance penalty.\n // In ES5 bundles the object spread operator is translated into the `__assign` helper, which\n // is not optimized by VMs as efficiently as a raw object literal. Since this constructor is\n // called in tight loops, this difference matters.\n this.state = {\n peek: state.peek,\n offset: state.offset,\n line: state.line,\n column: state.column,\n };\n }\n else {\n if (!range) {\n throw new Error('Programming error: the range argument must be provided with a file argument.');\n }\n this.file = fileOrCursor;\n this.input = fileOrCursor.content;\n this.end = range.endPos;\n this.state = {\n peek: -1,\n offset: range.startPos,\n line: range.startLine,\n column: range.startCol,\n };\n }\n }\n clone() {\n return new PlainCharacterCursor(this);\n }\n peek() {\n return this.state.peek;\n }\n charsLeft() {\n return this.end - this.state.offset;\n }\n diff(other) {\n return this.state.offset - other.state.offset;\n }\n advance() {\n this.advanceState(this.state);\n }\n init() {\n this.updatePeek(this.state);\n }\n getSpan(start, leadingTriviaCodePoints) {\n start = start || this;\n let fullStart = start;\n if (leadingTriviaCodePoints) {\n while (this.diff(start) > 0 && leadingTriviaCodePoints.indexOf(start.peek()) !== -1) {\n if (fullStart === start) {\n start = start.clone();\n }\n start.advance();\n }\n }\n const startLocation = this.locationFromCursor(start);\n const endLocation = this.locationFromCursor(this);\n const fullStartLocation = fullStart !== start ? this.locationFromCursor(fullStart) : startLocation;\n return new ParseSourceSpan(startLocation, endLocation, fullStartLocation);\n }\n getChars(start) {\n return this.input.substring(start.state.offset, this.state.offset);\n }\n charAt(pos) {\n return this.input.charCodeAt(pos);\n }\n advanceState(state) {\n if (state.offset >= this.end) {\n this.state = state;\n throw new CursorError('Unexpected character \"EOF\"', this);\n }\n const currentChar = this.charAt(state.offset);\n if (currentChar === $LF) {\n state.line++;\n state.column = 0;\n }\n else if (!isNewLine(currentChar)) {\n state.column++;\n }\n state.offset++;\n this.updatePeek(state);\n }\n updatePeek(state) {\n state.peek = state.offset >= this.end ? $EOF : this.charAt(state.offset);\n }\n locationFromCursor(cursor) {\n return new ParseLocation(cursor.file, cursor.state.offset, cursor.state.line, cursor.state.column);\n }\n}\nclass EscapedCharacterCursor extends PlainCharacterCursor {\n constructor(fileOrCursor, range) {\n if (fileOrCursor instanceof EscapedCharacterCursor) {\n super(fileOrCursor);\n this.internalState = Object.assign({}, fileOrCursor.internalState);\n }\n else {\n super(fileOrCursor, range);\n this.internalState = this.state;\n }\n }\n advance() {\n this.state = this.internalState;\n super.advance();\n this.processEscapeSequence();\n }\n init() {\n super.init();\n this.processEscapeSequence();\n }\n clone() {\n return new EscapedCharacterCursor(this);\n }\n getChars(start) {\n const cursor = start.clone();\n let chars = '';\n while (cursor.internalState.offset < this.internalState.offset) {\n chars += String.fromCodePoint(cursor.peek());\n cursor.advance();\n }\n return chars;\n }\n /**\n * Process the escape sequence that starts at the current position in the text.\n *\n * This method is called to ensure that `peek` has the unescaped value of escape sequences.\n */\n processEscapeSequence() {\n const peek = () => this.internalState.peek;\n if (peek() === $BACKSLASH) {\n // We have hit an escape sequence so we need the internal state to become independent\n // of the external state.\n this.internalState = Object.assign({}, this.state);\n // Move past the backslash\n this.advanceState(this.internalState);\n // First check for standard control char sequences\n if (peek() === $n) {\n this.state.peek = $LF;\n }\n else if (peek() === $r) {\n this.state.peek = $CR;\n }\n else if (peek() === $v) {\n this.state.peek = $VTAB;\n }\n else if (peek() === $t) {\n this.state.peek = $TAB;\n }\n else if (peek() === $b) {\n this.state.peek = $BSPACE;\n }\n else if (peek() === $f) {\n this.state.peek = $FF;\n }\n // Now consider more complex sequences\n else if (peek() === $u) {\n // Unicode code-point sequence\n this.advanceState(this.internalState); // advance past the `u` char\n if (peek() === $LBRACE) {\n // Variable length Unicode, e.g. `\\x{123}`\n this.advanceState(this.internalState); // advance past the `{` char\n // Advance past the variable number of hex digits until we hit a `}` char\n const digitStart = this.clone();\n let length = 0;\n while (peek() !== $RBRACE) {\n this.advanceState(this.internalState);\n length++;\n }\n this.state.peek = this.decodeHexDigits(digitStart, length);\n }\n else {\n // Fixed length Unicode, e.g. `\\u1234`\n const digitStart = this.clone();\n this.advanceState(this.internalState);\n this.advanceState(this.internalState);\n this.advanceState(this.internalState);\n this.state.peek = this.decodeHexDigits(digitStart, 4);\n }\n }\n else if (peek() === $x) {\n // Hex char code, e.g. `\\x2F`\n this.advanceState(this.internalState); // advance past the `x` char\n const digitStart = this.clone();\n this.advanceState(this.internalState);\n this.state.peek = this.decodeHexDigits(digitStart, 2);\n }\n else if (isOctalDigit(peek())) {\n // Octal char code, e.g. `\\012`,\n let octal = '';\n let length = 0;\n let previous = this.clone();\n while (isOctalDigit(peek()) && length < 3) {\n previous = this.clone();\n octal += String.fromCodePoint(peek());\n this.advanceState(this.internalState);\n length++;\n }\n this.state.peek = parseInt(octal, 8);\n // Backup one char\n this.internalState = previous.internalState;\n }\n else if (isNewLine(this.internalState.peek)) {\n // Line continuation `\\` followed by a new line\n this.advanceState(this.internalState); // advance over the newline\n this.state = this.internalState;\n }\n else {\n // If none of the `if` blocks were executed then we just have an escaped normal character.\n // In that case we just, effectively, skip the backslash from the character.\n this.state.peek = this.internalState.peek;\n }\n }\n }\n decodeHexDigits(start, length) {\n const hex = this.input.substr(start.internalState.offset, length);\n const charCode = parseInt(hex, 16);\n if (!isNaN(charCode)) {\n return charCode;\n }\n else {\n start.state = start.internalState;\n throw new CursorError('Invalid hexadecimal escape sequence', start);\n }\n }\n}\nclass CursorError {\n constructor(msg, cursor) {\n this.msg = msg;\n this.cursor = cursor;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass TreeError extends ParseError {\n constructor(elementName, span, msg) {\n super(span, msg);\n this.elementName = elementName;\n }\n static create(elementName, span, msg) {\n return new TreeError(elementName, span, msg);\n }\n}\nclass ParseTreeResult {\n constructor(rootNodes, errors) {\n this.rootNodes = rootNodes;\n this.errors = errors;\n }\n}\nclass Parser {\n constructor(getTagDefinition) {\n this.getTagDefinition = getTagDefinition;\n }\n parse(source, url, options) {\n const tokenizeResult = tokenize(source, url, this.getTagDefinition, options);\n const parser = new _TreeBuilder(tokenizeResult.tokens, this.getTagDefinition);\n parser.build();\n return new ParseTreeResult(parser.rootNodes, tokenizeResult.errors.concat(parser.errors));\n }\n}\nclass _TreeBuilder {\n constructor(tokens, getTagDefinition) {\n this.tokens = tokens;\n this.getTagDefinition = getTagDefinition;\n this._index = -1;\n this._elementStack = [];\n this.rootNodes = [];\n this.errors = [];\n this._advance();\n }\n build() {\n while (this._peek.type !== TokenType.EOF) {\n if (this._peek.type === TokenType.TAG_OPEN_START ||\n this._peek.type === TokenType.INCOMPLETE_TAG_OPEN) {\n this._consumeStartTag(this._advance());\n }\n else if (this._peek.type === TokenType.TAG_CLOSE) {\n this._consumeEndTag(this._advance());\n }\n else if (this._peek.type === TokenType.CDATA_START) {\n this._closeVoidElement();\n this._consumeCdata(this._advance());\n }\n else if (this._peek.type === TokenType.COMMENT_START) {\n this._closeVoidElement();\n this._consumeComment(this._advance());\n }\n else if (this._peek.type === TokenType.TEXT || this._peek.type === TokenType.RAW_TEXT ||\n this._peek.type === TokenType.ESCAPABLE_RAW_TEXT) {\n this._closeVoidElement();\n this._consumeText(this._advance());\n }\n else if (this._peek.type === TokenType.EXPANSION_FORM_START) {\n this._consumeExpansion(this._advance());\n }\n else {\n // Skip all other tokens...\n this._advance();\n }\n }\n }\n _advance() {\n const prev = this._peek;\n if (this._index < this.tokens.length - 1) {\n // Note: there is always an EOF token at the end\n this._index++;\n }\n this._peek = this.tokens[this._index];\n return prev;\n }\n _advanceIf(type) {\n if (this._peek.type === type) {\n return this._advance();\n }\n return null;\n }\n _consumeCdata(_startToken) {\n this._consumeText(this._advance());\n this._advanceIf(TokenType.CDATA_END);\n }\n _consumeComment(token) {\n const text = this._advanceIf(TokenType.RAW_TEXT);\n this._advanceIf(TokenType.COMMENT_END);\n const value = text != null ? text.parts[0].trim() : null;\n this._addToParent(new Comment(value, token.sourceSpan));\n }\n _consumeExpansion(token) {\n const switchValue = this._advance();\n const type = this._advance();\n const cases = [];\n // read =\n while (this._peek.type === TokenType.EXPANSION_CASE_VALUE) {\n const expCase = this._parseExpansionCase();\n if (!expCase)\n return; // error\n cases.push(expCase);\n }\n // read the final }\n if (this._peek.type !== TokenType.EXPANSION_FORM_END) {\n this.errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return;\n }\n const sourceSpan = new ParseSourceSpan(token.sourceSpan.start, this._peek.sourceSpan.end, token.sourceSpan.fullStart);\n this._addToParent(new Expansion(switchValue.parts[0], type.parts[0], cases, sourceSpan, switchValue.sourceSpan));\n this._advance();\n }\n _parseExpansionCase() {\n const value = this._advance();\n // read {\n if (this._peek.type !== TokenType.EXPANSION_CASE_EXP_START) {\n this.errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '{'.`));\n return null;\n }\n // read until }\n const start = this._advance();\n const exp = this._collectExpansionExpTokens(start);\n if (!exp)\n return null;\n const end = this._advance();\n exp.push(new Token(TokenType.EOF, [], end.sourceSpan));\n // parse everything in between { and }\n const expansionCaseParser = new _TreeBuilder(exp, this.getTagDefinition);\n expansionCaseParser.build();\n if (expansionCaseParser.errors.length > 0) {\n this.errors = this.errors.concat(expansionCaseParser.errors);\n return null;\n }\n const sourceSpan = new ParseSourceSpan(value.sourceSpan.start, end.sourceSpan.end, value.sourceSpan.fullStart);\n const expSourceSpan = new ParseSourceSpan(start.sourceSpan.start, end.sourceSpan.end, start.sourceSpan.fullStart);\n return new ExpansionCase(value.parts[0], expansionCaseParser.rootNodes, sourceSpan, value.sourceSpan, expSourceSpan);\n }\n _collectExpansionExpTokens(start) {\n const exp = [];\n const expansionFormStack = [TokenType.EXPANSION_CASE_EXP_START];\n while (true) {\n if (this._peek.type === TokenType.EXPANSION_FORM_START ||\n this._peek.type === TokenType.EXPANSION_CASE_EXP_START) {\n expansionFormStack.push(this._peek.type);\n }\n if (this._peek.type === TokenType.EXPANSION_CASE_EXP_END) {\n if (lastOnStack(expansionFormStack, TokenType.EXPANSION_CASE_EXP_START)) {\n expansionFormStack.pop();\n if (expansionFormStack.length == 0)\n return exp;\n }\n else {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n }\n if (this._peek.type === TokenType.EXPANSION_FORM_END) {\n if (lastOnStack(expansionFormStack, TokenType.EXPANSION_FORM_START)) {\n expansionFormStack.pop();\n }\n else {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n }\n if (this._peek.type === TokenType.EOF) {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n exp.push(this._advance());\n }\n }\n _consumeText(token) {\n let text = token.parts[0];\n if (text.length > 0 && text[0] == '\\n') {\n const parent = this._getParentElement();\n if (parent != null && parent.children.length == 0 &&\n this.getTagDefinition(parent.name).ignoreFirstLf) {\n text = text.substring(1);\n }\n }\n if (text.length > 0) {\n this._addToParent(new Text$3(text, token.sourceSpan));\n }\n }\n _closeVoidElement() {\n const el = this._getParentElement();\n if (el && this.getTagDefinition(el.name).isVoid) {\n this._elementStack.pop();\n }\n }\n _consumeStartTag(startTagToken) {\n const [prefix, name] = startTagToken.parts;\n const attrs = [];\n while (this._peek.type === TokenType.ATTR_NAME) {\n attrs.push(this._consumeAttr(this._advance()));\n }\n const fullName = this._getElementFullName(prefix, name, this._getParentElement());\n let selfClosing = false;\n // Note: There could have been a tokenizer error\n // so that we don't get a token for the end tag...\n if (this._peek.type === TokenType.TAG_OPEN_END_VOID) {\n this._advance();\n selfClosing = true;\n const tagDef = this.getTagDefinition(fullName);\n if (!(tagDef.canSelfClose || getNsPrefix(fullName) !== null || tagDef.isVoid)) {\n this.errors.push(TreeError.create(fullName, startTagToken.sourceSpan, `Only void and foreign elements can be self closed \"${startTagToken.parts[1]}\"`));\n }\n }\n else if (this._peek.type === TokenType.TAG_OPEN_END) {\n this._advance();\n selfClosing = false;\n }\n const end = this._peek.sourceSpan.start;\n const span = new ParseSourceSpan(startTagToken.sourceSpan.start, end, startTagToken.sourceSpan.fullStart);\n // Create a separate `startSpan` because `span` will be modified when there is an `end` span.\n const startSpan = new ParseSourceSpan(startTagToken.sourceSpan.start, end, startTagToken.sourceSpan.fullStart);\n const el = new Element$1(fullName, attrs, [], span, startSpan, undefined);\n this._pushElement(el);\n if (selfClosing) {\n // Elements that are self-closed have their `endSourceSpan` set to the full span, as the\n // element start tag also represents the end tag.\n this._popElement(fullName, span);\n }\n else if (startTagToken.type === TokenType.INCOMPLETE_TAG_OPEN) {\n // We already know the opening tag is not complete, so it is unlikely it has a corresponding\n // close tag. Let's optimistically parse it as a full element and emit an error.\n this._popElement(fullName, null);\n this.errors.push(TreeError.create(fullName, span, `Opening tag \"${fullName}\" not terminated.`));\n }\n }\n _pushElement(el) {\n const parentEl = this._getParentElement();\n if (parentEl && this.getTagDefinition(parentEl.name).isClosedByChild(el.name)) {\n this._elementStack.pop();\n }\n this._addToParent(el);\n this._elementStack.push(el);\n }\n _consumeEndTag(endTagToken) {\n const fullName = this._getElementFullName(endTagToken.parts[0], endTagToken.parts[1], this._getParentElement());\n if (this.getTagDefinition(fullName).isVoid) {\n this.errors.push(TreeError.create(fullName, endTagToken.sourceSpan, `Void elements do not have end tags \"${endTagToken.parts[1]}\"`));\n }\n else if (!this._popElement(fullName, endTagToken.sourceSpan)) {\n const errMsg = `Unexpected closing tag \"${fullName}\". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;\n this.errors.push(TreeError.create(fullName, endTagToken.sourceSpan, errMsg));\n }\n }\n /**\n * Closes the nearest element with the tag name `fullName` in the parse tree.\n * `endSourceSpan` is the span of the closing tag, or null if the element does\n * not have a closing tag (for example, this happens when an incomplete\n * opening tag is recovered).\n */\n _popElement(fullName, endSourceSpan) {\n for (let stackIndex = this._elementStack.length - 1; stackIndex >= 0; stackIndex--) {\n const el = this._elementStack[stackIndex];\n if (el.name == fullName) {\n // Record the parse span with the element that is being closed. Any elements that are\n // removed from the element stack at this point are closed implicitly, so they won't get\n // an end source span (as there is no explicit closing element).\n el.endSourceSpan = endSourceSpan;\n el.sourceSpan.end = endSourceSpan !== null ? endSourceSpan.end : el.sourceSpan.end;\n this._elementStack.splice(stackIndex, this._elementStack.length - stackIndex);\n return true;\n }\n if (!this.getTagDefinition(el.name).closedByParent) {\n return false;\n }\n }\n return false;\n }\n _consumeAttr(attrName) {\n const fullName = mergeNsAndName(attrName.parts[0], attrName.parts[1]);\n let end = attrName.sourceSpan.end;\n let value = '';\n let valueSpan = undefined;\n if (this._peek.type === TokenType.ATTR_QUOTE) {\n this._advance();\n }\n if (this._peek.type === TokenType.ATTR_VALUE) {\n const valueToken = this._advance();\n value = valueToken.parts[0];\n end = valueToken.sourceSpan.end;\n valueSpan = valueToken.sourceSpan;\n }\n if (this._peek.type === TokenType.ATTR_QUOTE) {\n const quoteToken = this._advance();\n end = quoteToken.sourceSpan.end;\n }\n return new Attribute(fullName, value, new ParseSourceSpan(attrName.sourceSpan.start, end, attrName.sourceSpan.fullStart), valueSpan);\n }\n _getParentElement() {\n return this._elementStack.length > 0 ? this._elementStack[this._elementStack.length - 1] : null;\n }\n _addToParent(node) {\n const parent = this._getParentElement();\n if (parent != null) {\n parent.children.push(node);\n }\n else {\n this.rootNodes.push(node);\n }\n }\n _getElementFullName(prefix, localName, parentElement) {\n if (prefix === '') {\n prefix = this.getTagDefinition(localName).implicitNamespacePrefix || '';\n if (prefix === '' && parentElement != null) {\n const parentTagName = splitNsName(parentElement.name)[1];\n const parentTagDefinition = this.getTagDefinition(parentTagName);\n if (!parentTagDefinition.preventNamespaceInheritance) {\n prefix = getNsPrefix(parentElement.name);\n }\n }\n }\n return mergeNsAndName(prefix, localName);\n }\n}\nfunction lastOnStack(stack, element) {\n return stack.length > 0 && stack[stack.length - 1] === element;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass HtmlParser extends Parser {\n constructor() {\n super(getHtmlTagDefinition);\n }\n parse(source, url, options) {\n return super.parse(source, url, options);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PRESERVE_WS_ATTR_NAME = 'ngPreserveWhitespaces';\nconst SKIP_WS_TRIM_TAGS = new Set(['pre', 'template', 'textarea', 'script', 'style']);\n// Equivalent to \\s with \\u00a0 (non-breaking space) excluded.\n// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\nconst WS_CHARS = ' \\f\\n\\r\\t\\v\\u1680\\u180e\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff';\nconst NO_WS_REGEXP = new RegExp(`[^${WS_CHARS}]`);\nconst WS_REPLACE_REGEXP = new RegExp(`[${WS_CHARS}]{2,}`, 'g');\nfunction hasPreserveWhitespacesAttr(attrs) {\n return attrs.some((attr) => attr.name === PRESERVE_WS_ATTR_NAME);\n}\n/**\n * Angular Dart introduced &ngsp; as a placeholder for non-removable space, see:\n * https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart#L25-L32\n * In Angular Dart &ngsp; is converted to the 0xE500 PUA (Private Use Areas) unicode character\n * and later on replaced by a space. We are re-implementing the same idea here.\n */\nfunction replaceNgsp(value) {\n // lexer is replacing the &ngsp; pseudo-entity with NGSP_UNICODE\n return value.replace(new RegExp(NGSP_UNICODE, 'g'), ' ');\n}\n/**\n * This visitor can walk HTML parse tree and remove / trim text nodes using the following rules:\n * - consider spaces, tabs and new lines as whitespace characters;\n * - drop text nodes consisting of whitespace characters only;\n * - for all other text nodes replace consecutive whitespace characters with one space;\n * - convert &ngsp; pseudo-entity to a single space;\n *\n * Removal and trimming of whitespaces have positive performance impact (less code to generate\n * while compiling templates, faster view creation). At the same time it can be \"destructive\"\n * in some cases (whitespaces can influence layout). Because of the potential of breaking layout\n * this visitor is not activated by default in Angular 5 and people need to explicitly opt-in for\n * whitespace removal. The default option for whitespace removal will be revisited in Angular 6\n * and might be changed to \"on\" by default.\n */\nclass WhitespaceVisitor {\n visitElement(element, context) {\n if (SKIP_WS_TRIM_TAGS.has(element.name) || hasPreserveWhitespacesAttr(element.attrs)) {\n // don't descent into elements where we need to preserve whitespaces\n // but still visit all attributes to eliminate one used as a market to preserve WS\n return new Element$1(element.name, visitAll$1(this, element.attrs), element.children, element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);\n }\n return new Element$1(element.name, element.attrs, visitAllWithSiblings(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);\n }\n visitAttribute(attribute, context) {\n return attribute.name !== PRESERVE_WS_ATTR_NAME ? attribute : null;\n }\n visitText(text, context) {\n const isNotBlank = text.value.match(NO_WS_REGEXP);\n const hasExpansionSibling = context &&\n (context.prev instanceof Expansion || context.next instanceof Expansion);\n if (isNotBlank || hasExpansionSibling) {\n return new Text$3(replaceNgsp(text.value).replace(WS_REPLACE_REGEXP, ' '), text.sourceSpan, text.i18n);\n }\n return null;\n }\n visitComment(comment, context) {\n return comment;\n }\n visitExpansion(expansion, context) {\n return expansion;\n }\n visitExpansionCase(expansionCase, context) {\n return expansionCase;\n }\n}\nfunction removeWhitespaces(htmlAstWithErrors) {\n return new ParseTreeResult(visitAll$1(new WhitespaceVisitor(), htmlAstWithErrors.rootNodes), htmlAstWithErrors.errors);\n}\nfunction visitAllWithSiblings(visitor, nodes) {\n const result = [];\n nodes.forEach((ast, i) => {\n const context = { prev: nodes[i - 1], next: nodes[i + 1] };\n const astResult = ast.visit(visitor, context);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// http://cldr.unicode.org/index/cldr-spec/plural-rules\nconst PLURAL_CASES = ['zero', 'one', 'two', 'few', 'many', 'other'];\n/**\n * Expands special forms into elements.\n *\n * For example,\n *\n * ```\n * { messages.length, plural,\n * =0 {zero}\n * =1 {one}\n * other {more than one}\n * }\n * ```\n *\n * will be expanded into\n *\n * ```\n * \n * zero\n * one\n * more than one\n * \n * ```\n */\nfunction expandNodes(nodes) {\n const expander = new _Expander();\n return new ExpansionResult(visitAll$1(expander, nodes), expander.isExpanded, expander.errors);\n}\nclass ExpansionResult {\n constructor(nodes, expanded, errors) {\n this.nodes = nodes;\n this.expanded = expanded;\n this.errors = errors;\n }\n}\nclass ExpansionError extends ParseError {\n constructor(span, errorMsg) {\n super(span, errorMsg);\n }\n}\n/**\n * Expand expansion forms (plural, select) to directives\n *\n * @internal\n */\nclass _Expander {\n constructor() {\n this.isExpanded = false;\n this.errors = [];\n }\n visitElement(element, context) {\n return new Element$1(element.name, element.attrs, visitAll$1(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n visitAttribute(attribute, context) {\n return attribute;\n }\n visitText(text, context) {\n return text;\n }\n visitComment(comment, context) {\n return comment;\n }\n visitExpansion(icu, context) {\n this.isExpanded = true;\n return icu.type == 'plural' ? _expandPluralForm(icu, this.errors) :\n _expandDefaultForm(icu, this.errors);\n }\n visitExpansionCase(icuCase, context) {\n throw new Error('Should not be reached');\n }\n}\n// Plural forms are expanded to `NgPlural` and `NgPluralCase`s\nfunction _expandPluralForm(ast, errors) {\n const children = ast.cases.map(c => {\n if (PLURAL_CASES.indexOf(c.value) == -1 && !c.value.match(/^=\\d+$/)) {\n errors.push(new ExpansionError(c.valueSourceSpan, `Plural cases should be \"=\" or one of ${PLURAL_CASES.join(', ')}`));\n }\n const expansionResult = expandNodes(c.expression);\n errors.push(...expansionResult.errors);\n return new Element$1(`ng-template`, [new Attribute('ngPluralCase', `${c.value}`, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n const switchAttr = new Attribute('[ngPlural]', ast.switchValue, ast.switchValueSourceSpan);\n return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n}\n// ICU messages (excluding plural form) are expanded to `NgSwitch` and `NgSwitchCase`s\nfunction _expandDefaultForm(ast, errors) {\n const children = ast.cases.map(c => {\n const expansionResult = expandNodes(c.expression);\n errors.push(...expansionResult.errors);\n if (c.value === 'other') {\n // other is the default case when no values match\n return new Element$1(`ng-template`, [new Attribute('ngSwitchDefault', '', c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n }\n return new Element$1(`ng-template`, [new Attribute('ngSwitchCase', `${c.value}`, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n const switchAttr = new Attribute('[ngSwitch]', ast.switchValue, ast.switchValueSourceSpan);\n return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A segment of text within the template.\n */\nclass TextAst {\n constructor(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\n/**\n * A bound expression within the text of a template.\n */\nclass BoundTextAst {\n constructor(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitBoundText(this, context);\n }\n}\n/**\n * A plain attribute on an element.\n */\nclass AttrAst {\n constructor(name, value, sourceSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitAttr(this, context);\n }\n}\nconst BoundPropertyMapping = {\n [4 /* Animation */]: 4 /* Animation */,\n [1 /* Attribute */]: 1 /* Attribute */,\n [2 /* Class */]: 2 /* Class */,\n [0 /* Property */]: 0 /* Property */,\n [3 /* Style */]: 3 /* Style */,\n};\n/**\n * A binding for an element property (e.g. `[property]=\"expression\"`) or an animation trigger (e.g.\n * `[@trigger]=\"stateExp\"`)\n */\nclass BoundElementPropertyAst {\n constructor(name, type, securityContext, value, unit, sourceSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.isAnimation = this.type === 4 /* Animation */;\n }\n static fromBoundProperty(prop) {\n const type = BoundPropertyMapping[prop.type];\n return new BoundElementPropertyAst(prop.name, type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan);\n }\n visit(visitor, context) {\n return visitor.visitElementProperty(this, context);\n }\n}\n/**\n * A binding for an element event (e.g. `(event)=\"handler()\"`) or an animation trigger event (e.g.\n * `(@trigger.phase)=\"callback($event)\"`).\n */\nclass BoundEventAst {\n constructor(name, target, phase, handler, sourceSpan, handlerSpan) {\n this.name = name;\n this.target = target;\n this.phase = phase;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n this.fullName = BoundEventAst.calcFullName(this.name, this.target, this.phase);\n this.isAnimation = !!this.phase;\n }\n static calcFullName(name, target, phase) {\n if (target) {\n return `${target}:${name}`;\n }\n if (phase) {\n return `@${name}.${phase}`;\n }\n return name;\n }\n static fromParsedEvent(event) {\n const target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;\n const phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;\n return new BoundEventAst(event.name, target, phase, event.handler, event.sourceSpan, event.handlerSpan);\n }\n visit(visitor, context) {\n return visitor.visitEvent(this, context);\n }\n}\n/**\n * A reference declaration on an element (e.g. `let someName=\"expression\"`).\n */\nclass ReferenceAst {\n constructor(name, value, originalValue, sourceSpan) {\n this.name = name;\n this.value = value;\n this.originalValue = originalValue;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitReference(this, context);\n }\n}\n/**\n * A variable declaration on a (e.g. `var-someName=\"someLocalName\"`).\n */\nclass VariableAst {\n constructor(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n static fromParsedVariable(v) {\n return new VariableAst(v.name, v.value, v.sourceSpan, v.valueSpan);\n }\n visit(visitor, context) {\n return visitor.visitVariable(this, context);\n }\n}\n/**\n * An element declaration in a template.\n */\nclass ElementAst {\n constructor(name, attrs, inputs, outputs, references, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan, endSourceSpan) {\n this.name = name;\n this.attrs = attrs;\n this.inputs = inputs;\n this.outputs = outputs;\n this.references = references;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.queryMatches = queryMatches;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitElement(this, context);\n }\n}\n/**\n * A `` element included in an Angular template.\n */\nclass EmbeddedTemplateAst {\n constructor(attrs, outputs, references, variables, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan) {\n this.attrs = attrs;\n this.outputs = outputs;\n this.references = references;\n this.variables = variables;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.queryMatches = queryMatches;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitEmbeddedTemplate(this, context);\n }\n}\n/**\n * A directive property with a bound value (e.g. `*ngIf=\"condition\").\n */\nclass BoundDirectivePropertyAst {\n constructor(directiveName, templateName, value, sourceSpan) {\n this.directiveName = directiveName;\n this.templateName = templateName;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitDirectiveProperty(this, context);\n }\n}\n/**\n * A directive declared on an element.\n */\nclass DirectiveAst {\n constructor(directive, inputs, hostProperties, hostEvents, contentQueryStartId, sourceSpan) {\n this.directive = directive;\n this.inputs = inputs;\n this.hostProperties = hostProperties;\n this.hostEvents = hostEvents;\n this.contentQueryStartId = contentQueryStartId;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitDirective(this, context);\n }\n}\n/**\n * A provider declared on an element\n */\nclass ProviderAst {\n constructor(token, multiProvider, eager, providers, providerType, lifecycleHooks, sourceSpan, isModule) {\n this.token = token;\n this.multiProvider = multiProvider;\n this.eager = eager;\n this.providers = providers;\n this.providerType = providerType;\n this.lifecycleHooks = lifecycleHooks;\n this.sourceSpan = sourceSpan;\n this.isModule = isModule;\n }\n visit(visitor, context) {\n // No visit method in the visitor for now...\n return null;\n }\n}\nvar ProviderAstType;\n(function (ProviderAstType) {\n ProviderAstType[ProviderAstType[\"PublicService\"] = 0] = \"PublicService\";\n ProviderAstType[ProviderAstType[\"PrivateService\"] = 1] = \"PrivateService\";\n ProviderAstType[ProviderAstType[\"Component\"] = 2] = \"Component\";\n ProviderAstType[ProviderAstType[\"Directive\"] = 3] = \"Directive\";\n ProviderAstType[ProviderAstType[\"Builtin\"] = 4] = \"Builtin\";\n})(ProviderAstType || (ProviderAstType = {}));\n/**\n * Position where content is to be projected (instance of `` in a template).\n */\nclass NgContentAst {\n constructor(index, ngContentIndex, sourceSpan) {\n this.index = index;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitNgContent(this, context);\n }\n}\n/**\n * A visitor that accepts each node but doesn't do anything. It is intended to be used\n * as the base class for a visitor that is only interested in a subset of the node types.\n */\nclass NullTemplateVisitor {\n visitNgContent(ast, context) { }\n visitEmbeddedTemplate(ast, context) { }\n visitElement(ast, context) { }\n visitReference(ast, context) { }\n visitVariable(ast, context) { }\n visitEvent(ast, context) { }\n visitElementProperty(ast, context) { }\n visitAttr(ast, context) { }\n visitBoundText(ast, context) { }\n visitText(ast, context) { }\n visitDirective(ast, context) { }\n visitDirectiveProperty(ast, context) { }\n}\n/**\n * Base class that can be used to build a visitor that visits each node\n * in an template ast recursively.\n */\nclass RecursiveTemplateAstVisitor extends NullTemplateVisitor {\n constructor() {\n super();\n }\n // Nodes with children\n visitEmbeddedTemplate(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.references);\n visit(ast.variables);\n visit(ast.directives);\n visit(ast.providers);\n visit(ast.children);\n });\n }\n visitElement(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.inputs);\n visit(ast.outputs);\n visit(ast.references);\n visit(ast.directives);\n visit(ast.providers);\n visit(ast.children);\n });\n }\n visitDirective(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.inputs);\n visit(ast.hostProperties);\n visit(ast.hostEvents);\n });\n }\n visitChildren(context, cb) {\n let results = [];\n let t = this;\n function visit(children) {\n if (children && children.length)\n results.push(templateVisitAll(t, children, context));\n }\n cb(visit);\n return Array.prototype.concat.apply([], results);\n }\n}\n/**\n * Visit every node in a list of {@link TemplateAst}s with the given {@link TemplateAstVisitor}.\n */\nfunction templateVisitAll(visitor, asts, context = null) {\n const result = [];\n const visit = visitor.visit ?\n (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :\n (ast) => ast.visit(visitor, context);\n asts.forEach(ast => {\n const astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ProviderError extends ParseError {\n constructor(message, span) {\n super(span, message);\n }\n}\nclass ProviderViewContext {\n constructor(reflector, component) {\n this.reflector = reflector;\n this.component = component;\n this.errors = [];\n this.viewQueries = _getViewQueries(component);\n this.viewProviders = new Map();\n component.viewProviders.forEach((provider) => {\n if (this.viewProviders.get(tokenReference(provider.token)) == null) {\n this.viewProviders.set(tokenReference(provider.token), true);\n }\n });\n }\n}\nclass ProviderElementContext {\n constructor(viewContext, _parent, _isViewRoot, _directiveAsts, attrs, refs, isTemplate, contentQueryStartId, _sourceSpan) {\n this.viewContext = viewContext;\n this._parent = _parent;\n this._isViewRoot = _isViewRoot;\n this._directiveAsts = _directiveAsts;\n this._sourceSpan = _sourceSpan;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._queriedTokens = new Map();\n this.transformedHasViewContainer = false;\n this._attrs = {};\n attrs.forEach((attrAst) => this._attrs[attrAst.name] = attrAst.value);\n const directivesMeta = _directiveAsts.map(directiveAst => directiveAst.directive);\n this._allProviders =\n _resolveProvidersFromDirectives(directivesMeta, _sourceSpan, viewContext.errors);\n this._contentQueries = _getContentQueries(contentQueryStartId, directivesMeta);\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._addQueryReadsTo(provider.token, provider.token, this._queriedTokens);\n });\n if (isTemplate) {\n const templateRefId = createTokenForExternalReference(this.viewContext.reflector, Identifiers.TemplateRef);\n this._addQueryReadsTo(templateRefId, templateRefId, this._queriedTokens);\n }\n refs.forEach((refAst) => {\n let defaultQueryValue = refAst.value ||\n createTokenForExternalReference(this.viewContext.reflector, Identifiers.ElementRef);\n this._addQueryReadsTo({ value: refAst.name }, defaultQueryValue, this._queriedTokens);\n });\n if (this._queriedTokens.get(this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef))) {\n this.transformedHasViewContainer = true;\n }\n // create the providers that we know are eager first\n Array.from(this._allProviders.values()).forEach((provider) => {\n const eager = provider.eager || this._queriedTokens.get(tokenReference(provider.token));\n if (eager) {\n this._getOrCreateLocalProvider(provider.providerType, provider.token, true);\n }\n });\n }\n afterElement() {\n // collect lazy providers\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._getOrCreateLocalProvider(provider.providerType, provider.token, false);\n });\n }\n get transformProviders() {\n // Note: Maps keep their insertion order.\n const lazyProviders = [];\n const eagerProviders = [];\n this._transformedProviders.forEach(provider => {\n if (provider.eager) {\n eagerProviders.push(provider);\n }\n else {\n lazyProviders.push(provider);\n }\n });\n return lazyProviders.concat(eagerProviders);\n }\n get transformedDirectiveAsts() {\n const sortedProviderTypes = this.transformProviders.map(provider => provider.token.identifier);\n const sortedDirectives = this._directiveAsts.slice();\n sortedDirectives.sort((dir1, dir2) => sortedProviderTypes.indexOf(dir1.directive.type) -\n sortedProviderTypes.indexOf(dir2.directive.type));\n return sortedDirectives;\n }\n get queryMatches() {\n const allMatches = [];\n this._queriedTokens.forEach((matches) => {\n allMatches.push(...matches);\n });\n return allMatches;\n }\n _addQueryReadsTo(token, defaultValue, queryReadTokens) {\n this._getQueriesFor(token).forEach((query) => {\n const queryValue = query.meta.read || defaultValue;\n const tokenRef = tokenReference(queryValue);\n let queryMatches = queryReadTokens.get(tokenRef);\n if (!queryMatches) {\n queryMatches = [];\n queryReadTokens.set(tokenRef, queryMatches);\n }\n queryMatches.push({ queryId: query.queryId, value: queryValue });\n });\n }\n _getQueriesFor(token) {\n const result = [];\n let currentEl = this;\n let distance = 0;\n let queries;\n while (currentEl !== null) {\n queries = currentEl._contentQueries.get(tokenReference(token));\n if (queries) {\n result.push(...queries.filter((query) => query.meta.descendants || distance <= 1));\n }\n if (currentEl._directiveAsts.length > 0) {\n distance++;\n }\n currentEl = currentEl._parent;\n }\n queries = this.viewContext.viewQueries.get(tokenReference(token));\n if (queries) {\n result.push(...queries);\n }\n return result;\n }\n _getOrCreateLocalProvider(requestingProviderType, token, eager) {\n const resolvedProvider = this._allProviders.get(tokenReference(token));\n if (!resolvedProvider ||\n ((requestingProviderType === ProviderAstType.Directive ||\n requestingProviderType === ProviderAstType.PublicService) &&\n resolvedProvider.providerType === ProviderAstType.PrivateService) ||\n ((requestingProviderType === ProviderAstType.PrivateService ||\n requestingProviderType === ProviderAstType.PublicService) &&\n resolvedProvider.providerType === ProviderAstType.Builtin)) {\n return null;\n }\n let transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n if (transformedProviderAst) {\n return transformedProviderAst;\n }\n if (this._seenProviders.get(tokenReference(token)) != null) {\n this.viewContext.errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, this._sourceSpan));\n return null;\n }\n this._seenProviders.set(tokenReference(token), true);\n const transformedProviders = resolvedProvider.providers.map((provider) => {\n let transformedUseValue = provider.useValue;\n let transformedUseExisting = provider.useExisting;\n let transformedDeps = undefined;\n if (provider.useExisting != null) {\n const existingDiDep = this._getDependency(resolvedProvider.providerType, { token: provider.useExisting }, eager);\n if (existingDiDep.token != null) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (provider.useFactory) {\n const deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));\n }\n else if (provider.useClass) {\n const deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n return transformedProviderAst;\n }\n _getLocalDependency(requestingProviderType, dep, eager = false) {\n if (dep.isAttribute) {\n const attrValue = this._attrs[dep.token.value];\n return { isValue: true, value: attrValue == null ? null : attrValue };\n }\n if (dep.token != null) {\n // access builtints\n if ((requestingProviderType === ProviderAstType.Directive ||\n requestingProviderType === ProviderAstType.Component)) {\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.Renderer) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ElementRef) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ChangeDetectorRef) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.TemplateRef)) {\n return dep;\n }\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef)) {\n this.transformedHasViewContainer = true;\n }\n }\n // access the injector\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.Injector)) {\n return dep;\n }\n // access providers\n if (this._getOrCreateLocalProvider(requestingProviderType, dep.token, eager) != null) {\n return dep;\n }\n }\n return null;\n }\n _getDependency(requestingProviderType, dep, eager = false) {\n let currElement = this;\n let currEager = eager;\n let result = null;\n if (!dep.isSkipSelf) {\n result = this._getLocalDependency(requestingProviderType, dep, eager);\n }\n if (dep.isSelf) {\n if (!result && dep.isOptional) {\n result = { isValue: true, value: null };\n }\n }\n else {\n // check parent elements\n while (!result && currElement._parent) {\n const prevElement = currElement;\n currElement = currElement._parent;\n if (prevElement._isViewRoot) {\n currEager = false;\n }\n result = currElement._getLocalDependency(ProviderAstType.PublicService, dep, currEager);\n }\n // check @Host restriction\n if (!result) {\n if (!dep.isHost || this.viewContext.component.isHost ||\n this.viewContext.component.type.reference === tokenReference(dep.token) ||\n this.viewContext.viewProviders.get(tokenReference(dep.token)) != null) {\n result = dep;\n }\n else {\n result = dep.isOptional ? { isValue: true, value: null } : null;\n }\n }\n }\n if (!result) {\n this.viewContext.errors.push(new ProviderError(`No provider for ${tokenName(dep.token)}`, this._sourceSpan));\n }\n return result;\n }\n}\nclass NgModuleProviderAnalyzer {\n constructor(reflector, ngModule, extraProviders, sourceSpan) {\n this.reflector = reflector;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._errors = [];\n this._allProviders = new Map();\n ngModule.transitiveModule.modules.forEach((ngModuleType) => {\n const ngModuleProvider = { token: { identifier: ngModuleType }, useClass: ngModuleType };\n _resolveProviders([ngModuleProvider], ProviderAstType.PublicService, true, sourceSpan, this._errors, this._allProviders, /* isModule */ true);\n });\n _resolveProviders(ngModule.transitiveModule.providers.map(entry => entry.provider).concat(extraProviders), ProviderAstType.PublicService, false, sourceSpan, this._errors, this._allProviders, \n /* isModule */ false);\n }\n parse() {\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._getOrCreateLocalProvider(provider.token, provider.eager);\n });\n if (this._errors.length > 0) {\n const errorString = this._errors.join('\\n');\n throw new Error(`Provider parse errors:\\n${errorString}`);\n }\n // Note: Maps keep their insertion order.\n const lazyProviders = [];\n const eagerProviders = [];\n this._transformedProviders.forEach(provider => {\n if (provider.eager) {\n eagerProviders.push(provider);\n }\n else {\n lazyProviders.push(provider);\n }\n });\n return lazyProviders.concat(eagerProviders);\n }\n _getOrCreateLocalProvider(token, eager) {\n const resolvedProvider = this._allProviders.get(tokenReference(token));\n if (!resolvedProvider) {\n return null;\n }\n let transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n if (transformedProviderAst) {\n return transformedProviderAst;\n }\n if (this._seenProviders.get(tokenReference(token)) != null) {\n this._errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, resolvedProvider.sourceSpan));\n return null;\n }\n this._seenProviders.set(tokenReference(token), true);\n const transformedProviders = resolvedProvider.providers.map((provider) => {\n let transformedUseValue = provider.useValue;\n let transformedUseExisting = provider.useExisting;\n let transformedDeps = undefined;\n if (provider.useExisting != null) {\n const existingDiDep = this._getDependency({ token: provider.useExisting }, eager, resolvedProvider.sourceSpan);\n if (existingDiDep.token != null) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (provider.useFactory) {\n const deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));\n }\n else if (provider.useClass) {\n const deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n return transformedProviderAst;\n }\n _getDependency(dep, eager = false, requestorSourceSpan) {\n let foundLocal = false;\n if (!dep.isSkipSelf && dep.token != null) {\n // access the injector\n if (tokenReference(dep.token) ===\n this.reflector.resolveExternalReference(Identifiers.Injector) ||\n tokenReference(dep.token) ===\n this.reflector.resolveExternalReference(Identifiers.ComponentFactoryResolver)) {\n foundLocal = true;\n // access providers\n }\n else if (this._getOrCreateLocalProvider(dep.token, eager) != null) {\n foundLocal = true;\n }\n }\n return dep;\n }\n}\nfunction _transformProvider(provider, { useExisting, useValue, deps }) {\n return {\n token: provider.token,\n useClass: provider.useClass,\n useExisting: useExisting,\n useFactory: provider.useFactory,\n useValue: useValue,\n deps: deps,\n multi: provider.multi\n };\n}\nfunction _transformProviderAst(provider, { eager, providers }) {\n return new ProviderAst(provider.token, provider.multiProvider, provider.eager || eager, providers, provider.providerType, provider.lifecycleHooks, provider.sourceSpan, provider.isModule);\n}\nfunction _resolveProvidersFromDirectives(directives, sourceSpan, targetErrors) {\n const providersByToken = new Map();\n directives.forEach((directive) => {\n const dirProvider = { token: { identifier: directive.type }, useClass: directive.type };\n _resolveProviders([dirProvider], directive.isComponent ? ProviderAstType.Component : ProviderAstType.Directive, true, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n });\n // Note: directives need to be able to overwrite providers of a component!\n const directivesWithComponentFirst = directives.filter(dir => dir.isComponent).concat(directives.filter(dir => !dir.isComponent));\n directivesWithComponentFirst.forEach((directive) => {\n _resolveProviders(directive.providers, ProviderAstType.PublicService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n _resolveProviders(directive.viewProviders, ProviderAstType.PrivateService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n });\n return providersByToken;\n}\nfunction _resolveProviders(providers, providerType, eager, sourceSpan, targetErrors, targetProvidersByToken, isModule) {\n providers.forEach((provider) => {\n let resolvedProvider = targetProvidersByToken.get(tokenReference(provider.token));\n if (resolvedProvider != null && !!resolvedProvider.multiProvider !== !!provider.multi) {\n targetErrors.push(new ProviderError(`Mixing multi and non multi provider is not possible for token ${tokenName(resolvedProvider.token)}`, sourceSpan));\n }\n if (!resolvedProvider) {\n const lifecycleHooks = provider.token.identifier &&\n provider.token.identifier.lifecycleHooks ?\n provider.token.identifier.lifecycleHooks :\n [];\n const isUseValue = !(provider.useClass || provider.useExisting || provider.useFactory);\n resolvedProvider = new ProviderAst(provider.token, !!provider.multi, eager || isUseValue, [provider], providerType, lifecycleHooks, sourceSpan, isModule);\n targetProvidersByToken.set(tokenReference(provider.token), resolvedProvider);\n }\n else {\n if (!provider.multi) {\n resolvedProvider.providers.length = 0;\n }\n resolvedProvider.providers.push(provider);\n }\n });\n}\nfunction _getViewQueries(component) {\n // Note: queries start with id 1 so we can use the number in a Bloom filter!\n let viewQueryId = 1;\n const viewQueries = new Map();\n if (component.viewQueries) {\n component.viewQueries.forEach((query) => _addQueryToTokenMap(viewQueries, { meta: query, queryId: viewQueryId++ }));\n }\n return viewQueries;\n}\nfunction _getContentQueries(contentQueryStartId, directives) {\n let contentQueryId = contentQueryStartId;\n const contentQueries = new Map();\n directives.forEach((directive, directiveIndex) => {\n if (directive.queries) {\n directive.queries.forEach((query) => _addQueryToTokenMap(contentQueries, { meta: query, queryId: contentQueryId++ }));\n }\n });\n return contentQueries;\n}\nfunction _addQueryToTokenMap(map, query) {\n query.meta.selectors.forEach((token) => {\n let entry = map.get(tokenReference(token));\n if (!entry) {\n entry = [];\n map.set(tokenReference(token), entry);\n }\n entry.push(query);\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass StyleWithImports {\n constructor(style, styleUrls) {\n this.style = style;\n this.styleUrls = styleUrls;\n }\n}\nfunction isStyleUrlResolvable(url) {\n if (url == null || url.length === 0 || url[0] == '/')\n return false;\n const schemeMatch = url.match(URL_WITH_SCHEMA_REGEXP);\n return schemeMatch === null || schemeMatch[1] == 'package' || schemeMatch[1] == 'asset';\n}\n/**\n * Rewrites stylesheets by resolving and removing the @import urls that\n * are either relative or don't have a `package:` scheme\n */\nfunction extractStyleUrls(resolver, baseUrl, cssText) {\n const foundUrls = [];\n const modifiedCssText = cssText.replace(CSS_STRIPPABLE_COMMENT_REGEXP, '')\n .replace(CSS_IMPORT_REGEXP, (...m) => {\n const url = m[1] || m[2];\n if (!isStyleUrlResolvable(url)) {\n // Do not attempt to resolve non-package absolute URLs with URI\n // scheme\n return m[0];\n }\n foundUrls.push(resolver.resolve(baseUrl, url));\n return '';\n });\n return new StyleWithImports(modifiedCssText, foundUrls);\n}\nconst CSS_IMPORT_REGEXP = /@import\\s+(?:url\\()?\\s*(?:(?:['\"]([^'\"]*))|([^;\\)\\s]*))[^;]*;?/g;\nconst CSS_STRIPPABLE_COMMENT_REGEXP = /\\/\\*(?!#\\s*(?:sourceURL|sourceMappingURL)=)[\\s\\S]+?\\*\\//g;\nconst URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PROPERTY_PARTS_SEPARATOR = '.';\nconst ATTRIBUTE_PREFIX = 'attr';\nconst CLASS_PREFIX = 'class';\nconst STYLE_PREFIX = 'style';\nconst TEMPLATE_ATTR_PREFIX = '*';\nconst ANIMATE_PROP_PREFIX = 'animate-';\n/**\n * Parses bindings in templates and in the directive host area.\n */\nclass BindingParser {\n constructor(_exprParser, _interpolationConfig, _schemaRegistry, pipes, errors) {\n this._exprParser = _exprParser;\n this._interpolationConfig = _interpolationConfig;\n this._schemaRegistry = _schemaRegistry;\n this.errors = errors;\n this.pipesByName = null;\n this._usedPipes = new Map();\n // When the `pipes` parameter is `null`, do not check for used pipes\n // This is used in IVY when we might not know the available pipes at compile time\n if (pipes) {\n const pipesByName = new Map();\n pipes.forEach(pipe => pipesByName.set(pipe.name, pipe));\n this.pipesByName = pipesByName;\n }\n }\n get interpolationConfig() {\n return this._interpolationConfig;\n }\n getUsedPipes() {\n return Array.from(this._usedPipes.values());\n }\n createBoundHostProperties(dirMeta, sourceSpan) {\n if (dirMeta.hostProperties) {\n const boundProps = [];\n Object.keys(dirMeta.hostProperties).forEach(propName => {\n const expression = dirMeta.hostProperties[propName];\n if (typeof expression === 'string') {\n this.parsePropertyBinding(propName, expression, true, sourceSpan, sourceSpan.start.offset, undefined, [], \n // Use the `sourceSpan` for `keySpan`. This isn't really accurate, but neither is the\n // sourceSpan, as it represents the sourceSpan of the host itself rather than the\n // source of the host binding (which doesn't exist in the template). Regardless,\n // neither of these values are used in Ivy but are only here to satisfy the function\n // signature. This should likely be refactored in the future so that `sourceSpan`\n // isn't being used inaccurately.\n boundProps, sourceSpan);\n }\n else {\n this._reportError(`Value of the host property binding \"${propName}\" needs to be a string representing an expression but got \"${expression}\" (${typeof expression})`, sourceSpan);\n }\n });\n return boundProps;\n }\n return null;\n }\n createDirectiveHostPropertyAsts(dirMeta, elementSelector, sourceSpan) {\n const boundProps = this.createBoundHostProperties(dirMeta, sourceSpan);\n return boundProps &&\n boundProps.map((prop) => this.createBoundElementProperty(elementSelector, prop));\n }\n createDirectiveHostEventAsts(dirMeta, sourceSpan) {\n if (dirMeta.hostListeners) {\n const targetEvents = [];\n Object.keys(dirMeta.hostListeners).forEach(propName => {\n const expression = dirMeta.hostListeners[propName];\n if (typeof expression === 'string') {\n // TODO: pass a more accurate handlerSpan for this event.\n this.parseEvent(propName, expression, sourceSpan, sourceSpan, [], targetEvents);\n }\n else {\n this._reportError(`Value of the host listener \"${propName}\" needs to be a string representing an expression but got \"${expression}\" (${typeof expression})`, sourceSpan);\n }\n });\n return targetEvents;\n }\n return null;\n }\n parseInterpolation(value, sourceSpan) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const ast = this._exprParser.parseInterpolation(value, sourceInfo, sourceSpan.start.offset, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, sourceSpan.start.offset);\n }\n }\n /**\n * Similar to `parseInterpolation`, but treats the provided string as a single expression\n * element that would normally appear within the interpolation prefix and suffix (`{{` and `}}`).\n * This is used for parsing the switch expression in ICUs.\n */\n parseInterpolationExpression(expression, sourceSpan) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const ast = this._exprParser.parseInterpolationExpression(expression, sourceInfo, sourceSpan.start.offset);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, sourceSpan.start.offset);\n }\n }\n /**\n * Parses the bindings in a microsyntax expression, and converts them to\n * `ParsedProperty` or `ParsedVariable`.\n *\n * @param tplKey template binding name\n * @param tplValue template binding value\n * @param sourceSpan span of template binding relative to entire the template\n * @param absoluteValueOffset start of the tplValue relative to the entire template\n * @param targetMatchableAttrs potential attributes to match in the template\n * @param targetProps target property bindings in the template\n * @param targetVars target variables in the template\n */\n parseInlineTemplateBinding(tplKey, tplValue, sourceSpan, absoluteValueOffset, targetMatchableAttrs, targetProps, targetVars, isIvyAst) {\n const absoluteKeyOffset = sourceSpan.start.offset + TEMPLATE_ATTR_PREFIX.length;\n const bindings = this._parseTemplateBindings(tplKey, tplValue, sourceSpan, absoluteKeyOffset, absoluteValueOffset);\n for (const binding of bindings) {\n // sourceSpan is for the entire HTML attribute. bindingSpan is for a particular\n // binding within the microsyntax expression so it's more narrow than sourceSpan.\n const bindingSpan = moveParseSourceSpan(sourceSpan, binding.sourceSpan);\n const key = binding.key.source;\n const keySpan = moveParseSourceSpan(sourceSpan, binding.key.span);\n if (binding instanceof VariableBinding) {\n const value = binding.value ? binding.value.source : '$implicit';\n const valueSpan = binding.value ? moveParseSourceSpan(sourceSpan, binding.value.span) : undefined;\n targetVars.push(new ParsedVariable(key, value, bindingSpan, keySpan, valueSpan));\n }\n else if (binding.value) {\n const srcSpan = isIvyAst ? bindingSpan : sourceSpan;\n const valueSpan = moveParseSourceSpan(sourceSpan, binding.value.ast.sourceSpan);\n this._parsePropertyAst(key, binding.value, srcSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetMatchableAttrs.push([key, '' /* value */]);\n // Since this is a literal attribute with no RHS, source span should be\n // just the key span.\n this.parseLiteralAttr(key, null /* value */, keySpan, absoluteValueOffset, undefined /* valueSpan */, targetMatchableAttrs, targetProps, keySpan);\n }\n }\n }\n /**\n * Parses the bindings in a microsyntax expression, e.g.\n * ```\n * \n * ```\n *\n * @param tplKey template binding name\n * @param tplValue template binding value\n * @param sourceSpan span of template binding relative to entire the template\n * @param absoluteKeyOffset start of the `tplKey`\n * @param absoluteValueOffset start of the `tplValue`\n */\n _parseTemplateBindings(tplKey, tplValue, sourceSpan, absoluteKeyOffset, absoluteValueOffset) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const bindingsResult = this._exprParser.parseTemplateBindings(tplKey, tplValue, sourceInfo, absoluteKeyOffset, absoluteValueOffset);\n this._reportExpressionParserErrors(bindingsResult.errors, sourceSpan);\n bindingsResult.templateBindings.forEach((binding) => {\n if (binding.value instanceof ASTWithSource) {\n this._checkPipes(binding.value, sourceSpan);\n }\n });\n bindingsResult.warnings.forEach((warning) => {\n this._reportError(warning, sourceSpan, ParseErrorLevel.WARNING);\n });\n return bindingsResult.templateBindings;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return [];\n }\n }\n parseLiteralAttr(name, value, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, \n // TODO(atscott): keySpan is only optional here so VE template parser implementation does not\n // have to change This should be required when VE is removed.\n targetProps, keySpan) {\n if (isAnimationLabel(name)) {\n name = name.substring(1);\n if (value) {\n this._reportError(`Assigning animation triggers via @prop=\"exp\" attributes with an expression is invalid.` +\n ` Use property bindings (e.g. [@prop]=\"exp\") or use an attribute without a value (e.g. @prop) instead.`, sourceSpan, ParseErrorLevel.ERROR);\n }\n this._parseAnimation(name, value, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetProps.push(new ParsedProperty(name, this._exprParser.wrapLiteralPrimitive(value, '', absoluteOffset), ParsedPropertyType.LITERAL_ATTR, sourceSpan, keySpan, valueSpan));\n }\n }\n parsePropertyBinding(name, expression, isHost, sourceSpan, absoluteOffset, valueSpan, \n // TODO(atscott): keySpan is only optional here so VE template parser implementation does not\n // have to change This should be required when VE is removed.\n targetMatchableAttrs, targetProps, keySpan) {\n if (name.length === 0) {\n this._reportError(`Property name is missing in binding`, sourceSpan);\n }\n let isAnimationProp = false;\n if (name.startsWith(ANIMATE_PROP_PREFIX)) {\n isAnimationProp = true;\n name = name.substring(ANIMATE_PROP_PREFIX.length);\n }\n else if (isAnimationLabel(name)) {\n isAnimationProp = true;\n name = name.substring(1);\n }\n if (isAnimationProp) {\n this._parseAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n this._parsePropertyAst(name, this._parseBinding(expression, isHost, valueSpan || sourceSpan, absoluteOffset), sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n }\n parsePropertyInterpolation(name, value, sourceSpan, valueSpan, targetMatchableAttrs, \n // TODO(atscott): keySpan is only optional here so VE template parser implementation does not\n // have to change This should be required when VE is removed.\n targetProps, keySpan) {\n const expr = this.parseInterpolation(value, valueSpan || sourceSpan);\n if (expr) {\n this._parsePropertyAst(name, expr, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n return true;\n }\n return false;\n }\n _parsePropertyAst(name, ast, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps) {\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.DEFAULT, sourceSpan, keySpan, valueSpan));\n }\n _parseAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps) {\n if (name.length === 0) {\n this._reportError('Animation trigger is missing', sourceSpan);\n }\n // This will occur when a @trigger is not paired with an expression.\n // For animations it is valid to not have an expression since */void\n // states will be applied by angular when the element is attached/detached\n const ast = this._parseBinding(expression || 'undefined', false, valueSpan || sourceSpan, absoluteOffset);\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.ANIMATION, sourceSpan, keySpan, valueSpan));\n }\n _parseBinding(value, isHostBinding, sourceSpan, absoluteOffset) {\n const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown)').toString();\n try {\n const ast = isHostBinding ?\n this._exprParser.parseSimpleBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig) :\n this._exprParser.parseBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n createBoundElementProperty(elementSelector, boundProp, skipValidation = false, mapPropertyName = true) {\n if (boundProp.isAnimation) {\n return new BoundElementProperty(boundProp.name, 4 /* Animation */, SecurityContext.NONE, boundProp.expression, null, boundProp.sourceSpan, boundProp.keySpan, boundProp.valueSpan);\n }\n let unit = null;\n let bindingType = undefined;\n let boundPropertyName = null;\n const parts = boundProp.name.split(PROPERTY_PARTS_SEPARATOR);\n let securityContexts = undefined;\n // Check for special cases (prefix style, attr, class)\n if (parts.length > 1) {\n if (parts[0] == ATTRIBUTE_PREFIX) {\n boundPropertyName = parts.slice(1).join(PROPERTY_PARTS_SEPARATOR);\n if (!skipValidation) {\n this._validatePropertyOrAttributeName(boundPropertyName, boundProp.sourceSpan, true);\n }\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, boundPropertyName, true);\n const nsSeparatorIdx = boundPropertyName.indexOf(':');\n if (nsSeparatorIdx > -1) {\n const ns = boundPropertyName.substring(0, nsSeparatorIdx);\n const name = boundPropertyName.substring(nsSeparatorIdx + 1);\n boundPropertyName = mergeNsAndName(ns, name);\n }\n bindingType = 1 /* Attribute */;\n }\n else if (parts[0] == CLASS_PREFIX) {\n boundPropertyName = parts[1];\n bindingType = 2 /* Class */;\n securityContexts = [SecurityContext.NONE];\n }\n else if (parts[0] == STYLE_PREFIX) {\n unit = parts.length > 2 ? parts[2] : null;\n boundPropertyName = parts[1];\n bindingType = 3 /* Style */;\n securityContexts = [SecurityContext.STYLE];\n }\n }\n // If not a special case, use the full property name\n if (boundPropertyName === null) {\n const mappedPropName = this._schemaRegistry.getMappedPropName(boundProp.name);\n boundPropertyName = mapPropertyName ? mappedPropName : boundProp.name;\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, mappedPropName, false);\n bindingType = 0 /* Property */;\n if (!skipValidation) {\n this._validatePropertyOrAttributeName(mappedPropName, boundProp.sourceSpan, false);\n }\n }\n return new BoundElementProperty(boundPropertyName, bindingType, securityContexts[0], boundProp.expression, unit, boundProp.sourceSpan, boundProp.keySpan, boundProp.valueSpan);\n }\n parseEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents) {\n if (name.length === 0) {\n this._reportError(`Event name is missing in binding`, sourceSpan);\n }\n if (isAnimationLabel(name)) {\n name = name.substr(1);\n this._parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents);\n }\n else {\n this._parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents);\n }\n }\n calcPossibleSecurityContexts(selector, propName, isAttribute) {\n const prop = this._schemaRegistry.getMappedPropName(propName);\n return calcPossibleSecurityContexts(this._schemaRegistry, selector, prop, isAttribute);\n }\n _parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents) {\n const matches = splitAtPeriod(name, [name, '']);\n const eventName = matches[0];\n const phase = matches[1].toLowerCase();\n if (phase) {\n switch (phase) {\n case 'start':\n case 'done':\n const ast = this._parseAction(expression, handlerSpan);\n targetEvents.push(new ParsedEvent(eventName, phase, 1 /* Animation */, ast, sourceSpan, handlerSpan));\n break;\n default:\n this._reportError(`The provided animation output phase value \"${phase}\" for \"@${eventName}\" is not supported (use start or done)`, sourceSpan);\n break;\n }\n }\n else {\n this._reportError(`The animation trigger output event (@${eventName}) is missing its phase value name (start or done are currently supported)`, sourceSpan);\n }\n }\n _parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents) {\n // long format: 'target: eventName'\n const [target, eventName] = splitAtColon(name, [null, name]);\n const ast = this._parseAction(expression, handlerSpan);\n targetMatchableAttrs.push([name, ast.source]);\n targetEvents.push(new ParsedEvent(eventName, target, 0 /* Regular */, ast, sourceSpan, handlerSpan));\n // Don't detect directives for event names for now,\n // so don't add the event name to the matchableAttrs\n }\n _parseAction(value, sourceSpan) {\n const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown').toString();\n const absoluteOffset = (sourceSpan && sourceSpan.start) ? sourceSpan.start.offset : 0;\n try {\n const ast = this._exprParser.parseAction(value, sourceInfo, absoluteOffset, this._interpolationConfig);\n if (ast) {\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n }\n if (!ast || ast.ast instanceof EmptyExpr) {\n this._reportError(`Empty expressions are not allowed`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n _reportError(message, sourceSpan, level = ParseErrorLevel.ERROR) {\n this.errors.push(new ParseError(sourceSpan, message, level));\n }\n _reportExpressionParserErrors(errors, sourceSpan) {\n for (const error of errors) {\n this._reportError(error.message, sourceSpan);\n }\n }\n // Make sure all the used pipes are known in `this.pipesByName`\n _checkPipes(ast, sourceSpan) {\n if (ast && this.pipesByName) {\n const collector = new PipeCollector();\n ast.visit(collector);\n collector.pipes.forEach((ast, pipeName) => {\n const pipeMeta = this.pipesByName.get(pipeName);\n if (!pipeMeta) {\n this._reportError(`The pipe '${pipeName}' could not be found`, new ParseSourceSpan(sourceSpan.start.moveBy(ast.span.start), sourceSpan.start.moveBy(ast.span.end)));\n }\n else {\n this._usedPipes.set(pipeName, pipeMeta);\n }\n });\n }\n }\n /**\n * @param propName the name of the property / attribute\n * @param sourceSpan\n * @param isAttr true when binding to an attribute\n */\n _validatePropertyOrAttributeName(propName, sourceSpan, isAttr) {\n const report = isAttr ? this._schemaRegistry.validateAttribute(propName) :\n this._schemaRegistry.validateProperty(propName);\n if (report.error) {\n this._reportError(report.msg, sourceSpan, ParseErrorLevel.ERROR);\n }\n }\n}\nclass PipeCollector extends RecursiveAstVisitor$1 {\n constructor() {\n super(...arguments);\n this.pipes = new Map();\n }\n visitPipe(ast, context) {\n this.pipes.set(ast.name, ast);\n ast.exp.visit(this);\n this.visitAll(ast.args, context);\n return null;\n }\n}\nfunction isAnimationLabel(name) {\n return name[0] == '@';\n}\nfunction calcPossibleSecurityContexts(registry, selector, propName, isAttribute) {\n const ctxs = [];\n CssSelector.parse(selector).forEach((selector) => {\n const elementNames = selector.element ? [selector.element] : registry.allKnownElementNames();\n const notElementNames = new Set(selector.notSelectors.filter(selector => selector.isElementSelector())\n .map((selector) => selector.element));\n const possibleElementNames = elementNames.filter(elementName => !notElementNames.has(elementName));\n ctxs.push(...possibleElementNames.map(elementName => registry.securityContext(elementName, propName, isAttribute)));\n });\n return ctxs.length === 0 ? [SecurityContext.NONE] : Array.from(new Set(ctxs)).sort();\n}\n/**\n * Compute a new ParseSourceSpan based off an original `sourceSpan` by using\n * absolute offsets from the specified `absoluteSpan`.\n *\n * @param sourceSpan original source span\n * @param absoluteSpan absolute source span to move to\n */\nfunction moveParseSourceSpan(sourceSpan, absoluteSpan) {\n // The difference of two absolute offsets provide the relative offset\n const startDiff = absoluteSpan.start - sourceSpan.start.offset;\n const endDiff = absoluteSpan.end - sourceSpan.end.offset;\n return new ParseSourceSpan(sourceSpan.start.moveBy(startDiff), sourceSpan.end.moveBy(endDiff), sourceSpan.fullStart.moveBy(startDiff), sourceSpan.details);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_CONTENT_SELECT_ATTR = 'select';\nconst LINK_ELEMENT = 'link';\nconst LINK_STYLE_REL_ATTR = 'rel';\nconst LINK_STYLE_HREF_ATTR = 'href';\nconst LINK_STYLE_REL_VALUE = 'stylesheet';\nconst STYLE_ELEMENT = 'style';\nconst SCRIPT_ELEMENT = 'script';\nconst NG_NON_BINDABLE_ATTR = 'ngNonBindable';\nconst NG_PROJECT_AS = 'ngProjectAs';\nfunction preparseElement(ast) {\n let selectAttr = null;\n let hrefAttr = null;\n let relAttr = null;\n let nonBindable = false;\n let projectAs = '';\n ast.attrs.forEach(attr => {\n const lcAttrName = attr.name.toLowerCase();\n if (lcAttrName == NG_CONTENT_SELECT_ATTR) {\n selectAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_HREF_ATTR) {\n hrefAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_REL_ATTR) {\n relAttr = attr.value;\n }\n else if (attr.name == NG_NON_BINDABLE_ATTR) {\n nonBindable = true;\n }\n else if (attr.name == NG_PROJECT_AS) {\n if (attr.value.length > 0) {\n projectAs = attr.value;\n }\n }\n });\n selectAttr = normalizeNgContentSelect(selectAttr);\n const nodeName = ast.name.toLowerCase();\n let type = PreparsedElementType.OTHER;\n if (isNgContent(nodeName)) {\n type = PreparsedElementType.NG_CONTENT;\n }\n else if (nodeName == STYLE_ELEMENT) {\n type = PreparsedElementType.STYLE;\n }\n else if (nodeName == SCRIPT_ELEMENT) {\n type = PreparsedElementType.SCRIPT;\n }\n else if (nodeName == LINK_ELEMENT && relAttr == LINK_STYLE_REL_VALUE) {\n type = PreparsedElementType.STYLESHEET;\n }\n return new PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs);\n}\nvar PreparsedElementType;\n(function (PreparsedElementType) {\n PreparsedElementType[PreparsedElementType[\"NG_CONTENT\"] = 0] = \"NG_CONTENT\";\n PreparsedElementType[PreparsedElementType[\"STYLE\"] = 1] = \"STYLE\";\n PreparsedElementType[PreparsedElementType[\"STYLESHEET\"] = 2] = \"STYLESHEET\";\n PreparsedElementType[PreparsedElementType[\"SCRIPT\"] = 3] = \"SCRIPT\";\n PreparsedElementType[PreparsedElementType[\"OTHER\"] = 4] = \"OTHER\";\n})(PreparsedElementType || (PreparsedElementType = {}));\nclass PreparsedElement {\n constructor(type, selectAttr, hrefAttr, nonBindable, projectAs) {\n this.type = type;\n this.selectAttr = selectAttr;\n this.hrefAttr = hrefAttr;\n this.nonBindable = nonBindable;\n this.projectAs = projectAs;\n }\n}\nfunction normalizeNgContentSelect(selectAttr) {\n if (selectAttr === null || selectAttr.length === 0) {\n return '*';\n }\n return selectAttr;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst BIND_NAME_REGEXP = /^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.*))|\\[\\(([^\\)]+)\\)\\]|\\[([^\\]]+)\\]|\\(([^\\)]+)\\))$/;\n// Group 1 = \"bind-\"\nconst KW_BIND_IDX = 1;\n// Group 2 = \"let-\"\nconst KW_LET_IDX = 2;\n// Group 3 = \"ref-/#\"\nconst KW_REF_IDX = 3;\n// Group 4 = \"on-\"\nconst KW_ON_IDX = 4;\n// Group 5 = \"bindon-\"\nconst KW_BINDON_IDX = 5;\n// Group 6 = \"@\"\nconst KW_AT_IDX = 6;\n// Group 7 = the identifier after \"bind-\", \"let-\", \"ref-/#\", \"on-\", \"bindon-\" or \"@\"\nconst IDENT_KW_IDX = 7;\n// Group 8 = identifier inside [()]\nconst IDENT_BANANA_BOX_IDX = 8;\n// Group 9 = identifier inside []\nconst IDENT_PROPERTY_IDX = 9;\n// Group 10 = identifier inside ()\nconst IDENT_EVENT_IDX = 10;\nconst TEMPLATE_ATTR_PREFIX$1 = '*';\nconst CLASS_ATTR = 'class';\nlet _TEXT_CSS_SELECTOR;\nfunction TEXT_CSS_SELECTOR() {\n if (!_TEXT_CSS_SELECTOR) {\n _TEXT_CSS_SELECTOR = CssSelector.parse('*')[0];\n }\n return _TEXT_CSS_SELECTOR;\n}\nclass TemplateParseError extends ParseError {\n constructor(message, span, level) {\n super(span, message, level);\n }\n}\nclass TemplateParseResult {\n constructor(templateAst, usedPipes, errors) {\n this.templateAst = templateAst;\n this.usedPipes = usedPipes;\n this.errors = errors;\n }\n}\nclass TemplateParser {\n constructor(_config, _reflector, _exprParser, _schemaRegistry, _htmlParser, _console, transforms) {\n this._config = _config;\n this._reflector = _reflector;\n this._exprParser = _exprParser;\n this._schemaRegistry = _schemaRegistry;\n this._htmlParser = _htmlParser;\n this._console = _console;\n this.transforms = transforms;\n }\n get expressionParser() {\n return this._exprParser;\n }\n parse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {\n var _a;\n const result = this.tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces);\n const warnings = result.errors.filter(error => error.level === ParseErrorLevel.WARNING);\n const errors = result.errors.filter(error => error.level === ParseErrorLevel.ERROR);\n if (warnings.length > 0) {\n (_a = this._console) === null || _a === void 0 ? void 0 : _a.warn(`Template parse warnings:\\n${warnings.join('\\n')}`);\n }\n if (errors.length > 0) {\n const errorString = errors.join('\\n');\n throw syntaxError(`Template parse errors:\\n${errorString}`, errors);\n }\n return { template: result.templateAst, pipes: result.usedPipes };\n }\n tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {\n let htmlParseResult = typeof template === 'string' ?\n this._htmlParser.parse(template, templateUrl, {\n tokenizeExpansionForms: true,\n interpolationConfig: this.getInterpolationConfig(component)\n }) :\n template;\n if (!preserveWhitespaces) {\n htmlParseResult = removeWhitespaces(htmlParseResult);\n }\n return this.tryParseHtml(this.expandHtml(htmlParseResult), component, directives, pipes, schemas);\n }\n tryParseHtml(htmlAstWithErrors, component, directives, pipes, schemas) {\n let result;\n const errors = htmlAstWithErrors.errors;\n const usedPipes = [];\n if (htmlAstWithErrors.rootNodes.length > 0) {\n const uniqDirectives = removeSummaryDuplicates(directives);\n const uniqPipes = removeSummaryDuplicates(pipes);\n const providerViewContext = new ProviderViewContext(this._reflector, component);\n let interpolationConfig = undefined;\n if (component.template && component.template.interpolation) {\n interpolationConfig = {\n start: component.template.interpolation[0],\n end: component.template.interpolation[1]\n };\n }\n const bindingParser = new BindingParser(this._exprParser, interpolationConfig, this._schemaRegistry, uniqPipes, errors);\n const parseVisitor = new TemplateParseVisitor(this._reflector, this._config, providerViewContext, uniqDirectives, bindingParser, this._schemaRegistry, schemas, errors);\n result = visitAll$1(parseVisitor, htmlAstWithErrors.rootNodes, EMPTY_ELEMENT_CONTEXT);\n errors.push(...providerViewContext.errors);\n usedPipes.push(...bindingParser.getUsedPipes());\n }\n else {\n result = [];\n }\n this._assertNoReferenceDuplicationOnTemplate(result, errors);\n if (errors.length > 0) {\n return new TemplateParseResult(result, usedPipes, errors);\n }\n if (this.transforms) {\n this.transforms.forEach((transform) => {\n result = templateVisitAll(transform, result);\n });\n }\n return new TemplateParseResult(result, usedPipes, errors);\n }\n expandHtml(htmlAstWithErrors, forced = false) {\n const errors = htmlAstWithErrors.errors;\n if (errors.length == 0 || forced) {\n // Transform ICU messages to angular directives\n const expandedHtmlAst = expandNodes(htmlAstWithErrors.rootNodes);\n errors.push(...expandedHtmlAst.errors);\n htmlAstWithErrors = new ParseTreeResult(expandedHtmlAst.nodes, errors);\n }\n return htmlAstWithErrors;\n }\n getInterpolationConfig(component) {\n if (component.template) {\n return InterpolationConfig.fromArray(component.template.interpolation);\n }\n return undefined;\n }\n /** @internal */\n _assertNoReferenceDuplicationOnTemplate(result, errors) {\n const existingReferences = [];\n result.filter(element => !!element.references)\n .forEach(element => element.references.forEach((reference) => {\n const name = reference.name;\n if (existingReferences.indexOf(name) < 0) {\n existingReferences.push(name);\n }\n else {\n const error = new TemplateParseError(`Reference \"#${name}\" is defined several times`, reference.sourceSpan, ParseErrorLevel.ERROR);\n errors.push(error);\n }\n }));\n }\n}\nclass TemplateParseVisitor {\n constructor(reflector, config, providerViewContext, directives, _bindingParser, _schemaRegistry, _schemas, _targetErrors) {\n this.reflector = reflector;\n this.config = config;\n this.providerViewContext = providerViewContext;\n this._bindingParser = _bindingParser;\n this._schemaRegistry = _schemaRegistry;\n this._schemas = _schemas;\n this._targetErrors = _targetErrors;\n this.selectorMatcher = new SelectorMatcher();\n this.directivesIndex = new Map();\n this.ngContentCount = 0;\n // Note: queries start with id 1 so we can use the number in a Bloom filter!\n this.contentQueryStartId = providerViewContext.component.viewQueries.length + 1;\n directives.forEach((directive, index) => {\n const selector = CssSelector.parse(directive.selector);\n this.selectorMatcher.addSelectables(selector, directive);\n this.directivesIndex.set(directive, index);\n });\n }\n visitExpansion(expansion, context) {\n return null;\n }\n visitExpansionCase(expansionCase, context) {\n return null;\n }\n visitText(text, parent) {\n const ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR());\n const valueNoNgsp = replaceNgsp(text.value);\n const expr = this._bindingParser.parseInterpolation(valueNoNgsp, text.sourceSpan);\n return expr ? new BoundTextAst(expr, ngContentIndex, text.sourceSpan) :\n new TextAst(valueNoNgsp, ngContentIndex, text.sourceSpan);\n }\n visitAttribute(attribute, context) {\n return new AttrAst(attribute.name, attribute.value, attribute.sourceSpan);\n }\n visitComment(comment, context) {\n return null;\n }\n visitElement(element, parent) {\n const queryStartIndex = this.contentQueryStartId;\n const elName = element.name;\n const preparsedElement = preparseElement(element);\n if (preparsedElement.type === PreparsedElementType.SCRIPT ||\n preparsedElement.type === PreparsedElementType.STYLE) {\n // Skipping
\n {{headerText}}\n \n {{dataAccessor(data, name)}}\n