{"version":3,"sources":["./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/construct.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/createClass.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/createSuper.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/defineProperty.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/get.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/inherits.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/superPropBase.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/toArray.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/typeof.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","./node_modules/@angular-devkit/build-angular/node_modules/@babel/runtime/regenerator/index.js","../../../../../../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/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","../../../../../../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","../../../../../../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","./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js","../../../../../../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/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/validators.ts","../../../../../../packages/forms/src/directives/normalize_validator.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/model.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","../../../../../../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","../../../../../../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/public_api.ts","../../../../../../packages/platform-browser/index.ts","../../../../../../packages/platform-browser/platform-browser.ts","../../../../../../packages/router/src/events.ts","../../../../../../packages/router/src/components/empty_outlet.ts","../../../../../../packages/router/src/shared.ts","../../../../../../packages/router/src/config.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/utils/type_guards.ts","../../../../../../packages/router/src/apply_redirects.ts","../../../../../../packages/router/src/operators/apply_redirects.ts","../../../../../../packages/router/src/utils/preactivation.ts","../../../../../../packages/router/src/operators/prioritized_guard_value.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/index.ts","../../../../../../packages/router/public_api.ts","../../../../../../packages/router/index.ts","../../../../../../packages/router/router.ts","ng:/@ng-bootstrap/ng-bootstrap/util/util.ts","ng:/@ng-bootstrap/ng-bootstrap/accordion/accordion-config.ts","ng:/@ng-bootstrap/ng-bootstrap/accordion/accordion.ts","ng:/@ng-bootstrap/ng-bootstrap/accordion/accordion.module.ts","ng:/@ng-bootstrap/ng-bootstrap/alert/alert-config.ts","ng:/@ng-bootstrap/ng-bootstrap/alert/alert.ts","ng:/@ng-bootstrap/ng-bootstrap/alert/alert.module.ts","ng:/@ng-bootstrap/ng-bootstrap/buttons/label.ts","ng:/@ng-bootstrap/ng-bootstrap/buttons/checkbox.ts","ng:/@ng-bootstrap/ng-bootstrap/buttons/radio.ts","ng:/@ng-bootstrap/ng-bootstrap/buttons/buttons.module.ts","ng:/@ng-bootstrap/ng-bootstrap/carousel/carousel-config.ts","ng:/@ng-bootstrap/ng-bootstrap/carousel/carousel.ts","ng:/@ng-bootstrap/ng-bootstrap/carousel/carousel.module.ts","ng:/@ng-bootstrap/ng-bootstrap/collapse/collapse.ts","ng:/@ng-bootstrap/ng-bootstrap/collapse/collapse.module.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/ngb-date.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/ngb-calendar.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-tools.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-i18n.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-service.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-view-model.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-config.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/adapters/ngb-date-adapter.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker.ts","ng:/@ng-bootstrap/ng-bootstrap/util/key.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-keyboard-service.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-month.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation.ts","ng:/@ng-bootstrap/ng-bootstrap/util/autoclose.ts","ng:/@ng-bootstrap/ng-bootstrap/util/focus-trap.ts","ng:/@ng-bootstrap/ng-bootstrap/util/positioning.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/ngb-date-parser-formatter.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-input-config.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-input.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-day-view.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/hijri/ngb-calendar-hijri.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/hijri/ngb-calendar-islamic-civil.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/hijri/ngb-calendar-islamic-umalqura.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/jalali/jalali.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/jalali/ngb-calendar-persian.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/hebrew/hebrew.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/hebrew/ngb-calendar-hebrew.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/hebrew/datepicker-i18n-hebrew.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/adapters/ngb-date-native-adapter.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/adapters/ngb-date-native-utc-adapter.ts","ng:/@ng-bootstrap/ng-bootstrap/datepicker/datepicker.module.ts","ng:/@ng-bootstrap/ng-bootstrap/dropdown/dropdown-config.ts","ng:/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.ts","ng:/@ng-bootstrap/ng-bootstrap/dropdown/dropdown.module.ts","ng:/@ng-bootstrap/ng-bootstrap/modal/modal-config.ts","ng:/@ng-bootstrap/ng-bootstrap/util/popup.ts","ng:/@ng-bootstrap/ng-bootstrap/util/scrollbar.ts","ng:/@ng-bootstrap/ng-bootstrap/modal/modal-backdrop.ts","ng:/@ng-bootstrap/ng-bootstrap/modal/modal-ref.ts","ng:/@ng-bootstrap/ng-bootstrap/modal/modal-dismiss-reasons.ts","ng:/@ng-bootstrap/ng-bootstrap/modal/modal-window.ts","ng:/@ng-bootstrap/ng-bootstrap/modal/modal-stack.ts","ng:/@ng-bootstrap/ng-bootstrap/modal/modal.ts","ng:/@ng-bootstrap/ng-bootstrap/modal/modal.module.ts","ng:/@ng-bootstrap/ng-bootstrap/nav/nav-config.ts","ng:/@ng-bootstrap/ng-bootstrap/nav/nav.ts","ng:/@ng-bootstrap/ng-bootstrap/nav/nav-outlet.ts","ng:/@ng-bootstrap/ng-bootstrap/nav/nav.module.ts","ng:/@ng-bootstrap/ng-bootstrap/pagination/pagination-config.ts","ng:/@ng-bootstrap/ng-bootstrap/pagination/pagination.ts","ng:/@ng-bootstrap/ng-bootstrap/pagination/pagination.module.ts","ng:/@ng-bootstrap/ng-bootstrap/util/triggers.ts","ng:/@ng-bootstrap/ng-bootstrap/popover/popover-config.ts","ng:/@ng-bootstrap/ng-bootstrap/popover/popover.ts","ng:/@ng-bootstrap/ng-bootstrap/popover/popover.module.ts","ng:/@ng-bootstrap/ng-bootstrap/progressbar/progressbar-config.ts","ng:/@ng-bootstrap/ng-bootstrap/progressbar/progressbar.ts","ng:/@ng-bootstrap/ng-bootstrap/progressbar/progressbar.module.ts","ng:/@ng-bootstrap/ng-bootstrap/rating/rating-config.ts","ng:/@ng-bootstrap/ng-bootstrap/rating/rating.ts","ng:/@ng-bootstrap/ng-bootstrap/rating/rating.module.ts","ng:/@ng-bootstrap/ng-bootstrap/tabset/tabset-config.ts","ng:/@ng-bootstrap/ng-bootstrap/tabset/tabset.ts","ng:/@ng-bootstrap/ng-bootstrap/tabset/tabset.module.ts","ng:/@ng-bootstrap/ng-bootstrap/timepicker/ngb-time.ts","ng:/@ng-bootstrap/ng-bootstrap/timepicker/timepicker-config.ts","ng:/@ng-bootstrap/ng-bootstrap/timepicker/ngb-time-adapter.ts","ng:/@ng-bootstrap/ng-bootstrap/timepicker/timepicker-i18n.ts","ng:/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts","ng:/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.module.ts","ng:/@ng-bootstrap/ng-bootstrap/toast/toast-config.ts","ng:/@ng-bootstrap/ng-bootstrap/toast/toast.ts","ng:/@ng-bootstrap/ng-bootstrap/toast/toast.module.ts","ng:/@ng-bootstrap/ng-bootstrap/tooltip/tooltip-config.ts","ng:/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.ts","ng:/@ng-bootstrap/ng-bootstrap/tooltip/tooltip.module.ts","ng:/@ng-bootstrap/ng-bootstrap/typeahead/highlight.ts","ng:/@ng-bootstrap/ng-bootstrap/typeahead/typeahead-window.ts","ng:/@ng-bootstrap/ng-bootstrap/util/accessibility/live.ts","ng:/@ng-bootstrap/ng-bootstrap/typeahead/typeahead-config.ts","ng:/@ng-bootstrap/ng-bootstrap/typeahead/typeahead.ts","ng:/@ng-bootstrap/ng-bootstrap/typeahead/typeahead.module.ts","ng:/@ng-bootstrap/ng-bootstrap/index.ts","./node_modules/jquery/dist/jquery.js","ng:/ngx-showdown/showdown-config.provider.ts","ng:/ngx-showdown/showdown-converter.provider.ts","ng:/ngx-showdown/showdown.component.ts","ng:/ngx-showdown/source.directive.ts","ng:/ngx-showdown/showdown.pipe.ts","ng:/ngx-showdown/showdown.module.ts","ng:/ngx-showdown/ngx-showdown.ts","../../../projects/ngx-stripe/src/lib/interfaces/ngx-stripe.interface.ts","../../../projects/ngx-stripe/src/lib/services/window-ref.service.ts","../../../projects/ngx-stripe/src/lib/services/document-ref.service.ts","../../../projects/ngx-stripe/src/lib/services/api-loader.service.ts","../../../projects/ngx-stripe/src/lib/services/stripe-instance.class.ts","../../../projects/ngx-stripe/src/lib/services/stripe.service.ts","../../../projects/ngx-stripe/src/lib/services/stripe-elements.service.ts","../../../projects/ngx-stripe/src/lib/components/card.component.ts","../../../projects/ngx-stripe/src/lib/directives/card-group.directive.ts","../../../projects/ngx-stripe/src/lib/components/card-number.component.ts","../../../projects/ngx-stripe/src/lib/components/card-expiry.component.ts","../../../projects/ngx-stripe/src/lib/components/card-cvc.component.ts","../../../projects/ngx-stripe/src/lib/components/fpx-bank.component.ts","../../../projects/ngx-stripe/src/lib/components/ideal-bank.component.ts","../../../projects/ngx-stripe/src/lib/components/iban.component.ts","../../../projects/ngx-stripe/src/lib/components/au-bank-account.component.ts","../../../projects/ngx-stripe/src/lib/components/payment-request-button.component.ts","../../../projects/ngx-stripe/src/lib/services/stripe-factory.service.ts","../../../projects/ngx-stripe/src/lib/ngx-stripe.module.ts","../../../projects/ngx-stripe/src/public_api.ts","../../../projects/ngx-stripe/src/ngx-stripe.ts","./node_modules/ngx-stripe/node_modules/tslib/tslib.es6.js","ng:/ngx-toastr/toastr/toast.directive.ts","ng:/ngx-toastr/toastr/toastr-config.ts","ng:/ngx-toastr/portal/portal.ts","ng:/ngx-toastr/portal/dom-portal-host.ts","ng:/ngx-toastr/overlay/overlay-container.ts","ng:/ngx-toastr/overlay/overlay-ref.ts","ng:/ngx-toastr/overlay/overlay.ts","ng:/ngx-toastr/toastr/toast-injector.ts","ng:/ngx-toastr/toastr/toastr.service.ts","ng:/ngx-toastr/toastr/toast.component.ts","ng:/ngx-toastr/toastr/toastr.module.ts","ng:/ngx-toastr/toastr/toast-noanimation.component.ts","ng:/ngx-toastr/ngx-toastr.ts","../src/index.ts","../../src/internal/AsyncSubject.ts","../../src/internal/BehaviorSubject.ts","../../src/internal/InnerSubscriber.ts","../../src/internal/Notification.ts","../../src/internal/Observable.ts","../../src/internal/Observer.ts","../../src/internal/OuterSubscriber.ts","../../src/internal/ReplaySubject.ts","../../src/internal/Scheduler.ts","../../src/internal/Subject.ts","../../src/internal/SubjectSubscription.ts","../../src/internal/Subscriber.ts","../../src/internal/Subscription.ts","../../src/internal/config.ts","../../../src/internal/observable/ConnectableObservable.ts","../../../src/internal/observable/SubscribeOnObservable.ts","../../../src/internal/observable/bindCallback.ts","../../../src/internal/observable/bindNodeCallback.ts","../../../src/internal/observable/combineLatest.ts","../../../src/internal/observable/concat.ts","../../../src/internal/observable/defer.ts","../../../src/internal/observable/empty.ts","../../../src/internal/observable/forkJoin.ts","../../../src/internal/observable/from.ts","../../../src/internal/observable/fromArray.ts","../../../src/internal/observable/fromEvent.ts","../../../src/internal/observable/fromEventPattern.ts","../../../src/internal/observable/generate.ts","../../../src/internal/observable/iif.ts","../../../src/internal/observable/interval.ts","../../../src/internal/observable/merge.ts","../../../src/internal/observable/never.ts","../../../src/internal/observable/of.ts","../../../src/internal/observable/onErrorResumeNext.ts","../../../src/internal/observable/pairs.ts","../../../src/internal/observable/partition.ts","../../../src/internal/observable/race.ts","../../../src/internal/observable/range.ts","../../../src/internal/observable/throwError.ts","../../../src/internal/observable/timer.ts","../../../src/internal/observable/using.ts","../../../src/internal/observable/zip.ts","../../../src/internal/operators/audit.ts","../../../src/internal/operators/auditTime.ts","../../../src/internal/operators/buffer.ts","../../../src/internal/operators/bufferCount.ts","../../../src/internal/operators/bufferTime.ts","../../../src/internal/operators/bufferToggle.ts","../../../src/internal/operators/bufferWhen.ts","../../../src/internal/operators/catchError.ts","../../../src/internal/operators/combineAll.ts","../../../src/internal/operators/combineLatest.ts","../../../src/internal/operators/concat.ts","../../../src/internal/operators/concatAll.ts","../../../src/internal/operators/concatMap.ts","../../../src/internal/operators/concatMapTo.ts","../../../src/internal/operators/count.ts","../../../src/internal/operators/debounce.ts","../../../src/internal/operators/debounceTime.ts","../../../src/internal/operators/defaultIfEmpty.ts","../../../src/internal/operators/delay.ts","../../../src/internal/operators/delayWhen.ts","../../../src/internal/operators/dematerialize.ts","../../../src/internal/operators/distinct.ts","../../../src/internal/operators/distinctUntilChanged.ts","../../../src/internal/operators/distinctUntilKeyChanged.ts","../../../src/internal/operators/elementAt.ts","../../../src/internal/operators/endWith.ts","../../../src/internal/operators/every.ts","../../../src/internal/operators/exhaust.ts","../../../src/internal/operators/exhaustMap.ts","../../../src/internal/operators/expand.ts","../../../src/internal/operators/filter.ts","../../../src/internal/operators/finalize.ts","../../../src/internal/operators/find.ts","../../../src/internal/operators/findIndex.ts","../../../src/internal/operators/first.ts","../../../src/internal/operators/groupBy.ts","../../../src/internal/operators/ignoreElements.ts","../../../src/internal/operators/isEmpty.ts","../../../src/internal/operators/last.ts","../../../src/internal/operators/map.ts","../../../src/internal/operators/mapTo.ts","../../../src/internal/operators/materialize.ts","../../../src/internal/operators/max.ts","../../../src/internal/operators/merge.ts","../../../src/internal/operators/mergeAll.ts","../../../src/internal/operators/mergeMap.ts","../../../src/internal/operators/mergeMapTo.ts","../../../src/internal/operators/mergeScan.ts","../../../src/internal/operators/min.ts","../../../src/internal/operators/multicast.ts","../../../src/internal/operators/observeOn.ts","../../../src/internal/operators/onErrorResumeNext.ts","../../../src/internal/operators/pairwise.ts","../../../src/internal/operators/partition.ts","../../../src/internal/operators/pluck.ts","../../../src/internal/operators/publish.ts","../../../src/internal/operators/publishBehavior.ts","../../../src/internal/operators/publishLast.ts","../../../src/internal/operators/publishReplay.ts","../../../src/internal/operators/race.ts","../../../src/internal/operators/reduce.ts","../../../src/internal/operators/refCount.ts","../../../src/internal/operators/repeat.ts","../../../src/internal/operators/repeatWhen.ts","../../../src/internal/operators/retry.ts","../../../src/internal/operators/retryWhen.ts","../../../src/internal/operators/sample.ts","../../../src/internal/operators/sampleTime.ts","../../../src/internal/operators/scan.ts","../../../src/internal/operators/sequenceEqual.ts","../../../src/internal/operators/share.ts","../../../src/internal/operators/shareReplay.ts","../../../src/internal/operators/single.ts","../../../src/internal/operators/skip.ts","../../../src/internal/operators/skipLast.ts","../../../src/internal/operators/skipUntil.ts","../../../src/internal/operators/skipWhile.ts","../../../src/internal/operators/startWith.ts","../../../src/internal/operators/subscribeOn.ts","../../../src/internal/operators/switchAll.ts","../../../src/internal/operators/switchMap.ts","../../../src/internal/operators/switchMapTo.ts","../../../src/internal/operators/take.ts","../../../src/internal/operators/takeLast.ts","../../../src/internal/operators/takeUntil.ts","../../../src/internal/operators/takeWhile.ts","../../../src/internal/operators/tap.ts","../../../src/internal/operators/throttle.ts","../../../src/internal/operators/throttleTime.ts","../../../src/internal/operators/throwIfEmpty.ts","../../../src/internal/operators/timeInterval.ts","../../../src/internal/operators/timeout.ts","../../../src/internal/operators/timeoutWith.ts","../../../src/internal/operators/timestamp.ts","../../../src/internal/operators/toArray.ts","../../../src/internal/operators/window.ts","../../../src/internal/operators/windowCount.ts","../../../src/internal/operators/windowTime.ts","../../../src/internal/operators/windowToggle.ts","../../../src/internal/operators/windowWhen.ts","../../../src/internal/operators/withLatestFrom.ts","../../../src/internal/operators/zip.ts","../../../src/internal/operators/zipAll.ts","../../../src/internal/scheduled/scheduleArray.ts","../../../src/internal/scheduled/scheduleIterable.ts","../../../src/internal/scheduled/scheduleObservable.ts","../../../src/internal/scheduled/schedulePromise.ts","../../../src/internal/scheduled/scheduled.ts","../../../src/internal/scheduler/Action.ts","../../../src/internal/scheduler/AnimationFrameAction.ts","../../../src/internal/scheduler/AnimationFrameScheduler.ts","../../../src/internal/scheduler/AsapAction.ts","../../../src/internal/scheduler/AsapScheduler.ts","../../../src/internal/scheduler/AsyncAction.ts","../../../src/internal/scheduler/AsyncScheduler.ts","../../../src/internal/scheduler/QueueAction.ts","../../../src/internal/scheduler/QueueScheduler.ts","../../../src/internal/scheduler/VirtualTimeScheduler.ts","../../../src/internal/scheduler/animationFrame.ts","../../../src/internal/scheduler/asap.ts","../../../src/internal/scheduler/async.ts","../../../src/internal/scheduler/queue.ts","../../../src/internal/symbol/iterator.ts","../../../src/internal/symbol/observable.ts","../../../src/internal/symbol/rxSubscriber.ts","../../../src/internal/util/ArgumentOutOfRangeError.ts","../../../src/internal/util/EmptyError.ts","../../../src/internal/util/Immediate.ts","../../../src/internal/util/ObjectUnsubscribedError.ts","../../../src/internal/util/TimeoutError.ts","../../../src/internal/util/UnsubscriptionError.ts","../../../src/internal/util/canReportError.ts","../../../src/internal/util/hostReportError.ts","../../../src/internal/util/identity.ts","../../../src/internal/util/isArray.ts","../../../src/internal/util/isArrayLike.ts","../../../src/internal/util/isDate.ts","../../../src/internal/util/isFunction.ts","../../../src/internal/util/isInteropObservable.ts","../../../src/internal/util/isIterable.ts","../../../src/internal/util/isNumeric.ts","../../../src/internal/util/isObject.ts","../../../src/internal/util/isObservable.ts","../../../src/internal/util/isPromise.ts","../../../src/internal/util/isScheduler.ts","../../../src/internal/util/noop.ts","../../../src/internal/util/not.ts","../../../src/internal/util/pipe.ts","../../../src/internal/util/subscribeTo.ts","../../../src/internal/util/subscribeToArray.ts","../../../src/internal/util/subscribeToIterable.ts","../../../src/internal/util/subscribeToObservable.ts","../../../src/internal/util/subscribeToPromise.ts","../../../src/internal/util/subscribeToResult.ts","../../../src/internal/util/toSubscriber.ts","../../src/operators/index.ts","../src/options.js","../src/showdown.js","../src/helpers.js","../src/converter.js","../src/subParsers/anchors.js","../src/subParsers/autoLinks.js","../src/subParsers/blockGamut.js","../src/subParsers/blockQuotes.js","../src/subParsers/codeBlocks.js","../src/subParsers/codeSpans.js","../src/subParsers/completeHTMLDocument.js","../src/subParsers/detab.js","../src/subParsers/ellipsis.js","../src/subParsers/emoji.js","../src/subParsers/encodeAmpsAndAngles.js","../src/subParsers/encodeBackslashEscapes.js","../src/subParsers/encodeCode.js","../src/subParsers/escapeSpecialCharsWithinTagAttributes.js","../src/subParsers/githubCodeBlocks.js","../src/subParsers/hashBlock.js","../src/subParsers/hashCodeTags.js","../src/subParsers/hashElement.js","../src/subParsers/hashHTMLBlocks.js","../src/subParsers/hashHTMLSpans.js","../src/subParsers/hashPreCodeTags.js","../src/subParsers/headers.js","../src/subParsers/horizontalRule.js","../src/subParsers/images.js","../src/subParsers/italicsAndBold.js","../src/subParsers/lists.js","../src/subParsers/metadata.js","../src/subParsers/outdent.js","../src/subParsers/paragraphs.js","../src/subParsers/runExtension.js","../src/subParsers/spanGamut.js","../src/subParsers/strikethrough.js","../src/subParsers/stripLinkDefinitions.js","../src/subParsers/tables.js","../src/subParsers/underline.js","../src/subParsers/unescapeSpecialChars.js","../src/subParsers/makeMarkdown/blockquote.js","../src/subParsers/makeMarkdown/codeBlock.js","../src/subParsers/makeMarkdown/codeSpan.js","../src/subParsers/makeMarkdown/emphasis.js","../src/subParsers/makeMarkdown/header.js","../src/subParsers/makeMarkdown/hr.js","../src/subParsers/makeMarkdown/image.js","../src/subParsers/makeMarkdown/links.js","../src/subParsers/makeMarkdown/list.js","../src/subParsers/makeMarkdown/listItem.js","../src/subParsers/makeMarkdown/node.js","../src/subParsers/makeMarkdown/paragraph.js","../src/subParsers/makeMarkdown/pre.js","../src/subParsers/makeMarkdown/strikethrough.js","../src/subParsers/makeMarkdown/strong.js","../src/subParsers/makeMarkdown/table.js","../src/subParsers/makeMarkdown/tableCell.js","../src/subParsers/makeMarkdown/txt.js","../src/loader.js","/webpack/universalModuleDefinition","webpack:/webpack/bootstrap 880284bba766cb9419d9","/src/entries/chunks/helpers.ts","/src/jsonobject.ts","/src/surveyStrings.ts","/src/questionfactory.ts","/src/helpers.ts","/src/base.ts","/~/knockout/build/output/knockout-latest.js","/src/knockout/koquestion.ts","/src/settings.ts","/src/question.ts","/src/conditions.ts","/src/error.ts","/src/itemvalue.ts","/src/defaultCss/cssstandard.ts","/src/localizablestring.ts","/src/conditionProcessValue.ts","/src/knockout/kobase.ts","/src/knockout/koquestion_baseselect.ts","/src/knockout/kosurvey.ts","/src/survey.ts","/src/panel.ts","/src/question_baseselect.ts","/src/question_matrixdropdownbase.ts","/src/textPreProcessor.ts","/src/expressions/expressions.ts","/src/functionsfactory.ts","/src/knockout/kopage.ts","/src/page.ts","/src/questionCustomWidgets.ts","/src/question_dropdown.ts","/src/question_expression.ts","/src/question_text.ts","/src/questionnonvalue.ts","/src/stylesmanager.ts","/src/utils/utils.ts","/src/validator.ts","/src/defaultCss/cssbootstrap.ts","/src/defaultCss/cssbootstrapmaterial.ts","/src/defaultCss/cssmodern.ts","/src/entries/chunks/model.ts","/src/choicesRestfull.ts","/src/conditionsParser.ts","/src/dxSurveyService.ts","/src/flowpanel.ts","/src/knockout/koquestion_matrixdropdown.ts","/src/knockout/koquestion_text.ts","/src/knockout/templateText.ts","/src/localization/english.ts","/src/martixBase.ts","/src/question_boolean.ts","/src/question_checkbox.ts","/src/question_comment.ts","/src/question_custom.ts","/src/question_empty.ts","/src/question_file.ts","/src/question_html.ts","/src/question_image.ts","/src/question_imagepicker.ts","/src/question_matrix.ts","/src/question_matrixdropdown.ts","/src/question_matrixdynamic.ts","/src/question_multipletext.ts","/src/question_paneldynamic.ts","/src/question_radiogroup.ts","/src/question_rating.ts","/src/question_signaturepad.ts","/src/surveyWindow.ts","/src/surveytimer.ts","/src/entries/knockout.ts","/src/main.scss","/src/knockout/templates/flowpanel.html","/src/knockout/templates/header.html","/src/knockout/templates/index.html","/src/knockout/templates/page.html","/src/knockout/templates/panel.html","/src/knockout/templates/progress.html","/src/knockout/templates/question-boolean.html","/src/knockout/templates/question-checkbox.html","/src/knockout/templates/question-comment.html","/src/knockout/templates/question-composite.html","/src/knockout/templates/question-custom.html","/src/knockout/templates/question-dropdown.html","/src/knockout/templates/question-empty.html","/src/knockout/templates/question-expression.html","/src/knockout/templates/question-html.html","/src/knockout/templates/question-imagepicker.html","/src/knockout/templates/question-matrix.html","/src/knockout/templates/question-matrixdynamic.html","/src/knockout/templates/question-multipletext.html","/src/knockout/templates/question-paneldynamic-navigator.html","/src/knockout/templates/question-paneldynamic.html","/src/knockout/templates/question-radiogroup.html","/src/knockout/templates/question-rating.html","/src/knockout/templates/question-signaturepad.html","/src/knockout/templates/question-text.html","/src/knockout/templates/question.html","/src/knockout/templates/questiontitle.html","/src/knockout/templates/rows.html","/src/knockout/templates/string.html","/src/knockout/templates/timerpanel.html","/~/signature_pad/dist/signature_pad.mjs","/src/calculatedValue.ts","/src/expressionItems.ts","/src/expressions/expressionParser.ts","/src/knockout/koSurveyWindow.ts","/src/knockout/koflowpanel.ts","/src/knockout/koquestion_boolean.ts","/src/knockout/koquestion_checkbox.ts","/src/knockout/koquestion_comment.ts","/src/knockout/koquestion_custom.ts","/src/knockout/koquestion_dropdown.ts","/src/knockout/koquestion_empty.ts","/src/knockout/koquestion_expression.ts","/src/knockout/koquestion_file.ts","/src/knockout/koquestion_html.ts","/src/knockout/koquestion_image.ts","/src/knockout/koquestion_imagepicker.ts","/src/knockout/koquestion_matrix.ts","/src/knockout/koquestion_matrixdynamic.ts","/src/knockout/koquestion_multipletext.ts","/src/knockout/koquestion_paneldynamic.ts","/src/knockout/koquestion_radiogroup.ts","/src/knockout/koquestion_rating.ts","/src/knockout/koquestion_signaturepad.ts","/src/localization/arabic.ts","/src/localization/bulgarian.ts","/src/localization/catalan.ts","/src/localization/czech.ts","/src/localization/danish.ts","/src/localization/dutch.ts","/src/localization/estonian.ts","/src/localization/finnish.ts","/src/localization/french.ts","/src/localization/georgian.ts","/src/localization/german.ts","/src/localization/greek.ts","/src/localization/hebrew.ts","/src/localization/hungarian.ts","/src/localization/icelandic.ts","/src/localization/indonesian.ts","/src/localization/italian.ts","/src/localization/japanese.ts","/src/localization/korean.ts","/src/localization/latvian.ts","/src/localization/lithuanian.ts","/src/localization/norwegian.ts","/src/localization/persian.ts","/src/localization/polish.ts","/src/localization/portuguese.ts","/src/localization/romanian.ts","/src/localization/russian.ts","/src/localization/simplified-chinese.ts","/src/localization/spanish.ts","/src/localization/swahili.ts","/src/localization/swedish.ts","/src/localization/tajik.ts","/src/localization/thai.ts","/src/localization/traditional-chinese.ts","/src/localization/turkish.ts","/src/localization/ukrainian.ts","/src/trigger.ts","/src/entries/angular.ts","./node_modules/tslib/tslib.es6.js"],"names":["PRE_STYLE","AnimationGroupPlayer","ONE_SECOND","stringify","isListLikeIterable","parseCookieValue","noSideEffects","fn","toString","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","name","props","parentClass","additionalProcessing","typeFn","metaCtor","makeMetadataCtor","DecoratorFactory","args","call","annotationInstance","TypeDecorator","cls","annotations","hasOwnProperty","Object","defineProperty","value","push","prototype","create","ngMetadataName","annotationCls","ctor","values","propName","makeParamDecorator","ParamDecoratorFactory","apply","ParamDecorator","annotation","unusedKey","index","parameters","length","makePropDecorator","PropDecoratorFactory","decoratorInstance","PropDecorator","target","constructor","meta","unshift","ɵ0","token","Inject","Optional","Self","SkipSelf","Host","ɵ1","attributeName","Attribute","InjectFlags","getClosureSafeProperty","objWithPropertyToExtract","key","Error","fillProperties","source","ɵɵdefineInjectable","opts","providedIn","factory","undefined","defineInjectable","ɵɵdefineInjector","options","providers","imports","getInjectableDef","type","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","def","getInheritedInjectableDef","NG_PROV_DEF_FALLBACK","typeName","getTypeName","console","warn","match","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ɵprov","ɵinj","ɵprovFallback","ngInjectableDef","ngInjectorDef","Array","isArray","map","join","overriddenName","res","newLineIndex","indexOf","substring","concatStringsWithSpace","before","after","__forward_ref__","forwardRef","forwardRefFn","resolveForwardRef","isForwardRef","__globalThis","globalThis","__window","window","__self","self","WorkerGlobalScope","__global","global","_global","R3ResolvedDependencyType","R3FactoryTarget","ViewEncapsulation","getCompilerFacade","globalNg","ɵcompilerFacade","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","location","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","InjectionToken","_desc","INJECTOR","_THROW_IF_NOT_FOUND","THROW_IF_NOT_FOUND","NG_TEMP_TOKEN_PATH","NG_TOKEN_PATH","NEW_LINE","NO_NEW_LINE","SOURCE","ɵ0$1","USE_VALUE","provide","String","useValue","_currentInjector","setCurrentInjector","injector","former","_injectImplementation","setInjectImplementation","impl","previous","injectInjectorOnly","flags","Default","injectRootLimpMode","get","ɵɵinject","ɵɵinvalidFactoryDep","msg","inject","notFoundValue","injectableDef","injectArgs","types","i","arg","j","NullInjector","error","catchInjectorError","e","injectorErrorName","tokenPath","message","formatError","text","obj","charAt","substr","context","parts","JSON","replace","angularCoreDiEnv","getFactoryOf","typeAny","NgModuleRef","NgModuleFactory","assertNumber","actual","throwError","assertNumberInRange","minInclusive","maxInclusive","assertLessThanOrEqual","assertGreaterThanOrEqual","assertString","assertEqual","expected","assertNotEqual","assertSame","assertNotSame","assertLessThan","assertGreaterThan","assertNotDefined","assertDefined","comparison","assertDomNode","node","Node","assertDataInRange","arr","maxLen","addAllToArray","items","flatten","list","dst","item","slice","deepForEach","input","forEach","addToArray","splice","removeFromArray","pop","newArray","size","arraySplice","array","count","arrayInsert","end","previousEnd","arrayInsert2","value1","value2","arrayInsertSorted","arrayIndexOfSorted","arrayRemoveSorted","_arrayIndexOfSorted","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","keyValueArrayGet","keyValueArrayDelete","shift","start","middle","current","ChangeDetectionStrategy","ChangeDetectorStatus","isDefaultChangeDetectionStrategy","changeDetectionStrategy","ViewEncapsulation$1","EMPTY_OBJ","EMPTY_ARRAY","freeze","_renderCompCount","ɵɵdefineComponent","componentDefinition","typePrototype","declaredInputs","providersResolver","decls","vars","template","consts","ngContentSelectors","hostBindings","hostVars","hostAttrs","contentQueries","inputs","outputs","exportAs","onChanges","onInit","ngOnInit","doCheck","ngDoCheck","afterContentInit","ngAfterContentInit","afterContentChecked","ngAfterContentChecked","afterViewInit","ngAfterViewInit","afterViewChecked","ngAfterViewChecked","onDestroy","ngOnDestroy","onPush","changeDetection","OnPush","directiveDefs","pipeDefs","selectors","viewQuery","features","data","encapsulation","Emulated","id","styles","_","setInput","schemas","directiveTypes","directives","feature","pipeTypes","pipes","invertObject","extractDirectiveDef","extractPipeDef","ɵɵsetComponentScope","getComponentDef","getDirectiveDef","getPipeDef","autoRegisterModuleById","ɵɵdefineNgModule","bootstrap","declarations","exports","transitiveCompileScopes","ɵɵsetNgModuleScope","scope","ngModuleDef","getNgModuleDef","secondary","newLookup","minifiedKey","publicName","declaredName","ɵɵdefineDirective","ɵɵdefinePipe","pipeDef","pure","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","unusedValueExportToPlacateAjd","TYPE","HAS_TRANSPLANTED_VIEWS","NATIVE","VIEW_REFS","MOVED_VIEWS","CONTAINER_HEADER_OFFSET","unusedValueExportToPlacateAjd$1","isLView","isLContainer","isContentQueryHost","isComponentHost","isDirectiveHost","isComponentDef","isRootView","assertTNodeForLView","lView","tView_","assertComponentType","assertNgModuleType","assertPreviousIsParent","isParent","assertHasParent","parent","assertDataNext","assertLContainer","assertLViewOrUndefined","assertLView","assertFirstCreatePass","errMessage","assertFirstUpdatePass","firstUpdatePass","assertDirectiveDef","SVG_NAMESPACE","MATH_ML_NAMESPACE","MONKEY_PATCH_KEY_NAME","DOCUMENT","setDocument","document","getDocument","RendererStyleFlags3","isProceduralRenderer","renderer","listen","ɵ0$2","hostElement","rendererType","domRendererFactory3","createRenderer","unusedValueExportToPlacateAjd$2","unwrapRNode","unwrapLView","unwrapLContainer","getNativeByIndex","getNativeByTNode","getNativeByTNodeOrNull","getTNode","load","view","getComponentLViewByIndex","nodeIndex","hostView","slotValue","readPatchedData","readPatchedLView","isCreationMode","viewAttachedToChangeDetector","viewAttachedToContainer","getConstant","resetPreOrderHookFlags","updateTransplantedViewCount","lContainer","amount","viewOrContainer","instructionState","lFrame","createLFrame","bindingsEnabled","checkNoChangesMode","getElementDepthCount","elementDepthCount","increaseElementDepthCount","decreaseElementDepthCount","getBindingsEnabled","ɵɵenableBindings","ɵɵdisableBindings","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","getPreviousOrParentTNode","previousOrParentTNode","setPreviousOrParentTNode","getIsParent","setIsNotParent","setIsParent","getContextLView","getCheckNoChangesMode","setCheckNoChangesMode","mode","getBindingRoot","bindingRootIndex","bindingStartIndex","getBindingIndex","bindingIndex","setBindingIndex","nextBindingIndex","incrementBindingIndex","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveIndex","getCurrentDirectiveDef","tData","getCurrentQueryIndex","currentQueryIndex","setCurrentQueryIndex","enterDI","newView","newLFrame","allocLFrame","enterView","selectedIndex","currentNamespace","currentLFrame","childLFrame","child","leaveViewLight","oldLFrame","leaveDI","leaveView","nextContextImpl","level","walkUpViews","nestingLevel","currentView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceMathML","ɵɵnamespaceHTML","namespaceHTMLInternal","getNamespace","registerPreOrderHooks","directiveIndex","directiveDef","preOrderHooks","preOrderCheckHooks","registerPostOrderHooks","directiveStart","directiveEnd","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","hooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentNodeIndex","startIndex","nodeIndexLimit","lastNodeIndexFound","hook","isInitHook","callHook","directive","indexWithintInitPhase","TNODE","PARENT_INJECTOR","INJECTOR_BLOOM_PARENT_SIZE","NO_PARENT_INJECTOR","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","isFactory","unusedValueExportToPlacateAjd$3","assertNodeType","assertNodeOfPossibleTypes","found","some","assertNodeNotOfTypes","setUpAttributes","native","attrs","isProc","namespaceURI","attrName","attrVal","setAttribute","setAttributeNS","isAnimationProp","setProperty","isNameOnlyAttributeMarker","marker","charCodeAt","mergeHostAttrs","src","srcMarker","mergeHostAttribute","key1","key2","markerInsertPosition","dstValue","hasParentInjector","parentLocation","getParentInjectorIndex","getParentInjectorViewOffset","getParentInjectorView","startView","viewOffset","parentView","renderStringify","stringifyForError","ɵ0$3","requestAnimationFrame","setTimeout","bind","defaultScheduler","ɵɵresolveWindow","element","ownerDocument","defaultView","ɵɵresolveDocument","ɵɵresolveBody","body","INTERPOLATION_DELIMITER","maybeUnwrapFn","Function","includeViewProviders","setIncludeViewProviders","v","oldValue","BLOOM_SIZE","BLOOM_MASK","nextNgElementId","bloomAdd","injectorIndex","bloomBit","mask","b7","b6","b5","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","parentLView","parentData","footer","hostTNode","diPublicInInjector","injectAttributeImpl","attrNameToInject","classes","attrsLength","getOrCreateInjectable","bloomHash","bloomHashBitOrFactory","NodeInjector","previousTView","hostTElementNode","shouldSearchParent","bloomHasToken","instance","searchTokensOnInjector","NOT_FOUND","moduleInjector","previousInjectImplementation","currentTView","canAccessViewProviders","isHostSpecialCase","injectableIdx","locateDirectiveOrProvider","getNodeInjectable","nodeProviderIndexes","providerIndexes","tInjectables","injectablesStart","directivesStart","cptViewProvidersCount","startingIndex","endIndex","providerTokenOrDef","dirDef","previousIncludeViewProviders","tokenId","injectorView","isFirstHostTNode","_tNode","_lView","ɵɵgetFactoryOf","injectorDef","ɵɵgetInheritedFactory","ownConstructor","ownFactory","objectPrototype","getPrototypeOf","t","ERROR_TYPE","ERROR_DEBUG_CONTEXT","ERROR_ORIGINAL_ERROR","ERROR_LOGGER","wrappedError","originalError","getType","getDebugContext","getOriginalError","getErrorLogger","defaultErrorLogger","ErrorHandler","_console","_findOriginalError","_findContext","errorLogger","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","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","html","DOMParser","parseFromString","removeChild","firstChild","_a","inertDocument","implementation","createHTMLDocument","inertHtml","createElement","appendChild","inertBodyElement","templateEl","innerHTML","inertBody","documentMode","stripCustomNsAttrs","el","elAttrs","attributes","attrib","removeAttribute","childNode","nodeType","ELEMENT_NODE","nextSibling","SAFE_URL_PATTERN","SAFE_SRCSET_PATTERN","DATA_URL_PATTERN","_sanitizeUrl","url","sanitizeSrcset","srcset","split","trim","tagSet","tags","merge","sets","s","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","chars","nodeValue","endElement","next","checkClobberedElement","parentNode","tagName","nodeName","toLowerCase","elAttr","lower","encodeEntities","nextNode","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","outerHTML","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","hi","low","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","unsafeHtml","getInertBodyElement","mXSSAttempts","parsedHtml","sanitizer","safeHtml","sanitizeChildren","getTemplateContent","isTemplateElement","content","SecurityContext","ɵɵsanitizeHtml","getSanitizer","sanitize","HTML","ɵɵsanitizeStyle","unsafeStyle","STYLE","ɵɵsanitizeUrl","unsafeUrl","URL","ɵɵsanitizeResourceUrl","unsafeResourceUrl","RESOURCE_URL","ɵɵsanitizeScript","unsafeScript","SCRIPT","getUrlSanitizer","tag","prop","ɵɵsanitizeUrlOrResourceUrl","validateAgainstEventProperties","startsWith","validateAgainstEventAttributes","createNamedArrayType","FunctionConstructor","normalizeDebugBindingName","camelCaseToDashCase","CAMEL_CASE_REGEXP","m","normalizeDebugBindingValue","getLContext","mpValue","component","isComponentInstance","findViaComponent","isDirectiveInstance","findViaDirective","getDirectivesAtNodeIndex","findViaNativeElement","existingCtx","createLContext","attachPatchData","rElement","parentContext","localRefs","getComponentViewByInstance","componentInstance","traverseNextElement","componentIndices","components","elementComponentIndex","componentView","rootComponentView","rootComponent","directiveInstance","directiveIndexStart","directiveIndexEnd","includeComponents","directiveStartIndex","directiveEndIndex","getComponentAtNodeIndex","discoverLocalRefs","localNames","result","localIndex","throwCyclicDependencyError","throwMultipleComponentError","throwMixedMultiProviderError","throwInvalidProviderError","ngModuleType","provider","ngModuleDetail","providerDetail","throwErrorIfNoChangesMode","creationMode","currValue","field","constructDetailsForInterpolation","rootIndex","expressionIndex","changedValue","prefix","chunks","newValue","slotIdx","getExpressionChangedErrorDetails","metadata","idx","matches","RegExp","unusedValueExportToPlacateAjd$4","hasClassInput","hasStyleInput","unusedValueExportToPlacateAjd$5","classIndexOf","className","classToSearch","foundIndex","unusedValueToPlacateAjd","NG_TEMPLATE_SELECTOR","isCssClassMatching","cssClassToMatch","isProjectionMode","isInlineTemplate","hasTagAndTypeMatch","currentSelector","tagNameToCompare","isNodeMatchingSelector","selector","nodeAttrs","nameOnlyMarkerIdx","getNameOnlyMarkerIndex","skipToNextSelector","isPositive","selectorAttrValue","attrIndexInNode","findAttrIndexInNode","nodeAttrValue","compareAgainstClassName","bindingsMode","maybeAttrName","matchTemplateAttribute","isNodeMatchingSelectorList","getProjectAsAttrValue","ngProjectAsAttrIdx","nodeAttr","attr","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","chunk","stringifyCSSSelector","currentChunk","valueOrMarker","attrValue","stringifyCSSSelectorList","selectorList","extractAttrsAndClassesFromSelector","NO_CHANGE","__brand__","getLViewParent","getRootView","componentOrLView","getRootContext","viewOrComponent","rootView","getFirstLContainer","getNearestLContainer","getNextLContainer","container","ɵɵadvance","delta","selectIndexInternal","ɵɵselect","hooksInitPhaseCompleted","ELEMENT_MARKER","COMMENT_MARKER","unusedValueExportToPlacateAjd$6","toTStylingRange","prev","getTStylingRangePrev","tStylingRange","getTStylingRangePrevDuplicate","setTStylingRangePrev","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","getTStylingRangeNextDuplicate","setTStylingRangeNextDuplicate","getTStylingRangeTail","attachDebugObject","debug","enumerable","NG_DEV_MODE","LVIEW_COMPONENT_CACHE","LVIEW_EMBEDDED_CACHE","LVIEW_ROOT","cloneToLViewFromTViewBlueprint","debugTView","getLViewToClone","concat","Map","componentArray","nameSuffix","set","embeddedArray","lastIndexOf","TViewConstructor","queries","expandoStartIndex","expandoInstructions","staticViewQueries","staticContentQueries","cleanup","directiveRegistry","pipeRegistry","incompleteFirstPass","processTNodeChildren","TNode","directiveStylingLast","propertyBindings","mergedAttrs","initialInputs","tViews","projectionNext","projection","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","type_","toDebugStyleBinding","TNodeDebug","isClassBased","bindings","range","isTemplate","cursor","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","isTextNode","textContent","_raw_lView","__raw__flags__","initPhaseState","firstViewPass","checkAlways","dirty","attached","destroyed","isRoot","indexWithinInitPhase","nodes","toDebugNodes","childViews","childHead","debugNodes","tNodeCursor","buildDebugNode","rawValue","componentLViewDebug","readLViewValue","_raw_lContainer","I18NDebugItem","__raw_opCode","attachI18nOpCodesDebug","mutateOpCodes","updateOpCodes","icus","I18nMutateOpCodesDebug","I18nUpdateOpCodesDebug","icu","icuCase","update","__raw_opCodes","__lView","results","opCode","destinationNodeIndex","elementIndex","commentValue","code","checkBit","skipCodes","tIcuIndex","tIcu","sanitizeFn","ɵ0$4","Promise","resolve","_CLEAN_PROMISE","setHostBindingsByExecutingExpandoInstructions","currentElementIndex","instruction","providerCount","hostCtx","refreshContentQueries","queryStartIdx","directiveDefIdx","refreshChildComponents","hostLView","refreshComponent","renderChildComponents","renderComponent","elementCreate","namespace","createElementNS","createLView","host","tHostNode","rendererFactory","getOrCreateTNode","adjustedIndex","createTNodeAtIndex","parentInSameView","tParentNode","createTNode","assignTViewNodeToLView","allocExpando","numSlotsToAlloc","renderView","executeViewQueryFn","templateFn","executeTemplate","refreshView","markTransplantedViewsForRefresh","refreshEmbeddedViews","renderComponentOrTemplate","normalExecutionPath","creationModeIsActive","begin","rf","prevSelectedIndex","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","invokeDirectivesHostBindings","saveResolvedLocalsInData","viewData","localRefExtractor","getOrCreateTComponentView","createTView","viewIndex","initialViewLength","createViewBlueprint","fill","createError","assertHostNodeExists","elementOrSelector","locateHostElement","preserveContent","ShadowDom","selectRootElement","querySelector","storeCleanupWithContext","cleanupFn","lCleanup","getLCleanup","getTViewCleanup","tParent","generatePropertyAliases","inputAliasMap","propStore","internalName","initializeInputAndOutputAliases","defs","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","directiveInputs","generateInitialInputs","mapPropName","elementPropertyInternal","nativeOnly","inputData","dataValue","setInputsForProperty","markDirtyIfOnPush","setNgReflectProperties","validateProperty","logUnknownPropertyError","matchingSchemas","childComponentLView","setNgReflectProperty","debugValue","setValue","schema","instantiateRootComponent","rootTNode","generateExpandoInstructionBlock","baseResolveDirective","resolveDirectives","hasDirectives","findDirectiveDefMatches","exportsMap","totalDirectiveHostVars","initTNodeFlags","preOrderHooksFound","preOrderCheckHooksFound","saveNameToExportMap","addHostBindingsToExpandoInstructions","growHostVarsSpace","cacheMatchingLocalNames","expando","isComponent","addComponentLogic","setInputsFromAttrs","dirIndex","invokeHostBindingsInCreationMode","directiveCount","providerStartIndex","registry","markAsComponentHost","numberOfDirectives","directiveFactory","nodeInjectorFactory","addToViewTree","elementAttributeInternal","strValue","initialInputData","privateName","nativeElement","inputsToStore","LContainerArray","createLContainer","hostNative","embeddedLView","embeddedTView","movedViews","movedLView","insertionLContainer","componentHostIdx","refreshContainsDirtyView","componentTView","syncViewWithBlueprint","lViewOrLContainer","markViewDirty","scheduleTick","rootContext","nothingScheduled","clean","r","scheduler","tickRootContext","playerHandler","flushPlayers","detectChangesInternal","handleError","detectChangesInRootView","checkNoChangesInternal","checkNoChangesInRootView","viewQueryFn","storePropertyBindingMetadata","propertyName","propBindingIdxs","bindingMetadata","interpolationParts","CLEAN_PROMISE","loadComponentRenderer","currentDef","errorHandler","textBindingInternal","unusedValueToPlacateAjd$1","getLContainer","embeddedView","getContainerRenderParent","tViewNode","nativeParentNode","applyToElementOrContainer","action","lNodeToHandle","beforeNode","rNode","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","destroyNode","applyContainer","createTextNode","createText","addRemoveViewFromContainer","insertMode","renderParent","applyView","renderDetachView","destroyViewTree","cleanUpView","firstView","getParentState","insertView","indexInContainer","containerLength","declarationLContainer","trackMovedView","lQueries","declarationContainer","insertedLContainer","insertedComponentLView","declaredComponentLView","detachMovedView","declarationViewIndex","detachView","removeIndex","viewToDetach","removedLView","removeView","detachedView","destroyLView","executeOnDestroys","removeListeners","destroy","tCleanup","idxOrTargetGetter","listener","useCaptureOrSubIdx","removeEventListener","unsubscribe","toCall","getRenderParent","parentTNode","isIcuCase","Native","insertBefore","nativeAppendOrInsertBefore","nativeRemoveChild","isHostElement","nativeNextSibling","getNativeAnchorNode","getBeforeNodeForView","childEl","childTNode","anchorNode","getFirstNativeNode","tNodeType","elIcuContainerChild","rNodeOrLContainer","componentHost","firstProjectedTNode","viewIndexInContainer","nextViewIndex","firstTNodeOfView","nativeParent","applyNodes","isProjection","rawSlotValue","applyProjectionRecursive","viewRootTNode","applyProjection","tProjectionNode","componentLView","componentNode","nodeToProjectOrRNodes","nodeToProject","projectedComponentLView","anchor","applyStyling","isProcedural","removeClass","classList","remove","addClass","add","removeStyle","style","removeProperty","setStyle","writeDirectStyle","cssText","writeDirectClass","getParentInjectorTNode","startTNode","ViewRef","_cdRefInjectingView","_appRef","_viewContainerRef","detach","callback","vcRef","appRef","hostTView","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","componentFactory","projectableNodes","ngModuleRef","contextInjector","parentInjector","ngModule","componentRef","allocateContainerIfNeeded","prevIdx","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","attachToViewContainerRef","newIndex","viewRefsArr","wasDetached","commentNode","createComment","parentOfHostNative","injectChangeDetectorRef","isPipe","createViewRef","isComponentView","hostComponentView","getOrCreateRenderer2","injectRenderer2","nodeAtIndex","ChangeDetectorRef","SWITCH_CHANGE_DETECTOR_REF_FACTORY","SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__","SWITCH_CHANGE_DETECTOR_REF_FACTORY__PRE_R3__","ɵ0$5","Type","isType","DELEGATE_CTOR","INHERITED_CLASS","INHERITED_CLASS_WITH_CTOR","INHERITED_CLASS_WITH_DELEGATE_CTOR","isDelegateCtor","typeStr","test","ReflectionCapabilities","reflect","_reflect","paramTypes","paramAnnotations","parentCtor","tsickleCtorParams","ctorParameters","ctorParam","convertTsickleDecoratorIntoMetadata","decorators","_zipTypesAndAnnotations","getOwnMetadata","getParentCtor","_ownParameters","typeOrFunc","ownAnnotations","_ownAnnotations","parentAnnotations","propMetadata","propDecorators","keys","parentPropMetadata","ownPropMetadata","_ownPropMetadata","lcProperty","functionBody","moduleUrl","members","runtime","enumIdentifier","decoratorInvocations","decoratorInvocation","decoratorType","annotationArgs","parentProto","getReflect","reflectDependencies","convertDependencies","deps","compiler","dep","reflectDependency","optional","resolved","Token","skipSelf","setTokenAndResolvedType","param","proto","Invalid","compileInjectable","srcMeta","ngFactoryDef","getInjectableMetadata","compileFactory","typeArgumentCount","injectFn","Injectable","configurable","ɵ0$6","USE_VALUE$1","isUseClassProvider","useClass","isUseValueProvider","isUseFactoryProvider","useFactory","isUseExistingProvider","useExisting","compilerMeta","userDeps","ɵ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","Set","_destroyed","dedupStack","processProvider","processInjectorType","makeRecord","record","assertNotDestroyed","service","clear","previousInjector","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","nextInjector","path","tokens","defOrWrappedDef","parents","defName","isDuplicate","importTypesWithProviders","imported","defProviders","injectorType","isTypeProvider","providerToRecord","multi","multiRecord","existing","hasOnDestroy","has","getUndecoratedInjectableFactory","paramLength","inheritedInjectableDef","isValueProvider","providerToFactory","unwrappedProvider","isFactoryProvider","isExistingProvider","classRef","hasDeps","isClassProvider","INJECTOR_IMPL__PRE_R3__","StaticInjector","INJECTOR_IMPL__POST_R3__","INJECTOR_IMPL","Injector","NULL","IDENT","ɵ0$9","EMPTY","CIRCULAR$1","MULTI_PROVIDER_FN","arguments","ɵ1$1","NO_NEW_LINE$1","_records","useNew","recursivelyProcessProviders","resolveProvider","lastInjector","tryResolveToken","computeDeps","staticError","multiProviderMixError","resolvedProvider","multiProvider","resolveToken","depRecords","depRecord","childRecord","providerDeps","findFirstClosedCycle","constructResolvingPath","reversed","reverse","tokenStrs","k","injectionError","constructResolvingMessage","errMsg","addKey","injectors","noProviderError","first","cyclicDependencyError","instantiationError","originalException","originalStack","invalidProviderError","noAnnotationError","params","signature","ii","parameter","outOfBoundsError","mixingMultiProvidersWithRegularProvidersError","provider1","provider2","ReflectiveKey","displayName","_globalKeyRegistry","numberOfKeys","KeyRegistry","_allKeys","newKey","Reflector","caps","hasLifecycleHook","getter","setter","method","importUri","resourceUri","resolveIdentifier","identifier","resolveEnum","reflector","ReflectiveDependency","visibility","_EMPTY_LIST","ResolvedReflectiveProvider_","resolvedFactories","resolvedFactory","ResolvedReflectiveFactory","dependencies","resolveReflectiveFactory","factoryFn","resolvedDeps","_dependenciesFor","aliasInstance","fromKey","constructDependencies","resolveReflectiveProvider","resolveReflectiveProviders","normalized","_normalizeProviders","resolvedProviderMap","mergeResolvedReflectiveProviders","from","normalizedProvidersMap","b","_extractToken","p","_createDependency","paramMetadata","UNDEFINED","ReflectiveInjector","ResolvedReflectiveProviders","fromResolvedProviders","ReflectiveInjector_","_providers","_parent","_constructionCounter","len","keyIds","objs","_getByKey","createChildFromResolved","inj","instantiateResolved","_instantiateProvider","_getMaxNumberOfObjects","_instantiate","_getByReflectiveDependency","stack","INJECTOR_KEY","_getByKeySelf","_getByKeyDefault","keyId","_new","_getObjByKeyId","_throwOrNull","inj_","_mapProviders","getProviderAtIndex","ANALYZE_FOR_ENTRY_COMPONENTS","Query","ɵ0$a","assign","isViewQuery","descendants","ContentChildren","ɵ1$2","ContentChild","ɵ2","ViewChildren","ɵ3","ViewChild","resolveComponentResources","resourceResolver","componentResolved","urlMap","cachedResourceResolve","promise","resp","then","unwrapResponse","componentResourceResolutionQueue","promises","templateUrl","styleUrls","styleOffset","styleUrl","fullyResolved","all","componentDefResolved","clearResolutionOfComponentResourcesQueue","componentDefPendingResolution","maybeQueueResolutionOfComponentResources","componentNeedsResolution","isComponentDefPendingResolution","old","restoreComponentResolutionQueue","queue","isComponentResourceResolutionQueueEmpty","response","delete","computeStaticStyling","writeToHost","styleValue","_symbolIterator","getSymbolIterator","Symbol","iterator","getOwnPropertyNames","devModeEqual","a","isListLikeIterableA","isListLikeIterableB","areIterablesEqual","isAObject","isBObject","is","WrappedValue","wrapped","isWrapped","isJsObject","comparator","iterator1","iterator2","item1","item2","done","iterateListLike","o","updateBinding","getBinding","bindingUpdated","oldValueToCompare","details","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolationV","isBindingUpdated","interpolation1","v0","suffix","interpolation2","i0","v1","interpolation3","i1","v2","interpolation4","i2","v3","interpolation5","i3","v4","interpolation6","i4","v5","interpolation7","i5","v6","interpolation8","i6","v7","ɵɵattributeInterpolate1","interpolatedValue","ɵɵattributeInterpolate2","ɵɵattributeInterpolate3","ɵɵattributeInterpolate4","ɵɵattributeInterpolate5","ɵɵattributeInterpolate6","ɵɵattributeInterpolate7","ɵɵattributeInterpolate8","ɵɵattributeInterpolateV","interpolated","interpolationInBetween","detectChanges","markDirty","tick","templateFirstCreatePass","attrsIndex","localRefsIndex","tViewConsts","embeddedTViewNode","ɵɵtemplate","comment","store","ɵɵreference","ɵɵdirectiveInject","ɵɵinjectAttribute","ɵɵinvalidFactory","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","property","elementStartFirstCreatePass","logUnknownElementError","elementStart","ɵɵelementStart","ɵɵelementEnd","elementEnd","ɵɵelement","isUnknown","HTMLUnknownElement","customElements","elementContainerStartFirstCreatePass","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","isPromise","isObservable","subscribe","ɵɵlistener","eventName","listenerFn","useCapture","eventTargetResolver","listenerInternal","ɵɵcomponentHostSyntheticListener","findExistingListener","tNodeIdx","cleanupEventName","listenerIdxInLCleanup","isTNodeDirectiveHost","processOutputs","lCleanupIndex","existingListener","lastListenerFn","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","addEventListener","propsLength","minifiedName","output","subscription","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","preventDefault","returnValue","ɵɵnextContext","matchingProjectionSlotIndex","projectionSlots","wildcardNgContentIndex","ngProjectAsAttrVal","ɵɵprojectionDef","numProjectionSlots","projectionHeads","tails","componentChild","slotIndex","delayProjection","setDelayProjection","ɵɵ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","isHostBinding","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","ch","separator","malformedStyleError","fromCharCode","ch1","ch2","ch3","lastChIndex","consumeQuotedText","quoteCharCode","expecting","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵstyleMap","checkStylingMap","styleKeyValueArraySet","styleStringParser","ɵɵclassMap","classStringParser","stylingFirstUpdatePass","updateStyling","normalizeSuffix","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","endsWith","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","currentValue","ɵɵ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","ɵɵupdateSyntheticHostBinding","getComponent","assertDomElement","loadLContext","getContext","getOwningComponent","elementOrDir","getRootComponents","getInjector","getInjectionTokens","providerTokens","isDirectiveDefHack","getDirectives","throwOnNotFound","getLocalRefs","getHostElement","componentOrDirective","getRenderedText","loadLContextFromNode","getListeners","lContext","listeners","firstParam","secondParam","listenerElement","useCaptureOrIndx","sort","sortListeners","getDebugNode","debugNode","valueInLView","getComponentLView","nodeIndx","Element","applyChanges","GLOBAL_PUBLISH_EXPANDO_KEY","_published","publishDefaultGlobalUtils","publishGlobalUtil","COMPILED","w","ɵ0$b","NULL_INJECTOR$1","renderComponent$1","componentType","componentDef","componentTag","hostRenderer","hostRNode","rootFlags","createRootContext","rootTView","createRootComponentView","createRootComponent","hostFeatures","viewRenderer","rootLView","LifecycleHooksFeature","whenRendered","getSuperType","ɵɵInheritDefinitionFeature","definition","superType","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","animation","defData","ngInherit","mergeHostAttrsAcrossInheritance","prevViewQuery","ctx","prevContentQueries","prevHostBindings","COPY_DIRECTIVE_FIELDS","COPY_COMPONENT_FIELDS","ɵɵCopyDefinitionFeature","defAny","SimpleChange","previousValue","firstChange","PRIVATE_PREFIX","ɵɵNgOnChangesFeature","ngOnChanges","ngOnChangesSetInput","wrapOnChanges","wrapOnChangesHook_inPreviousChangesStorage","simpleChangesStore","getSimpleChangesStore","setSimpleChangesStore","previousChange","SIMPLE_CHANGES_STORE","viewProviders","resolveProvider$1","lInjectablesBlueprint","providerFactory","beginIndex","existingFactoryIndex","registerDestroyHooksIfSupported","existingProvidersFactoryIndex","existingViewProvidersFactoryIndex","doesProvidersFactoryExist","doesViewProvidersFactoryExist","multiFactory","multiViewProvidersFactoryResolver","multiProvidersFactoryResolver","indexInFactory","multiFactoryAdd","componentProviders","contextIndex","providerIsTypeProvider","existingCallbacksIndex","isComponentProvider","lData","multiResolve","factories","componentCount","multiProviders","f","ɵɵProvidersFeature","processProvidersFn","ComponentRef","ComponentFactory","noComponentFactoryError","ERROR_COMPONENT","getComponent$1","_NullComponentFactoryResolver","ComponentFactoryResolver","CodegenComponentFactoryResolver","_ngModule","_factories","resolveComponentFactory","ComponentFactoryBoundToModule","rootSelectorOrNode","noop","ElementRef","SWITCH_ELEMENT_REF_FACTORY","SWITCH_ELEMENT_REF_FACTORY__POST_R3__","SWITCH_ELEMENT_REF_FACTORY__PRE_R3__","Renderer2Interceptor","RendererFactory2","RendererStyleFlags2","Renderer2","SWITCH_RENDERER2_FACTORY","SWITCH_RENDERER2_FACTORY__POST_R3__","SWITCH_RENDERER2_FACTORY__PRE_R3__","Sanitizer","Version","full","major","minor","patch","VERSION","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","currentIndex","getPreviousIndex","adjPreviousIndex","_nextRemoved","previousIndex","localMovePreviousIndex","localCurrentIndex","offset","_nextPrevious","_nextAdded","_nextMoved","_nextIdentityChange","collection","check","_reset","mayBeDirty","itemTrackBy","trackById","_mismatch","_verifyReinsertion","_addIdentityChange","_truncate","isDirty","nextRecord","previousRecord","_prev","_remove","_moveAfter","_reinsertAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","_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","find","supports","getTypeNameForDebugging","copied","KeyValueDiffers","kv","keyValDiff","iterableDiff","defaultIterableDiffers","defaultKeyValueDiffers","TemplateRef","SWITCH_TEMPLATE_REF_FACTORY","SWITCH_TEMPLATE_REF_FACTORY__POST_R3__","SWITCH_TEMPLATE_REF_FACTORY__PRE_R3__","ViewContainerRef","SWITCH_VIEW_CONTAINER_REF_FACTORY","SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__","SWITCH_VIEW_CONTAINER_REF_FACTORY__PRE_R3__","expressionChangedAfterItHasBeenCheckedError","isFirstCheck","viewDebugError","viewWrappedDebugError","err","_addDebugContext","logError","isViewDebugError","viewDestroyedError","shiftInitState","priorInitState","newInitState","state","initState","initIndex","shouldCallLifecycleInitHook","NodeData","asTextData","asElementData","asProviderData","asPureExpressionData","asQueryList","DebugContext","Services","setCurrentNode","createRootView","createComponentView","createNgModuleRef","overrideProvider","overrideComponentView","clearOverrides","checkAndUpdateView","checkNoChangesView","destroyView","resolveDep","createDebugContext","handleEvent","updateDirectives","updateRenderer","dirtyParentQueries","NOOP","_tokenKeyCache","tokenKey","unwrapValue","nodeIdx","bindingIdx","unwrap","globalBindingIdx","oldValues","UNDEFINED_RENDERER_TYPE_ID","EMPTY_RENDERER_TYPE_ID","createRendererType2","_renderCompCount$1","resolveRendererType2","isFilled","None","checkBinding","checkAndUpdateBinding","checkBindingNoChanges","bindingName","markParentViewsForCheck","currView","viewContainerParent","markParentViewsForCheckProjectedViews","endView","dispatchEvent","event","nodeDef","root","declaredViewContainer","parentNodeDef","viewParentEl","renderNode","renderElement","renderText","elementEventFullName","isEmbeddedView","filterQueryId","queryId","splitMatchedQueriesDsl","matchedQueriesDsl","matchedQueries","matchedQueryIds","references","valueType","splitDepsDsl","sourceName","getParentRenderElement","renderHost","componentRendererType","DEFINITION_CACHE","WeakMap","resolveDefinition","rootRenderNodes","renderNodes","visitRootRenderNodes","lastRenderRootNode","visitSiblingRenderNodes","visitRenderNode","childCount","visitProjectedRenderNodes","ngContentIndex","compView","hostElDef","projectedNodes","execRenderNodeAction","ngContent","rn","bindingFlags","embeddedViews","viewContainer","_embeddedViews","NS_PREFIX_RE","splitNamespace","calcBindingFlags","interpolate","valueCount","constAndInterp","_toStringWithNull","inlineInterpolate","c0","a1","c1","a2","c2","a3","c3","a4","c4","a5","c5","a6","c6","a7","c7","a8","c8","a9","c9","EMPTY_ARRAY$4","EMPTY_MAP","UNDEFINED_VALUE","InjectorRefTokenKey","INJECTORRefTokenKey","NgModuleRefTokenKey","moduleProvideDef","depDefs","moduleDef","providersByKey","modules","initNgModule","_def","provDef","_createProviderInstance","resolveNgModuleDep","depDef","providerDef","providerInstance","targetsModule","moduleTransitivelyPresent","injectable","_createClass","_callFactory","depValues","callNgModuleLifecycle","lifecycles","attachEmbeddedView","elementData","attachProjectedView","prevView","renderAttachEmbeddedView","vcElementData","dvcElementData","projectedViews","_projectedViews","markNodeAsProjectedTemplate","viewDef","nodeFlags","childFlags","detachEmbeddedView","renderDetachView$1","detachProjectedView","moveEmbeddedView","oldViewIndex","newViewIndex","prevRenderNode","EMPTY_CONTEXT","createComponentFactory","viewDefFactory","ComponentFactory_","getComponentViewDefinitionFactory","_inputs","_outputs","componentNodeIndex","componentProvider","ComponentRef_","ViewRef_","inputsArr","templateName","outputsArr","_viewRef","_component","_elDef","changeDetectorRef","Injector_","createViewContainerData","elDef","elData","ViewContainerRef_","_data","ref","viewRef_","createChangeDetectorRef","fs","disposables","createTemplateData","TemplateRef_","_parentView","createInjector$1","allowPrivateServices","moduleType","bootstrapComponents","NgModuleRef_","_moduleType","_bootstrapComponents","_destroyListeners","injectFlags","Renderer2TokenKey","ElementRefTokenKey","ViewContainerRefTokenKey","TemplateRefTokenKey","ChangeDetectorRefTokenKey","InjectorRefTokenKey$1","INJECTORRefTokenKey$1","checkIndex","nonMinifiedName","ns","securityContext","outputDefs","outputIndex","directChildFlags","childMatchedQueries","query","createProviderInstance","_createProviderInstance$1","createPipeInstance","createClass","createDirectiveInstance","outputObservable","eventHandlerClosure","checkAndUpdateDirectiveInline","v8","v9","providerData","changed","changes","bindLen","updateProp","checkAndUpdateDirectiveDynamic","callFactory","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","searchView","findCompView","cdView","allProviders","publicProviders","binding","callLifecycleHooksChildrenFirst","callProviderLifecycles","callElementProvidersLifecycles","ComponentFactoryResolver$1","ComponentFactory$1","toRefArray","nonMinified","minified","getNamespace$1","elementName","SCHEDULER","createChainedInjector","rootViewInjector","isBoundToModule","tElementNode","nodesforSlot","ComponentRef$1","componentFactoryResolver","injectComponentFactoryResolver","_rootLView","destroyCbs","ngI18nClosureMode","goog","getMsg","u","plural","n","Math","floor","abs","localeEn","LOCALE_DATA","registerLocaleData","localeId","extraData","LocaleDataIndex","LocaleId","ExtraData","findLocaleData","locale","normalizedLocale","normalizeLocale","getLocaleData","parentLocale","getLocaleCurrencyCode","CurrencyCode","getLocalePluralCase","PluralCase","ng","common","locales","unregisterAllLocaleData","pluralMapping","getPluralCase","parseInt","DEFAULT_LOCALE_ID","USD_CURRENCY_CODE","MARKER","ICU_BLOCK_REGEXP","SUBTEMPLATE_REGEXP","PH_REGEXP","BINDING_REGEXP","ICU_REGEXP","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","extractParts","pattern","prevPos","braceStack","braces","lastIndex","exec","pos","block","parseICUBlock","cases","icuType","mainBinding","str","blocks","removeInnerTemplateTranslation","inTemplate","tagMatched","getTranslationForTemplate","subTemplateIndex","isRootTemplateMessage","search","generateBindingUpdateOpCodes","destinationNode","textParts","textValue","toMaskBit","getBindingMask","icuExpression","valueArr","i18nIndexStack","i18nIndexStackPointer","min","parentIndexStack","ɵɵi18nStart","i18nStartFirstPass","i18nVarsCount","allocNodeIndex","parentIndexPointer","createOpCodes","previousTNodeIndex","icuExpressions","templateTranslation","msgParts","replaceNgsp","phIndex","isElement","icuNodeIndex","icuStart","hasBinding","textNodeIndex","tI18n","appendI18nNode","ɵɵi18nPostprocess","replacements","templateIdsStack","phs","tmpl","placeholders","placeholder","templateId","isCloseTemplateTag","currentTemplateId","_type","_idx","ɵɵi18nEnd","i18nEndFirstPass","lastCreatedNode","visitedNodes","readCreateOpCodes","removeNode","createDynamicNodeAtIndex","currentTNode","textRNode","destinationTNode","elementNodeIndex","commentNodeIndex","commentRNode","activeCaseIndex","tagNameValue","elementRNode","readUpdateOpCodes","bindingsStartIndex","changeMask","bypassCheckBit","caseCreated","icuTNode","removeCodes","removeOpCode","nestedIcuNodeIndex","nestedIcuTNode","activeIndex","nestedIcuTIndex","nestedTIcu","caseIndex","getCaseIndex","markAsDetached","removedPhTNode","removedPhRNode","ɵɵi18n","ɵɵi18nAttributes","i18nAttributesFirstPass","previousElement","previousElementIndex","shiftsCounter","ɵɵi18nExp","ɵɵi18nApply","bindingValue","resolvedCase","getLocaleId","tIcus","createCodes","updateCodes","childIcus","nestedIcus","icuIndex","parseIcuCase","max","wrapper","opCodes","parseNodes","NESTED_ICU","currentNode","nestedIcusToCreate","lowerAttrName","COMMENT_NODE","nestedIcuIndex","newLocal","nestedIcu","nestTIcuIndex","NGSP_UNICODE_REGEXP","LOCALE_ID","setLocaleId","setClassMetadata","clazz","parentPrototype","parentConstructor","registerModuleFactory","assertSameOrNotExisting","incoming","registerNgModuleType","clearModulesForTest","getRegisteredNgModuleType","NgModuleRef$1","ngLocaleIdDef","_r3Injector","NgModuleFactory$1","ɵɵpureFunction0","slotOffset","pureFn","thisArg","ɵɵpureFunction1","exp","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","ɵɵpureFunction4","pureFunction4Internal","ɵɵpureFunction5","exp5","ɵɵpureFunction6","exp6","ɵɵpureFunction7","exp7","ɵɵpureFunction8","exp8","ɵɵpureFunctionV","exps","pureFunctionVInternal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","pipeName","getPipeDef$1","pipeFactory","pipeInstance","ɵɵpipeBind1","unwrapValue$1","isPure","transform","ɵɵpipeBind2","ɵɵpipeBind3","ɵɵpipeBind4","ɵɵpipeBindV","bindingToInvalidateIdx","EventEmitter_","isAsync","__isAsync","generatorOrNext","complete","schedulerFn","errorFn","completeFn","sink","Subscription","Subject","EventEmitter","symbolIterator","_results","QueryList","symbol","filter","init","reduce","resultsTree","last","emit","unusedValueExportToPlacateAjd$7","unusedValueExportToPlacateAjd$8","unusedValueToPlacateAjd$2","LQuery_","queryList","setDirty","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","parentLQuery","indexInDeclarationView","clone","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","predicate","isStatic","read","TQueries_","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","typePredicate","nodeMatchIdx","directiveOrProviderIdx","matchIdx","createResultByTNodeType","createResultForNode","matchingIdx","createSpecialToken","materializeViewResults","queryIndex","lQuery","tViewData","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","angularCoreEnv","jitOptions","setJitOptions","defaultEncapsulation","preserveWhitespaces","getJitOptions","resetJitOptions","EMPTY_ARRAY$5","moduleQueue","enqueueModuleForDelayedScoping","flushingModuleQueue","flushModuleScopingQueueAsMuchAsPossible","every","isResolvedDeclaration","setScopeOnDeclaredComponents","declaration","compileNgModule","compileNgModuleDefs","allowDuplicateDeclarationsInRoot","expandModuleWithProviders","verifySemanticsOfNgModuleDef","compileInjector","importingModule","verifiedNgModule","errors","unwrapModuleWithProvidersImports","mod","verifySemanticsOfNgModuleImport","verifyDeclarationsHaveDefinitions","verifyDirectivesHaveSelector","combinedDeclarations","computeCombinedExports","verifyExportsAreDeclaredOrReExported","decl","verifyDeclarationIsUnique","verifyComponentEntryComponentsIsPartOfNgModule","getAnnotation","verifyCorrectBootstrapType","verifyComponentIsPartOfNgModule","entryComponents","kind","suppressErrors","existingModule","ownerNgModule","typeOrWithProviders","collect","__annotations__","readAnnotation","decorator","resetCompiledComponents","transitiveScopes","transitiveScopesFor","patchComponentDefWithScope","ngSelectorScope","compilation","dir","pipe","isNgModule","scopes","exported","importedType","importedScope","entry","declared","declaredWithDefs","exportedType","exportedScope","isModuleWithProviders","compileComponent","ngComponentDef","addDirectiveFactoryDef","directiveMetadata","typeSourceSpan","createParseSourceSpan","animations","interpolation","usesInheritance","addDirectiveDefToUndecoratedParents","hasSelectorScope","compileDirective","ngDirectiveDef","getDirectiveMetadata","sourceMapUrl","facade","Directive","extendsDirectlyFromObject","extractQueriesMetadata","isContentQuery","lifecycle","usesOnChanges","extractExportAs","viewQueries","objPrototype","shouldAddAbstractDirective","convertToR3QueryPredicate","splitByComma","convertToR3QueryMetadata","ann","static","isQueryAnn","queriesMeta","isInputAnnotation","piece","LIFECYCLE_HOOKS","hookName","metadataName","compilePipe","ngPipeDef","getPipeMetadata","Pipe","ɵ0$e","ɵ1$3","SWITCH_COMPILE_DIRECTIVE","ɵ2$1","c","ɵ3$1","SWITCH_COMPILE_COMPONENT","Component","ɵ4","ɵ5","SWITCH_COMPILE_PIPE","ɵ6","bindingPropertyName","Input","ɵ7","Output","ɵ8","hostPropertyName","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","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","Console","log","Console_Factory","LOCALE_ID$1","DEFAULT_CURRENCY_CODE","TRANSLATIONS","TRANSLATIONS_FORMAT","MissingTranslationStrategy","SWITCH_IVY_ENABLED__POST_R3__","SWITCH_IVY_ENABLED__PRE_R3__","ivyEnabled","ModuleWithComponentFactories","ngModuleFactory","componentFactories","_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","properties","onInvokeTask","delegate","onEnter","invokeTask","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","change","_hasPendingMicrotasks","microTask","macroTask","onHandleError","NoopNgZone","Testability","_ngZone","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","cb","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","ngJitMode","compilerOptions","_lastDefined","compilerProviders","_mergeArrays","compilerInjector","resourceLoader","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","desc","extraProviders","platform","getPlatform","injectedProviders","assertPlatform","requiredToken","destroyPlatform","_injector","_modules","ngZoneOption","ngZone","ngZoneEventCoalescing","getNgZone","ngZoneInjector","moduleRef","exceptionHandler","_callAndReportToErrorHandler","initStatus","runInitializers","_moduleDoBootstrap","optionsReducer","bootstrapModuleFactory","ApplicationRef","ngDoBootstrap","module","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","part","NgModuleFactoryLoader","getModuleFactory__PRE_R3__","noModuleError","getModuleFactory__POST_R3__","getModuleFactory","_SEPARATOR","FACTORY_CLASS_SUFFIX","SystemJsNgModuleLoaderConfig","DEFAULT_CONFIG","factoryPathPrefix","factoryPathSuffix","SystemJsNgModuleLoader","_compiler","config","_config","legacyOfflineMode","loadFactory","loadAndCompile","exportName","System","checkNotEmpty","factoryClassSuffix","SystemJsNgModuleLoader_Factory","modulePath","ViewRef$1","EmbeddedViewRef","DebugEventListener","DebugNode__PRE_R3__","nativeNode","_debugContext","DebugElement__PRE_R3__","addChild","childNodes","childIndex","newChildren","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","children","getDebugNode__POST_R3__","NodePrototype","descriptors","getOwnPropertyDescriptors","isPrimitiveValue","parentElement","elementsOnly","_queryNodeChildrenR3","_queryNativeNodeDescendants","rootNativeNode","_addQueryMatchR3","nodeOrContainer","_queryNodeChildrenInContainerR3","head","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","anchorDef","templateFactory","elementDef","namespaceAndName","fixedAttrs","bindingDefs","suffixOrSecurityContext","parentEl","listenToElementOutputs","handleEventClosure","renderEventHandlerClosure","listenTarget","listenerView","disposable","checkAndUpdateElementInline","checkAndUpdateElementValue","checkAndUpdateElementDynamic","setElementAttribute","setElementClass","setElementStyle","bindView","setElementProperty","renderValue","unit","queryDef","bindingType","filterId","createQuery","queryIds","nodeMatchedQueries","tplDef","checkAndUpdateQuery","newValues","calcQueryValues","notify","boundValue","getQueryValue","dvc","projectedView","queryValueType","ngContentDef","appendNgContent","purePipeDef","argCount","_pureExpressionDef","pureArrayDef","pureObjectDef","propToIndex","nbKeys","propertyNames","createPureExpression","checkAndUpdatePureExpressionInline","checkAndUpdatePureExpressionDynamic","textDef","staticText","checkAndUpdateTextInline","_addInterpolationPart","checkAndUpdateTextDynamic","valueStr","viewBindingCount","viewDisposableCount","viewNodeFlags","viewRootNodeFlags","viewMatchedQueries","currentParent","currentRenderParent","currentElementHasPublicProviders","currentElementHasPrivateProviders","validateNode","isPrivateService","isNgContainer","newParent","rootNodeFlags","bindingCount","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","comp","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","fullName","createNgModuleFactory","defFactory","NgModuleFactory_","cloneNgModuleDefinition","_ngModuleDefFactory","getDOM","Examples","_buildValueString","_extractId","resolvedPromise","formControlBinding","formDirectiveProvider","NgNoValidate","NgSelectMultipleOption","InternalFormsSharedModule","AnimationEngine","AnimationStyleNormalizer","supportsWebAnimations","WebAnimationsDriver","CssKeyframesDriver","WebAnimationsStyleNormalizer","DomRendererFactory2","NoopAnimationDriver","DomAdapter","setRootDomAdapter","allowSanitizationBypassOrThrow","PLATFORM_BROWSER_ID","EmptyOutletComponent","lastValue","applyRedirects","applyRedirectsFn","NoMatch","getOutlet","recognize","recognizeFn","nextId","NGB_DATEPICKER_VALUE_ACCESSOR","GREGORIAN_EPOCH","isGregorianLeapYear","fromGregorian","toGregorian","noGlobal","getProto","flat","class2type","hasOwn","fnToString","ObjectFunctionString","support","isFunction","isWindow","preservedScriptAttributes","nonce","noModule","DOMEval","doc","val","script","getAttribute","toType","version","jQuery","jquery","toArray","num","pushStack","elems","ret","prevObject","each","eq","even","grep","_elem","odd","extend","copy","copyIsArray","deep","isPlainObject","isReady","Ctor","isEmptyObject","globalEval","isArrayLike","makeArray","inArray","second","invert","callbackInverse","callbackExpect","guid","_i","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","pushNative","booleans","whitespace","pseudos","rwhitespace","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","rcssescape","fcssescape","asCodePoint","unloadHandler","inDisabledFieldset","addCombinator","disabled","els","seed","nid","groups","newSelector","newContext","getElementById","getElementsByTagName","getElementsByClassName","qsa","testContext","toSelector","querySelectorAll","qsaError","cache","cacheLength","markFunction","assert","addHandle","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","hasCompare","subWindow","top","attachEvent","getById","getElementsByName","attrId","getAttributeNode","tmp","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","adown","bup","compare","sortDetached","aup","ap","bp","expr","elements","specified","sel","uniqueSort","detectDuplicates","sortStable","createPseudo","relative","preFilter","excess","unquoted","nodeNameSelector","operator","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","useCache","lastChild","uniqueID","pseudo","setFilters","matched","matcher","unmatched","lang","elemLang","hash","activeElement","hasFocus","href","tabIndex","checked","selected","_matchIndexes","radio","checkbox","file","password","image","submit","filters","parseOnly","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","siblings","rneedsContext","needsContext","rsingleTag","winnow","qualifier","not","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","contents","targets","l","closest","prevAll","addBack","sibling","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","firingIndex","fire","once","stopOnFalse","empty","disable","lock","fireWith","Identity","Thrower","ex","adoptValue","noValue","fail","Deferred","func","tuples","always","deferred","fns","newDefer","tuple","returned","progress","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","readyException","readyList","readyWait","wait","completed","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","parse","dataAttr","removeData","_removeData","dequeue","startLength","_queueHooks","stop","clearQueue","defer","pnum","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","display","css","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","initial","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","showHide","show","hide","toggle","rcheckableType","rtagName","rscriptType","fragment","createDocumentFragment","div","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","tbody","tfoot","colgroup","caption","th","optgroup","getAll","setGlobalEval","refElements","buildFragment","scripts","selection","ignored","wrap","htmlPrefilter","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","safeActiveElement","on","one","origFn","off","handleObjIn","eventHandle","events","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","button","addProp","Event","originalEvent","writable","noBubble","click","leverageNative","trigger","beforeunload","notAsync","saved","isTrigger","stopImmediatePropagation","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","focus","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","udataOld","udataCur","fixInput","domManip","hasScripts","iNoClone","valueIsFunction","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","append","prepend","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","rnumnonpx","getStyles","opener","getComputedStyle","swap","rboxStyle","computeStyleTests","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","width","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelBoxStyles","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","cssPrefixes","emptyStyle","vendorProps","vendorPropName","capName","finalPropName","final","cssProps","rdisplayswap","rcustomProp","cssShow","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","boxModelAdjustment","dimension","box","isBorderBox","computedVal","extra","ceil","getWidthOrHeight","boxSizingNeeded","valueIsBorderBox","offsetProp","getClientRects","cssHooks","opacity","origName","isCustomProp","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","expand","expanded","Tween","easing","propHooks","percent","eased","duration","step","fx","scrollTop","scrollLeft","linear","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","interval","createFxNow","genFx","includeWidth","createTween","Animation","tweeners","defaultPrefilter","oldfire","propTween","restoreDisplay","isBox","anim","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","stopped","prefilters","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","timer","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","bool","attrNames","rfocusable","rclickable","removeProp","propFix","tabindex","stripAndCollapse","getClass","classesToArray","curValue","finalValue","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","isSuccess","conv2","conv","responseFields","dataFilter","throws","active","lastModified","etag","isLocal","protocol","processData","async","contentType","accepts","json","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","status","abort","statusText","finalText","crossDomain","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","modified","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","visible","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","unbind","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","define","_jQuery","_$","$","noConflict","Showdown.Converter"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAe;AACf;;AAEA,wCAAwC,SAAS;AACjD;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAA;AAAkD;AACnC;AACf,iCAAiC,iEAAgB;AACjD,C;;;;;;;;;;;;ACHA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACNA;AAAA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAA;AAA8C;AACoB;AACnD;AACf,MAAM,yEAAwB;AAC9B;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,iBAAiB,+DAAc;AAC/B;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACjBA;AAAA;AAAA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACdA;AAAA;AAAA;AAAsE;AACvD;AACf;;AAEA;AACA,kCAAkC,2EAA0B;AAC5D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACxDA;AAAA;AAAA;AAAA;AAAA;AAA8C;AACoB;AACE;AACrD;AACf,kCAAkC,yEAAwB;AAC1D;AACA,gBAAgB,+DAAc;AAC9B;;AAEA;AACA,sBAAsB,+DAAc;AACpC;AACA,KAAK;AACL;AACA;;AAEA,WAAW,0EAAyB;AACpC;AACA,C;;;;;;;;;;;;AClBA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACbA;AAAA;AAAA;AAA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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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AACA;AACA,O,CAEA;;;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAiB,UAAjB,EAA6B,MAA7B,EAA6B;AAC7B;;AACA;;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA,OApBA;AAsBA;;;AACA;AACA;AACA,OAFA;AAIA;AAEA;;;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA,SALA;;AAMA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACK,WARL,MAQK;AACL;AACA;;AACA;AACA,SAlBA;AAmBA;;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA,gEAPA,CAO0D;;AAC1D;;AAEA;AACA;AACG,SAFH,MAEG;AACH;AACA;;AAEA;AACA;AACA,SAFA;;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA,qBA1BA,CA4BA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,SALA;;AAOA;AACA;AACA;AACA;AACA,SAJA;;AAMA;AACA;AACA;;AACA;AACA;AACA,SALA;;AAOA;AACA;AACA;;AACA;AACA;AACA,SALA;;AAOA;AACA;AACA;AAEA;;AACA;AACA,SANA;;AAQA;AACA;;AACA;AACA;;AACA;AACA;AACA,SANA,CAjEA,CAyEA;;;AACA;AACA,O,CAEA;;;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;;AACA;;AACA;AACA,OAXA;;AAaA;AACA;;AAEA;AAEA;AACA;AACA;AACA;;AAEA;;AACA;;AACA;AACA;AACA,SAFA;;AAGA;AACA,OAhBA;;AAkBA;AACA;;AAEA;AACA;AACA;;AACA;AACA,kGAA2F,WAA3F,EAAwG,MAAxG,EAAwG;AACxG;AACA;;AAEA;AARA;AAUA,OAbA;;AAeA;AACA;;AACA;AACA,OAHA;;AAKA;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;AACA,OARA;;AAUA;AACA;AACA,OAFA,C,CAIA;;;AACA;AACA;;AACA;;AACA;;AAEA;AACA;AACA;AACA,OA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","file":"vendor.9c3aa781329d6f7d7916.js","sourcesContent":["export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","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 setPrototypeOf from \"./setPrototypeOf\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import getPrototypeOf from \"./getPrototypeOf\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import superPropBase from \"./superPropBase\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import getPrototypeOf from \"./getPrototypeOf\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","module.exports = require(\"regenerator-runtime\");\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 {AnimationMetadata, AnimationOptions} from './animation_metadata';\nimport {AnimationPlayer} from './players/animation_player';\n\n/**\n * An injectable service that produces an animation sequence programmatically within an\n * Angular component or directive.\n * Provided by the `BrowserAnimationsModule` or `NoopAnimationsModule`.\n *\n * @usageNotes\n *\n * To use this service, add it to your component or directive as a dependency.\n * The service is instantiated along with your component.\n *\n * Apps do not typically need to create their own animation players, but if you\n * do need to, follow these steps:\n *\n * 1. Use the `build()` method to create a programmatic animation using the\n * `animate()` function. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nexport abstract class AnimationBuilder {\n /**\n * Builds a factory for producing a defined animation.\n * @param animation A reusable animation definition.\n * @returns A factory object that can create a player for the defined animation.\n * @see `animate()`\n */\n abstract build(animation: AnimationMetadata|AnimationMetadata[]): AnimationFactory;\n}\n\n/**\n * A factory object returned from the `AnimationBuilder`.`build()` method.\n *\n * @publicApi\n */\nexport abstract class AnimationFactory {\n /**\n * Creates an `AnimationPlayer` instance for the reusable animation defined by\n * the `AnimationBuilder`.`build()` method that created this factory.\n * Attaches the new player a DOM element.\n * @param element The DOM element to which to attach the animation.\n * @param options A set of options that can include a time delay and\n * additional developer-defined parameters.\n */\n abstract create(element: any, options?: AnimationOptions): AnimationPlayer;\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/**\n * Represents a set of CSS styles for use in an animation style.\n */\nexport interface ɵStyleData {\n [key: string]: string|number;\n}\n\n/**\n * Represents animation-step timing parameters for an animation step.\n * @see `animate()`\n *\n * @publicApi\n */\nexport declare type AnimateTimings = {\n /**\n * The full duration of an animation step. A number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n */\n duration: number,\n /**\n * The delay in applying an animation step. A number and optional time unit.\n * The default unit is milliseconds.\n */\n delay: number,\n /**\n * An easing style that controls how an animations step accelerates\n * and decelerates during its run time. An easing function such as `cubic-bezier()`,\n * or one of the following constants:\n * - `ease-in`\n * - `ease-out`\n * - `ease-in-and-out`\n */\n easing: string | null\n};\n\n/**\n * @description Options that control animation styling and timing.\n *\n * The following animation functions accept `AnimationOptions` data:\n *\n * - `transition()`\n * - `sequence()`\n * - `{@link animations/group group()}`\n * - `query()`\n * - `animation()`\n * - `useAnimation()`\n * - `animateChild()`\n *\n * Programmatic animations built using the `AnimationBuilder` service also\n * make use of `AnimationOptions`.\n *\n * @publicApi\n */\nexport declare interface AnimationOptions {\n /**\n * Sets a time-delay for initiating an animation action.\n * A number and optional time unit, such as \"1s\" or \"10ms\" for one second\n * and 10 milliseconds, respectively.The default unit is milliseconds.\n * Default value is 0, meaning no delay.\n */\n delay?: number|string;\n /**\n * A set of developer-defined parameters that modify styling and timing\n * when an animation action starts. An array of key-value pairs, where the provided value\n * is used as a default.\n */\n params?: {[name: string]: any};\n}\n\n/**\n * Adds duration options to control animation styling and timing for a child animation.\n *\n * @see `animateChild()`\n *\n * @publicApi\n */\nexport declare interface AnimateChildOptions extends AnimationOptions {\n duration?: number|string;\n}\n\n/**\n * @description Constants for the categories of parameters that can be defined for animations.\n *\n * A corresponding function defines a set of parameters for each category, and\n * collects them into a corresponding `AnimationMetadata` object.\n *\n * @publicApi\n */\nexport const enum AnimationMetadataType {\n /**\n * Associates a named animation state with a set of CSS styles.\n * See `state()`\n */\n State = 0,\n /**\n * Data for a transition from one animation state to another.\n * See `transition()`\n */\n Transition = 1,\n /**\n * Contains a set of animation steps.\n * See `sequence()`\n */\n Sequence = 2,\n /**\n * Contains a set of animation steps.\n * See `{@link animations/group group()}`\n */\n Group = 3,\n /**\n * Contains an animation step.\n * See `animate()`\n */\n Animate = 4,\n /**\n * Contains a set of animation steps.\n * See `keyframes()`\n */\n Keyframes = 5,\n /**\n * Contains a set of CSS property-value pairs into a named style.\n * See `style()`\n */\n Style = 6,\n /**\n * Associates an animation with an entry trigger that can be attached to an element.\n * See `trigger()`\n */\n Trigger = 7,\n /**\n * Contains a re-usable animation.\n * See `animation()`\n */\n Reference = 8,\n /**\n * Contains data to use in executing child animations returned by a query.\n * See `animateChild()`\n */\n AnimateChild = 9,\n /**\n * Contains animation parameters for a re-usable animation.\n * See `useAnimation()`\n */\n AnimateRef = 10,\n /**\n * Contains child-animation query data.\n * See `query()`\n */\n Query = 11,\n /**\n * Contains data for staggering an animation sequence.\n * See `stagger()`\n */\n Stagger = 12\n}\n\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nexport const AUTO_STYLE = '*';\n\n/**\n * Base for animation data structures.\n *\n * @publicApi\n */\nexport interface AnimationMetadata {\n type: AnimationMetadataType;\n}\n\n/**\n * Contains an animation trigger. Instantiated and returned by the\n * `trigger()` function.\n *\n * @publicApi\n */\nexport interface AnimationTriggerMetadata extends AnimationMetadata {\n /**\n * The trigger name, used to associate it with an element. Unique within the component.\n */\n name: string;\n /**\n * An animation definition object, containing an array of state and transition declarations.\n */\n definitions: AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: {params?: {[name: string]: any}}|null;\n}\n\n/**\n * Encapsulates an animation state by associating a state name with a set of CSS styles.\n * Instantiated and returned by the `state()` function.\n *\n * @publicApi\n */\nexport interface AnimationStateMetadata extends AnimationMetadata {\n /**\n * The state name, unique within the component.\n */\n name: string;\n /**\n * The CSS styles associated with this state.\n */\n styles: AnimationStyleMetadata;\n /**\n * An options object containing\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n */\n options?: {params: {[name: string]: any}};\n}\n\n/**\n * Encapsulates an animation transition. Instantiated and returned by the\n * `transition()` function.\n *\n * @publicApi\n */\nexport interface AnimationTransitionMetadata extends AnimationMetadata {\n /**\n * An expression that describes a state change.\n */\n expr: string|\n ((fromState: string, toState: string, element?: any,\n params?: {[key: string]: any}) => boolean);\n /**\n * One or more animation objects to which this transition applies.\n */\n animation: AnimationMetadata|AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates a reusable animation, which is a collection of individual animation steps.\n * Instantiated and returned by the `animation()` function, and\n * passed to the `useAnimation()` function.\n *\n * @publicApi\n */\nexport interface AnimationReferenceMetadata extends AnimationMetadata {\n /**\n * One or more animation step objects.\n */\n animation: AnimationMetadata|AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates an animation query. Instantiated and returned by\n * the `query()` function.\n *\n * @publicApi\n */\nexport interface AnimationQueryMetadata extends AnimationMetadata {\n /**\n * The CSS selector for this query.\n */\n selector: string;\n /**\n * One or more animation step objects.\n */\n animation: AnimationMetadata|AnimationMetadata[];\n /**\n * A query options object.\n */\n options: AnimationQueryOptions|null;\n}\n\n/**\n * Encapsulates a keyframes sequence. Instantiated and returned by\n * the `keyframes()` function.\n *\n * @publicApi\n */\nexport interface AnimationKeyframesSequenceMetadata extends AnimationMetadata {\n /**\n * An array of animation styles.\n */\n steps: AnimationStyleMetadata[];\n}\n\n/**\n * Encapsulates an animation style. Instantiated and returned by\n * the `style()` function.\n *\n * @publicApi\n */\nexport interface AnimationStyleMetadata extends AnimationMetadata {\n /**\n * A set of CSS style properties.\n */\n styles: '*'|{[key: string]: string | number}|Array<{[key: string]: string | number}|'*'>;\n /**\n * A percentage of the total animate time at which the style is to be applied.\n */\n offset: number|null;\n}\n\n/**\n * Encapsulates an animation step. Instantiated and returned by\n * the `animate()` function.\n *\n * @publicApi\n */\nexport interface AnimationAnimateMetadata extends AnimationMetadata {\n /**\n * The timing data for the step.\n */\n timings: string|number|AnimateTimings;\n /**\n * A set of styles used in the step.\n */\n styles: AnimationStyleMetadata|AnimationKeyframesSequenceMetadata|null;\n}\n\n/**\n * Encapsulates a child animation, that can be run explicitly when the parent is run.\n * Instantiated and returned by the `animateChild` function.\n *\n * @publicApi\n */\nexport interface AnimationAnimateChildMetadata extends AnimationMetadata {\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates a reusable animation.\n * Instantiated and returned by the `useAnimation()` function.\n *\n * @publicApi\n */\nexport interface AnimationAnimateRefMetadata extends AnimationMetadata {\n /**\n * An animation reference object.\n */\n animation: AnimationReferenceMetadata;\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates an animation sequence.\n * Instantiated and returned by the `sequence()` function.\n *\n * @publicApi\n */\nexport interface AnimationSequenceMetadata extends AnimationMetadata {\n /**\n * An array of animation step objects.\n */\n steps: AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates an animation group.\n * Instantiated and returned by the `{@link animations/group group()}` function.\n *\n * @publicApi\n */\nexport interface AnimationGroupMetadata extends AnimationMetadata {\n /**\n * One or more animation or style steps that form this group.\n */\n steps: AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates animation query options.\n * Passed to the `query()` function.\n *\n * @publicApi\n */\nexport declare interface AnimationQueryOptions extends AnimationOptions {\n /**\n * True if this query is optional, false if it is required. Default is false.\n * A required query throws an error if no elements are retrieved when\n * the query is executed. An optional query does not.\n *\n */\n optional?: boolean;\n /**\n * A maximum total number of results to return from the query.\n * If negative, results are limited from the end of the query list towards the beginning.\n * By default, results are not limited.\n */\n limit?: number;\n}\n\n/**\n * Encapsulates parameters for staggering the start times of a set of animation steps.\n * Instantiated and returned by the `stagger()` function.\n *\n * @publicApi\n **/\nexport interface AnimationStaggerMetadata extends AnimationMetadata {\n /**\n * The timing data for the steps.\n */\n timings: string|number;\n /**\n * One or more animation steps.\n */\n animation: AnimationMetadata|AnimationMetadata[];\n}\n\n/**\n * Creates a named animation trigger, containing a list of `state()`\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of `state()`\n * and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
...
\n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n *
\n *
\n *
\n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nexport function trigger(name: string, definitions: AnimationMetadata[]): AnimationTriggerMetadata {\n return {type: AnimationMetadataType.Trigger, name, definitions, options: {}};\n}\n\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" })),\n * style({ background: \"red\" }))\n * ])\n * ```\n *\n * @publicApi\n */\nexport function animate(\n timings: string|number,\n styles: AnimationStyleMetadata|AnimationKeyframesSequenceMetadata|null =\n null): AnimationAnimateMetadata {\n return {type: AnimationMetadataType.Animate, styles, timings};\n}\n\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nexport function group(\n steps: AnimationMetadata[], options: AnimationOptions|null = null): AnimationGroupMetadata {\n return {type: AnimationMetadataType.Group, steps, options};\n}\n\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nexport function sequence(\n steps: AnimationMetadata[], options: AnimationOptions|null = null): AnimationSequenceMetadata {\n return {type: AnimationMetadataType.Sequence, steps, options};\n}\n\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation `state`, within an animation `sequence`,\n * or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow a component to animate from\n * a height of 0 up to the height of the parent element:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nexport function style(tokens: '*'|{[key: string]: string | number}|\n Array<'*'|{[key: string]: string | number}>): AnimationStyleMetadata {\n return {type: AnimationMetadataType.Style, styles: tokens, offset: null};\n}\n\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nexport function state(\n name: string, styles: AnimationStyleMetadata,\n options?: {params: {[name: string]: any}}): AnimationStateMetadata {\n return {type: AnimationMetadataType.State, name, styles, options};\n}\n\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nexport function keyframes(steps: AnimationStyleMetadata[]): AnimationKeyframesSequenceMetadata {\n return {type: AnimationMetadataType.Keyframes, steps};\n}\n\n/**\n * Declares an animation transition as a sequence of animation steps to run when a given\n * condition is satisfied. The condition is a Boolean expression or function that compares\n * the previous and current animation states, and returns true if this transition should occur.\n * When the state criteria of a defined transition are met, the associated animation is\n * triggered.\n *\n * @param stateChangeExpr A Boolean expression or function that compares the previous and current\n * animation states, and returns true if this transition should occur. Note that \"true\" and \"false\"\n * match 1 and 0, respectively. An expression is evaluated each time a state change occurs in the\n * animation trigger element.\n * The animation steps run when the expression evaluates to true.\n *\n * - A state-change string takes the form \"state1 => state2\", where each side is a defined animation\n * state, or an asterix (*) to refer to a dynamic start or end state.\n * - The expression string can contain multiple comma-separated statements;\n * for example \"state1 => state2, state3 => state4\".\n * - Special values `:enter` and `:leave` initiate a transition on the entry and exit states,\n * equivalent to \"void => *\" and \"* => void\".\n * - Special values `:increment` and `:decrement` initiate a transition when a numeric value has\n * increased or decreased in value.\n * - A function is executed each time a state change occurs in the animation trigger element.\n * The animation steps run when the function returns true.\n *\n * @param steps One or more animation objects, as returned by the `animate()` or\n * `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the animation,\n * and additional developer-defined parameters. Provided values for additional parameters are used\n * as defaults, and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n * The template associated with a component binds an animation trigger to an element.\n *\n * ```HTML\n * \n *
...
\n * ```\n *\n * All transitions are defined within an animation trigger,\n * along with named states that the transitions change to and from.\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * // define states\n * state(\"on\", style({ background: \"green\" })),\n * state(\"off\", style({ background: \"grey\" })),\n * ...]\n * ```\n *\n * Note that when you call the `sequence()` function within a `{@link animations/group group()}`\n * or a `transition()` call, execution does not continue to the next instruction\n * until each of the inner animation steps have completed.\n *\n * ### Syntax examples\n *\n * The following examples define transitions between the two defined states (and default states),\n * using various options:\n *\n * ```typescript\n * // Transition occurs when the state value\n * // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n * transition(\"on => off\", animate(500))\n * // Run the same animation for both directions\n * transition(\"on <=> off\", animate(500))\n * // Define multiple state-change pairs separated by commas\n * transition(\"on => off, off => void\", animate(500))\n * ```\n *\n * ### Special values for state-change expressions\n *\n * - Catch-all state change for when an element is inserted into the page and the\n * destination state is unknown:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n *\n * - Capture a state change between any states:\n *\n * `transition(\"* => *\", animate(\"1s 0s\"))`\n *\n * - Entry and exit transitions:\n *\n * ```typescript\n * transition(\":enter\", [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ]),\n * transition(\":leave\", [\n * animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * - Use `:increment` and `:decrement` to initiate transitions:\n *\n * ```typescript\n * transition(\":increment\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n *\n * transition(\":decrement\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n * ```\n *\n * ### State-change functions\n *\n * Here is an example of a `fromState` specified as a state-change function that invokes an\n * animation when true:\n *\n * ```typescript\n * transition((fromState, toState) =>\n * {\n * return fromState == \"off\" && toState == \"on\";\n * },\n * animate(\"1s 0s\"))\n * ```\n *\n * ### Animating to the final state\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no style data, that step is automatically considered the final animation arc,\n * for the element to reach the final state. Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n * The following example defines a transition that starts by hiding the element,\n * then makes sure that it animates properly to whatever state is currently active for trigger:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n * ### Boolean value matching\n * If a trigger binding value is a Boolean, it can be matched using a transition expression\n * that compares true and false or 1 and 0. For example:\n *\n * ```\n * // in the template\n *
...
\n * // in the component metadata\n * trigger('openClose', [\n * state('true', style({ height: '*' })),\n * state('false', style({ height: '0px' })),\n * transition('false <=> true', animate(500))\n * ])\n * ```\n *\n * @publicApi\n **/\nexport function transition(\n stateChangeExpr: string|\n ((fromState: string, toState: string, element?: any, params?: {[key: string]: any}) => boolean),\n steps: AnimationMetadata|AnimationMetadata[],\n options: AnimationOptions|null = null): AnimationTransitionMetadata {\n return {type: AnimationMetadataType.Transition, expr: stateChangeExpr, animation: steps, options};\n}\n\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nexport function animation(\n steps: AnimationMetadata|AnimationMetadata[],\n options: AnimationOptions|null = null): AnimationReferenceMetadata {\n return {type: AnimationMetadataType.Reference, animation: steps, options};\n}\n\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * @publicApi\n */\nexport function animateChild(options: AnimateChildOptions|null = null):\n AnimationAnimateChildMetadata {\n return {type: AnimationMetadataType.AnimateChild, options};\n}\n\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nexport function useAnimation(\n animation: AnimationReferenceMetadata,\n options: AnimationOptions|null = null): AnimationAnimateRefMetadata {\n return {type: AnimationMetadataType.AnimateRef, animation, options};\n}\n\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements.\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n *
\n *

Title

\n *
\n * Blah blah blah\n *
\n *
\n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nexport function query(\n selector: string, animation: AnimationMetadata|AnimationMetadata[],\n options: AnimationQueryOptions|null = null): AnimationQueryMetadata {\n return {type: AnimationMetadataType.Query, selector, animation, options};\n}\n\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * \n *
\n *
\n *
\n * {{ item }}\n *
\n *
\n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nexport function stagger(timings: string|number, animation: AnimationMetadata|AnimationMetadata[]):\n AnimationStaggerMetadata {\n return {type: AnimationMetadataType.Stagger, timings, animation};\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 */\nexport function scheduleMicroTask(cb: () => any) {\n Promise.resolve(null).then(cb);\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 {scheduleMicroTask} from '../util';\n\n/**\n * Provides programmatic control of a reusable animation sequence,\n * built using the `build()` method of `AnimationBuilder`. The `build()` method\n * returns a factory, whose `create()` method instantiates and initializes this interface.\n *\n * @see `AnimationBuilder`\n * @see `AnimationFactory`\n * @see `animate()`\n *\n * @publicApi\n */\nexport interface AnimationPlayer {\n /**\n * Provides a callback to invoke when the animation finishes.\n * @param fn The callback function.\n * @see `finish()`\n */\n onDone(fn: () => void): void;\n /**\n * Provides a callback to invoke when the animation starts.\n * @param fn The callback function.\n * @see `run()`\n */\n onStart(fn: () => void): void;\n /**\n * Provides a callback to invoke after the animation is destroyed.\n * @param fn The callback function.\n * @see `destroy()`\n * @see `beforeDestroy()`\n */\n onDestroy(fn: () => void): void;\n /**\n * Initializes the animation.\n */\n init(): void;\n /**\n * Reports whether the animation has started.\n * @returns True if the animation has started, false otherwise.\n */\n hasStarted(): boolean;\n /**\n * Runs the animation, invoking the `onStart()` callback.\n */\n play(): void;\n /**\n * Pauses the animation.\n */\n pause(): void;\n /**\n * Restarts the paused animation.\n */\n restart(): void;\n /**\n * Ends the animation, invoking the `onDone()` callback.\n */\n finish(): void;\n /**\n * Destroys the animation, after invoking the `beforeDestroy()` callback.\n * Calls the `onDestroy()` callback when destruction is completed.\n */\n destroy(): void;\n /**\n * Resets the animation to its initial state.\n */\n reset(): void;\n /**\n * Sets the position of the animation.\n * @param position A 0-based offset into the duration, in milliseconds.\n */\n setPosition(position: any /** TODO #9100 */): void;\n /**\n * Reports the current position of the animation.\n * @returns A 0-based offset into the duration, in milliseconds.\n */\n getPosition(): number;\n /**\n * The parent of this player, if any.\n */\n parentPlayer: AnimationPlayer|null;\n /**\n * The total run time of the animation, in milliseconds.\n */\n readonly totalTime: number;\n /**\n * Provides a callback to invoke before the animation is destroyed.\n */\n beforeDestroy?: () => any;\n /**\n * @internal\n * Internal\n */\n triggerCallback?: (phaseName: string) => void;\n /**\n * @internal\n * Internal\n */\n disabled?: boolean;\n}\n\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nexport class NoopAnimationPlayer implements AnimationPlayer {\n private _onDoneFns: Function[] = [];\n private _onStartFns: Function[] = [];\n private _onDestroyFns: Function[] = [];\n private _started = false;\n private _destroyed = false;\n private _finished = false;\n public parentPlayer: AnimationPlayer|null = null;\n public readonly totalTime: number;\n constructor(duration: number = 0, delay: number = 0) {\n this.totalTime = duration + delay;\n }\n private _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn: () => void): void {\n this._onStartFns.push(fn);\n }\n onDone(fn: () => void): void {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn: () => void): void {\n this._onDestroyFns.push(fn);\n }\n hasStarted(): boolean {\n return this._started;\n }\n init(): void {}\n play(): void {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n\n private _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n\n pause(): void {}\n restart(): void {}\n finish(): void {\n this._onFinish();\n }\n destroy(): void {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset(): void {}\n setPosition(position: number): void {}\n getPosition(): number {\n return 0;\n }\n\n /** @internal */\n triggerCallback(phaseName: string): void {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 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 {scheduleMicroTask} from '../util';\nimport {AnimationPlayer} from './animation_player';\n\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nexport class AnimationGroupPlayer implements AnimationPlayer {\n private _onDoneFns: Function[] = [];\n private _onStartFns: Function[] = [];\n private _finished = false;\n private _started = false;\n private _destroyed = false;\n private _onDestroyFns: Function[] = [];\n\n public parentPlayer: AnimationPlayer|null = null;\n public totalTime: number = 0;\n public readonly players: AnimationPlayer[];\n\n constructor(_players: AnimationPlayer[]) {\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n } else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n\n private _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n\n init(): void {\n this.players.forEach(player => player.init());\n }\n\n onStart(fn: () => void): void {\n this._onStartFns.push(fn);\n }\n\n private _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n\n onDone(fn: () => void): void {\n this._onDoneFns.push(fn);\n }\n\n onDestroy(fn: () => void): void {\n this._onDestroyFns.push(fn);\n }\n\n hasStarted() {\n return this._started;\n }\n\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n\n pause(): void {\n this.players.forEach(player => player.pause());\n }\n\n restart(): void {\n this.players.forEach(player => player.restart());\n }\n\n finish(): void {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n\n destroy(): void {\n this._onDestroy();\n }\n\n private _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n\n reset(): void {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n\n setPosition(p: number): void {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n\n getPosition(): number {\n let min = 0;\n this.players.forEach(player => {\n const p = player.getPosition();\n min = Math.min(p, min);\n });\n return min;\n }\n\n beforeDestroy(): void {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n\n /** @internal */\n triggerCallback(phaseName: string): void {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 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 */\nexport {AnimationGroupPlayer as ɵAnimationGroupPlayer} from './players/animation_group_player';\nexport const ɵPRE_STYLE = '!';\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 * @module\n * @description\n * Entry point for all animation APIs of the animation package.\n */\nexport {AnimationBuilder, AnimationFactory} from './animation_builder';\nexport {AnimationEvent} from './animation_event';\nexport {animate, animateChild, AnimateChildOptions, AnimateTimings, animation, AnimationAnimateChildMetadata, AnimationAnimateMetadata, AnimationAnimateRefMetadata, AnimationGroupMetadata, AnimationKeyframesSequenceMetadata, AnimationMetadata, AnimationMetadataType, AnimationOptions, AnimationQueryMetadata, AnimationQueryOptions, AnimationReferenceMetadata, AnimationSequenceMetadata, AnimationStaggerMetadata, AnimationStateMetadata, AnimationStyleMetadata, AnimationTransitionMetadata, AnimationTriggerMetadata, AUTO_STYLE, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, ɵStyleData} from './animation_metadata';\nexport {AnimationPlayer, NoopAnimationPlayer} from './players/animation_player';\n\nexport * from './private_export';\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 * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/animations';\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 not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\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 {AnimationEvent, AnimationPlayer, AUTO_STYLE, NoopAnimationPlayer, ɵAnimationGroupPlayer, ɵPRE_STYLE as PRE_STYLE, ɵStyleData} from '@angular/animations';\n\nimport {AnimationStyleNormalizer} from '../../src/dsl/style_normalization/animation_style_normalizer';\nimport {AnimationDriver} from '../../src/render/animation_driver';\n\n// We don't include ambient node types here since @angular/animations/browser\n// is meant to target the browser so technically it should not depend on node\n// types. `process` is just declared locally here as a result.\ndeclare const process: any;\n\nexport function isBrowser(): boolean {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\n\nexport function isNode(): boolean {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\n\nexport function optimizeGroupPlayer(players: AnimationPlayer[]): AnimationPlayer {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\n\nexport function normalizeKeyframes(\n driver: AnimationDriver, normalizer: AnimationStyleNormalizer, element: any,\n keyframes: ɵStyleData[], preStyles: ɵStyleData = {},\n postStyles: ɵStyleData = {}): ɵStyleData[] {\n const errors: string[] = [];\n const normalizedKeyframes: ɵStyleData[] = [];\n let previousOffset = -1;\n let previousKeyframe: ɵStyleData|null = null;\n keyframes.forEach(kf => {\n const offset = kf['offset'] as number;\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe: ɵStyleData = (isSameOffset && previousKeyframe) || {};\n Object.keys(kf).forEach(prop => {\n let normalizedProp = prop;\n let normalizedValue = kf[prop];\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case PRE_STYLE:\n normalizedValue = preStyles[prop];\n break;\n\n case AUTO_STYLE:\n normalizedValue = postStyles[prop];\n break;\n\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe[normalizedProp] = normalizedValue;\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n const LINE_START = '\\n - ';\n throw new Error(\n `Unable to animate due to the following errors:${LINE_START}${errors.join(LINE_START)}`);\n }\n\n return normalizedKeyframes;\n}\n\nexport function listenOnPlayer(\n player: AnimationPlayer, eventName: string, event: AnimationEvent|undefined,\n callback: (event: any) => any) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\n\nexport function copyAnimationEvent(\n e: AnimationEvent, phaseName: string, player: AnimationPlayer): AnimationEvent {\n const totalTime = player.totalTime;\n const disabled = (player as any).disabled ? true : false;\n const event = makeAnimationEvent(\n e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName,\n totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = (e as any)['_data'];\n if (data != null) {\n (event as any)['_data'] = data;\n }\n return event;\n}\n\nexport function makeAnimationEvent(\n element: any, triggerName: string, fromState: string, toState: string, phaseName: string = '',\n totalTime: number = 0, disabled?: boolean): AnimationEvent {\n return {element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled};\n}\n\nexport function getOrSetAsInMap(\n map: Map|{[key: string]: any}, key: any, defaultValue: any) {\n let value: any;\n if (map instanceof Map) {\n value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n } else {\n value = map[key];\n if (!value) {\n value = map[key] = defaultValue;\n }\n }\n return value;\n}\n\nexport function parseTimelineCommand(command: string): [string, string] {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.substr(separatorPos + 1);\n return [id, action];\n}\n\nlet _contains: (elm1: any, elm2: any) => boolean = (elm1: any, elm2: any) => false;\nlet _matches: (element: any, selector: string) => boolean = (element: any, selector: string) =>\n false;\nlet _query: (element: any, selector: string, multi: boolean) => any[] =\n (element: any, selector: string, multi: boolean) => {\n return [];\n };\n\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n // this is well supported in all browsers\n _contains = (elm1: any, elm2: any) => {\n return elm1.contains(elm2) as boolean;\n };\n\n _matches = (() => {\n if (_isNode || Element.prototype.matches) {\n return (element: any, selector: string) => element.matches(selector);\n } else {\n const proto = Element.prototype as any;\n const fn = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||\n proto.oMatchesSelector || proto.webkitMatchesSelector;\n if (fn) {\n return (element: any, selector: string) => fn.apply(element, [selector]);\n } else {\n return _matches;\n }\n }\n })();\n\n _query = (element: any, selector: string, multi: boolean): any[] => {\n let results: any[] = [];\n if (multi) {\n results.push(...element.querySelectorAll(selector));\n } else {\n const elm = element.querySelector(selector);\n if (elm) {\n results.push(elm);\n }\n }\n return results;\n };\n}\n\nfunction containsVendorPrefix(prop: string): boolean {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\n\nlet _CACHED_BODY: {style: any}|null = null;\nlet _IS_WEBKIT = false;\nexport function validateStyleProperty(prop: string): boolean {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY!.style ? ('WebkitAppearance' in _CACHED_BODY!.style) : false;\n }\n\n let result = true;\n if (_CACHED_BODY!.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY!.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n result = camelProp in _CACHED_BODY!.style;\n }\n }\n\n return result;\n}\n\nexport function getBodyNode(): any|null {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\n\nexport const matchesElement = _matches;\nexport const containsElement = _contains;\nexport const invokeQuery = _query;\n\nexport function hypenatePropsObject(object: {[key: string]: any}): {[key: string]: any} {\n const newObj: {[key: string]: any} = {};\n Object.keys(object).forEach(prop => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newObj[newProp] = object[prop];\n });\n return newObj;\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 {AnimationPlayer, NoopAnimationPlayer} from '@angular/animations';\nimport {Injectable} from '@angular/core';\n\nimport {containsElement, invokeQuery, matchesElement, validateStyleProperty} from './shared';\n\n/**\n * @publicApi\n */\n@Injectable()\nexport class NoopAnimationDriver implements AnimationDriver {\n validateStyleProperty(prop: string): boolean {\n return validateStyleProperty(prop);\n }\n\n matchesElement(element: any, selector: string): boolean {\n return matchesElement(element, selector);\n }\n\n containsElement(elm1: any, elm2: any): boolean {\n return containsElement(elm1, elm2);\n }\n\n query(element: any, selector: string, multi: boolean): any[] {\n return invokeQuery(element, selector, multi);\n }\n\n computeStyle(element: any, prop: string, defaultValue?: string): string {\n return defaultValue || '';\n }\n\n animate(\n element: any, keyframes: {[key: string]: string|number}[], duration: number, delay: number,\n easing: string, previousPlayers: any[] = [],\n scrubberAccessRequested?: boolean): AnimationPlayer {\n return new NoopAnimationPlayer(duration, delay);\n }\n}\n\n/**\n * @publicApi\n */\nexport abstract class AnimationDriver {\n static NOOP: AnimationDriver = new NoopAnimationDriver();\n\n abstract validateStyleProperty(prop: string): boolean;\n\n abstract matchesElement(element: any, selector: string): boolean;\n\n abstract containsElement(elm1: any, elm2: any): boolean;\n\n abstract query(element: any, selector: string, multi: boolean): any[];\n\n abstract computeStyle(element: any, prop: string, defaultValue?: string): string;\n\n abstract animate(\n element: any, keyframes: {[key: string]: string|number}[], duration: number, delay: number,\n easing?: string|null, previousPlayers?: any[], scrubberAccessRequested?: boolean): any;\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 {AnimateTimings, AnimationMetadata, AnimationMetadataType, AnimationOptions, sequence, ɵStyleData} from '@angular/animations';\nimport {Ast as AnimationAst, AstVisitor as AnimationAstVisitor} from './dsl/animation_ast';\nimport {AnimationDslVisitor} from './dsl/animation_dsl_visitor';\nimport {isNode} from './render/shared';\n\nexport const ONE_SECOND = 1000;\n\nexport const SUBSTITUTION_EXPR_START = '{{';\nexport const SUBSTITUTION_EXPR_END = '}}';\nexport const ENTER_CLASSNAME = 'ng-enter';\nexport const LEAVE_CLASSNAME = 'ng-leave';\nexport const ENTER_SELECTOR = '.ng-enter';\nexport const LEAVE_SELECTOR = '.ng-leave';\nexport const NG_TRIGGER_CLASSNAME = 'ng-trigger';\nexport const NG_TRIGGER_SELECTOR = '.ng-trigger';\nexport const NG_ANIMATING_CLASSNAME = 'ng-animating';\nexport const NG_ANIMATING_SELECTOR = '.ng-animating';\n\nexport function resolveTimingValue(value: string|number) {\n if (typeof value == 'number') return value;\n\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2) return 0;\n\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\n\nfunction _convertTimeValueToMS(value: number, unit: string): number {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\n\nexport function resolveTiming(\n timings: string|number|AnimateTimings, errors: any[], allowNegativeValues?: boolean) {\n return timings.hasOwnProperty('duration') ?\n timings :\n parseTimeExpression(timings, errors, allowNegativeValues);\n}\n\nfunction parseTimeExpression(\n exp: string|number, errors: string[], allowNegativeValues?: boolean): AnimateTimings {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration: number;\n let delay: number = 0;\n let easing: string = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(`The provided timing value \"${exp}\" is invalid.`);\n return {duration: 0, delay: 0, easing: ''};\n }\n\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n } else {\n duration = exp;\n }\n\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(`Duration values below 0 are not allowed for this animation step.`);\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(`Delay values below 0 are not allowed for this animation step.`);\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, `The provided timing value \"${exp}\" is invalid.`);\n }\n }\n\n return {duration, delay, easing};\n}\n\nexport function copyObj(\n obj: {[key: string]: any}, destination: {[key: string]: any} = {}): {[key: string]: any} {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\n\nexport function normalizeStyles(styles: ɵStyleData|ɵStyleData[]): ɵStyleData {\n const normalizedStyles: ɵStyleData = {};\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, false, normalizedStyles));\n } else {\n copyStyles(styles, false, normalizedStyles);\n }\n return normalizedStyles;\n}\n\nexport function copyStyles(\n styles: ɵStyleData, readPrototype: boolean, destination: ɵStyleData = {}): ɵStyleData {\n if (readPrototype) {\n // we make use of a for-in loop so that the\n // prototypically inherited properties are\n // revealed from the backFill map\n for (let prop in styles) {\n destination[prop] = styles[prop];\n }\n } else {\n copyObj(styles, destination);\n }\n return destination;\n}\n\nfunction getStyleAttributeString(element: any, key: string, value: string) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n } else {\n return '';\n }\n}\n\nfunction writeStyleAttribute(element: any) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\n\nexport function setStyles(element: any, styles: ɵStyleData, formerStyles?: {[key: string]: any}) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.hasOwnProperty(prop)) {\n formerStyles[prop] = element.style[camelProp];\n }\n element.style[camelProp] = styles[prop];\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\n\nexport function eraseStyles(element: any, styles: ɵStyleData) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\n\nexport function normalizeAnimationEntry(steps: AnimationMetadata|\n AnimationMetadata[]): AnimationMetadata {\n if (Array.isArray(steps)) {\n if (steps.length == 1) return steps[0];\n return sequence(steps);\n }\n return steps as AnimationMetadata;\n}\n\nexport function validateStyleParams(\n value: string|number, options: AnimationOptions, errors: any[]) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(\n `Unable to resolve the local animation param ${varName} in the given list of values`);\n }\n });\n }\n}\n\nconst PARAM_REGEX =\n new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nexport function extractStyleParams(value: string|number): string[] {\n let params: string[] = [];\n if (typeof value === 'string') {\n let match: any;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1] as string);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\n\nexport function interpolateParams(\n value: string|number, params: {[name: string]: any}, errors: any[]): string|number {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (!params.hasOwnProperty(varName)) {\n errors.push(`Please provide a value for the animation param ${varName}`);\n localVal = '';\n }\n return localVal.toString();\n });\n\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\n\nexport function iteratorToArray(iterator: any): any[] {\n const arr: any[] = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\n\nexport function mergeAnimationOptions(\n source: AnimationOptions, destination: AnimationOptions): AnimationOptions {\n if (source.params) {\n const p0 = source.params;\n if (!destination.params) {\n destination.params = {};\n }\n const p1 = destination.params;\n Object.keys(p0).forEach(param => {\n if (!p1.hasOwnProperty(param)) {\n p1[param] = p0[param];\n }\n });\n }\n return destination;\n}\n\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nexport function dashCaseToCamelCase(input: string): string {\n return input.replace(DASH_CASE_REGEXP, (...m: any[]) => m[1].toUpperCase());\n}\n\nfunction camelCaseToDashCase(input: string): string {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function allowPreviousPlayerStylesMerge(duration: number, delay: number) {\n return duration === 0 || delay === 0;\n}\n\nexport function balancePreviousStylesIntoKeyframes(\n element: any, keyframes: {[key: string]: any}[], previousStyles: {[key: string]: any}) {\n const previousStyleProps = Object.keys(previousStyles);\n if (previousStyleProps.length && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps: string[] = [];\n previousStyleProps.forEach(prop => {\n if (!startingKeyframe.hasOwnProperty(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe[prop] = previousStyles[prop];\n });\n\n if (missingStyleProps.length) {\n // tslint:disable-next-line\n for (var i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(function(prop) {\n kf[prop] = computeStyle(element, prop);\n });\n }\n }\n }\n return keyframes;\n}\n\nexport function visitDslNode(\n visitor: AnimationDslVisitor, node: AnimationMetadata, context: any): any;\nexport function visitDslNode(\n visitor: AnimationAstVisitor, node: AnimationAst, context: any): any;\nexport function visitDslNode(visitor: any, node: any, context: any): any {\n switch (node.type) {\n case AnimationMetadataType.Trigger:\n return visitor.visitTrigger(node, context);\n case AnimationMetadataType.State:\n return visitor.visitState(node, context);\n case AnimationMetadataType.Transition:\n return visitor.visitTransition(node, context);\n case AnimationMetadataType.Sequence:\n return visitor.visitSequence(node, context);\n case AnimationMetadataType.Group:\n return visitor.visitGroup(node, context);\n case AnimationMetadataType.Animate:\n return visitor.visitAnimate(node, context);\n case AnimationMetadataType.Keyframes:\n return visitor.visitKeyframes(node, context);\n case AnimationMetadataType.Style:\n return visitor.visitStyle(node, context);\n case AnimationMetadataType.Reference:\n return visitor.visitReference(node, context);\n case AnimationMetadataType.AnimateChild:\n return visitor.visitAnimateChild(node, context);\n case AnimationMetadataType.AnimateRef:\n return visitor.visitAnimateRef(node, context);\n case AnimationMetadataType.Query:\n return visitor.visitQuery(node, context);\n case AnimationMetadataType.Stagger:\n return visitor.visitStagger(node, context);\n default:\n throw new Error(`Unable to resolve animation metadata node #${node.type}`);\n }\n}\n\nexport function computeStyle(element: any, prop: string): string {\n return (window.getComputedStyle(element))[prop];\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 */\nexport const ANY_STATE = '*';\nexport declare type TransitionMatcherFn =\n (fromState: any, toState: any, element: any, params: {[key: string]: any}) => boolean;\n\nexport function parseTransitionExpr(\n transitionValue: string|TransitionMatcherFn, errors: string[]): TransitionMatcherFn[] {\n const expressions: TransitionMatcherFn[] = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(\n str => parseInnerTransitionStr(str, expressions, errors));\n } else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\n\nfunction parseInnerTransitionStr(\n eventStr: string, expressions: TransitionMatcherFn[], errors: string[]) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(`The provided transition expression \"${eventStr}\" is not supported`);\n return expressions;\n }\n\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n}\n\nfunction parseAnimationAlias(alias: string, errors: string[]): string|TransitionMatcherFn {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState: any, toState: any): boolean => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState: any, toState: any): boolean => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(`The transition alias value \"${alias}\" is not supported`);\n return '* => *';\n }\n}\n\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\n\nfunction makeLambdaFromStates(lhs: string, rhs: string): TransitionMatcherFn {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n\n return (fromState: any, toState: any): boolean => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n\n return lhsMatch && rhsMatch;\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 */\nimport {AnimateTimings, AnimationAnimateChildMetadata, AnimationAnimateMetadata, AnimationAnimateRefMetadata, AnimationGroupMetadata, AnimationKeyframesSequenceMetadata, AnimationMetadata, AnimationMetadataType, AnimationOptions, AnimationQueryMetadata, AnimationQueryOptions, AnimationReferenceMetadata, AnimationSequenceMetadata, AnimationStaggerMetadata, AnimationStateMetadata, AnimationStyleMetadata, AnimationTransitionMetadata, AnimationTriggerMetadata, AUTO_STYLE, style, ɵStyleData} from '@angular/animations';\n\nimport {AnimationDriver} from '../render/animation_driver';\nimport {getOrSetAsInMap} from '../render/shared';\nimport {copyObj, ENTER_SELECTOR, extractStyleParams, iteratorToArray, LEAVE_SELECTOR, NG_ANIMATING_SELECTOR, NG_TRIGGER_SELECTOR, normalizeAnimationEntry, resolveTiming, SUBSTITUTION_EXPR_START, validateStyleParams, visitDslNode} from '../util';\n\nimport {AnimateAst, AnimateChildAst, AnimateRefAst, Ast, DynamicTimingAst, GroupAst, KeyframesAst, QueryAst, ReferenceAst, SequenceAst, StaggerAst, StateAst, StyleAst, TimingAst, TransitionAst, TriggerAst} from './animation_ast';\nimport {AnimationDslVisitor} from './animation_dsl_visitor';\nimport {parseTransitionExpr} from './animation_transition_expr';\n\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`\\s*${SELF_TOKEN}\\s*,?`, 'g');\n\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nexport function buildAnimationAst(\n driver: AnimationDriver, metadata: AnimationMetadata|AnimationMetadata[],\n errors: any[]): Ast {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors);\n}\n\nconst ROOT_SELECTOR = '';\n\nexport class AnimationAstBuilderVisitor implements AnimationDslVisitor {\n constructor(private _driver: AnimationDriver) {}\n\n build(metadata: AnimationMetadata|AnimationMetadata[], errors: any[]):\n Ast {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n return >visitDslNode(\n this, normalizeAnimationEntry(metadata), context);\n }\n\n private _resetContextStyleTimingState(context: AnimationAstBuilderContext) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = {};\n context.collectedStyles[ROOT_SELECTOR] = {};\n context.currentTime = 0;\n }\n\n visitTrigger(metadata: AnimationTriggerMetadata, context: AnimationAstBuilderContext):\n TriggerAst {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states: StateAst[] = [];\n const transitions: TransitionAst[] = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push(\n 'animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n }\n\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == AnimationMetadataType.State) {\n const stateDef = def as AnimationStateMetadata;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n } else if (def.type == AnimationMetadataType.Transition) {\n const transition = this.visitTransition(def as AnimationTransitionMetadata, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n } else {\n context.errors.push(\n 'only state() and transition() definitions can sit inside of a trigger()');\n }\n });\n\n return {\n type: AnimationMetadataType.Trigger,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n\n visitState(metadata: AnimationStateMetadata, context: AnimationAstBuilderContext): StateAst {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(value => {\n if (isObject(value)) {\n const stylesObj = value as any;\n Object.keys(stylesObj).forEach(prop => {\n extractStyleParams(stylesObj[prop]).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n const missingSubsArr = iteratorToArray(missingSubs.values());\n context.errors.push(`state(\"${\n metadata\n .name}\", ...) must define default values for all the following style substitutions: ${\n missingSubsArr.join(', ')}`);\n }\n }\n\n return {\n type: AnimationMetadataType.State,\n name: metadata.name,\n style: styleAst,\n options: astParams ? {params: astParams} : null\n };\n }\n\n visitTransition(metadata: AnimationTransitionMetadata, context: AnimationAstBuilderContext):\n TransitionAst {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n\n return {\n type: AnimationMetadataType.Transition,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitSequence(metadata: AnimationSequenceMetadata, context: AnimationAstBuilderContext):\n SequenceAst {\n return {\n type: AnimationMetadataType.Sequence,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitGroup(metadata: AnimationGroupMetadata, context: AnimationAstBuilderContext): GroupAst {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n\n context.currentTime = furthestTime;\n return {\n type: AnimationMetadataType.Group,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitAnimate(metadata: AnimationAnimateMetadata, context: AnimationAstBuilderContext):\n AnimateAst {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n\n let styleAst: StyleAst|KeyframesAst;\n let styleMetadata: AnimationMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == AnimationMetadataType.Keyframes) {\n styleAst = this.visitKeyframes(styleMetadata as AnimationKeyframesSequenceMetadata, context);\n } else {\n let styleMetadata = metadata.styles as AnimationStyleMetadata;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData: {[prop: string]: string|number} = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n\n context.currentAnimateTimings = null;\n return {\n type: AnimationMetadataType.Animate,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n\n visitStyle(metadata: AnimationStyleMetadata, context: AnimationAstBuilderContext): StyleAst {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n\n private _makeStyleAst(metadata: AnimationStyleMetadata, context: AnimationAstBuilderContext):\n StyleAst {\n const styles: (ɵStyleData|string)[] = [];\n if (Array.isArray(metadata.styles)) {\n (metadata.styles as (ɵStyleData | string)[]).forEach(styleTuple => {\n if (typeof styleTuple == 'string') {\n if (styleTuple == AUTO_STYLE) {\n styles.push(styleTuple);\n } else {\n context.errors.push(`The provided style string value ${styleTuple} is not allowed.`);\n }\n } else {\n styles.push(styleTuple);\n }\n });\n } else {\n styles.push(metadata.styles);\n }\n\n let containsDynamicStyles = false;\n let collectedEasing: string|null = null;\n styles.forEach(styleData => {\n if (isObject(styleData)) {\n const styleMap = styleData as ɵStyleData;\n const easing = styleMap['easing'];\n if (easing) {\n collectedEasing = easing as string;\n delete styleMap['easing'];\n }\n if (!containsDynamicStyles) {\n for (let prop in styleMap) {\n const value = styleMap[prop];\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n\n return {\n type: AnimationMetadataType.Style,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n\n private _validateStyleAst(ast: StyleAst, context: AnimationAstBuilderContext): void {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n\n ast.styles.forEach(tuple => {\n if (typeof tuple == 'string') return;\n\n Object.keys(tuple).forEach(prop => {\n if (!this._driver.validateStyleProperty(prop)) {\n context.errors.push(`The provided animation property \"${\n prop}\" is not a supported CSS property for animations`);\n return;\n }\n\n const collectedStyles = context.collectedStyles[context.currentQuerySelector!];\n const collectedEntry = collectedStyles[prop];\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(`The CSS property \"${prop}\" that exists between the times of \"${\n collectedEntry.startTime}ms\" and \"${\n collectedEntry\n .endTime}ms\" is also being animated in a parallel animation between the times of \"${\n startTime}ms\" and \"${endTime}ms\"`);\n updateCollectedStyle = false;\n }\n\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n\n if (updateCollectedStyle) {\n collectedStyles[prop] = {startTime, endTime};\n }\n\n if (context.options) {\n validateStyleParams(tuple[prop], context.options, context.errors);\n }\n });\n });\n }\n\n visitKeyframes(metadata: AnimationKeyframesSequenceMetadata, context: AnimationAstBuilderContext):\n KeyframesAst {\n const ast: KeyframesAst = {type: AnimationMetadataType.Keyframes, styles: [], options: null};\n if (!context.currentAnimateTimings) {\n context.errors.push(`keyframes() must be placed inside of a call to animate()`);\n return ast;\n }\n\n const MAX_KEYFRAME_OFFSET = 1;\n\n let totalKeyframesWithOffsets = 0;\n const offsets: number[] = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset: number = 0;\n\n const keyframes: StyleAst[] = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal: number|null =\n style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset: number = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n\n if (keyframesOutOfRange) {\n context.errors.push(`Please ensure that all keyframe offsets are between 0 and 1`);\n }\n\n if (offsetsOutOfOrder) {\n context.errors.push(`Please ensure that all keyframe offsets are in order`);\n }\n\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(`Not all style() steps within the declared keyframes() contain offsets`);\n } else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings!;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n\n ast.styles.push(kf);\n });\n\n return ast;\n }\n\n visitReference(metadata: AnimationReferenceMetadata, context: AnimationAstBuilderContext):\n ReferenceAst {\n return {\n type: AnimationMetadataType.Reference,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitAnimateChild(metadata: AnimationAnimateChildMetadata, context: AnimationAstBuilderContext):\n AnimateChildAst {\n context.depCount++;\n return {\n type: AnimationMetadataType.AnimateChild,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitAnimateRef(metadata: AnimationAnimateRefMetadata, context: AnimationAstBuilderContext):\n AnimateRefAst {\n return {\n type: AnimationMetadataType.AnimateRef,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitQuery(metadata: AnimationQueryMetadata, context: AnimationAstBuilderContext): QueryAst {\n const parentSelector = context.currentQuerySelector!;\n const options = (metadata.options || {}) as AnimationQueryOptions;\n\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector =\n parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});\n\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n\n return {\n type: AnimationMetadataType.Query,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitStagger(metadata: AnimationStaggerMetadata, context: AnimationAstBuilderContext):\n StaggerAst {\n if (!context.currentQuery) {\n context.errors.push(`stagger() can only be used inside of query()`);\n }\n const timings = metadata.timings === 'full' ?\n {duration: 0, delay: 0, easing: 'full'} :\n resolveTiming(metadata.timings, context.errors, true);\n\n return {\n type: AnimationMetadataType.Stagger,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\n\nfunction normalizeSelector(selector: string): [string, boolean] {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n\n // the :enter and :leave selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.substr(1))\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n\n return [selector, hasAmpersand];\n}\n\n\nfunction normalizeParams(obj: {[key: string]: any}|any): {[key: string]: any}|null {\n return obj ? copyObj(obj) : null;\n}\n\nexport type StyleTimeTuple = {\n startTime: number; endTime: number;\n};\n\nexport class AnimationAstBuilderContext {\n public queryCount: number = 0;\n public depCount: number = 0;\n public currentTransition: AnimationTransitionMetadata|null = null;\n public currentQuery: AnimationQueryMetadata|null = null;\n public currentQuerySelector: string|null = null;\n public currentAnimateTimings: TimingAst|null = null;\n public currentTime: number = 0;\n public collectedStyles: {[selectorName: string]: {[propName: string]: StyleTimeTuple}} = {};\n public options: AnimationOptions|null = null;\n constructor(public errors: any[]) {}\n}\n\nfunction consumeOffset(styles: ɵStyleData|string|(ɵStyleData | string)[]): number|null {\n if (typeof styles == 'string') return null;\n\n let offset: number|null = null;\n\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {\n const obj = styleTuple as ɵStyleData;\n offset = parseFloat(obj['offset'] as string);\n delete obj['offset'];\n }\n });\n } else if (isObject(styles) && styles.hasOwnProperty('offset')) {\n const obj = styles;\n offset = parseFloat(obj['offset'] as string);\n delete obj['offset'];\n }\n return offset;\n}\n\nfunction isObject(value: any): boolean {\n return !Array.isArray(value) && typeof value == 'object';\n}\n\nfunction constructTimingAst(value: string|number|AnimateTimings, errors: any[]) {\n let timings: AnimateTimings|null = null;\n if (value.hasOwnProperty('duration')) {\n timings = value as AnimateTimings;\n } else if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n\n const strValue = value as string;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '') as any;\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast as DynamicTimingAst;\n }\n\n timings = timings || resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\n\nfunction normalizeAnimationOptions(options: AnimationOptions|null): AnimationOptions {\n if (options) {\n options = copyObj(options);\n if (options['params']) {\n options['params'] = normalizeParams(options['params'])!;\n }\n } else {\n options = {};\n }\n return options;\n}\n\nfunction makeTimingAst(duration: number, delay: number, easing: string|null): TimingAst {\n return {duration, delay, easing};\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 {ɵStyleData} from '@angular/animations';\nimport {AnimationEngineInstruction, AnimationTransitionInstructionType} from '../render/animation_engine_instruction';\n\nexport interface AnimationTimelineInstruction extends AnimationEngineInstruction {\n element: any;\n keyframes: ɵStyleData[];\n preStyleProps: string[];\n postStyleProps: string[];\n duration: number;\n delay: number;\n totalTime: number;\n easing: string|null;\n stretchStartingKeyframe?: boolean;\n subTimeline: boolean;\n}\n\nexport function createTimelineInstruction(\n element: any, keyframes: ɵStyleData[], preStyleProps: string[], postStyleProps: string[],\n duration: number, delay: number, easing: string|null = null,\n subTimeline: boolean = false): AnimationTimelineInstruction {\n return {\n type: AnimationTransitionInstructionType.TimelineAnimation,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\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 */\nimport {AnimationTimelineInstruction} from './animation_timeline_instruction';\n\nexport class ElementInstructionMap {\n private _map = new Map();\n\n consume(element: any): AnimationTimelineInstruction[] {\n let instructions = this._map.get(element);\n if (instructions) {\n this._map.delete(element);\n } else {\n instructions = [];\n }\n return instructions;\n }\n\n append(element: any, instructions: AnimationTimelineInstruction[]) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n\n has(element: any): boolean {\n return this._map.has(element);\n }\n\n clear() {\n this._map.clear();\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 */\nimport {AnimateChildOptions, AnimateTimings, AnimationMetadataType, AnimationOptions, AnimationQueryOptions, AUTO_STYLE, ɵPRE_STYLE as PRE_STYLE, ɵStyleData} from '@angular/animations';\n\nimport {AnimationDriver} from '../render/animation_driver';\nimport {copyObj, copyStyles, interpolateParams, iteratorToArray, resolveTiming, resolveTimingValue, visitDslNode} from '../util';\n\nimport {AnimateAst, AnimateChildAst, AnimateRefAst, Ast, AstVisitor, DynamicTimingAst, GroupAst, KeyframesAst, QueryAst, ReferenceAst, SequenceAst, StaggerAst, StateAst, StyleAst, TimingAst, TransitionAst, TriggerAst} from './animation_ast';\nimport {AnimationTimelineInstruction, createTimelineInstruction} from './animation_timeline_instruction';\nimport {ElementInstructionMap} from './element_instruction_map';\n\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of prototypical inheritance, AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two wihtin a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergesort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill object. Given that each of the keyframe\n * styles are objects that prototypically inhert from the backFill object, this means that if a\n * value is added into the backFill then it will automatically propagate any missing values to all\n * keyframes. Therefore the missing `height` value will be properly filled into the already\n * processed keyframes.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * (For prototypically-inherited contents to be detected a `for(i in obj)` loop must be used.)\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nexport function buildAnimationTimelines(\n driver: AnimationDriver, rootElement: any, ast: Ast,\n enterClassName: string, leaveClassName: string, startingStyles: ɵStyleData = {},\n finalStyles: ɵStyleData = {}, options: AnimationOptions,\n subInstructions?: ElementInstructionMap, errors: any[] = []): AnimationTimelineInstruction[] {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(\n driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles,\n options, subInstructions, errors);\n}\n\nexport class AnimationTimelineBuilderVisitor implements AstVisitor {\n buildKeyframes(\n driver: AnimationDriver, rootElement: any, ast: Ast,\n enterClassName: string, leaveClassName: string, startingStyles: ɵStyleData,\n finalStyles: ɵStyleData, options: AnimationOptions, subInstructions?: ElementInstructionMap,\n errors: any[] = []): AnimationTimelineInstruction[] {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(\n driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n\n visitDslNode(this, ast, context);\n\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n if (timelines.length && Object.keys(finalStyles).length) {\n const tl = timelines[timelines.length - 1];\n if (!tl.allowOnlyTimelineStyles()) {\n tl.setStyles([finalStyles], null, context.errors, options);\n }\n }\n\n return timelines.length ? timelines.map(timeline => timeline.buildKeyframes()) :\n [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];\n }\n\n visitTrigger(ast: TriggerAst, context: AnimationTimelineContext): any {\n // these values are not visited in this AST\n }\n\n visitState(ast: StateAst, context: AnimationTimelineContext): any {\n // these values are not visited in this AST\n }\n\n visitTransition(ast: TransitionAst, context: AnimationTimelineContext): any {\n // these values are not visited in this AST\n }\n\n visitAnimateChild(ast: AnimateChildAst, context: AnimationTimelineContext): any {\n const elementInstructions = context.subInstructions.consume(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(\n elementInstructions, innerContext, innerContext.options as AnimateChildOptions);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n\n visitAnimateRef(ast: AnimateRefAst, context: AnimationTimelineContext): any {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n\n private _visitSubInstructions(\n instructions: AnimationTimelineInstruction[], context: AnimationTimelineContext,\n options: AnimateChildOptions): number {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings =\n context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime =\n Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n\n return furthestTime;\n }\n\n visitReference(ast: ReferenceAst, context: AnimationTimelineContext) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n\n visitSequence(ast: SequenceAst, context: AnimationTimelineContext) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n\n if (options.delay != null) {\n if (ctx.previousNode.type == AnimationMetadataType.Style) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n\n // this is here just incase the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n\n context.previousNode = ast;\n }\n\n visitGroup(ast: GroupAst, context: AnimationTimelineContext) {\n const innerTimelines: TimelineBuilder[] = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(\n timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n\n private _visitTiming(ast: TimingAst, context: AnimationTimelineContext): AnimateTimings {\n if ((ast as DynamicTimingAst).dynamic) {\n const strValue = (ast as DynamicTimingAst).strValue;\n const timingValue =\n context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n } else {\n return {duration: ast.duration, delay: ast.delay, easing: ast.easing};\n }\n }\n\n visitAnimate(ast: AnimateAst, context: AnimationTimelineContext) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n\n const style = ast.style;\n if (style.type == AnimationMetadataType.Keyframes) {\n this.visitKeyframes(style, context);\n } else {\n context.incrementTime(timings.duration);\n this.visitStyle(style as StyleAst, context);\n timeline.applyStylesToKeyframe();\n }\n\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n\n visitStyle(ast: StyleAst, context: AnimationTimelineContext) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings!;\n\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.getCurrentStyleProperties().length) {\n timeline.forwardFrame();\n }\n\n const easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n } else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n\n context.previousNode = ast;\n }\n\n visitKeyframes(ast: KeyframesAst, context: AnimationTimelineContext) {\n const currentAnimateTimings = context.currentAnimateTimings!;\n const startTime = (context.currentTimeline!).duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n\n ast.styles.forEach(step => {\n const offset: number = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n\n visitQuery(ast: QueryAst, context: AnimationTimelineContext) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = (ast.options || {}) as AnimationQueryOptions;\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n\n if (delay &&\n (context.previousNode.type === AnimationMetadataType.Style ||\n (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n\n let furthestTime = startTime;\n const elms = context.invokeQuery(\n ast.selector, ast.originalSelector, ast.limit, ast.includeSelf,\n options.optional ? true : false, context.errors);\n\n context.currentQueryTotal = elms.length;\n let sameElementTimeline: TimelineBuilder|null = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n\n visitDslNode(this, ast.animation, innerContext);\n\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n\n context.previousNode = ast;\n }\n\n visitStagger(ast: StaggerAst, context: AnimationTimelineContext) {\n const parentContext = context.parentContext!;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\n\nexport declare type StyleAtTime = {\n time: number; value: string | number;\n};\n\nconst DEFAULT_NOOP_PREVIOUS_NODE = >{};\nexport class AnimationTimelineContext {\n public parentContext: AnimationTimelineContext|null = null;\n public currentTimeline: TimelineBuilder;\n public currentAnimateTimings: AnimateTimings|null = null;\n public previousNode: Ast = DEFAULT_NOOP_PREVIOUS_NODE;\n public subContextCount = 0;\n public options: AnimationOptions = {};\n public currentQueryIndex: number = 0;\n public currentQueryTotal: number = 0;\n public currentStaggerTime: number = 0;\n\n constructor(\n private _driver: AnimationDriver, public element: any,\n public subInstructions: ElementInstructionMap, private _enterClassName: string,\n private _leaveClassName: string, public errors: any[], public timelines: TimelineBuilder[],\n initialTimeline?: TimelineBuilder) {\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n\n get params() {\n return this.options.params;\n }\n\n updateOptions(options: AnimationOptions|null, skipIfExists?: boolean) {\n if (!options) return;\n\n const newOptions = options as any;\n let optionsToUpdate = this.options;\n\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n (optionsToUpdate as any).duration = resolveTimingValue(newOptions.duration);\n }\n\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate: {[name: string]: any} = optionsToUpdate.params!;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n\n private _copyOptions() {\n const options: AnimationOptions = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params: {[name: string]: any} = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n\n createSubContext(options: AnimationOptions|null = null, element?: any, newTime?: number):\n AnimationTimelineContext {\n const target = element || this.element;\n const context = new AnimationTimelineContext(\n this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName,\n this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n\n context.options = this._copyOptions();\n context.updateOptions(options);\n\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n\n transformIntoNewTimeline(newTime?: number) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n\n appendInstructionToTimeline(\n instruction: AnimationTimelineInstruction, duration: number|null,\n delay: number|null): AnimateTimings {\n const updatedTimings: AnimateTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(\n this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps,\n instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n\n incrementTime(time: number) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n\n delayNextStep(delay: number) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n\n invokeQuery(\n selector: string, originalSelector: string, limit: number, includeSelf: boolean,\n optional: boolean, errors: any[]): any[] {\n let results: any[] = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) { // if :self is only used then the selector is empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n elements.slice(0, limit);\n }\n results.push(...elements);\n }\n\n if (!optional && results.length == 0) {\n errors.push(`\\`query(\"${originalSelector}\")\\` returned zero elements. (Use \\`query(\"${\n originalSelector}\", { optional: true })\\` if you wish to allow this.)`);\n }\n return results;\n }\n}\n\n\nexport class TimelineBuilder {\n public duration: number = 0;\n // TODO(issue/24571): remove '!'.\n public easing!: string|null;\n private _previousKeyframe: ɵStyleData = {};\n private _currentKeyframe: ɵStyleData = {};\n private _keyframes = new Map();\n private _styleSummary: {[prop: string]: StyleAtTime} = {};\n private _localTimelineStyles: ɵStyleData;\n private _globalTimelineStyles: ɵStyleData;\n private _pendingStyles: ɵStyleData = {};\n private _backFill: ɵStyleData = {};\n private _currentEmptyStepKeyframe: ɵStyleData|null = null;\n\n constructor(\n private _driver: AnimationDriver, public element: any, public startTime: number,\n private _elementTimelineStylesLookup?: Map) {\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n\n this._localTimelineStyles = Object.create(this._backFill, {});\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element)!;\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n\n containsAnimation(): boolean {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.getCurrentStyleProperties().length > 0;\n default:\n return true;\n }\n }\n\n getCurrentStyleProperties(): string[] {\n return Object.keys(this._currentKeyframe);\n }\n\n get currentTime() {\n return this.startTime + this.duration;\n }\n\n delayNextStep(delay: number) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size == 1 && Object.keys(this._pendingStyles).length;\n\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n } else {\n this.startTime += delay;\n }\n }\n\n fork(element: any, currentTime?: number): TimelineBuilder {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(\n this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n\n private _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration)!;\n if (!this._currentKeyframe) {\n this._currentKeyframe = Object.create(this._backFill, {});\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n\n forwardTime(time: number) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n\n private _updateStyle(prop: string, value: string|number) {\n this._localTimelineStyles[prop] = value;\n this._globalTimelineStyles[prop] = value;\n this._styleSummary[prop] = {time: this.currentTime, value};\n }\n\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n\n applyEmptyStep(easing: string|null) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n Object.keys(this._globalTimelineStyles).forEach(prop => {\n this._backFill[prop] = this._globalTimelineStyles[prop] || AUTO_STYLE;\n this._currentKeyframe[prop] = AUTO_STYLE;\n });\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n\n setStyles(\n input: (ɵStyleData|string)[], easing: string|null, errors: any[],\n options?: AnimationOptions) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n\n const params = (options && options.params) || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n Object.keys(styles).forEach(prop => {\n const val = interpolateParams(styles[prop], params, errors);\n this._pendingStyles[prop] = val;\n if (!this._localTimelineStyles.hasOwnProperty(prop)) {\n this._backFill[prop] = this._globalTimelineStyles.hasOwnProperty(prop) ?\n this._globalTimelineStyles[prop] :\n AUTO_STYLE;\n }\n this._updateStyle(prop, val);\n });\n }\n\n applyStylesToKeyframe() {\n const styles = this._pendingStyles;\n const props = Object.keys(styles);\n if (props.length == 0) return;\n\n this._pendingStyles = {};\n\n props.forEach(prop => {\n const val = styles[prop];\n this._currentKeyframe[prop] = val;\n });\n\n Object.keys(this._localTimelineStyles).forEach(prop => {\n if (!this._currentKeyframe.hasOwnProperty(prop)) {\n this._currentKeyframe[prop] = this._localTimelineStyles[prop];\n }\n });\n }\n\n snapshotCurrentStyles() {\n Object.keys(this._localTimelineStyles).forEach(prop => {\n const val = this._localTimelineStyles[prop];\n this._pendingStyles[prop] = val;\n this._updateStyle(prop, val);\n });\n }\n\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n\n get properties() {\n const properties: string[] = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n\n mergeTimelineCollectedStyles(timeline: TimelineBuilder) {\n Object.keys(timeline._styleSummary).forEach(prop => {\n const details0 = this._styleSummary[prop];\n const details1 = timeline._styleSummary[prop];\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n\n buildKeyframes(): AnimationTimelineInstruction {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n\n let finalKeyframes: ɵStyleData[] = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = copyStyles(keyframe, true);\n Object.keys(finalKeyframe).forEach(prop => {\n const value = finalKeyframe[prop];\n if (value == PRE_STYLE) {\n preStyleProps.add(prop);\n } else if (value == AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe['offset'] = time / this.duration;\n }\n finalKeyframes.push(finalKeyframe);\n });\n\n const preProps: string[] = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n const postProps: string[] = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = copyObj(kf0);\n kf0['offset'] = 0;\n kf1['offset'] = 1;\n finalKeyframes = [kf0, kf1];\n }\n\n return createTimelineInstruction(\n this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime,\n this.easing, false);\n }\n}\n\nclass SubTimelineBuilder extends TimelineBuilder {\n public timings: AnimateTimings;\n\n constructor(\n driver: AnimationDriver, public element: any, public keyframes: ɵStyleData[],\n public preStyleProps: string[], public postStyleProps: string[], timings: AnimateTimings,\n private _stretchStartingKeyframe: boolean = false) {\n super(driver, element, timings.delay);\n this.timings = {duration: timings.duration, delay: timings.delay, easing: timings.easing};\n }\n\n containsAnimation(): boolean {\n return this.keyframes.length > 1;\n }\n\n buildKeyframes(): AnimationTimelineInstruction {\n let keyframes = this.keyframes;\n let {delay, duration, easing} = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes: ɵStyleData[] = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = copyStyles(keyframes[0], false);\n newFirstKeyframe['offset'] = 0;\n newKeyframes.push(newFirstKeyframe);\n\n const oldFirstKeyframe = copyStyles(keyframes[0], false);\n oldFirstKeyframe['offset'] = roundOffset(startingGap);\n newKeyframes.push(oldFirstKeyframe);\n\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still renderered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n\n delay=1000, duration=1000, keyframes = 0 .5 1\n\n turns into\n\n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = copyStyles(keyframes[i], false);\n const oldOffset = kf['offset'] as number;\n const timeAtKeyframe = delay + oldOffset * duration;\n kf['offset'] = roundOffset(timeAtKeyframe / totalTime);\n newKeyframes.push(kf);\n }\n\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n\n keyframes = newKeyframes;\n }\n\n return createTimelineInstruction(\n this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing,\n true);\n }\n}\n\nfunction roundOffset(offset: number, decimalPoints = 3): number {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\n\nfunction flattenStyles(input: (ɵStyleData|string)[], allStyles: ɵStyleData) {\n const styles: ɵStyleData = {};\n let allProperties: string[];\n input.forEach(token => {\n if (token === '*') {\n allProperties = allProperties || Object.keys(allStyles);\n allProperties.forEach(prop => {\n styles[prop] = AUTO_STYLE;\n });\n } else {\n copyStyles(token as ɵStyleData, false, styles);\n }\n });\n return styles;\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 {AnimationMetadata, AnimationMetadataType, AnimationOptions, ɵStyleData} from '@angular/animations';\n\nimport {AnimationDriver} from '../render/animation_driver';\nimport {ENTER_CLASSNAME, LEAVE_CLASSNAME, normalizeStyles} from '../util';\n\nimport {Ast} from './animation_ast';\nimport {buildAnimationAst} from './animation_ast_builder';\nimport {buildAnimationTimelines} from './animation_timeline_builder';\nimport {AnimationTimelineInstruction} from './animation_timeline_instruction';\nimport {ElementInstructionMap} from './element_instruction_map';\n\nexport class Animation {\n private _animationAst: Ast;\n constructor(private _driver: AnimationDriver, input: AnimationMetadata|AnimationMetadata[]) {\n const errors: any[] = [];\n const ast = buildAnimationAst(_driver, input, errors);\n if (errors.length) {\n const errorMessage = `animation validation failed:\\n${errors.join('\\n')}`;\n throw new Error(errorMessage);\n }\n this._animationAst = ast;\n }\n\n buildTimelines(\n element: any, startingStyles: ɵStyleData|ɵStyleData[],\n destinationStyles: ɵStyleData|ɵStyleData[], options: AnimationOptions,\n subInstructions?: ElementInstructionMap): AnimationTimelineInstruction[] {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) :\n <ɵStyleData>startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) :\n <ɵStyleData>destinationStyles;\n const errors: any = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(\n this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest,\n options, subInstructions, errors);\n if (errors.length) {\n const errorMessage = `animation building failed:\\n${errors.join('\\n')}`;\n throw new Error(errorMessage);\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/**\n * @publicApi\n */\nexport abstract class AnimationStyleNormalizer {\n abstract normalizePropertyName(propertyName: string, errors: string[]): string;\n abstract normalizeStyleValue(\n userProvidedProperty: string, normalizedProperty: string, value: string|number,\n errors: string[]): string;\n}\n\n/**\n * @publicApi\n */\nexport class NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName: string, errors: string[]): string {\n return propertyName;\n }\n\n normalizeStyleValue(\n userProvidedProperty: string, normalizedProperty: string, value: string|number,\n errors: string[]): string {\n return 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 */\nimport {dashCaseToCamelCase} from '../../util';\n\nimport {AnimationStyleNormalizer} from './animation_style_normalizer';\n\nexport class WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName: string, errors: string[]): string {\n return dashCaseToCamelCase(propertyName);\n }\n\n normalizeStyleValue(\n userProvidedProperty: string, normalizedProperty: string, value: string|number,\n errors: string[]): string {\n let unit: string = '';\n const strVal = value.toString().trim();\n\n if (DIMENSIONAL_PROP_MAP[normalizedProperty] && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n } else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(`Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n }\n }\n }\n return strVal + unit;\n }\n}\n\nconst DIMENSIONAL_PROP_MAP =\n (() => makeBooleanMap(\n 'width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective'\n .split(',')))();\n\nfunction makeBooleanMap(keys: string[]): {[key: string]: boolean} {\n const map: {[key: string]: boolean} = {};\n keys.forEach(key => map[key] = true);\n return map;\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 {ɵStyleData} from '@angular/animations';\nimport {AnimationEngineInstruction, AnimationTransitionInstructionType} from '../render/animation_engine_instruction';\nimport {AnimationTimelineInstruction} from './animation_timeline_instruction';\n\nexport interface AnimationTransitionInstruction extends AnimationEngineInstruction {\n element: any;\n triggerName: string;\n isRemovalTransition: boolean;\n fromState: string;\n fromStyles: ɵStyleData;\n toState: string;\n toStyles: ɵStyleData;\n timelines: AnimationTimelineInstruction[];\n queriedElements: any[];\n preStyleProps: Map;\n postStyleProps: Map;\n totalTime: number;\n errors?: any[];\n}\n\nexport function createTransitionInstruction(\n element: any, triggerName: string, fromState: string, toState: string,\n isRemovalTransition: boolean, fromStyles: ɵStyleData, toStyles: ɵStyleData,\n timelines: AnimationTimelineInstruction[], queriedElements: any[],\n preStyleProps: Map,\n postStyleProps: Map, totalTime: number,\n errors?: any[]): AnimationTransitionInstruction {\n return {\n type: AnimationTransitionInstructionType.TransitionAnimation,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\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 */\nimport {AnimationOptions, ɵStyleData} from '@angular/animations';\n\nimport {AnimationDriver} from '../render/animation_driver';\nimport {getOrSetAsInMap} from '../render/shared';\nimport {copyObj, interpolateParams, iteratorToArray, mergeAnimationOptions} from '../util';\n\nimport {StyleAst, TransitionAst} from './animation_ast';\nimport {buildAnimationTimelines} from './animation_timeline_builder';\nimport {TransitionMatcherFn} from './animation_transition_expr';\nimport {AnimationTransitionInstruction, createTransitionInstruction} from './animation_transition_instruction';\nimport {ElementInstructionMap} from './element_instruction_map';\n\nconst EMPTY_OBJECT = {};\n\nexport class AnimationTransitionFactory {\n constructor(\n private _triggerName: string, public ast: TransitionAst,\n private _stateStyles: {[stateName: string]: AnimationStateStyles}) {}\n\n match(currentState: any, nextState: any, element: any, params: {[key: string]: any}): boolean {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n\n buildStyles(stateName: string, params: {[key: string]: any}, errors: any[]) {\n const backupStateStyler = this._stateStyles['*'];\n const stateStyler = this._stateStyles[stateName];\n const backupStyles = backupStateStyler ? backupStateStyler.buildStyles(params, errors) : {};\n return stateStyler ? stateStyler.buildStyles(params, errors) : backupStyles;\n }\n\n build(\n driver: AnimationDriver, element: any, currentState: any, nextState: any,\n enterClassName: string, leaveClassName: string, currentOptions?: AnimationOptions,\n nextOptions?: AnimationOptions, subInstructions?: ElementInstructionMap,\n skipAstBuild?: boolean): AnimationTransitionInstruction {\n const errors: any[] = [];\n\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n\n const animationOptions = {params: {...transitionAnimationParams, ...nextAnimationParams}};\n\n const timelines = skipAstBuild ?\n [] :\n buildAnimationTimelines(\n driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles,\n nextStateStyles, animationOptions, subInstructions, errors);\n\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n\n if (errors.length) {\n return createTransitionInstruction(\n element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles,\n nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetAsInMap(preStyleMap, elm, {});\n tl.preStyleProps.forEach(prop => preProps[prop] = true);\n\n const postProps = getOrSetAsInMap(postStyleMap, elm, {});\n tl.postStyleProps.forEach(prop => postProps[prop] = true);\n\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n\n const queriedElementsList = iteratorToArray(queriedElements.values());\n return createTransitionInstruction(\n element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles,\n nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap, totalTime);\n }\n}\n\nfunction oneOrMoreTransitionsMatch(\n matchFns: TransitionMatcherFn[], currentState: any, nextState: any, element: any,\n params: {[key: string]: any}): boolean {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\n\nexport class AnimationStateStyles {\n constructor(private styles: StyleAst, private defaultParams: {[key: string]: any}) {}\n\n buildStyles(params: {[key: string]: any}, errors: string[]): ɵStyleData {\n const finalStyles: ɵStyleData = {};\n const combinedParams = copyObj(this.defaultParams);\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (value != null) {\n combinedParams[key] = value;\n }\n });\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n const styleObj = value as any;\n Object.keys(styleObj).forEach(prop => {\n let val = styleObj[prop];\n if (val.length > 1) {\n val = interpolateParams(val, combinedParams, errors);\n }\n finalStyles[prop] = val;\n });\n }\n });\n return finalStyles;\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 */\nimport {AnimationMetadataType, ɵStyleData} from '@angular/animations';\n\nimport {copyStyles, interpolateParams} from '../util';\n\nimport {SequenceAst, StyleAst, TransitionAst, TriggerAst} from './animation_ast';\nimport {AnimationStateStyles, AnimationTransitionFactory} from './animation_transition_factory';\n\n\n\n/**\n * @publicApi\n */\nexport function buildTrigger(name: string, ast: TriggerAst): AnimationTrigger {\n return new AnimationTrigger(name, ast);\n}\n\n/**\n * @publicApi\n */\nexport class AnimationTrigger {\n public transitionFactories: AnimationTransitionFactory[] = [];\n public fallbackTransition: AnimationTransitionFactory;\n public states: {[stateName: string]: AnimationStateStyles} = {};\n\n constructor(public name: string, public ast: TriggerAst) {\n ast.states.forEach(ast => {\n const defaultParams = (ast.options && ast.options.params) || {};\n this.states[ast.name] = new AnimationStateStyles(ast.style, defaultParams);\n });\n\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n\n this.fallbackTransition = createFallbackTransition(name, this.states);\n }\n\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n\n matchTransition(currentState: any, nextState: any, element: any, params: {[key: string]: any}):\n AnimationTransitionFactory|null {\n const entry =\n this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n\n matchStyles(currentState: any, params: {[key: string]: any}, errors: any[]): ɵStyleData {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\n\nfunction createFallbackTransition(\n triggerName: string,\n states: {[stateName: string]: AnimationStateStyles}): AnimationTransitionFactory {\n const matchers = [(fromState: any, toState: any) => true];\n const animation: SequenceAst = {type: AnimationMetadataType.Sequence, steps: [], options: null};\n const transition: TransitionAst = {\n type: AnimationMetadataType.Transition,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\n\nfunction balanceProperties(obj: {[key: string]: any}, key1: string, key2: string) {\n if (obj.hasOwnProperty(key1)) {\n if (!obj.hasOwnProperty(key2)) {\n obj[key2] = obj[key1];\n }\n } else if (obj.hasOwnProperty(key2)) {\n obj[key1] = obj[key2];\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 */\nimport {AnimationMetadata, AnimationMetadataType, AnimationOptions, AnimationPlayer, AUTO_STYLE, ɵStyleData} from '@angular/animations';\n\nimport {Ast} from '../dsl/animation_ast';\nimport {buildAnimationAst} from '../dsl/animation_ast_builder';\nimport {buildAnimationTimelines} from '../dsl/animation_timeline_builder';\nimport {AnimationTimelineInstruction} from '../dsl/animation_timeline_instruction';\nimport {ElementInstructionMap} from '../dsl/element_instruction_map';\nimport {AnimationStyleNormalizer} from '../dsl/style_normalization/animation_style_normalizer';\nimport {ENTER_CLASSNAME, LEAVE_CLASSNAME} from '../util';\n\nimport {AnimationDriver} from './animation_driver';\nimport {getOrSetAsInMap, listenOnPlayer, makeAnimationEvent, normalizeKeyframes, optimizeGroupPlayer} from './shared';\n\nconst EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\n\nexport class TimelineAnimationEngine {\n private _animations: {[id: string]: Ast} = {};\n private _playersById: {[id: string]: AnimationPlayer} = {};\n public players: AnimationPlayer[] = [];\n\n constructor(\n public bodyNode: any, private _driver: AnimationDriver,\n private _normalizer: AnimationStyleNormalizer) {}\n\n register(id: string, metadata: AnimationMetadata|AnimationMetadata[]) {\n const errors: any[] = [];\n const ast = buildAnimationAst(this._driver, metadata, errors);\n if (errors.length) {\n throw new Error(\n `Unable to build the animation due to the following errors: ${errors.join('\\n')}`);\n } else {\n this._animations[id] = ast;\n }\n }\n\n private _buildPlayer(\n i: AnimationTimelineInstruction, preStyles: ɵStyleData,\n postStyles?: ɵStyleData): AnimationPlayer {\n const element = i.element;\n const keyframes = normalizeKeyframes(\n this._driver, this._normalizer, element, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n\n create(id: string, element: any, options: AnimationOptions = {}): AnimationPlayer {\n const errors: any[] = [];\n const ast = this._animations[id];\n let instructions: AnimationTimelineInstruction[];\n\n const autoStylesMap = new Map();\n\n if (ast) {\n instructions = buildAnimationTimelines(\n this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, {}, {}, options,\n EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetAsInMap(autoStylesMap, inst.element, {});\n inst.postStyleProps.forEach(prop => styles[prop] = null);\n });\n } else {\n errors.push('The requested animation doesn\\'t exist or has already been destroyed');\n instructions = [];\n }\n\n if (errors.length) {\n throw new Error(\n `Unable to create the animation due to the following errors: ${errors.join('\\n')}`);\n }\n\n autoStylesMap.forEach((styles, element) => {\n Object.keys(styles).forEach(prop => {\n styles[prop] = this._driver.computeStyle(element, prop, AUTO_STYLE);\n });\n });\n\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, {}, styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById[id] = player;\n player.onDestroy(() => this.destroy(id));\n\n this.players.push(player);\n return player;\n }\n\n destroy(id: string) {\n const player = this._getPlayer(id);\n player.destroy();\n delete this._playersById[id];\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n\n private _getPlayer(id: string): AnimationPlayer {\n const player = this._playersById[id];\n if (!player) {\n throw new Error(`Unable to find the timeline player referenced by ${id}`);\n }\n return player;\n }\n\n listen(id: string, element: string, eventName: string, callback: (event: any) => any):\n () => void {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => {};\n }\n\n command(id: string, element: any, command: string, args: any[]): void {\n if (command == 'register') {\n this.register(id, args[0] as AnimationMetadata | AnimationMetadata[]);\n return;\n }\n\n if (command == 'create') {\n const options = (args[0] || {}) as AnimationOptions;\n this.create(id, element, options);\n return;\n }\n\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0] as string));\n break;\n case 'destroy':\n this.destroy(id);\n break;\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 */\nimport {AnimationOptions, AnimationPlayer, AUTO_STYLE, NoopAnimationPlayer, ɵAnimationGroupPlayer as AnimationGroupPlayer, ɵPRE_STYLE as PRE_STYLE, ɵStyleData} from '@angular/animations';\n\nimport {AnimationTimelineInstruction} from '../dsl/animation_timeline_instruction';\nimport {AnimationTransitionFactory} from '../dsl/animation_transition_factory';\nimport {AnimationTransitionInstruction} from '../dsl/animation_transition_instruction';\nimport {AnimationTrigger} from '../dsl/animation_trigger';\nimport {ElementInstructionMap} from '../dsl/element_instruction_map';\nimport {AnimationStyleNormalizer} from '../dsl/style_normalization/animation_style_normalizer';\nimport {copyObj, ENTER_CLASSNAME, eraseStyles, iteratorToArray, LEAVE_CLASSNAME, NG_ANIMATING_CLASSNAME, NG_ANIMATING_SELECTOR, NG_TRIGGER_CLASSNAME, NG_TRIGGER_SELECTOR, setStyles} from '../util';\n\nimport {AnimationDriver} from './animation_driver';\nimport {getOrSetAsInMap, listenOnPlayer, makeAnimationEvent, normalizeKeyframes, optimizeGroupPlayer} from './shared';\n\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\n\nconst EMPTY_PLAYER_ARRAY: TransitionAnimationPlayer[] = [];\nconst NULL_REMOVAL_STATE: ElementAnimationState = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE: ElementAnimationState = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\n\ninterface TriggerListener {\n name: string;\n phase: string;\n callback: (event: any) => any;\n}\n\nexport interface QueueInstruction {\n element: any;\n triggerName: string;\n fromState: StateValue;\n toState: StateValue;\n transition: AnimationTransitionFactory;\n player: TransitionAnimationPlayer;\n isFallbackTransition: boolean;\n}\n\nexport const REMOVAL_FLAG = '__ng_removed';\n\nexport interface ElementAnimationState {\n setForRemoval: boolean;\n setForMove: boolean;\n hasAnimation: boolean;\n namespaceId: string;\n removedBeforeQueried: boolean;\n}\n\nexport class StateValue {\n public value: string;\n public options: AnimationOptions;\n\n get params(): {[key: string]: any} {\n return this.options.params as {[key: string]: any};\n }\n\n constructor(input: any, public namespaceId: string = '') {\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n const options = copyObj(input as any);\n delete options['value'];\n this.options = options as AnimationOptions;\n } else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n\n absorbOptions(options: AnimationOptions) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params!;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\n\nexport const VOID_VALUE = 'void';\nexport const DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\n\nexport class AnimationTransitionNamespace {\n public players: TransitionAnimationPlayer[] = [];\n\n private _triggers: {[triggerName: string]: AnimationTrigger} = {};\n private _queue: QueueInstruction[] = [];\n\n private _elementListeners = new Map();\n\n private _hostClassName: string;\n\n constructor(\n public id: string, public hostElement: any, private _engine: TransitionAnimationEngine) {\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n\n listen(element: any, name: string, phase: string, callback: (event: any) => boolean): () => any {\n if (!this._triggers.hasOwnProperty(name)) {\n throw new Error(`Unable to listen on the animation trigger event \"${\n phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n }\n\n if (phase == null || phase.length == 0) {\n throw new Error(`Unable to listen on the animation trigger \"${\n name}\" because the provided event is undefined!`);\n }\n\n if (!isTriggerEventValid(phase)) {\n throw new Error(`The provided animation trigger event \"${phase}\" for the animation trigger \"${\n name}\" is not supported!`);\n }\n\n const listeners = getOrSetAsInMap(this._elementListeners, element, []);\n const data = {name, phase, callback};\n listeners.push(data);\n\n const triggersWithStates = getOrSetAsInMap(this._engine.statesByElement, element, {});\n if (!triggersWithStates.hasOwnProperty(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates[name] = DEFAULT_STATE_VALUE;\n }\n\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n\n if (!this._triggers[name]) {\n delete triggersWithStates[name];\n }\n });\n };\n }\n\n register(name: string, ast: AnimationTrigger): boolean {\n if (this._triggers[name]) {\n // throw\n return false;\n } else {\n this._triggers[name] = ast;\n return true;\n }\n }\n\n private _getTrigger(name: string) {\n const trigger = this._triggers[name];\n if (!trigger) {\n throw new Error(`The provided animation trigger \"${name}\" has not been registered!`);\n }\n return trigger;\n }\n\n trigger(element: any, triggerName: string, value: any, defaultToFallback: boolean = true):\n TransitionAnimationPlayer|undefined {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = {});\n }\n\n let fromState = triggersWithStates[triggerName];\n const toState = new StateValue(value, this.id);\n\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n\n triggersWithStates[triggerName] = toState;\n\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n\n const isRemoval = toState.value === VOID_VALUE;\n\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors: any[] = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n } else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n\n const playersOnElement: TransitionAnimationPlayer[] =\n getOrSetAsInMap(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new palyer)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n\n let transition =\n trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback) return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n\n this._engine.totalQueuedPlayers++;\n this._queue.push(\n {element, triggerName, transition, fromState, toState, player, isFallbackTransition});\n\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n\n this.players.push(player);\n playersOnElement.push(player);\n\n return player;\n }\n\n deregister(name: string) {\n delete this._triggers[name];\n\n this._engine.statesByElement.forEach((stateMap, element) => {\n delete stateMap[name];\n });\n\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n\n clearElementCache(element: any) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n\n private _signalRemovalForInnerTriggers(rootElement: any, context: any) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG]) return;\n\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n } else {\n this.clearElementCache(elm);\n }\n });\n\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(\n () => elements.forEach(elm => this.clearElementCache(elm)));\n }\n\n triggerLeaveAnimation(\n element: any, context: any, destroyAfterComplete?: boolean,\n defaultToFallback?: boolean): boolean {\n const triggerStates = this._engine.statesByElement.get(element);\n if (triggerStates) {\n const players: TransitionAnimationPlayer[] = [];\n Object.keys(triggerStates).forEach(triggerName => {\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers[triggerName]) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n\n prepareLeaveAnimationListeners(element: any) {\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName)) return;\n visitedTriggers.add(triggerName);\n\n const trigger = this._triggers[triggerName];\n const transition = trigger.fallbackTransition;\n const elementStates = this._engine.statesByElement.get(element)!;\n const fromState = elementStates[triggerName] || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n\n removeNode(element: any, context: any): void {\n const engine = this._engine;\n\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true)) return;\n\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers =\n engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n } else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n } else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n\n insertNode(element: any, parent: any): void {\n addClass(element, this._hostClassName);\n }\n\n drainQueuedTransitions(microtaskId: number): QueueInstruction[] {\n const instructions: QueueInstruction[] = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed) return;\n\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach((listener: TriggerListener) => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(\n element, entry.triggerName, entry.fromState.value, entry.toState.value);\n (baseEvent as any)['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n } else {\n instructions.push(entry);\n }\n });\n\n this._queue = [];\n\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n\n destroy(context: any) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n\n elementContainsData(element: any): boolean {\n let containsData = false;\n if (this._elementListeners.has(element)) containsData = true;\n containsData =\n (this._queue.find(entry => entry.element === element) ? true : false) || containsData;\n return containsData;\n }\n}\n\nexport interface QueuedTransition {\n element: any;\n instruction: AnimationTransitionInstruction;\n player: TransitionAnimationPlayer;\n}\n\nexport class TransitionAnimationEngine {\n public players: TransitionAnimationPlayer[] = [];\n public newHostElements = new Map();\n public playersByElement = new Map();\n public playersByQueriedElement = new Map();\n public statesByElement = new Map();\n public disabledNodes = new Set();\n\n public totalAnimations = 0;\n public totalQueuedPlayers = 0;\n\n private _namespaceLookup: {[id: string]: AnimationTransitionNamespace} = {};\n private _namespaceList: AnimationTransitionNamespace[] = [];\n private _flushFns: (() => any)[] = [];\n private _whenQuietFns: (() => any)[] = [];\n\n public namespacesByHostElement = new Map();\n public collectedEnterElements: any[] = [];\n public collectedLeaveElements: any[] = [];\n\n // this method is designed to be overridden by the code that uses this engine\n public onRemovalComplete = (element: any, context: any) => {};\n\n /** @internal */\n _onRemovalComplete(element: any, context: any) {\n this.onRemovalComplete(element, context);\n }\n\n constructor(\n public bodyNode: any, public driver: AnimationDriver,\n private _normalizer: AnimationStyleNormalizer) {}\n\n get queuedPlayers(): TransitionAnimationPlayer[] {\n const players: TransitionAnimationPlayer[] = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n\n createNamespace(namespaceId: string, hostElement: any) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (hostElement.parentNode) {\n this._balanceNamespaceList(ns, hostElement);\n } else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n\n // given that this host element is apart of the animation code, it\n // may or may not be inserted by a parent node that is an of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n\n private _balanceNamespaceList(ns: AnimationTransitionNamespace, hostElement: any) {\n const limit = this._namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n for (let i = limit; i >= 0; i--) {\n const nextNamespace = this._namespaceList[i];\n if (this.driver.containsElement(nextNamespace.hostElement, hostElement)) {\n this._namespaceList.splice(i + 1, 0, ns);\n found = true;\n break;\n }\n }\n if (!found) {\n this._namespaceList.splice(0, 0, ns);\n }\n } else {\n this._namespaceList.push(ns);\n }\n\n this.namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n\n register(namespaceId: string, hostElement: any) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n\n registerTrigger(namespaceId: string, name: string, trigger: AnimationTrigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n\n destroy(namespaceId: string, context: any) {\n if (!namespaceId) return;\n\n const ns = this._fetchNamespace(namespaceId);\n\n this.afterFlush(() => {\n this.namespacesByHostElement.delete(ns.hostElement);\n delete this._namespaceLookup[namespaceId];\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n });\n\n this.afterFlushAnimationsDone(() => ns.destroy(context));\n }\n\n private _fetchNamespace(id: string) {\n return this._namespaceLookup[id];\n }\n\n fetchNamespacesByElement(element: any): Set {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply the dedupe\n // of namespaces incase there are multiple triggers both the elm and host\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n const keys = Object.keys(elementStates);\n for (let i = 0; i < keys.length; i++) {\n const nsId = elementStates[keys[i]].namespaceId;\n if (nsId) {\n const ns = this._fetchNamespace(nsId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n\n trigger(namespaceId: string, element: any, name: string, value: any): boolean {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n\n insertNode(namespaceId: string, element: any, parent: any, insertBefore: boolean): void {\n if (!isElementNode(element)) return;\n\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG] as ElementAnimationState;\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n\n collectEnterElement(element: any) {\n this.collectedEnterElements.push(element);\n }\n\n markElementAsDisabled(element: any, value: boolean) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n } else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n\n removeNode(namespaceId: string, element: any, isHostElement: boolean, context: any): void {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n } else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n\n if (isHostElement) {\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n }\n } else {\n this._onRemovalComplete(element, context);\n }\n }\n\n markElementAsRemoved(namespaceId: string, element: any, hasAnimation?: boolean, context?: any) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] =\n {namespaceId, setForRemoval: context, hasAnimation, removedBeforeQueried: false};\n }\n\n listen(\n namespaceId: string, element: any, name: string, phase: string,\n callback: (event: any) => boolean): () => any {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => {};\n }\n\n private _buildInstruction(\n entry: QueueInstruction, subTimelines: ElementInstructionMap, enterClassName: string,\n leaveClassName: string, skipBuildAst?: boolean) {\n return entry.transition.build(\n this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName,\n leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n\n destroyInnerAnimations(containerElement: any) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n\n if (this.playersByQueriedElement.size == 0) return;\n\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n\n destroyActiveAnimationsForElement(element: any) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n } else {\n player.destroy();\n }\n });\n }\n }\n\n finishActiveQueriedAnimationOnElement(element: any) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n\n whenRenderingDone(): Promise {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n } else {\n resolve();\n }\n });\n }\n\n processLeaveNode(element: any) {\n const details = element[REMOVAL_FLAG] as ElementAnimationState;\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n\n if (this.driver.matchesElement(element, DISABLED_SELECTOR)) {\n this.markElementAsDisabled(element, false);\n }\n\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n\n flush(microtaskId: number = -1) {\n let players: AnimationPlayer[] = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns: Function[] = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n } finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n } else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n } else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n\n reportError(errors: string[]) {\n throw new Error(\n `Unable to process animations due to the following failed trigger transitions\\n ${\n errors.join('\\n')}`);\n }\n\n private _flushAnimations(cleanupFns: Function[], microtaskId: number):\n TransitionAnimationPlayer[] {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers: TransitionAnimationPlayer[] = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions: QueuedTransition[] = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map>();\n const allPostStyleElements = new Map>();\n\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n\n const allLeaveNodes: any[] = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG] as ElementAnimationState;\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n } else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root)!;\n nodes.forEach(node => removeClass(node, className));\n });\n\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root)!;\n nodes.forEach(node => removeClass(node, className));\n });\n\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n\n const allPlayers: TransitionAnimationPlayer[] = [];\n const erroneousTransitions: AnimationTransitionInstruction[] = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG] as ElementAnimationState;\n // move animations are currently not supported...\n if (details && details.setForMove) {\n player.destroy();\n return;\n }\n }\n\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element)!;\n const enterClassName = enterNodeMapIds.get(element)!;\n const instruction = this._buildInstruction(\n entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned)!;\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n\n // even though the element may not be apart of the DOM, it may\n // still be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important we still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n\n // if a unmatched transition is queued to go then it SHOULD NOT render\n // an animation and cancel the previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n\n // this means that if a parent animation uses this animation as a sub trigger\n // then it will instruct the timeline builder to not add a player delay, but\n // instead stretch the first keyframe gap up until the animation starts. The\n // reason this is important is to prevent extra initialization styles from being\n // required by the user in the animation.\n instruction.timelines.forEach(tl => tl.stretchStartingKeyframe = true);\n\n subTimelines.append(element, instruction.timelines);\n\n const tuple = {instruction, player, element};\n\n queuedInstructions.push(tuple);\n\n instruction.queriedElements.forEach(\n element => getOrSetAsInMap(queriedElements, element, []).push(player));\n\n instruction.preStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n if (props.length) {\n let setVal: Set = allPreStyleElements.get(element)!;\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n }\n });\n\n instruction.postStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n let setVal: Set = allPostStyleElements.get(element)!;\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n });\n });\n }\n\n if (erroneousTransitions.length) {\n const errors: string[] = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(`@${instruction.triggerName} has failed due to:\\n`);\n instruction.errors!.forEach(error => errors.push(`- ${error}\\n`));\n });\n\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n\n const allPreviousPlayersMap = new Map();\n // this map works to tell which element in the DOM tree is contained by\n // which animation. Further down below this map will get populated once\n // the players are built and in doing so it can efficiently figure out\n // if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(\n entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers =\n this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetAsInMap(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n\n // this is a special case for nodes that will be removed (either by)\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or auto since the element\n // that is being getComputedStyle'd will not be visible (since * = destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(\n postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(\n preStylesMap, this.driver, new Set(nodes), allPreStyleElements, PRE_STYLE);\n });\n\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, {...post, ...pre} as any);\n });\n\n const rootPlayers: TransitionAnimationPlayer[] = [];\n const subPlayers: TransitionAnimationPlayer[] = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const {element, player, instruction} = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation: any = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd: any[] = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n\n const innerPlayer = this._buildAnimation(\n player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap,\n postStylesMap);\n\n player.setRealPlayer(innerPlayer);\n\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n } else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n } else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n\n // find all of the sub players' corresponding inner animation player\n subPlayers.forEach(player => {\n // even if any players are not found for a sub animation then it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n } else {\n player.destroy();\n }\n });\n\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG] as ElementAnimationState;\n removeClass(element, LEAVE_CLASSNAME);\n\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation) continue;\n\n let players: TransitionAnimationPlayer[] = [];\n\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n } else {\n this.processLeaveNode(element);\n }\n }\n\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n\n return rootPlayers;\n }\n\n elementContainsData(namespaceId: string, element: any) {\n let containsData = false;\n const details = element[REMOVAL_FLAG] as ElementAnimationState;\n if (details && details.setForRemoval) containsData = true;\n if (this.playersByElement.has(element)) containsData = true;\n if (this.playersByQueriedElement.has(element)) containsData = true;\n if (this.statesByElement.has(element)) containsData = true;\n return this._fetchNamespace(namespaceId).elementContainsData(element) || containsData;\n }\n\n afterFlush(callback: () => any) {\n this._flushFns.push(callback);\n }\n\n afterFlushAnimationsDone(callback: () => any) {\n this._whenQuietFns.push(callback);\n }\n\n private _getPreviousPlayers(\n element: string, isQueriedElement: boolean, namespaceId?: string, triggerName?: string,\n toStateValue?: any): TransitionAnimationPlayer[] {\n let players: TransitionAnimationPlayer[] = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n } else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued) return;\n if (!isRemovalAnimation && player.triggerName != triggerName) return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId) return false;\n if (triggerName && triggerName != player.triggerName) return false;\n return true;\n });\n }\n return players;\n }\n\n private _beforeAnimationBuild(\n namespaceId: string, instruction: AnimationTransitionInstruction,\n allPreviousPlayersMap: Map) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId: string|undefined =\n instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName: string|undefined =\n instruction.isRemovalTransition ? undefined : triggerName;\n\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetAsInMap(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(\n element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = (player as TransitionAnimationPlayer).getRealPlayer() as any;\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n\n private _buildAnimation(\n namespaceId: string, instruction: AnimationTransitionInstruction,\n allPreviousPlayersMap: Map,\n skippedPlayersMap: Map, preStylesMap: Map,\n postStylesMap: Map): AnimationPlayer {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers: TransitionAnimationPlayer[] = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n\n const isQueriedElement = element !== rootElement;\n const previousPlayers =\n flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY)\n .map(p => p.getRealPlayer()))\n .filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p as any;\n return pp.element ? pp.element === element : false;\n });\n\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes(\n this.driver, this._normalizer, element, timelineInstruction.keyframes, preStyles,\n postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n\n return player;\n });\n\n allQueriedPlayers.forEach(player => {\n getOrSetAsInMap(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetAsInMap(skippedPlayersMap, element, []).push(player);\n });\n\n return player;\n }\n\n private _buildPlayer(\n instruction: AnimationTimelineInstruction, keyframes: ɵStyleData[],\n previousPlayers: AnimationPlayer[]): AnimationPlayer {\n if (keyframes.length > 0) {\n return this.driver.animate(\n instruction.element, keyframes, instruction.duration, instruction.delay,\n instruction.easing, previousPlayers);\n }\n\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\n\nexport class TransitionAnimationPlayer implements AnimationPlayer {\n private _player: AnimationPlayer = new NoopAnimationPlayer();\n private _containsRealPlayer = false;\n\n private _queuedCallbacks: {[name: string]: (() => any)[]} = {};\n public readonly destroyed = false;\n // TODO(issue/24571): remove '!'.\n public parentPlayer!: AnimationPlayer;\n\n public markedForDestroy: boolean = false;\n public disabled = false;\n\n readonly queued: boolean = true;\n public readonly totalTime: number = 0;\n\n constructor(public namespaceId: string, public triggerName: string, public element: any) {}\n\n setRealPlayer(player: AnimationPlayer) {\n if (this._containsRealPlayer) return;\n\n this._player = player;\n Object.keys(this._queuedCallbacks).forEach(phase => {\n this._queuedCallbacks[phase].forEach(\n callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks = {};\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n (this as {queued: boolean}).queued = false;\n }\n\n getRealPlayer() {\n return this._player;\n }\n\n overrideTotalTime(totalTime: number) {\n (this as any).totalTime = totalTime;\n }\n\n syncPlayerEvents(player: AnimationPlayer) {\n const p = this._player as any;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback!('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n\n private _queueEvent(name: string, callback: (event: any) => any): void {\n getOrSetAsInMap(this._queuedCallbacks, name, []).push(callback);\n }\n\n onDone(fn: () => void): void {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n\n onStart(fn: () => void): void {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n\n onDestroy(fn: () => void): void {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n\n init(): void {\n this._player.init();\n }\n\n hasStarted(): boolean {\n return this.queued ? false : this._player.hasStarted();\n }\n\n play(): void {\n !this.queued && this._player.play();\n }\n\n pause(): void {\n !this.queued && this._player.pause();\n }\n\n restart(): void {\n !this.queued && this._player.restart();\n }\n\n finish(): void {\n this._player.finish();\n }\n\n destroy(): void {\n (this as {destroyed: boolean}).destroyed = true;\n this._player.destroy();\n }\n\n reset(): void {\n !this.queued && this._player.reset();\n }\n\n setPosition(p: any): void {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n\n getPosition(): number {\n return this.queued ? 0 : this._player.getPosition();\n }\n\n /** @internal */\n triggerCallback(phaseName: string): void {\n const p = this._player as any;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\n\nfunction deleteOrUnsetInMap(map: Map|{[key: string]: any}, key: any, value: any) {\n let currentValues: any[]|null|undefined;\n if (map instanceof Map) {\n currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n } else {\n currentValues = map[key];\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n delete map[key];\n }\n }\n }\n return currentValues;\n}\n\nfunction normalizeTriggerValue(value: any): any {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\n\nfunction isElementNode(node: any) {\n return node && node['nodeType'] === 1;\n}\n\nfunction isTriggerEventValid(eventName: string): boolean {\n return eventName == 'start' || eventName == 'done';\n}\n\nfunction cloakElement(element: any, value?: string) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\n\nfunction cloakAndComputeStyles(\n valuesMap: Map, driver: AnimationDriver, elements: Set,\n elementPropsMap: Map>, defaultStyle: string): any[] {\n const cloakVals: string[] = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n\n const failedElements: any[] = [];\n\n elementPropsMap.forEach((props: Set, element: any) => {\n const styles: ɵStyleData = {};\n props.forEach(prop => {\n const value = styles[prop] = driver.computeStyle(element, prop, defaultStyle);\n\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n\n return failedElements;\n}\n\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots: any[], nodes: any[]): Map {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n\n if (nodes.length == 0) return rootMap;\n\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n\n function getRoot(node: any): any {\n if (!node) return NULL_NODE;\n\n let root = localRootMap.get(node);\n if (root) return root;\n\n const parent = node.parentNode;\n if (rootMap.has(parent)) { // ngIf inside @trigger\n root = parent;\n } else if (nodeSet.has(parent)) { // ngIf inside ngIf\n root = NULL_NODE;\n } else { // recurse upwards\n root = getRoot(parent);\n }\n\n localRootMap.set(node, root);\n return root;\n }\n\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root)!.push(node);\n }\n });\n\n return rootMap;\n}\n\nconst CLASSES_CACHE_KEY = '$$classes';\nfunction containsClass(element: any, className: string): boolean {\n if (element.classList) {\n return element.classList.contains(className);\n } else {\n const classes = element[CLASSES_CACHE_KEY];\n return classes && classes[className];\n }\n}\n\nfunction addClass(element: any, className: string) {\n if (element.classList) {\n element.classList.add(className);\n } else {\n let classes: {[className: string]: boolean} = element[CLASSES_CACHE_KEY];\n if (!classes) {\n classes = element[CLASSES_CACHE_KEY] = {};\n }\n classes[className] = true;\n }\n}\n\nfunction removeClass(element: any, className: string) {\n if (element.classList) {\n element.classList.remove(className);\n } else {\n let classes: {[className: string]: boolean} = element[CLASSES_CACHE_KEY];\n if (classes) {\n delete classes[className];\n }\n }\n}\n\nfunction removeNodesAfterAnimationDone(\n engine: TransitionAnimationEngine, element: any, players: AnimationPlayer[]) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\n\nfunction flattenGroupPlayers(players: AnimationPlayer[]): AnimationPlayer[] {\n const finalPlayers: AnimationPlayer[] = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\n\nfunction _flattenGroupPlayersRecur(players: AnimationPlayer[], finalPlayers: AnimationPlayer[]) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof AnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n } else {\n finalPlayers.push(player);\n }\n }\n}\n\nfunction objEquals(a: {[key: string]: any}, b: {[key: string]: any}): boolean {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length) return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop]) return false;\n }\n return true;\n}\n\nfunction replacePostStylesAsPre(\n element: any, allPreStyleElements: Map>,\n allPostStyleElements: Map>): boolean {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry) return false;\n\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry!.add(data));\n } else {\n allPreStyleElements.set(element, postEntry);\n }\n\n allPostStyleElements.delete(element);\n return true;\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 {AnimationMetadata, AnimationPlayer, AnimationTriggerMetadata} from '@angular/animations';\nimport {TriggerAst} from '../dsl/animation_ast';\nimport {buildAnimationAst} from '../dsl/animation_ast_builder';\nimport {AnimationTrigger, buildTrigger} from '../dsl/animation_trigger';\nimport {AnimationStyleNormalizer} from '../dsl/style_normalization/animation_style_normalizer';\n\nimport {AnimationDriver} from './animation_driver';\nimport {parseTimelineCommand} from './shared';\nimport {TimelineAnimationEngine} from './timeline_animation_engine';\nimport {TransitionAnimationEngine} from './transition_animation_engine';\n\nexport class AnimationEngine {\n private _transitionEngine: TransitionAnimationEngine;\n private _timelineEngine: TimelineAnimationEngine;\n\n private _triggerCache: {[key: string]: AnimationTrigger} = {};\n\n // this method is designed to be overridden by the code that uses this engine\n public onRemovalComplete = (element: any, context: any) => {};\n\n constructor(\n private bodyNode: any, private _driver: AnimationDriver,\n normalizer: AnimationStyleNormalizer) {\n this._transitionEngine = new TransitionAnimationEngine(bodyNode, _driver, normalizer);\n this._timelineEngine = new TimelineAnimationEngine(bodyNode, _driver, normalizer);\n\n this._transitionEngine.onRemovalComplete = (element: any, context: any) =>\n this.onRemovalComplete(element, context);\n }\n\n registerTrigger(\n componentId: string, namespaceId: string, hostElement: any, name: string,\n metadata: AnimationTriggerMetadata): void {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors: any[] = [];\n const ast =\n buildAnimationAst(this._driver, metadata as AnimationMetadata, errors) as TriggerAst;\n if (errors.length) {\n throw new Error(`The animation trigger \"${\n name}\" has failed to build due to the following errors:\\n - ${errors.join('\\n - ')}`);\n }\n trigger = buildTrigger(name, ast);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n\n register(namespaceId: string, hostElement: any) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n\n destroy(namespaceId: string, context: any) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n\n onInsert(namespaceId: string, element: any, parent: any, insertBefore: boolean): void {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n\n onRemove(namespaceId: string, element: any, context: any, isHostElement?: boolean): void {\n this._transitionEngine.removeNode(namespaceId, element, isHostElement || false, context);\n }\n\n disableAnimations(element: any, disable: boolean) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n\n process(namespaceId: string, element: any, property: string, value: any) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value as any[];\n this._timelineEngine.command(id, element, action, args);\n } else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n\n listen(\n namespaceId: string, element: any, eventName: string, eventPhase: string,\n callback: (event: any) => any): () => any {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n\n flush(microtaskId: number = -1): void {\n this._transitionEngine.flush(microtaskId);\n }\n\n get players(): AnimationPlayer[] {\n return (this._transitionEngine.players as AnimationPlayer[])\n .concat(this._timelineEngine.players as AnimationPlayer[]);\n }\n\n whenRenderingDone(): Promise {\n return this._transitionEngine.whenRenderingDone();\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 */\nimport {eraseStyles, setStyles} from '../util';\n\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nexport function packageNonAnimatableStyles(\n element: any, styles: {[key: string]: any}|{[key: string]: any}[]): SpecialCasedStyles|null {\n let startStyles: {[key: string]: any}|null = null;\n let endStyles: {[key: string]: any}|null = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n } else if (styles) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n\n return (startStyles || endStyles) ? new SpecialCasedStyles(element, startStyles, endStyles) :\n null;\n}\n\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nexport class SpecialCasedStyles {\n static initialStylesByElement = new WeakMap();\n\n private _state = SpecialCasedStylesState.Pending;\n private _initialStyles!: {[key: string]: any};\n\n constructor(\n private _element: any, private _startStyles: {[key: string]: any}|null,\n private _endStyles: {[key: string]: any}|null) {\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = {});\n }\n this._initialStyles = initialStyles;\n }\n\n start() {\n if (this._state < SpecialCasedStylesState.Started) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = SpecialCasedStylesState.Started;\n }\n }\n\n finish() {\n this.start();\n if (this._state < SpecialCasedStylesState.Finished) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = SpecialCasedStylesState.Started;\n }\n }\n\n destroy() {\n this.finish();\n if (this._state < SpecialCasedStylesState.Destroyed) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = SpecialCasedStylesState.Destroyed;\n }\n }\n}\n\n/**\n * An enum of states reflective of what the status of `SpecialCasedStyles` is.\n *\n * Depending on how `SpecialCasedStyles` is interacted with, the start and end\n * styles may not be applied in the same way. This enum ensures that if and when\n * the ending styles are applied then the starting styles are applied. It is\n * also used to reflect what the current status of the special cased styles are\n * which helps prevent the starting/ending styles not be applied twice. It is\n * also used to cleanup the styles once `SpecialCasedStyles` is destroyed.\n */\nconst enum SpecialCasedStylesState {\n Pending = 0,\n Started = 1,\n Finished = 2,\n Destroyed = 3,\n}\n\nfunction filterNonAnimatableStyles(styles: {[key: string]: any}) {\n let result: {[key: string]: any}|null = null;\n const props = Object.keys(styles);\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (isNonAnimatableStyle(prop)) {\n result = result || {};\n result[prop] = styles[prop];\n }\n }\n return result;\n}\n\nfunction isNonAnimatableStyle(prop: string) {\n return prop === 'display' || prop === 'position';\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 ELAPSED_TIME_MAX_DECIMAL_PLACES = 3;\nconst ANIMATION_PROP = 'animation';\nconst ANIMATIONEND_EVENT = 'animationend';\nconst ONE_SECOND = 1000;\n\nexport class ElementAnimationStyleHandler {\n private readonly _eventFn: (e: any) => any;\n private _finished = false;\n private _destroyed = false;\n private _startTime = 0;\n private _position = 0;\n\n constructor(\n private readonly _element: any, private readonly _name: string,\n private readonly _duration: number, private readonly _delay: number,\n private readonly _easing: string, private readonly _fillMode: ''|'both'|'forwards',\n private readonly _onDoneFn: () => any) {\n this._eventFn = (e) => this._handleCallback(e);\n }\n\n apply() {\n applyKeyframeAnimation(\n this._element,\n `${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${\n this._name}`);\n addRemoveAnimationEvent(this._element, this._eventFn, false);\n this._startTime = Date.now();\n }\n\n pause() {\n playPauseAnimation(this._element, this._name, 'paused');\n }\n\n resume() {\n playPauseAnimation(this._element, this._name, 'running');\n }\n\n setPosition(position: number) {\n const index = findIndexForAnimation(this._element, this._name);\n this._position = position * this._duration;\n setAnimationStyle(this._element, 'Delay', `-${this._position}ms`, index);\n }\n\n getPosition() {\n return this._position;\n }\n\n private _handleCallback(event: any) {\n const timestamp = event._ngTestManualTimestamp || Date.now();\n const elapsedTime =\n parseFloat(event.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES)) * ONE_SECOND;\n if (event.animationName == this._name &&\n Math.max(timestamp - this._startTime, 0) >= this._delay && elapsedTime >= this._duration) {\n this.finish();\n }\n }\n\n finish() {\n if (this._finished) return;\n this._finished = true;\n this._onDoneFn();\n addRemoveAnimationEvent(this._element, this._eventFn, true);\n }\n\n destroy() {\n if (this._destroyed) return;\n this._destroyed = true;\n this.finish();\n removeKeyframeAnimation(this._element, this._name);\n }\n}\n\nfunction playPauseAnimation(element: any, name: string, status: 'running'|'paused') {\n const index = findIndexForAnimation(element, name);\n setAnimationStyle(element, 'PlayState', status, index);\n}\n\nfunction applyKeyframeAnimation(element: any, value: string): number {\n const anim = getAnimationStyle(element, '').trim();\n let index = 0;\n if (anim.length) {\n index = countChars(anim, ',') + 1;\n value = `${anim}, ${value}`;\n }\n setAnimationStyle(element, '', value);\n return index;\n}\n\nfunction removeKeyframeAnimation(element: any, name: string) {\n const anim = getAnimationStyle(element, '');\n const tokens = anim.split(',');\n const index = findMatchingTokenIndex(tokens, name);\n if (index >= 0) {\n tokens.splice(index, 1);\n const newValue = tokens.join(',');\n setAnimationStyle(element, '', newValue);\n }\n}\n\nfunction findIndexForAnimation(element: any, value: string) {\n const anim = getAnimationStyle(element, '');\n if (anim.indexOf(',') > 0) {\n const tokens = anim.split(',');\n return findMatchingTokenIndex(tokens, value);\n }\n return findMatchingTokenIndex([anim], value);\n}\n\nfunction findMatchingTokenIndex(tokens: string[], searchToken: string): number {\n for (let i = 0; i < tokens.length; i++) {\n if (tokens[i].indexOf(searchToken) >= 0) {\n return i;\n }\n }\n return -1;\n}\n\nfunction addRemoveAnimationEvent(element: any, fn: (e: any) => any, doRemove: boolean) {\n doRemove ? element.removeEventListener(ANIMATIONEND_EVENT, fn) :\n element.addEventListener(ANIMATIONEND_EVENT, fn);\n}\n\nfunction setAnimationStyle(element: any, name: string, value: string, index?: number) {\n const prop = ANIMATION_PROP + name;\n if (index != null) {\n const oldValue = element.style[prop];\n if (oldValue.length) {\n const tokens = oldValue.split(',');\n tokens[index] = value;\n value = tokens.join(',');\n }\n }\n element.style[prop] = value;\n}\n\nfunction getAnimationStyle(element: any, name: string) {\n return element.style[ANIMATION_PROP + name];\n}\n\nfunction countChars(value: string, char: string): number {\n let count = 0;\n for (let i = 0; i < value.length; i++) {\n const c = value.charAt(i);\n if (c === char) count++;\n }\n return count;\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 {AnimationPlayer} from '@angular/animations';\n\nimport {computeStyle} from '../../util';\nimport {SpecialCasedStyles} from '../special_cased_styles';\nimport {ElementAnimationStyleHandler} from './element_animation_style_handler';\n\nconst DEFAULT_FILL_MODE = 'forwards';\nconst DEFAULT_EASING = 'linear';\n\nexport const enum AnimatorControlState {\n INITIALIZED = 1,\n STARTED = 2,\n FINISHED = 3,\n DESTROYED = 4\n}\n\nexport class CssKeyframesPlayer implements AnimationPlayer {\n private _onDoneFns: Function[] = [];\n private _onStartFns: Function[] = [];\n private _onDestroyFns: Function[] = [];\n\n private _started = false;\n // TODO(issue/24571): remove '!'.\n private _styler!: ElementAnimationStyleHandler;\n\n // TODO(issue/24571): remove '!'.\n public parentPlayer!: AnimationPlayer;\n public readonly totalTime: number;\n public readonly easing: string;\n public currentSnapshot: {[key: string]: string} = {};\n\n private _state: AnimatorControlState = 0;\n\n constructor(\n public readonly element: any, public readonly keyframes: {[key: string]: string|number}[],\n public readonly animationName: string, private readonly _duration: number,\n private readonly _delay: number, easing: string,\n private readonly _finalStyles: {[key: string]: any},\n private readonly _specialStyles?: SpecialCasedStyles|null) {\n this.easing = easing || DEFAULT_EASING;\n this.totalTime = _duration + _delay;\n this._buildStyler();\n }\n\n onStart(fn: () => void): void {\n this._onStartFns.push(fn);\n }\n\n onDone(fn: () => void): void {\n this._onDoneFns.push(fn);\n }\n\n onDestroy(fn: () => void): void {\n this._onDestroyFns.push(fn);\n }\n\n destroy() {\n this.init();\n if (this._state >= AnimatorControlState.DESTROYED) return;\n this._state = AnimatorControlState.DESTROYED;\n this._styler.destroy();\n this._flushStartFns();\n this._flushDoneFns();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n\n private _flushDoneFns() {\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n\n private _flushStartFns() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n\n finish() {\n this.init();\n if (this._state >= AnimatorControlState.FINISHED) return;\n this._state = AnimatorControlState.FINISHED;\n this._styler.finish();\n this._flushStartFns();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._flushDoneFns();\n }\n\n setPosition(value: number) {\n this._styler.setPosition(value);\n }\n\n getPosition(): number {\n return this._styler.getPosition();\n }\n\n hasStarted(): boolean {\n return this._state >= AnimatorControlState.STARTED;\n }\n init(): void {\n if (this._state >= AnimatorControlState.INITIALIZED) return;\n this._state = AnimatorControlState.INITIALIZED;\n const elm = this.element;\n this._styler.apply();\n if (this._delay) {\n this._styler.pause();\n }\n }\n\n play(): void {\n this.init();\n if (!this.hasStarted()) {\n this._flushStartFns();\n this._state = AnimatorControlState.STARTED;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this._styler.resume();\n }\n\n pause(): void {\n this.init();\n this._styler.pause();\n }\n restart(): void {\n this.reset();\n this.play();\n }\n reset(): void {\n this._styler.destroy();\n this._buildStyler();\n this._styler.apply();\n }\n\n private _buildStyler() {\n this._styler = new ElementAnimationStyleHandler(\n this.element, this.animationName, this._duration, this._delay, this.easing,\n DEFAULT_FILL_MODE, () => this.finish());\n }\n\n /** @internal */\n triggerCallback(phaseName: string): void {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n\n beforeDestroy() {\n this.init();\n const styles: {[key: string]: string} = {};\n if (this.hasStarted()) {\n const finished = this._state >= AnimatorControlState.FINISHED;\n Object.keys(this._finalStyles).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] = finished ? this._finalStyles[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\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 */\nimport {NoopAnimationPlayer} from '@angular/animations';\nimport {hypenatePropsObject} from '../shared';\n\nexport class DirectStylePlayer extends NoopAnimationPlayer {\n private _startingStyles: {[key: string]: any}|null = {};\n private __initialized = false;\n private _styles: {[key: string]: any};\n\n constructor(public element: any, styles: {[key: string]: any}) {\n super();\n this._styles = hypenatePropsObject(styles);\n }\n\n init() {\n if (this.__initialized || !this._startingStyles) return;\n this.__initialized = true;\n Object.keys(this._styles).forEach(prop => {\n this._startingStyles![prop] = this.element.style[prop];\n });\n super.init();\n }\n\n play() {\n if (!this._startingStyles) return;\n this.init();\n Object.keys(this._styles)\n .forEach(prop => this.element.style.setProperty(prop, this._styles[prop]));\n super.play();\n }\n\n destroy() {\n if (!this._startingStyles) return;\n Object.keys(this._startingStyles).forEach(prop => {\n const value = this._startingStyles![prop];\n if (value) {\n this.element.style.setProperty(prop, value);\n } else {\n this.element.style.removeProperty(prop);\n }\n });\n this._startingStyles = null;\n super.destroy();\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 */\nimport {AnimationPlayer, ɵStyleData} from '@angular/animations';\n\nimport {allowPreviousPlayerStylesMerge, balancePreviousStylesIntoKeyframes, computeStyle} from '../../util';\nimport {AnimationDriver} from '../animation_driver';\nimport {containsElement, hypenatePropsObject, invokeQuery, matchesElement, validateStyleProperty} from '../shared';\nimport {packageNonAnimatableStyles} from '../special_cased_styles';\n\nimport {CssKeyframesPlayer} from './css_keyframes_player';\nimport {DirectStylePlayer} from './direct_style_player';\n\nconst KEYFRAMES_NAME_PREFIX = 'gen_css_kf_';\nconst TAB_SPACE = ' ';\n\nexport class CssKeyframesDriver implements AnimationDriver {\n private _count = 0;\n private readonly _head: any = document.querySelector('head');\n private _warningIssued = false;\n\n validateStyleProperty(prop: string): boolean {\n return validateStyleProperty(prop);\n }\n\n matchesElement(element: any, selector: string): boolean {\n return matchesElement(element, selector);\n }\n\n containsElement(elm1: any, elm2: any): boolean {\n return containsElement(elm1, elm2);\n }\n\n query(element: any, selector: string, multi: boolean): any[] {\n return invokeQuery(element, selector, multi);\n }\n\n computeStyle(element: any, prop: string, defaultValue?: string): string {\n return (window.getComputedStyle(element) as any)[prop] as string;\n }\n\n buildKeyframeElement(element: any, name: string, keyframes: {[key: string]: any}[]): any {\n keyframes = keyframes.map(kf => hypenatePropsObject(kf));\n let keyframeStr = `@keyframes ${name} {\\n`;\n let tab = '';\n keyframes.forEach(kf => {\n tab = TAB_SPACE;\n const offset = parseFloat(kf['offset']);\n keyframeStr += `${tab}${offset * 100}% {\\n`;\n tab += TAB_SPACE;\n Object.keys(kf).forEach(prop => {\n const value = kf[prop];\n switch (prop) {\n case 'offset':\n return;\n case 'easing':\n if (value) {\n keyframeStr += `${tab}animation-timing-function: ${value};\\n`;\n }\n return;\n default:\n keyframeStr += `${tab}${prop}: ${value};\\n`;\n return;\n }\n });\n keyframeStr += `${tab}}\\n`;\n });\n keyframeStr += `}\\n`;\n\n const kfElm = document.createElement('style');\n kfElm.innerHTML = keyframeStr;\n return kfElm;\n }\n\n animate(\n element: any, keyframes: ɵStyleData[], duration: number, delay: number, easing: string,\n previousPlayers: AnimationPlayer[] = [], scrubberAccessRequested?: boolean): AnimationPlayer {\n if (scrubberAccessRequested) {\n this._notifyFaultyScrubber();\n }\n\n const previousCssKeyframePlayers = previousPlayers.filter(\n player => player instanceof CssKeyframesPlayer);\n\n const previousStyles: {[key: string]: any} = {};\n\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousCssKeyframePlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const finalStyles = flattenKeyframesIntoStyles(keyframes);\n\n // if there is no animation then there is no point in applying\n // styles and waiting for an event to get fired. This causes lag.\n // It's better to just directly apply the styles to the element\n // via the direct styling animation player.\n if (duration == 0) {\n return new DirectStylePlayer(element, finalStyles);\n }\n\n const animationName = `${KEYFRAMES_NAME_PREFIX}${this._count++}`;\n const kfElm = this.buildKeyframeElement(element, animationName, keyframes);\n document.querySelector('head')!.appendChild(kfElm);\n\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n const player = new CssKeyframesPlayer(\n element, keyframes, animationName, duration, delay, easing, finalStyles, specialStyles);\n\n player.onDestroy(() => removeElement(kfElm));\n return player;\n }\n\n private _notifyFaultyScrubber() {\n if (!this._warningIssued) {\n console.warn(\n '@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\\n',\n ' visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill.');\n this._warningIssued = true;\n }\n }\n}\n\nfunction flattenKeyframesIntoStyles(keyframes: null|{[key: string]: any}|\n {[key: string]: any}[]): {[key: string]: any} {\n let flatKeyframes: {[key: string]: any} = {};\n if (keyframes) {\n const kfs = Array.isArray(keyframes) ? keyframes : [keyframes];\n kfs.forEach(kf => {\n Object.keys(kf).forEach(prop => {\n if (prop == 'offset' || prop == 'easing') return;\n flatKeyframes[prop] = kf[prop];\n });\n });\n }\n return flatKeyframes;\n}\n\nfunction removeElement(node: any) {\n node.parentNode.removeChild(node);\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 {AnimationPlayer} from '@angular/animations';\n\nimport {computeStyle} from '../../util';\nimport {SpecialCasedStyles} from '../special_cased_styles';\n\nimport {DOMAnimation} from './dom_animation';\n\nexport class WebAnimationsPlayer implements AnimationPlayer {\n private _onDoneFns: Function[] = [];\n private _onStartFns: Function[] = [];\n private _onDestroyFns: Function[] = [];\n private _duration: number;\n private _delay: number;\n private _initialized = false;\n private _finished = false;\n private _started = false;\n private _destroyed = false;\n // TODO(issue/24571): remove '!'.\n private _finalKeyframe!: {[key: string]: string|number};\n\n // TODO(issue/24571): remove '!'.\n public readonly domPlayer!: DOMAnimation;\n public time = 0;\n\n public parentPlayer: AnimationPlayer|null = null;\n public currentSnapshot: {[styleName: string]: string|number} = {};\n\n constructor(\n public element: any, public keyframes: {[key: string]: string|number}[],\n public options: {[key: string]: string|number},\n private _specialStyles?: SpecialCasedStyles|null) {\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n\n private _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n\n init(): void {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n\n private _buildPlayer(): void {\n if (this._initialized) return;\n this._initialized = true;\n\n const keyframes = this.keyframes;\n (this as {domPlayer: DOMAnimation}).domPlayer =\n this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : {};\n this.domPlayer.addEventListener('finish', () => this._onFinish());\n }\n\n private _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n } else {\n this.domPlayer.pause();\n }\n }\n\n /** @internal */\n _triggerWebAnimation(element: any, keyframes: any[], options: any): DOMAnimation {\n // jscompiler doesn't seem to know animate is a native property because it's not fully\n // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n return element['animate'](keyframes, options) as DOMAnimation;\n }\n\n onStart(fn: () => void): void {\n this._onStartFns.push(fn);\n }\n\n onDone(fn: () => void): void {\n this._onDoneFns.push(fn);\n }\n\n onDestroy(fn: () => void): void {\n this._onDestroyFns.push(fn);\n }\n\n play(): void {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n\n pause(): void {\n this.init();\n this.domPlayer.pause();\n }\n\n finish(): void {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n\n reset(): void {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n\n private _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n\n restart(): void {\n this.reset();\n this.play();\n }\n\n hasStarted(): boolean {\n return this._started;\n }\n\n destroy(): void {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n\n setPosition(p: number): void {\n this.domPlayer.currentTime = p * this.time;\n }\n\n getPosition(): number {\n return this.domPlayer.currentTime / this.time;\n }\n\n get totalTime(): number {\n return this._delay + this._duration;\n }\n\n beforeDestroy() {\n const styles: {[key: string]: string|number} = {};\n if (this.hasStarted()) {\n Object.keys(this._finalKeyframe).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] =\n this._finished ? this._finalKeyframe[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\n }\n\n /** @internal */\n triggerCallback(phaseName: string): void {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 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 */\nimport {AnimationPlayer, ɵStyleData} from '@angular/animations';\n\nimport {allowPreviousPlayerStylesMerge, balancePreviousStylesIntoKeyframes, copyStyles} from '../../util';\nimport {AnimationDriver} from '../animation_driver';\nimport {CssKeyframesDriver} from '../css_keyframes/css_keyframes_driver';\nimport {containsElement, invokeQuery, isBrowser, matchesElement, validateStyleProperty} from '../shared';\nimport {packageNonAnimatableStyles} from '../special_cased_styles';\n\nimport {WebAnimationsPlayer} from './web_animations_player';\n\nexport class WebAnimationsDriver implements AnimationDriver {\n private _isNativeImpl = /\\{\\s*\\[native\\s+code\\]\\s*\\}/.test(getElementAnimateFn().toString());\n private _cssKeyframesDriver = new CssKeyframesDriver();\n\n validateStyleProperty(prop: string): boolean {\n return validateStyleProperty(prop);\n }\n\n matchesElement(element: any, selector: string): boolean {\n return matchesElement(element, selector);\n }\n\n containsElement(elm1: any, elm2: any): boolean {\n return containsElement(elm1, elm2);\n }\n\n query(element: any, selector: string, multi: boolean): any[] {\n return invokeQuery(element, selector, multi);\n }\n\n computeStyle(element: any, prop: string, defaultValue?: string): string {\n return (window.getComputedStyle(element) as any)[prop] as string;\n }\n\n overrideWebAnimationsSupport(supported: boolean) {\n this._isNativeImpl = supported;\n }\n\n animate(\n element: any, keyframes: ɵStyleData[], duration: number, delay: number, easing: string,\n previousPlayers: AnimationPlayer[] = [], scrubberAccessRequested?: boolean): AnimationPlayer {\n const useKeyframes = !scrubberAccessRequested && !this._isNativeImpl;\n if (useKeyframes) {\n return this._cssKeyframesDriver.animate(\n element, keyframes, duration, delay, easing, previousPlayers);\n }\n\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions: {[key: string]: string|number} = {duration, delay, fill};\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n\n const previousStyles: {[key: string]: any} = {};\n const previousWebAnimationPlayers = previousPlayers.filter(\n player => player instanceof WebAnimationsPlayer);\n\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n\n keyframes = keyframes.map(styles => copyStyles(styles, false));\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n return new WebAnimationsPlayer(element, keyframes, playerOptions, specialStyles);\n }\n}\n\nexport function supportsWebAnimations() {\n return typeof getElementAnimateFn() === 'function';\n}\n\nfunction getElementAnimateFn(): any {\n return (isBrowser() && (Element).prototype['animate']) || {};\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 */\nexport {Animation as ɵAnimation} from './dsl/animation';\nexport {AnimationStyleNormalizer as ɵAnimationStyleNormalizer, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer} from './dsl/style_normalization/animation_style_normalizer';\nexport {WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer} from './dsl/style_normalization/web_animations_style_normalizer';\nexport {NoopAnimationDriver as ɵNoopAnimationDriver} from './render/animation_driver';\nexport {AnimationEngine as ɵAnimationEngine} from './render/animation_engine_next';\nexport {CssKeyframesDriver as ɵCssKeyframesDriver} from './render/css_keyframes/css_keyframes_driver';\nexport {CssKeyframesPlayer as ɵCssKeyframesPlayer} from './render/css_keyframes/css_keyframes_player';\nexport {containsElement as ɵcontainsElement, invokeQuery as ɵinvokeQuery, matchesElement as ɵmatchesElement, validateStyleProperty as ɵvalidateStyleProperty} from './render/shared';\nexport {supportsWebAnimations as ɵsupportsWebAnimations, WebAnimationsDriver as ɵWebAnimationsDriver} from './render/web_animations/web_animations_driver';\nexport {WebAnimationsPlayer as ɵWebAnimationsPlayer} from './render/web_animations/web_animations_player';\nexport {allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge} from './util';\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 * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\nexport {AnimationDriver} from './render/animation_driver';\nexport * from './private_export';\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 * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/browser';\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 not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verifcation. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SpecialCasedStyles as ɵangular_packages_animations_browser_browser_a} from './src/render/special_cased_styles';","/**\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\nlet _DOM: DomAdapter = null!;\n\nexport function getDOM(): DomAdapter {\n return _DOM;\n}\n\nexport function setDOM(adapter: DomAdapter) {\n _DOM = adapter;\n}\n\nexport function setRootDomAdapter(adapter: DomAdapter) {\n if (!_DOM) {\n _DOM = adapter;\n }\n}\n\n/* tslint:disable:requireParameterType */\n/**\n * Provides DOM operations in an environment-agnostic way.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nexport abstract class DomAdapter {\n // Needs Domino-friendly test utility\n abstract getProperty(el: Element, name: string): any;\n abstract dispatchEvent(el: any, evt: any): any;\n\n // Used by router\n abstract log(error: any): any;\n abstract logGroup(error: any): any;\n abstract logGroupEnd(): any;\n\n // Used by Meta\n abstract remove(el: any): Node;\n abstract createElement(tagName: any, doc?: any): HTMLElement;\n abstract createHtmlDocument(): HTMLDocument;\n abstract getDefaultDocument(): Document;\n\n // Used by By.css\n abstract isElementNode(node: any): boolean;\n\n // Used by Testability\n abstract isShadowRoot(node: any): boolean;\n\n // Used by KeyEventsPlugin\n abstract onAndCancel(el: any, evt: any, listener: any): Function;\n abstract supportsDOMEvents(): boolean;\n\n // Used by PlatformLocation and ServerEventManagerPlugin\n abstract getGlobalEventTarget(doc: Document, target: string): any;\n\n // Used by PlatformLocation\n abstract getHistory(): History;\n abstract getLocation():\n any; /** This is the ambient Location definition, NOT Location from @angular/common. */\n abstract getBaseHref(doc: Document): string|null;\n abstract resetBaseElement(): void;\n\n // TODO: remove dependency in DefaultValueAccessor\n abstract getUserAgent(): string;\n\n // Used by AngularProfiler\n abstract performanceNow(): number;\n\n // Used by CookieXSRFStrategy\n abstract supportsCookies(): boolean;\n abstract getCookie(name: string): string|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 {InjectionToken} from '@angular/core';\n\n/**\n * A DI Token representing the main rendering context. In a browser this is the DOM Document.\n *\n * Note: Document might not be available in the Application Context when Application and Rendering\n * Contexts are not the same (e.g. when running the application in a Web Worker).\n *\n * @publicApi\n */\nexport const DOCUMENT = new InjectionToken('DocumentToken');\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 {Inject, Injectable, InjectionToken, ɵɵinject} from '@angular/core';\nimport {getDOM} from '../dom_adapter';\nimport {DOCUMENT} from '../dom_tokens';\n\n/**\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM APIs, which allows the Router to be\n * platform-agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms that Angular supports. For example, `@angular/platform-browser` provides an\n * implementation specific to the browser environment, while `@angular/platform-server` provides\n * one suitable for use with server-side rendering.\n *\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\n * when they need to interact with the DOM APIs like pushState, popState, etc.\n *\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\n * by the {@link Router} in order to navigate between routes. Since all interactions between {@link\n * Router} /\n * {@link Location} / {@link LocationStrategy} and DOM APIs flow through the `PlatformLocation`\n * class, they are all platform-agnostic.\n *\n * @publicApi\n */\n@Injectable({\n providedIn: 'platform',\n // See #23917\n useFactory: useBrowserPlatformLocation\n})\nexport abstract class PlatformLocation {\n abstract getBaseHrefFromDOM(): string;\n abstract getState(): unknown;\n abstract onPopState(fn: LocationChangeListener): void;\n abstract onHashChange(fn: LocationChangeListener): void;\n\n abstract get href(): string;\n abstract get protocol(): string;\n abstract get hostname(): string;\n abstract get port(): string;\n abstract get pathname(): string;\n abstract get search(): string;\n abstract get hash(): string;\n\n abstract replaceState(state: any, title: string, url: string): void;\n\n abstract pushState(state: any, title: string, url: string): void;\n\n abstract forward(): void;\n\n abstract back(): void;\n}\n\nexport function useBrowserPlatformLocation() {\n return ɵɵinject(BrowserPlatformLocation);\n}\n\n/**\n * @description\n * Indicates when a location is initialized.\n *\n * @publicApi\n */\nexport const LOCATION_INITIALIZED = new InjectionToken>('Location Initialized');\n\n/**\n * @description\n * A serializable version of the event from `onPopState` or `onHashChange`\n *\n * @publicApi\n */\nexport interface LocationChangeEvent {\n type: string;\n state: any;\n}\n\n/**\n * @publicApi\n */\nexport interface LocationChangeListener {\n (event: LocationChangeEvent): any;\n}\n\n\n\n/**\n * `PlatformLocation` encapsulates all of the direct calls to platform APIs.\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n */\n@Injectable({\n providedIn: 'platform',\n // See #23917\n useFactory: createBrowserPlatformLocation,\n})\nexport class BrowserPlatformLocation extends PlatformLocation {\n public readonly location!: Location;\n private _history!: History;\n\n constructor(@Inject(DOCUMENT) private _doc: any) {\n super();\n this._init();\n }\n\n // This is moved to its own method so that `MockPlatformLocationStrategy` can overwrite it\n /** @internal */\n _init() {\n (this as {location: Location}).location = getDOM().getLocation();\n this._history = getDOM().getHistory();\n }\n\n getBaseHrefFromDOM(): string {\n return getDOM().getBaseHref(this._doc)!;\n }\n\n onPopState(fn: LocationChangeListener): void {\n getDOM().getGlobalEventTarget(this._doc, 'window').addEventListener('popstate', fn, false);\n }\n\n onHashChange(fn: LocationChangeListener): void {\n getDOM().getGlobalEventTarget(this._doc, 'window').addEventListener('hashchange', fn, false);\n }\n\n get href(): string {\n return this.location.href;\n }\n get protocol(): string {\n return this.location.protocol;\n }\n get hostname(): string {\n return this.location.hostname;\n }\n get port(): string {\n return this.location.port;\n }\n get pathname(): string {\n return this.location.pathname;\n }\n get search(): string {\n return this.location.search;\n }\n get hash(): string {\n return this.location.hash;\n }\n set pathname(newPath: string) {\n this.location.pathname = newPath;\n }\n\n pushState(state: any, title: string, url: string): void {\n if (supportsState()) {\n this._history.pushState(state, title, url);\n } else {\n this.location.hash = url;\n }\n }\n\n replaceState(state: any, title: string, url: string): void {\n if (supportsState()) {\n this._history.replaceState(state, title, url);\n } else {\n this.location.hash = url;\n }\n }\n\n forward(): void {\n this._history.forward();\n }\n\n back(): void {\n this._history.back();\n }\n\n getState(): unknown {\n return this._history.state;\n }\n}\n\nexport function supportsState(): boolean {\n return !!window.history.pushState;\n}\nexport function createBrowserPlatformLocation() {\n return new BrowserPlatformLocation(ɵɵinject(DOCUMENT));\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 {DomAdapter as ɵDomAdapter, getDOM as ɵgetDOM, setRootDomAdapter as ɵsetRootDomAdapter} from './dom_adapter';\nexport {BrowserPlatformLocation as ɵBrowserPlatformLocation} from './location/platform_location';\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/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nexport function joinWithSlash(start: string, end: string): string {\n if (start.length == 0) {\n return end;\n }\n if (end.length == 0) {\n return start;\n }\n let slashes = 0;\n if (start.endsWith('/')) {\n slashes++;\n }\n if (end.startsWith('/')) {\n slashes++;\n }\n if (slashes == 2) {\n return start + end.substring(1);\n }\n if (slashes == 1) {\n return start + end;\n }\n return start + '/' + end;\n}\n\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nexport function stripTrailingSlash(url: string): string {\n const match = url.match(/#|\\?|$/);\n const pathEndIdx = match && match.index || url.length;\n const droppedSlashIdx = pathEndIdx - (url[pathEndIdx - 1] === '/' ? 1 : 0);\n return url.slice(0, droppedSlashIdx) + url.slice(pathEndIdx);\n}\n\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nexport function normalizeQueryParams(params: string): string {\n return params && params[0] !== '?' ? '?' + params : params;\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 {Inject, Injectable, InjectionToken, Optional, ɵɵinject} from '@angular/core';\nimport {DOCUMENT} from '../dom_tokens';\nimport {LocationChangeListener, PlatformLocation} from './platform_location';\nimport {joinWithSlash, normalizeQueryParams} from './util';\n\n/**\n * Enables the `Location` service to read route state from the browser's URL.\n * Angular provides two strategies:\n * `HashLocationStrategy` and `PathLocationStrategy`.\n *\n * Applications should use the `Router` or `Location` services to\n * interact with application route state.\n *\n * For instance, `HashLocationStrategy` produces URLs like\n * http://example.com#/foo,\n * and `PathLocationStrategy` produces\n * http://example.com/foo as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\n@Injectable({providedIn: 'root', useFactory: provideLocationStrategy})\nexport abstract class LocationStrategy {\n abstract path(includeHash?: boolean): string;\n abstract prepareExternalUrl(internal: string): string;\n abstract pushState(state: any, title: string, url: string, queryParams: string): void;\n abstract replaceState(state: any, title: string, url: string, queryParams: string): void;\n abstract forward(): void;\n abstract back(): void;\n abstract onPopState(fn: LocationChangeListener): void;\n abstract getBaseHref(): string;\n}\n\nexport function provideLocationStrategy(platformLocation: PlatformLocation) {\n // See #23917\n const location = ɵɵinject(DOCUMENT).location;\n return new PathLocationStrategy(\n ɵɵinject(PlatformLocation as any), location && location.origin || '');\n}\n\n\n/**\n * A predefined [DI token](guide/glossary#di-token) for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```typescript\n * import {Component, NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nexport const APP_BASE_HREF = new InjectionToken('appBaseHref');\n\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you must provide a {@link APP_BASE_HREF}\n * or add a base element to the document. This URL prefix that will be preserved\n * when generating and recognizing URLs.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Similarly, if you add `` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\n@Injectable()\nexport class PathLocationStrategy extends LocationStrategy {\n private _baseHref: string;\n\n constructor(\n private _platformLocation: PlatformLocation,\n @Optional() @Inject(APP_BASE_HREF) href?: string) {\n super();\n\n if (href == null) {\n href = this._platformLocation.getBaseHrefFromDOM();\n }\n\n if (href == null) {\n throw new Error(\n `No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.`);\n }\n\n this._baseHref = href;\n }\n\n onPopState(fn: LocationChangeListener): void {\n this._platformLocation.onPopState(fn);\n this._platformLocation.onHashChange(fn);\n }\n\n getBaseHref(): string {\n return this._baseHref;\n }\n\n prepareExternalUrl(internal: string): string {\n return joinWithSlash(this._baseHref, internal);\n }\n\n path(includeHash: boolean = false): string {\n const pathname =\n this._platformLocation.pathname + normalizeQueryParams(this._platformLocation.search);\n const hash = this._platformLocation.hash;\n return hash && includeHash ? `${pathname}${hash}` : pathname;\n }\n\n pushState(state: any, title: string, url: string, queryParams: string) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.pushState(state, title, externalUrl);\n }\n\n replaceState(state: any, title: string, url: string, queryParams: string) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.replaceState(state, title, externalUrl);\n }\n\n forward(): void {\n this._platformLocation.forward();\n }\n\n back(): void {\n this._platformLocation.back();\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 {Inject, Injectable, Optional} from '@angular/core';\nimport {APP_BASE_HREF, LocationStrategy} from './location_strategy';\nimport {LocationChangeListener, PlatformLocation} from './platform_location';\nimport {joinWithSlash, normalizeQueryParams} from './util';\n\n\n\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\n * of the browser's URL.\n *\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\n * `example.com#/foo`.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/hash_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\n@Injectable()\nexport class HashLocationStrategy extends LocationStrategy {\n private _baseHref: string = '';\n constructor(\n private _platformLocation: PlatformLocation,\n @Optional() @Inject(APP_BASE_HREF) _baseHref?: string) {\n super();\n if (_baseHref != null) {\n this._baseHref = _baseHref;\n }\n }\n\n onPopState(fn: LocationChangeListener): void {\n this._platformLocation.onPopState(fn);\n this._platformLocation.onHashChange(fn);\n }\n\n getBaseHref(): string {\n return this._baseHref;\n }\n\n path(includeHash: boolean = false): string {\n // the hash value is always prefixed with a `#`\n // and if it is empty then it will stay empty\n let path = this._platformLocation.hash;\n if (path == null) path = '#';\n\n return path.length > 0 ? path.substring(1) : path;\n }\n\n prepareExternalUrl(internal: string): string {\n const url = joinWithSlash(this._baseHref, internal);\n return url.length > 0 ? ('#' + url) : url;\n }\n\n pushState(state: any, title: string, path: string, queryParams: string) {\n let url: string|null = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.pushState(state, title, url);\n }\n\n replaceState(state: any, title: string, path: string, queryParams: string) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.replaceState(state, title, url);\n }\n\n forward(): void {\n this._platformLocation.forward();\n }\n\n back(): void {\n this._platformLocation.back();\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 {EventEmitter, Injectable, ɵɵinject} from '@angular/core';\nimport {SubscriptionLike} from 'rxjs';\nimport {LocationStrategy} from './location_strategy';\nimport {PlatformLocation} from './platform_location';\nimport {joinWithSlash, normalizeQueryParams, stripTrailingSlash} from './util';\n\n/** @publicApi */\nexport interface PopStateEvent {\n pop?: boolean;\n state?: any;\n type?: string;\n url?: string;\n}\n\n/**\n * @description\n *\n * A service that applications can use to interact with a browser's URL.\n *\n * Depending on the `LocationStrategy` used, `Location` persists\n * to the URL's path or the URL's hash segment.\n *\n * @usageNotes\n *\n * It's better to use the `Router#navigate` service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n *\n * \n *\n * @publicApi\n */\n@Injectable({\n providedIn: 'root',\n // See #23917\n useFactory: createLocation,\n})\nexport class Location {\n /** @internal */\n _subject: EventEmitter = new EventEmitter();\n /** @internal */\n _baseHref: string;\n /** @internal */\n _platformStrategy: LocationStrategy;\n /** @internal */\n _platformLocation: PlatformLocation;\n /** @internal */\n _urlChangeListeners: ((url: string, state: unknown) => void)[] = [];\n /** @internal */\n _urlChangeSubscription?: SubscriptionLike;\n\n constructor(platformStrategy: LocationStrategy, platformLocation: PlatformLocation) {\n this._platformStrategy = platformStrategy;\n const browserBaseHref = this._platformStrategy.getBaseHref();\n this._platformLocation = platformLocation;\n this._baseHref = stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n this._platformStrategy.onPopState((ev) => {\n this._subject.emit({\n 'url': this.path(true),\n 'pop': true,\n 'state': ev.state,\n 'type': ev.type,\n });\n });\n }\n\n /**\n * Normalizes the URL path for this location.\n *\n * @param includeHash True to include an anchor fragment in the path.\n *\n * @returns The normalized URL path.\n */\n // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n // removed.\n path(includeHash: boolean = false): string {\n return this.normalize(this._platformStrategy.path(includeHash));\n }\n\n /**\n * Reports the current state of the location history.\n * @returns The current value of the `history.state` object.\n */\n getState(): unknown {\n return this._platformLocation.getState();\n }\n\n /**\n * Normalizes the given path and compares to the current normalized path.\n *\n * @param path The given URL path.\n * @param query Query parameters.\n *\n * @returns True if the given URL path is equal to the current normalized path, false\n * otherwise.\n */\n isCurrentPathEqualTo(path: string, query: string = ''): boolean {\n return this.path() == this.normalize(path + normalizeQueryParams(query));\n }\n\n /**\n * Normalizes a URL path by stripping any trailing slashes.\n *\n * @param url String representing a URL.\n *\n * @returns The normalized URL string.\n */\n normalize(url: string): string {\n return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));\n }\n\n /**\n * Normalizes an external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), adds one\n * before normalizing. Adds a hash if `HashLocationStrategy` is\n * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n *\n * @param url String representing a URL.\n *\n * @returns A normalized platform-specific URL.\n */\n prepareExternalUrl(url: string): string {\n if (url && url[0] !== '/') {\n url = '/' + url;\n }\n return this._platformStrategy.prepareExternalUrl(url);\n }\n\n // TODO: rename this method to pushState\n /**\n * Changes the browser's URL to a normalized version of a given URL, and pushes a\n * new item onto the platform's history.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n *\n */\n go(path: string, query: string = '', state: any = null): void {\n this._platformStrategy.pushState(state, '', path, query);\n this._notifyUrlChangeListeners(\n this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n\n /**\n * Changes the browser's URL to a normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n */\n replaceState(path: string, query: string = '', state: any = null): void {\n this._platformStrategy.replaceState(state, '', path, query);\n this._notifyUrlChangeListeners(\n this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n\n /**\n * Navigates forward in the platform's history.\n */\n forward(): void {\n this._platformStrategy.forward();\n }\n\n /**\n * Navigates back in the platform's history.\n */\n back(): void {\n this._platformStrategy.back();\n }\n\n /**\n * Registers a URL change listener. Use to catch updates performed by the Angular\n * framework that are not detectible through \"popstate\" or \"hashchange\" events.\n *\n * @param fn The change handler function, which take a URL and a location history state.\n */\n onUrlChange(fn: (url: string, state: unknown) => void) {\n this._urlChangeListeners.push(fn);\n\n if (!this._urlChangeSubscription) {\n this._urlChangeSubscription = this.subscribe(v => {\n this._notifyUrlChangeListeners(v.url, v.state);\n });\n }\n }\n\n /** @internal */\n _notifyUrlChangeListeners(url: string = '', state: unknown) {\n this._urlChangeListeners.forEach(fn => fn(url, state));\n }\n\n /**\n * Subscribes to the platform's `popState` events.\n *\n * @param value Event that is triggered when the state history changes.\n * @param exception The exception to throw.\n *\n * @returns Subscribed events.\n */\n subscribe(\n onNext: (value: PopStateEvent) => void, onThrow?: ((exception: any) => void)|null,\n onReturn?: (() => void)|null): SubscriptionLike {\n return this._subject.subscribe({next: onNext, error: onThrow, complete: onReturn});\n }\n\n /**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\n public static normalizeQueryParams: (params: string) => string = normalizeQueryParams;\n\n /**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\n public static joinWithSlash: (start: string, end: string) => string = joinWithSlash;\n\n /**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\n public static stripTrailingSlash: (url: string) => string = stripTrailingSlash;\n}\n\nexport function createLocation() {\n return new Location(ɵɵinject(LocationStrategy as any), ɵɵinject(PlatformLocation as any));\n}\n\nfunction _stripBaseHref(baseHref: string, url: string): string {\n return baseHref && url.startsWith(baseHref) ? url.substring(baseHref.length) : url;\n}\n\nfunction _stripIndexHtml(url: string): string {\n return url.replace(/\\/index.html$/, '');\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 {HashLocationStrategy} from './hash_location_strategy';\nexport {Location, PopStateEvent} from './location';\nexport {APP_BASE_HREF, LocationStrategy, PathLocationStrategy} from './location_strategy';\nexport {LOCATION_INITIALIZED, LocationChangeEvent, LocationChangeListener, PlatformLocation} from './platform_location';\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 CODE IS GENERATED - DO NOT MODIFY\n// See angular/tools/gulp-tasks/cldr/extract.js\n\nexport type CurrenciesSymbols = [string]|[string | undefined, string];\n\n/** @internal */\nexport const CURRENCIES_EN:\n {[code: string]: CurrenciesSymbols|[string | undefined, string | undefined, number]} = {\n 'ADP': [undefined, undefined, 0],\n 'AFN': [undefined, undefined, 0],\n 'ALL': [undefined, undefined, 0],\n 'AMD': [undefined, undefined, 2],\n 'AOA': [undefined, 'Kz'],\n 'ARS': [undefined, '$'],\n 'AUD': ['A$', '$'],\n 'BAM': [undefined, 'KM'],\n 'BBD': [undefined, '$'],\n 'BDT': [undefined, '৳'],\n 'BHD': [undefined, undefined, 3],\n 'BIF': [undefined, undefined, 0],\n 'BMD': [undefined, '$'],\n 'BND': [undefined, '$'],\n 'BOB': [undefined, 'Bs'],\n 'BRL': ['R$'],\n 'BSD': [undefined, '$'],\n 'BWP': [undefined, 'P'],\n 'BYN': [undefined, 'р.', 2],\n 'BYR': [undefined, undefined, 0],\n 'BZD': [undefined, '$'],\n 'CAD': ['CA$', '$', 2],\n 'CHF': [undefined, undefined, 2],\n 'CLF': [undefined, undefined, 4],\n 'CLP': [undefined, '$', 0],\n 'CNY': ['CN¥', '¥'],\n 'COP': [undefined, '$', 2],\n 'CRC': [undefined, '₡', 2],\n 'CUC': [undefined, '$'],\n 'CUP': [undefined, '$'],\n 'CZK': [undefined, 'Kč', 2],\n 'DJF': [undefined, undefined, 0],\n 'DKK': [undefined, 'kr', 2],\n 'DOP': [undefined, '$'],\n 'EGP': [undefined, 'E£'],\n 'ESP': [undefined, '₧', 0],\n 'EUR': ['€'],\n 'FJD': [undefined, '$'],\n 'FKP': [undefined, '£'],\n 'GBP': ['£'],\n 'GEL': [undefined, '₾'],\n 'GIP': [undefined, '£'],\n 'GNF': [undefined, 'FG', 0],\n 'GTQ': [undefined, 'Q'],\n 'GYD': [undefined, '$', 2],\n 'HKD': ['HK$', '$'],\n 'HNL': [undefined, 'L'],\n 'HRK': [undefined, 'kn'],\n 'HUF': [undefined, 'Ft', 2],\n 'IDR': [undefined, 'Rp', 2],\n 'ILS': ['₪'],\n 'INR': ['₹'],\n 'IQD': [undefined, undefined, 0],\n 'IRR': [undefined, undefined, 0],\n 'ISK': [undefined, 'kr', 0],\n 'ITL': [undefined, undefined, 0],\n 'JMD': [undefined, '$'],\n 'JOD': [undefined, undefined, 3],\n 'JPY': ['¥', undefined, 0],\n 'KHR': [undefined, '៛'],\n 'KMF': [undefined, 'CF', 0],\n 'KPW': [undefined, '₩', 0],\n 'KRW': ['₩', undefined, 0],\n 'KWD': [undefined, undefined, 3],\n 'KYD': [undefined, '$'],\n 'KZT': [undefined, '₸'],\n 'LAK': [undefined, '₭', 0],\n 'LBP': [undefined, 'L£', 0],\n 'LKR': [undefined, 'Rs'],\n 'LRD': [undefined, '$'],\n 'LTL': [undefined, 'Lt'],\n 'LUF': [undefined, undefined, 0],\n 'LVL': [undefined, 'Ls'],\n 'LYD': [undefined, undefined, 3],\n 'MGA': [undefined, 'Ar', 0],\n 'MGF': [undefined, undefined, 0],\n 'MMK': [undefined, 'K', 0],\n 'MNT': [undefined, '₮', 2],\n 'MRO': [undefined, undefined, 0],\n 'MUR': [undefined, 'Rs', 2],\n 'MXN': ['MX$', '$'],\n 'MYR': [undefined, 'RM'],\n 'NAD': [undefined, '$'],\n 'NGN': [undefined, '₦'],\n 'NIO': [undefined, 'C$'],\n 'NOK': [undefined, 'kr', 2],\n 'NPR': [undefined, 'Rs'],\n 'NZD': ['NZ$', '$'],\n 'OMR': [undefined, undefined, 3],\n 'PHP': [undefined, '₱'],\n 'PKR': [undefined, 'Rs', 2],\n 'PLN': [undefined, 'zł'],\n 'PYG': [undefined, '₲', 0],\n 'RON': [undefined, 'lei'],\n 'RSD': [undefined, undefined, 0],\n 'RUB': [undefined, '₽'],\n 'RUR': [undefined, 'р.'],\n 'RWF': [undefined, 'RF', 0],\n 'SBD': [undefined, '$'],\n 'SEK': [undefined, 'kr', 2],\n 'SGD': [undefined, '$'],\n 'SHP': [undefined, '£'],\n 'SLL': [undefined, undefined, 0],\n 'SOS': [undefined, undefined, 0],\n 'SRD': [undefined, '$'],\n 'SSP': [undefined, '£'],\n 'STD': [undefined, undefined, 0],\n 'STN': [undefined, 'Db'],\n 'SYP': [undefined, '£', 0],\n 'THB': [undefined, '฿'],\n 'TMM': [undefined, undefined, 0],\n 'TND': [undefined, undefined, 3],\n 'TOP': [undefined, 'T$'],\n 'TRL': [undefined, undefined, 0],\n 'TRY': [undefined, '₺'],\n 'TTD': [undefined, '$'],\n 'TWD': ['NT$', '$', 2],\n 'TZS': [undefined, undefined, 2],\n 'UAH': [undefined, '₴'],\n 'UGX': [undefined, undefined, 0],\n 'USD': ['$'],\n 'UYI': [undefined, undefined, 0],\n 'UYU': [undefined, '$'],\n 'UYW': [undefined, undefined, 4],\n 'UZS': [undefined, undefined, 2],\n 'VEF': [undefined, 'Bs', 2],\n 'VND': ['₫', undefined, 0],\n 'VUV': [undefined, undefined, 0],\n 'XAF': ['FCFA', undefined, 0],\n 'XCD': ['EC$', '$'],\n 'XOF': ['CFA', undefined, 0],\n 'XPF': ['CFPF', undefined, 0],\n 'XXX': ['¤'],\n 'YER': [undefined, undefined, 0],\n 'ZAR': [undefined, 'R'],\n 'ZMK': [undefined, undefined, 0],\n 'ZMW': [undefined, 'ZK'],\n 'ZWD': [undefined, undefined, 0]\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 {ɵCurrencyIndex, ɵExtraLocaleDataIndex, ɵfindLocaleData, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, ɵLocaleDataIndex} from '@angular/core';\n\nimport {CURRENCIES_EN, CurrenciesSymbols} from './currencies';\n\n\n/**\n * Format styles that can be used to represent numbers.\n * @see `getLocaleNumberFormat()`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport enum NumberFormatStyle {\n Decimal,\n Percent,\n Currency,\n Scientific\n}\n\n/**\n * Plurality cases used for translating plurals to different languages.\n *\n * @see `NgPlural`\n * @see `NgPluralCase`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport enum Plural {\n Zero = 0,\n One = 1,\n Two = 2,\n Few = 3,\n Many = 4,\n Other = 5,\n}\n\n/**\n * Context-dependant translation forms for strings.\n * Typically the standalone version is for the nominative form of the word,\n * and the format version is used for the genitive case.\n * @see [CLDR website](http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport enum FormStyle {\n Format,\n Standalone\n}\n\n/**\n * String widths available for translations.\n * The specific character widths are locale-specific.\n * Examples are given for the word \"Sunday\" in English.\n *\n * @publicApi\n */\nexport enum TranslationWidth {\n /** 1 character for `en-US`. For example: 'S' */\n Narrow,\n /** 3 characters for `en-US`. For example: 'Sun' */\n Abbreviated,\n /** Full length for `en-US`. For example: \"Sunday\" */\n Wide,\n /** 2 characters for `en-US`, For example: \"Su\" */\n Short\n}\n\n/**\n * String widths available for date-time formats.\n * The specific character widths are locale-specific.\n * Examples are given for `en-US`.\n *\n * @see `getLocaleDateFormat()`\n * @see `getLocaleTimeFormat()``\n * @see `getLocaleDateTimeFormat()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n * @publicApi\n */\nexport enum FormatWidth {\n /**\n * For `en-US`, 'M/d/yy, h:mm a'`\n * (Example: `6/15/15, 9:03 AM`)\n */\n Short,\n /**\n * For `en-US`, `'MMM d, y, h:mm:ss a'`\n * (Example: `Jun 15, 2015, 9:03:01 AM`)\n */\n Medium,\n /**\n * For `en-US`, `'MMMM d, y, h:mm:ss a z'`\n * (Example: `June 15, 2015 at 9:03:01 AM GMT+1`)\n */\n Long,\n /**\n * For `en-US`, `'EEEE, MMMM d, y, h:mm:ss a zzzz'`\n * (Example: `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00`)\n */\n Full\n}\n\n/**\n * Symbols that can be used to replace placeholders in number patterns.\n * Examples are based on `en-US` values.\n *\n * @see `getLocaleNumberSymbol()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport enum NumberSymbol {\n /**\n * Decimal separator.\n * For `en-US`, the dot character.\n * Example : 2,345`.`67\n */\n Decimal,\n /**\n * Grouping separator, typically for thousands.\n * For `en-US`, the comma character.\n * Example: 2`,`345.67\n */\n Group,\n /**\n * List-item separator.\n * Example: \"one, two, and three\"\n */\n List,\n /**\n * Sign for percentage (out of 100).\n * Example: 23.4%\n */\n PercentSign,\n /**\n * Sign for positive numbers.\n * Example: +23\n */\n PlusSign,\n /**\n * Sign for negative numbers.\n * Example: -23\n */\n MinusSign,\n /**\n * Computer notation for exponential value (n times a power of 10).\n * Example: 1.2E3\n */\n Exponential,\n /**\n * Human-readable format of exponential.\n * Example: 1.2x103\n */\n SuperscriptingExponent,\n /**\n * Sign for permille (out of 1000).\n * Example: 23.4‰\n */\n PerMille,\n /**\n * Infinity, can be used with plus and minus.\n * Example: ∞, +∞, -∞\n */\n Infinity,\n /**\n * Not a number.\n * Example: NaN\n */\n NaN,\n /**\n * Symbol used between time units.\n * Example: 10:52\n */\n TimeSeparator,\n /**\n * Decimal separator for currency values (fallback to `Decimal`).\n * Example: $2,345.67\n */\n CurrencyDecimal,\n /**\n * Group separator for currency values (fallback to `Group`).\n * Example: $2,345.67\n */\n CurrencyGroup\n}\n\n/**\n * The value for each day of the week, based on the `en-US` locale\n *\n * @publicApi\n */\nexport enum WeekDay {\n Sunday = 0,\n Monday,\n Tuesday,\n Wednesday,\n Thursday,\n Friday,\n Saturday\n}\n\n/**\n * Retrieves the locale ID from the currently loaded locale.\n * The loaded locale could be, for example, a global one rather than a regional one.\n * @param locale A locale code, such as `fr-FR`.\n * @returns The locale code. For example, `fr`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleId(locale: string): string {\n return ɵfindLocaleData(locale)[ɵLocaleDataIndex.LocaleId];\n}\n\n/**\n * Retrieves day period strings for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized period strings. For example, `[AM, PM]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleDayPeriods(\n locale: string, formStyle: FormStyle, width: TranslationWidth): [string, string] {\n const data = ɵfindLocaleData(locale);\n const amPmData = <[string, string][][]>[\n data[ɵLocaleDataIndex.DayPeriodsFormat], data[ɵLocaleDataIndex.DayPeriodsStandalone]\n ];\n const amPm = getLastDefinedValue(amPmData, formStyle);\n return getLastDefinedValue(amPm, width);\n}\n\n/**\n * Retrieves days of the week for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example,`[Sunday, Monday, ... Saturday]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleDayNames(\n locale: string, formStyle: FormStyle, width: TranslationWidth): string[] {\n const data = ɵfindLocaleData(locale);\n const daysData =\n [data[ɵLocaleDataIndex.DaysFormat], data[ɵLocaleDataIndex.DaysStandalone]];\n const days = getLastDefinedValue(daysData, formStyle);\n return getLastDefinedValue(days, width);\n}\n\n/**\n * Retrieves months of the year for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example, `[January, February, ...]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleMonthNames(\n locale: string, formStyle: FormStyle, width: TranslationWidth): string[] {\n const data = ɵfindLocaleData(locale);\n const monthsData =\n [data[ɵLocaleDataIndex.MonthsFormat], data[ɵLocaleDataIndex.MonthsStandalone]];\n const months = getLastDefinedValue(monthsData, formStyle);\n return getLastDefinedValue(months, width);\n}\n\n/**\n * Retrieves Gregorian-calendar eras for the given locale.\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n\n * @returns An array of localized era strings.\n * For example, `[AD, BC]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleEraNames(locale: string, width: TranslationWidth): [string, string] {\n const data = ɵfindLocaleData(locale);\n const erasData = <[string, string][]>data[ɵLocaleDataIndex.Eras];\n return getLastDefinedValue(erasData, width);\n}\n\n/**\n * Retrieves the first day of the week for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns A day index number, using the 0-based week-day index for `en-US`\n * (Sunday = 0, Monday = 1, ...).\n * For example, for `fr-FR`, returns 1 to indicate that the first day is Monday.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleFirstDayOfWeek(locale: string): WeekDay {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.FirstDayOfWeek];\n}\n\n/**\n * Range of week days that are considered the week-end for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The range of day values, `[startDay, endDay]`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleWeekEndRange(locale: string): [WeekDay, WeekDay] {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.WeekendRange];\n}\n\n/**\n * Retrieves a localized date-value formating string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formating string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleDateFormat(locale: string, width: FormatWidth): string {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.DateFormat], width);\n}\n\n/**\n * Retrieves a localized time-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n\n * @publicApi\n */\nexport function getLocaleTimeFormat(locale: string, width: FormatWidth): string {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.TimeFormat], width);\n}\n\n/**\n * Retrieves a localized date-time formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleDateTimeFormat(locale: string, width: FormatWidth): string {\n const data = ɵfindLocaleData(locale);\n const dateTimeFormatData = data[ɵLocaleDataIndex.DateTimeFormat];\n return getLastDefinedValue(dateTimeFormatData, width);\n}\n\n/**\n * Retrieves a localized number symbol that can be used to replace placeholders in number formats.\n * @param locale The locale code.\n * @param symbol The symbol to localize.\n * @returns The character for the localized symbol.\n * @see `NumberSymbol`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleNumberSymbol(locale: string, symbol: NumberSymbol): string {\n const data = ɵfindLocaleData(locale);\n const res = data[ɵLocaleDataIndex.NumberSymbols][symbol];\n if (typeof res === 'undefined') {\n if (symbol === NumberSymbol.CurrencyDecimal) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Decimal];\n } else if (symbol === NumberSymbol.CurrencyGroup) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Group];\n }\n }\n return res;\n}\n\n/**\n * Retrieves a number format for a given locale.\n *\n * Numbers are formatted using patterns, like `#,###.00`. For example, the pattern `#,###.00`\n * when used to format the number 12345.678 could result in \"12'345,678\". That would happen if the\n * grouping separator for your language is an apostrophe, and the decimal separator is a comma.\n *\n * Important: The characters `.` `,` `0` `#` (and others below) are special placeholders\n * that stand for the decimal separator, and so on, and are NOT real characters.\n * You must NOT \"translate\" the placeholders. For example, don't change `.` to `,` even though in\n * your language the decimal point is written with a comma. The symbols should be replaced by the\n * local equivalents, using the appropriate `NumberSymbol` for your language.\n *\n * Here are the special characters used in number patterns:\n *\n * | Symbol | Meaning |\n * |--------|---------|\n * | . | Replaced automatically by the character used for the decimal point. |\n * | , | Replaced by the \"grouping\" (thousands) separator. |\n * | 0 | Replaced by a digit (or zero if there aren't enough digits). |\n * | # | Replaced by a digit (or nothing if there aren't enough). |\n * | ¤ | Replaced by a currency symbol, such as $ or USD. |\n * | % | Marks a percent format. The % symbol may change position, but must be retained. |\n * | E | Marks a scientific format. The E symbol may change position, but must be retained. |\n * | ' | Special characters used as literal characters are quoted with ASCII single quotes. |\n *\n * @param locale A locale code for the locale format rules to use.\n * @param type The type of numeric value to be formatted (such as `Decimal` or `Currency`.)\n * @returns The localized format string.\n * @see `NumberFormatStyle`\n * @see [CLDR website](http://cldr.unicode.org/translation/number-patterns)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleNumberFormat(locale: string, type: NumberFormatStyle): string {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.NumberFormats][type];\n}\n\n/**\n * Retrieves the symbol used to represent the currency for the main country\n * corresponding to a given locale. For example, '$' for `en-US`.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The localized symbol character,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleCurrencySymbol(locale: string): string|null {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencySymbol] || null;\n}\n\n/**\n * Retrieves the name of the currency for the main country corresponding\n * to a given locale. For example, 'US Dollar' for `en-US`.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency name,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleCurrencyName(locale: string): string|null {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencyName] || null;\n}\n\n/**\n * Retrieves the default currency code for the given locale.\n *\n * The default is defined as the first currency which is still in use.\n *\n * @param locale The code of the locale whose currency code we want.\n * @returns The code of the default currency for the given locale.\n *\n * @publicApi\n */\nexport function getLocaleCurrencyCode(locale: string): string|null {\n return ɵgetLocaleCurrencyCode(locale);\n}\n\n/**\n * Retrieves the currency values for a given locale.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency values.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n */\nfunction getLocaleCurrencies(locale: string): {[code: string]: CurrenciesSymbols} {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Currencies];\n}\n\n/**\n * @alias core/ɵgetLocalePluralCase\n * @publicApi\n */\nexport const getLocalePluralCase: (locale: string) => ((value: number) => Plural) =\n ɵgetLocalePluralCase;\n\nfunction checkFullData(data: any) {\n if (!data[ɵLocaleDataIndex.ExtraData]) {\n throw new Error(`Missing extra locale data for the locale \"${\n data[ɵLocaleDataIndex\n .LocaleId]}\". Use \"registerLocaleData\" to load new data. See the \"I18n guide\" on angular.io to know more.`);\n }\n}\n\n/**\n * Retrieves locale-specific rules used to determine which day period to use\n * when more than one period is defined for a locale.\n *\n * There is a rule for each defined day period. The\n * first rule is applied to the first day period and so on.\n * Fall back to AM/PM when no rules are available.\n *\n * A rule can specify a period as time range, or as a single time value.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n#i18n-pipes).\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The rules for the locale, a single time value or array of *from-time, to-time*,\n * or null if no periods are available.\n *\n * @see `getLocaleExtraDayPeriods()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleExtraDayPeriodRules(locale: string): (Time|[Time, Time])[] {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const rules = data[ɵLocaleDataIndex.ExtraData][ɵExtraLocaleDataIndex.ExtraDayPeriodsRules] || [];\n return rules.map((rule: string|[string, string]) => {\n if (typeof rule === 'string') {\n return extractTime(rule);\n }\n return [extractTime(rule[0]), extractTime(rule[1])];\n });\n}\n\n/**\n * Retrieves locale-specific day periods, which indicate roughly how a day is broken up\n * in different languages.\n * For example, for `en-US`, periods are morning, noon, afternoon, evening, and midnight.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n#i18n-pipes).\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns The translated day-period strings.\n * @see `getLocaleExtraDayPeriodRules()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleExtraDayPeriods(\n locale: string, formStyle: FormStyle, width: TranslationWidth): string[] {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const dayPeriodsData = [\n data[ɵLocaleDataIndex.ExtraData][ɵExtraLocaleDataIndex.ExtraDayPeriodFormats],\n data[ɵLocaleDataIndex.ExtraData][ɵExtraLocaleDataIndex.ExtraDayPeriodStandalone]\n ];\n const dayPeriods = getLastDefinedValue(dayPeriodsData, formStyle) || [];\n return getLastDefinedValue(dayPeriods, width) || [];\n}\n\n/**\n * Retrieves the writing direction of a specified locale\n * @param locale A locale code for the locale format rules to use.\n * @publicApi\n * @returns 'rtl' or 'ltr'\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n */\nexport function getLocaleDirection(locale: string): 'ltr'|'rtl' {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Directionality];\n}\n\n/**\n * Retrieves the first value that is defined in an array, going backwards from an index position.\n *\n * To avoid repeating the same data (as when the \"format\" and \"standalone\" forms are the same)\n * add the first value to the locale data arrays, and add other values only if they are different.\n *\n * @param data The data array to retrieve from.\n * @param index A 0-based index into the array to start from.\n * @returns The value immediately before the given index position.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLastDefinedValue(data: T[], index: number): T {\n for (let i = index; i > -1; i--) {\n if (typeof data[i] !== 'undefined') {\n return data[i];\n }\n }\n throw new Error('Locale data API: locale data undefined');\n}\n\n/**\n * Represents a time value with hours and minutes.\n *\n * @publicApi\n */\nexport type Time = {\n hours: number,\n minutes: number\n};\n\n/**\n * Extracts the hours and minutes from a string like \"15:45\"\n */\nfunction extractTime(time: string): Time {\n const [h, m] = time.split(':');\n return {hours: +h, minutes: +m};\n}\n\n\n\n/**\n * Retrieves the currency symbol for a given currency code.\n *\n * For example, for the default `en-US` locale, the code `USD` can\n * be represented by the narrow symbol `$` or the wide symbol `US$`.\n *\n * @param code The currency code.\n * @param format The format, `wide` or `narrow`.\n * @param locale A locale code for the locale format rules to use.\n *\n * @returns The symbol, or the currency code if no symbol is available.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getCurrencySymbol(code: string, format: 'wide'|'narrow', locale = 'en'): string {\n const currency = getLocaleCurrencies(locale)[code] || CURRENCIES_EN[code] || [];\n const symbolNarrow = currency[ɵCurrencyIndex.SymbolNarrow];\n\n if (format === 'narrow' && typeof symbolNarrow === 'string') {\n return symbolNarrow;\n }\n\n return currency[ɵCurrencyIndex.Symbol] || code;\n}\n\n// Most currencies have cents, that's why the default is 2\nconst DEFAULT_NB_OF_CURRENCY_DIGITS = 2;\n\n/**\n * Reports the number of decimal digits for a given currency.\n * The value depends upon the presence of cents in that particular currency.\n *\n * @param code The currency code.\n * @returns The number of decimal digits, typically 0 or 2.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getNumberOfCurrencyDigits(code: string): number {\n let digits;\n const currency = CURRENCIES_EN[code];\n if (currency) {\n digits = currency[ɵCurrencyIndex.NbOfDigits];\n }\n return typeof digits === 'number' ? digits : DEFAULT_NB_OF_CURRENCY_DIGITS;\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 {FormatWidth, FormStyle, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleId, getLocaleMonthNames, getLocaleNumberSymbol, getLocaleTimeFormat, NumberSymbol, Time, TranslationWidth} from './locale_data_api';\n\nexport const ISO8601_DATE_REGEX =\n /^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n// 1 2 3 4 5 6 7 8 9 10 11\nconst NAMED_FORMATS: {[localeId: string]: {[format: string]: string}} = {};\nconst DATE_FORMATS_SPLIT =\n /((?:[^GyMLwWdEabBhHmsSzZO']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\\s\\S]*)/;\n\nenum ZoneWidth {\n Short,\n ShortGMT,\n Long,\n Extended\n}\n\nenum DateType {\n FullYear,\n Month,\n Date,\n Hours,\n Minutes,\n Seconds,\n FractionalSeconds,\n Day\n}\n\nenum TranslationType {\n DayPeriods,\n Days,\n Months,\n Eras\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date according to locale rules.\n *\n * @param value The date to format, as a Date, or a number (milliseconds since UTC epoch)\n * or an [ISO date-time string](https://www.w3.org/TR/NOTE-datetime).\n * @param format The date-time components to include. See `DatePipe` for details.\n * @param locale A locale code for the locale format rules to use.\n * @param timezone The time zone. A time zone offset from GMT (such as `'+0430'`),\n * or a standard UTC/GMT or continental US time zone abbreviation.\n * If not specified, uses host system settings.\n *\n * @returns The formatted date string.\n *\n * @see `DatePipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function formatDate(\n value: string|number|Date, format: string, locale: string, timezone?: string): string {\n let date = toDate(value);\n const namedFormat = getNamedFormat(locale, format);\n format = namedFormat || format;\n\n let parts: string[] = [];\n let match;\n while (format) {\n match = DATE_FORMATS_SPLIT.exec(format);\n if (match) {\n parts = parts.concat(match.slice(1));\n const part = parts.pop();\n if (!part) {\n break;\n }\n format = part;\n } else {\n parts.push(format);\n break;\n }\n }\n\n let dateTimezoneOffset = date.getTimezoneOffset();\n if (timezone) {\n dateTimezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n date = convertTimezoneToLocal(date, timezone, true);\n }\n\n let text = '';\n parts.forEach(value => {\n const dateFormatter = getDateFormatter(value);\n text += dateFormatter ?\n dateFormatter(date, locale, dateTimezoneOffset) :\n value === '\\'\\'' ? '\\'' : value.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n });\n\n return text;\n}\n\nfunction getNamedFormat(locale: string, format: string): string {\n const localeId = getLocaleId(locale);\n NAMED_FORMATS[localeId] = NAMED_FORMATS[localeId] || {};\n\n if (NAMED_FORMATS[localeId][format]) {\n return NAMED_FORMATS[localeId][format];\n }\n\n let formatValue = '';\n switch (format) {\n case 'shortDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Short);\n break;\n case 'mediumDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Medium);\n break;\n case 'longDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Long);\n break;\n case 'fullDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Full);\n break;\n case 'shortTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Short);\n break;\n case 'mediumTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Medium);\n break;\n case 'longTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Long);\n break;\n case 'fullTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Full);\n break;\n case 'short':\n const shortTime = getNamedFormat(locale, 'shortTime');\n const shortDate = getNamedFormat(locale, 'shortDate');\n formatValue = formatDateTime(\n getLocaleDateTimeFormat(locale, FormatWidth.Short), [shortTime, shortDate]);\n break;\n case 'medium':\n const mediumTime = getNamedFormat(locale, 'mediumTime');\n const mediumDate = getNamedFormat(locale, 'mediumDate');\n formatValue = formatDateTime(\n getLocaleDateTimeFormat(locale, FormatWidth.Medium), [mediumTime, mediumDate]);\n break;\n case 'long':\n const longTime = getNamedFormat(locale, 'longTime');\n const longDate = getNamedFormat(locale, 'longDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Long), [longTime, longDate]);\n break;\n case 'full':\n const fullTime = getNamedFormat(locale, 'fullTime');\n const fullDate = getNamedFormat(locale, 'fullDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Full), [fullTime, fullDate]);\n break;\n }\n if (formatValue) {\n NAMED_FORMATS[localeId][format] = formatValue;\n }\n return formatValue;\n}\n\nfunction formatDateTime(str: string, opt_values: string[]) {\n if (opt_values) {\n str = str.replace(/\\{([^}]+)}/g, function(match, key) {\n return (opt_values != null && key in opt_values) ? opt_values[key] : match;\n });\n }\n return str;\n}\n\nfunction padNumber(\n num: number, digits: number, minusSign = '-', trim?: boolean, negWrap?: boolean): string {\n let neg = '';\n if (num < 0 || (negWrap && num <= 0)) {\n if (negWrap) {\n num = -num + 1;\n } else {\n num = -num;\n neg = minusSign;\n }\n }\n let strNum = String(num);\n while (strNum.length < digits) {\n strNum = '0' + strNum;\n }\n if (trim) {\n strNum = strNum.substr(strNum.length - digits);\n }\n return neg + strNum;\n}\n\nfunction formatFractionalSeconds(milliseconds: number, digits: number): string {\n const strMs = padNumber(milliseconds, 3);\n return strMs.substr(0, digits);\n}\n\n/**\n * Returns a date formatter that transforms a date into its locale digit representation\n */\nfunction dateGetter(\n name: DateType, size: number, offset: number = 0, trim = false,\n negWrap = false): DateFormatter {\n return function(date: Date, locale: string): string {\n let part = getDatePart(name, date);\n if (offset > 0 || part > -offset) {\n part += offset;\n }\n\n if (name === DateType.Hours) {\n if (part === 0 && offset === -12) {\n part = 12;\n }\n } else if (name === DateType.FractionalSeconds) {\n return formatFractionalSeconds(part, size);\n }\n\n const localeMinus = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n return padNumber(part, size, localeMinus, trim, negWrap);\n };\n}\n\nfunction getDatePart(part: DateType, date: Date): number {\n switch (part) {\n case DateType.FullYear:\n return date.getFullYear();\n case DateType.Month:\n return date.getMonth();\n case DateType.Date:\n return date.getDate();\n case DateType.Hours:\n return date.getHours();\n case DateType.Minutes:\n return date.getMinutes();\n case DateType.Seconds:\n return date.getSeconds();\n case DateType.FractionalSeconds:\n return date.getMilliseconds();\n case DateType.Day:\n return date.getDay();\n default:\n throw new Error(`Unknown DateType value \"${part}\".`);\n }\n}\n\n/**\n * Returns a date formatter that transforms a date into its locale string representation\n */\nfunction dateStrGetter(\n name: TranslationType, width: TranslationWidth, form: FormStyle = FormStyle.Format,\n extended = false): DateFormatter {\n return function(date: Date, locale: string): string {\n return getDateTranslation(date, locale, name, width, form, extended);\n };\n}\n\n/**\n * Returns the locale translation of a date for a given form, type and width\n */\nfunction getDateTranslation(\n date: Date, locale: string, name: TranslationType, width: TranslationWidth, form: FormStyle,\n extended: boolean) {\n switch (name) {\n case TranslationType.Months:\n return getLocaleMonthNames(locale, form, width)[date.getMonth()];\n case TranslationType.Days:\n return getLocaleDayNames(locale, form, width)[date.getDay()];\n case TranslationType.DayPeriods:\n const currentHours = date.getHours();\n const currentMinutes = date.getMinutes();\n if (extended) {\n const rules = getLocaleExtraDayPeriodRules(locale);\n const dayPeriods = getLocaleExtraDayPeriods(locale, form, width);\n const index = rules.findIndex(rule => {\n if (Array.isArray(rule)) {\n // morning, afternoon, evening, night\n const [from, to] = rule;\n const afterFrom = currentHours >= from.hours && currentMinutes >= from.minutes;\n const beforeTo =\n (currentHours < to.hours ||\n (currentHours === to.hours && currentMinutes < to.minutes));\n // We must account for normal rules that span a period during the day (e.g. 6am-9am)\n // where `from` is less (earlier) than `to`. But also rules that span midnight (e.g.\n // 10pm - 5am) where `from` is greater (later!) than `to`.\n //\n // In the first case the current time must be BOTH after `from` AND before `to`\n // (e.g. 8am is after 6am AND before 10am).\n //\n // In the second case the current time must be EITHER after `from` OR before `to`\n // (e.g. 4am is before 5am but not after 10pm; and 11pm is not before 5am but it is\n // after 10pm).\n if (from.hours < to.hours) {\n if (afterFrom && beforeTo) {\n return true;\n }\n } else if (afterFrom || beforeTo) {\n return true;\n }\n } else { // noon or midnight\n if (rule.hours === currentHours && rule.minutes === currentMinutes) {\n return true;\n }\n }\n return false;\n });\n if (index !== -1) {\n return dayPeriods[index];\n }\n }\n // if no rules for the day periods, we use am/pm by default\n return getLocaleDayPeriods(locale, form, width)[currentHours < 12 ? 0 : 1];\n case TranslationType.Eras:\n return getLocaleEraNames(locale, width)[date.getFullYear() <= 0 ? 0 : 1];\n default:\n // This default case is not needed by TypeScript compiler, as the switch is exhaustive.\n // However Closure Compiler does not understand that and reports an error in typed mode.\n // The `throw new Error` below works around the problem, and the unexpected: never variable\n // makes sure tsc still checks this code is unreachable.\n const unexpected: never = name;\n throw new Error(`unexpected translation type ${unexpected}`);\n }\n}\n\n/**\n * Returns a date formatter that transforms a date and an offset into a timezone with ISO8601 or\n * GMT format depending on the width (eg: short = +0430, short:GMT = GMT+4, long = GMT+04:30,\n * extended = +04:30)\n */\nfunction timeZoneGetter(width: ZoneWidth): DateFormatter {\n return function(date: Date, locale: string, offset: number) {\n const zone = -1 * offset;\n const minusSign = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n const hours = zone > 0 ? Math.floor(zone / 60) : Math.ceil(zone / 60);\n switch (width) {\n case ZoneWidth.Short:\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.ShortGMT:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 1, minusSign);\n case ZoneWidth.Long:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.Extended:\n if (offset === 0) {\n return 'Z';\n } else {\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n }\n default:\n throw new Error(`Unknown zone width \"${width}\"`);\n }\n };\n}\n\nconst JANUARY = 0;\nconst THURSDAY = 4;\nfunction getFirstThursdayOfYear(year: number) {\n const firstDayOfYear = (new Date(year, JANUARY, 1)).getDay();\n return new Date(\n year, 0, 1 + ((firstDayOfYear <= THURSDAY) ? THURSDAY : THURSDAY + 7) - firstDayOfYear);\n}\n\nfunction getThursdayThisWeek(datetime: Date) {\n return new Date(\n datetime.getFullYear(), datetime.getMonth(),\n datetime.getDate() + (THURSDAY - datetime.getDay()));\n}\n\nfunction weekGetter(size: number, monthBased = false): DateFormatter {\n return function(date: Date, locale: string) {\n let result;\n if (monthBased) {\n const nbDaysBefore1stDayOfMonth =\n new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;\n const today = date.getDate();\n result = 1 + Math.floor((today + nbDaysBefore1stDayOfMonth) / 7);\n } else {\n const firstThurs = getFirstThursdayOfYear(date.getFullYear());\n const thisThurs = getThursdayThisWeek(date);\n const diff = thisThurs.getTime() - firstThurs.getTime();\n result = 1 + Math.round(diff / 6.048e8); // 6.048e8 ms per week\n }\n\n return padNumber(result, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n };\n}\n\ntype DateFormatter = (date: Date, locale: string, offset: number) => string;\n\nconst DATE_FORMATS: {[format: string]: DateFormatter} = {};\n\n// Based on CLDR formats:\n// See complete list: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n// See also explanations: http://cldr.unicode.org/translation/date-time\n// TODO(ocombe): support all missing cldr formats: Y, U, Q, D, F, e, c, j, J, C, A, v, V, X, x\nfunction getDateFormatter(format: string): DateFormatter|null {\n if (DATE_FORMATS[format]) {\n return DATE_FORMATS[format];\n }\n let formatter;\n switch (format) {\n // Era name (AD/BC)\n case 'G':\n case 'GG':\n case 'GGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Abbreviated);\n break;\n case 'GGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Wide);\n break;\n case 'GGGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Narrow);\n break;\n\n // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'y':\n formatter = dateGetter(DateType.FullYear, 1, 0, false, true);\n break;\n // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yy':\n formatter = dateGetter(DateType.FullYear, 2, 0, true, true);\n break;\n // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yyy':\n formatter = dateGetter(DateType.FullYear, 3, 0, false, true);\n break;\n // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'yyyy':\n formatter = dateGetter(DateType.FullYear, 4, 0, false, true);\n break;\n\n // Month of the year (1-12), numeric\n case 'M':\n case 'L':\n formatter = dateGetter(DateType.Month, 1, 1);\n break;\n case 'MM':\n case 'LL':\n formatter = dateGetter(DateType.Month, 2, 1);\n break;\n\n // Month of the year (January, ...), string, format\n case 'MMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated);\n break;\n case 'MMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Wide);\n break;\n case 'MMMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Narrow);\n break;\n\n // Month of the year (January, ...), string, standalone\n case 'LLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'LLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'LLLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n\n // Week of the year (1, ... 52)\n case 'w':\n formatter = weekGetter(1);\n break;\n case 'ww':\n formatter = weekGetter(2);\n break;\n\n // Week of the month (1, ...)\n case 'W':\n formatter = weekGetter(1, true);\n break;\n\n // Day of the month (1-31)\n case 'd':\n formatter = dateGetter(DateType.Date, 1);\n break;\n case 'dd':\n formatter = dateGetter(DateType.Date, 2);\n break;\n\n // Day of the Week\n case 'E':\n case 'EE':\n case 'EEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated);\n break;\n case 'EEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide);\n break;\n case 'EEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Narrow);\n break;\n case 'EEEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short);\n break;\n\n // Generic period of the day (am-pm)\n case 'a':\n case 'aa':\n case 'aaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated);\n break;\n case 'aaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide);\n break;\n case 'aaaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow);\n break;\n\n // Extended period of the day (midnight, at night, ...), standalone\n case 'b':\n case 'bb':\n case 'bbb':\n formatter = dateStrGetter(\n TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Standalone, true);\n break;\n case 'bbbb':\n formatter = dateStrGetter(\n TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Standalone, true);\n break;\n case 'bbbbb':\n formatter = dateStrGetter(\n TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Standalone, true);\n break;\n\n // Extended period of the day (midnight, night, ...), standalone\n case 'B':\n case 'BB':\n case 'BBB':\n formatter = dateStrGetter(\n TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Format, true);\n break;\n case 'BBBB':\n formatter =\n dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Format, true);\n break;\n case 'BBBBB':\n formatter = dateStrGetter(\n TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Format, true);\n break;\n\n // Hour in AM/PM, (1-12)\n case 'h':\n formatter = dateGetter(DateType.Hours, 1, -12);\n break;\n case 'hh':\n formatter = dateGetter(DateType.Hours, 2, -12);\n break;\n\n // Hour of the day (0-23)\n case 'H':\n formatter = dateGetter(DateType.Hours, 1);\n break;\n // Hour in day, padded (00-23)\n case 'HH':\n formatter = dateGetter(DateType.Hours, 2);\n break;\n\n // Minute of the hour (0-59)\n case 'm':\n formatter = dateGetter(DateType.Minutes, 1);\n break;\n case 'mm':\n formatter = dateGetter(DateType.Minutes, 2);\n break;\n\n // Second of the minute (0-59)\n case 's':\n formatter = dateGetter(DateType.Seconds, 1);\n break;\n case 'ss':\n formatter = dateGetter(DateType.Seconds, 2);\n break;\n\n // Fractional second\n case 'S':\n formatter = dateGetter(DateType.FractionalSeconds, 1);\n break;\n case 'SS':\n formatter = dateGetter(DateType.FractionalSeconds, 2);\n break;\n case 'SSS':\n formatter = dateGetter(DateType.FractionalSeconds, 3);\n break;\n\n\n // Timezone ISO8601 short format (-0430)\n case 'Z':\n case 'ZZ':\n case 'ZZZ':\n formatter = timeZoneGetter(ZoneWidth.Short);\n break;\n // Timezone ISO8601 extended format (-04:30)\n case 'ZZZZZ':\n formatter = timeZoneGetter(ZoneWidth.Extended);\n break;\n\n // Timezone GMT short format (GMT+4)\n case 'O':\n case 'OO':\n case 'OOO':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'z':\n case 'zz':\n case 'zzz':\n formatter = timeZoneGetter(ZoneWidth.ShortGMT);\n break;\n // Timezone GMT long format (GMT+0430)\n case 'OOOO':\n case 'ZZZZ':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'zzzz':\n formatter = timeZoneGetter(ZoneWidth.Long);\n break;\n default:\n return null;\n }\n DATE_FORMATS[format] = formatter;\n return formatter;\n}\n\nfunction timezoneToOffset(timezone: string, fallback: number): number {\n // Support: IE 9-11 only, Edge 13-15+\n // IE/Edge do not \"understand\" colon (`:`) in timezone\n timezone = timezone.replace(/:/g, '');\n const requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000;\n return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset;\n}\n\nfunction addDateMinutes(date: Date, minutes: number) {\n date = new Date(date.getTime());\n date.setMinutes(date.getMinutes() + minutes);\n return date;\n}\n\nfunction convertTimezoneToLocal(date: Date, timezone: string, reverse: boolean): Date {\n const reverseValue = reverse ? -1 : 1;\n const dateTimezoneOffset = date.getTimezoneOffset();\n const timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n return addDateMinutes(date, reverseValue * (timezoneOffset - dateTimezoneOffset));\n}\n\n/**\n * Converts a value to date.\n *\n * Supported input formats:\n * - `Date`\n * - number: timestamp\n * - string: numeric (e.g. \"1234\"), ISO and date strings in a format supported by\n * [Date.parse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\n * Note: ISO strings without time return a date without timeoffset.\n *\n * Throws if unable to convert to a date.\n */\nexport function toDate(value: string|number|Date): Date {\n if (isDate(value)) {\n return value;\n }\n\n if (typeof value === 'number' && !isNaN(value)) {\n return new Date(value);\n }\n\n if (typeof value === 'string') {\n value = value.trim();\n\n const parsedNb = parseFloat(value);\n\n // any string that only contains numbers, like \"1234\" but not like \"1234hello\"\n if (!isNaN(value as any - parsedNb)) {\n return new Date(parsedNb);\n }\n\n if (/^(\\d{4}-\\d{1,2}-\\d{1,2})$/.test(value)) {\n /* For ISO Strings without time the day, month and year must be extracted from the ISO String\n before Date creation to avoid time offset and errors in the new Date.\n If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n date, some browsers (e.g. IE 9) will throw an invalid Date error.\n If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n is applied.\n Note: ISO months are 0 for January, 1 for February, ... */\n const [y, m, d] = value.split('-').map((val: string) => +val);\n return new Date(y, m - 1, d);\n }\n\n let match: RegExpMatchArray|null;\n if (match = value.match(ISO8601_DATE_REGEX)) {\n return isoStringToDate(match);\n }\n }\n\n const date = new Date(value as any);\n if (!isDate(date)) {\n throw new Error(`Unable to convert \"${value}\" into a date`);\n }\n return date;\n}\n\n/**\n * Converts a date in ISO8601 to a Date.\n * Used instead of `Date.parse` because of browser discrepancies.\n */\nexport function isoStringToDate(match: RegExpMatchArray): Date {\n const date = new Date(0);\n let tzHour = 0;\n let tzMin = 0;\n\n // match[8] means that the string contains \"Z\" (UTC) or a timezone like \"+01:00\" or \"+0100\"\n const dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n const timeSetter = match[8] ? date.setUTCHours : date.setHours;\n\n // if there is a timezone defined like \"+01:00\" or \"+0100\"\n if (match[9]) {\n tzHour = Number(match[9] + match[10]);\n tzMin = Number(match[9] + match[11]);\n }\n dateSetter.call(date, Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n const h = Number(match[4] || 0) - tzHour;\n const m = Number(match[5] || 0) - tzMin;\n const s = Number(match[6] || 0);\n const ms = Math.round(parseFloat('0.' + (match[7] || 0)) * 1000);\n timeSetter.call(date, h, m, s, ms);\n return date;\n}\n\nexport function isDate(value: any): value is Date {\n return value instanceof Date && !isNaN(value.valueOf());\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 {getLocaleNumberFormat, getLocaleNumberSymbol, getNumberOfCurrencyDigits, NumberFormatStyle, NumberSymbol} from './locale_data_api';\n\nexport const NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\nconst MAX_DIGITS = 22;\nconst DECIMAL_SEP = '.';\nconst ZERO_CHAR = '0';\nconst PATTERN_SEP = ';';\nconst GROUP_SEP = ',';\nconst DIGIT_CHAR = '#';\nconst CURRENCY_CHAR = '¤';\nconst PERCENT_CHAR = '%';\n\n/**\n * Transforms a number to a locale string based on a style and a format.\n */\nfunction formatNumberToLocaleString(\n value: number, pattern: ParsedNumberFormat, locale: string, groupSymbol: NumberSymbol,\n decimalSymbol: NumberSymbol, digitsInfo?: string, isPercent = false): string {\n let formattedText = '';\n let isZero = false;\n\n if (!isFinite(value)) {\n formattedText = getLocaleNumberSymbol(locale, NumberSymbol.Infinity);\n } else {\n let parsedNumber = parseNumber(value);\n\n if (isPercent) {\n parsedNumber = toPercent(parsedNumber);\n }\n\n let minInt = pattern.minInt;\n let minFraction = pattern.minFrac;\n let maxFraction = pattern.maxFrac;\n\n if (digitsInfo) {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n const minIntPart = parts[1];\n const minFractionPart = parts[3];\n const maxFractionPart = parts[5];\n if (minIntPart != null) {\n minInt = parseIntAutoRadix(minIntPart);\n }\n if (minFractionPart != null) {\n minFraction = parseIntAutoRadix(minFractionPart);\n }\n if (maxFractionPart != null) {\n maxFraction = parseIntAutoRadix(maxFractionPart);\n } else if (minFractionPart != null && minFraction > maxFraction) {\n maxFraction = minFraction;\n }\n }\n\n roundNumber(parsedNumber, minFraction, maxFraction);\n\n let digits = parsedNumber.digits;\n let integerLen = parsedNumber.integerLen;\n const exponent = parsedNumber.exponent;\n let decimals = [];\n isZero = digits.every(d => !d);\n\n // pad zeros for small numbers\n for (; integerLen < minInt; integerLen++) {\n digits.unshift(0);\n }\n\n // pad zeros for small numbers\n for (; integerLen < 0; integerLen++) {\n digits.unshift(0);\n }\n\n // extract decimals digits\n if (integerLen > 0) {\n decimals = digits.splice(integerLen, digits.length);\n } else {\n decimals = digits;\n digits = [0];\n }\n\n // format the integer digits with grouping separators\n const groups = [];\n if (digits.length >= pattern.lgSize) {\n groups.unshift(digits.splice(-pattern.lgSize, digits.length).join(''));\n }\n\n while (digits.length > pattern.gSize) {\n groups.unshift(digits.splice(-pattern.gSize, digits.length).join(''));\n }\n\n if (digits.length) {\n groups.unshift(digits.join(''));\n }\n\n formattedText = groups.join(getLocaleNumberSymbol(locale, groupSymbol));\n\n // append the decimal digits\n if (decimals.length) {\n formattedText += getLocaleNumberSymbol(locale, decimalSymbol) + decimals.join('');\n }\n\n if (exponent) {\n formattedText += getLocaleNumberSymbol(locale, NumberSymbol.Exponential) + '+' + exponent;\n }\n }\n\n if (value < 0 && !isZero) {\n formattedText = pattern.negPre + formattedText + pattern.negSuf;\n } else {\n formattedText = pattern.posPre + formattedText + pattern.posSuf;\n }\n\n return formattedText;\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as currency using locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param currency A string containing the currency symbol or its name,\n * such as \"$\" or \"Canadian Dollar\". Used in output string, but does not affect the operation\n * of the function.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)\n * currency code, such as `USD` for the US dollar and `EUR` for the euro.\n * Used to determine the number of digits in the decimal part.\n * @param digitInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted currency value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function formatCurrency(\n value: number, locale: string, currency: string, currencyCode?: string,\n digitsInfo?: string): string {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Currency);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n\n pattern.minFrac = getNumberOfCurrencyDigits(currencyCode!);\n pattern.maxFrac = pattern.minFrac;\n\n const res = formatNumberToLocaleString(\n value, pattern, locale, NumberSymbol.CurrencyGroup, NumberSymbol.CurrencyDecimal, digitsInfo);\n return res\n .replace(CURRENCY_CHAR, currency)\n // if we have 2 time the currency character, the second one is ignored\n .replace(CURRENCY_CHAR, '')\n // If there is a spacing between currency character and the value and\n // the currency character is supressed by passing an empty string, the\n // spacing character would remain as part of the string. Then we\n // should remove it.\n .trim();\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as a percentage according to locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted percentage value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n * @publicApi\n *\n */\nexport function formatPercent(value: number, locale: string, digitsInfo?: string): string {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Percent);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n const res = formatNumberToLocaleString(\n value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo, true);\n return res.replace(\n new RegExp(PERCENT_CHAR, 'g'), getLocaleNumberSymbol(locale, NumberSymbol.PercentSign));\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as text, with group sizing, separator, and other\n * parameters based on the locale.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted text string.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function formatNumber(value: number, locale: string, digitsInfo?: string): string {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Decimal);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n return formatNumberToLocaleString(\n value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo);\n}\n\ninterface ParsedNumberFormat {\n minInt: number;\n // the minimum number of digits required in the fraction part of the number\n minFrac: number;\n // the maximum number of digits required in the fraction part of the number\n maxFrac: number;\n // the prefix for a positive number\n posPre: string;\n // the suffix for a positive number\n posSuf: string;\n // the prefix for a negative number (e.g. `-` or `(`))\n negPre: string;\n // the suffix for a negative number (e.g. `)`)\n negSuf: string;\n // number of digits in each group of separated digits\n gSize: number;\n // number of digits in the last group of digits before the decimal separator\n lgSize: number;\n}\n\nfunction parseNumberFormat(format: string, minusSign = '-'): ParsedNumberFormat {\n const p = {\n minInt: 1,\n minFrac: 0,\n maxFrac: 0,\n posPre: '',\n posSuf: '',\n negPre: '',\n negSuf: '',\n gSize: 0,\n lgSize: 0\n };\n\n const patternParts = format.split(PATTERN_SEP);\n const positive = patternParts[0];\n const negative = patternParts[1];\n\n const positiveParts = positive.indexOf(DECIMAL_SEP) !== -1 ?\n positive.split(DECIMAL_SEP) :\n [\n positive.substring(0, positive.lastIndexOf(ZERO_CHAR) + 1),\n positive.substring(positive.lastIndexOf(ZERO_CHAR) + 1)\n ],\n integer = positiveParts[0], fraction = positiveParts[1] || '';\n\n p.posPre = integer.substr(0, integer.indexOf(DIGIT_CHAR));\n\n for (let i = 0; i < fraction.length; i++) {\n const ch = fraction.charAt(i);\n if (ch === ZERO_CHAR) {\n p.minFrac = p.maxFrac = i + 1;\n } else if (ch === DIGIT_CHAR) {\n p.maxFrac = i + 1;\n } else {\n p.posSuf += ch;\n }\n }\n\n const groups = integer.split(GROUP_SEP);\n p.gSize = groups[1] ? groups[1].length : 0;\n p.lgSize = (groups[2] || groups[1]) ? (groups[2] || groups[1]).length : 0;\n\n if (negative) {\n const trunkLen = positive.length - p.posPre.length - p.posSuf.length,\n pos = negative.indexOf(DIGIT_CHAR);\n\n p.negPre = negative.substr(0, pos).replace(/'/g, '');\n p.negSuf = negative.substr(pos + trunkLen).replace(/'/g, '');\n } else {\n p.negPre = minusSign + p.posPre;\n p.negSuf = p.posSuf;\n }\n\n return p;\n}\n\ninterface ParsedNumber {\n // an array of digits containing leading zeros as necessary\n digits: number[];\n // the exponent for numbers that would need more than `MAX_DIGITS` digits in `d`\n exponent: number;\n // the number of the digits in `d` that are to the left of the decimal point\n integerLen: number;\n}\n\n// Transforms a parsed number into a percentage by multiplying it by 100\nfunction toPercent(parsedNumber: ParsedNumber): ParsedNumber {\n // if the number is 0, don't do anything\n if (parsedNumber.digits[0] === 0) {\n return parsedNumber;\n }\n\n // Getting the current number of decimals\n const fractionLen = parsedNumber.digits.length - parsedNumber.integerLen;\n if (parsedNumber.exponent) {\n parsedNumber.exponent += 2;\n } else {\n if (fractionLen === 0) {\n parsedNumber.digits.push(0, 0);\n } else if (fractionLen === 1) {\n parsedNumber.digits.push(0);\n }\n parsedNumber.integerLen += 2;\n }\n\n return parsedNumber;\n}\n\n/**\n * Parses a number.\n * Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/\n */\nfunction parseNumber(num: number): ParsedNumber {\n let numStr = Math.abs(num) + '';\n let exponent = 0, digits, integerLen;\n let i, j, zeros;\n\n // Decimal point?\n if ((integerLen = numStr.indexOf(DECIMAL_SEP)) > -1) {\n numStr = numStr.replace(DECIMAL_SEP, '');\n }\n\n // Exponential form?\n if ((i = numStr.search(/e/i)) > 0) {\n // Work out the exponent.\n if (integerLen < 0) integerLen = i;\n integerLen += +numStr.slice(i + 1);\n numStr = numStr.substring(0, i);\n } else if (integerLen < 0) {\n // There was no decimal point or exponent so it is an integer.\n integerLen = numStr.length;\n }\n\n // Count the number of leading zeros.\n for (i = 0; numStr.charAt(i) === ZERO_CHAR; i++) { /* empty */\n }\n\n if (i === (zeros = numStr.length)) {\n // The digits are all zero.\n digits = [0];\n integerLen = 1;\n } else {\n // Count the number of trailing zeros\n zeros--;\n while (numStr.charAt(zeros) === ZERO_CHAR) zeros--;\n\n // Trailing zeros are insignificant so ignore them\n integerLen -= i;\n digits = [];\n // Convert string to array of digits without leading/trailing zeros.\n for (j = 0; i <= zeros; i++, j++) {\n digits[j] = Number(numStr.charAt(i));\n }\n }\n\n // If the number overflows the maximum allowed digits then use an exponent.\n if (integerLen > MAX_DIGITS) {\n digits = digits.splice(0, MAX_DIGITS - 1);\n exponent = integerLen - 1;\n integerLen = 1;\n }\n\n return {digits, exponent, integerLen};\n}\n\n/**\n * Round the parsed number to the specified number of decimal places\n * This function changes the parsedNumber in-place\n */\nfunction roundNumber(parsedNumber: ParsedNumber, minFrac: number, maxFrac: number) {\n if (minFrac > maxFrac) {\n throw new Error(`The minimum number of digits after fraction (${\n minFrac}) is higher than the maximum (${maxFrac}).`);\n }\n\n let digits = parsedNumber.digits;\n let fractionLen = digits.length - parsedNumber.integerLen;\n const fractionSize = Math.min(Math.max(minFrac, fractionLen), maxFrac);\n\n // The index of the digit to where rounding is to occur\n let roundAt = fractionSize + parsedNumber.integerLen;\n let digit = digits[roundAt];\n\n if (roundAt > 0) {\n // Drop fractional digits beyond `roundAt`\n digits.splice(Math.max(parsedNumber.integerLen, roundAt));\n\n // Set non-fractional digits beyond `roundAt` to 0\n for (let j = roundAt; j < digits.length; j++) {\n digits[j] = 0;\n }\n } else {\n // We rounded to zero so reset the parsedNumber\n fractionLen = Math.max(0, fractionLen);\n parsedNumber.integerLen = 1;\n digits.length = Math.max(1, roundAt = fractionSize + 1);\n digits[0] = 0;\n for (let i = 1; i < roundAt; i++) digits[i] = 0;\n }\n\n if (digit >= 5) {\n if (roundAt - 1 < 0) {\n for (let k = 0; k > roundAt; k--) {\n digits.unshift(0);\n parsedNumber.integerLen++;\n }\n digits.unshift(1);\n parsedNumber.integerLen++;\n } else {\n digits[roundAt - 1]++;\n }\n }\n\n // Pad out with zeros to get the required fraction length\n for (; fractionLen < Math.max(0, fractionSize); fractionLen++) digits.push(0);\n\n let dropTrailingZeros = fractionSize !== 0;\n // Minimal length = nb of decimals required + current nb of integers\n // Any number besides that is optional and can be removed if it's a trailing 0\n const minLen = minFrac + parsedNumber.integerLen;\n // Do any carrying, e.g. a digit was rounded up to 10\n const carry = digits.reduceRight(function(carry, d, i, digits) {\n d = d + carry;\n digits[i] = d < 10 ? d : d - 10; // d % 10\n if (dropTrailingZeros) {\n // Do not keep meaningless fractional trailing zeros (e.g. 15.52000 --> 15.52)\n if (digits[i] === 0 && i >= minLen) {\n digits.pop();\n } else {\n dropTrailingZeros = false;\n }\n }\n return d >= 10 ? 1 : 0; // Math.floor(d / 10);\n }, 0);\n if (carry) {\n digits.unshift(carry);\n parsedNumber.integerLen++;\n }\n}\n\nexport function parseIntAutoRadix(text: string): number {\n const result: number = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return 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 {Inject, Injectable, LOCALE_ID} from '@angular/core';\n\nimport {getLocalePluralCase, Plural} from './locale_data_api';\n\n\n/**\n * @publicApi\n */\nexport abstract class NgLocalization {\n abstract getPluralCategory(value: any, locale?: string): string;\n}\n\n\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n */\nexport function getPluralCategory(\n value: number, cases: string[], ngLocalization: NgLocalization, locale?: string): string {\n let key = `=${value}`;\n\n if (cases.indexOf(key) > -1) {\n return key;\n }\n\n key = ngLocalization.getPluralCategory(value, locale);\n\n if (cases.indexOf(key) > -1) {\n return key;\n }\n\n if (cases.indexOf('other') > -1) {\n return 'other';\n }\n\n throw new Error(`No plural message found for value \"${value}\"`);\n}\n\n/**\n * Returns the plural case based on the locale\n *\n * @publicApi\n */\n@Injectable()\nexport class NgLocaleLocalization extends NgLocalization {\n constructor(@Inject(LOCALE_ID) protected locale: string) {\n super();\n }\n\n getPluralCategory(value: any, locale?: string): string {\n const plural = getLocalePluralCase(locale || this.locale)(value);\n\n switch (plural) {\n case Plural.Zero:\n return 'zero';\n case Plural.One:\n return 'one';\n case Plural.Two:\n return 'two';\n case Plural.Few:\n return 'few';\n case Plural.Many:\n return 'many';\n default:\n return 'other';\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\nimport {ɵregisterLocaleData} from '@angular/core';\n\n/**\n * Register global data to be used internally by Angular. See the\n * [\"I18n guide\"](guide/i18n#i18n-pipes) to know how to import additional locale data.\n *\n * The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1\n *\n * @publicApi\n */\nexport function registerLocaleData(data: any, localeId?: string|any, extraData?: any): void {\n return ɵregisterLocaleData(data, localeId, extraData);\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 function parseCookieValue(cookieStr: string, name: string): string|null {\n name = encodeURIComponent(name);\n for (const cookie of cookieStr.split(';')) {\n const eqIndex = cookie.indexOf('=');\n const [cookieName, cookieValue]: string[] =\n eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)];\n if (cookieName.trim() === name) {\n return decodeURIComponent(cookieValue);\n }\n }\n return 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 */\nimport {Directive, DoCheck, ElementRef, Input, IterableChanges, IterableDiffer, IterableDiffers, KeyValueChanges, KeyValueDiffer, KeyValueDiffers, Renderer2, ɵisListLikeIterable as isListLikeIterable, ɵstringify as stringify} from '@angular/core';\n\ntype NgClassSupportedTypes = string[]|Set|{[klass: string]: any}|null|undefined;\n\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n * ```\n *\n * @description\n *\n * Adds and removes CSS classes on an HTML element.\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n * evaluates to a truthy value, otherwise they are removed.\n *\n * @publicApi\n */\n@Directive({selector: '[ngClass]'})\nexport class NgClass implements DoCheck {\n private _iterableDiffer: IterableDiffer|null = null;\n private _keyValueDiffer: KeyValueDiffer|null = null;\n private _initialClasses: string[] = [];\n private _rawClass: NgClassSupportedTypes = null;\n\n constructor(\n private _iterableDiffers: IterableDiffers, private _keyValueDiffers: KeyValueDiffers,\n private _ngEl: ElementRef, private _renderer: Renderer2) {}\n\n\n @Input('class')\n set klass(value: string) {\n this._removeClasses(this._initialClasses);\n this._initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this._applyClasses(this._initialClasses);\n this._applyClasses(this._rawClass);\n }\n\n @Input('ngClass')\n set ngClass(value: string|string[]|Set|{[klass: string]: any}) {\n this._removeClasses(this._rawClass);\n this._applyClasses(this._initialClasses);\n\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n\n this._rawClass = typeof value === 'string' ? value.split(/\\s+/) : value;\n\n if (this._rawClass) {\n if (isListLikeIterable(this._rawClass)) {\n this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create();\n } else {\n this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create();\n }\n }\n }\n\n ngDoCheck() {\n if (this._iterableDiffer) {\n const iterableChanges = this._iterableDiffer.diff(this._rawClass as string[]);\n if (iterableChanges) {\n this._applyIterableChanges(iterableChanges);\n }\n } else if (this._keyValueDiffer) {\n const keyValueChanges = this._keyValueDiffer.diff(this._rawClass as {[k: string]: any});\n if (keyValueChanges) {\n this._applyKeyValueChanges(keyValueChanges);\n }\n }\n }\n\n private _applyKeyValueChanges(changes: KeyValueChanges): void {\n changes.forEachAddedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachRemovedItem((record) => {\n if (record.previousValue) {\n this._toggleClass(record.key, false);\n }\n });\n }\n\n private _applyIterableChanges(changes: IterableChanges): void {\n changes.forEachAddedItem((record) => {\n if (typeof record.item === 'string') {\n this._toggleClass(record.item, true);\n } else {\n throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${\n stringify(record.item)}`);\n }\n });\n\n changes.forEachRemovedItem((record) => this._toggleClass(record.item, false));\n }\n\n /**\n * Applies a collection of CSS classes to the DOM element.\n *\n * For argument of type Set and Array CSS class names contained in those collections are always\n * added.\n * For argument of type Map CSS class name in the map's key is toggled based on the value (added\n * for truthy and removed for falsy).\n */\n private _applyClasses(rawClassVal: NgClassSupportedTypes) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n (rawClassVal).forEach((klass: string) => this._toggleClass(klass, true));\n } else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, !!rawClassVal[klass]));\n }\n }\n }\n\n /**\n * Removes a collection of CSS classes from the DOM element. This is mostly useful for cleanup\n * purposes.\n */\n private _removeClasses(rawClassVal: NgClassSupportedTypes) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n (rawClassVal).forEach((klass: string) => this._toggleClass(klass, false));\n } else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, false));\n }\n }\n }\n\n private _toggleClass(klass: string, enabled: boolean): void {\n klass = klass.trim();\n if (klass) {\n klass.split(/\\s+/g).forEach(klass => {\n if (enabled) {\n this._renderer.addClass(this._ngEl.nativeElement, klass);\n } else {\n this._renderer.removeClass(this._ngEl.nativeElement, klass);\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 */\n\nimport {ComponentFactoryResolver, ComponentRef, Directive, Injector, Input, NgModuleFactory, NgModuleRef, OnChanges, OnDestroy, SimpleChanges, StaticProvider, Type, ViewContainerRef} from '@angular/core';\n\n\n/**\n * Instantiates a single {@link Component} type and inserts its Host View into current View.\n * `NgComponentOutlet` provides a declarative approach for dynamic component creation.\n *\n * `NgComponentOutlet` requires a component type, if a falsy value is set the view will clear and\n * any existing component will get destroyed.\n *\n * @usageNotes\n *\n * ### Fine tune control\n *\n * You can control the component creation process by using the following optional attributes:\n *\n * * `ngComponentOutletInjector`: Optional custom {@link Injector} that will be used as parent for\n * the Component. Defaults to the injector of the current view container.\n *\n * * `ngComponentOutletContent`: Optional list of projectable nodes to insert into the content\n * section of the component, if exists.\n *\n * * `ngComponentOutletNgModuleFactory`: Optional module factory to allow dynamically loading other\n * module, then load a component from that module.\n *\n * ### Syntax\n *\n * Simple\n * ```\n * \n * ```\n *\n * Customized injector/content\n * ```\n * \n * \n * ```\n *\n * Customized ngModuleFactory\n * ```\n * \n * \n * ```\n *\n * ### A simple example\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='SimpleExample'}\n *\n * A more complete example with additional options:\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='CompleteExample'}\n *\n * @publicApi\n * @ngModule CommonModule\n */\n@Directive({selector: '[ngComponentOutlet]'})\nexport class NgComponentOutlet implements OnChanges, OnDestroy {\n // TODO(issue/24571): remove '!'.\n @Input() ngComponentOutlet!: Type;\n // TODO(issue/24571): remove '!'.\n @Input() ngComponentOutletInjector!: Injector;\n // TODO(issue/24571): remove '!'.\n @Input() ngComponentOutletContent!: any[][];\n // TODO(issue/24571): remove '!'.\n @Input() ngComponentOutletNgModuleFactory!: NgModuleFactory;\n\n private _componentRef: ComponentRef|null = null;\n private _moduleRef: NgModuleRef|null = null;\n\n constructor(private _viewContainerRef: ViewContainerRef) {}\n\n ngOnChanges(changes: SimpleChanges) {\n this._viewContainerRef.clear();\n this._componentRef = null;\n\n if (this.ngComponentOutlet) {\n const elInjector = this.ngComponentOutletInjector || this._viewContainerRef.parentInjector;\n\n if (changes['ngComponentOutletNgModuleFactory']) {\n if (this._moduleRef) this._moduleRef.destroy();\n\n if (this.ngComponentOutletNgModuleFactory) {\n const parentModule = elInjector.get(NgModuleRef);\n this._moduleRef = this.ngComponentOutletNgModuleFactory.create(parentModule.injector);\n } else {\n this._moduleRef = null;\n }\n }\n\n const componentFactoryResolver = this._moduleRef ? this._moduleRef.componentFactoryResolver :\n elInjector.get(ComponentFactoryResolver);\n\n const componentFactory =\n componentFactoryResolver.resolveComponentFactory(this.ngComponentOutlet);\n\n this._componentRef = this._viewContainerRef.createComponent(\n componentFactory, this._viewContainerRef.length, elInjector,\n this.ngComponentOutletContent);\n }\n }\n\n ngOnDestroy() {\n if (this._moduleRef) this._moduleRef.destroy();\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 {Directive, DoCheck, EmbeddedViewRef, Input, isDevMode, IterableChangeRecord, IterableChanges, IterableDiffer, IterableDiffers, NgIterable, TemplateRef, TrackByFunction, ViewContainerRef} from '@angular/core';\n\n/**\n * @publicApi\n */\nexport class NgForOfContext = NgIterable> {\n constructor(public $implicit: T, public ngForOf: U, public index: number, public count: number) {}\n\n get first(): boolean {\n return this.index === 0;\n }\n\n get last(): boolean {\n return this.index === this.count - 1;\n }\n\n get even(): boolean {\n return this.index % 2 === 0;\n }\n\n get odd(): boolean {\n return !this.even;\n }\n}\n\n/**\n * A [structural directive](guide/structural-directives) that renders\n * a template for each item in a collection.\n * The directive is placed on an element, which becomes the parent\n * of the cloned templates.\n *\n * The `ngForOf` directive is generally used in the\n * [shorthand form](guide/structural-directives#the-asterisk--prefix) `*ngFor`.\n * In this form, the template to be rendered for each iteration is the content\n * of an anchor element containing the directive.\n *\n * The following example shows the shorthand syntax with some options,\n * contained in an `
  • ` element.\n *\n * ```\n *
  • ...
  • \n * ```\n *\n * The shorthand form expands into a long form that uses the `ngForOf` selector\n * on an `` element.\n * The content of the `` element is the `
  • ` element that held the\n * short-form directive.\n *\n * Here is the expanded version of the short-form example.\n *\n * ```\n * \n *
  • ...
  • \n *
    \n * ```\n *\n * Angular automatically expands the shorthand syntax as it compiles the template.\n * The context for each embedded view is logically merged to the current component\n * context according to its lexical position.\n *\n * When using the shorthand syntax, Angular allows only [one structural directive\n * on an element](guide/structural-directives#one-structural-directive-per-host-element).\n * If you want to iterate conditionally, for example,\n * put the `*ngIf` on a container element that wraps the `*ngFor` element.\n * For futher discussion, see\n * [Structural Directives](guide/structural-directives#one-per-element).\n *\n * @usageNotes\n *\n * ### Local variables\n *\n * `NgForOf` provides exported values that can be aliased to local variables.\n * For example:\n *\n * ```\n *
  • \n * {{i}}/{{users.length}}. {{user}} default\n *
  • \n * ```\n *\n * The following exported values can be aliased to local variables:\n *\n * - `$implicit: T`: The value of the individual items in the iterable (`ngForOf`).\n * - `ngForOf: NgIterable`: The value of the iterable expression. Useful when the expression is\n * more complex then a property access, for example when using the async pipe (`userStreams |\n * async`).\n * - `index: number`: The index of the current item in the iterable.\n * - `count: number`: The length of the iterable.\n * - `first: boolean`: True when the item is the first item in the iterable.\n * - `last: boolean`: True when the item is the last item in the iterable.\n * - `even: boolean`: True when the item has an even index in the iterable.\n * - `odd: boolean`: True when the item has an odd index in the iterable.\n *\n * ### Change propagation\n *\n * When the contents of the iterator changes, `NgForOf` makes the corresponding changes to the DOM:\n *\n * * When an item is added, a new instance of the template is added to the DOM.\n * * When an item is removed, its template instance is removed from the DOM.\n * * When items are reordered, their respective templates are reordered in the DOM.\n *\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\n * those changes in the DOM. This has important implications for animations and any stateful\n * controls that are present, such as `` elements that accept user input. Inserted rows can\n * be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state\n * such as user input.\n * For more on animations, see [Transitions and Triggers](guide/transition-and-triggers).\n *\n * The identities of elements in the iterator can change while the data does not.\n * This can happen, for example, if the iterator is produced from an RPC to the server, and that\n * RPC is re-run. Even if the data hasn't changed, the second response produces objects with\n * different identities, and Angular must tear down the entire DOM and rebuild it (as if all old\n * elements were deleted and all new elements inserted).\n *\n * To avoid this expensive operation, you can customize the default tracking algorithm.\n * by supplying the `trackBy` option to `NgForOf`.\n * `trackBy` takes a function that has two arguments: `index` and `item`.\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\n *\n * @see [Structural Directives](guide/structural-directives)\n * @ngModule CommonModule\n * @publicApi\n */\n@Directive({selector: '[ngFor][ngForOf]'})\nexport class NgForOf = NgIterable> implements DoCheck {\n /**\n * The value of the iterable expression, which can be used as a\n * [template input variable](guide/structural-directives#template-input-variable).\n */\n @Input()\n set ngForOf(ngForOf: U&NgIterable|undefined|null) {\n this._ngForOf = ngForOf;\n this._ngForOfDirty = true;\n }\n /**\n * A function that defines how to track changes for items in the iterable.\n *\n * When items are added, moved, or removed in the iterable,\n * the directive must re-render the appropriate DOM nodes.\n * To minimize churn in the DOM, only nodes that have changed\n * are re-rendered.\n *\n * By default, the change detector assumes that\n * the object instance identifies the node in the iterable.\n * When this function is supplied, the directive uses\n * the result of calling this function to identify the item node,\n * rather than the identity of the object itself.\n *\n * The function receives two inputs,\n * the iteration index and the node object ID.\n */\n @Input()\n set ngForTrackBy(fn: TrackByFunction) {\n if (isDevMode() && fn != null && typeof fn !== 'function') {\n // TODO(vicb): use a log service once there is a public one available\n if (console && console.warn) {\n console.warn(\n `trackBy must be a function, but received ${JSON.stringify(fn)}. ` +\n `See https://angular.io/api/common/NgForOf#change-propagation for more information.`);\n }\n }\n this._trackByFn = fn;\n }\n\n get ngForTrackBy(): TrackByFunction {\n return this._trackByFn;\n }\n\n private _ngForOf: U|undefined|null = null;\n private _ngForOfDirty: boolean = true;\n private _differ: IterableDiffer|null = null;\n // TODO(issue/24571): remove '!'.\n private _trackByFn!: TrackByFunction;\n\n constructor(\n private _viewContainer: ViewContainerRef,\n private _template: TemplateRef>, private _differs: IterableDiffers) {}\n\n /**\n * A reference to the template that is stamped out for each item in the iterable.\n * @see [template reference variable](guide/template-syntax#template-reference-variables--var-)\n */\n @Input()\n set ngForTemplate(value: TemplateRef>) {\n // TODO(TS2.1): make TemplateRef>> once we move to TS v2.1\n // The current type is too restrictive; a template that just uses index, for example,\n // should be acceptable.\n if (value) {\n this._template = value;\n }\n }\n\n /**\n * Applies the changes when needed.\n */\n ngDoCheck(): void {\n if (this._ngForOfDirty) {\n this._ngForOfDirty = false;\n // React on ngForOf changes only once all inputs have been initialized\n const value = this._ngForOf;\n if (!this._differ && value) {\n try {\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n } catch {\n throw new Error(`Cannot find a differ supporting object '${value}' of type '${\n getTypeName(value)}'. NgFor only supports binding to Iterables such as Arrays.`);\n }\n }\n }\n if (this._differ) {\n const changes = this._differ.diff(this._ngForOf);\n if (changes) this._applyChanges(changes);\n }\n }\n\n private _applyChanges(changes: IterableChanges) {\n const insertTuples: RecordViewTuple[] = [];\n changes.forEachOperation(\n (item: IterableChangeRecord, adjustedPreviousIndex: number|null,\n currentIndex: number|null) => {\n if (item.previousIndex == null) {\n // NgForOf is never \"null\" or \"undefined\" here because the differ detected\n // that a new item needs to be inserted from the iterable. This implies that\n // there is an iterable value for \"_ngForOf\".\n const view = this._viewContainer.createEmbeddedView(\n this._template, new NgForOfContext(null!, this._ngForOf!, -1, -1),\n currentIndex === null ? undefined : currentIndex);\n const tuple = new RecordViewTuple(item, view);\n insertTuples.push(tuple);\n } else if (currentIndex == null) {\n this._viewContainer.remove(\n adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex);\n } else if (adjustedPreviousIndex !== null) {\n const view = this._viewContainer.get(adjustedPreviousIndex)!;\n this._viewContainer.move(view, currentIndex);\n const tuple = new RecordViewTuple(item, >>view);\n insertTuples.push(tuple);\n }\n });\n\n for (let i = 0; i < insertTuples.length; i++) {\n this._perViewChange(insertTuples[i].view, insertTuples[i].record);\n }\n\n for (let i = 0, ilen = this._viewContainer.length; i < ilen; i++) {\n const viewRef = >>this._viewContainer.get(i);\n viewRef.context.index = i;\n viewRef.context.count = ilen;\n viewRef.context.ngForOf = this._ngForOf!;\n }\n\n changes.forEachIdentityChange((record: any) => {\n const viewRef =\n >>this._viewContainer.get(record.currentIndex);\n viewRef.context.$implicit = record.item;\n });\n }\n\n private _perViewChange(\n view: EmbeddedViewRef>, record: IterableChangeRecord) {\n view.context.$implicit = record.item;\n }\n\n /**\n * Asserts the correct type of the context for the template that `NgForOf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgForOf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard>(dir: NgForOf, ctx: any):\n ctx is NgForOfContext {\n return true;\n }\n}\n\nclass RecordViewTuple> {\n constructor(public record: any, public view: EmbeddedViewRef>) {}\n}\n\nfunction getTypeName(type: any): string {\n return type['name'] || typeof type;\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 {Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef, ɵstringify as stringify} from '@angular/core';\n\n\n/**\n * A structural directive that conditionally includes a template based on the value of\n * an expression coerced to Boolean.\n * When the expression evaluates to true, Angular renders the template\n * provided in a `then` clause, and when false or null,\n * Angular renders the template provided in an optional `else` clause. The default\n * template for the `else` clause is blank.\n *\n * A [shorthand form](guide/structural-directives#the-asterisk--prefix) of the directive,\n * `*ngIf=\"condition\"`, is generally used, provided\n * as an attribute of the anchor element for the inserted template.\n * Angular expands this into a more explicit version, in which the anchor element\n * is contained in an `` element.\n *\n * Simple form with shorthand syntax:\n *\n * ```\n *
    Content to render when condition is true.
    \n * ```\n *\n * Simple form with expanded syntax:\n *\n * ```\n *
    Content to render when condition is\n * true.
    \n * ```\n *\n * Form with an \"else\" block:\n *\n * ```\n *
    Content to render when condition is true.
    \n * Content to render when condition is false.\n * ```\n *\n * Shorthand form with \"then\" and \"else\" blocks:\n *\n * ```\n *
    \n * Content to render when condition is true.\n * Content to render when condition is false.\n * ```\n *\n * Form with storing the value locally:\n *\n * ```\n *
    {{value}}
    \n * Content to render when value is null.\n * ```\n *\n * @usageNotes\n *\n * The `*ngIf` directive is most commonly used to conditionally show an inline template,\n * as seen in the following example.\n * The default `else` template is blank.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfSimple'}\n *\n * ### Showing an alternative template using `else`\n *\n * To display a template when `expression` evaluates to false, use an `else` template\n * binding as shown in the following example.\n * The `else` binding points to an `` element labeled `#elseBlock`.\n * The template can be defined anywhere in the component view, but is typically placed right after\n * `ngIf` for readability.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfElse'}\n *\n * ### Using an external `then` template\n *\n * In the previous example, the then-clause template is specified inline, as the content of the\n * tag that contains the `ngIf` directive. You can also specify a template that is defined\n * externally, by referencing a labeled `` element. When you do this, you can\n * change which template to use at runtime, as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfThenElse'}\n *\n * ### Storing a conditional result in a variable\n *\n * You might want to show a set of properties from the same object. If you are waiting\n * for asynchronous data, the object can be undefined.\n * In this case, you can use `ngIf` and store the result of the condition in a local\n * variable as shown in the the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfAs'}\n *\n * This code uses only one `AsyncPipe`, so only one subscription is created.\n * The conditional statement stores the result of `userStream|async` in the local variable `user`.\n * You can then bind the local `user` repeatedly.\n *\n * The conditional displays the data only if `userStream` returns a value,\n * so you don't need to use the\n * [safe-navigation-operator](guide/template-syntax#safe-navigation-operator) (`?.`)\n * to guard against null values when accessing properties.\n * You can display an alternative template while waiting for the data.\n *\n * ### Shorthand syntax\n *\n * The shorthand syntax `*ngIf` expands into two separate template specifications\n * for the \"then\" and \"else\" clauses. For example, consider the following shorthand statement,\n * that is meant to show a loading page while waiting for data to be loaded.\n *\n * ```\n *
    \n * ...\n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * You can see that the \"else\" clause references the ``\n * with the `#loading` label, and the template for the \"then\" clause\n * is provided as the content of the anchor element.\n *\n * However, when Angular expands the shorthand syntax, it creates\n * another `` tag, with `ngIf` and `ngIfElse` directives.\n * The anchor element containing the template for the \"then\" clause becomes\n * the content of this unlabeled `` tag.\n *\n * ```\n * \n *
    \n * ...\n *
    \n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * The presence of the implicit template object has implications for the nesting of\n * structural directives. For more on this subject, see\n * [Structural Directives](https://angular.io/guide/structural-directives#one-per-element).\n *\n * @ngModule CommonModule\n * @publicApi\n */\n@Directive({selector: '[ngIf]'})\nexport class NgIf {\n private _context: NgIfContext = new NgIfContext();\n private _thenTemplateRef: TemplateRef>|null = null;\n private _elseTemplateRef: TemplateRef>|null = null;\n private _thenViewRef: EmbeddedViewRef>|null = null;\n private _elseViewRef: EmbeddedViewRef>|null = null;\n\n constructor(private _viewContainer: ViewContainerRef, templateRef: TemplateRef>) {\n this._thenTemplateRef = templateRef;\n }\n\n /**\n * The Boolean expression to evaluate as the condition for showing a template.\n */\n @Input()\n set ngIf(condition: T) {\n this._context.$implicit = this._context.ngIf = condition;\n this._updateView();\n }\n\n /**\n * A template to show if the condition expression evaluates to true.\n */\n @Input()\n set ngIfThen(templateRef: TemplateRef>|null) {\n assertTemplate('ngIfThen', templateRef);\n this._thenTemplateRef = templateRef;\n this._thenViewRef = null; // clear previous view if any.\n this._updateView();\n }\n\n /**\n * A template to show if the condition expression evaluates to false.\n */\n @Input()\n set ngIfElse(templateRef: TemplateRef>|null) {\n assertTemplate('ngIfElse', templateRef);\n this._elseTemplateRef = templateRef;\n this._elseViewRef = null; // clear previous view if any.\n this._updateView();\n }\n\n private _updateView() {\n if (this._context.$implicit) {\n if (!this._thenViewRef) {\n this._viewContainer.clear();\n this._elseViewRef = null;\n if (this._thenTemplateRef) {\n this._thenViewRef =\n this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);\n }\n }\n } else {\n if (!this._elseViewRef) {\n this._viewContainer.clear();\n this._thenViewRef = null;\n if (this._elseTemplateRef) {\n this._elseViewRef =\n this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);\n }\n }\n }\n }\n\n /** @internal */\n public static ngIfUseIfTypeGuard: void;\n\n /**\n * Assert the correct type of the expression bound to the `ngIf` input within the template.\n *\n * The presence of this static field is a signal to the Ivy template type check compiler that\n * when the `NgIf` structural directive renders its template, the type of the expression bound\n * to `ngIf` should be narrowed in some way. For `NgIf`, the binding expression itself is used to\n * narrow its type, which allows the strictNullChecks feature of TypeScript to work with `NgIf`.\n */\n static ngTemplateGuard_ngIf: 'binding';\n\n /**\n * Asserts the correct type of the context for the template that `NgIf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgIf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir: NgIf, ctx: any): ctx is NgIfContext> {\n return true;\n }\n}\n\n/**\n * @publicApi\n */\nexport class NgIfContext {\n public $implicit: T = null!;\n public ngIf: T = null!;\n}\n\nfunction assertTemplate(property: string, templateRef: TemplateRef|null): void {\n const isTemplateRefOrNull = !!(!templateRef || templateRef.createEmbeddedView);\n if (!isTemplateRefOrNull) {\n throw new Error(`${property} must be a TemplateRef, but received '${stringify(templateRef)}'.`);\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 {Directive, DoCheck, Host, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\nexport class SwitchView {\n private _created = false;\n\n constructor(\n private _viewContainerRef: ViewContainerRef, private _templateRef: TemplateRef) {}\n\n create(): void {\n this._created = true;\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n }\n\n destroy(): void {\n this._created = false;\n this._viewContainerRef.clear();\n }\n\n enforceState(created: boolean) {\n if (created && !this._created) {\n this.create();\n } else if (!created && this._created) {\n this.destroy();\n }\n }\n}\n\n/**\n * @ngModule CommonModule\n *\n * @description\n * The `[ngSwitch]` directive on a container specifies an expression to match against.\n * The expressions to match are provided by `ngSwitchCase` directives on views within the container.\n * - Every view that matches is rendered.\n * - If there are no matches, a view with the `ngSwitchDefault` directive is rendered.\n * - Elements within the `[NgSwitch]` statement but outside of any `NgSwitchCase`\n * or `ngSwitchDefault` directive are preserved at the location.\n *\n * @usageNotes\n * Define a container element for the directive, and specify the switch expression\n * to match against as an attribute:\n *\n * ```\n * \n * ```\n *\n * Within the container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * ### Usage Examples\n *\n * The following example shows how to use more than one case to display the same view:\n *\n * ```\n * \n * \n * ...\n * ...\n * ...\n * \n * ...\n * \n * ```\n *\n * The following example shows how cases can be nested:\n * ```\n * \n * ...\n * ...\n * ...\n * \n * \n * \n * \n * \n * ...\n * \n * ```\n *\n * @publicApi\n * @see `NgSwitchCase`\n * @see `NgSwitchDefault`\n * @see [Structural Directives](guide/structural-directives)\n *\n */\n@Directive({selector: '[ngSwitch]'})\nexport class NgSwitch {\n // TODO(issue/24571): remove '!'.\n private _defaultViews!: SwitchView[];\n private _defaultUsed = false;\n private _caseCount = 0;\n private _lastCaseCheckIndex = 0;\n private _lastCasesMatched = false;\n private _ngSwitch: any;\n\n @Input()\n set ngSwitch(newValue: any) {\n this._ngSwitch = newValue;\n if (this._caseCount === 0) {\n this._updateDefaultCases(true);\n }\n }\n\n /** @internal */\n _addCase(): number {\n return this._caseCount++;\n }\n\n /** @internal */\n _addDefault(view: SwitchView) {\n if (!this._defaultViews) {\n this._defaultViews = [];\n }\n this._defaultViews.push(view);\n }\n\n /** @internal */\n _matchCase(value: any): boolean {\n const matched = value == this._ngSwitch;\n this._lastCasesMatched = this._lastCasesMatched || matched;\n this._lastCaseCheckIndex++;\n if (this._lastCaseCheckIndex === this._caseCount) {\n this._updateDefaultCases(!this._lastCasesMatched);\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n return matched;\n }\n\n private _updateDefaultCases(useDefault: boolean) {\n if (this._defaultViews && useDefault !== this._defaultUsed) {\n this._defaultUsed = useDefault;\n for (let i = 0; i < this._defaultViews.length; i++) {\n const defaultView = this._defaultViews[i];\n defaultView.enforceState(useDefault);\n }\n }\n }\n}\n\n/**\n * @ngModule CommonModule\n *\n * @description\n * Provides a switch case expression to match against an enclosing `ngSwitch` expression.\n * When the expressions match, the given `NgSwitchCase` template is rendered.\n * If multiple match expressions match the switch expression value, all of them are displayed.\n *\n * @usageNotes\n *\n * Within a switch container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * Each switch-case statement contains an in-line HTML template or template reference\n * that defines the subtree to be selected if the value of the match expression\n * matches the value of the switch expression.\n *\n * Unlike JavaScript, which uses strict equality, Angular uses loose equality.\n * This means that the empty string, `\"\"` matches 0.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchDefault`\n *\n */\n@Directive({selector: '[ngSwitchCase]'})\nexport class NgSwitchCase implements DoCheck {\n private _view: SwitchView;\n /**\n * Stores the HTML template to be selected on match.\n */\n @Input() ngSwitchCase: any;\n\n constructor(\n viewContainer: ViewContainerRef, templateRef: TemplateRef,\n @Host() private ngSwitch: NgSwitch) {\n ngSwitch._addCase();\n this._view = new SwitchView(viewContainer, templateRef);\n }\n\n /**\n * Performs case matching. For internal use only.\n */\n ngDoCheck() {\n this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));\n }\n}\n\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that is rendered when no `NgSwitchCase` expressions\n * match the `NgSwitch` expression.\n * This statement should be the final case in an `NgSwitch`.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchCase`\n *\n */\n@Directive({selector: '[ngSwitchDefault]'})\nexport class NgSwitchDefault {\n constructor(\n viewContainer: ViewContainerRef, templateRef: TemplateRef,\n @Host() ngSwitch: NgSwitch) {\n ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));\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 {Attribute, Directive, Host, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\nimport {getPluralCategory, NgLocalization} from '../i18n/localization';\n\nimport {SwitchView} from './ng_switch';\n\n\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * \n * there is nothing\n * there is one\n * there are a few\n * \n * ```\n *\n * @description\n *\n * Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\n *\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\n * that match the switch expression's pluralization category.\n *\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\n * expression:\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\n * matches the switch expression exactly,\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\n * value matches aren't found and the value maps to its category for the defined locale.\n *\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\n *\n * @publicApi\n */\n@Directive({selector: '[ngPlural]'})\nexport class NgPlural {\n // TODO(issue/24571): remove '!'.\n private _switchValue!: number;\n // TODO(issue/24571): remove '!'.\n private _activeView!: SwitchView;\n private _caseViews: {[k: string]: SwitchView} = {};\n\n constructor(private _localization: NgLocalization) {}\n\n @Input()\n set ngPlural(value: number) {\n this._switchValue = value;\n this._updateView();\n }\n\n addCase(value: string, switchView: SwitchView): void {\n this._caseViews[value] = switchView;\n }\n\n private _updateView(): void {\n this._clearViews();\n\n const cases = Object.keys(this._caseViews);\n const key = getPluralCategory(this._switchValue, cases, this._localization);\n this._activateView(this._caseViews[key]);\n }\n\n private _clearViews() {\n if (this._activeView) this._activeView.destroy();\n }\n\n private _activateView(view: SwitchView) {\n if (view) {\n this._activeView = view;\n this._activeView.create();\n }\n }\n}\n\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that will be added/removed from the parent {@link NgPlural} when the\n * given expression matches the plural expression according to CLDR rules.\n *\n * @usageNotes\n * ```\n * \n * ...\n * ...\n * \n *```\n *\n * See {@link NgPlural} for more details and example.\n *\n * @publicApi\n */\n@Directive({selector: '[ngPluralCase]'})\nexport class NgPluralCase {\n constructor(\n @Attribute('ngPluralCase') public value: string, template: TemplateRef,\n viewContainer: ViewContainerRef, @Host() ngPlural: NgPlural) {\n const isANumber: boolean = !isNaN(Number(value));\n ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));\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 */\nimport {Directive, DoCheck, ElementRef, Input, KeyValueChanges, KeyValueDiffer, KeyValueDiffers, Renderer2} from '@angular/core';\n\n\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n *\n * Set the font of the containing element to the result of an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set the width of the containing element to a pixel value returned by an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set a collection of style values using an expression that returns key-value pairs.\n *\n * ```\n * ...\n * ```\n *\n * @description\n *\n * An attribute directive that updates styles for the containing HTML element.\n * Sets one or more style properties, specified as colon-separated key-value pairs.\n * The key is a style name, with an optional `.` suffix\n * (such as 'top.px', 'font-style.em').\n * The value is an expression to be evaluated.\n * The resulting non-null value, expressed in the given unit,\n * is assigned to the given style property.\n * If the result of evaluation is null, the corresponding style is removed.\n *\n * @publicApi\n */\n@Directive({selector: '[ngStyle]'})\nexport class NgStyle implements DoCheck {\n private _ngStyle: {[key: string]: string}|null = null;\n private _differ: KeyValueDiffer|null = null;\n\n constructor(\n private _ngEl: ElementRef, private _differs: KeyValueDiffers, private _renderer: Renderer2) {}\n\n @Input('ngStyle')\n set ngStyle(values: {[klass: string]: any}|null) {\n this._ngStyle = values;\n if (!this._differ && values) {\n this._differ = this._differs.find(values).create();\n }\n }\n\n ngDoCheck() {\n if (this._differ) {\n const changes = this._differ.diff(this._ngStyle!);\n if (changes) {\n this._applyChanges(changes);\n }\n }\n }\n\n private _setStyle(nameAndUnit: string, value: string|number|null|undefined): void {\n const [name, unit] = nameAndUnit.split('.');\n value = value != null && unit ? `${value}${unit}` : value;\n\n if (value != null) {\n this._renderer.setStyle(this._ngEl.nativeElement, name, value as string);\n } else {\n this._renderer.removeStyle(this._ngEl.nativeElement, name);\n }\n }\n\n private _applyChanges(changes: KeyValueChanges): void {\n changes.forEachRemovedItem((record) => this._setStyle(record.key, null));\n changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));\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 {Directive, EmbeddedViewRef, Input, OnChanges, SimpleChange, SimpleChanges, TemplateRef, ViewContainerRef} from '@angular/core';\n\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Inserts an embedded view from a prepared `TemplateRef`.\n *\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngTemplateOutletContext]`.\n * `[ngTemplateOutletContext]` should be an object, the object's keys will be available for binding\n * by the local template `let` declarations.\n *\n * @usageNotes\n * ```\n * \n * ```\n *\n * Using the key `$implicit` in the context object will set its value as default.\n *\n * ### Example\n *\n * {@example common/ngTemplateOutlet/ts/module.ts region='NgTemplateOutlet'}\n *\n * @publicApi\n */\n@Directive({selector: '[ngTemplateOutlet]'})\nexport class NgTemplateOutlet implements OnChanges {\n private _viewRef: EmbeddedViewRef|null = null;\n\n /**\n * A context object to attach to the {@link EmbeddedViewRef}. This should be an\n * object, the object's keys will be available for binding by the local template `let`\n * declarations.\n * Using the key `$implicit` in the context object will set its value as default.\n */\n @Input() public ngTemplateOutletContext: Object|null = null;\n\n /**\n * A string defining the template reference and optionally the context object for the template.\n */\n @Input() public ngTemplateOutlet: TemplateRef|null = null;\n\n constructor(private _viewContainerRef: ViewContainerRef) {}\n\n ngOnChanges(changes: SimpleChanges) {\n const recreateView = this._shouldRecreateView(changes);\n\n if (recreateView) {\n const viewContainerRef = this._viewContainerRef;\n\n if (this._viewRef) {\n viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n }\n\n this._viewRef = this.ngTemplateOutlet ?\n viewContainerRef.createEmbeddedView(this.ngTemplateOutlet, this.ngTemplateOutletContext) :\n null;\n } else if (this._viewRef && this.ngTemplateOutletContext) {\n this._updateExistingContext(this.ngTemplateOutletContext);\n }\n }\n\n /**\n * We need to re-create existing embedded view if:\n * - templateRef has changed\n * - context has changes\n *\n * We mark context object as changed when the corresponding object\n * shape changes (new properties are added or existing properties are removed).\n * In other words we consider context with the same properties as \"the same\" even\n * if object reference changes (see https://github.com/angular/angular/issues/13407).\n */\n private _shouldRecreateView(changes: SimpleChanges): boolean {\n const ctxChange = changes['ngTemplateOutletContext'];\n return !!changes['ngTemplateOutlet'] || (ctxChange && this._hasContextShapeChanged(ctxChange));\n }\n\n private _hasContextShapeChanged(ctxChange: SimpleChange): boolean {\n const prevCtxKeys = Object.keys(ctxChange.previousValue || {});\n const currCtxKeys = Object.keys(ctxChange.currentValue || {});\n\n if (prevCtxKeys.length === currCtxKeys.length) {\n for (let propName of currCtxKeys) {\n if (prevCtxKeys.indexOf(propName) === -1) {\n return true;\n }\n }\n return false;\n }\n return true;\n }\n\n private _updateExistingContext(ctx: Object): void {\n for (let propName of Object.keys(ctx)) {\n (this._viewRef!.context)[propName] = (this.ngTemplateOutletContext)[propName];\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\nimport {Provider} from '@angular/core';\nimport {NgClass} from './ng_class';\nimport {NgComponentOutlet} from './ng_component_outlet';\nimport {NgForOf, NgForOfContext} from './ng_for_of';\nimport {NgIf, NgIfContext} from './ng_if';\nimport {NgPlural, NgPluralCase} from './ng_plural';\nimport {NgStyle} from './ng_style';\nimport {NgSwitch, NgSwitchCase, NgSwitchDefault} from './ng_switch';\nimport {NgTemplateOutlet} from './ng_template_outlet';\n\nexport {\n NgClass,\n NgComponentOutlet,\n NgForOf,\n NgForOfContext,\n NgIf,\n NgIfContext,\n NgPlural,\n NgPluralCase,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgTemplateOutlet,\n};\n\n\n\n/**\n * A collection of Angular directives that are likely to be used in each and every Angular\n * application.\n */\nexport const COMMON_DIRECTIVES: Provider[] = [\n NgClass,\n NgComponentOutlet,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgPlural,\n NgPluralCase,\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 {Type, ɵstringify as stringify} from '@angular/core';\n\nexport function invalidPipeArgumentError(type: Type, value: Object) {\n return Error(`InvalidPipeArgument: '${value}' for pipe '${stringify(type)}'`);\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 {ChangeDetectorRef, EventEmitter, OnDestroy, Pipe, PipeTransform, ɵisObservable, ɵisPromise} from '@angular/core';\nimport {Observable, SubscriptionLike} from 'rxjs';\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\ninterface SubscriptionStrategy {\n createSubscription(async: Observable|Promise, updateLatestValue: any): SubscriptionLike\n |Promise;\n dispose(subscription: SubscriptionLike|Promise): void;\n onDestroy(subscription: SubscriptionLike|Promise): void;\n}\n\nclass ObservableStrategy implements SubscriptionStrategy {\n createSubscription(async: Observable, updateLatestValue: any): SubscriptionLike {\n return async.subscribe({\n next: updateLatestValue,\n error: (e: any) => {\n throw e;\n }\n });\n }\n\n dispose(subscription: SubscriptionLike): void {\n subscription.unsubscribe();\n }\n\n onDestroy(subscription: SubscriptionLike): void {\n subscription.unsubscribe();\n }\n}\n\nclass PromiseStrategy implements SubscriptionStrategy {\n createSubscription(async: Promise, updateLatestValue: (v: any) => any): Promise {\n return async.then(updateLatestValue, e => {\n throw e;\n });\n }\n\n dispose(subscription: Promise): void {}\n\n onDestroy(subscription: Promise): void {}\n}\n\nconst _promiseStrategy = new PromiseStrategy();\nconst _observableStrategy = new ObservableStrategy();\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Unwraps a value from an asynchronous primitive.\n *\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\n * potential memory leaks.\n *\n * @usageNotes\n *\n * ### Examples\n *\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\n * promise.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\n *\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\n * to the view. The Observable continuously updates the view with the current time.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\n *\n * @publicApi\n */\n@Pipe({name: 'async', pure: false})\nexport class AsyncPipe implements OnDestroy, PipeTransform {\n private _latestValue: any = null;\n\n private _subscription: SubscriptionLike|Promise|null = null;\n private _obj: Observable|Promise|EventEmitter|null = null;\n private _strategy: SubscriptionStrategy = null!;\n\n constructor(private _ref: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n if (this._subscription) {\n this._dispose();\n }\n }\n\n transform(obj: null): null;\n transform(obj: undefined): undefined;\n transform(obj: Observable|null|undefined): T|null;\n transform(obj: Promise|null|undefined): T|null;\n transform(obj: Observable|Promise|null|undefined): any {\n if (!this._obj) {\n if (obj) {\n this._subscribe(obj);\n }\n return this._latestValue;\n }\n\n if (obj !== this._obj) {\n this._dispose();\n return this.transform(obj as any);\n }\n\n return this._latestValue;\n }\n\n private _subscribe(obj: Observable|Promise|EventEmitter): void {\n this._obj = obj;\n this._strategy = this._selectStrategy(obj);\n this._subscription = this._strategy.createSubscription(\n obj, (value: Object) => this._updateLatestValue(obj, value));\n }\n\n private _selectStrategy(obj: Observable|Promise|EventEmitter): any {\n if (ɵisPromise(obj)) {\n return _promiseStrategy;\n }\n\n if (ɵisObservable(obj)) {\n return _observableStrategy;\n }\n\n throw invalidPipeArgumentError(AsyncPipe, obj);\n }\n\n private _dispose(): void {\n this._strategy.dispose(this._subscription!);\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n }\n\n private _updateLatestValue(async: any, value: Object): void {\n if (async === this._obj) {\n this._latestValue = value;\n this._ref.markForCheck();\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\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\n/**\n * Transforms text to all lower case.\n *\n * @see `UpperCasePipe`\n * @see `TitleCasePipe`\n * @usageNotes\n *\n * The following example defines a view that allows the user to enter\n * text, and then uses the pipe to convert the input text to all lower case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\n@Pipe({name: 'lowercase'})\nexport class LowerCasePipe implements PipeTransform {\n /**\n * @param value The string to transform to lower case.\n */\n transform(value: string): string {\n if (!value) return value;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(LowerCasePipe, value);\n }\n return value.toLowerCase();\n }\n}\n\n//\n// Regex below matches any Unicode word and compatible with ES5. In ES2018 the same result\n// can be achieved by using /\\p{L}\\S*/gu and also known as Unicode Property Escapes\n// (http://2ality.com/2017/07/regexp-unicode-property-escapes.html). Since there is no\n// transpilation of this functionality down to ES5 without external tool, the only solution is\n// to use already transpiled form. Example can be found here -\n// https://mothereff.in/regexpu#input=var+regex+%3D+/%5Cp%7BL%7D/u%3B&unicodePropertyEscape=1\n//\n\nconst unicodeWordMatch =\n /(?:[A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312E\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D])\\S*/g;\n\n/**\n * Transforms text to title case.\n * Capitalizes the first letter of each word and transforms the\n * rest of the word to lower case.\n * Words are delimited by any whitespace character, such as a space, tab, or line-feed character.\n *\n * @see `LowerCasePipe`\n * @see `UpperCasePipe`\n *\n * @usageNotes\n * The following example shows the result of transforming various strings into title case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\n@Pipe({name: 'titlecase'})\nexport class TitleCasePipe implements PipeTransform {\n /**\n * @param value The string to transform to title case.\n */\n transform(value: string): string {\n if (!value) return value;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(TitleCasePipe, value);\n }\n\n return value.replace(\n unicodeWordMatch, (txt => txt[0].toUpperCase() + txt.substr(1).toLowerCase()));\n }\n}\n\n/**\n * Transforms text to all upper case.\n * @see `LowerCasePipe`\n * @see `TitleCasePipe`\n *\n * @ngModule CommonModule\n * @publicApi\n */\n@Pipe({name: 'uppercase'})\nexport class UpperCasePipe implements PipeTransform {\n /**\n * @param value The string to transform to upper case.\n */\n transform(value: string): string {\n if (!value) return value;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(UpperCasePipe, value);\n }\n return value.toUpperCase();\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 {Inject, LOCALE_ID, Pipe, PipeTransform} from '@angular/core';\nimport {formatDate} from '../i18n/format_date';\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\n// clang-format off\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date value according to locale rules.\n *\n * Only the `en-US` locale data comes with Angular. To localize dates\n * in another language, you must import the corresponding locale data.\n * See the [I18n guide](guide/i18n#i18n-pipes) for more information.\n *\n * @see `formatDate()`\n *\n *\n * @usageNotes\n *\n * The result of this pipe is not reevaluated when the input is mutated. To avoid the need to\n * reformat the date on every change-detection cycle, treat the date as an immutable object\n * and change the reference when the pipe needs to run again.\n *\n * ### Pre-defined format options\n *\n * Examples are given in `en-US` locale.\n *\n * - `'short'`: equivalent to `'M/d/yy, h:mm a'` (`6/15/15, 9:03 AM`).\n * - `'medium'`: equivalent to `'MMM d, y, h:mm:ss a'` (`Jun 15, 2015, 9:03:01 AM`).\n * - `'long'`: equivalent to `'MMMM d, y, h:mm:ss a z'` (`June 15, 2015 at 9:03:01 AM\n * GMT+1`).\n * - `'full'`: equivalent to `'EEEE, MMMM d, y, h:mm:ss a zzzz'` (`Monday, June 15, 2015 at\n * 9:03:01 AM GMT+01:00`).\n * - `'shortDate'`: equivalent to `'M/d/yy'` (`6/15/15`).\n * - `'mediumDate'`: equivalent to `'MMM d, y'` (`Jun 15, 2015`).\n * - `'longDate'`: equivalent to `'MMMM d, y'` (`June 15, 2015`).\n * - `'fullDate'`: equivalent to `'EEEE, MMMM d, y'` (`Monday, June 15, 2015`).\n * - `'shortTime'`: equivalent to `'h:mm a'` (`9:03 AM`).\n * - `'mediumTime'`: equivalent to `'h:mm:ss a'` (`9:03:01 AM`).\n * - `'longTime'`: equivalent to `'h:mm:ss a z'` (`9:03:01 AM GMT+1`).\n * - `'fullTime'`: equivalent to `'h:mm:ss a zzzz'` (`9:03:01 AM GMT+01:00`).\n *\n * ### Custom format options\n *\n * You can construct a format string using symbols to specify the components\n * of a date-time value, as described in the following table.\n * Format details depend on the locale.\n * Fields marked with (*) are only available in the extra data set for the given locale.\n *\n * | Field type | Format | Description | Example Value |\n * |--------------------|-------------|---------------------------------------------------------------|------------------------------------------------------------|\n * | Era | G, GG & GGG | Abbreviated | AD |\n * | | GGGG | Wide | Anno Domini |\n * | | GGGGG | Narrow | A |\n * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Month | M | Numeric: 1 digit | 9, 12 |\n * | | MM | Numeric: 2 digits + zero padded | 09, 12 |\n * | | MMM | Abbreviated | Sep |\n * | | MMMM | Wide | September |\n * | | MMMMM | Narrow | S |\n * | Month standalone | L | Numeric: 1 digit | 9, 12 |\n * | | LL | Numeric: 2 digits + zero padded | 09, 12 |\n * | | LLL | Abbreviated | Sep |\n * | | LLLL | Wide | September |\n * | | LLLLL | Narrow | S |\n * | Week of year | w | Numeric: minimum digits | 1... 53 |\n * | | ww | Numeric: 2 digits + zero padded | 01... 53 |\n * | Week of month | W | Numeric: 1 digit | 1... 5 |\n * | Day of month | d | Numeric: minimum digits | 1 |\n * | | dd | Numeric: 2 digits + zero padded | 01 |\n * | Week day | E, EE & EEE | Abbreviated | Tue |\n * | | EEEE | Wide | Tuesday |\n * | | EEEEE | Narrow | T |\n * | | EEEEEE | Short | Tu |\n * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |\n * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |\n * | | aaaaa | Narrow | a/p |\n * | Period* | B, BB & BBB | Abbreviated | mid. |\n * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | BBBBB | Narrow | md |\n * | Period standalone* | b, bb & bbb | Abbreviated | mid. |\n * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | bbbbb | Narrow | md |\n * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |\n * | | hh | Numeric: 2 digits + zero padded | 01, 12 |\n * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |\n * | | HH | Numeric: 2 digits + zero padded | 00, 23 |\n * | Minute | m | Numeric: minimum digits | 8, 59 |\n * | | mm | Numeric: 2 digits + zero padded | 08, 59 |\n * | Second | s | Numeric: minimum digits | 0... 59 |\n * | | ss | Numeric: 2 digits + zero padded | 00... 59 |\n * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |\n * | | SS | Numeric: 2 digits + zero padded | 00... 99 |\n * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |\n * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |\n * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |\n * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |\n * | | ZZZZ | Long localized GMT format | GMT-8:00 |\n * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |\n * | | O, OO & OOO | Short localized GMT format | GMT-8 |\n * | | OOOO | Long localized GMT format | GMT-08:00 |\n *\n * Note that timezone correction is not applied to an ISO string that has no time component, such as \"2016-09-19\"\n *\n * ### Format examples\n *\n * These examples transform a date into various formats,\n * assuming that `dateObj` is a JavaScript `Date` object for\n * year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11,\n * given in the local time for the `en-US` locale.\n *\n * ```\n * {{ dateObj | date }} // output is 'Jun 15, 2015'\n * {{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'\n * {{ dateObj | date:'shortTime' }} // output is '9:43 PM'\n * {{ dateObj | date:'mm:ss' }} // output is '43:11'\n * ```\n *\n * ### Usage example\n *\n * The following component uses a date pipe to display the current date in different formats.\n *\n * ```\n * @Component({\n * selector: 'date-pipe',\n * template: `
    \n *

    Today is {{today | date}}

    \n *

    Or if you prefer, {{today | date:'fullDate'}}

    \n *

    The time is {{today | date:'h:mm a z'}}

    \n *
    `\n * })\n * // Get the current date and time as a date-time value.\n * export class DatePipeComponent {\n * today: number = Date.now();\n * }\n * ```\n *\n * @publicApi\n */\n// clang-format on\n@Pipe({name: 'date', pure: true})\nexport class DatePipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string) {}\n\n /**\n * @param value The date expression: a `Date` object, a number\n * (milliseconds since UTC epoch), or an ISO string (https://www.w3.org/TR/NOTE-datetime).\n * @param format The date/time components to include, using predefined options or a\n * custom format string.\n * @param timezone A timezone offset (such as `'+0430'`), or a standard\n * UTC/GMT or continental US timezone abbreviation.\n * When not supplied, uses the end-user's local system timezone.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n#setting-up-the-locale-of-your-app).\n * @returns A date string in the desired format.\n */\n transform(value: any, format = 'mediumDate', timezone?: string, locale?: string): string|null {\n if (value == null || value === '' || value !== value) return null;\n\n try {\n return formatDate(value, format, locale || this.locale, timezone);\n } catch (error) {\n throw invalidPipeArgumentError(DatePipe, error.message);\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\nimport {Pipe, PipeTransform} from '@angular/core';\n\nimport {getPluralCategory, NgLocalization} from '../i18n/localization';\n\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\nconst _INTERPOLATION_REGEXP: RegExp = /#/g;\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Maps a value to a string that pluralizes the value according to locale rules.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}\n *\n * @publicApi\n */\n@Pipe({name: 'i18nPlural', pure: true})\nexport class I18nPluralPipe implements PipeTransform {\n constructor(private _localization: NgLocalization) {}\n\n /**\n * @param value the number to be formatted\n * @param pluralMap an object that mimics the ICU format, see\n * http://userguide.icu-project.org/formatparse/messages.\n * @param locale a `string` defining the locale to use (uses the current {@link LOCALE_ID} by\n * default).\n */\n transform(value: number, pluralMap: {[count: string]: string}, locale?: string): string {\n if (value == null) return '';\n\n if (typeof pluralMap !== 'object' || pluralMap === null) {\n throw invalidPipeArgumentError(I18nPluralPipe, pluralMap);\n }\n\n const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);\n\n return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());\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 {Pipe, PipeTransform} from '@angular/core';\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Generic selector that displays the string that matches the current value.\n *\n * If none of the keys of the `mapping` match the `value`, then the content\n * of the `other` key is returned when present, otherwise an empty string is returned.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}\n *\n * @publicApi\n */\n@Pipe({name: 'i18nSelect', pure: true})\nexport class I18nSelectPipe implements PipeTransform {\n /**\n * @param value a string to be internationalized.\n * @param mapping an object that indicates the text that should be displayed\n * for different values of the provided `value`.\n */\n transform(value: string|null|undefined, mapping: {[key: string]: string}): string {\n if (value == null) return '';\n\n if (typeof mapping !== 'object' || typeof value !== 'string') {\n throw invalidPipeArgumentError(I18nSelectPipe, mapping);\n }\n\n if (mapping.hasOwnProperty(value)) {\n return mapping[value];\n }\n\n if (mapping.hasOwnProperty('other')) {\n return mapping['other'];\n }\n\n return '';\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 {Pipe, PipeTransform} from '@angular/core';\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Converts a value into its JSON-format representation. Useful for debugging.\n *\n * @usageNotes\n *\n * The following component uses a JSON pipe to convert an object\n * to JSON format, and displays the string in both formats for comparison.\n *\n * {@example common/pipes/ts/json_pipe.ts region='JsonPipe'}\n *\n * @publicApi\n */\n@Pipe({name: 'json', pure: false})\nexport class JsonPipe implements PipeTransform {\n /**\n * @param value A value of any type to convert into a JSON-format string.\n */\n transform(value: any): string {\n return JSON.stringify(value, null, 2);\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 {KeyValueChangeRecord, KeyValueChanges, KeyValueDiffer, KeyValueDiffers, Pipe, PipeTransform} from '@angular/core';\n\nfunction makeKeyValuePair(key: K, value: V): KeyValue {\n return {key: key, value: value};\n}\n\n/**\n * A key value pair.\n * Usually used to represent the key value pairs from a Map or Object.\n *\n * @publicApi\n */\nexport interface KeyValue {\n key: K;\n value: V;\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms Object or Map into an array of key value pairs.\n *\n * The output array will be ordered by keys.\n * By default the comparator will be by Unicode point value.\n * You can optionally pass a compareFn if your keys are complex types.\n *\n * @usageNotes\n * ### Examples\n *\n * This examples show how an Object or a Map can be iterated by ngFor with the use of this keyvalue\n * pipe.\n *\n * {@example common/pipes/ts/keyvalue_pipe.ts region='KeyValuePipe'}\n *\n * @publicApi\n */\n@Pipe({name: 'keyvalue', pure: false})\nexport class KeyValuePipe implements PipeTransform {\n constructor(private readonly differs: KeyValueDiffers) {}\n\n private differ!: KeyValueDiffer;\n private keyValues: Array> = [];\n\n transform(input: null, compareFn?: (a: KeyValue, b: KeyValue) => number): null;\n transform(\n input: {[key: string]: V}|Map,\n compareFn?: (a: KeyValue, b: KeyValue) => number):\n Array>;\n transform(\n input: {[key: string]: V}|Map|null,\n compareFn?: (a: KeyValue, b: KeyValue) => number):\n Array>|null;\n transform(\n input: {[key: number]: V}|Map,\n compareFn?: (a: KeyValue, b: KeyValue) => number):\n Array>;\n transform(\n input: {[key: number]: V}|Map|null,\n compareFn?: (a: KeyValue, b: KeyValue) => number):\n Array>|null;\n transform(input: Map, compareFn?: (a: KeyValue, b: KeyValue) => number):\n Array>;\n transform(\n input: Map|null,\n compareFn?: (a: KeyValue, b: KeyValue) => number): Array>|null;\n transform(\n input: null|{[key: string]: V, [key: number]: V}|Map,\n compareFn: (a: KeyValue, b: KeyValue) => number = defaultComparator):\n Array>|null {\n if (!input || (!(input instanceof Map) && typeof input !== 'object')) {\n return null;\n }\n\n if (!this.differ) {\n // make a differ for whatever type we've been passed in\n this.differ = this.differs.find(input).create();\n }\n\n const differChanges: KeyValueChanges|null = this.differ.diff(input as any);\n\n if (differChanges) {\n this.keyValues = [];\n differChanges.forEachItem((r: KeyValueChangeRecord) => {\n this.keyValues.push(makeKeyValuePair(r.key, r.currentValue!));\n });\n this.keyValues.sort(compareFn);\n }\n return this.keyValues;\n }\n}\n\nexport function defaultComparator(\n keyValueA: KeyValue, keyValueB: KeyValue): number {\n const a = keyValueA.key;\n const b = keyValueB.key;\n // if same exit with 0;\n if (a === b) return 0;\n // make sure that undefined are at the end of the sort.\n if (a === undefined) return 1;\n if (b === undefined) return -1;\n // make sure that nulls are at the end of the sort.\n if (a === null) return 1;\n if (b === null) return -1;\n if (typeof a == 'string' && typeof b == 'string') {\n return a < b ? -1 : 1;\n }\n if (typeof a == 'number' && typeof b == 'number') {\n return a - b;\n }\n if (typeof a == 'boolean' && typeof b == 'boolean') {\n return a < b ? -1 : 1;\n }\n // `a` and `b` are of different types. Compare their string values.\n const aString = String(a);\n const bString = String(b);\n return aString == bString ? 0 : aString < bString ? -1 : 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\nimport {DEFAULT_CURRENCY_CODE, Inject, LOCALE_ID, Pipe, PipeTransform} from '@angular/core';\nimport {formatCurrency, formatNumber, formatPercent} from '../i18n/format_number';\nimport {getCurrencySymbol} from '../i18n/locale_data_api';\n\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number into a string,\n * formatted according to locale rules that determine group sizing and\n * separator, decimal-point character, and other locale-specific\n * configurations.\n *\n * If no parameters are specified, the function rounds off to the nearest value using this\n * [rounding method](https://en.wikibooks.org/wiki/Arithmetic/Rounding).\n * The behavior differs from that of the JavaScript ```Math.round()``` function.\n * In the following case for example, the pipe rounds down where\n * ```Math.round()``` rounds up:\n *\n * ```html\n * -2.5 | number:'1.0-0'\n * > -3\n * Math.round(-2.5)\n * > -2\n * ```\n *\n * @see `formatNumber()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * ### Example\n *\n * \n *\n * @publicApi\n */\n@Pipe({name: 'number'})\nexport class DecimalPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private _locale: string) {}\n\n /**\n * @param value The number to be formatted.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `3`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n#setting-up-the-locale-of-your-app).\n */\n transform(value: any, digitsInfo?: string, locale?: string): string|null {\n if (isEmpty(value)) return null;\n\n locale = locale || this._locale;\n\n try {\n const num = strToNumber(value);\n return formatNumber(num, locale, digitsInfo);\n } catch (error) {\n throw invalidPipeArgumentError(DecimalPipe, error.message);\n }\n }\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a percentage\n * string, formatted according to locale rules that determine group sizing and\n * separator, decimal-point character, and other locale-specific\n * configurations.\n *\n * @see `formatPercent()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\n@Pipe({name: 'percent'})\nexport class PercentPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private _locale: string) {}\n\n /**\n *\n * @param value The number to be formatted as a percentage.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `0`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n#setting-up-the-locale-of-your-app).\n */\n transform(value: any, digitsInfo?: string, locale?: string): string|null {\n if (isEmpty(value)) return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatPercent(num, locale, digitsInfo);\n } catch (error) {\n throw invalidPipeArgumentError(PercentPipe, error.message);\n }\n }\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a currency string, formatted according to locale rules\n * that determine group sizing and separator, decimal-point character,\n * and other locale-specific configurations.\n *\n * {@a currency-code-deprecation}\n *
    \n *\n * **Deprecation notice:**\n *\n * The default currency code is currently always `USD` but this is deprecated from v9.\n *\n * **In v11 the default currency code will be taken from the current locale identified by\n * the `LOCAL_ID` token. See the [i18n guide](guide/i18n#setting-up-the-locale-of-your-app) for\n * more information.**\n *\n * If you need the previous behavior then set it by creating a `DEFAULT_CURRENCY_CODE` provider in\n * your application `NgModule`:\n *\n * ```ts\n * {provide: DEFAULT_CURRENCY_CODE, useValue: 'USD'}\n * ```\n *\n *
    \n *\n * @see `getCurrencySymbol()`\n * @see `formatCurrency()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\n@Pipe({name: 'currency'})\nexport class CurrencyPipe implements PipeTransform {\n constructor(\n @Inject(LOCALE_ID) private _locale: string,\n @Inject(DEFAULT_CURRENCY_CODE) private _defaultCurrencyCode: string = 'USD') {}\n\n /**\n *\n * @param value The number to be formatted as currency.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code,\n * such as `USD` for the US dollar and `EUR` for the euro. The default currency code can be\n * configured using the `DEFAULT_CURRENCY_CODE` injection token.\n * @param display The format for the currency indicator. One of the following:\n * - `code`: Show the code (such as `USD`).\n * - `symbol`(default): Show the symbol (such as `$`).\n * - `symbol-narrow`: Use the narrow symbol for locales that have two symbols for their\n * currency.\n * For example, the Canadian dollar CAD has the symbol `CA$` and the symbol-narrow `$`. If the\n * locale has no narrow symbol, uses the standard symbol for the locale.\n * - String: Use the given string value instead of a code or a symbol.\n * For example, an empty string will suppress the currency & symbol.\n * - Boolean (marked deprecated in v5): `true` for symbol and false for `code`.\n *\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `2`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `2`.\n * If not provided, the number will be formatted with the proper amount of digits,\n * depending on what the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) specifies.\n * For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n#setting-up-the-locale-of-your-app).\n */\n transform(\n value: any, currencyCode?: string,\n display: 'code'|'symbol'|'symbol-narrow'|string|boolean = 'symbol', digitsInfo?: string,\n locale?: string): string|null {\n if (isEmpty(value)) return null;\n\n locale = locale || this._locale;\n\n if (typeof display === 'boolean') {\n if (console && console.warn) {\n console.warn(\n `Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are \"code\", \"symbol\" or \"symbol-narrow\".`);\n }\n display = display ? 'symbol' : 'code';\n }\n\n let currency: string = currencyCode || this._defaultCurrencyCode;\n if (display !== 'code') {\n if (display === 'symbol' || display === 'symbol-narrow') {\n currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);\n } else {\n currency = display;\n }\n }\n\n try {\n const num = strToNumber(value);\n return formatCurrency(num, locale, currency, currencyCode, digitsInfo);\n } catch (error) {\n throw invalidPipeArgumentError(CurrencyPipe, error.message);\n }\n }\n}\n\nfunction isEmpty(value: any): boolean {\n return value == null || value === '' || value !== value;\n}\n\n/**\n * Transforms a string into a number (if needed).\n */\nfunction strToNumber(value: number|string): number {\n // Convert strings to numbers\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n return value;\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 {Pipe, PipeTransform} from '@angular/core';\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Creates a new `Array` or `String` containing a subset (slice) of the elements.\n *\n * @usageNotes\n *\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\n * and `String.prototype.slice()`.\n *\n * When operating on an `Array`, the returned `Array` is always a copy even when all\n * the elements are being returned.\n *\n * When operating on a blank value, the pipe returns the blank value.\n *\n * ### List Example\n *\n * This `ngFor` example:\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\n *\n * produces the following:\n *\n * ```html\n *
  • b
  • \n *
  • c
  • \n * ```\n *\n * ### String Examples\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}\n *\n * @publicApi\n */\n@Pipe({name: 'slice', pure: false})\nexport class SlicePipe implements PipeTransform {\n /**\n * @param value a list or a string to be sliced.\n * @param start the starting index of the subset to return:\n * - **a positive integer**: return the item at `start` index and all items after\n * in the list or string expression.\n * - **a negative integer**: return the item at `start` index from the end and all items after\n * in the list or string expression.\n * - **if positive and greater than the size of the expression**: return an empty list or\n * string.\n * - **if negative and greater than the size of the expression**: return entire list or string.\n * @param end the ending index of the subset to return:\n * - **omitted**: return all items until the end.\n * - **if positive**: return all items before `end` index of the list or string.\n * - **if negative**: return all items before `end` index from the end of the list or string.\n */\n transform(value: ReadonlyArray, start: number, end?: number): Array;\n transform(value: string, start: number, end?: number): string;\n transform(value: null, start: number, end?: number): null;\n transform(value: undefined, start: number, end?: number): undefined;\n transform(value: any, start: number, end?: number): any {\n if (value == null) return value;\n\n if (!this.supports(value)) {\n throw invalidPipeArgumentError(SlicePipe, value);\n }\n\n return value.slice(start, end);\n }\n\n private supports(obj: any): boolean {\n return typeof obj === 'string' || Array.isArray(obj);\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/**\n * @module\n * @description\n * This module provides a set of common Pipes.\n */\nimport {AsyncPipe} from './async_pipe';\nimport {LowerCasePipe, TitleCasePipe, UpperCasePipe} from './case_conversion_pipes';\nimport {DatePipe} from './date_pipe';\nimport {I18nPluralPipe} from './i18n_plural_pipe';\nimport {I18nSelectPipe} from './i18n_select_pipe';\nimport {JsonPipe} from './json_pipe';\nimport {KeyValue, KeyValuePipe} from './keyvalue_pipe';\nimport {CurrencyPipe, DecimalPipe, PercentPipe} from './number_pipe';\nimport {SlicePipe} from './slice_pipe';\n\nexport {\n AsyncPipe,\n CurrencyPipe,\n DatePipe,\n DecimalPipe,\n I18nPluralPipe,\n I18nSelectPipe,\n JsonPipe,\n KeyValue,\n KeyValuePipe,\n LowerCasePipe,\n PercentPipe,\n SlicePipe,\n TitleCasePipe,\n UpperCasePipe,\n};\n\n\n/**\n * A collection of Angular pipes that are likely to be used in each and every application.\n */\nexport const COMMON_PIPES = [\n AsyncPipe,\n UpperCasePipe,\n LowerCasePipe,\n JsonPipe,\n SlicePipe,\n DecimalPipe,\n PercentPipe,\n TitleCasePipe,\n CurrencyPipe,\n DatePipe,\n I18nPluralPipe,\n I18nSelectPipe,\n KeyValuePipe,\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 {COMMON_DIRECTIVES} from './directives/index';\nimport {NgLocaleLocalization, NgLocalization} from './i18n/localization';\nimport {COMMON_PIPES} from './pipes/index';\n\n\n// Note: This does not contain the location providers,\n// as they need some platform specific implementations to work.\n/**\n * Exports all the basic Angular directives and pipes,\n * such as `NgIf`, `NgForOf`, `DecimalPipe`, and so on.\n * Re-exported by `BrowserModule`, which is included automatically in the root\n * `AppModule` when you create a new app with the CLI `new` command.\n *\n * * The `providers` options configure the NgModule's injector to provide\n * localization dependencies to members.\n * * The `exports` options make the declared directives and pipes available for import\n * by other NgModules.\n *\n * @publicApi\n */\n@NgModule({\n declarations: [COMMON_DIRECTIVES, COMMON_PIPES],\n exports: [COMMON_DIRECTIVES, COMMON_PIPES],\n providers: [\n {provide: NgLocalization, useClass: NgLocaleLocalization},\n ],\n})\nexport class CommonModule {\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 const PLATFORM_BROWSER_ID = 'browser';\nexport const PLATFORM_SERVER_ID = 'server';\nexport const PLATFORM_WORKER_APP_ID = 'browserWorkerApp';\nexport const PLATFORM_WORKER_UI_ID = 'browserWorkerUi';\n\n/**\n * Returns whether a platform id represents a browser platform.\n * @publicApi\n */\nexport function isPlatformBrowser(platformId: Object): boolean {\n return platformId === PLATFORM_BROWSER_ID;\n}\n\n/**\n * Returns whether a platform id represents a server platform.\n * @publicApi\n */\nexport function isPlatformServer(platformId: Object): boolean {\n return platformId === PLATFORM_SERVER_ID;\n}\n\n/**\n * Returns whether a platform id represents a web worker app platform.\n * @publicApi\n */\nexport function isPlatformWorkerApp(platformId: Object): boolean {\n return platformId === PLATFORM_WORKER_APP_ID;\n}\n\n/**\n * Returns whether a platform id represents a web worker UI platform.\n * @publicApi\n */\nexport function isPlatformWorkerUi(platformId: Object): boolean {\n return platformId === PLATFORM_WORKER_UI_ID;\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/**\n * @module\n * @description\n * Entry point for all public APIs of the common package.\n */\n\nimport {Version} from '@angular/core';\n\n/**\n * @publicApi\n */\nexport const VERSION = new Version('10.0.4');\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 {ErrorHandler, ɵɵdefineInjectable, ɵɵinject} from '@angular/core';\n\nimport {DOCUMENT} from './dom_tokens';\n\n\n\n/**\n * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.\n *\n * @publicApi\n */\nexport abstract class ViewportScroller {\n // De-sugared tree-shakable injection\n // See #23917\n /** @nocollapse */\n static ɵprov = ɵɵdefineInjectable({\n token: ViewportScroller,\n providedIn: 'root',\n factory: () => new BrowserViewportScroller(ɵɵinject(DOCUMENT), window, ɵɵinject(ErrorHandler))\n });\n\n /**\n * Configures the top offset used when scrolling to an anchor.\n * @param offset A position in screen coordinates (a tuple with x and y values)\n * or a function that returns the top offset position.\n *\n */\n abstract setOffset(offset: [number, number]|(() => [number, number])): void;\n\n /**\n * Retrieves the current scroll position.\n * @returns A position in screen coordinates (a tuple with x and y values).\n */\n abstract getScrollPosition(): [number, number];\n\n /**\n * Scrolls to a specified position.\n * @param position A position in screen coordinates (a tuple with x and y values).\n */\n abstract scrollToPosition(position: [number, number]): void;\n\n /**\n * Scrolls to an anchor element.\n * @param anchor The ID of the anchor element.\n */\n abstract scrollToAnchor(anchor: string): void;\n\n /**\n * Disables automatic scroll restoration provided by the browser.\n * See also [window.history.scrollRestoration\n * info](https://developers.google.com/web/updates/2015/09/history-api-scroll-restoration).\n */\n abstract setHistoryScrollRestoration(scrollRestoration: 'auto'|'manual'): void;\n}\n\n/**\n * Manages the scroll position for a browser window.\n */\nexport class BrowserViewportScroller implements ViewportScroller {\n private offset: () => [number, number] = () => [0, 0];\n\n constructor(private document: any, private window: any, private errorHandler: ErrorHandler) {}\n\n /**\n * Configures the top offset used when scrolling to an anchor.\n * @param offset A position in screen coordinates (a tuple with x and y values)\n * or a function that returns the top offset position.\n *\n */\n setOffset(offset: [number, number]|(() => [number, number])): void {\n if (Array.isArray(offset)) {\n this.offset = () => offset;\n } else {\n this.offset = offset;\n }\n }\n\n /**\n * Retrieves the current scroll position.\n * @returns The position in screen coordinates.\n */\n getScrollPosition(): [number, number] {\n if (this.supportScrollRestoration()) {\n return [this.window.scrollX, this.window.scrollY];\n } else {\n return [0, 0];\n }\n }\n\n /**\n * Sets the scroll position.\n * @param position The new position in screen coordinates.\n */\n scrollToPosition(position: [number, number]): void {\n if (this.supportScrollRestoration()) {\n this.window.scrollTo(position[0], position[1]);\n }\n }\n\n /**\n * Scrolls to an anchor element.\n * @param anchor The ID of the anchor element.\n */\n scrollToAnchor(anchor: string): void {\n if (this.supportScrollRestoration()) {\n // Escape anything passed to `querySelector` as it can throw errors and stop the application\n // from working if invalid values are passed.\n if (this.window.CSS && this.window.CSS.escape) {\n anchor = this.window.CSS.escape(anchor);\n } else {\n anchor = anchor.replace(/(\\\"|\\'\\ |:|\\.|\\[|\\]|,|=)/g, '\\\\$1');\n }\n try {\n const elSelectedById = this.document.querySelector(`#${anchor}`);\n if (elSelectedById) {\n this.scrollToElement(elSelectedById);\n return;\n }\n const elSelectedByName = this.document.querySelector(`[name='${anchor}']`);\n if (elSelectedByName) {\n this.scrollToElement(elSelectedByName);\n return;\n }\n } catch (e) {\n this.errorHandler.handleError(e);\n }\n }\n }\n\n /**\n * Disables automatic scroll restoration provided by the browser.\n */\n setHistoryScrollRestoration(scrollRestoration: 'auto'|'manual'): void {\n if (this.supportScrollRestoration()) {\n const history = this.window.history;\n if (history && history.scrollRestoration) {\n history.scrollRestoration = scrollRestoration;\n }\n }\n }\n\n private scrollToElement(el: any): void {\n const rect = el.getBoundingClientRect();\n const left = rect.left + this.window.pageXOffset;\n const top = rect.top + this.window.pageYOffset;\n const offset = this.offset();\n this.window.scrollTo(left - offset[0], top - offset[1]);\n }\n\n /**\n * We only support scroll restoration when we can get a hold of window.\n * This means that we do not support this behavior when running in a web worker.\n *\n * Lifting this restriction right now would require more changes in the dom adapter.\n * Since webworkers aren't widely used, we will lift it once RouterScroller is\n * battle-tested.\n */\n private supportScrollRestoration(): boolean {\n try {\n return !!this.window && !!this.window.scrollTo;\n } catch {\n return false;\n }\n }\n}\n\n\n/**\n * Provides an empty implementation of the viewport scroller. This will\n * live in @angular/common as it will be used by both platform-server and platform-webworker.\n */\nexport class NullViewportScroller implements ViewportScroller {\n /**\n * Empty implementation\n */\n setOffset(offset: [number, number]|(() => [number, number])): void {}\n\n /**\n * Empty implementation\n */\n getScrollPosition(): [number, number] {\n return [0, 0];\n }\n\n /**\n * Empty implementation\n */\n scrollToPosition(position: [number, number]): void {}\n\n /**\n * Empty implementation\n */\n scrollToAnchor(anchor: string): void {}\n\n /**\n * Empty implementation\n */\n setHistoryScrollRestoration(scrollRestoration: 'auto'|'manual'): 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\n/**\n * @module\n * @description\n * Entry point for all public APIs of the common package.\n */\nexport * from './private_export';\nexport * from './location/index';\nexport {formatDate} from './i18n/format_date';\nexport {formatCurrency, formatNumber, formatPercent} from './i18n/format_number';\nexport {NgLocaleLocalization, NgLocalization} from './i18n/localization';\nexport {registerLocaleData} from './i18n/locale_data';\nexport {Plural, NumberFormatStyle, FormStyle, Time, TranslationWidth, FormatWidth, NumberSymbol, WeekDay, getNumberOfCurrencyDigits, getCurrencySymbol, getLocaleDayPeriods, getLocaleDayNames, getLocaleMonthNames, getLocaleId, getLocaleEraNames, getLocaleWeekEndRange, getLocaleFirstDayOfWeek, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocalePluralCase, getLocaleTimeFormat, getLocaleNumberSymbol, getLocaleNumberFormat, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDirection} from './i18n/locale_data_api';\nexport {parseCookieValue as ɵparseCookieValue} from './cookie';\nexport {CommonModule} from './common_module';\nexport {NgClass, NgForOf, NgForOfContext, NgIf, NgIfContext, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NgComponentOutlet} from './directives/index';\nexport {DOCUMENT} from './dom_tokens';\nexport {AsyncPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, JsonPipe, LowerCasePipe, CurrencyPipe, DecimalPipe, PercentPipe, SlicePipe, UpperCasePipe, TitleCasePipe, KeyValuePipe, KeyValue} from './pipes/index';\nexport {PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi} from './platform_id';\nexport {VERSION} from './version';\nexport {ViewportScroller, NullViewportScroller as ɵNullViewportScroller} from './viewport_scroller';\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 * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/common';\n\n// This file only reexports content of the `src` folder. Keep it that way.\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 not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {COMMON_DIRECTIVES as ɵangular_packages_common_common_e} from './src/directives/index';\nexport {createLocation as ɵangular_packages_common_common_c} from './src/location/location';\nexport {provideLocationStrategy as ɵangular_packages_common_common_d} from './src/location/location_strategy';\nexport {createBrowserPlatformLocation as ɵangular_packages_common_common_b,useBrowserPlatformLocation as ɵangular_packages_common_common_a} from './src/location/platform_location';\nexport {COMMON_PIPES as ɵangular_packages_common_common_f} from './src/pipes/index';","/**\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 {HttpRequest} from './request';\nimport {HttpEvent} from './response';\n\n/**\n * Transforms an `HttpRequest` into a stream of `HttpEvent`s, one of which will likely be a\n * `HttpResponse`.\n *\n * `HttpHandler` is injectable. When injected, the handler instance dispatches requests to the\n * first interceptor in the chain, which dispatches to the second, etc, eventually reaching the\n * `HttpBackend`.\n *\n * In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain.\n *\n * @publicApi\n */\nexport abstract class HttpHandler {\n abstract handle(req: HttpRequest): Observable>;\n}\n\n/**\n * A final `HttpHandler` which will dispatch the request via browser HTTP APIs to a backend.\n *\n * Interceptors sit between the `HttpClient` interface and the `HttpBackend`.\n *\n * When injected, `HttpBackend` dispatches requests directly to the backend, without going\n * through the interceptor chain.\n *\n * @publicApi\n */\nexport abstract class HttpBackend implements HttpHandler {\n abstract handle(req: HttpRequest): 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\ninterface Update {\n name: string;\n value?: string|string[];\n op: 'a'|'s'|'d';\n}\n\n/**\n * Represents the header configuration options for an HTTP request.\n * Instances are immutable. Modifying methods return a cloned\n * instance with the change. The original object is never changed.\n *\n * @publicApi\n */\nexport class HttpHeaders {\n /**\n * Internal map of lowercase header names to values.\n */\n // TODO(issue/24571): remove '!'.\n private headers!: Map;\n\n\n /**\n * Internal map of lowercased header names to the normalized\n * form of the name (the form seen first).\n */\n private normalizedNames: Map = new Map();\n\n /**\n * Complete the lazy initialization of this object (needed before reading).\n */\n private lazyInit!: HttpHeaders|Function|null;\n\n /**\n * Queued updates to be materialized the next initialization.\n */\n private lazyUpdate: Update[]|null = null;\n\n /** Constructs a new HTTP header object with the given values.*/\n\n constructor(headers?: string|{[name: string]: string | string[]}) {\n if (!headers) {\n this.headers = new Map();\n } else if (typeof headers === 'string') {\n this.lazyInit = () => {\n this.headers = new Map();\n headers.split('\\n').forEach(line => {\n const index = line.indexOf(':');\n if (index > 0) {\n const name = line.slice(0, index);\n const key = name.toLowerCase();\n const value = line.slice(index + 1).trim();\n this.maybeSetNormalizedName(name, key);\n if (this.headers.has(key)) {\n this.headers.get(key)!.push(value);\n } else {\n this.headers.set(key, [value]);\n }\n }\n });\n };\n } else {\n this.lazyInit = () => {\n this.headers = new Map();\n Object.keys(headers).forEach(name => {\n let values: string|string[] = headers[name];\n const key = name.toLowerCase();\n if (typeof values === 'string') {\n values = [values];\n }\n if (values.length > 0) {\n this.headers.set(key, values);\n this.maybeSetNormalizedName(name, key);\n }\n });\n };\n }\n }\n\n /**\n * Checks for existence of a given header.\n *\n * @param name The header name to check for existence.\n *\n * @returns True if the header exists, false otherwise.\n */\n has(name: string): boolean {\n this.init();\n\n return this.headers.has(name.toLowerCase());\n }\n\n /**\n * Retrieves the first value of a given header.\n *\n * @param name The header name.\n *\n * @returns The value string if the header exists, null otherwise\n */\n get(name: string): string|null {\n this.init();\n\n const values = this.headers.get(name.toLowerCase());\n return values && values.length > 0 ? values[0] : null;\n }\n\n /**\n * Retrieves the names of the headers.\n *\n * @returns A list of header names.\n */\n keys(): string[] {\n this.init();\n\n return Array.from(this.normalizedNames.values());\n }\n\n /**\n * Retrieves a list of values for a given header.\n *\n * @param name The header name from which to retrieve values.\n *\n * @returns A string of values if the header exists, null otherwise.\n */\n getAll(name: string): string[]|null {\n this.init();\n\n return this.headers.get(name.toLowerCase()) || null;\n }\n\n /**\n * Appends a new value to the existing set of values for a header\n * and returns them in a clone of the original instance.\n *\n * @param name The header name for which to append the values.\n * @param value The value to append.\n *\n * @returns A clone of the HTTP headers object with the value appended to the given header.\n */\n\n append(name: string, value: string|string[]): HttpHeaders {\n return this.clone({name, value, op: 'a'});\n }\n /**\n * Sets or modifies a value for a given header in a clone of the original instance.\n * If the header already exists, its value is replaced with the given value\n * in the returned object.\n *\n * @param name The header name.\n * @param value The value or values to set or overide for the given header.\n *\n * @returns A clone of the HTTP headers object with the newly set header value.\n */\n set(name: string, value: string|string[]): HttpHeaders {\n return this.clone({name, value, op: 's'});\n }\n /**\n * Deletes values for a given header in a clone of the original instance.\n *\n * @param name The header name.\n * @param value The value or values to delete for the given header.\n *\n * @returns A clone of the HTTP headers object with the given value deleted.\n */\n delete(name: string, value?: string|string[]): HttpHeaders {\n return this.clone({name, value, op: 'd'});\n }\n\n private maybeSetNormalizedName(name: string, lcName: string): void {\n if (!this.normalizedNames.has(lcName)) {\n this.normalizedNames.set(lcName, name);\n }\n }\n\n private init(): void {\n if (!!this.lazyInit) {\n if (this.lazyInit instanceof HttpHeaders) {\n this.copyFrom(this.lazyInit);\n } else {\n this.lazyInit();\n }\n this.lazyInit = null;\n if (!!this.lazyUpdate) {\n this.lazyUpdate.forEach(update => this.applyUpdate(update));\n this.lazyUpdate = null;\n }\n }\n }\n\n private copyFrom(other: HttpHeaders) {\n other.init();\n Array.from(other.headers.keys()).forEach(key => {\n this.headers.set(key, other.headers.get(key)!);\n this.normalizedNames.set(key, other.normalizedNames.get(key)!);\n });\n }\n\n private clone(update: Update): HttpHeaders {\n const clone = new HttpHeaders();\n clone.lazyInit =\n (!!this.lazyInit && this.lazyInit instanceof HttpHeaders) ? this.lazyInit : this;\n clone.lazyUpdate = (this.lazyUpdate || []).concat([update]);\n return clone;\n }\n\n private applyUpdate(update: Update): void {\n const key = update.name.toLowerCase();\n switch (update.op) {\n case 'a':\n case 's':\n let value = update.value!;\n if (typeof value === 'string') {\n value = [value];\n }\n if (value.length === 0) {\n return;\n }\n this.maybeSetNormalizedName(update.name, key);\n const base = (update.op === 'a' ? this.headers.get(key) : undefined) || [];\n base.push(...value);\n this.headers.set(key, base);\n break;\n case 'd':\n const toDelete = update.value as string | undefined;\n if (!toDelete) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n } else {\n let existing = this.headers.get(key);\n if (!existing) {\n return;\n }\n existing = existing.filter(value => toDelete.indexOf(value) === -1);\n if (existing.length === 0) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n } else {\n this.headers.set(key, existing);\n }\n }\n break;\n }\n }\n\n /**\n * @internal\n */\n forEach(fn: (name: string, values: string[]) => void) {\n this.init();\n Array.from(this.normalizedNames.keys())\n .forEach(key => fn(this.normalizedNames.get(key)!, this.headers.get(key)!));\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/**\n * A codec for encoding and decoding parameters in URLs.\n *\n * Used by `HttpParams`.\n *\n * @publicApi\n **/\nexport interface HttpParameterCodec {\n encodeKey(key: string): string;\n encodeValue(value: string): string;\n\n decodeKey(key: string): string;\n decodeValue(value: string): string;\n}\n\n/**\n * Provides encoding and decoding of URL parameter and query-string values.\n *\n * Serializes and parses URL parameter keys and values to encode and decode them.\n * If you pass URL query parameters without encoding,\n * the query parameters can be misinterpreted at the receiving end.\n *\n *\n * @publicApi\n */\nexport class HttpUrlEncodingCodec implements HttpParameterCodec {\n /**\n * Encodes a key name for a URL parameter or query-string.\n * @param key The key name.\n * @returns The encoded key name.\n */\n encodeKey(key: string): string {\n return standardEncoding(key);\n }\n\n /**\n * Encodes the value of a URL parameter or query-string.\n * @param value The value.\n * @returns The encoded value.\n */\n encodeValue(value: string): string {\n return standardEncoding(value);\n }\n\n /**\n * Decodes an encoded URL parameter or query-string key.\n * @param key The encoded key name.\n * @returns The decoded key name.\n */\n decodeKey(key: string): string {\n return decodeURIComponent(key);\n }\n\n /**\n * Decodes an encoded URL parameter or query-string value.\n * @param value The encoded value.\n * @returns The decoded value.\n */\n decodeValue(value: string) {\n return decodeURIComponent(value);\n }\n}\n\n\nfunction paramParser(rawParams: string, codec: HttpParameterCodec): Map {\n const map = new Map();\n if (rawParams.length > 0) {\n const params: string[] = rawParams.split('&');\n params.forEach((param: string) => {\n const eqIdx = param.indexOf('=');\n const [key, val]: string[] = eqIdx == -1 ?\n [codec.decodeKey(param), ''] :\n [codec.decodeKey(param.slice(0, eqIdx)), codec.decodeValue(param.slice(eqIdx + 1))];\n const list = map.get(key) || [];\n list.push(val);\n map.set(key, list);\n });\n }\n return map;\n}\nfunction standardEncoding(v: string): string {\n return encodeURIComponent(v)\n .replace(/%40/gi, '@')\n .replace(/%3A/gi, ':')\n .replace(/%24/gi, '$')\n .replace(/%2C/gi, ',')\n .replace(/%3B/gi, ';')\n .replace(/%2B/gi, '+')\n .replace(/%3D/gi, '=')\n .replace(/%3F/gi, '?')\n .replace(/%2F/gi, '/');\n}\n\ninterface Update {\n param: string;\n value?: string;\n op: 'a'|'d'|'s';\n}\n\n/**\n * Options used to construct an `HttpParams` instance.\n *\n * @publicApi\n */\nexport interface HttpParamsOptions {\n /**\n * String representation of the HTTP parameters in URL-query-string format.\n * Mutually exclusive with `fromObject`.\n */\n fromString?: string;\n\n /** Object map of the HTTP parameters. Mutually exclusive with `fromString`. */\n fromObject?: {[param: string]: string|ReadonlyArray};\n\n /** Encoding codec used to parse and serialize the parameters. */\n encoder?: HttpParameterCodec;\n}\n\n/**\n * An HTTP request/response body that represents serialized parameters,\n * per the MIME type `application/x-www-form-urlencoded`.\n *\n * This class is immutable; all mutation operations return a new instance.\n *\n * @publicApi\n */\nexport class HttpParams {\n private map: Map|null;\n private encoder: HttpParameterCodec;\n private updates: Update[]|null = null;\n private cloneFrom: HttpParams|null = null;\n\n constructor(options: HttpParamsOptions = {} as HttpParamsOptions) {\n this.encoder = options.encoder || new HttpUrlEncodingCodec();\n if (!!options.fromString) {\n if (!!options.fromObject) {\n throw new Error(`Cannot specify both fromString and fromObject.`);\n }\n this.map = paramParser(options.fromString, this.encoder);\n } else if (!!options.fromObject) {\n this.map = new Map();\n Object.keys(options.fromObject).forEach(key => {\n const value = (options.fromObject as any)[key];\n this.map!.set(key, Array.isArray(value) ? value : [value]);\n });\n } else {\n this.map = null;\n }\n }\n\n /**\n * Reports whether the body includes one or more values for a given parameter.\n * @param param The parameter name.\n * @returns True if the parameter has one or more values,\n * false if it has no value or is not present.\n */\n has(param: string): boolean {\n this.init();\n return this.map!.has(param);\n }\n\n /**\n * Retrieves the first value for a parameter.\n * @param param The parameter name.\n * @returns The first value of the given parameter,\n * or `null` if the parameter is not present.\n */\n get(param: string): string|null {\n this.init();\n const res = this.map!.get(param);\n return !!res ? res[0] : null;\n }\n\n /**\n * Retrieves all values for a parameter.\n * @param param The parameter name.\n * @returns All values in a string array,\n * or `null` if the parameter not present.\n */\n getAll(param: string): string[]|null {\n this.init();\n return this.map!.get(param) || null;\n }\n\n /**\n * Retrieves all the parameters for this body.\n * @returns The parameter names in a string array.\n */\n keys(): string[] {\n this.init();\n return Array.from(this.map!.keys());\n }\n\n /**\n * Appends a new value to existing values for a parameter.\n * @param param The parameter name.\n * @param value The new value to add.\n * @return A new body with the appended value.\n */\n append(param: string, value: string): HttpParams {\n return this.clone({param, value, op: 'a'});\n }\n\n /**\n * Replaces the value for a parameter.\n * @param param The parameter name.\n * @param value The new value.\n * @return A new body with the new value.\n */\n set(param: string, value: string): HttpParams {\n return this.clone({param, value, op: 's'});\n }\n\n /**\n * Removes a given value or all values from a parameter.\n * @param param The parameter name.\n * @param value The value to remove, if provided.\n * @return A new body with the given value removed, or with all values\n * removed if no value is specified.\n */\n delete(param: string, value?: string): HttpParams {\n return this.clone({param, value, op: 'd'});\n }\n\n /**\n * Serializes the body to an encoded string, where key-value pairs (separated by `=`) are\n * separated by `&`s.\n */\n toString(): string {\n this.init();\n return this.keys()\n .map(key => {\n const eKey = this.encoder.encodeKey(key);\n // `a: ['1']` produces `'a=1'`\n // `b: []` produces `''`\n // `c: ['1', '2']` produces `'c=1&c=2'`\n return this.map!.get(key)!.map(value => eKey + '=' + this.encoder.encodeValue(value))\n .join('&');\n })\n // filter out empty values because `b: []` produces `''`\n // which results in `a=1&&c=1&c=2` instead of `a=1&c=1&c=2` if we don't\n .filter(param => param !== '')\n .join('&');\n }\n\n private clone(update: Update): HttpParams {\n const clone = new HttpParams({encoder: this.encoder} as HttpParamsOptions);\n clone.cloneFrom = this.cloneFrom || this;\n clone.updates = (this.updates || []).concat([update]);\n return clone;\n }\n\n private init() {\n if (this.map === null) {\n this.map = new Map();\n }\n if (this.cloneFrom !== null) {\n this.cloneFrom.init();\n this.cloneFrom.keys().forEach(key => this.map!.set(key, this.cloneFrom!.map!.get(key)!));\n this.updates!.forEach(update => {\n switch (update.op) {\n case 'a':\n case 's':\n const base = (update.op === 'a' ? this.map!.get(update.param) : undefined) || [];\n base.push(update.value!);\n this.map!.set(update.param, base);\n break;\n case 'd':\n if (update.value !== undefined) {\n let base = this.map!.get(update.param) || [];\n const idx = base.indexOf(update.value);\n if (idx !== -1) {\n base.splice(idx, 1);\n }\n if (base.length > 0) {\n this.map!.set(update.param, base);\n } else {\n this.map!.delete(update.param);\n }\n } else {\n this.map!.delete(update.param);\n break;\n }\n }\n });\n this.cloneFrom = this.updates = null;\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\nimport {HttpHeaders} from './headers';\nimport {HttpParams} from './params';\n\n/**\n * Construction interface for `HttpRequest`s.\n *\n * All values are optional and will override default values if provided.\n */\ninterface HttpRequestInit {\n headers?: HttpHeaders;\n reportProgress?: boolean;\n params?: HttpParams;\n responseType?: 'arraybuffer'|'blob'|'json'|'text';\n withCredentials?: boolean;\n}\n\n/**\n * Determine whether the given HTTP method may include a body.\n */\nfunction mightHaveBody(method: string): boolean {\n switch (method) {\n case 'DELETE':\n case 'GET':\n case 'HEAD':\n case 'OPTIONS':\n case 'JSONP':\n return false;\n default:\n return true;\n }\n}\n\n/**\n * Safely assert whether the given value is an ArrayBuffer.\n *\n * In some execution environments ArrayBuffer is not defined.\n */\nfunction isArrayBuffer(value: any): value is ArrayBuffer {\n return typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer;\n}\n\n/**\n * Safely assert whether the given value is a Blob.\n *\n * In some execution environments Blob is not defined.\n */\nfunction isBlob(value: any): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\n/**\n * Safely assert whether the given value is a FormData instance.\n *\n * In some execution environments FormData is not defined.\n */\nfunction isFormData(value: any): value is FormData {\n return typeof FormData !== 'undefined' && value instanceof FormData;\n}\n\n/**\n * An outgoing HTTP request with an optional typed body.\n *\n * `HttpRequest` represents an outgoing request, including URL, method,\n * headers, body, and other request configuration options. Instances should be\n * assumed to be immutable. To modify a `HttpRequest`, the `clone`\n * method should be used.\n *\n * @publicApi\n */\nexport class HttpRequest {\n /**\n * The request body, or `null` if one isn't set.\n *\n * Bodies are not enforced to be immutable, as they can include a reference to any\n * user-defined data type. However, interceptors should take care to preserve\n * idempotence by treating them as such.\n */\n readonly body: T|null = null;\n\n /**\n * Outgoing headers for this request.\n */\n // TODO(issue/24571): remove '!'.\n readonly headers!: HttpHeaders;\n\n /**\n * Whether this request should be made in a way that exposes progress events.\n *\n * Progress events are expensive (change detection runs on each event) and so\n * they should only be requested if the consumer intends to monitor them.\n */\n readonly reportProgress: boolean = false;\n\n /**\n * Whether this request should be sent with outgoing credentials (cookies).\n */\n readonly withCredentials: boolean = false;\n\n /**\n * The expected response type of the server.\n *\n * This is used to parse the response appropriately before returning it to\n * the requestee.\n */\n readonly responseType: 'arraybuffer'|'blob'|'json'|'text' = 'json';\n\n /**\n * The outgoing HTTP request method.\n */\n readonly method: string;\n\n /**\n * Outgoing URL parameters.\n */\n // TODO(issue/24571): remove '!'.\n readonly params!: HttpParams;\n\n /**\n * The outgoing URL with all URL parameters set.\n */\n readonly urlWithParams: string;\n\n constructor(method: 'DELETE'|'GET'|'HEAD'|'JSONP'|'OPTIONS', url: string, init?: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n });\n constructor(method: 'POST'|'PUT'|'PATCH', url: string, body: T|null, init?: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n });\n constructor(method: string, url: string, body: T|null, init?: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n });\n constructor(\n method: string, readonly url: string, third?: T|{\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n }|null,\n fourth?: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n }) {\n this.method = method.toUpperCase();\n // Next, need to figure out which argument holds the HttpRequestInit\n // options, if any.\n let options: HttpRequestInit|undefined;\n\n // Check whether a body argument is expected. The only valid way to omit\n // the body argument is to use a known no-body method like GET.\n if (mightHaveBody(this.method) || !!fourth) {\n // Body is the third argument, options are the fourth.\n this.body = (third !== undefined) ? third as T : null;\n options = fourth;\n } else {\n // No body required, options are the third argument. The body stays null.\n options = third as HttpRequestInit;\n }\n\n // If options have been passed, interpret them.\n if (options) {\n // Normalize reportProgress and withCredentials.\n this.reportProgress = !!options.reportProgress;\n this.withCredentials = !!options.withCredentials;\n\n // Override default response type of 'json' if one is provided.\n if (!!options.responseType) {\n this.responseType = options.responseType;\n }\n\n // Override headers if they're provided.\n if (!!options.headers) {\n this.headers = options.headers;\n }\n\n if (!!options.params) {\n this.params = options.params;\n }\n }\n\n // If no headers have been passed in, construct a new HttpHeaders instance.\n if (!this.headers) {\n this.headers = new HttpHeaders();\n }\n\n // If no parameters have been passed in, construct a new HttpUrlEncodedParams instance.\n if (!this.params) {\n this.params = new HttpParams();\n this.urlWithParams = url;\n } else {\n // Encode the parameters to a string in preparation for inclusion in the URL.\n const params = this.params.toString();\n if (params.length === 0) {\n // No parameters, the visible URL is just the URL given at creation time.\n this.urlWithParams = url;\n } else {\n // Does the URL already have query parameters? Look for '?'.\n const qIdx = url.indexOf('?');\n // There are 3 cases to handle:\n // 1) No existing parameters -> append '?' followed by params.\n // 2) '?' exists and is followed by existing query string ->\n // append '&' followed by params.\n // 3) '?' exists at the end of the url -> append params directly.\n // This basically amounts to determining the character, if any, with\n // which to join the URL and parameters.\n const sep: string = qIdx === -1 ? '?' : (qIdx < url.length - 1 ? '&' : '');\n this.urlWithParams = url + sep + params;\n }\n }\n }\n\n /**\n * Transform the free-form body into a serialized format suitable for\n * transmission to the server.\n */\n serializeBody(): ArrayBuffer|Blob|FormData|string|null {\n // If no body is present, no need to serialize it.\n if (this.body === null) {\n return null;\n }\n // Check whether the body is already in a serialized form. If so,\n // it can just be returned directly.\n if (isArrayBuffer(this.body) || isBlob(this.body) || isFormData(this.body) ||\n typeof this.body === 'string') {\n return this.body;\n }\n // Check whether the body is an instance of HttpUrlEncodedParams.\n if (this.body instanceof HttpParams) {\n return this.body.toString();\n }\n // Check whether the body is an object or array, and serialize with JSON if so.\n if (typeof this.body === 'object' || typeof this.body === 'boolean' ||\n Array.isArray(this.body)) {\n return JSON.stringify(this.body);\n }\n // Fall back on toString() for everything else.\n return (this.body as any).toString();\n }\n\n /**\n * Examine the body and attempt to infer an appropriate MIME type\n * for it.\n *\n * If no such type can be inferred, this method will return `null`.\n */\n detectContentTypeHeader(): string|null {\n // An empty body has no content type.\n if (this.body === null) {\n return null;\n }\n // FormData bodies rely on the browser's content type assignment.\n if (isFormData(this.body)) {\n return null;\n }\n // Blobs usually have their own content type. If it doesn't, then\n // no type can be inferred.\n if (isBlob(this.body)) {\n return this.body.type || null;\n }\n // Array buffers have unknown contents and thus no type can be inferred.\n if (isArrayBuffer(this.body)) {\n return null;\n }\n // Technically, strings could be a form of JSON data, but it's safe enough\n // to assume they're plain strings.\n if (typeof this.body === 'string') {\n return 'text/plain';\n }\n // `HttpUrlEncodedParams` has its own content-type.\n if (this.body instanceof HttpParams) {\n return 'application/x-www-form-urlencoded;charset=UTF-8';\n }\n // Arrays, objects, and numbers will be encoded as JSON.\n if (typeof this.body === 'object' || typeof this.body === 'number' ||\n Array.isArray(this.body)) {\n return 'application/json';\n }\n // No type could be inferred.\n return null;\n }\n\n clone(): HttpRequest;\n clone(update: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n body?: T|null,\n method?: string,\n url?: string,\n setHeaders?: {[name: string]: string|string[]},\n setParams?: {[param: string]: string},\n }): HttpRequest;\n clone(update: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n body?: V|null,\n method?: string,\n url?: string,\n setHeaders?: {[name: string]: string|string[]},\n setParams?: {[param: string]: string},\n }): HttpRequest;\n clone(update: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n body?: any|null,\n method?: string,\n url?: string,\n setHeaders?: {[name: string]: string|string[]},\n setParams?: {[param: string]: string};\n } = {}): HttpRequest {\n // For method, url, and responseType, take the current value unless\n // it is overridden in the update hash.\n const method = update.method || this.method;\n const url = update.url || this.url;\n const responseType = update.responseType || this.responseType;\n\n // The body is somewhat special - a `null` value in update.body means\n // whatever current body is present is being overridden with an empty\n // body, whereas an `undefined` value in update.body implies no\n // override.\n const body = (update.body !== undefined) ? update.body : this.body;\n\n // Carefully handle the boolean options to differentiate between\n // `false` and `undefined` in the update args.\n const withCredentials =\n (update.withCredentials !== undefined) ? update.withCredentials : this.withCredentials;\n const reportProgress =\n (update.reportProgress !== undefined) ? update.reportProgress : this.reportProgress;\n\n // Headers and params may be appended to if `setHeaders` or\n // `setParams` are used.\n let headers = update.headers || this.headers;\n let params = update.params || this.params;\n\n // Check whether the caller has asked to add headers.\n if (update.setHeaders !== undefined) {\n // Set every requested header.\n headers =\n Object.keys(update.setHeaders)\n .reduce((headers, name) => headers.set(name, update.setHeaders![name]), headers);\n }\n\n // Check whether the caller has asked to set params.\n if (update.setParams) {\n // Set every requested param.\n params = Object.keys(update.setParams)\n .reduce((params, param) => params.set(param, update.setParams![param]), params);\n }\n\n // Finally, construct the new HttpRequest using the pieces from above.\n return new HttpRequest(method, url, body, {\n params,\n headers,\n reportProgress,\n responseType,\n withCredentials,\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\nimport {HttpHeaders} from './headers';\n\n/**\n * Type enumeration for the different kinds of `HttpEvent`.\n *\n * @publicApi\n */\nexport enum HttpEventType {\n /**\n * The request was sent out over the wire.\n */\n Sent,\n\n /**\n * An upload progress event was received.\n */\n UploadProgress,\n\n /**\n * The response status code and headers were received.\n */\n ResponseHeader,\n\n /**\n * A download progress event was received.\n */\n DownloadProgress,\n\n /**\n * The full response including the body was received.\n */\n Response,\n\n /**\n * A custom event from an interceptor or a backend.\n */\n User,\n}\n\n/**\n * Base interface for progress events.\n *\n * @publicApi\n */\nexport interface HttpProgressEvent {\n /**\n * Progress event type is either upload or download.\n */\n type: HttpEventType.DownloadProgress|HttpEventType.UploadProgress;\n\n /**\n * Number of bytes uploaded or downloaded.\n */\n loaded: number;\n\n /**\n * Total number of bytes to upload or download. Depending on the request or\n * response, this may not be computable and thus may not be present.\n */\n total?: number;\n}\n\n/**\n * A download progress event.\n *\n * @publicApi\n */\nexport interface HttpDownloadProgressEvent extends HttpProgressEvent {\n type: HttpEventType.DownloadProgress;\n\n /**\n * The partial response body as downloaded so far.\n *\n * Only present if the responseType was `text`.\n */\n partialText?: string;\n}\n\n/**\n * An upload progress event.\n *\n * @publicApi\n */\nexport interface HttpUploadProgressEvent extends HttpProgressEvent {\n type: HttpEventType.UploadProgress;\n}\n\n/**\n * An event indicating that the request was sent to the server. Useful\n * when a request may be retried multiple times, to distinguish between\n * retries on the final event stream.\n *\n * @publicApi\n */\nexport interface HttpSentEvent {\n type: HttpEventType.Sent;\n}\n\n/**\n * A user-defined event.\n *\n * Grouping all custom events under this type ensures they will be handled\n * and forwarded by all implementations of interceptors.\n *\n * @publicApi\n */\nexport interface HttpUserEvent {\n type: HttpEventType.User;\n}\n\n/**\n * An error that represents a failed attempt to JSON.parse text coming back\n * from the server.\n *\n * It bundles the Error object with the actual response body that failed to parse.\n *\n *\n */\nexport interface HttpJsonParseError {\n error: Error;\n text: string;\n}\n\n/**\n * Union type for all possible events on the response stream.\n *\n * Typed according to the expected type of the response.\n *\n * @publicApi\n */\nexport type HttpEvent =\n HttpSentEvent|HttpHeaderResponse|HttpResponse|HttpProgressEvent|HttpUserEvent;\n\n/**\n * Base class for both `HttpResponse` and `HttpHeaderResponse`.\n *\n * @publicApi\n */\nexport abstract class HttpResponseBase {\n /**\n * All response headers.\n */\n readonly headers: HttpHeaders;\n\n /**\n * Response status code.\n */\n readonly status: number;\n\n /**\n * Textual description of response status code.\n *\n * Do not depend on this.\n */\n readonly statusText: string;\n\n /**\n * URL of the resource retrieved, or null if not available.\n */\n readonly url: string|null;\n\n /**\n * Whether the status code falls in the 2xx range.\n */\n readonly ok: boolean;\n\n /**\n * Type of the response, narrowed to either the full response or the header.\n */\n // TODO(issue/24571): remove '!'.\n readonly type!: HttpEventType.Response|HttpEventType.ResponseHeader;\n\n /**\n * Super-constructor for all responses.\n *\n * The single parameter accepted is an initialization hash. Any properties\n * of the response passed there will override the default values.\n */\n constructor(\n init: {\n headers?: HttpHeaders,\n status?: number,\n statusText?: string,\n url?: string,\n },\n defaultStatus: number = 200, defaultStatusText: string = 'OK') {\n // If the hash has values passed, use them to initialize the response.\n // Otherwise use the default values.\n this.headers = init.headers || new HttpHeaders();\n this.status = init.status !== undefined ? init.status : defaultStatus;\n this.statusText = init.statusText || defaultStatusText;\n this.url = init.url || null;\n\n // Cache the ok value to avoid defining a getter.\n this.ok = this.status >= 200 && this.status < 300;\n }\n}\n\n/**\n * A partial HTTP response which only includes the status and header data,\n * but no response body.\n *\n * `HttpHeaderResponse` is a `HttpEvent` available on the response\n * event stream, only when progress events are requested.\n *\n * @publicApi\n */\nexport class HttpHeaderResponse extends HttpResponseBase {\n /**\n * Create a new `HttpHeaderResponse` with the given parameters.\n */\n constructor(init: {\n headers?: HttpHeaders,\n status?: number,\n statusText?: string,\n url?: string,\n } = {}) {\n super(init);\n }\n\n readonly type: HttpEventType.ResponseHeader = HttpEventType.ResponseHeader;\n\n /**\n * Copy this `HttpHeaderResponse`, overriding its contents with the\n * given parameter hash.\n */\n clone(update: {headers?: HttpHeaders; status?: number; statusText?: string; url?: string;} = {}):\n HttpHeaderResponse {\n // Perform a straightforward initialization of the new HttpHeaderResponse,\n // overriding the current parameters with new ones if given.\n return new HttpHeaderResponse({\n headers: update.headers || this.headers,\n status: update.status !== undefined ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n\n/**\n * A full HTTP response, including a typed response body (which may be `null`\n * if one was not returned).\n *\n * `HttpResponse` is a `HttpEvent` available on the response event\n * stream.\n *\n * @publicApi\n */\nexport class HttpResponse extends HttpResponseBase {\n /**\n * The response body, or `null` if one was not returned.\n */\n readonly body: T|null;\n\n /**\n * Construct a new `HttpResponse`.\n */\n constructor(init: {\n body?: T|null,\n headers?: HttpHeaders;\n status?: number;\n statusText?: string;\n url?: string;\n } = {}) {\n super(init);\n this.body = init.body !== undefined ? init.body : null;\n }\n\n readonly type: HttpEventType.Response = HttpEventType.Response;\n\n clone(): HttpResponse;\n clone(update: {headers?: HttpHeaders; status?: number; statusText?: string; url?: string;}):\n HttpResponse;\n clone(update: {\n body?: V|null,\n headers?: HttpHeaders;\n status?: number;\n statusText?: string;\n url?: string;\n }): HttpResponse;\n clone(update: {\n body?: any|null;\n headers?: HttpHeaders;\n status?: number;\n statusText?: string;\n url?: string;\n } = {}): HttpResponse {\n return new HttpResponse({\n body: (update.body !== undefined) ? update.body : this.body,\n headers: update.headers || this.headers,\n status: (update.status !== undefined) ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n\n/**\n * A response that represents an error or failure, either from a\n * non-successful HTTP status, an error while executing the request,\n * or some other failure which occurred during the parsing of the response.\n *\n * Any error returned on the `Observable` response stream will be\n * wrapped in an `HttpErrorResponse` to provide additional context about\n * the state of the HTTP layer when the error occurred. The error property\n * will contain either a wrapped Error object or the error response returned\n * from the server.\n *\n * @publicApi\n */\nexport class HttpErrorResponse extends HttpResponseBase implements Error {\n readonly name = 'HttpErrorResponse';\n readonly message: string;\n readonly error: any|null;\n\n /**\n * Errors are never okay, even when the status code is in the 2xx success range.\n */\n readonly ok = false;\n\n constructor(init: {\n error?: any;\n headers?: HttpHeaders;\n status?: number;\n statusText?: string;\n url?: string;\n }) {\n // Initialize with a default status of 0 / Unknown Error.\n super(init, 0, 'Unknown Error');\n\n // If the response was successful, then this was a parse error. Otherwise, it was\n // a protocol-level failure of some sort. Either the request failed in transit\n // or the server returned an unsuccessful status code.\n if (this.status >= 200 && this.status < 300) {\n this.message = `Http failure during parsing for ${init.url || '(unknown url)'}`;\n } else {\n this.message = `Http failure response for ${init.url || '(unknown url)'}: ${init.status} ${\n init.statusText}`;\n }\n this.error = init.error || null;\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 {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\nimport {concatMap, filter, map} from 'rxjs/operators';\n\nimport {HttpHandler} from './backend';\nimport {HttpHeaders} from './headers';\nimport {HttpParams, HttpParamsOptions} from './params';\nimport {HttpRequest} from './request';\nimport {HttpEvent, HttpResponse} from './response';\n\n\n/**\n * Constructs an instance of `HttpRequestOptions` from a source `HttpMethodOptions` and\n * the given `body`. This function clones the object and adds the body.\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n *\n */\nfunction addBody(\n options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n },\n body: T|null): any {\n return {\n body,\n headers: options.headers,\n observe: options.observe,\n params: options.params,\n reportProgress: options.reportProgress,\n responseType: options.responseType,\n withCredentials: options.withCredentials,\n };\n}\n\nexport type HttpObserve = 'body'|'events'|'response';\n\n/**\n * Performs HTTP requests.\n * This service is available as an injectable class, with methods to perform HTTP requests.\n * Each request method has multiple signatures, and the return type varies based on\n * the signature that is called (mainly the values of `observe` and `responseType`).\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n\n *\n * @usageNotes\n * Sample HTTP requests for the [Tour of Heroes](/tutorial/toh-pt0) application.\n *\n * ### HTTP Request Example\n *\n * ```\n * // GET heroes whose name contains search term\n * searchHeroes(term: string): observable{\n *\n * const params = new HttpParams({fromString: 'name=term'});\n * return this.httpClient.request('GET', this.heroesUrl, {responseType:'json', params});\n * }\n * ```\n * ### JSONP Example\n * ```\n * requestJsonp(url, callback = 'callback') {\n * return this.httpClient.jsonp(this.heroesURL, callback);\n * }\n * ```\n *\n * ### PATCH Example\n * ```\n * // PATCH one of the heroes' name\n * patchHero (id: number, heroName: string): Observable<{}> {\n * const url = `${this.heroesUrl}/${id}`; // PATCH api/heroes/42\n * return this.httpClient.patch(url, {name: heroName}, httpOptions)\n * .pipe(catchError(this.handleError('patchHero')));\n * }\n * ```\n *\n * @see [HTTP Guide](guide/http)\n *\n * @publicApi\n */\n@Injectable()\nexport class HttpClient {\n constructor(private handler: HttpHandler) {}\n\n /**\n * Sends an `HTTPRequest` and returns a stream of `HTTPEvents`.\n *\n * @return An `Observable` of the response, with the response body as a stream of `HTTPEvents`.\n */\n request(req: HttpRequest): Observable>;\n\n /**\n * Constructs a request that interprets the body as an `ArrayBuffer` and returns the response in\n * an `ArrayBuffer`.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a request that interprets the body as a blob and returns\n * the response as a blob.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type `Blob`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a request that interprets the body as a text string and\n * returns a string value.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type string.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a request that interprets the body as an `ArrayBuffer` and returns the\n * the full event stream.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as an array of `HTTPEvents` for\n * the\n * request.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n params?: HttpParams|{[param: string]: string | string[]}, observe: 'events',\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request that interprets the body as a `Blob` and returns\n * the full event stream.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of of all `HttpEvents` for the request,\n * with the response body of type `Blob`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a text string and returns the full event\n * stream.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HttpEvents` for the reques,\n * with the response body of type string.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a JSON object and returns the full event\n * stream.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body of type `Object`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n reportProgress?: boolean, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a JSON object and returns the full event\n * stream.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body of type `R`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n reportProgress?: boolean, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as an `ArrayBuffer`\n * and returns the full `HTTPResponse`.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body as an `ArrayBuffer`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a `Blob` and returns the full `HTTPResponse`.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body of type `Blob`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a text stream and returns the full\n * `HTTPResponse`.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the HTTP response, with the response body of type string.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a JSON object and returns the full\n * `HTTPResponse`.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the full `HTTPResponse`,\n * with the response body of type `Object`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n reportProgress?: boolean, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a JSON object and returns\n * the full `HTTPResponse` with the response body in the requested type.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the full `HTTPResponse`, with the response body of type `R`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n reportProgress?: boolean, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a JSON object and returns the full\n * `HTTPResponse` as a JSON object.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body of type `Object`.\n */\n request(method: string, url: string, options?: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n responseType?: 'json',\n reportProgress?: boolean,\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a request which interprets the body as a JSON object\n * with the response body of the requested type.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body of type `R`.\n */\n request(method: string, url: string, options?: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n responseType?: 'json',\n reportProgress?: boolean,\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a request where response type and requested observable are not known statically.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the reuested response, wuth body of type `any`.\n */\n request(method: string, url: string, options?: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n params?: HttpParams|{[param: string]: string | string[]},\n observe?: HttpObserve,\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable for a generic HTTP request that, when subscribed,\n * fires the request through the chain of registered interceptors and on to the\n * server.\n *\n * You can pass an `HttpRequest` directly as the only parameter. In this case,\n * the call returns an observable of the raw `HttpEvent` stream.\n *\n * Alternatively you can pass an HTTP method as the first parameter,\n * a URL string as the second, and an options hash containing the request body as the third.\n * See `addBody()`. In this case, the specified `responseType` and `observe` options determine the\n * type of returned observable.\n * * The `responseType` value determines how a successful response body is parsed.\n * * If `responseType` is the default `json`, you can pass a type interface for the resulting\n * object as a type parameter to the call.\n *\n * The `observe` value determines the return type, according to what you are interested in\n * observing.\n * * An `observe` value of events returns an observable of the raw `HttpEvent` stream, including\n * progress events by default.\n * * An `observe` value of response returns an observable of `HttpResponse`,\n * where the `T` parameter depends on the `responseType` and any optionally provided type\n * parameter.\n * * An `observe` value of body returns an observable of `` with the same `T` body type.\n *\n */\n request(first: string|HttpRequest, url?: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n let req: HttpRequest;\n // First, check whether the primary argument is an instance of `HttpRequest`.\n if (first instanceof HttpRequest) {\n // It is. The other arguments must be undefined (per the signatures) and can be\n // ignored.\n req = first;\n } else {\n // It's a string, so it represents a URL. Construct a request based on it,\n // and incorporate the remaining arguments (assuming `GET` unless a method is\n // provided.\n\n // Figure out the headers.\n let headers: HttpHeaders|undefined = undefined;\n if (options.headers instanceof HttpHeaders) {\n headers = options.headers;\n } else {\n headers = new HttpHeaders(options.headers);\n }\n\n // Sort out parameters.\n let params: HttpParams|undefined = undefined;\n if (!!options.params) {\n if (options.params instanceof HttpParams) {\n params = options.params;\n } else {\n params = new HttpParams({fromObject: options.params} as HttpParamsOptions);\n }\n }\n\n // Construct the request.\n req = new HttpRequest(first, url!, (options.body !== undefined ? options.body : null), {\n headers,\n params,\n reportProgress: options.reportProgress,\n // By default, JSON is assumed to be returned for all calls.\n responseType: options.responseType || 'json',\n withCredentials: options.withCredentials,\n });\n }\n\n // Start with an Observable.of() the initial request, and run the handler (which\n // includes all interceptors) inside a concatMap(). This way, the handler runs\n // inside an Observable chain, which causes interceptors to be re-run on every\n // subscription (this also makes retries re-run the handler, including interceptors).\n const events$: Observable> =\n of(req).pipe(concatMap((req: HttpRequest) => this.handler.handle(req)));\n\n // If coming via the API signature which accepts a previously constructed HttpRequest,\n // the only option is to get the event stream. Otherwise, return the event stream if\n // that is what was requested.\n if (first instanceof HttpRequest || options.observe === 'events') {\n return events$;\n }\n\n // The requested stream contains either the full response or the body. In either\n // case, the first step is to filter the event stream to extract a stream of\n // responses(s).\n const res$: Observable> = >>events$.pipe(\n filter((event: HttpEvent) => event instanceof HttpResponse));\n\n // Decide which stream to return.\n switch (options.observe || 'body') {\n case 'body':\n // The requested stream is the body. Map the response stream to the response\n // body. This could be done more simply, but a misbehaving interceptor might\n // transform the response body into a different format and ignore the requested\n // responseType. Guard against this by validating that the response is of the\n // requested type.\n switch (req.responseType) {\n case 'arraybuffer':\n return res$.pipe(map((res: HttpResponse) => {\n // Validate that the body is an ArrayBuffer.\n if (res.body !== null && !(res.body instanceof ArrayBuffer)) {\n throw new Error('Response is not an ArrayBuffer.');\n }\n return res.body;\n }));\n case 'blob':\n return res$.pipe(map((res: HttpResponse) => {\n // Validate that the body is a Blob.\n if (res.body !== null && !(res.body instanceof Blob)) {\n throw new Error('Response is not a Blob.');\n }\n return res.body;\n }));\n case 'text':\n return res$.pipe(map((res: HttpResponse) => {\n // Validate that the body is a string.\n if (res.body !== null && typeof res.body !== 'string') {\n throw new Error('Response is not a string.');\n }\n return res.body;\n }));\n case 'json':\n default:\n // No validation needed for JSON responses, as they can be of any type.\n return res$.pipe(map((res: HttpResponse) => res.body));\n }\n case 'response':\n // The response stream was requested directly, so return it.\n return res$;\n default:\n // Guard against new future observe types being added.\n throw new Error(`Unreachable: unhandled observe type ${options.observe}}`);\n }\n }\n\n /**\n * Constructs a `DELETE` request that interprets the body as an `ArrayBuffer`\n * and returns the response as an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response body as an `ArrayBuffer`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n\n /**\n * Constructs a `DELETE` request that interprets the body as a `Blob` and returns\n * the response as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response body as a `Blob`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a text string and returns\n * a string.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type string.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `DELETE` request that interprets the body as an `ArrayBuffer`\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HTTPEvents` for the request,\n * with response body as an `ArrayBuffer`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a `Blob`\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all the `HTTPEvents` for the request, with the response body as a\n * `Blob`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a text string\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HTTPEvents` for the request, with the response\n * body of type string.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a JSON object\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HTTPEvents` for the request, with response body of\n * type `Object`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE`request that interprets the body as a JSON object\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all the `HTTPEvents` for the request, with a response\n * body in the requested type.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as an `ArrayBuffer` and returns\n * the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the full `HTTPResponse`, with the response body as an `ArrayBuffer`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a `Blob` and returns the full\n * `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body of type `Blob`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a text stream and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the full `HTTPResponse`, with the response body of type string.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request the interprets the body as a JSON object and returns\n * the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body of type `Object`.\n *\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a JSON object\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body of the requested type.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a JSON object and\n * returns the response body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type `Object`.\n */\n delete(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a DELETE request that interprets the body as a JSON object and returns\n * the response in a given type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with response body in the requested type.\n */\n delete(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `DELETE` request to execute on the server. See the individual overloads for\n * details on the return type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('DELETE', url, options as any);\n }\n\n\n /**\n * Constructs a `GET` request that interprets the body as an `ArrayBuffer` and returns the\n * response in an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `GET` request that interprets the body as a `Blob`\n * and returns the response as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `GET` request that interprets the body as a text string\n * and returns the response as a string value.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type string.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `GET` request that interprets the body as an `ArrayBuffer` and returns\n * the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HttpEvents` for the request, with the response\n * body as an `ArrayBuffer`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a `Blob` and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a text string and returns\n * the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type string.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a JSON object\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type `Object`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a JSON object and returns the full event\n * stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with a response body in the requested type.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as an `ArrayBuffer` and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a `Blob` and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body as a `Blob`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a text stream and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body of type string.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a JSON object and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the full `HttpResponse`,\n * with the response body of type `Object`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a JSON object and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the full `HTTPResponse` for the request,\n * with a response body in the requested type.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a JSON object and\n * returns the response body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n *\n * @return An `Observable` of the response body as a JSON object.\n */\n get(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `GET` request that interprets the body as a JSON object and returns\n * the response body in a given type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with a response body in the requested type.\n */\n get(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `GET` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('GET', url, options as any);\n }\n\n\n /**\n * Constructs a `HEAD` request that interprets the body as an `ArrayBuffer` and\n * returns the response as an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a `Blob` and returns\n * the response as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a text string and returns the response\n * as a string value.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type string.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `HEAD` request that interprets the body as an `ArrayBuffer`\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of tall `HttpEvents` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a `Blob` and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body as a `Blob`.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a text string\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all HttpEvents for the request, with the response body of type\n * string.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a JSON object\n * and returns the full HTTP event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HTTPEvents` for the request, with a response body of\n * type `Object`.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a JSON object and\n * returns the full event stream.\n *\n * @return An `Observable` of all the `HTTPEvents` for the request\n * , with a response body in the requested type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as an `ArrayBuffer`\n * and returns the full HTTP response.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a `Blob` and returns\n * the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body as a blob.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as text stream\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body of type string.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a JSON object and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body of type `Object`.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a JSON object\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with a responmse body of the requested type.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a JSON object and\n * returns the response body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as a JSON object.\n */\n head(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a JSON object and returns\n * the response in a given type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with a response body of the given type.\n */\n head(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `HEAD` request to execute on the server. The `HEAD` method returns\n * meta information about the resource without transferring the\n * resource itself. See the individual overloads for\n * details on the return type.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('HEAD', url, options as any);\n }\n\n /**\n * Constructs a `JSONP` request for the given URL and name of the callback parameter.\n *\n * @param url The resource URL.\n * @param callbackParam The callback function name.\n *\n * @return An `Observable` of the response object, with response body as an object.\n */\n jsonp(url: string, callbackParam: string): Observable;\n\n /**\n * Constructs a `JSONP` request for the given URL and name of the callback parameter.\n *\n * @param url The resource URL.\n * @param callbackParam The callback function name.\n *\n * You must install a suitable interceptor, such as one provided by `HttpClientJsonpModule`.\n * If no such interceptor is reached,\n * then the `JSONP` request can be rejected by the configured backend.\n *\n * @return An `Observable` of the response object, with response body in the requested type.\n */\n jsonp(url: string, callbackParam: string): Observable;\n\n /**\n * Constructs an `Observable` that, when subscribed, causes a request with the special method\n * `JSONP` to be dispatched via the interceptor pipeline.\n * The [JSONP pattern](https://en.wikipedia.org/wiki/JSONP) works around limitations of certain\n * API endpoints that don't support newer,\n * and preferable [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) protocol.\n * JSONP treats the endpoint API as a JavaScript file and tricks the browser to process the\n * requests even if the API endpoint is not located on the same domain (origin) as the client-side\n * application making the request.\n * The endpoint API must support JSONP callback for JSONP requests to work.\n * The resource API returns the JSON response wrapped in a callback function.\n * You can pass the callback function name as one of the query parameters.\n * Note that JSONP requests can only be used with `GET` requests.\n *\n * @param url The resource URL.\n * @param callbackParam The callback function name.\n *\n */\n jsonp(url: string, callbackParam: string): Observable {\n return this.request('JSONP', url, {\n params: new HttpParams().append(callbackParam, 'JSONP_CALLBACK'),\n observe: 'body',\n responseType: 'json',\n });\n }\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as an\n * `ArrayBuffer` and returns the response as an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a `Blob` and returns\n * the response as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a text string and\n * returns a string value.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body of type string.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as an `ArrayBuffer`\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a `Blob` and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body as a `Blob`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a text string\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HTTPEvents` for the request,\n * with the response body of type string.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a JSON object\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HttpEvents` for the request with the response\n * body of type `Object`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a JSON object and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HttpEvents` for the request,\n * with a response body in the requested type.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as an `ArrayBuffer`\n * and returns the full HTTP response.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a `Blob`\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with the response body as a `Blob`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as text stream\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with the response body of type string.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a JSON object\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with the response body of type `Object`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a JSON object and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with a response body in the requested type.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a JSON object and returns the\n * response body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as a JSON object.\n */\n options(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a JSON object and returns the\n * response in a given type.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HTTPResponse`, with a response body of the given type.\n */\n options(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an `Observable` that, when subscribed, causes the configured\n * `OPTIONS` request to execute on the server. This method allows the client\n * to determine the supported HTTP methods and other capabilites of an endpoint,\n * without implying a resource action. See the individual overloads for\n * details on the return type.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('OPTIONS', url, options as any);\n }\n\n /**\n * Constructs a `PATCH` request that interprets the body as an `ArrayBuffer` and returns\n * the response as an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a `Blob` and returns the response\n * as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a text string and\n * returns the response as a string value.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with a response body of type string.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PATCH` request that interprets the body as an `ArrayBuffer` and\n * returns the the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HTTPevents` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a `Blob`\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HTTPevents` for the request, with the\n * response body as `Blob`.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a text string and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HTTPevents`for the request, with a\n * response body of type string.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a JSON object\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HTTPevents` for the request,\n * with a response body of type `Object`.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a JSON object\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HTTPevents` for the request,\n * with a response body in the requested type.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as an `ArrayBuffer`\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a `Blob` and returns the full\n * `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with the response body as a `Blob`.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a text stream and returns the\n * full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with a response body of type string.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a JSON object\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with a response body in the requested type.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a JSON object\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with a response body in the given type.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a JSON object and\n * returns the response body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as a JSON object.\n */\n patch(url: string, body: any|null, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a JSON object\n * and returns the response in a given type.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with a response body in the given type.\n */\n patch(url: string, body: any|null, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PATCH` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('PATCH', url, addBody(options, body));\n }\n\n /**\n * Constructs a `POST` request that interprets the body as an `ArrayBuffer` and returns\n * an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `POST` request that interprets the body as a `Blob` and returns the\n * response as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `POST` request that interprets the body as a text string and\n * returns the response as a string value.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with a response body of type string.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `POST` request that interprets the body as an `ArrayBuffer` and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a `Blob`\n * and returns the response in an observable of the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request, with the response body as `Blob`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a text string and returns the full\n * event stream.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with a response body of type string.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a POST request that interprets the body as a JSON object and returns the full event\n * stream.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with a response body of type `Object`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a POST request that interprets the body as a JSON object and returns the full event\n * stream.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with a response body in the requested type.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a POST request that interprets the body as an `ArrayBuffer`\n * and returns the full `HTTPresponse`.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with the response body as an\n * `ArrayBuffer`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a `Blob` and returns the full\n * `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body as a `Blob`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a text stream and returns\n * the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with a response body of type string.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a JSON object\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with a response body of type\n * `Object`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a JSON object and returns the full\n * `HTTPResponse`.\n *\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with a response body in the\n * requested type.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a\n * JSON object and returns the response body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with the response body as a JSON object.\n */\n post(url: string, body: any|null, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `POST` request that interprets the body as a JSON object\n * and returns an observable of the response.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with a response body in the\n * requested type.\n */\n post(url: string, body: any|null, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `POST` request to execute on the server. The server responds with the location of\n * the replaced resource. See the individual overloads for\n * details on the return type.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('POST', url, addBody(options, body));\n }\n\n /**\n * Constructs a `PUT` request that interprets the body as an `ArrayBuffer` and returns the\n * response as an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PUT` request that interprets the body as a `Blob` and returns\n * the response as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PUT` request that interprets the body as a text string and\n * returns the response as a string value.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with a response body of type string.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PUT` request that interprets the body as an `ArrayBuffer` and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a `Blob` and returns the full event\n * stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body as a `Blob`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a text string and returns the full event\n * stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of all HttpEvents for the request, with a response body\n * of type string.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a JSON object and returns the full event\n * stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request, with a response body of\n * type `Object`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a JSON object and returns the\n * full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with a response body in the requested type.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as an\n * `ArrayBuffer` and returns an observable of the full HTTP response.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with the response body as an\n * `ArrayBuffer`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a `Blob` and returns the\n * full HTTP response.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body as a `Blob`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a text stream and returns the\n * full HTTP response.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with a response body of type\n * string.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a JSON object and returns the full HTTP\n * response.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with a response body\n * of type 'Object`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a JSON object and returns the full HTTP\n * response.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with a response body in the requested type.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a JSON object and returns the response\n * body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with the response body as a JSON object.\n */\n put(url: string, body: any|null, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PUT` request that interprets the body as a JSON object\n * and returns an observable of the response.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with a response body in the\n * requested type.\n */\n put(url: string, body: any|null, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PUT` request to execute on the server. The `PUT` method replaces an existing resource\n * with a new set of values.\n * See the individual overloads for details on the return type.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('PUT', url, addBody(options, body));\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 {Injectable, InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {HttpHandler} from './backend';\nimport {HttpRequest} from './request';\nimport {HttpEvent} from './response';\n\n/**\n * Intercepts and handles an `HttpRequest` or `HttpResponse`.\n *\n * Most interceptors transform the outgoing request before passing it to the\n * next interceptor in the chain, by calling `next.handle(transformedReq)`.\n * An interceptor may transform the\n * response event stream as well, by applying additional RxJS operators on the stream\n * returned by `next.handle()`.\n *\n * More rarely, an interceptor may handle the request entirely,\n * and compose a new event stream instead of invoking `next.handle()`. This is an\n * acceptable behavior, but keep in mind that further interceptors will be skipped entirely.\n *\n * It is also rare but valid for an interceptor to return multiple responses on the\n * event stream for a single request.\n *\n * @publicApi\n *\n * @see [HTTP Guide](guide/http#intercepting-requests-and-responses)\n *\n * @usageNotes\n *\n * To use the same instance of `HttpInterceptors` for the entire app, import the `HttpClientModule`\n * only in your `AppModule`, and add the interceptors to the root application injector .\n * If you import `HttpClientModule` multiple times across different modules (for example, in lazy\n * loading modules), each import creates a new copy of the `HttpClientModule`, which overwrites the\n * interceptors provided in the root module.\n *\n */\nexport interface HttpInterceptor {\n /**\n * Identifies and handles a given HTTP request.\n * @param req The outgoing request object to handle.\n * @param next The next interceptor in the chain, or the backend\n * if no interceptors remain in the chain.\n * @returns An observable of the event stream.\n */\n intercept(req: HttpRequest, next: HttpHandler): Observable>;\n}\n\n/**\n * `HttpHandler` which applies an `HttpInterceptor` to an `HttpRequest`.\n *\n *\n */\nexport class HttpInterceptorHandler implements HttpHandler {\n constructor(private next: HttpHandler, private interceptor: HttpInterceptor) {}\n\n handle(req: HttpRequest): Observable> {\n return this.interceptor.intercept(req, this.next);\n }\n}\n\n/**\n * A multi-provider token that represents the array of registered\n * `HttpInterceptor` objects.\n *\n * @publicApi\n */\nexport const HTTP_INTERCEPTORS = new InjectionToken('HTTP_INTERCEPTORS');\n\n@Injectable()\nexport class NoopInterceptor implements HttpInterceptor {\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(req);\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 {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\nimport {Observable, Observer} from 'rxjs';\n\nimport {HttpBackend, HttpHandler} from './backend';\nimport {HttpRequest} from './request';\nimport {HttpErrorResponse, HttpEvent, HttpEventType, HttpResponse} from './response';\n\n// Every request made through JSONP needs a callback name that's unique across the\n// whole page. Each request is assigned an id and the callback name is constructed\n// from that. The next id to be assigned is tracked in a global variable here that\n// is shared among all applications on the page.\nlet nextRequestId: number = 0;\n\n// Error text given when a JSONP script is injected, but doesn't invoke the callback\n// passed in its URL.\nexport const JSONP_ERR_NO_CALLBACK = 'JSONP injected script did not invoke callback.';\n\n// Error text given when a request is passed to the JsonpClientBackend that doesn't\n// have a request method JSONP.\nexport const JSONP_ERR_WRONG_METHOD = 'JSONP requests must use JSONP request method.';\nexport const JSONP_ERR_WRONG_RESPONSE_TYPE = 'JSONP requests must use Json response type.';\n\n/**\n * DI token/abstract type representing a map of JSONP callbacks.\n *\n * In the browser, this should always be the `window` object.\n *\n *\n */\nexport abstract class JsonpCallbackContext {\n [key: string]: (data: any) => void;\n}\n\n/**\n * Processes an `HttpRequest` with the JSONP method,\n * by performing JSONP style requests.\n * @see `HttpHandler`\n * @see `HttpXhrBackend`\n *\n * @publicApi\n */\n@Injectable()\nexport class JsonpClientBackend implements HttpBackend {\n constructor(private callbackMap: JsonpCallbackContext, @Inject(DOCUMENT) private document: any) {}\n\n /**\n * Get the name of the next callback method, by incrementing the global `nextRequestId`.\n */\n private nextCallback(): string {\n return `ng_jsonp_callback_${nextRequestId++}`;\n }\n\n /**\n * Processes a JSONP request and returns an event stream of the results.\n * @param req The request object.\n * @returns An observable of the response events.\n *\n */\n handle(req: HttpRequest): Observable> {\n // Firstly, check both the method and response type. If either doesn't match\n // then the request was improperly routed here and cannot be handled.\n if (req.method !== 'JSONP') {\n throw new Error(JSONP_ERR_WRONG_METHOD);\n } else if (req.responseType !== 'json') {\n throw new Error(JSONP_ERR_WRONG_RESPONSE_TYPE);\n }\n\n // Everything else happens inside the Observable boundary.\n return new Observable>((observer: Observer>) => {\n // The first step to make a request is to generate the callback name, and replace the\n // callback placeholder in the URL with the name. Care has to be taken here to ensure\n // a trailing &, if matched, gets inserted back into the URL in the correct place.\n const callback = this.nextCallback();\n const url = req.urlWithParams.replace(/=JSONP_CALLBACK(&|$)/, `=${callback}$1`);\n\n // Construct the \";\n }\n public replaceText(\n replaceText: string,\n id: string,\n questionType: string = null\n ) {\n var posId = this.getId(id, questionType);\n var pos = this.text.indexOf(posId);\n if (pos < 0) {\n this.addText(replaceText, id, questionType);\n return;\n }\n pos = this.text.indexOf(\">\", pos);\n if (pos < 0) return;\n var startPos = pos + 1;\n var endString = \"\";\n pos = this.text.indexOf(endString, startPos);\n if (pos < 0) return;\n this.text =\n this.text.substr(0, startPos) + replaceText + this.text.substr(pos);\n }\n protected getId(id: string, questionType: string) {\n var result = 'id=\"survey-' + id;\n if (questionType) {\n result += \"-\" + questionType;\n }\n return result + '\"';\n }\n protected get text(): string {\n return koTemplate;\n }\n protected set text(value: string) {\n koTemplate = value;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/templateText.ts","//Uncomment this line on creating a translation file\n//import { surveyLocalization } from \"../surveyStrings\";\n\nexport var englishStrings = {\n pagePrevText: \"Previous\",\n pageNextText: \"Next\",\n completeText: \"Complete\",\n previewText: \"Preview\",\n editText: \"Edit\",\n startSurveyText: \"Start\",\n otherItemText: \"Other (describe)\",\n noneItemText: \"None\",\n selectAllItemText: \"Select All\",\n progressText: \"Page {0} of {1}\",\n panelDynamicProgressText: \"Record {0} of {1}\",\n questionsProgressText: \"Answered {0}/{1} questions\",\n emptySurvey: \"There is no visible page or question in the survey.\",\n completingSurvey: \"Thank you for completing the survey!\",\n completingSurveyBefore:\n \"Our records show that you have already completed this survey.\",\n loadingSurvey: \"Loading Survey...\",\n optionsCaption: \"Choose...\",\n value: \"value\",\n requiredError: \"Please answer the question.\",\n requiredErrorInPanel: \"Please answer at least one question.\",\n requiredInAllRowsError: \"Please answer questions in all rows.\",\n numericError: \"The value should be numeric.\",\n textMinLength: \"Please enter at least {0} characters.\",\n textMaxLength: \"Please enter less than {0} characters.\",\n textMinMaxLength: \"Please enter more than {0} and less than {1} characters.\",\n minRowCountError: \"Please fill in at least {0} rows.\",\n minSelectError: \"Please select at least {0} variants.\",\n maxSelectError: \"Please select no more than {0} variants.\",\n numericMinMax:\n \"The '{0}' should be equal or more than {1} and equal or less than {2}\",\n numericMin: \"The '{0}' should be equal or more than {1}\",\n numericMax: \"The '{0}' should be equal or less than {1}\",\n invalidEmail: \"Please enter a valid e-mail address.\",\n invalidExpression: \"The expression: {0} should return 'true'.\",\n urlRequestError: \"The request returned error '{0}'. {1}\",\n urlGetChoicesError:\n \"The request returned empty data or the 'path' property is incorrect\",\n exceedMaxSize: \"The file size should not exceed {0}.\",\n otherRequiredError: \"Please enter the other value.\",\n uploadingFile:\n \"Your file is uploading. Please wait several seconds and try again.\",\n loadingFile: \"Loading...\",\n chooseFile: \"Choose file(s)...\",\n noFileChosen: \"No file chosen\",\n confirmDelete: \"Do you want to delete the record?\",\n keyDuplicationError: \"This value should be unique.\",\n addColumn: \"Add column\",\n addRow: \"Add row\",\n removeRow: \"Remove\",\n addPanel: \"Add new\",\n removePanel: \"Remove\",\n choices_Item: \"item\",\n matrix_column: \"Column\",\n matrix_row: \"Row\",\n savingData: \"The results are saving on the server...\",\n savingDataError: \"An error occurred and we could not save the results.\",\n savingDataSuccess: \"The results were saved successfully!\",\n saveAgainButton: \"Try again\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"You have spent {0} on this page and {1} in total.\",\n timerSpentPage: \"You have spent {0} on this page.\",\n timerSpentSurvey: \"You have spent {0} in total.\",\n timerLimitAll:\n \"You have spent {0} of {1} on this page and {2} of {3} in total.\",\n timerLimitPage: \"You have spent {0} of {1} on this page.\",\n timerLimitSurvey: \"You have spent {0} of {1} in total.\",\n cleanCaption: \"Clean\",\n clearCaption: \"Clear\",\n chooseFileCaption: \"Choose file\",\n removeFileCaption: \"Remove this file\",\n booleanCheckedLabel: \"Yes\",\n booleanUncheckedLabel: \"No\",\n confirmRemoveFile: \"Are you sure that you want to remove this file: {0}?\",\n confirmRemoveAllFiles: \"Are you sure that you want to remove all files?\",\n questionTitlePatternText: \"Question Title\",\n};\n\n//Uncomment these two lines on creating a translation file. You should replace \"en\" and enStrings with your locale (\"fr\", \"de\" and so on) and your variable.\n//surveyLocalization.locales[\"en\"] = englishStrings;\n//surveyLocalization.localeNames[\"en\"] = \"English\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/english.ts","import { HashTable } from \"./helpers\";\nimport { ItemValue } from \"./itemvalue\";\nimport { Question } from \"./question\";\nimport { Serializer } from \"./jsonobject\";\nimport { ConditionRunner } from \"./conditions\";\nimport { Helpers } from \"./helpers\";\n\n/**\n * A Model for a matrix base question.\n */\nexport class QuestionMatrixBaseModel extends Question {\n protected filteredColumns: Array;\n protected filteredRows: Array;\n protected generatedVisibleRows: Array = null;\n protected generatedTotalRow: TRow = null;\n public visibleRowsChangedCallback: () => void;\n\n protected createColumnValues(): any {\n return this.createItemValues(\"columns\");\n }\n\n constructor(public name: string) {\n super(name);\n this.filteredRows = null;\n this.filteredColumns = null;\n this.columns = this.createColumnValues();\n this.rows = this.createItemValues(\"rows\");\n }\n public getType(): string {\n return \"matrixbase\";\n }\n public get isCompositeQuestion(): boolean {\n return true;\n }\n public get isAllowTitleLeft(): boolean {\n return false;\n }\n /**\n * Set this property to false, to hide table header. The default value is true.\n */\n public get showHeader(): boolean {\n return this.getPropertyValue(\"showHeader\");\n }\n public set showHeader(val: boolean) {\n this.setPropertyValue(\"showHeader\", val);\n }\n /**\n * The list of columns. A column has a value and an optional text\n */\n get columns(): Array {\n return this.getPropertyValue(\"columns\");\n }\n set columns(newValue: Array) {\n this.setPropertyValue(\"columns\", newValue);\n }\n public get visibleColumns(): Array {\n return !!this.filteredColumns ? this.filteredColumns : this.columns;\n }\n /**\n * The list of rows. A row has a value and an optional text\n */\n get rows(): Array {\n return this.getPropertyValue(\"rows\");\n }\n set rows(newValue: Array) {\n var newRows = this.processRowsOnSet(newValue);\n this.setPropertyValue(\"rows\", newRows);\n this.filterItems();\n }\n protected processRowsOnSet(newRows: Array) {\n return newRows;\n }\n protected getVisibleRows(): Array {\n return [];\n }\n /**\n * Returns the list of visible rows as model objects.\n * @see rowsVisibleIf\n */\n public get visibleRows(): Array {\n return this.getVisibleRows();\n }\n\n /**\n * An expression that returns true or false. It runs against each row item and if for this item it returns true, then the item is visible otherwise the item becomes invisible. Please use {item} to get the current item value in the expression.\n * @see visibleIf\n */\n public get rowsVisibleIf(): string {\n return this.getPropertyValue(\"rowsVisibleIf\", \"\");\n }\n public set rowsVisibleIf(val: string) {\n this.setPropertyValue(\"rowsVisibleIf\", val);\n this.filterItems();\n }\n /**\n * An expression that returns true or false. It runs against each column item and if for this item it returns true, then the item is visible otherwise the item becomes invisible. Please use {item} to get the current item value in the expression.\n * @see rowsVisibleIf\n */\n public get columnsVisibleIf(): string {\n return this.getPropertyValue(\"columnsVisibleIf\", \"\");\n }\n public set columnsVisibleIf(val: string) {\n this.setPropertyValue(\"columnsVisibleIf\", val);\n this.filterItems();\n }\n public runCondition(values: HashTable, properties: HashTable) {\n super.runCondition(values, properties);\n this.runItemsCondition(values, properties);\n }\n protected filterItems(): boolean {\n if (this.areInvisibleElementsShowing) {\n this.onRowsChanged();\n return false;\n }\n if (this.isLoadingFromJson || !this.data) return false;\n return this.runItemsCondition(\n this.getDataFilteredValues(),\n this.getDataFilteredProperties()\n );\n }\n protected onColumnsChanged() {}\n protected onRowsChanged() {\n this.fireCallback(this.visibleRowsChangedCallback);\n }\n protected shouldRunColumnExpression(): boolean {\n return true;\n }\n protected hasRowsAsItems(): boolean {\n return true;\n }\n protected runItemsCondition(\n values: HashTable,\n properties: HashTable\n ): boolean {\n var oldVisibleRows = null;\n if (!!this.filteredRows && !Helpers.isValueEmpty(this.defaultValue)) {\n oldVisibleRows = [];\n for (var i = 0; i < this.filteredRows.length; i++) {\n oldVisibleRows.push(this.filteredRows[i]);\n }\n }\n var hasChanges =\n this.hasRowsAsItems() && this.runConditionsForRows(values, properties);\n var hasColumnsChanged = this.runConditionsForColumns(values, properties);\n hasChanges = hasColumnsChanged || hasChanges;\n if (hasChanges) {\n if (!!this.filteredColumns || !!this.filteredRows) {\n this.clearIncorrectValues();\n }\n if (!!oldVisibleRows) {\n this.restoreNewVisibleRowsValues(oldVisibleRows);\n }\n this.generatedVisibleRows = null;\n if (hasColumnsChanged) {\n this.onColumnsChanged();\n }\n this.onRowsChanged();\n }\n return hasChanges;\n }\n private runConditionsForRows(\n values: HashTable,\n properties: HashTable\n ): boolean {\n var runner = !!this.rowsVisibleIf\n ? new ConditionRunner(this.rowsVisibleIf)\n : null;\n this.filteredRows = [];\n var hasChanged = ItemValue.runConditionsForItems(\n this.rows,\n this.filteredRows,\n runner,\n values,\n properties\n );\n if (this.filteredRows.length === this.rows.length) {\n this.filteredRows = null;\n }\n return hasChanged;\n }\n private runConditionsForColumns(\n values: HashTable,\n properties: HashTable\n ): boolean {\n var runner = !!this.columnsVisibleIf\n ? new ConditionRunner(this.columnsVisibleIf)\n : null;\n this.filteredColumns = [];\n var hasChanged = ItemValue.runConditionsForItems(\n this.columns,\n this.filteredColumns,\n runner,\n values,\n properties,\n this.shouldRunColumnExpression()\n );\n if (this.filteredColumns.length === this.columns.length) {\n this.filteredColumns = null;\n }\n return hasChanged;\n }\n public clearIncorrectValues() {\n var val = this.value;\n if (!val) return;\n var newVal = null;\n var isChanged = false;\n var rows = !!this.filteredRows ? this.filteredRows : this.rows;\n var columns = !!this.filteredColumns ? this.filteredColumns : this.columns;\n for (var key in val) {\n if (\n ItemValue.getItemByValue(rows, key) &&\n ItemValue.getItemByValue(columns, val[key])\n ) {\n if (newVal == null) newVal = {};\n (newVal)[key] = val[key];\n } else {\n isChanged = true;\n }\n }\n if (isChanged) {\n this.value = newVal;\n }\n super.clearIncorrectValues();\n }\n protected clearInvisibleValuesInRows() {\n if (this.isEmpty()) return;\n var newData = Helpers.getUnbindValue(this.value);\n var rows = this.rows;\n for (var i = 0; i < rows.length; i++) {\n var key = rows[i].value;\n if (!!newData[key] && !rows[i].isVisible) {\n delete newData[key];\n }\n }\n if (Helpers.isTwoValueEquals(newData, this.value)) return;\n this.value = newData;\n }\n private restoreNewVisibleRowsValues(oldVisibleRows: any) {\n var rows = !!this.filteredRows ? this.filteredRows : this.rows;\n var val = this.defaultValue;\n var newValue = Helpers.getUnbindValue(this.value);\n var isChanged = false;\n for (var key in val) {\n if (\n ItemValue.getItemByValue(rows, key) &&\n !ItemValue.getItemByValue(oldVisibleRows, key)\n ) {\n if (newValue == null) newValue = {};\n (newValue)[key] = val[key];\n isChanged = true;\n }\n }\n if (isChanged) {\n this.value = newValue;\n }\n }\n}\n\nSerializer.addClass(\n \"matrixbase\",\n [\n \"columnsVisibleIf:condition\",\n \"rowsVisibleIf:condition\",\n { name: \"showHeader:boolean\", default: true }\n ],\n undefined,\n \"question\"\n);\n\n\n\n// WEBPACK FOOTER //\n// ./src/martixBase.ts","import { QuestionFactory } from \"./questionfactory\";\nimport { Serializer } from \"./jsonobject\";\nimport { Question } from \"./question\";\nimport { LocalizableString } from \"./localizablestring\";\nimport { surveyLocalization } from \"./surveyStrings\";\n\n/**\n * A Model for a boolean question.\n */\nexport class QuestionBooleanModel extends Question {\n constructor(public name: string) {\n super(name);\n this.createLocalizableString(\"label\", this, true);\n this.createLocalizableString(\"labelFalse\", this, true);\n this.createLocalizableString(\"labelTrue\", this, true);\n this.locLabelFalse.onGetTextCallback = (text: string): string => {\n return !!text\n ? text\n : surveyLocalization.getString(\"booleanUncheckedLabel\");\n };\n this.locLabelTrue.onGetTextCallback = (text: string): string => {\n return !!text\n ? text\n : surveyLocalization.getString(\"booleanCheckedLabel\");\n };\n }\n public getType(): string {\n return \"boolean\";\n }\n isLayoutTypeSupported(layoutType: string): boolean {\n return true;\n }\n /**\n * Returns true if the question check will be rendered in indeterminate mode. value is empty.\n */\n public get isIndeterminate(): boolean {\n return this.isEmpty();\n }\n public get hasTitle(): boolean {\n return true;\n }\n /**\n * Get/set question value in 3 modes: indeterminate (value is empty), true (check is set) and false (check is unset).\n * @see valueTrue\n * @see valueFalse\n */\n public get checkedValue(): any {\n if (this.isEmpty()) return null;\n return this.value == this.getValueTrue();\n }\n public set checkedValue(val: any) {\n if (this.isReadOnly) {\n return;\n }\n if (this.isValueEmpty(val)) {\n this.value = null;\n } else {\n this.value = val == true ? this.getValueTrue() : this.getValueFalse();\n }\n }\n /**\n * Set the default state of the check: \"indeterminate\" - default (value is empty/null), \"true\" - value equals valueTrue or true, \"false\" - value equals valueFalse or false.\n */\n public get defaultValue(): any {\n return this.getPropertyValue(\"defaultValue\");\n }\n public set defaultValue(val: any) {\n if (val === true) val = \"true\";\n if (val === false) val = \"false\";\n this.setPropertyValue(\"defaultValue\", val);\n this.updateValueWithDefaults();\n }\n public getDefaultValue(): any {\n if (this.defaultValue == \"indeterminate\") return null;\n return this.defaultValue == \"true\"\n ? this.getValueTrue()\n : this.getValueFalse();\n }\n public get locTitle(): LocalizableString {\n return this.showTitle || this.isValueEmpty(this.locLabel.text)\n ? this.getLocalizableString(\"title\")\n : this.locLabel;\n }\n /**\n * The checkbox label. If it is empty and showTitle is false then title is rendered\n * @see showTitle\n * @see title\n */\n public get label(): string {\n return this.getLocalizableStringText(\"label\");\n }\n public set label(val: string) {\n this.setLocalizableStringText(\"label\", val);\n }\n get locLabel(): LocalizableString {\n return this.getLocalizableString(\"label\");\n }\n get locDisplayLabel(): LocalizableString {\n if (this.locLabel.text) return this.locLabel;\n return this.showTitle ? this.locLabel : this.locTitle;\n }\n\n /**\n * Set this property, if you want to have a different label for state when check is set.\n */\n public get labelTrue(): any {\n return this.getLocalizableStringText(\"labelTrue\");\n }\n public set labelTrue(val: any) {\n this.setLocalizableStringText(\"labelTrue\", val);\n }\n get locLabelTrue(): LocalizableString {\n return this.getLocalizableString(\"labelTrue\");\n }\n\n /**\n * Set this property, if you want to have a different label for state when check is unset.\n */\n public get labelFalse(): any {\n return this.getLocalizableStringText(\"labelFalse\");\n }\n public set labelFalse(val: any) {\n this.setLocalizableStringText(\"labelFalse\", val);\n }\n get locLabelFalse(): LocalizableString {\n return this.getLocalizableString(\"labelFalse\");\n }\n\n /**\n * Set this property to true to show the question title. It is hidden by default.\n */\n public get showTitle(): boolean {\n return this.getPropertyValue(\"showTitle\");\n }\n public set showTitle(val: boolean) {\n this.setPropertyValue(\"showTitle\", val);\n }\n\n /**\n * Set this property, if you want to have a different value from true when check is set.\n */\n public get valueTrue(): any {\n return this.getPropertyValue(\"valueTrue\");\n }\n public set valueTrue(val: any) {\n this.setPropertyValue(\"valueTrue\", val);\n }\n /**\n * Set this property, if you want to have a different value from false when check is unset.\n */\n public get valueFalse(): any {\n return this.getPropertyValue(\"valueFalse\");\n }\n public set valueFalse(val: any) {\n this.setPropertyValue(\"valueFalse\", val);\n }\n private getValueTrue(): any {\n return this.valueTrue ? this.valueTrue : true;\n }\n private getValueFalse(): any {\n return this.valueFalse ? this.valueFalse : false;\n }\n protected setDefaultValue() {\n if (this.defaultValue == \"true\") this.checkedValue = true;\n if (this.defaultValue == \"false\") this.checkedValue = false;\n if (this.defaultValue == \"indeterminate\") this.value = null;\n }\n}\n\nSerializer.addClass(\n \"boolean\",\n [\n {\n name: \"defaultValue:dropdown\",\n alternativeName: \"booleanDefaultValue\",\n default: \"indeterminate\",\n choices: [\"indeterminate\", \"false\", \"true\"],\n },\n { name: \"label:text\", serializationProperty: \"locLabel\" },\n {\n name: \"labelTrue:text\",\n serializationProperty: \"locLabelTrue\",\n },\n {\n name: \"labelFalse:text\",\n serializationProperty: \"locLabelFalse\",\n },\n \"showTitle:boolean\",\n \"valueTrue\",\n \"valueFalse\",\n ],\n function () {\n return new QuestionBooleanModel(\"\");\n },\n \"question\"\n);\nQuestionFactory.Instance.registerQuestion(\"boolean\", (name) => {\n return new QuestionBooleanModel(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_boolean.ts","import { Serializer } from \"./jsonobject\";\nimport { QuestionFactory } from \"./questionfactory\";\nimport { QuestionCheckboxBase } from \"./question_baseselect\";\nimport { Helpers } from \"./helpers\";\nimport { ItemValue } from \"./itemvalue\";\nimport { surveyLocalization } from \"./surveyStrings\";\nimport { LocalizableString } from \"./localizablestring\";\n\n/**\n * A Model for a checkbox question\n */\nexport class QuestionCheckboxModel extends QuestionCheckboxBase {\n private noneItemValue: ItemValue = new ItemValue(\"none\");\n private selectAllItemValue: ItemValue = new ItemValue(\"selectall\");\n private invisibleOldValues: any = {};\n constructor(public name: string) {\n super(name);\n var noneItemText = this.createLocalizableString(\"noneText\", this, true);\n noneItemText.onGetTextCallback = function (text) {\n return !!text ? text : surveyLocalization.getString(\"noneItemText\");\n };\n this.noneItemValue.locOwner = this;\n this.noneItemValue.setLocText(noneItemText);\n\n var selectAllItemText = this.createLocalizableString(\n \"selectAllText\",\n this,\n true\n );\n selectAllItemText.onGetTextCallback = function (text) {\n return !!text ? text : surveyLocalization.getString(\"selectAllItemText\");\n };\n this.selectAllItem.locOwner = this;\n this.selectAllItem.setLocText(selectAllItemText);\n\n var self = this;\n this.registerFunctionOnPropertiesValueChanged(\n [\"hasNone\", \"noneText\", \"hasSelectAll\", \"selectAllText\"],\n function () {\n self.onVisibleChoicesChanged();\n }\n );\n }\n public get ariaRole(): string {\n return \"group\";\n }\n public getType(): string {\n return \"checkbox\";\n }\n protected onCreating() {\n super.onCreating();\n this.createNewArray(\"renderedValue\");\n this.createNewArray(\"value\");\n }\n protected getFirstInputElementId(): string {\n return this.inputId + \"_0\";\n }\n /**\n * Returns the select all item. By using this property, you may change programmatically it's value and text.\n * @see hasSelectAll\n */\n public get selectAllItem(): ItemValue {\n return this.selectAllItemValue;\n }\n /**\n * Returns the none item. By using this property, you may change programmatically it's value and text.\n * @see hasNone\n */\n public get noneItem(): ItemValue {\n return this.noneItemValue;\n }\n /**\n * Use this property to set the different text for none item.\n */\n public get noneText(): string {\n return this.getLocalizableStringText(\n \"noneText\",\n surveyLocalization.getString(\"noneItemText\")\n );\n }\n public set noneText(val: string) {\n this.setLocalizableStringText(\"noneText\", val);\n }\n get locNoneText(): LocalizableString {\n return this.getLocalizableString(\"noneText\");\n }\n /**\n * Use this property to set the different text for Select All item.\n */\n public get selectAllText(): string {\n return this.getLocalizableStringText(\n \"selectAllText\",\n surveyLocalization.getString(\"selectAllItemText\")\n );\n }\n public set selectAllText(val: string) {\n this.setLocalizableStringText(\"selectAllText\", val);\n }\n get locSelectAllText(): LocalizableString {\n return this.getLocalizableString(\"selectAllText\");\n }\n /**\n * Set this property to true, to show the \"Select All\" item on the top. If end-user checks this item, then all items are checked.\n */\n public get hasSelectAll(): boolean {\n return this.getPropertyValue(\"hasSelectAll\", false);\n }\n public set hasSelectAll(val: boolean) {\n this.setPropertyValue(\"hasSelectAll\", val);\n }\n /**\n * Returns true if all items are selected\n * @see toggleSelectAll\n */\n public get isAllSelected(): boolean {\n var val = this.value;\n if (!val || !Array.isArray(val)) return false;\n if (this.isItemSelected(this.noneItem)) return false;\n var allItemCount = this.visibleChoices.length;\n if (this.hasOther) allItemCount--;\n if (this.hasNone) allItemCount--;\n if (this.hasSelectAll) allItemCount--;\n var selectedCount = val.length;\n if (this.isItemSelected(this.otherItem)) selectedCount--;\n return selectedCount === allItemCount;\n }\n public set isAllSelected(val: boolean) {\n if (val) {\n this.selectAll();\n } else {\n this.clearValue();\n }\n }\n /**\n * It will select all items, except other and none. If all items have been already selected then it will clear the value\n * @see isAllSelected\n * @see selectAll\n */\n public toggleSelectAll() {\n this.isAllSelected = !this.isAllSelected;\n }\n /**\n * Select all items, except other and none.\n */\n public selectAll() {\n var val = [];\n for (var i = 0; i < this.visibleChoices.length; i++) {\n var item = this.visibleChoices[i];\n if (\n item === this.noneItem ||\n item === this.otherItem ||\n item === this.selectAllItem\n )\n continue;\n val.push(item.value);\n }\n this.value = val;\n }\n /**\n * Set this property to true, to show the \"None\" item on the bottom. If end-user checks this item, all other items would be unchecked.\n */\n public get hasNone(): boolean {\n return this.getPropertyValue(\"hasNone\", false);\n }\n public set hasNone(val: boolean) {\n this.setPropertyValue(\"hasNone\", val);\n }\n /**\n * Returns true if item is checked\n * @param item checkbox item value\n */\n public isItemSelected(item: ItemValue): boolean {\n if (item === this.selectAllItem) return this.isAllSelected;\n var val = this.renderedValue;\n if (!val || !Array.isArray(val)) return false;\n for (var i = 0; i < val.length; i++) {\n if (Helpers.isTwoValueEquals(val[i], item.value)) return true;\n }\n return false;\n }\n protected setNewValue(newValue: any) {\n if (!this.isChangingValueOnClearIncorrect) {\n this.invisibleOldValues = [];\n }\n newValue = this.valueFromData(newValue);\n var value = this.value;\n if (!newValue) newValue = [];\n if (!value) value = [];\n if (Helpers.isTwoValueEquals(value, newValue)) return;\n if (this.hasNone) {\n var prevNoneIndex = this.noneIndexInArray(value);\n var newNoneIndex = this.noneIndexInArray(newValue);\n if (prevNoneIndex > -1) {\n if (newNoneIndex > -1 && newValue.length > 1) {\n newValue.splice(newNoneIndex, 1);\n }\n } else {\n if (newNoneIndex > -1) {\n newValue.splice(0, newValue.length);\n newValue.push(this.noneItem.value);\n }\n }\n }\n super.setNewValue(this.rendredValueToData(newValue));\n }\n private noneIndexInArray(val: any) {\n if (!val || !Array.isArray(val)) return -1;\n var noneValue = this.noneItem.value;\n for (var i = 0; i < val.length; i++) {\n if (val[i] == noneValue) return i;\n }\n return -1;\n }\n protected canUseFilteredChoices(): boolean {\n return !this.hasNone && !this.hasSelectAll && super.canUseFilteredChoices();\n }\n protected addToVisibleChoices(items: Array) {\n if (this.hasSelectAll) {\n items.unshift(this.selectAllItem);\n }\n super.addToVisibleChoices(items);\n if (this.hasNone) {\n items.push(this.noneItem);\n }\n }\n protected getDisplayValueCore(keysAsText: boolean, value: any): any {\n if (!Array.isArray(value))\n return super.getDisplayValueCore(keysAsText, value);\n var items = this.visibleChoices;\n var str = \"\";\n for (var i = 0; i < value.length; i++) {\n var valStr = this.getChoicesDisplayValue(items, value[i]);\n if (valStr) {\n if (str) str += \", \";\n str += valStr;\n }\n }\n return str;\n }\n protected clearIncorrectValuesCore() {\n this.clearIncorrectAndDisabledValues(false);\n }\n protected clearDisabledValuesCore() {\n this.clearIncorrectAndDisabledValues(true);\n }\n private isChangingValueOnClearIncorrect: boolean = false;\n private clearIncorrectAndDisabledValues(clearDisabled: boolean) {\n var val = this.value;\n var hasChanged = false;\n var restoredValues = this.restoreValuesFromInvisible();\n if (!val && restoredValues.length == 0) return;\n if (!Array.isArray(val) || val.length == 0) {\n this.isChangingValueOnClearIncorrect = true;\n if (!clearDisabled) {\n if (this.hasComment) {\n this.value = null;\n } else {\n this.clearValue();\n }\n }\n this.isChangingValueOnClearIncorrect = false;\n if (restoredValues.length == 0) return;\n val = [];\n }\n var newValue = [];\n for (var i = 0; i < val.length; i++) {\n var isUnkown = this.canClearValueAnUnknow(val[i]);\n if (\n (!clearDisabled && !isUnkown) ||\n (clearDisabled && !this.isValueDisabled(val[i]))\n ) {\n newValue.push(val[i]);\n } else {\n hasChanged = true;\n if (isUnkown) {\n this.invisibleOldValues[val[i]] = true;\n }\n }\n }\n for (var i = 0; i < restoredValues.length; i++) {\n newValue.push(restoredValues[i]);\n hasChanged = true;\n }\n if (!hasChanged) return;\n this.isChangingValueOnClearIncorrect = true;\n if (newValue.length == 0) {\n this.clearValue();\n } else {\n this.value = newValue;\n }\n this.isChangingValueOnClearIncorrect = false;\n }\n private restoreValuesFromInvisible(): Array {\n var res = [];\n var visItems = this.visibleChoices;\n for (var i = 0; i < visItems.length; i++) {\n var val = visItems[i].value;\n if (this.invisibleOldValues[val]) {\n res.push(val);\n delete this.invisibleOldValues[val];\n }\n }\n return res;\n }\n public getConditionJson(operator: string = null, path: string = null): any {\n var json = super.getConditionJson();\n if (operator == \"contains\" || operator == \"notcontains\") {\n json[\"type\"] = \"radiogroup\";\n }\n return json;\n }\n public isAnswerCorrect(): boolean {\n return Helpers.isArrayContainsEqual(this.value, this.correctAnswer);\n }\n protected setDefaultValueWithOthers() {\n this.value = this.renderedValueFromDataCore(this.defaultValue);\n }\n protected getHasOther(val: any): boolean {\n if (!val || !Array.isArray(val)) return false;\n return val.indexOf(this.otherItem.value) >= 0;\n }\n protected valueFromData(val: any): any {\n if (!val) return val;\n if (!Array.isArray(val)) return [super.valueFromData(val)];\n let value = [];\n for (let i = 0; i < val.length; i++) {\n let choiceitem = ItemValue.getItemByValue(this.activeChoices, val[i]);\n if (!!choiceitem) {\n value.push(choiceitem.value);\n } else {\n value.push(val[i]);\n }\n }\n return value;\n }\n protected renderedValueFromDataCore(val: any): any {\n if (!val || !Array.isArray(val)) val = [];\n for (var i = 0; i < val.length; i++) {\n if (val[i] == this.otherItem.value) return val;\n if (this.hasUnknownValue(val[i])) {\n this.comment = val[i];\n var newVal = val.slice();\n newVal[i] = this.otherItem.value;\n return newVal;\n }\n }\n return val;\n }\n protected rendredValueToDataCore(val: any): any {\n if (!val || !val.length) return val;\n for (var i = 0; i < val.length; i++) {\n if (val[i] == this.otherItem.value) {\n if (this.getQuestionComment()) {\n var newVal = val.slice();\n newVal[i] = this.getQuestionComment();\n return newVal;\n }\n }\n }\n return val;\n }\n protected hasUnknownValue(val: any, includeOther: boolean = false): boolean {\n if (this.hasNone && val == this.noneItemValue.value) return false;\n return super.hasUnknownValue(val, includeOther);\n }\n protected addSupportedValidators(supportedValidators: Array) {\n super.addSupportedValidators(supportedValidators);\n supportedValidators.push(\"answercount\");\n }\n}\nSerializer.addClass(\n \"checkbox\",\n [\n \"hasSelectAll:boolean\",\n \"hasNone:boolean\",\n { name: \"noneText\", serializationProperty: \"locNoneText\" },\n { name: \"selectAllText\", serializationProperty: \"locSelectAllText\" },\n ],\n function () {\n return new QuestionCheckboxModel(\"\");\n },\n \"checkboxbase\"\n);\nQuestionFactory.Instance.registerQuestion(\"checkbox\", (name) => {\n var q = new QuestionCheckboxModel(name);\n q.choices = QuestionFactory.DefaultChoices;\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_checkbox.ts","import { Question } from \"./question\";\nimport { Serializer } from \"./jsonobject\";\nimport { QuestionFactory } from \"./questionfactory\";\nimport { LocalizableString } from \"./localizablestring\";\nimport { Helpers } from \"./helpers\";\n\n/**\n * A Model for a comment question\n */\nexport class QuestionCommentModel extends Question {\n constructor(public name: string) {\n super(name);\n this.createLocalizableString(\"placeHolder\", this);\n }\n protected isTextValue(): boolean {\n return true;\n }\n /**\n * The maximum text length. If it is -1, defaul value, then the survey maxTextLength property will be used.\n * If it is 0, then the value is unlimited\n * @see SurveyModel.maxTextLength\n */\n public get maxLength(): number {\n return this.getPropertyValue(\"maxLength\");\n }\n public set maxLength(val: number) {\n this.setPropertyValue(\"maxLength\", val);\n }\n public getMaxLength(): any {\n return Helpers.getMaxLength(\n this.maxLength,\n this.survey ? this.survey.maxTextLength : -1\n );\n }\n /**\n * Use this property to set the input place holder.\n */\n public get placeHolder(): string {\n return this.getLocalizableStringText(\"placeHolder\");\n }\n public set placeHolder(val: string) {\n this.setLocalizableStringText(\"placeHolder\", val);\n }\n get locPlaceHolder(): LocalizableString {\n return this.getLocalizableString(\"placeHolder\");\n }\n /**\n * The html rows attribute.\n */\n public get rows(): number {\n return this.getPropertyValue(\"rows\");\n }\n public set rows(val: number) {\n this.setPropertyValue(\"rows\", val);\n }\n /**\n * The html cols attribute.\n */\n public get cols(): number {\n return this.getPropertyValue(\"cols\");\n }\n public set cols(val: number) {\n this.setPropertyValue(\"cols\", val);\n }\n public getType(): string {\n return \"comment\";\n }\n isEmpty(): boolean {\n return super.isEmpty() || this.value === \"\";\n }\n protected addSupportedValidators(supportedValidators: Array) {\n super.addSupportedValidators(supportedValidators);\n supportedValidators.push(\"text\", \"regex\");\n }\n}\nSerializer.addClass(\n \"comment\",\n [\n { name: \"maxLength:number\", default: -1 },\n { name: \"cols:number\", default: 50 },\n { name: \"rows:number\", default: 4 },\n { name: \"placeHolder\", serializationProperty: \"locPlaceHolder\" },\n ],\n function () {\n return new QuestionCommentModel(\"\");\n },\n \"question\"\n);\nQuestionFactory.Instance.registerQuestion(\"comment\", (name) => {\n return new QuestionCommentModel(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_comment.ts","import { Question } from \"./question\";\nimport { Serializer, CustomPropertiesCollection } from \"./jsonobject\";\nimport {\n ISurveyImpl,\n ISurveyData,\n ISurvey,\n ITextProcessor,\n IPanel,\n IElement,\n SurveyElement,\n IConditionRunner,\n} from \"./base\";\nimport { PanelModel } from \"./panel\";\nimport { Helpers, HashTable } from \"./helpers\";\nimport { ItemValue } from \"./itemvalue\";\n\nexport class ComponentQuestionJSON {\n public constructor(public name: string, public json: any) {\n var self = this;\n Serializer.addClass(\n name,\n [],\n function (json: any) {\n return ComponentCollection.Instance.createQuestion(\n !!json ? json.name : \"\",\n self\n );\n },\n \"question\"\n );\n this.onInit();\n }\n public onInit() {\n if (!this.json.onInit) return;\n this.json.onInit();\n }\n public onCreated(question: Question) {\n if (!this.json.onCreated) return;\n this.json.onCreated(question);\n }\n public onLoaded(question: Question) {\n if (!this.json.onLoaded) return;\n this.json.onLoaded(question);\n }\n public onAfterRender(question: Question, htmlElement: any) {\n if (!this.json.onAfterRender) return;\n this.json.onAfterRender(question, htmlElement);\n }\n public onAfterRenderContentElement(\n question: Question,\n element: Question,\n htmlElement: any\n ) {\n if (!this.json.onAfterRenderContentElement) return;\n this.json.onAfterRenderContentElement(question, element, htmlElement);\n }\n public onPropertyChanged(\n question: Question,\n propertyName: string,\n newValue: any\n ) {\n if (!this.json.onPropertyChanged) return;\n this.json.onPropertyChanged(question, propertyName, newValue);\n }\n public onItemValuePropertyChanged(\n question: Question,\n item: ItemValue,\n propertyName: string,\n name: string,\n newValue: any\n ) {\n if (!this.json.onItemValuePropertyChanged) return;\n this.json.onItemValuePropertyChanged(question, {\n obj: item,\n propertyName: propertyName,\n name: name,\n newValue: newValue,\n });\n }\n public get isComposite() {\n return !!this.json.elementsJSON || !!this.json.createElements;\n }\n}\n\nexport class ComponentCollection {\n public static Instance: ComponentCollection = new ComponentCollection();\n private customQuestionValues: Array = [];\n public onCreateComposite: (\n name: string,\n questionJSON: ComponentQuestionJSON\n ) => QuestionCompositeModel;\n public onCreateCustom: (\n name: string,\n questionJSON: ComponentQuestionJSON\n ) => QuestionCustomModel;\n public onAddingJson: (name: string, isComposite: boolean) => void;\n public add(json: any) {\n if (!json) return;\n let name = json.name;\n if (!name) {\n throw \"Attribute name is missed\";\n }\n name = name.toLowerCase();\n if (!!this.getCustomQuestionByName(name)) {\n throw (\n \"There is already registered custom question with name '\" + name + \"'\"\n );\n }\n if (!!Serializer.findClass(name)) {\n throw \"There is already class with name '\" + name + \"'\";\n }\n var customQuestion = new ComponentQuestionJSON(name, json);\n if (!!this.onAddingJson)\n this.onAddingJson(name, customQuestion.isComposite);\n this.customQuestionValues.push(customQuestion);\n }\n public get items(): Array {\n return this.customQuestionValues;\n }\n public getCustomQuestionByName(name: string): ComponentQuestionJSON {\n for (var i = 0; i < this.customQuestionValues.length; i++) {\n if (this.customQuestionValues[i].name == name)\n return this.customQuestionValues[i];\n }\n return null;\n }\n public clear() {\n for (var i = 0; i < this.customQuestionValues.length; i++) {\n Serializer.removeClass(this.customQuestionValues[i].name);\n }\n this.customQuestionValues = [];\n }\n public createQuestion(\n name: string,\n questionJSON: ComponentQuestionJSON\n ): Question {\n if (!!questionJSON.isComposite)\n return this.createCompositeModel(name, questionJSON);\n return this.createCustomModel(name, questionJSON);\n }\n protected createCompositeModel(\n name: string,\n questionJSON: ComponentQuestionJSON\n ): QuestionCompositeModel {\n if (!!this.onCreateComposite)\n return this.onCreateComposite(name, questionJSON);\n return new QuestionCompositeModel(name, questionJSON);\n }\n protected createCustomModel(\n name: string,\n questionJSON: ComponentQuestionJSON\n ): QuestionCustomModel {\n if (!!this.onCreateCustom) return this.onCreateCustom(name, questionJSON);\n return new QuestionCustomModel(name, questionJSON);\n }\n}\n\nexport abstract class QuestionCustomModelBase extends Question\n implements ISurveyImpl, ISurveyData, IPanel {\n constructor(\n public name: string,\n public customQuestion: ComponentQuestionJSON\n ) {\n super(name);\n CustomPropertiesCollection.createProperties(this);\n SurveyElement.CreateDisabledDesignElements = true;\n this.createWrapper();\n SurveyElement.CreateDisabledDesignElements = false;\n if (!!this.customQuestion) {\n this.customQuestion.onCreated(this);\n }\n }\n public getType(): string {\n return !!this.customQuestion ? this.customQuestion.name : \"custom\";\n }\n protected createWrapper() {}\n protected onPropertyValueChanged(name: string, oldValue: any, newValue: any) {\n super.onPropertyValueChanged(name, oldValue, newValue);\n if (!!this.customQuestion && !this.isLoadingFromJson) {\n this.customQuestion.onPropertyChanged(this, name, newValue);\n }\n }\n public itemValuePropertyChanged(\n item: ItemValue,\n name: string,\n oldValue: any,\n newValue: any\n ) {\n super.itemValuePropertyChanged(item, name, oldValue, newValue);\n if (!!this.customQuestion && !this.isLoadingFromJson) {\n this.customQuestion.onItemValuePropertyChanged(\n this,\n item,\n item.ownerPropertyName,\n name,\n newValue\n );\n }\n }\n public onFirstRendering() {\n var el = this.getElement();\n if (!!el) {\n el.onFirstRendering();\n }\n super.onFirstRendering();\n }\n protected abstract getElement(): SurveyElement;\n protected initElement(el: SurveyElement) {\n if (!el) return;\n el.setSurveyImpl(this);\n el.disableDesignActions = true;\n }\n public setSurveyImpl(value: ISurveyImpl) {\n super.setSurveyImpl(value);\n this.initElement(this.getElement());\n }\n public onSurveyLoad() {\n super.onSurveyLoad();\n if (!!this.getElement()) {\n this.getElement().onSurveyLoad();\n this.customQuestion.onLoaded(this);\n }\n }\n public afterRenderQuestionElement(el: any) {\n //Do nothing\n }\n public afterRender(el: any) {\n super.afterRender(el);\n if (!!this.customQuestion) {\n this.customQuestion.onAfterRender(this, el);\n }\n }\n protected setQuestionValue(newValue: any, updateIsAnswered: boolean = true) {\n super.setQuestionValue(newValue, updateIsAnswered);\n this.updateElementCss();\n }\n protected setNewValue(newValue: any) {\n super.setNewValue(newValue);\n this.updateElementCss();\n }\n //ISurveyImpl\n geSurveyData(): ISurveyData {\n return this;\n }\n getSurvey(): ISurvey {\n return this.survey;\n }\n getTextProcessor(): ITextProcessor {\n return this.textProcessor;\n }\n //ISurveyData\n getValue(name: string): any {\n return this.value;\n }\n setValue(\n name: string,\n newValue: any,\n locNotification: any,\n allowNotifyValueChanged?: boolean\n ): any {\n if (!this.data) return;\n var newName = this.convertDataName(name);\n this.data.setValue(\n newName,\n this.convertDataValue(name, newValue),\n locNotification,\n allowNotifyValueChanged\n );\n this.updateIsAnswered();\n this.updateElementCss();\n }\n protected convertDataName(name: string): string {\n return this.getValueName();\n }\n protected convertDataValue(name: string, newValue: any): any {\n return newValue;\n }\n getVariable(name: string): any {\n return !!this.data ? this.data.getVariable(name) : null;\n }\n setVariable(name: string, newValue: any): void {\n if (!this.data) return;\n this.data.setVariable(name, newValue);\n }\n getComment(name: string): string {\n return !!this.data ? this.data.getComment(this.getValueName()) : \"\";\n }\n setComment(name: string, newValue: string, locNotification: any): any {\n if (!this.data) return;\n this.data.setComment(this.getValueName(), newValue, locNotification);\n }\n getAllValues(): any {\n return !!this.data ? this.data.getAllValues() : {};\n }\n getFilteredValues(): any {\n return !!this.data ? this.data.getFilteredValues() : {};\n }\n getFilteredProperties(): any {\n return !!this.data ? this.data.getFilteredProperties() : {};\n }\n //IPanel\n addElement(element: IElement, index: number) {}\n removeElement(element: IElement): boolean {\n return false;\n }\n getQuestionTitleLocation(): string {\n return \"left\";\n }\n getQuestionStartIndex(): string {\n return this.getStartIndex();\n }\n getChildrenLayoutType(): string {\n return \"row\";\n }\n elementWidthChanged(el: IElement) {}\n get elements(): Array {\n return [];\n }\n indexOf(el: IElement): number {\n return -1;\n }\n}\n\nexport class QuestionCustomModel extends QuestionCustomModelBase {\n private questionWrapper: Question;\n public getTemplate(): string {\n return \"custom\";\n }\n protected createWrapper() {\n this.questionWrapper = this.createQuestion();\n }\n protected getElement(): SurveyElement {\n return this.contentQuestion;\n }\n public hasErrors(fireCallback: boolean = true, rec: any = null): boolean {\n if (!this.contentQuestion) return false;\n var res = this.contentQuestion.hasErrors(fireCallback, rec);\n this.errors = [];\n for (var i = 0; i < this.contentQuestion.errors.length; i++) {\n this.errors.push(this.contentQuestion.errors[i]);\n }\n if (!res) {\n res = super.hasErrors(fireCallback, rec);\n }\n this.updateElementCss();\n return res;\n }\n public focus(onError: boolean = false) {\n if (!!this.contentQuestion) {\n this.contentQuestion.focus(onError);\n } else {\n super.focus(onError);\n }\n }\n public get contentQuestion(): Question {\n return this.questionWrapper;\n }\n protected createQuestion(): Question {\n var json = this.customQuestion.json;\n var res = null;\n if (!!json.questionJSON) {\n var qType = json.questionJSON.type;\n if (!qType || !Serializer.findClass(qType))\n throw \"type attribute in questionJSON is empty or incorrect\";\n res = Serializer.createClass(qType);\n this.initElement(res);\n res.fromJSON(json.questionJSON);\n } else {\n if (!!json.createQuestion) {\n res = json.createQuestion();\n this.initElement(res);\n }\n }\n if (!!res && !res.name) {\n res.name = \"question\";\n }\n return res;\n }\n public onSurveyLoad() {\n super.onSurveyLoad();\n if (!this.contentQuestion) return;\n if (this.isEmpty() && !this.contentQuestion.isEmpty()) {\n this.value = this.contentQuestion.value;\n }\n }\n public runCondition(values: HashTable, properties: HashTable) {\n super.runCondition(values, properties);\n if (!!this.contentQuestion) {\n this.contentQuestion.runCondition(values, properties);\n }\n }\n protected convertDataName(name: string): string {\n if (!this.contentQuestion) return super.convertDataName(name);\n var newName = name.replace(\n this.contentQuestion.getValueName(),\n this.getValueName()\n );\n return newName.indexOf(this.getValueName()) == 0\n ? newName\n : super.convertDataName(name);\n }\n protected convertDataValue(name: string, newValue: any): any {\n return this.convertDataName(name) == super.convertDataName(name)\n ? this.contentQuestion.value\n : newValue;\n }\n protected setQuestionValue(newValue: any, updateIsAnswered: boolean = true) {\n super.setQuestionValue(newValue, updateIsAnswered);\n if (!!this.contentQuestion) {\n this.contentQuestion.value = newValue;\n }\n }\n onSurveyValueChanged(newValue: any) {\n super.onSurveyValueChanged(newValue);\n if (!!this.contentQuestion) {\n this.contentQuestion.onSurveyValueChanged(newValue);\n }\n }\n protected initElement(el: SurveyElement) {\n super.initElement(el);\n if (!!el) {\n (el).parent = this;\n (el).afterRenderQuestionCallback = (\n question: Question,\n element: any\n ) => {\n if (!!this.customQuestion) {\n this.customQuestion.onAfterRenderContentElement(\n this,\n question,\n element\n );\n }\n };\n }\n }\n protected updateElementCssCore(cssClasses: any) {\n if (!!this.contentQuestion) {\n cssClasses = this.contentQuestion.cssClasses;\n }\n super.updateElementCssCore(cssClasses);\n }\n}\n\nexport class QuestionCompositeModel extends QuestionCustomModelBase {\n private panelWrapper: PanelModel;\n protected createWrapper() {\n this.panelWrapper = this.createPanel();\n }\n public getTemplate(): string {\n return \"composite\";\n }\n protected getCssType(): string {\n return \"composite\";\n }\n protected getElement(): SurveyElement {\n return this.contentPanel;\n }\n public get contentPanel(): PanelModel {\n return this.panelWrapper;\n }\n public hasErrors(fireCallback: boolean = true, rec: any = null): boolean {\n var res = super.hasErrors(fireCallback, rec);\n if (!this.contentPanel) return res;\n return this.contentPanel.hasErrors(fireCallback, false, rec) || res;\n }\n public updateElementCss() {\n super.updateElementCss();\n if (this.contentPanel) {\n this.contentPanel.updateElementCss();\n }\n }\n protected createPanel(): PanelModel {\n var res = Serializer.createClass(\"panel\");\n res.showQuestionNumbers = \"off\";\n var json = this.customQuestion.json;\n if (!!json.elementsJSON) {\n res.fromJSON({ elements: json.elementsJSON });\n }\n if (!!json.createElements) {\n json.createElements(res);\n }\n this.initElement(res);\n res.readOnly = this.isReadOnly;\n this.setAfterRenderCallbacks(res);\n return res;\n }\n protected onReadOnlyChanged() {\n if (!!this.contentPanel) {\n this.contentPanel.readOnly = this.isReadOnly;\n }\n super.onReadOnlyChanged();\n }\n public onSurveyLoad() {\n if (!!this.contentPanel) {\n this.contentPanel.readOnly = this.isReadOnly;\n this.setIsContentElement(this.contentPanel);\n }\n super.onSurveyLoad();\n }\n private setIsContentElement(panel: PanelModel) {\n panel.isContentElement = true;\n var elements = panel.elements;\n for (var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (el.isPanel) {\n this.setIsContentElement(el);\n } else {\n (el).isContentElement = true;\n }\n }\n }\n public setVisibleIndex(val: number): number {\n var res = super.setVisibleIndex(val);\n if (this.isVisible && !!this.contentPanel) {\n res += this.contentPanel.setVisibleIndex(val);\n }\n return res;\n }\n public runCondition(values: HashTable, properties: HashTable) {\n super.runCondition(values, properties);\n if (!!this.contentPanel) {\n var oldComposite = values.composite;\n values.composite = this.contentPanel.getValue();\n this.contentPanel.runCondition(values, properties);\n delete values[\"composite\"];\n if (!!oldComposite) {\n values.composite = oldComposite;\n }\n }\n }\n getValue(name: string): any {\n var val = this.value;\n return !!val ? val[name] : null;\n }\n protected convertDataValue(name: string, newValue: any): any {\n var val = this.value;\n if (!val) val = {};\n if (Helpers.isValueEmpty(newValue)) {\n delete val[name];\n } else {\n val[name] = newValue;\n }\n return val;\n }\n protected setQuestionValue(newValue: any, updateIsAnswered: boolean = true) {\n super.setQuestionValue(newValue, updateIsAnswered);\n var questions = this.contentPanel.questions;\n for (var i = 0; i < questions.length; i++) {\n var key = questions[i].getValueName();\n questions[i].value = !!newValue ? newValue[key] : undefined;\n }\n }\n private setAfterRenderCallbacks(panel: PanelModel) {\n if (!panel || !this.customQuestion) return;\n var questions = panel.questions;\n for (var i = 0; i < questions.length; i++) {\n questions[i].afterRenderQuestionCallback = (\n question: Question,\n element: any\n ) => {\n this.customQuestion.onAfterRenderContentElement(\n this,\n question,\n element\n );\n };\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_custom.ts","import { Serializer } from \"./jsonobject\";\nimport { Question } from \"./question\";\n\n/**\n * A Model for an question that renders empty \"div\" tag. It used as a base class for some custom widgets\n */\nexport class QuestionEmptyModel extends Question {\n constructor(public name: string) {\n super(name);\n }\n public getType(): string {\n return \"empty\";\n }\n}\n\nSerializer.addClass(\n \"empty\",\n [],\n function() {\n return new QuestionEmptyModel(\"\");\n },\n \"question\"\n);\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_empty.ts","import { Question } from \"./question\";\nimport { Serializer } from \"./jsonobject\";\nimport { QuestionFactory } from \"./questionfactory\";\nimport { SurveyError, Event } from \"./base\";\nimport { UploadingFileError, ExceedSizeError } from \"./error\";\nimport { surveyLocalization } from \"./surveyStrings\";\n\n/**\n * A Model for a file question\n */\nexport class QuestionFileModel extends Question {\n private isUploading: boolean = false;\n /**\n * The event is fired after question state has been changed.\n *
    sender the question object that fires the event\n *
    options.state new question state value.\n */\n public onStateChanged: Event<\n (sender: QuestionFileModel, options: any) => any,\n any\n > = new Event<(sender: QuestionFileModel, options: any) => any, any>();\n public previewValue: any[] = [];\n public currentState = \"empty\";\n constructor(public name: string) {\n super(name);\n }\n public getType(): string {\n return \"file\";\n }\n public clearOnDeletingContainer() {\n this.survey.clearFiles(this, this.name, this.value, null, () => {});\n }\n /**\n * Set it to true, to show the preview for the image files.\n */\n public get showPreview() {\n return this.getPropertyValue(\"showPreview\");\n }\n public set showPreview(val: boolean) {\n this.setPropertyValue(\"showPreview\", val);\n }\n /**\n * Set it to true, to allow select multiple files.\n */\n public get allowMultiple() {\n return this.getPropertyValue(\"allowMultiple\", false);\n }\n public set allowMultiple(val: boolean) {\n this.setPropertyValue(\"allowMultiple\", val);\n }\n /**\n * The image height.\n */\n public get imageHeight(): string {\n return this.getPropertyValue(\"imageHeight\");\n }\n public set imageHeight(val: string) {\n this.setPropertyValue(\"imageHeight\", val);\n }\n /**\n * The image width.\n */\n public get imageWidth(): string {\n return this.getPropertyValue(\"imageWidth\");\n }\n public set imageWidth(val: string) {\n this.setPropertyValue(\"imageWidth\", val);\n }\n /**\n * Accepted file types. Passed to the 'accept' attribute of the file input tag. See https://www.w3schools.com/tags/att_input_accept.asp for more details.\n */\n public get acceptedTypes(): string {\n return this.getPropertyValue(\"acceptedTypes\");\n }\n public set acceptedTypes(val: string) {\n this.setPropertyValue(\"acceptedTypes\", val);\n }\n /**\n * Set it to false if you do not want to serialize file content as text in the survey.data.\n * In this case, you have to write the code onUploadFiles event to store the file content.\n * @see SurveyModel.onUploadFiles\n */\n public get storeDataAsText(): boolean {\n return this.getPropertyValue(\"storeDataAsText\");\n }\n public set storeDataAsText(val: boolean) {\n this.setPropertyValue(\"storeDataAsText\", val);\n }\n /**\n * Set it to true if you want to wait until files will be uploaded to your server.\n */\n public get waitForUpload(): boolean {\n return this.getPropertyValue(\"waitForUpload\", false);\n }\n public set waitForUpload(val: boolean) {\n this.setPropertyValue(\"waitForUpload\", val);\n }\n /**\n * Set it to false if you want to disable images preview.\n */\n public get allowImagesPreview(): boolean {\n return this.getPropertyValue(\"allowImagesPreview\");\n }\n public set allowImagesPreview(val: boolean) {\n this.setPropertyValue(\"allowImagesPreview\", val);\n }\n /**\n * Use this property to setup the maximum allowed file size.\n */\n public get maxSize(): number {\n return this.getPropertyValue(\"maxSize\", 0);\n }\n public set maxSize(val: number) {\n this.setPropertyValue(\"maxSize\", val);\n }\n /**\n * Use this property to setup confirmation to remove file.\n */\n public get needConfirmRemoveFile(): boolean {\n return this.getPropertyValue(\"needConfirmRemoveFile\");\n }\n public set needConfirmRemoveFile(val: boolean) {\n this.setPropertyValue(\"needConfirmRemoveFile\", val);\n }\n /**\n * The remove file confirmation message.\n */\n public getConfirmRemoveMessage(fileName: string): string {\n return surveyLocalization\n .getString(\"confirmRemoveFile\")\n [\"format\"](fileName);\n }\n /**\n * The remove all files confirmation message.\n */\n get confirmRemoveAllMessage(): string {\n return surveyLocalization.getString(\"confirmRemoveAllFiles\");\n }\n /**\n * The no file chosen caption for modern theme.\n */\n get noFileChosenCaption(): string {\n return surveyLocalization.getString(\"noFileChosen\");\n }\n /**\n * The choose files button caption for modern theme.\n */\n get chooseButtonCaption(): string {\n return surveyLocalization.getString(\"chooseFileCaption\");\n }\n /**\n * The clean files button caption.\n */\n get cleanButtonCaption(): string {\n return surveyLocalization.getString(\"cleanCaption\");\n }\n /**\n * The remove file button caption.\n */\n get removeFileCaption(): string {\n return surveyLocalization.getString(\"removeFileCaption\");\n }\n /**\n * The input title value.\n */\n get inputTitle(): string {\n if (this.isUploading) return surveyLocalization.getString(\"loadingFile\");\n if (this.isEmpty()) return surveyLocalization.getString(\"chooseFile\");\n return \" \";\n }\n /**\n * Clear value programmatically.\n */\n public clear(doneCallback?: () => void) {\n this.survey.clearFiles(this, this.name, this.value, null, (status, data) => {\n if (status === \"success\") {\n this.value = undefined;\n this.errors = [];\n !!doneCallback && doneCallback();\n }\n });\n }\n /**\n * Remove file item programmatically.\n */\n public removeFile(content: { name: string }) {\n this.survey.clearFiles(\n this,\n this.name,\n this.value,\n content.name,\n (status, data) => {\n if (status === \"success\") {\n var oldValue = this.value;\n if (Array.isArray(oldValue)) {\n this.value = oldValue.filter((f) => f.name !== content.name);\n } else {\n this.value = undefined;\n }\n }\n }\n );\n }\n /**\n * Load multiple files programmatically.\n * @param files\n */\n public loadFiles(files: File[]) {\n if (!this.survey) {\n return;\n }\n this.errors = [];\n if (!this.allFilesOk(files)) {\n return;\n }\n\n this.stateChanged(\"loading\");\n\n var loadFilesProc = () => {\n var content = >[];\n if (this.storeDataAsText) {\n files.forEach((file) => {\n let fileReader = new FileReader();\n fileReader.onload = (e) => {\n content = content.concat([\n { name: file.name, type: file.type, content: fileReader.result },\n ]);\n if (content.length === files.length) {\n this.value = (this.value || []).concat(content);\n }\n };\n fileReader.readAsDataURL(file);\n });\n } else {\n this.survey.uploadFiles(this, this.name, files, (status, data) => {\n if (status === \"error\") {\n this.stateChanged(\"error\");\n }\n if (status === \"success\") {\n this.value = (this.value || []).concat(\n data.map((r: any) => {\n return {\n name: r.file.name,\n type: r.file.type,\n content: r.content,\n };\n })\n );\n }\n });\n }\n };\n if (this.allowMultiple) {\n loadFilesProc();\n } else {\n this.clear(loadFilesProc);\n }\n }\n public canPreviewImage(fileItem: any): boolean {\n return this.allowImagesPreview && !!fileItem && this.isFileImage(fileItem);\n }\n protected setQuestionValue(newValue: any) {\n super.setQuestionValue(newValue);\n this.previewValue = [];\n var state =\n (!Array.isArray(newValue) && !!newValue) ||\n (Array.isArray(newValue) && newValue.length > 0)\n ? this.showPreview\n ? \"loading\"\n : \"loaded\"\n : \"empty\";\n this.stateChanged(state);\n if (!this.showPreview || !newValue) return;\n var newValues = Array.isArray(newValue)\n ? newValue\n : !!newValue\n ? [newValue]\n : [];\n\n if (this.storeDataAsText) {\n newValues.forEach((value) => {\n var content = value.content || value;\n this.previewValue = this.previewValue.concat([\n {\n name: value.name,\n type: value.type,\n content: content,\n },\n ]);\n });\n if (state === \"loading\") this.stateChanged(\"loaded\");\n } else {\n newValues.forEach((value) => {\n var content = value.content || value;\n this.survey.downloadFile(this.name, value, (status, data) => {\n if (status === \"success\") {\n this.previewValue = this.previewValue.concat([\n {\n content: data,\n name: value.name,\n type: value.type,\n },\n ]);\n if (this.previewValue.length === newValues.length) {\n this.stateChanged(\"loaded\");\n }\n } else {\n this.stateChanged(\"error\");\n }\n });\n });\n }\n }\n protected onCheckForErrors(\n errors: Array,\n isOnValueChanged: boolean\n ) {\n super.onCheckForErrors(errors, isOnValueChanged);\n if (this.isUploading && this.waitForUpload) {\n errors.push(\n new UploadingFileError(\n surveyLocalization.getString(\"uploadingFile\"),\n this\n )\n );\n }\n }\n protected stateChanged(state: string) {\n if (state === \"loading\") {\n this.isUploading = true;\n }\n if (state === \"loaded\") {\n this.isUploading = false;\n }\n this.currentState = state;\n this.onStateChanged.fire(this, { state: state });\n }\n private allFilesOk(files: File[]): boolean {\n var errorLength = this.errors ? this.errors.length : 0;\n (files || []).forEach((file) => {\n if (this.maxSize > 0 && file.size > this.maxSize) {\n this.errors.push(new ExceedSizeError(this.maxSize, this));\n }\n });\n return errorLength === this.errors.length;\n }\n private isFileImage(file: {\n content: string;\n name?: string;\n type?: string;\n }): boolean {\n if (!file) return false;\n const imagePrefix = \"data:image\";\n var subStr = file.content && file.content.substr(0, imagePrefix.length);\n subStr = subStr && subStr.toLowerCase();\n var result =\n subStr === imagePrefix ||\n (!!file.type && file.type.toLowerCase().indexOf(\"image/\") === 0);\n return result;\n }\n public getPlainData(\n options: {\n includeEmpty?: boolean;\n calculations?: Array<{\n propertyName: string;\n }>;\n } = {\n includeEmpty: true,\n }\n ) {\n var questionPlainData = super.getPlainData(options);\n if (!!questionPlainData && !this.isEmpty()) {\n questionPlainData.isNode = false;\n var values = Array.isArray(this.value) ? this.value : [this.value];\n questionPlainData.data = values.map((dataValue, index) => {\n return {\n name: index,\n title: \"File\",\n value: (dataValue.content && dataValue.content) || dataValue,\n displayValue: (dataValue.name && dataValue.name) || dataValue,\n getString: (val: any) =>\n typeof val === \"object\" ? JSON.stringify(val) : val,\n isNode: false,\n };\n });\n }\n return questionPlainData;\n }\n public supportComment(): boolean {\n return true;\n }\n}\nSerializer.addClass(\n \"file\",\n [\n { name: \"hasComment:switch\", layout: \"row\" },\n {\n name: \"commentText\",\n dependsOn: \"hasComment\",\n visibleIf: function (obj: any) {\n return obj.hasComment;\n },\n serializationProperty: \"locCommentText\",\n layout: \"row\",\n },\n { name: \"showPreview:boolean\", default: true },\n \"allowMultiple:boolean\",\n { name: \"allowImagesPreview:boolean\", default: true },\n \"imageHeight\",\n \"imageWidth\",\n \"acceptedTypes\",\n { name: \"storeDataAsText:boolean\", default: true },\n { name: \"waitForUpload:boolean\", default: false },\n \"maxSize:number\",\n { name: \"defaultValue\", visible: false },\n { name: \"correctAnswer\", visible: false },\n { name: \"validators\", visible: false },\n { name: \"needConfirmRemoveFile:boolean\", visible: true, default: false },\n ],\n function () {\n return new QuestionFileModel(\"\");\n },\n \"question\"\n);\nQuestionFactory.Instance.registerQuestion(\"file\", (name) => {\n return new QuestionFileModel(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_file.ts","import { QuestionNonValue } from \"./questionnonvalue\";\nimport { Serializer } from \"./jsonobject\";\nimport { QuestionFactory } from \"./questionfactory\";\nimport { LocalizableString } from \"./localizablestring\";\n\n/**\n * A Model for html question. Unlike other questions it doesn't have value and title.\n */\nexport class QuestionHtmlModel extends QuestionNonValue {\n constructor(public name: string) {\n super(name);\n var locHtml = this.createLocalizableString(\"html\", this);\n var self = this;\n locHtml.onGetTextCallback = function(str: string): string {\n return !!self.survey ? self.survey.processHtml(str) : str;\n };\n }\n public getType(): string {\n return \"html\";\n }\n public get isCompositeQuestion(): boolean {\n return true;\n }\n /**\n * Set html to display it\n */\n public get html(): string {\n return this.getLocalizableStringText(\"html\", \"\");\n }\n public set html(val: string) {\n this.setLocalizableStringText(\"html\", val);\n }\n get locHtml(): LocalizableString {\n return this.getLocalizableString(\"html\");\n }\n public get processedHtml() {\n return this.survey ? this.survey.processHtml(this.html) : this.html;\n }\n}\nSerializer.addClass(\n \"html\",\n [{ name: \"html:html\", serializationProperty: \"locHtml\" }],\n function() {\n return new QuestionHtmlModel(\"\");\n },\n \"nonvalue\"\n);\nQuestionFactory.Instance.registerQuestion(\"html\", name => {\n return new QuestionHtmlModel(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_html.ts","import { QuestionNonValue } from \"./questionnonvalue\";\nimport { Serializer } from \"./jsonobject\";\nimport { QuestionFactory } from \"./questionfactory\";\n\n/**\n * A Model for image question. This question hasn't any functionality and can be used to improve the appearance of the survey.\n */\nexport class QuestionImageModel extends QuestionNonValue {\n constructor(public name: string) {\n super(name);\n }\n public getType(): string {\n return \"image\";\n }\n public get isCompositeQuestion(): boolean {\n return false;\n }\n /**\n * The image URL.\n */\n public get imageLink(): string {\n return this.getPropertyValue(\"imageLink\");\n }\n public set imageLink(val: string) {\n this.setPropertyValue(\"imageLink\", val);\n }\n /**\n * The image height.\n */\n public get imageHeight(): string {\n return this.getPropertyValue(\"imageHeight\");\n }\n public set imageHeight(val: string) {\n this.setPropertyValue(\"imageHeight\", val);\n }\n /**\n * The image width.\n */\n public get imageWidth(): string {\n return this.getPropertyValue(\"imageWidth\");\n }\n public set imageWidth(val: string) {\n this.setPropertyValue(\"imageWidth\", val);\n }\n /**\n * The image fit mode.\n */\n public get imageFit(): string {\n return this.getPropertyValue(\"imageFit\");\n }\n public set imageFit(val: string) {\n this.setPropertyValue(\"imageFit\", val);\n }\n /**\n * The content mode.\n */\n public get contentMode(): string {\n return this.getPropertyValue(\"contentMode\");\n }\n public set contentMode(val: string) {\n this.setPropertyValue(\"contentMode\", val);\n if (val === \"video\") {\n this.showLabel = true;\n }\n }\n}\n\nSerializer.addClass(\n \"image\",\n [\n { name: \"imageLink\" },\n {\n name: \"contentMode\",\n default: \"image\",\n choices: [\"image\", \"video\"]\n },\n {\n name: \"imageFit\",\n default: \"contain\",\n choices: [\"none\", \"contain\", \"cover\", \"fill\"]\n },\n { name: \"imageHeight:number\", default: 150, minValue: 0 },\n { name: \"imageWidth:number\", default: 200, minValue: 0 }\n ],\n function() {\n return new QuestionImageModel(\"\");\n },\n \"nonvalue\"\n);\n\nQuestionFactory.Instance.registerQuestion(\"image\", name => {\n return new QuestionImageModel(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_image.ts","import { Serializer } from \"./jsonobject\";\nimport { QuestionFactory } from \"./questionfactory\";\nimport { QuestionCheckboxBase } from \"./question_baseselect\";\nimport { ItemValue } from \"./itemvalue\";\nimport { Helpers } from \"./helpers\";\n\n/**\n * A Model for a select image question.\n */\nexport class QuestionImagePickerModel extends QuestionCheckboxBase {\n constructor(public name: string) {\n super(name);\n this.colCount = 0;\n }\n public getType(): string {\n return \"imagepicker\";\n }\n supportGoNextPageAutomatic() {\n return true;\n }\n public get hasSingleInput(): boolean {\n return false;\n }\n protected getItemValueType() {\n return \"imageitemvalue\";\n }\n public get isCompositeQuestion(): boolean {\n return true;\n }\n /**\n * Multi select option. If set to true, then allows to select multiple images.\n */\n public get multiSelect(): boolean {\n return this.getPropertyValue(\"multiSelect\", false);\n }\n public set multiSelect(newValue: boolean) {\n this.setPropertyValue(\"multiSelect\", newValue);\n }\n /**\n * Returns true if item is checked\n * @param item image picker item value\n */\n public isItemSelected(item: ItemValue): boolean {\n var val = this.value;\n if (Helpers.isValueEmpty(val)) return false;\n if (!this.multiSelect) return Helpers.isTwoValueEquals(val, item.value);\n if (!Array.isArray(val)) return false;\n for (var i = 0; i < val.length; i++) {\n if (Helpers.isTwoValueEquals(val[i], item.value)) return true;\n }\n return false;\n }\n public clearIncorrectValues() {\n if (this.multiSelect) {\n var val = this.value;\n if (!val) return;\n if (!Array.isArray(val) || val.length == 0) {\n this.clearValue();\n return;\n }\n var newValue = [];\n for (var i = 0; i < val.length; i++) {\n if (!this.hasUnknownValue(val[i], true)) {\n newValue.push(val[i]);\n }\n }\n if (newValue.length == val.length) return;\n if (newValue.length == 0) {\n this.clearValue();\n } else {\n this.value = newValue;\n }\n } else {\n super.clearIncorrectValues();\n }\n }\n\n /**\n * Show label under the image.\n */\n public get showLabel(): boolean {\n return this.getPropertyValue(\"showLabel\", false);\n }\n public set showLabel(newValue: boolean) {\n this.setPropertyValue(\"showLabel\", newValue);\n }\n endLoadingFromJson() {\n super.endLoadingFromJson();\n if (!this.isDesignMode && this.multiSelect) {\n this.createNewArray(\"renderedValue\");\n this.createNewArray(\"value\");\n }\n }\n protected getValueCore() {\n var value = super.getValueCore();\n if (value !== undefined) {\n return value;\n }\n if (this.multiSelect) {\n return [];\n }\n return value;\n }\n private convertValToArrayForMultSelect(val: any): any {\n if (!this.multiSelect) return val;\n if (Helpers.isValueEmpty(val) || Array.isArray(val)) return val;\n return [val];\n }\n protected renderedValueFromDataCore(val: any): any {\n return this.convertValToArrayForMultSelect(val);\n }\n protected rendredValueToDataCore(val: any): any {\n return this.convertValToArrayForMultSelect(val);\n }\n /**\n * The image height.\n */\n public get imageHeight(): string {\n return this.getPropertyValue(\"imageHeight\");\n }\n public set imageHeight(val: string) {\n this.setPropertyValue(\"imageHeight\", val);\n }\n /**\n * The image width.\n */\n public get imageWidth(): string {\n return this.getPropertyValue(\"imageWidth\");\n }\n public set imageWidth(val: string) {\n this.setPropertyValue(\"imageWidth\", val);\n }\n /**\n * The image fit mode.\n */\n public get imageFit(): string {\n return this.getPropertyValue(\"imageFit\");\n }\n public set imageFit(val: string) {\n this.setPropertyValue(\"imageFit\", val);\n }\n /**\n * The content mode.\n */\n public get contentMode(): string {\n return this.getPropertyValue(\"contentMode\");\n }\n public set contentMode(val: string) {\n this.setPropertyValue(\"contentMode\", val);\n if (val === \"video\") {\n this.showLabel = true;\n }\n }\n}\n\nSerializer.addClass(\"imageitemvalue\", [], undefined, \"itemvalue\");\nSerializer.addProperty(\"imageitemvalue\", {\n name: \"imageLink\",\n});\n\nSerializer.addClass(\n \"imagepicker\",\n [\n { name: \"hasOther\", visible: false },\n { name: \"otherText\", visible: false },\n { name: \"optionsCaption\", visible: false },\n { name: \"otherErrorText\", visible: false },\n { name: \"storeOthersAsComment\", visible: false },\n {\n name: \"contentMode\",\n default: \"image\",\n choices: [\"image\", \"video\"],\n },\n {\n name: \"imageFit\",\n default: \"contain\",\n choices: [\"none\", \"contain\", \"cover\", \"fill\"],\n },\n { name: \"imageHeight:number\", default: 150, minValue: 0 },\n { name: \"imageWidth:number\", default: 200, minValue: 0 },\n ],\n function () {\n return new QuestionImagePickerModel(\"\");\n },\n \"checkboxbase\"\n);\nSerializer.addProperty(\"imagepicker\", {\n name: \"showLabel:boolean\",\n default: false,\n});\nSerializer.addProperty(\"imagepicker\", {\n name: \"colCount:number\",\n default: 0,\n choices: [0, 1, 2, 3, 4, 5],\n});\nSerializer.addProperty(\"imagepicker\", {\n name: \"multiSelect:boolean\",\n default: false,\n});\nSerializer.addProperty(\"imagepicker\", {\n name: \"choices:imageitemvalue[]\",\n});\n\nQuestionFactory.Instance.registerQuestion(\"imagepicker\", (name) => {\n var q = new QuestionImagePickerModel(name);\n //q.choices = QuestionFactory.DefaultChoices;\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_imagepicker.ts","import { Helpers } from \"./helpers\";\nimport { ItemValue } from \"./itemvalue\";\nimport { QuestionMatrixBaseModel } from \"./martixBase\";\nimport { JsonObject, Serializer } from \"./jsonobject\";\nimport { SurveyError } from \"./base\";\nimport { surveyLocalization } from \"./surveyStrings\";\nimport { RequiredInAllRowsError } from \"./error\";\nimport { QuestionFactory } from \"./questionfactory\";\nimport { LocalizableString, ILocalizableOwner } from \"./localizablestring\";\nimport { QuestionDropdownModel } from \"./question_dropdown\";\nimport { IConditionObject } from \"./question\";\nimport { settings } from \"./settings\";\n\nexport interface IMatrixData {\n onMatrixRowChanged(row: MatrixRowModel): void;\n}\n\nexport class MatrixRowModel {\n private data: IMatrixData;\n private item: ItemValue;\n protected rowValue: any;\n\n constructor(\n item: ItemValue,\n public fullName: string,\n data: IMatrixData,\n value: any\n ) {\n this.item = item;\n this.data = data;\n this.rowValue = value;\n }\n public get name(): string {\n return this.item.value;\n }\n public get text(): string {\n return this.item.text;\n }\n public get locText(): LocalizableString {\n return this.item.locText;\n }\n public get value() {\n return this.rowValue;\n }\n public set value(newValue: any) {\n this.rowValue = newValue;\n if (this.data) this.data.onMatrixRowChanged(this);\n this.onValueChanged();\n }\n protected onValueChanged() {}\n}\n\nexport interface IMatrixCellsOwner extends ILocalizableOwner {\n getRows(): Array;\n getColumns(): Array;\n}\n\nexport class MartrixCells {\n private values: { [index: string]: any } = {};\n public constructor(public cellsOwner: IMatrixCellsOwner) {}\n public get isEmpty(): boolean {\n return Object.keys(this.values).length == 0;\n }\n public setCellText(row: any, column: any, val: string) {\n row = this.getCellRowColumnValue(row, this.rows);\n column = this.getCellRowColumnValue(column, this.columns);\n if (!row || !column) return;\n if (val) {\n if (!this.values[row]) this.values[row] = {};\n if (!this.values[row][column])\n this.values[row][column] = this.createString();\n this.values[row][column].text = val;\n } else {\n if (this.values[row] && this.values[row][column]) {\n var loc = this.values[row][column];\n loc.text = \"\";\n if (loc.isEmpty) {\n delete this.values[row][column];\n if (Object.keys(this.values[row]).length == 0) {\n delete this.values[row];\n }\n }\n }\n }\n }\n public setDefaultCellText(column: any, val: string) {\n this.setCellText(settings.matrixDefaultRowName, column, val);\n }\n public getCellLocText(row: any, column: any): LocalizableString {\n row = this.getCellRowColumnValue(row, this.rows);\n column = this.getCellRowColumnValue(column, this.columns);\n if (!row || !column) return null;\n if (!this.values[row]) return null;\n if (!this.values[row][column]) return null;\n return this.values[row][column];\n }\n public getDefaultCellLocText(column: any, val: string): LocalizableString {\n return this.getCellLocText(settings.matrixDefaultRowName, column);\n }\n public getCellDisplayLocText(row: any, column: any): LocalizableString {\n var cellText = this.getCellLocText(row, column);\n if (cellText && !cellText.isEmpty) return cellText;\n cellText = this.getCellLocText(settings.matrixDefaultRowName, column);\n if (cellText && !cellText.isEmpty) return cellText;\n if (typeof column == \"number\") {\n column =\n column >= 0 && column < this.columns.length\n ? this.columns[column]\n : null;\n }\n if (column && column.locText) return column.locText;\n return null;\n }\n public getCellText(row: any, column: any): string {\n var loc = this.getCellLocText(row, column);\n return loc ? loc.calculatedText : null;\n }\n public getDefaultCellText(column: any): string {\n var loc = this.getCellLocText(settings.matrixDefaultRowName, column);\n return loc ? loc.calculatedText : null;\n }\n public getCellDisplayText(row: any, column: any): string {\n var loc = this.getCellDisplayLocText(row, column);\n return loc ? loc.calculatedText : null;\n }\n public get rows(): Array {\n return this.cellsOwner ? this.cellsOwner.getRows() : [];\n }\n public get columns(): Array {\n return this.cellsOwner ? this.cellsOwner.getColumns() : [];\n }\n private getCellRowColumnValue(val: any, values: Array): any {\n if (typeof val == \"number\") {\n if (val < 0 || val >= values.length) return null;\n val = values[val].value;\n }\n if (val.value) return val.value;\n return val;\n }\n public getJson(): any {\n if (this.isEmpty) return null;\n var res: { [index: string]: any } = {};\n for (var row in this.values) {\n var resRow: { [index: string]: any } = {};\n var rowValues = this.values[row];\n for (var col in rowValues) {\n resRow[col] = rowValues[col].getJson();\n }\n res[row] = resRow;\n }\n return res;\n }\n public setJson(value: any) {\n this.values = {};\n if (!value) return;\n for (var row in value) {\n if (row == \"pos\") continue;\n var rowValues = value[row];\n this.values[row] = {};\n for (var col in rowValues) {\n if (col == \"pos\") continue;\n var loc = this.createString();\n loc.setJson(rowValues[col]);\n this.values[row][col] = loc;\n }\n }\n }\n protected createString(): LocalizableString {\n return new LocalizableString(this.cellsOwner, true);\n }\n}\n\n/**\n * A Model for a simple matrix question.\n */\nexport class QuestionMatrixModel\n extends QuestionMatrixBaseModel\n implements IMatrixData, IMatrixCellsOwner {\n private isRowChanging = false;\n private cellsValue: MartrixCells;\n\n constructor(public name: string) {\n super(name);\n this.cellsValue = new MartrixCells(this);\n var self = this;\n this.registerFunctionOnPropertyValueChanged(\"columns\", function () {\n self.onColumnsChanged();\n });\n this.registerFunctionOnPropertyValueChanged(\"rows\", function () {\n if (!self.filterItems()) {\n self.onRowsChanged();\n }\n });\n this.registerFunctionOnPropertyValueChanged(\"hideIfRowsEmpty\", function () {\n self.updateVisibilityBasedOnRows();\n });\n }\n public getType(): string {\n return \"matrix\";\n }\n public get hasSingleInput(): boolean {\n return false;\n }\n /**\n * Set this property to true, if you want a user to answer all rows.\n */\n public get isAllRowRequired(): boolean {\n return this.getPropertyValue(\"isAllRowRequired\", false);\n }\n public set isAllRowRequired(val: boolean) {\n this.setPropertyValue(\"isAllRowRequired\", val);\n }\n /**\n * Returns true, if there is at least one row.\n */\n public get hasRows(): boolean {\n return this.rows.length > 0;\n }\n /**\n * Use this property to render items in a specific order: \"random\" or \"initial\". Default is \"initial\".\n */\n public get rowsOrder(): string {\n return this.getPropertyValue(\"rowsOrder\");\n }\n public set rowsOrder(val: string) {\n val = val.toLowerCase();\n if (val == this.rowsOrder) return;\n this.setPropertyValue(\"rowsOrder\", val);\n this.onRowsChanged();\n }\n /**\n * Set this property to true to hide the question if there is no visible rows in the matrix.\n */\n public get hideIfRowsEmpty(): boolean {\n return this.getPropertyValue(\"hideIfRowsEmpty\", false);\n }\n public set hideIfRowsEmpty(val: boolean) {\n this.setPropertyValue(\"hideIfRowsEmpty\", val);\n }\n getRows(): Array {\n return this.rows;\n }\n getColumns(): Array {\n return this.visibleColumns;\n }\n protected getQuizQuestionCount() {\n var res = 0;\n for (var i = 0; i < this.rows.length; i++) {\n if (!this.isValueEmpty(this.correctAnswer[this.rows[i].value])) res++;\n }\n return res;\n }\n protected getCorrectAnswerCount(): number {\n var res = 0;\n var value = this.value;\n for (var i = 0; i < this.rows.length; i++) {\n var row = this.rows[i].value;\n if (\n !Helpers.isValueEmpty(value[row]) &&\n Helpers.isTwoValueEquals(this.correctAnswer[row], value[row])\n )\n res++;\n }\n return res;\n }\n\n protected getVisibleRows(): Array {\n var result = new Array();\n var val = this.value;\n if (!val) val = {};\n var rows = !!this.filteredRows ? this.filteredRows : this.rows;\n for (var i = 0; i < rows.length; i++) {\n var row = rows[i];\n if (this.isValueEmpty(row.value)) continue;\n result.push(\n this.createMatrixRow(\n row,\n this.id + \"_\" + row.value.toString().replace(/\\s/g, \"_\"),\n val[row.value]\n )\n );\n }\n if (result.length == 0 && !this.filteredRows) {\n result.push(\n this.createMatrixRow(\n new ItemValue(null),\n this.name.replace(/\\s/g, \"_\"),\n val\n )\n );\n }\n this.generatedVisibleRows = result;\n return result;\n }\n protected sortVisibleRows(\n array: Array\n ): Array {\n var order = this.rowsOrder.toLowerCase();\n if (order === \"random\")\n return Helpers.randomizeArray(array);\n return array;\n }\n endLoadingFromJson() {\n super.endLoadingFromJson();\n this.rows = this.sortVisibleRows(this.rows);\n this.updateVisibilityBasedOnRows();\n }\n protected processRowsOnSet(newRows: Array) {\n return this.sortVisibleRows(newRows);\n }\n\n /**\n * Returns the list of visible rows as model objects.\n * @see rowsVisibleIf\n */\n public get visibleRows(): Array {\n return this.getVisibleRows();\n }\n public get cells(): MartrixCells {\n return this.cellsValue;\n }\n public set cells(value: MartrixCells) {\n this.cells.setJson(value && value.getJson ? value.getJson() : null);\n }\n public get hasCellText(): boolean {\n return !this.cells.isEmpty;\n }\n public setCellText(row: any, column: any, val: string) {\n this.cells.setCellText(row, column, val);\n }\n public getCellText(row: any, column: any): string {\n return this.cells.getCellText(row, column);\n }\n public setDefaultCellText(column: any, val: string) {\n this.cells.setDefaultCellText(column, val);\n }\n public getDefaultCellText(column: any): string {\n return this.cells.getDefaultCellText(column);\n }\n public getCellDisplayText(row: any, column: any): string {\n return this.cells.getCellDisplayText(row, column);\n }\n private emptyLocalizableString = new LocalizableString(this);\n public getCellDisplayLocText(row: any, column: any): LocalizableString {\n var loc = this.cells.getCellDisplayLocText(row, column);\n return loc ? loc : this.emptyLocalizableString;\n }\n supportGoNextPageAutomatic() {\n return this.hasValuesInAllRows();\n }\n protected onCheckForErrors(\n errors: Array,\n isOnValueChanged: boolean\n ) {\n super.onCheckForErrors(errors, isOnValueChanged);\n if (\n (!isOnValueChanged || this.errors.length > 0) &&\n this.hasErrorInRows()\n ) {\n errors.push(new RequiredInAllRowsError(null, this));\n }\n }\n private hasErrorInRows(): boolean {\n if (!this.isAllRowRequired) return false;\n return !this.hasValuesInAllRows();\n }\n private hasValuesInAllRows(): boolean {\n var rows = this.generatedVisibleRows;\n if (!rows) rows = this.visibleRows;\n if (!rows) return true;\n for (var i = 0; i < rows.length; i++) {\n var val = rows[i].value;\n if (!val) return false;\n }\n return true;\n }\n protected getIsAnswered(): boolean {\n return super.getIsAnswered() && this.hasValuesInAllRows();\n }\n protected createMatrixRow(\n item: ItemValue,\n fullName: string,\n value: any\n ): MatrixRowModel {\n return new MatrixRowModel(item, fullName, this, value);\n }\n protected setQuestionValue(newValue: any) {\n super.setQuestionValue(newValue, this.isRowChanging);\n if (\n this.isRowChanging ||\n !this.generatedVisibleRows ||\n this.generatedVisibleRows.length == 0\n )\n return;\n this.isRowChanging = true;\n var val = this.value;\n if (!val) val = {};\n if (this.rows.length == 0) {\n this.generatedVisibleRows[0].value = val;\n } else {\n for (var i = 0; i < this.generatedVisibleRows.length; i++) {\n var row = this.generatedVisibleRows[i];\n var rowVal = val[row.name] ? val[row.name] : null;\n this.generatedVisibleRows[i].value = rowVal;\n }\n }\n this.updateIsAnswered();\n this.isRowChanging = false;\n }\n protected getDisplayValueCore(keysAsText: boolean, value: any): any {\n var res: { [index: string]: any } = {};\n for (var key in value) {\n var newKey = keysAsText\n ? ItemValue.getTextOrHtmlByValue(this.rows, key)\n : key;\n if (!newKey) newKey = key;\n var newValue = ItemValue.getTextOrHtmlByValue(this.columns, value[key]);\n if (!newValue) newValue = value[key];\n res[newKey] = newValue;\n }\n return res;\n }\n public getPlainData(\n options: {\n includeEmpty?: boolean;\n calculations?: Array<{\n propertyName: string;\n }>;\n } = {\n includeEmpty: true,\n }\n ) {\n var questionPlainData = super.getPlainData(options);\n if (!!questionPlainData) {\n var values = this.createValueCopy();\n questionPlainData.isNode = true;\n questionPlainData.data = Object.keys(values || {}).map((rowName) => {\n var row = this.rows.filter(\n (r: MatrixRowModel) => r.value === rowName\n )[0];\n var rowDataItem = {\n name: rowName,\n title: !!row ? row.text : \"row\",\n value: values[rowName],\n displayValue: ItemValue.getTextOrHtmlByValue(\n this.visibleColumns,\n values[rowName]\n ),\n getString: (val: any) =>\n typeof val === \"object\" ? JSON.stringify(val) : val,\n isNode: false,\n };\n var item = ItemValue.getItemByValue(\n this.visibleColumns,\n values[rowName]\n );\n if (!!item) {\n (options.calculations || []).forEach((calculation) => {\n rowDataItem[calculation.propertyName] =\n item[calculation.propertyName];\n });\n }\n return rowDataItem;\n });\n }\n return questionPlainData;\n }\n public addConditionObjectsByContext(\n objects: Array,\n context: any\n ) {\n for (var i = 0; i < this.rows.length; i++) {\n var row = this.rows[i];\n if (!!row.value) {\n objects.push({\n name: this.getValueName() + \".\" + row.value,\n text: this.processedTitle + \".\" + row.calculatedText,\n question: this,\n });\n }\n }\n }\n public getConditionJson(operator: string = null, path: string = null): any {\n if (!path) return super.getConditionJson();\n var question = new QuestionDropdownModel(path);\n question.choices = this.columns;\n var json = new JsonObject().toJsonObject(question);\n json[\"type\"] = question.getType();\n return json;\n }\n public clearValueIfInvisible() {\n super.clearValueIfInvisible();\n if (this.hasRows) {\n this.clearInvisibleValuesInRows();\n }\n }\n protected getFirstInputElementId(): string {\n var rows = this.generatedVisibleRows;\n if (!rows) rows = this.visibleRows;\n if (rows.length > 0 && this.visibleColumns.length > 0) {\n return this.inputId + \"_\" + rows[0].name + \"_\" + 0;\n }\n return super.getFirstInputElementId();\n }\n protected onRowsChanged() {\n this.updateVisibilityBasedOnRows();\n super.onRowsChanged();\n }\n private updateVisibilityBasedOnRows() {\n if (this.hideIfRowsEmpty) {\n this.visible =\n this.rows.length > 0 &&\n (!this.filteredRows || this.filteredRows.length > 0);\n }\n }\n //IMatrixData\n onMatrixRowChanged(row: MatrixRowModel) {\n if (this.isRowChanging) return;\n this.isRowChanging = true;\n if (!this.hasRows) {\n this.setNewValue(row.value);\n } else {\n var newValue = this.value;\n if (!newValue) {\n newValue = {};\n }\n newValue[row.name] = row.value;\n this.setNewValue(newValue);\n }\n this.isRowChanging = false;\n }\n}\n\nSerializer.addClass(\n \"matrix\",\n [\n {\n name: \"columns:itemvalue[]\",\n baseValue: function () {\n return surveyLocalization.getString(\"matrix_column\");\n },\n },\n {\n name: \"rows:itemvalue[]\",\n baseValue: function () {\n return surveyLocalization.getString(\"matrix_row\");\n },\n },\n { name: \"cells:cells\", serializationProperty: \"cells\" },\n {\n name: \"rowsOrder\",\n default: \"initial\",\n choices: [\"initial\", \"random\"],\n },\n \"isAllRowRequired:boolean\",\n \"hideIfRowsEmpty:boolean\",\n ],\n function () {\n return new QuestionMatrixModel(\"\");\n },\n \"matrixbase\"\n);\n\nQuestionFactory.Instance.registerQuestion(\"matrix\", (name) => {\n var q = new QuestionMatrixModel(name);\n q.rows = QuestionFactory.DefaultRows;\n q.columns = QuestionFactory.DefaultColums;\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_matrix.ts","import {\n QuestionMatrixDropdownModelBase,\n MatrixDropdownRowModelBase,\n IMatrixDropdownData,\n} from \"./question_matrixdropdownbase\";\nimport { Serializer } from \"./jsonobject\";\nimport { ItemValue } from \"./itemvalue\";\nimport { QuestionFactory } from \"./questionfactory\";\nimport { LocalizableString } from \"./localizablestring\";\nimport { IConditionObject } from \"./question\";\n\nexport class MatrixDropdownRowModel extends MatrixDropdownRowModelBase {\n private item: ItemValue;\n constructor(\n public name: string,\n item: ItemValue,\n data: IMatrixDropdownData,\n value: any\n ) {\n super(data, value);\n this.item = item;\n this.buildCells(value);\n }\n public get rowName(): string {\n return this.name;\n }\n public get text(): string {\n return this.item.text;\n }\n public get locText(): LocalizableString {\n return this.item.locText;\n }\n}\n/**\n * A Model for a matrix dropdown question. You may use a dropdown, checkbox, radiogroup, text and comment questions as a cell editors.\n */\nexport class QuestionMatrixDropdownModel extends QuestionMatrixDropdownModelBase\n implements IMatrixDropdownData {\n constructor(public name: string) {\n super(name);\n this.createLocalizableString(\"totalText\", this, true);\n var self = this;\n this.registerFunctionOnPropertyValueChanged(\"rows\", function () {\n self.generatedVisibleRows = null;\n self.resetRenderedTable();\n self.filterItems();\n });\n }\n public getType(): string {\n return \"matrixdropdown\";\n }\n /**\n * Set this property to show it on the first column for the total row.\n */\n public get totalText() {\n return this.getLocalizableStringText(\"totalText\", \"\");\n }\n public set totalText(val: string) {\n this.setLocalizableStringText(\"totalText\", val);\n }\n public get locTotalText(): LocalizableString {\n return this.getLocalizableString(\"totalText\");\n }\n public getFooterText(): LocalizableString {\n return this.locTotalText;\n }\n /**\n * The column width for the first column, row title column.\n */\n public get rowTitleWidth(): string {\n return this.getPropertyValue(\"rowTitleWidth\", \"\");\n }\n public set rowTitleWidth(val: string) {\n this.setPropertyValue(\"rowTitleWidth\", val);\n }\n public getRowTitleWidth(): string {\n return this.rowTitleWidth;\n }\n protected getDisplayValueCore(keysAsText: boolean, value: any): any {\n var values = this.createValueCopy();\n if (!values) return values;\n var rows = this.visibleRows;\n var res = {};\n for (var i = 0; i < rows.length; i++) {\n var rowValue = this.rows[i].value;\n var val = values[rowValue];\n if (!val) continue;\n if (keysAsText) {\n var displayRowValue = ItemValue.getTextOrHtmlByValue(\n this.rows,\n rowValue\n );\n if (!!displayRowValue) {\n rowValue = displayRowValue;\n }\n }\n (res)[rowValue] = this.getRowDisplayValue(rows[i], val);\n }\n return values;\n }\n public addConditionObjectsByContext(\n objects: Array,\n context: any\n ) {\n var hasContext = !!context ? this.columns.indexOf(context) > -1 : false;\n for (var i = 0; i < this.rows.length; i++) {\n var row = this.rows[i];\n if (!row.value) continue;\n var prefixName = this.getValueName() + \".\" + row.value + \".\";\n var prefixTitle = this.processedTitle + \".\" + row.calculatedText + \".\";\n for (var j = 0; j < this.columns.length; j++) {\n var column = this.columns[j];\n objects.push({\n name: prefixName + column.name,\n text: prefixTitle + column.fullTitle,\n question: this,\n });\n }\n }\n if (hasContext) {\n for (var i = 0; i < this.columns.length; i++) {\n var column = this.columns[i];\n if (column == context) continue;\n objects.push({\n name: \"row.\" + column.name,\n text: \"row.\" + column.fullTitle,\n question: this,\n });\n }\n }\n }\n public clearIncorrectValues() {\n var val = this.value;\n if (!val) return;\n var newVal = null;\n var isChanged = false;\n var rows = !!this.filteredRows ? this.filteredRows : this.rows;\n for (var key in val) {\n if (ItemValue.getItemByValue(rows, key)) {\n if (newVal == null) newVal = {};\n (newVal)[key] = val[key];\n } else {\n isChanged = true;\n }\n }\n if (isChanged) {\n this.value = newVal;\n }\n super.clearIncorrectValues();\n }\n public clearValueIfInvisible() {\n super.clearValueIfInvisible();\n this.clearInvisibleValuesInRows();\n }\n protected generateRows(): Array {\n var result = new Array();\n var rows = !!this.filteredRows ? this.filteredRows : this.rows;\n if (!rows || rows.length === 0) return result;\n var val = this.value;\n if (!val) val = {};\n for (var i = 0; i < rows.length; i++) {\n if (!rows[i].value) continue;\n result.push(this.createMatrixRow(rows[i], val[rows[i].value]));\n }\n return result;\n }\n protected createMatrixRow(\n item: ItemValue,\n value: any\n ): MatrixDropdownRowModel {\n return new MatrixDropdownRowModel(item.value, item, this, value);\n }\n}\n\nSerializer.addClass(\n \"matrixdropdown\",\n [\n {\n name: \"rows:itemvalue[]\",\n },\n \"rowsVisibleIf:condition\",\n \"rowTitleWidth\",\n { name: \"totalText\", serializationProperty: \"locTotalText\" },\n ],\n function () {\n return new QuestionMatrixDropdownModel(\"\");\n },\n \"matrixdropdownbase\"\n);\n\nQuestionFactory.Instance.registerQuestion(\"matrixdropdown\", (name) => {\n var q = new QuestionMatrixDropdownModel(name);\n q.choices = [1, 2, 3, 4, 5];\n q.rows = QuestionFactory.DefaultColums;\n QuestionMatrixDropdownModelBase.addDefaultColumns(q);\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_matrixdropdown.ts","import {\n QuestionMatrixDropdownModelBase,\n MatrixDropdownRowModelBase,\n IMatrixDropdownData,\n MatrixDropdownColumn,\n} from \"./question_matrixdropdownbase\";\nimport { Serializer } from \"./jsonobject\";\nimport { QuestionFactory } from \"./questionfactory\";\nimport { surveyLocalization } from \"./surveyStrings\";\nimport { SurveyError } from \"./base\";\nimport { LocalizableString } from \"./localizablestring\";\nimport { MinRowCountError, KeyDuplicationError } from \"./error\";\nimport { IConditionObject } from \"./question\";\nimport { Helpers } from \"./helpers\";\nimport { settings } from \"./settings\";\nimport { confirmAction } from \"./utils/utils\";\n\nexport class MatrixDynamicRowModel extends MatrixDropdownRowModelBase {\n constructor(public index: number, data: IMatrixDropdownData, value: any) {\n super(data, value);\n this.buildCells(value);\n }\n public get rowName() {\n return this.id;\n }\n}\n\n/**\n * A Model for a matrix dymanic question. You may use a dropdown, checkbox, radiogroup, text and comment questions as a cell editors.\n * An end-user may dynamically add/remove rows, unlike in matrix dropdown question.\n */\nexport class QuestionMatrixDynamicModel extends QuestionMatrixDropdownModelBase\n implements IMatrixDropdownData {\n private rowCounter = 0;\n private rowCountValue: number = 2;\n private initialRowCount: number = 2;\n private setRowCountValueFromData: boolean = false;\n\n constructor(public name: string) {\n super(name);\n this.createLocalizableString(\"confirmDeleteText\", this);\n this.createLocalizableString(\"keyDuplicationError\", this);\n this.createLocalizableString(\"addRowText\", this);\n this.createLocalizableString(\"removeRowText\", this);\n }\n public getType(): string {\n return \"matrixdynamic\";\n }\n public get isRowsDynamic(): boolean {\n return true;\n }\n /**\n * Set it to true, to show a confirmation dialog on removing a row\n * @see ConfirmDeleteText\n */\n public get confirmDelete(): boolean {\n return this.getPropertyValue(\"confirmDelete\", false);\n }\n public set confirmDelete(val: boolean) {\n this.setPropertyValue(\"confirmDelete\", val);\n }\n /**\n * Set it to a column name and the library shows duplication error, if there are same values in different rows in the column.\n * @see keyDuplicationError\n */\n public get keyName(): string {\n return this.getPropertyValue(\"keyName\", \"\");\n }\n public set keyName(val: string) {\n this.setPropertyValue(\"keyName\", val);\n }\n /**\n * If it is not empty, then this value is set to every new row, including rows created initially, unless the defaultValue is not empty\n * @see defaultValue\n * @see defaultValueFromLastRow\n */\n public get defaultRowValue(): any {\n return this.getPropertyValue(\"defaultRowValue\");\n }\n public set defaultRowValue(val: any) {\n this.setPropertyValue(\"defaultRowValue\", val);\n }\n /**\n * Set it to true to copy the value into new added row from the last row. If defaultRowValue is set and this property equals to true,\n * then the value for new added row is merging.\n * @see defaultValue\n * @see defaultRowValue\n */\n public get defaultValueFromLastRow(): boolean {\n return this.getPropertyValue(\"defaultValueFromLastRow\", false);\n }\n public set defaultValueFromLastRow(val: boolean) {\n this.setPropertyValue(\"defaultValueFromLastRow\", val);\n }\n protected isDefaultValueEmpty(): boolean {\n return (\n super.isDefaultValueEmpty() && this.isValueEmpty(this.defaultRowValue)\n );\n }\n protected setDefaultValue() {\n if (\n this.isValueEmpty(this.defaultRowValue) ||\n !this.isValueEmpty(this.defaultValue)\n ) {\n super.setDefaultValue();\n return;\n }\n if (!this.isEmpty() || this.rowCount == 0) return;\n var newValue = [];\n for (var i = 0; i < this.rowCount; i++) {\n newValue.push(this.defaultRowValue);\n }\n this.value = newValue;\n }\n /**\n * The number of rows in the matrix.\n * @see minRowCount\n * @see maxRowCount\n */\n public get rowCount(): number {\n return this.rowCountValue;\n }\n public set rowCount(val: number) {\n if (val < 0 || val > settings.matrixMaximumRowCount) return;\n this.setRowCountValueFromData = false;\n var prevValue = this.rowCountValue;\n this.rowCountValue = val;\n if (this.value && this.value.length > val) {\n var qVal = this.value;\n qVal.splice(val);\n this.value = qVal;\n }\n if (this.isLoadingFromJson) {\n this.initialRowCount = val;\n return;\n }\n if (this.generatedVisibleRows) {\n this.generatedVisibleRows.splice(val);\n for (var i = prevValue; i < val; i++) {\n var newRow = this.createMatrixRow(null);\n this.generatedVisibleRows.push(newRow);\n this.onMatrixRowCreated(newRow);\n }\n }\n this.onRowsChanged();\n }\n /**\n * The minimum row count. A user could not delete a row if the rowCount equals to minRowCount\n * @see rowCount\n * @see maxRowCount\n * @see allowAddRows\n */\n public get minRowCount(): number {\n return this.getPropertyValue(\"minRowCount\", 0);\n }\n public set minRowCount(val: number) {\n if (val < 0) val = 0;\n this.setPropertyValue(\"minRowCount\", val);\n if (val > this.maxRowCount) this.maxRowCount = val;\n if (this.rowCount < val) this.rowCount = val;\n }\n /**\n * The maximum row count. A user could not add a row if the rowCount equals to maxRowCount\n * @see rowCount\n * @see minRowCount\n * @see allowAddRows\n */\n public get maxRowCount(): number {\n return this.getPropertyValue(\"maxRowCount\", settings.matrixMaximumRowCount);\n }\n public set maxRowCount(val: number) {\n if (val <= 0) return;\n if (val > settings.matrixMaximumRowCount)\n val = settings.matrixMaximumRowCount;\n if (val == this.maxRowCount) return;\n this.setPropertyValue(\"maxRowCount\", val);\n if (val < this.minRowCount) this.minRowCount = val;\n if (this.rowCount > val) this.rowCount = val;\n }\n /**\n * Set this property to false to disable ability to add new rows. \"Add new Row\" button becomes invsible in UI\n * @see canAddRow\n * @see allowRemoveRows\n */\n public get allowAddRows(): boolean {\n return this.getPropertyValue(\"allowAddRows\", true);\n }\n public set allowAddRows(val: boolean) {\n this.setPropertyValue(\"allowAddRows\", val);\n }\n /**\n * Set this property to false to disable ability to remove rows. \"Remove\" row buttons become invsible in UI\n * @see canRemoveRows\n * @see allowAddRows\n */\n public get allowRemoveRows(): boolean {\n return this.getPropertyValue(\"allowRemoveRows\", true);\n }\n public set allowRemoveRows(val: boolean) {\n this.setPropertyValue(\"allowRemoveRows\", val);\n if (!this.isLoadingFromJson) {\n this.resetRenderedTable();\n }\n }\n /**\n * Returns true, if a new row can be added.\n * @see allowAddRows\n * @see maxRowCount\n * @see canRemoveRows\n * @see rowCount\n */\n public get canAddRow(): boolean {\n return (\n this.allowAddRows && !this.isReadOnly && this.rowCount < this.maxRowCount\n );\n }\n /**\n * Returns true, if row can be removed.\n * @see minRowCount\n * @see canAddRow\n * @see rowCount\n */\n public get canRemoveRows(): boolean {\n return (\n this.allowRemoveRows &&\n !this.isReadOnly &&\n this.rowCount > this.minRowCount\n );\n }\n public canRemoveRow(row: MatrixDropdownRowModelBase): boolean {\n if (!this.survey) return true;\n return this.survey.matrixAllowRemoveRow(\n this,\n (row).index,\n row\n );\n }\n\n /**\n * Creates and add a new row.\n */\n public addRow() {\n var options = { question: this, canAddRow: this.canAddRow };\n if (!!this.survey) {\n this.survey.matrixBeforeRowAdded(options);\n }\n if (!options.canAddRow) return;\n this.onStartRowAddingRemoving();\n this.addRowCore();\n this.onEndRowAdding();\n }\n protected hasRowsAsItems(): boolean {\n return false;\n }\n private addRowCore() {\n var prevRowCount = this.rowCount;\n this.rowCount = this.rowCount + 1;\n var defaultValue = this.getDefaultRowValue(true);\n var newValue = null;\n if (!this.isValueEmpty(defaultValue)) {\n newValue = this.createNewValue();\n if (newValue.length == this.rowCount) {\n newValue[newValue.length - 1] = defaultValue;\n this.value = newValue;\n }\n }\n if (this.data) {\n this.runCellsCondition(\n this.getDataFilteredValues(),\n this.getDataFilteredProperties()\n );\n var row = this.visibleRows[this.rowCount - 1];\n if (!Helpers.isValueEmpty(row.value)) {\n if (!newValue) {\n newValue = this.createNewValue();\n }\n if (\n !Helpers.isTwoValueEquals(newValue[newValue.length - 1], row.value)\n ) {\n newValue[newValue.length - 1] = row.value;\n this.value = newValue;\n }\n }\n }\n if (this.survey) {\n if (prevRowCount + 1 == this.rowCount) {\n this.survey.matrixRowAdded(\n this,\n this.visibleRows[this.visibleRows.length - 1]\n );\n this.onRowsChanged();\n }\n }\n }\n private getDefaultRowValue(isRowAdded: boolean): any {\n var res = null;\n for (var i = 0; i < this.columns.length; i++) {\n var q = this.columns[i].templateQuestion;\n if (!!q && !this.isValueEmpty(q.getDefaultValue())) {\n res = res || {};\n (res)[this.columns[i].name] = q.getDefaultValue();\n }\n }\n if (!this.isValueEmpty(this.defaultRowValue)) {\n for (var key in this.defaultRowValue) {\n res = res || {};\n (res)[key] = this.defaultRowValue[key];\n }\n }\n if (isRowAdded && this.defaultValueFromLastRow) {\n var val = this.value;\n if (!!val && Array.isArray(val) && val.length >= this.rowCount - 1) {\n var rowValue = val[this.rowCount - 2];\n for (var key in rowValue) {\n res = res || {};\n (res)[key] = rowValue[key];\n }\n }\n }\n return res;\n }\n /**\n * Removes a row by it's index. If confirmDelete is true, show a confirmation dialog\n * @param index a row index, from 0 to rowCount - 1\n * @see removeRow\n * @see confirmDelete\n */\n public removeRowUI(value: any) {\n if (!!value && !!value.rowName) {\n var index = this.visibleRows.indexOf(value);\n if (index < 0) return;\n value = index;\n }\n if (\n !this.isRequireConfirmOnRowDelete(value) ||\n confirmAction(this.confirmDeleteText)\n ) {\n this.removeRow(value);\n }\n }\n public isRequireConfirmOnRowDelete(index: number): boolean {\n if (!this.confirmDelete) return false;\n if (index < 0 || index >= this.rowCount) return false;\n var value = this.createNewValue();\n if (Helpers.isValueEmpty(value) || !Array.isArray(value)) return false;\n if (index >= value.length) return false;\n return !Helpers.isValueEmpty(value[index]);\n }\n /**\n * Removes a row by it's index.\n * @param index a row index, from 0 to rowCount - 1\n */\n public removeRow(index: number) {\n if (!this.canRemoveRows) return;\n if (index < 0 || index >= this.rowCount) return;\n this.onStartRowAddingRemoving();\n this.removeRowCore(index);\n this.onEndRowRemoving(index);\n }\n private removeRowCore(index: number) {\n if (this.survey) {\n var row = this.generatedVisibleRows\n ? this.generatedVisibleRows[index]\n : null;\n this.survey.matrixRowRemoved(this, index, row);\n }\n if (this.generatedVisibleRows && index < this.generatedVisibleRows.length) {\n this.generatedVisibleRows.splice(index, 1);\n }\n this.rowCountValue--;\n if (this.value) {\n var val = [];\n if (Array.isArray(this.value) && index < this.value.length) {\n val = this.createValueCopy();\n } else {\n val = this.createNewValue();\n }\n val.splice(index, 1);\n val = this.deleteRowValue(val, null);\n this.isRowChanging = true;\n this.value = val;\n this.isRowChanging = false;\n }\n this.onRowsChanged();\n }\n /**\n * Use this property to change the default text showing in the confirmation delete dialog on removing a row.\n */\n public get confirmDeleteText() {\n return this.getLocalizableStringText(\n \"confirmDeleteText\",\n surveyLocalization.getString(\"confirmDelete\")\n );\n }\n public set confirmDeleteText(val: string) {\n this.setLocalizableStringText(\"confirmDeleteText\", val);\n }\n get locConfirmDeleteText() {\n return this.getLocalizableString(\"confirmDeleteText\");\n }\n\n /**\n * The duplication value error text. Set it to show the text different from the default.\n * @see keyName\n */\n public get keyDuplicationError() {\n return this.getLocalizableStringText(\n \"keyDuplicationError\",\n surveyLocalization.getString(\"keyDuplicationError\")\n );\n }\n public set keyDuplicationError(val: string) {\n this.setLocalizableStringText(\"keyDuplicationError\", val);\n }\n get locKeyDuplicationError() {\n return this.getLocalizableString(\"keyDuplicationError\");\n }\n /**\n * Use this property to change the default value of add row button text.\n */\n public get addRowText() {\n var defaultLocName = this.isColumnLayoutHorizontal ? \"addRow\" : \"addColumn\";\n return this.getLocalizableStringText(\n \"addRowText\",\n surveyLocalization.getString(defaultLocName)\n );\n }\n public set addRowText(val: string) {\n this.setLocalizableStringText(\"addRowText\", val);\n }\n get locAddRowText() {\n return this.getLocalizableString(\"addRowText\");\n }\n /**\n * By default the 'Add Row' button is shown on bottom if columnLayout is horizontal and on top if columnLayout is vertical.
    \n * You may set it to \"top\", \"bottom\" or \"topBottom\" (to show on top and bottom).\n * @see columnLayout\n */\n public get addRowLocation(): string {\n return this.getPropertyValue(\"addRowLocation\");\n }\n public set addRowLocation(val: string) {\n this.setPropertyValue(\"addRowLocation\", val);\n }\n public get isAddRowOnTop() {\n if (!this.canAddRow) return false;\n if (this.addRowLocation === \"default\")\n return this.columnLayout === \"vertical\";\n return this.addRowLocation !== \"bottom\";\n }\n public get isAddRowOnBottom() {\n if (!this.canAddRow) return false;\n if (this.addRowLocation === \"default\")\n return this.columnLayout === \"horizontal\";\n return this.addRowLocation !== \"top\";\n }\n /**\n * Use this property to change the default value of remove row button text.\n */\n public get removeRowText() {\n return this.getLocalizableStringText(\n \"removeRowText\",\n surveyLocalization.getString(\"removeRow\")\n );\n }\n public set removeRowText(val: string) {\n this.setLocalizableStringText(\"removeRowText\", val);\n }\n get locRemoveRowText() {\n return this.getLocalizableString(\"removeRowText\");\n }\n protected getDisplayValueCore(keysAsText: boolean, value: any): any {\n var values = this.createValueCopy();\n if (!values || !Array.isArray(values)) return values;\n var rows = this.visibleRows;\n for (var i = 0; i < rows.length && i < values.length; i++) {\n var val = values[i];\n if (!val) continue;\n values[i] = this.getRowDisplayValue(rows[i], val);\n }\n return values;\n }\n public addConditionObjectsByContext(\n objects: Array,\n context: any\n ) {\n var hasContext = !!context ? this.columns.indexOf(context) > -1 : false;\n for (var i = 0; i < this.columns.length; i++) {\n var column = this.columns[i];\n objects.push({\n name: this.getValueName() + \"[0].\" + column.name,\n text: this.processedTitle + \"[0].\" + column.fullTitle,\n question: this,\n });\n if (hasContext && column != context) {\n objects.push({\n name: \"row.\" + column.name,\n text: \"row.\" + column.fullTitle,\n question: this,\n });\n }\n }\n }\n public supportGoNextPageAutomatic() {\n return false;\n }\n public get hasRowText(): boolean {\n return false;\n }\n protected onCheckForErrors(\n errors: Array,\n isOnValueChanged: boolean\n ) {\n super.onCheckForErrors(errors, isOnValueChanged);\n if (!isOnValueChanged && this.hasErrorInRows()) {\n errors.push(new MinRowCountError(this.minRowCount, this));\n }\n }\n public hasErrors(fireCallback: boolean = true, rec: any = null): boolean {\n var prevValue = super.hasErrors(fireCallback, rec);\n var isDuplicated = this.isValueDuplicated();\n return isDuplicated || prevValue;\n }\n private hasErrorInRows(): boolean {\n if (this.minRowCount <= 0 || !this.generatedVisibleRows) return false;\n var res = false;\n var setRowCount = 0;\n for (\n var rowIndex = 0;\n rowIndex < this.generatedVisibleRows.length;\n rowIndex++\n ) {\n var row = this.generatedVisibleRows[rowIndex];\n if (!row.isEmpty) setRowCount++;\n }\n return setRowCount < this.minRowCount;\n }\n private isValueDuplicated(): boolean {\n if (!this.keyName || !this.generatedVisibleRows) return false;\n var column = this.getColumnByName(this.keyName);\n if (!column) return false;\n var keyValues = >[];\n var res = false;\n for (var i = 0; i < this.generatedVisibleRows.length; i++) {\n res =\n this.isValueDuplicatedInRow(\n this.generatedVisibleRows[i],\n column,\n keyValues\n ) || res;\n }\n return res;\n }\n private isValueDuplicatedInRow(\n row: MatrixDropdownRowModelBase,\n column: MatrixDropdownColumn,\n keyValues: Array\n ): boolean {\n var question = row.getQuestionByColumn(column);\n if (!question || question.isEmpty()) return false;\n var value = question.value;\n for (var i = 0; i < keyValues.length; i++) {\n if (value == keyValues[i]) {\n question.addError(\n new KeyDuplicationError(this.keyDuplicationError, this)\n );\n return true;\n }\n }\n keyValues.push(value);\n return false;\n }\n protected generateRows(): Array {\n var result = new Array();\n if (this.rowCount === 0) return result;\n var val = this.createNewValue();\n for (var i = 0; i < this.rowCount; i++) {\n result.push(this.createMatrixRow(this.getRowValueByIndex(val, i)));\n }\n if (!this.isValueEmpty(this.getDefaultRowValue(false))) {\n this.value = val;\n }\n return result;\n }\n protected createMatrixRow(value: any): MatrixDynamicRowModel {\n return new MatrixDynamicRowModel(this.rowCounter++, this, value);\n }\n protected onBeforeValueChanged(val: any) {\n if (!val || !Array.isArray(val)) return;\n var newRowCount = val.length;\n if (newRowCount == this.rowCount) return;\n if (!this.setRowCountValueFromData && newRowCount < this.initialRowCount)\n return;\n this.setRowCountValueFromData = true;\n this.rowCountValue = newRowCount;\n if (this.generatedVisibleRows) {\n this.generatedVisibleRows = null;\n this.generatedVisibleRows = this.visibleRows;\n this.onRowsChanged();\n }\n }\n protected createNewValue(): any {\n var result = this.createValueCopy();\n if (!result || !Array.isArray(result)) result = [];\n if (result.length > this.rowCount) result.splice(this.rowCount);\n var rowValue = this.getDefaultRowValue(false);\n rowValue = rowValue || {};\n for (var i = result.length; i < this.rowCount; i++) {\n result.push(Helpers.getUnbindValue(rowValue));\n }\n return result;\n }\n protected deleteRowValue(\n newValue: any,\n row: MatrixDropdownRowModelBase\n ): any {\n var isEmpty = true;\n for (var i = 0; i < newValue.length; i++) {\n if (this.isObject(newValue[i]) && Object.keys(newValue[i]).length > 0) {\n isEmpty = false;\n break;\n }\n }\n return isEmpty ? null : newValue;\n }\n\n private getRowValueByIndex(questionValue: any, index: number): any {\n return index >= 0 && index < questionValue.length\n ? questionValue[index]\n : null;\n }\n protected getRowValueCore(\n row: MatrixDropdownRowModelBase,\n questionValue: any,\n create: boolean = false\n ): any {\n if (!this.generatedVisibleRows) return {};\n var res = this.getRowValueByIndex(\n questionValue,\n this.generatedVisibleRows.indexOf(row)\n );\n if (!res && create) res = {};\n return res;\n }\n}\n\nSerializer.addClass(\n \"matrixdynamic\",\n [\n { name: \"rowsVisibleIf:condition\", visible: false },\n { name: \"allowAddRows:boolean\", default: true },\n { name: \"allowRemoveRows:boolean\", default: true },\n { name: \"rowCount:number\", default: 2, minValue: 0 },\n { name: \"minRowCount:number\", default: 0, minValue: 0 },\n {\n name: \"maxRowCount:number\",\n default: settings.matrixMaximumRowCount,\n },\n { name: \"keyName\" },\n {\n name: \"keyDuplicationError\",\n serializationProperty: \"locKeyDuplicationError\",\n },\n \"defaultRowValue:rowvalue\",\n \"defaultValueFromLastRow:boolean\",\n { name: \"confirmDelete:boolean\" },\n {\n name: \"confirmDeleteText\",\n dependsOn: \"confirmDelete\",\n visibleIf: function (obj: any): boolean {\n return !obj || obj.confirmDelete;\n },\n serializationProperty: \"locConfirmDeleteText\",\n },\n {\n name: \"addRowLocation\",\n default: \"default\",\n choices: [\"default\", \"top\", \"bottom\", \"topBottom\"],\n },\n { name: \"addRowText\", serializationProperty: \"locAddRowText\" },\n { name: \"removeRowText\", serializationProperty: \"locRemoveRowText\" },\n ],\n function () {\n return new QuestionMatrixDynamicModel(\"\");\n },\n \"matrixdropdownbase\"\n);\n\nQuestionFactory.Instance.registerQuestion(\"matrixdynamic\", (name) => {\n var q = new QuestionMatrixDynamicModel(name);\n q.choices = [1, 2, 3, 4, 5];\n QuestionMatrixDropdownModelBase.addDefaultColumns(q);\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_matrixdynamic.ts","import {\n Base,\n ISurveyData,\n ISurveyImpl,\n ISurvey,\n IPanel,\n IElement,\n ITextProcessor,\n} from \"./base\";\nimport { SurveyValidator, IValidatorOwner } from \"./validator\";\nimport { Question, IConditionObject } from \"./question\";\nimport { QuestionTextModel } from \"./question_text\";\nimport { JsonObject, Serializer } from \"./jsonobject\";\nimport { QuestionFactory } from \"./questionfactory\";\nimport { SurveyError } from \"./base\";\nimport { AnswerRequiredError } from \"./error\";\nimport { ILocalizableOwner, LocalizableString } from \"./localizablestring\";\nimport { Helpers } from \"./helpers\";\n\nexport interface IMultipleTextData extends ILocalizableOwner, IPanel {\n getSurvey(): ISurvey;\n getTextProcessor(): ITextProcessor;\n getAllValues(): any;\n getMultipleTextValue(name: string): any;\n setMultipleTextValue(name: string, value: any): any;\n getItemDefaultValue(name: string): any;\n getIsRequiredText(): string;\n}\n\nexport class MultipleTextItemModel extends Base\n implements IValidatorOwner, ISurveyData, ISurveyImpl {\n private editorValue: QuestionTextModel;\n private data: IMultipleTextData;\n\n valueChangedCallback: (newValue: any) => void;\n\n constructor(name: any = null, title: string = null) {\n super();\n this.editorValue = this.createEditor(name);\n this.editor.questionTitleTemplateCallback = function () {\n return \"\";\n };\n this.editor.titleLocation = \"left\";\n if (title) {\n this.title = title;\n }\n }\n public getType(): string {\n return \"multipletextitem\";\n }\n public get id(): string {\n return this.editor.id;\n }\n /**\n * The item name.\n */\n public get name(): string {\n return this.editor.name;\n }\n public set name(val: string) {\n this.editor.name = val;\n }\n public get question(): Question {\n return (this.data);\n }\n public get editor(): QuestionTextModel {\n return this.editorValue;\n }\n protected createEditor(name: string): QuestionTextModel {\n return new QuestionTextModel(name);\n }\n public addUsedLocales(locales: Array) {\n super.addUsedLocales(locales);\n this.editor.addUsedLocales(locales);\n }\n public locStrsChanged() {\n super.locStrsChanged();\n this.editor.locStrsChanged();\n }\n setData(data: IMultipleTextData) {\n this.data = data;\n if (!!data) {\n this.editor.defaultValue = data.getItemDefaultValue(this.name);\n this.editor.setSurveyImpl(this);\n this.editor.parent = data;\n }\n }\n /**\n * Set this property to true, to make the item a required. If a user doesn't fill the item then a validation error will be generated.\n */\n public get isRequired(): boolean {\n return this.editor.isRequired;\n }\n public set isRequired(val: boolean) {\n this.editor.isRequired = val;\n }\n /**\n * Use this property to change the default input type.\n */\n public get inputType(): string {\n return this.editor.inputType;\n }\n public set inputType(val: string) {\n this.editor.inputType = val;\n }\n /**\n * Item title. If it is empty, the item name is rendered as title. This property supports markdown.\n * @see name\n */\n public get title(): string {\n return this.editor.title;\n }\n public set title(val: string) {\n this.editor.title = val;\n }\n get locTitle() {\n return this.editor.locTitle;\n }\n /**\n * Returns the text or html for rendering the title.\n */\n public get fullTitle(): string {\n return this.editor.fullTitle;\n }\n /**\n * The maximum text length. If it is -1, defaul value, then the survey maxTextLength property will be used.\n * If it is 0, then the value is unlimited\n * @see SurveyModel.maxTextLength\n */\n public get maxLength(): number {\n return this.editor.maxLength;\n }\n public set maxLength(val: number) {\n this.editor.maxLength = val;\n }\n public getMaxLength(): any {\n var survey = this.getSurvey();\n return Helpers.getMaxLength(\n this.maxLength,\n survey ? survey.maxTextLength : -1\n );\n }\n /**\n * The input place holder.\n */\n public get placeHolder(): string {\n return this.editor.placeHolder;\n }\n public set placeHolder(val: string) {\n this.editor.placeHolder = val;\n }\n get locPlaceHolder(): LocalizableString {\n return this.editor.locPlaceHolder;\n }\n /**\n * The custom text that will be shown on required error. Use this property, if you do not want to show the default text.\n */\n public get requiredErrorText(): string {\n return this.editor.requiredErrorText;\n }\n public set requiredErrorText(val: string) {\n this.editor.requiredErrorText = val;\n }\n get locRequiredErrorText(): LocalizableString {\n return this.editor.locRequiredErrorText;\n }\n /**\n * The list of question validators.\n */\n public get validators(): Array {\n return this.editor.validators;\n }\n public set validators(val: Array) {\n this.editor.validators = val;\n }\n public getValidators(): Array {\n return this.validators;\n }\n /**\n * The item value.\n */\n public get value() {\n return this.data ? this.data.getMultipleTextValue(this.name) : null;\n }\n public set value(value: any) {\n if (this.data != null) {\n this.data.setMultipleTextValue(this.name, value);\n }\n }\n public isEmpty() {\n return Helpers.isValueEmpty(this.value);\n }\n public onValueChanged(newValue: any) {\n if (this.valueChangedCallback) this.valueChangedCallback(newValue);\n }\n //ISurveyImpl\n geSurveyData(): ISurveyData {\n return this;\n }\n getSurvey(): ISurvey {\n return this.data ? this.data.getSurvey() : null;\n }\n getTextProcessor(): ITextProcessor {\n return this.data ? this.data.getTextProcessor() : null;\n }\n //ISurveyData\n getValue(name: string): any {\n if (!this.data) return null;\n return this.data.getMultipleTextValue(name);\n }\n setValue(name: string, value: any) {\n if (this.data) {\n this.data.setMultipleTextValue(name, value);\n }\n }\n getVariable(name: string): any {\n return undefined;\n }\n setVariable(name: string, newValue: any) {}\n getComment(name: string): string {\n return null;\n }\n setComment(name: string, newValue: string) {}\n getAllValues(): any {\n if (this.data) return this.data.getAllValues();\n return this.value;\n }\n getFilteredValues(): any {\n return this.getAllValues();\n }\n getFilteredProperties(): any {\n return { survey: this.getSurvey() };\n }\n //IValidatorOwner\n getValidatorTitle(): string {\n return this.title;\n }\n get validatedValue(): any {\n return this.value;\n }\n set validatedValue(val: any) {\n this.value = val;\n }\n getDataFilteredValues(): any {\n return this.getFilteredValues();\n }\n getDataFilteredProperties(): any {\n return this.getFilteredProperties();\n }\n}\n\n/**\n * A Model for a multiple text question.\n */\nexport class QuestionMultipleTextModel extends Question\n implements IMultipleTextData, IPanel {\n colCountChangedCallback: () => void;\n constructor(public name: string) {\n super(name);\n var self = this;\n this.createNewArray(\"items\", function (item: any) {\n item.setData(self);\n });\n this.registerFunctionOnPropertyValueChanged(\"items\", function () {\n self.fireCallback(self.colCountChangedCallback);\n });\n this.registerFunctionOnPropertyValueChanged(\"colCount\", function () {\n self.fireCallback(self.colCountChangedCallback);\n });\n }\n public getType(): string {\n return \"multipletext\";\n }\n public setSurveyImpl(value: ISurveyImpl) {\n super.setSurveyImpl(value);\n for (var i = 0; i < this.items.length; i++) {\n this.items[i].setData(this);\n }\n }\n public get isAllowTitleLeft(): boolean {\n return false;\n }\n public get hasSingleInput(): boolean {\n return false;\n }\n onSurveyLoad() {\n this.editorsOnSurveyLoad();\n super.onSurveyLoad();\n this.fireCallback(this.colCountChangedCallback);\n }\n setQuestionValue(newValue: any) {\n super.setQuestionValue(newValue, false);\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n if (item.editor) item.editor.updateValueFromSurvey(item.value);\n }\n this.updateIsAnswered();\n }\n onSurveyValueChanged(newValue: any) {\n super.onSurveyValueChanged(newValue);\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n if (item.editor) item.editor.onSurveyValueChanged(item.value);\n }\n }\n private editorsOnSurveyLoad() {\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n if (item.editor) {\n (item).editor.onSurveyLoad();\n }\n }\n }\n /**\n * The list of input items.\n */\n public get items(): Array {\n return this.getPropertyValue(\"items\");\n }\n public set items(val: Array) {\n this.setPropertyValue(\"items\", val);\n }\n /**\n * Add a new text item.\n * @param name a item name\n * @param title a item title (optional)\n */\n public addItem(name: string, title: string = null): MultipleTextItemModel {\n var item = this.createTextItem(name, title);\n this.items.push(item);\n return item;\n }\n public getItemByName(name: string): MultipleTextItemModel {\n for (var i = 0; i < this.items.length; i++) {\n if (this.items[i].name == name) return this.items[i];\n }\n return null;\n }\n public addConditionObjectsByContext(\n objects: Array,\n context: any\n ) {\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n objects.push({\n name: this.getValueName() + \".\" + item.name,\n text: this.processedTitle + \".\" + item.fullTitle,\n question: this,\n });\n }\n }\n public getConditionJson(operator: string = null, path: string = null): any {\n if (!path) return super.getConditionJson();\n var item = this.getItemByName(path);\n if (!item) return null;\n var json = new JsonObject().toJsonObject(item);\n json[\"type\"] = \"text\";\n return json;\n }\n public locStrsChanged() {\n super.locStrsChanged();\n for (var i = 0; i < this.items.length; i++) {\n this.items[i].locStrsChanged();\n }\n }\n supportGoNextPageAutomatic() {\n for (var i = 0; i < this.items.length; i++) {\n if (this.items[i].isEmpty()) return false;\n }\n return true;\n }\n /**\n * The number of columns. Items are rendred in one line if the value is 0.\n */\n public get colCount(): number {\n return this.getPropertyValue(\"colCount\");\n }\n public set colCount(val: number) {\n if (val < 1 || val > 5) return;\n this.setPropertyValue(\"colCount\", val);\n }\n /**\n * The default text input size.\n */\n public get itemSize(): number {\n return this.getPropertyValue(\"itemSize\");\n }\n public set itemSize(val: number) {\n this.setPropertyValue(\"itemSize\", val);\n }\n /**\n * Returns the list of rendered rows.\n */\n public getRows(): Array {\n var colCount = this.colCount;\n var items = this.items;\n var rows = [];\n var index = 0;\n for (var i = 0; i < items.length; i++) {\n if (index == 0) {\n rows.push([]);\n }\n rows[rows.length - 1].push(items[i]);\n index++;\n if (index >= colCount) {\n index = 0;\n }\n }\n return rows;\n }\n private isMultipleItemValueChanging = false;\n protected onValueChanged() {\n super.onValueChanged();\n this.onItemValueChanged();\n }\n protected createTextItem(name: string, title: string): MultipleTextItemModel {\n return new MultipleTextItemModel(name, title);\n }\n protected onItemValueChanged() {\n if (this.isMultipleItemValueChanging) return;\n for (var i = 0; i < this.items.length; i++) {\n var itemValue = null;\n if (this.value && this.items[i].name in this.value) {\n itemValue = this.value[this.items[i].name];\n }\n this.items[i].onValueChanged(itemValue);\n }\n }\n protected getIsRunningValidators(): boolean {\n if (super.getIsRunningValidators()) return true;\n for (var i = 0; i < this.items.length; i++) {\n if (this.items[i].editor.isRunningValidators) return true;\n }\n return false;\n }\n public hasErrors(fireCallback: boolean = true, rec: any = null): boolean {\n var res = false;\n for (var i = 0; i < this.items.length; i++) {\n this.items[i].editor.onCompletedAsyncValidators = (\n hasErrors: boolean\n ) => {\n this.raiseOnCompletedAsyncValidators();\n };\n if (\n !!rec &&\n rec.isOnValueChanged === true &&\n this.items[i].editor.isEmpty()\n )\n continue;\n res = this.items[i].editor.hasErrors(fireCallback, rec) || res;\n }\n return super.hasErrors(fireCallback) || res;\n }\n public getAllErrors(): Array {\n var result = super.getAllErrors();\n for (var i = 0; i < this.items.length; i++) {\n var errors = this.items[i].editor.getAllErrors();\n if (errors && errors.length > 0) {\n result = result.concat(errors);\n }\n }\n return result;\n }\n public clearErrors() {\n super.clearErrors();\n for (var i = 0; i < this.items.length; i++) {\n this.items[i].editor.clearErrors();\n }\n }\n protected getContainsErrors(): boolean {\n var res = super.getContainsErrors();\n if (res) return res;\n var items = this.items;\n for (var i = 0; i < items.length; i++) {\n if (items[i].editor.containsErrors) return true;\n }\n return false;\n }\n protected getIsAnswered(): boolean {\n if (!super.getIsAnswered()) return false;\n for (var i = 0; i < this.items.length; i++) {\n var editor = this.items[i].editor;\n if (editor.isVisible && !editor.isAnswered) return false;\n }\n return true;\n }\n\n //IMultipleTextData\n getMultipleTextValue(name: string) {\n if (!this.value) return null;\n return this.value[name];\n }\n setMultipleTextValue(name: string, value: any) {\n this.isMultipleItemValueChanging = true;\n var newValue = this.value;\n if (!newValue) {\n newValue = {};\n }\n newValue[name] = value;\n this.setNewValue(newValue);\n this.isMultipleItemValueChanging = false;\n }\n getItemDefaultValue(name: string): any {\n return !!this.defaultValue ? this.defaultValue[name] : null;\n }\n getSurvey(): ISurvey {\n return this.survey;\n }\n getTextProcessor(): ITextProcessor {\n return this.textProcessor;\n }\n getAllValues() {\n return this.data ? this.data.getAllValues() : null;\n }\n getIsRequiredText(): string {\n return this.survey ? this.survey.requiredText : \"\";\n }\n //IPanel\n addElement(element: IElement, index: number) {}\n removeElement(element: IElement): boolean {\n return false;\n }\n getQuestionTitleLocation(): string {\n return \"left\";\n }\n getQuestionStartIndex(): string {\n return this.getStartIndex();\n }\n getChildrenLayoutType(): string {\n return \"row\";\n }\n elementWidthChanged(el: IElement) {}\n get elements(): Array {\n return [];\n }\n indexOf(el: IElement): number {\n return -1;\n }\n}\n\nSerializer.addClass(\n \"multipletextitem\",\n [\n \"name\",\n \"isRequired:boolean\",\n { name: \"placeHolder\", serializationProperty: \"locPlaceHolder\" },\n {\n name: \"inputType\",\n default: \"text\",\n choices: [\n \"color\",\n \"date\",\n \"datetime\",\n \"datetime-local\",\n \"email\",\n \"month\",\n \"number\",\n \"password\",\n \"range\",\n \"tel\",\n \"text\",\n \"time\",\n \"url\",\n \"week\",\n ],\n },\n { name: \"title\", serializationProperty: \"locTitle\" },\n { name: \"maxLength:number\", default: -1 },\n {\n name: \"requiredErrorText:text\",\n serializationProperty: \"locRequiredErrorText\",\n },\n {\n name: \"validators:validators\",\n baseClassName: \"surveyvalidator\",\n classNamePart: \"validator\",\n },\n ],\n function () {\n return new MultipleTextItemModel(\"\");\n }\n);\n\nSerializer.addClass(\n \"multipletext\",\n [\n { name: \"!items:textitems\", className: \"multipletextitem\" },\n { name: \"itemSize:number\", default: 25, minValue: 0 },\n { name: \"colCount:number\", default: 1, choices: [1, 2, 3, 4, 5] },\n ],\n function () {\n return new QuestionMultipleTextModel(\"\");\n },\n \"question\"\n);\n\nQuestionFactory.Instance.registerQuestion(\"multipletext\", (name) => {\n var q = new QuestionMultipleTextModel(name);\n q.addItem(\"text1\");\n q.addItem(\"text2\");\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_multipletext.ts","import { HashTable, Helpers } from \"./helpers\";\nimport {\n IElement,\n IQuestion,\n Base,\n IPanel,\n SurveyError,\n ISurveyData,\n ISurvey,\n ISurveyImpl,\n ITextProcessor,\n} from \"./base\";\nimport { surveyLocalization } from \"./surveyStrings\";\nimport { LocalizableString } from \"./localizablestring\";\nimport { TextPreProcessor, TextPreProcessorValue } from \"./textPreProcessor\";\nimport { ProcessValue } from \"./conditionProcessValue\";\nimport { Question, IConditionObject } from \"./question\";\nimport { PanelModel } from \"./panel\";\nimport { JsonObject, Serializer } from \"./jsonobject\";\nimport { QuestionFactory } from \"./questionfactory\";\nimport { KeyDuplicationError } from \"./error\";\nimport { settings } from \"./settings\";\nimport { Panel } from \"./knockout/kopage\";\nimport { confirmAction } from \"./utils/utils\";\n\nexport interface IQuestionPanelDynamicData {\n getItemIndex(item: ISurveyData): number;\n getPanelItemData(item: ISurveyData): any;\n setPanelItemData(item: ISurveyData, name: string, val: any): any;\n getSharedQuestionFromArray(name: string, panelIndex: number): Question;\n getSurvey(): ISurvey;\n getRootData(): ISurveyData;\n}\n\nexport class QuestionPanelDynamicItem\n implements ISurveyData, ISurveyImpl, ITextProcessor {\n public static ItemVariableName = \"panel\";\n public static IndexVariableName = \"panelIndex\";\n private panelValue: PanelModel;\n private data: IQuestionPanelDynamicData;\n private textPreProcessor: TextPreProcessor;\n constructor(data: IQuestionPanelDynamicData, panel: PanelModel) {\n this.data = data;\n this.panelValue = panel;\n var self = this;\n this.textPreProcessor = new TextPreProcessor();\n this.textPreProcessor.onProcess = function (\n textValue: TextPreProcessorValue\n ) {\n self.getProcessedTextValue(textValue);\n };\n this.setSurveyImpl();\n }\n public get panel(): PanelModel {\n return this.panelValue;\n }\n public setSurveyImpl() {\n this.panel.setSurveyImpl(this);\n }\n public getValue(name: string): any {\n var values = this.getAllValues();\n return values[name];\n }\n public setValue(name: string, newValue: any) {\n this.data.setPanelItemData(this, name, newValue);\n }\n getVariable(name: string): any {\n return undefined;\n }\n setVariable(name: string, newValue: any) {}\n public getComment(name: string): string {\n var result = this.getValue(name + settings.commentPrefix);\n return result ? result : \"\";\n }\n public setComment(name: string, newValue: string, locNotification: any) {\n this.setValue(name + settings.commentPrefix, newValue);\n }\n getAllValues(): any {\n return this.data.getPanelItemData(this);\n }\n getFilteredValues(): any {\n var values: { [key: string]: any } = {};\n var surveyValues =\n !!this.data && !!this.data.getRootData()\n ? this.data.getRootData().getFilteredValues()\n : {};\n for (var key in surveyValues) {\n values[key] = surveyValues[key];\n }\n values[QuestionPanelDynamicItem.ItemVariableName] = this.getAllValues();\n return values;\n }\n getFilteredProperties(): any {\n if (!!this.data && !!this.data.getRootData())\n return this.data.getRootData().getFilteredProperties();\n return { survey: this.getSurvey() };\n }\n geSurveyData(): ISurveyData {\n return this;\n }\n getSurvey(): ISurvey {\n return this.data ? this.data.getSurvey() : null;\n }\n getTextProcessor(): ITextProcessor {\n return this;\n }\n //ITextProcessor\n private getProcessedTextValue(textValue: TextPreProcessorValue) {\n if (!textValue) return;\n var panelIndex = !!this.data ? this.data.getItemIndex(this) : -1;\n if (textValue.name == QuestionPanelDynamicItem.IndexVariableName) {\n textValue.isExists = true;\n textValue.value = panelIndex + 1;\n return;\n }\n var firstName = new ProcessValue().getFirstName(textValue.name);\n textValue.isExists = firstName == QuestionPanelDynamicItem.ItemVariableName;\n textValue.canProcess = textValue.isExists;\n if (!textValue.canProcess) return;\n //name should start with the panel\n textValue.name = textValue.name.replace(\n QuestionPanelDynamicItem.ItemVariableName + \".\",\n \"\"\n );\n var firstName = new ProcessValue().getFirstName(textValue.name);\n var question = this.panel.getQuestionByValueName(firstName);\n if (!question && panelIndex > -1) {\n question = this.data.getSharedQuestionFromArray(firstName, panelIndex);\n }\n var values = {};\n if (question) {\n (values)[firstName] = textValue.returnDisplayValue\n ? question.displayValue\n : question.value;\n } else {\n var allValues = this.getAllValues();\n if (allValues) {\n (values)[firstName] = allValues[firstName];\n }\n }\n textValue.value = new ProcessValue().getValue(textValue.name, values);\n }\n processText(text: string, returnDisplayValue: boolean): string {\n text = this.textPreProcessor.process(text, returnDisplayValue);\n var survey = this.getSurvey();\n return survey ? survey.processText(text, returnDisplayValue) : text;\n }\n processTextEx(text: string, returnDisplayValue: boolean): any {\n text = this.processText(text, returnDisplayValue);\n var hasAllValuesOnLastRun = this.textPreProcessor.hasAllValuesOnLastRun;\n var res = { hasAllValuesOnLastRun: true, text: text };\n if (this.getSurvey()) {\n res = this.getSurvey().processTextEx(text, returnDisplayValue, false);\n }\n res.hasAllValuesOnLastRun =\n res.hasAllValuesOnLastRun && hasAllValuesOnLastRun;\n return res;\n }\n}\n\nexport class QuestionPanelDynamicTemplateSurveyImpl implements ISurveyImpl {\n constructor(public data: IQuestionPanelDynamicData) {}\n geSurveyData(): ISurveyData {\n return null;\n }\n getSurvey(): ISurvey {\n return this.data.getSurvey();\n }\n getTextProcessor(): ITextProcessor {\n return null;\n }\n}\n\n/**\n * A Model for a panel dymanic question. You setup the template panel, but adding elements (any question or a panel) and assign a text to it's title, and this panel will be used as a template on creating dynamic panels. The number of panels is defined by panelCount property.\n * An end-user may dynamically add/remove panels, unless you forbidden this.\n */\nexport class QuestionPanelDynamicModel extends Question\n implements IQuestionPanelDynamicData {\n private templateValue: PanelModel;\n private loadingPanelCount: number = 0;\n private isValueChangingInternally: boolean;\n private changingValueQuestion: Question;\n private currentIndexValue: number = -1;\n\n renderModeChangedCallback: () => void;\n panelCountChangedCallback: () => void;\n currentIndexChangedCallback: () => void;\n\n constructor(public name: string) {\n super(name);\n this.createNewArray(\"panels\");\n this.templateValue = this.createAndSetupNewPanelObject();\n this.template.renderWidth = \"100%\";\n this.template.selectedElementInDesign = this;\n\n var self = this;\n this.template.addElementCallback = function (element) {\n self.addOnPropertyChangedCallback(element);\n self.rebuildPanels();\n };\n this.template.removeElementCallback = function (element) {\n self.rebuildPanels();\n };\n\n this.createLocalizableString(\"confirmDeleteText\", this);\n this.createLocalizableString(\"keyDuplicationError\", this);\n this.createLocalizableString(\"panelAddText\", this);\n this.createLocalizableString(\"panelRemoveText\", this);\n this.createLocalizableString(\"panelPrevText\", this);\n this.createLocalizableString(\"panelNextText\", this);\n this.registerFunctionOnPropertyValueChanged(\"panelsState\", function () {\n self.setPanelsState();\n });\n }\n public get hasSingleInput(): boolean {\n return false;\n }\n public setSurveyImpl(value: ISurveyImpl) {\n super.setSurveyImpl(value);\n this.setTemplatePanelSurveyImpl();\n this.setPanelsSurveyImpl();\n }\n private assignOnPropertyChangedToTemplate() {\n var elements = this.template.elements;\n for (var i = 0; i < elements.length; i++) {\n this.addOnPropertyChangedCallback(elements[i]);\n }\n }\n private addOnPropertyChangedCallback(element: IElement) {\n var self = this;\n ((element)).onPropertyChanged.add(function (element, options) {\n self.onTemplateElementPropertyChanged(element, options);\n });\n if (element.isPanel) {\n ((element)).addElementCallback = function (element) {\n self.addOnPropertyChangedCallback(element);\n };\n }\n }\n private onTemplateElementPropertyChanged(element: any, options: any) {\n if (this.isLoadingFromJson || this.isDesignMode || this.panels.length == 0)\n return;\n var property = Serializer.findProperty(element.getType(), options.name);\n if (!property) return;\n var panels = this.panels;\n for (var i = 0; i < panels.length; i++) {\n var question = panels[i].getQuestionByName(element.name);\n if (!!question && (question)[options.name] !== options.newValue) {\n (question)[options.name] = options.newValue;\n }\n }\n }\n public getType(): string {\n return \"paneldynamic\";\n }\n public get isCompositeQuestion(): boolean {\n return true;\n }\n public clearOnDeletingContainer() {\n this.panels.forEach((panel) => {\n panel.clearOnDeletingContainer();\n });\n }\n public get isAllowTitleLeft(): boolean {\n return false;\n }\n public removeElement(element: IElement): boolean {\n return this.template.removeElement(element);\n }\n\n /**\n * The template Panel. This panel is used as a template on creatign dynamic panels\n * @see templateElements\n * @see templateTitle\n * @see panelCount\n */\n public get template(): PanelModel {\n return this.templateValue;\n }\n public getPanel(): IPanel {\n return this.template;\n }\n /**\n * The template Panel elements, questions and panels.\n * @see templateElements\n * @see template\n * @see panelCount\n */\n public get templateElements(): Array {\n return this.template.elements;\n }\n /**\n * The template Panel title property.\n * @see templateElements\n * @see template\n * @see panelCount\n */\n public get templateTitle(): string {\n return this.template.title;\n }\n public set templateTitle(newValue: string) {\n this.template.title = newValue;\n }\n get locTemplateTitle(): LocalizableString {\n return this.template.locTitle;\n }\n /**\n * The template Panel description property.\n * @see templateElements\n * @see template\n * @see panelCount\n * @see templateTitle\n */\n public get templateDescription(): string {\n return this.template.description;\n }\n public set templateDescription(newValue: string) {\n this.template.description = newValue;\n }\n get locTemplateDescription(): LocalizableString {\n return this.template.locDescription;\n }\n\n protected get items(): Array {\n var res = [];\n for (var i = 0; i < this.panels.length; i++) {\n res.push(this.panels[i].data);\n }\n return res;\n }\n /**\n * The array of dynamic panels created based on panel template\n * @see template\n * @see panelCount\n */\n public get panels(): Array {\n return this.getPropertyValue(\"panels\");\n }\n /**\n * The index of current active dynamical panel when the renderMode is not \"list\". If there is no dymamic panel (panelCount = 0) or renderMode equals \"list\" it returns -1, otherwise it returns a value from 0 to panelCount - 1.\n * @see currentPanel\n * @see panels\n * @see panelCount\n * @see renderMode\n */\n public get currentIndex(): number {\n if (this.isRenderModeList) return -1;\n if (this.isDesignMode) return 0;\n if (this.currentIndexValue < 0 && this.panelCount > 0) {\n this.currentIndexValue = 0;\n }\n if (this.currentIndexValue >= this.panelCount) {\n this.currentIndexValue = this.panelCount - 1;\n }\n return this.currentIndexValue;\n }\n public set currentIndex(val: number) {\n if (this.currentIndexValue !== val) {\n if (val >= this.panelCount) val = this.panelCount - 1;\n this.currentIndexValue = val;\n this.fireCallback(this.currentIndexChangedCallback);\n }\n }\n /**\n * The current active dynamical panel when the renderMode is not \"list\". If there is no dymamic panel (panelCount = 0) or renderMode equals \"list\" it returns null.\n * @see currenIndex\n * @see panels\n * @see panelCount\n * @see renderMode\n */\n public get currentPanel(): PanelModel {\n var index = this.currentIndex;\n if (index < 0 || index >= this.panels.length) return null;\n return this.panels[index];\n }\n /**\n * Set it to true, to show a confirmation dialog on removing a panel\n * @see ConfirmDeleteText\n */\n public get confirmDelete(): boolean {\n return this.getPropertyValue(\"confirmDelete\", false);\n }\n public set confirmDelete(val: boolean) {\n this.setPropertyValue(\"confirmDelete\", val);\n }\n /**\n * Set it to a question name used in the template panel and the library shows duplication error, if there are same values in different panels of this question.\n * @see keyDuplicationError\n */\n public get keyName(): string {\n return this.getPropertyValue(\"keyName\", \"\");\n }\n public set keyName(val: string) {\n this.setPropertyValue(\"keyName\", val);\n }\n /**\n * Use this property to change the default text showing in the confirmation delete dialog on removing a panel.\n */\n public get confirmDeleteText() {\n return this.getLocalizableStringText(\n \"confirmDeleteText\",\n surveyLocalization.getString(\"confirmDelete\")\n );\n }\n public set confirmDeleteText(val: string) {\n this.setLocalizableStringText(\"confirmDeleteText\", val);\n }\n get locConfirmDeleteText(): LocalizableString {\n return this.getLocalizableString(\"confirmDeleteText\");\n }\n /**\n * The duplication value error text. Set it to show the text different from the default.\n * @see keyName\n */\n public get keyDuplicationError() {\n return this.getLocalizableStringText(\n \"keyDuplicationError\",\n surveyLocalization.getString(\"keyDuplicationError\")\n );\n }\n public set keyDuplicationError(val: string) {\n this.setLocalizableStringText(\"keyDuplicationError\", val);\n }\n get locKeyDuplicationError(): LocalizableString {\n return this.getLocalizableString(\"keyDuplicationError\");\n }\n /**\n * Use this property to change the default previous button text. Previous button shows the previous panel, change the currentPanel, when the renderMode doesn't equal to \"list\".\n * @see currentPanel\n * @see currentIndex\n * @see renderMode\n */\n public get panelPrevText(): string {\n return this.getLocalizableStringText(\n \"panelPrevText\",\n surveyLocalization.getString(\"pagePrevText\")\n );\n }\n public set panelPrevText(val: string) {\n this.setLocalizableStringText(\"panelPrevText\", val);\n }\n get locPanelPrevText(): LocalizableString {\n return this.getLocalizableString(\"panelPrevText\");\n }\n /**\n * Use this property to change the default next button text. Next button shows the next panel, change the currentPanel, when the renderMode doesn't equal to \"list\".\n * @see currentPanel\n * @see currentIndex\n * @see renderMode\n */\n public get panelNextText(): string {\n return this.getLocalizableStringText(\n \"panelNextText\",\n surveyLocalization.getString(\"pageNextText\")\n );\n }\n public set panelNextText(val: string) {\n this.setLocalizableStringText(\"panelNextText\", val);\n }\n get locPanelNextText(): LocalizableString {\n return this.getLocalizableString(\"panelNextText\");\n }\n /**\n * Use this property to change the default value of add panel button text.\n */\n public get panelAddText() {\n return this.getLocalizableStringText(\n \"panelAddText\",\n surveyLocalization.getString(\"addPanel\")\n );\n }\n public set panelAddText(value: string) {\n this.setLocalizableStringText(\"panelAddText\", value);\n }\n get locPanelAddText(): LocalizableString {\n return this.getLocalizableString(\"panelAddText\");\n }\n /**\n * Use this property to change the default value of remove panel button text.\n */\n public get panelRemoveText() {\n return this.getLocalizableStringText(\n \"panelRemoveText\",\n surveyLocalization.getString(\"removePanel\")\n );\n }\n public set panelRemoveText(val: string) {\n this.setLocalizableStringText(\"panelRemoveText\", val);\n }\n get locPanelRemoveText(): LocalizableString {\n return this.getLocalizableString(\"panelRemoveText\");\n }\n /**\n * Returns true when the renderMode equals to \"progressTop\" or \"progressTopBottom\"\n */\n public get isProgressTopShowing(): boolean {\n return (\n this.renderMode == \"progressTop\" || this.renderMode == \"progressTopBottom\"\n );\n }\n /**\n * Returns true when the renderMode equals to \"progressBottom\" or \"progressTopBottom\"\n */\n public get isProgressBottomShowing(): boolean {\n return (\n this.renderMode == \"progressBottom\" ||\n this.renderMode == \"progressTopBottom\"\n );\n }\n /**\n * Returns true when currentIndex is more than 0.\n * @see currenIndex\n * @see currenPanel\n */\n public get isPrevButtonShowing(): boolean {\n return this.currentIndex > 0;\n }\n /**\n * Returns true when currentIndex is more than or equal 0 and less than panelCount - 1.\n * @see currenIndex\n * @see currenPanel\n * @see panelCount\n */\n public get isNextButtonShowing(): boolean {\n return this.currentIndex >= 0 && this.currentIndex < this.panelCount - 1;\n }\n /**\n * Returns true when showRangeInProgress equals to true, renderMode doesn't equal to \"list\" and panelCount is >= 2.\n */\n public get isRangeShowing(): boolean {\n return (\n this.showRangeInProgress && this.currentIndex >= 0 && this.panelCount > 1\n );\n }\n public getElementsInDesign(includeHidden: boolean = false): Array {\n return includeHidden ? [this.template] : this.templateElements;\n }\n private isAddingNewPanels: boolean = false;\n private addingNewPanelsValue: any;\n private isNewPanelsValueChanged: boolean;\n private prepareValueForPanelCreating() {\n this.addingNewPanelsValue = this.value;\n this.isAddingNewPanels = true;\n this.isNewPanelsValueChanged = false;\n }\n private setValueAfterPanelsCreating() {\n this.isAddingNewPanels = false;\n if (this.isNewPanelsValueChanged) {\n this.isValueChangingInternally = true;\n this.value = this.addingNewPanelsValue;\n this.isValueChangingInternally = false;\n }\n }\n protected getValueCore() {\n return this.isAddingNewPanels\n ? this.addingNewPanelsValue\n : super.getValueCore();\n }\n protected setValueCore(newValue: any) {\n if (this.isAddingNewPanels) {\n this.isNewPanelsValueChanged = true;\n this.addingNewPanelsValue = newValue;\n } else {\n super.setValueCore(newValue);\n }\n }\n /**\n * Use this property to get/set the number of dynamic panels.\n * @see template\n * @see minPanelCount\n * @see maxPanelCount\n * @see addPanel\n * @see removePanel\n * @see removePanelUI\n */\n public get panelCount(): number {\n return this.isLoadingFromJson || this.isDesignMode\n ? this.loadingPanelCount\n : this.panels.length;\n }\n public set panelCount(val: number) {\n if (val < 0) return;\n if (this.isLoadingFromJson || this.isDesignMode) {\n this.loadingPanelCount = val;\n return;\n }\n if (val == this.panels.length || this.isDesignMode) return;\n this.prepareValueForPanelCreating();\n for (let i = this.panelCount; i < val; i++) {\n var panel = this.createNewPanel();\n this.panels.push(panel);\n if (this.renderMode == \"list\" && this.panelsState != \"default\") {\n if (this.panelsState === \"expand\") {\n panel.expand();\n } else {\n if (!!panel.title) {\n panel.collapse();\n }\n }\n }\n }\n if (val < this.panelCount) this.panels.splice(val, this.panelCount - val);\n this.setValueAfterPanelsCreating();\n this.setValueBasedOnPanelCount();\n this.reRunCondition();\n this.fireCallback(this.panelCountChangedCallback);\n }\n /**\n * Use this property to allow the end-user to collapse/expand the panels. It works only if the renderMode property equals to \"list\" and templateTitle property is not empty. The following values are available:\n *
    default - the default value. User can't collapse/expand panels\n *
    expanded - User can collapse/expand panels and all panels are expanded by default\n *
    collapsed - User can collapse/expand panels and all panels are collapsed by default\n *
    firstExpanded - User can collapse/expand panels. The first panel is expanded and others are collapsed\n * @see renderMode\n * @see templateTitle\n */\n public get panelsState(): string {\n return this.getPropertyValue(\"panelsState\");\n }\n public set panelsState(val: string) {\n this.setPropertyValue(\"panelsState\", val);\n }\n private setTemplatePanelSurveyImpl() {\n this.template.setSurveyImpl(\n this.isDesignMode\n ? this.surveyImpl\n : new QuestionPanelDynamicTemplateSurveyImpl(this)\n );\n }\n private setPanelsSurveyImpl() {\n for (var i = 0; i < this.panels.length; i++) {\n var panel = this.panels[i];\n if (panel == this.template) continue;\n panel.setSurveyImpl(panel.data);\n }\n }\n private setPanelsState() {\n if (this.isDesignMode || this.renderMode != \"list\" || !this.templateTitle)\n return;\n for (var i = 0; i < this.panels.length; i++) {\n var state = this.panelsState;\n if (state === \"firstExpanded\") {\n state = i === 0 ? \"expanded\" : \"collapsed\";\n }\n this.panels[i].state = state;\n }\n }\n private setValueBasedOnPanelCount() {\n var value = this.value;\n if (!value || !Array.isArray(value)) value = [];\n if (value.length == this.panelCount) return;\n for (var i = value.length; i < this.panelCount; i++) value.push({});\n if (value.length > this.panelCount) {\n value.splice(this.panelCount, value.length - this.panelCount);\n }\n this.isValueChangingInternally = true;\n this.value = value;\n this.isValueChangingInternally = false;\n }\n /**\n * The minimum panel count. A user could not delete a panel if the panelCount equals to minPanelCount\n * @see panelCount\n * @see maxPanelCount\n */\n public get minPanelCount(): number {\n return this.getPropertyValue(\"minPanelCount\", 0);\n }\n public set minPanelCount(val: number) {\n if (val < 0) val = 0;\n if (val == this.minPanelCount) return;\n this.setPropertyValue(\"minPanelCount\", val);\n if (val > this.maxPanelCount) this.maxPanelCount = val;\n if (this.panelCount < val) this.panelCount = val;\n }\n /**\n * The maximum panel count. A user could not add a panel if the panelCount equals to maxPanelCount\n * @see panelCount\n * @see minPanelCount\n */\n public get maxPanelCount(): number {\n return this.getPropertyValue(\n \"maxPanelCount\",\n settings.panelMaximumPanelCount\n );\n }\n public set maxPanelCount(val: number) {\n if (val <= 0) return;\n if (val > settings.panelMaximumPanelCount)\n val = settings.panelMaximumPanelCount;\n if (val == this.maxPanelCount) return;\n this.setPropertyValue(\"maxPanelCount\", val);\n if (val < this.minPanelCount) this.minPanelCount = val;\n if (this.panelCount > val) this.panelCount = val;\n }\n /**\n * Set this property to false to hide the 'Add New' button\n * @see allowRemovePanel\n */\n public get allowAddPanel(): boolean {\n return this.getPropertyValue(\"allowAddPanel\");\n }\n public set allowAddPanel(val: boolean) {\n this.setPropertyValue(\"allowAddPanel\", val);\n }\n /**\n * Set this property to false to hide the 'Remove' button\n * @see allowAddPanel\n */\n public get allowRemovePanel(): boolean {\n return this.getPropertyValue(\"allowRemovePanel\");\n }\n public set allowRemovePanel(val: boolean) {\n this.setPropertyValue(\"allowRemovePanel\", val);\n }\n /**\n * Set this property different from \"default\" to set the specific question title location for the template questions.\n * @see SurveyModel.questionTitleLocation\n * @see PanelModelBase.questionTitleLocation\n */\n public get templateTitleLocation(): string {\n return this.getPropertyValue(\"templateTitleLocation\");\n }\n public set templateTitleLocation(value: string) {\n this.setPropertyValue(\"templateTitleLocation\", value.toLowerCase());\n }\n /**\n * Use this property to show/hide the numbers in titles in questions inside a dynamic panel.\n * By default the value is \"off\". You may set it to \"onPanel\" and the first question inside a dynamic panel will start with 1 or \"onSurvey\" to include nested questions in dymamic panels into global survey question numbering.\n */\n public get showQuestionNumbers(): string {\n return this.getPropertyValue(\"showQuestionNumbers\");\n }\n public set showQuestionNumbers(val: string) {\n this.setPropertyValue(\"showQuestionNumbers\", val);\n if (!this.isLoadingFromJson && this.survey) {\n this.survey.questionVisibilityChanged(this, this.visible);\n }\n }\n /**\n * Shows the range from 1 to panelCount when renderMode doesn't equal to \"list\". Set to false to hide this element.\n * @see panelCount\n * @see renderMode\n */\n public get showRangeInProgress(): boolean {\n return this.getPropertyValue(\"showRangeInProgress\", true);\n }\n public set showRangeInProgress(val: boolean) {\n this.setPropertyValue(\"showRangeInProgress\", val);\n this.fireCallback(this.currentIndexChangedCallback);\n }\n /**\n * By default the property equals to \"list\" and all dynamic panels are rendered one by one on the page. You may change it to: \"progressTop\", \"progressBottom\" or \"progressTopBottom\" to render only one dynamic panel at once. The progress and navigation elements can be rendred on top, bottom or both.\n */\n public get renderMode(): string {\n return this.getPropertyValue(\"renderMode\");\n }\n public set renderMode(val: string) {\n this.setPropertyValue(\"renderMode\", val);\n this.fireCallback(this.renderModeChangedCallback);\n }\n /**\n * Returns true when renderMode equals to \"list\".\n * @see renderMode\n */\n public get isRenderModeList() {\n return this.renderMode == \"list\";\n }\n public setVisibleIndex(value: number): number {\n if (!this.isVisible) return 0;\n var startIndex = this.showQuestionNumbers == \"onSurvey\" ? value : 0;\n for (var i = 0; i < this.panels.length; i++) {\n var counter = this.setPanelVisibleIndex(\n this.panels[i],\n startIndex,\n this.showQuestionNumbers != \"off\"\n );\n if (this.showQuestionNumbers == \"onSurvey\") {\n startIndex += counter;\n }\n }\n super.setVisibleIndex(this.showQuestionNumbers != \"onSurvey\" ? value : -1);\n return this.showQuestionNumbers != \"onSurvey\" ? 1 : startIndex - value;\n }\n private setPanelVisibleIndex(\n panel: PanelModel,\n index: number,\n showIndex: boolean\n ): number {\n if (!showIndex) {\n panel.setVisibleIndex(-1);\n return 0;\n }\n return panel.setVisibleIndex(index);\n }\n\n /**\n * Returns true when an end user may add a new panel. The question is not read only and panelCount less than maxPanelCount\n * @see isReadOnly\n * @see panelCount\n * @see maxPanelCount\n */\n public get canAddPanel(): boolean {\n if (this.survey && this.survey.isDesignMode) return false;\n return (\n this.allowAddPanel &&\n !this.isReadOnly &&\n this.panelCount < this.maxPanelCount\n );\n }\n /**\n * Returns true when an end user may remove a panel. The question is not read only and panelCount is more than minPanelCount\n * @see isReadOnly\n * @see panelCount\n * @see minPanelCount\n */\n public get canRemovePanel(): boolean {\n if (this.survey && this.survey.isDesignMode) return false;\n return (\n this.allowRemovePanel &&\n !this.isReadOnly &&\n this.panelCount > this.minPanelCount\n );\n }\n protected rebuildPanels() {\n if (this.isLoadingFromJson) return;\n this.prepareValueForPanelCreating();\n var panels = [];\n if (this.isDesignMode) {\n new QuestionPanelDynamicItem(this, this.template);\n panels.push(this.template);\n } else {\n for (var i = 0; i < this.panelCount; i++) {\n panels.push(this.createNewPanel());\n }\n }\n this.panels.splice(0, this.panels.length, ...panels);\n this.setValueAfterPanelsCreating();\n this.setPanelsState();\n this.reRunCondition();\n this.fireCallback(this.panelCountChangedCallback);\n }\n /**\n * If it is not empty, then this value is set to every new panel, including panels created initially, unless the defaultValue is not empty\n * @see defaultValue\n * @see defaultValueFromLastRow\n */\n public get defaultPanelValue(): any {\n return this.getPropertyValue(\"defaultPanelValue\");\n }\n public set defaultPanelValue(val: any) {\n this.setPropertyValue(\"defaultPanelValue\", val);\n }\n /**\n * Set it to true to copy the value into new added panel from the last panel. If defaultPanelValue is set and this property equals to true,\n * then the value for new added panel is merging.\n * @see defaultValue\n * @see defaultPanelValue\n */\n public get defaultValueFromLastPanel(): boolean {\n return this.getPropertyValue(\"defaultValueFromLastPanel\", false);\n }\n public set defaultValueFromLastPanel(val: boolean) {\n this.setPropertyValue(\"defaultValueFromLastPanel\", val);\n }\n protected isDefaultValueEmpty(): boolean {\n return (\n super.isDefaultValueEmpty() && this.isValueEmpty(this.defaultPanelValue)\n );\n }\n protected setDefaultValue() {\n if (\n this.isValueEmpty(this.defaultPanelValue) ||\n !this.isValueEmpty(this.defaultValue)\n ) {\n super.setDefaultValue();\n return;\n }\n if (!this.isEmpty() || this.panelCount == 0) return;\n var newValue = [];\n for (var i = 0; i < this.panelCount; i++) {\n newValue.push(this.defaultPanelValue);\n }\n this.value = newValue;\n }\n public isEmpty(): boolean {\n var val = this.value;\n if (!val || !Array.isArray(val)) return true;\n for (var i = 0; i < val.length; i++) {\n if (!this.isRowEmpty(val[i])) return false;\n }\n return true;\n }\n private isRowEmpty(val: any) {\n for (var prop in val) {\n if (val.hasOwnProperty(prop)) return false;\n }\n return true;\n }\n\n /**\n * Add a new dynamic panel based on the template Panel. It checks if canAddPanel returns true and then calls addPanel method.\n * @see template\n * @see panelCount\n * @see panels\n * @see canAddPanel\n */\n public addPanelUI(): PanelModel {\n if (!this.canAddPanel) return null;\n var newPanel = this.addPanel();\n if (this.renderMode === \"list\" && this.panelsState !== \"default\") {\n newPanel.expand();\n }\n return newPanel;\n }\n /**\n * Add a new dynamic panel based on the template Panel.\n * @see template\n * @see panelCount\n * @see panels\n */\n public addPanel(): PanelModel {\n this.panelCount++;\n if (!this.isRenderModeList) {\n this.currentIndex = this.panelCount - 1;\n }\n var newValue = this.value;\n var hasModified = false;\n if (!this.isValueEmpty(this.defaultPanelValue)) {\n if (\n !!newValue &&\n Array.isArray(newValue) &&\n newValue.length == this.panelCount\n ) {\n hasModified = true;\n this.copyValue(newValue[newValue.length - 1], this.defaultPanelValue);\n }\n }\n if (\n this.defaultValueFromLastPanel &&\n !!newValue &&\n Array.isArray(newValue) &&\n newValue.length > 1 &&\n newValue.length == this.panelCount\n ) {\n hasModified = true;\n this.copyValue(\n newValue[newValue.length - 1],\n newValue[newValue.length - 2]\n );\n }\n if (hasModified) {\n this.value = newValue;\n }\n if (this.survey) this.survey.dynamicPanelAdded(this);\n return this.panels[this.panelCount - 1];\n }\n private copyValue(src: any, dest: any) {\n for (var key in dest) {\n src[key] = dest[key];\n }\n }\n /**\n * Call removePanel function. Do nothing is canRemovePanel returns false. If confirmDelete set to true, it shows the confirmation dialog first.\n * @param value a panel or panel index\n * @see removePanel\n * @see confirmDelete\n * @see confirmDeleteText\n * @see canRemovePanel\n *\n */\n public removePanelUI(value: any) {\n if (!this.canRemovePanel) return;\n if (!this.confirmDelete || confirmAction(this.confirmDeleteText)) {\n this.removePanel(value);\n }\n }\n /**\n * Goes to the next panel in the PanelDynamic\n *\n */\n public goToNextPanel() {\n if (this.renderMode !== \"list\" && this.currentPanel.hasErrors()) return;\n this.currentIndex++;\n }\n /**\n * Goes to the previous panel in the PanelDynamic\n *\n */\n public goToPrevPanel() {\n this.currentIndex--;\n }\n /**\n * Removes a dynamic panel from the panels array.\n * @param value a panel or panel index\n * @see panels\n * @see template\n */\n public removePanel(value: any) {\n var index = this.getPanelIndex(value);\n if (index < 0 || index >= this.panelCount) return;\n var panel = this.panels[index];\n this.panels.splice(index, 1);\n var value = this.value;\n if (!value || !Array.isArray(value) || index >= value.length) return;\n this.isValueChangingInternally = true;\n value.splice(index, 1);\n this.value = value;\n this.fireCallback(this.panelCountChangedCallback);\n if (this.survey) this.survey.dynamicPanelRemoved(this, index, panel);\n this.isValueChangingInternally = false;\n }\n private getPanelIndex(val: any): number {\n if (Helpers.isNumber(val)) return val;\n var items = this.items;\n for (var i = 0; i < this.panels.length; i++) {\n if (this.panels[i] === val || items[i] === val) return i;\n }\n return -1;\n }\n public locStrsChanged() {\n super.locStrsChanged();\n var panels = this.panels;\n for (var i = 0; i < panels.length; i++) {\n panels[i].locStrsChanged();\n }\n }\n public clearIncorrectValues() {\n for (var i = 0; i < this.panels.length; i++) {\n this.clearIncorrectValuesInPanel(i);\n }\n }\n public clearErrors() {\n super.clearErrors();\n for (var i = 0; i < this.panels.length; i++) {\n this.panels[i].clearErrors();\n }\n }\n public getQuestionFromArray(name: string, index: number): IQuestion {\n if (index >= this.panelCount) return null;\n return this.panels[index].getQuestionByName(name);\n }\n private clearIncorrectValuesInPanel(index: number) {\n var panel = this.panels[index];\n panel.clearIncorrectValues();\n var val = this.value;\n var values = !!val && index < val.length ? val[index] : null;\n if (!values) return;\n var isChanged = false;\n for (var key in values) {\n if (\n !panel.getQuestionByName(key) &&\n !this.getSharedQuestionFromArray(key, index)\n ) {\n delete values[key];\n isChanged = true;\n }\n }\n if (isChanged) {\n val[index] = values;\n this.value = val;\n }\n }\n public getSharedQuestionFromArray(\n name: string,\n panelIndex: number\n ): Question {\n return !!this.survey && !!this.valueName\n ? (\n this.survey.getQuestionByValueNameFromArray(\n this.valueName,\n name,\n panelIndex\n )\n )\n : null;\n }\n public addConditionObjectsByContext(\n objects: Array,\n context: any\n ) {\n var hasContext = !!context\n ? this.template.questions.indexOf(context) > -1\n : false;\n var prefixName = this.getValueName() + \"[0].\";\n var prefixText = this.processedTitle + \"[0].\";\n var panelObjs = new Array();\n var questions = this.template.questions;\n for (var i = 0; i < questions.length; i++) {\n questions[i].addConditionObjectsByContext(panelObjs, context);\n }\n for (var i = 0; i < panelObjs.length; i++) {\n objects.push({\n name: prefixName + panelObjs[i].name,\n text: prefixText + panelObjs[i].text,\n question: panelObjs[i].question,\n });\n }\n if (hasContext) {\n for (var i = 0; i < panelObjs.length; i++) {\n if (panelObjs[i].question == context) continue;\n objects.push({\n name: \"panel.\" + panelObjs[i].name,\n text: \"panel.\" + panelObjs[i].text,\n question: panelObjs[i].question,\n });\n }\n }\n }\n public getConditionJson(operator: string = null, path: string = null): any {\n if (!path) return super.getConditionJson(operator, path);\n var questionName = path;\n var pos = path.indexOf(\".\");\n if (pos > -1) {\n questionName = path.substr(0, pos);\n path = path.substr(pos + 1);\n }\n var question = this.template.getQuestionByName(questionName);\n if (!question) return null;\n return question.getConditionJson(operator, path);\n }\n protected onReadOnlyChanged() {\n var readOnly = this.isReadOnly;\n this.template.readOnly = readOnly;\n for (var i = 0; i < this.panels.length; i++) {\n this.panels[i].readOnly = readOnly;\n }\n super.onReadOnlyChanged();\n }\n public onSurveyLoad() {\n this.template.readOnly = this.isReadOnly;\n this.template.onSurveyLoad();\n if (this.loadingPanelCount > 0) {\n this.panelCount = this.loadingPanelCount;\n }\n if (this.isDesignMode) {\n this.rebuildPanels();\n }\n this.setPanelsSurveyImpl();\n this.setPanelsState();\n this.assignOnPropertyChangedToTemplate();\n super.onSurveyLoad();\n }\n public onFirstRendering() {\n this.template.onFirstRendering();\n for (var i = 0; i < this.panels.length; i++) {\n this.panels[i].onFirstRendering();\n }\n super.onFirstRendering();\n }\n public runCondition(values: HashTable, properties: HashTable) {\n super.runCondition(values, properties);\n this.runPanelsCondition(values, properties);\n }\n private reRunCondition() {\n if (!this.data) return;\n this.runCondition(\n this.getDataFilteredValues(),\n this.getDataFilteredProperties()\n );\n }\n protected runPanelsCondition(\n values: HashTable,\n properties: HashTable\n ) {\n var cachedValues: { [index: string]: any } = {};\n if (values && values instanceof Object) {\n cachedValues = JSON.parse(JSON.stringify(values));\n }\n for (var i = 0; i < this.panels.length; i++) {\n var panelValues = this.getPanelItemData(this.panels[i].data);\n //Should be unique for every panel due async expression support\n var newValues = Helpers.createCopy(cachedValues);\n newValues[\n QuestionPanelDynamicItem.ItemVariableName.toLowerCase()\n ] = panelValues;\n newValues[QuestionPanelDynamicItem.IndexVariableName.toLowerCase()] = i;\n this.panels[i].runCondition(newValues, properties);\n }\n }\n onAnyValueChanged(name: string) {\n super.onAnyValueChanged(name);\n for (var i = 0; i < this.panels.length; i++) {\n this.panels[i].onAnyValueChanged(name);\n this.panels[i].onAnyValueChanged(\n QuestionPanelDynamicItem.ItemVariableName\n );\n }\n }\n private hasKeysDuplicated(fireCallback: boolean, rec: any = null) {\n var keyValues: Array = [];\n var res;\n for (var i = 0; i < this.panels.length; i++) {\n res =\n this.isValueDuplicated(this.panels[i], keyValues, rec, fireCallback) ||\n res;\n }\n return res;\n }\n private updatePanelsContainsErrors() {\n var question = this.changingValueQuestion;\n var parent = question.parent;\n while (!!parent) {\n parent.updateContainsErrors();\n parent = parent.parent;\n }\n this.updateContainsErrors();\n }\n public hasErrors(fireCallback: boolean = true, rec: any = null): boolean {\n if (this.isValueChangingInternally) return false;\n var res = false;\n if (!!this.changingValueQuestion) {\n var res = this.changingValueQuestion.hasErrors(fireCallback, rec);\n res = this.hasKeysDuplicated(fireCallback, rec) || res;\n this.updatePanelsContainsErrors();\n return res;\n } else {\n var errosInPanels = this.hasErrorInPanels(fireCallback, rec);\n return super.hasErrors(fireCallback) || errosInPanels;\n }\n }\n protected getContainsErrors(): boolean {\n var res = super.getContainsErrors();\n if (res) return res;\n var panels = this.panels;\n for (var i = 0; i < panels.length; i++) {\n if (panels[i].containsErrors) return true;\n }\n return false;\n }\n protected getIsAnswered(): boolean {\n if (!super.getIsAnswered()) return false;\n var panels = this.panels;\n for (var i = 0; i < panels.length; i++) {\n var visibleQuestions = >[];\n panels[i].addQuestionsToList(visibleQuestions, true);\n for (var j = 0; j < visibleQuestions.length; j++) {\n if (!visibleQuestions[j].isAnswered) return false;\n }\n }\n return true;\n }\n public clearValueIfInvisible() {\n for (var i = 0; i < this.panels.length; i++) {\n var questions = this.panels[i].questions;\n for (var j = 0; j < questions.length; j++) {\n questions[j].clearValueIfInvisible();\n }\n }\n super.clearValueIfInvisible();\n }\n protected getIsRunningValidators(): boolean {\n if (super.getIsRunningValidators()) return true;\n for (var i = 0; i < this.panels.length; i++) {\n var questions = this.panels[i].questions;\n for (var j = 0; j < questions.length; j++) {\n if (questions[j].isRunningValidators) return true;\n }\n }\n return false;\n }\n public getAllErrors(): Array {\n var result = super.getAllErrors();\n for (var i = 0; i < this.panels.length; i++) {\n var questions = this.panels[i].questions;\n for (var j = 0; j < questions.length; j++) {\n var errors = questions[j].getAllErrors();\n if (errors && errors.length > 0) {\n result = result.concat(errors);\n }\n }\n }\n return result;\n }\n protected getDisplayValueCore(keysAsText: boolean, value: any): any {\n var values = this.createValueCopy();\n if (!values || !Array.isArray(values)) return values;\n for (var i = 0; i < this.panels.length && i < values.length; i++) {\n var val = values[i];\n if (!val) continue;\n values[i] = this.getPanelDisplayValue(i, val, keysAsText);\n }\n return values;\n }\n\n private getPanelDisplayValue(\n panelIndex: number,\n val: any,\n keysAsText: boolean\n ): any {\n if (!val) return val;\n var panel = this.panels[panelIndex];\n for (var key in val) {\n var question = panel.getQuestionByValueName(key);\n if (!question) {\n question = this.getSharedQuestionFromArray(key, panelIndex);\n }\n if (!!question) {\n val[key] = question.getDisplayValue(keysAsText);\n }\n }\n return val;\n }\n private hasErrorInPanels(fireCallback: boolean, rec: any): boolean {\n var res = false;\n var panels = this.panels;\n var keyValues: Array = [];\n for (var i = 0; i < panels.length; i++) {\n this.setOnCompleteAsyncInPanel(panels[i]);\n }\n for (var i = 0; i < panels.length; i++) {\n var pnlError = panels[i].hasErrors(\n fireCallback,\n !!rec && rec.focuseOnFirstError,\n rec\n );\n pnlError = this.isValueDuplicated(panels[i], keyValues, rec) || pnlError;\n if (!this.isRenderModeList && pnlError && !res) {\n this.currentIndex = i;\n }\n res = pnlError || res;\n }\n return res;\n }\n private setOnCompleteAsyncInPanel(panel: PanelModel) {\n var questions = panel.questions;\n for (var i = 0; i < questions.length; i++) {\n questions[i].onCompletedAsyncValidators = (hasErrors: boolean) => {\n this.raiseOnCompletedAsyncValidators();\n };\n }\n }\n private isValueDuplicated(\n panel: PanelModel,\n keyValues: Array,\n rec: any,\n fireCallback?: boolean\n ): boolean {\n if (!this.keyName) return false;\n var question = panel.getQuestionByValueName(this.keyName);\n if (!question || question.isEmpty()) return false;\n var value = question.value;\n if (\n !!this.changingValueQuestion &&\n question != this.changingValueQuestion\n ) {\n question.hasErrors(fireCallback, rec);\n }\n for (var i = 0; i < keyValues.length; i++) {\n if (value == keyValues[i]) {\n question.addError(\n new KeyDuplicationError(this.keyDuplicationError, this)\n );\n if (!!rec && !rec.firstErrorQuestion) {\n rec.firstErrorQuestion = question;\n }\n return true;\n }\n }\n keyValues.push(value);\n return false;\n }\n protected createNewPanel(): PanelModel {\n var panel = this.createAndSetupNewPanelObject();\n var json = this.template.toJSON();\n new JsonObject().toObject(json, panel);\n panel.renderWidth = \"100%\";\n panel.updateCustomWidgets();\n new QuestionPanelDynamicItem(this, panel);\n panel.onFirstRendering();\n return panel;\n }\n protected createAndSetupNewPanelObject(): PanelModel {\n var panel = this.createNewPanelObject();\n var self = this;\n panel.onGetQuestionTitleLocation = function () {\n return self.getTemplateQuestionTitleLocation();\n };\n return panel;\n }\n private getTemplateQuestionTitleLocation() {\n return this.templateTitleLocation != \"default\"\n ? this.templateTitleLocation\n : this.getTitleLocationCore();\n }\n protected createNewPanelObject(): PanelModel {\n return new PanelModel();\n }\n private setPanelCountBasedOnValue() {\n if (this.isValueChangingInternally) return;\n var val = this.value;\n var newPanelCount = val && Array.isArray(val) ? val.length : 0;\n if (newPanelCount == 0 && this.loadingPanelCount > 0) {\n newPanelCount = this.loadingPanelCount;\n }\n this.panelCount = newPanelCount;\n }\n public setQuestionValue(newValue: any) {\n super.setQuestionValue(newValue, false);\n this.setPanelCountBasedOnValue();\n for (var i = 0; i < this.panels.length; i++) {\n this.panelUpdateValueFromSurvey(this.panels[i]);\n }\n this.updateIsAnswered();\n }\n public onSurveyValueChanged(newValue: any) {\n super.onSurveyValueChanged(newValue);\n for (var i = 0; i < this.panels.length; i++) {\n this.panelSurveyValueChanged(this.panels[i]);\n }\n if (newValue === undefined) {\n this.setValueBasedOnPanelCount();\n }\n }\n private panelUpdateValueFromSurvey(panel: PanelModel) {\n var questions = panel.questions;\n var values = this.getPanelItemData(panel.data);\n for (var i = 0; i < questions.length; i++) {\n var q = questions[i];\n q.updateValueFromSurvey(values[q.getValueName()]);\n q.updateCommentFromSurvey(\n values[q.getValueName() + settings.commentPrefix]\n );\n }\n }\n private panelSurveyValueChanged(panel: PanelModel) {\n var questions = panel.questions;\n var values = this.getPanelItemData(panel.data);\n for (var i = 0; i < questions.length; i++) {\n var q = questions[i];\n q.onSurveyValueChanged(values[q.getValueName()]);\n }\n }\n protected onSetData() {\n super.onSetData();\n if (this.isDesignMode) {\n this.setTemplatePanelSurveyImpl();\n this.rebuildPanels();\n }\n }\n //IQuestionPanelDynamicData\n getItemIndex(item: ISurveyData): number {\n return this.items.indexOf(item);\n }\n getPanelItemData(item: ISurveyData): any {\n var items = this.items;\n var index = items.indexOf(item);\n var qValue = this.value;\n if (index < 0 && Array.isArray(qValue) && qValue.length > items.length) {\n index = items.length;\n }\n if (index < 0) return {};\n if (!qValue || !Array.isArray(qValue) || qValue.length <= index) return {};\n return qValue[index];\n }\n setPanelItemData(item: ISurveyData, name: string, val: any) {\n var items = this.items;\n var index = items.indexOf(item);\n if (index < 0) index = items.length;\n var qValue = Helpers.getUnbindValue(this.value);\n if (!qValue || !Array.isArray(qValue)) {\n qValue = [];\n }\n if (qValue.length <= index) {\n for (var i = qValue.length; i <= index; i++) {\n qValue.push({});\n }\n }\n if (!qValue[index]) qValue[index] = {};\n if (!this.isValueEmpty(val)) {\n qValue[index][name] = val;\n } else {\n delete qValue[index][name];\n }\n if (index >= 0 && index < this.panels.length) {\n this.changingValueQuestion = this.panels[index].getQuestionByValueName(\n name\n );\n }\n this.value = qValue;\n this.changingValueQuestion = null;\n if (this.survey) {\n var options = {\n question: this,\n panel: (item).panel,\n name: name,\n itemIndex: index,\n itemValue: qValue[index],\n value: val,\n };\n this.survey.dynamicPanelItemValueChanged(this, options);\n }\n }\n getSurvey(): ISurvey {\n return this.survey;\n }\n getRootData(): ISurveyData {\n return this.data;\n }\n public getPlainData(\n options: {\n includeEmpty?: boolean;\n calculations?: Array<{\n propertyName: string;\n }>;\n } = {\n includeEmpty: true,\n }\n ) {\n var questionPlainData = super.getPlainData(options);\n if (!!questionPlainData) {\n questionPlainData.isNode = true;\n questionPlainData.data = this.panels.map(\n (panel: PanelModel, index: number) => {\n var panelDataItem = {\n name: panel.name || index,\n title: panel.title || \"Panel\",\n value: panel.getValue(),\n displayValue: panel.getValue(),\n getString: (val: any) =>\n typeof val === \"object\" ? JSON.stringify(val) : val,\n isNode: true,\n data: panel.questions\n .map((question: Question) => question.getPlainData(options))\n .filter((d: any) => !!d),\n };\n (options.calculations || []).forEach((calculation) => {\n panelDataItem[calculation.propertyName] = (panel)[\n calculation.propertyName\n ];\n });\n return panelDataItem;\n }\n );\n }\n return questionPlainData;\n }\n public updateElementCss() {\n super.updateElementCss();\n for (var i = 0; i < this.panels.length; i++) {\n var el = this.panels[i];\n el.updateElementCss();\n }\n }\n public get progressText(): string {\n var rangeMax = this.panelCount;\n return surveyLocalization\n .getString(\"panelDynamicProgressText\")\n [\"format\"](this.currentIndex + 1, rangeMax);\n }\n}\n\nSerializer.addClass(\n \"paneldynamic\",\n [\n {\n name: \"templateElements\",\n alternativeName: \"questions\",\n visible: false,\n isLightSerializable: false,\n },\n { name: \"templateTitle:text\", serializationProperty: \"locTemplateTitle\" },\n {\n name: \"templateDescription:text\",\n serializationProperty: \"locTemplateDescription\",\n },\n { name: \"allowAddPanel:boolean\", default: true },\n { name: \"allowRemovePanel:boolean\", default: true },\n {\n name: \"panelCount:number\",\n default: 0,\n choices: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n },\n { name: \"minPanelCount:number\", default: 0, minValue: 0 },\n {\n name: \"maxPanelCount:number\",\n default: settings.panelMaximumPanelCount,\n },\n \"defaultPanelValue:panelvalue\",\n \"defaultValueFromLastPanel:boolean\",\n {\n name: \"panelsState\",\n default: \"default\",\n choices: [\"default\", \"collapsed\", \"expanded\", \"firstExpanded\"],\n },\n { name: \"keyName\" },\n {\n name: \"keyDuplicationError\",\n serializationProperty: \"locKeyDuplicationError\",\n },\n { name: \"confirmDelete:boolean\" },\n {\n name: \"confirmDeleteText\",\n serializationProperty: \"locConfirmDeleteText\",\n },\n { name: \"panelAddText\", serializationProperty: \"locPanelAddText\" },\n { name: \"panelRemoveText\", serializationProperty: \"locPanelRemoveText\" },\n { name: \"panelPrevText\", serializationProperty: \"locPanelPrevText\" },\n { name: \"panelNextText\", serializationProperty: \"locPanelNextText\" },\n {\n name: \"showQuestionNumbers\",\n default: \"off\",\n choices: [\"off\", \"onPanel\", \"onSurvey\"],\n },\n { name: \"showRangeInProgress:boolean\", default: true },\n {\n name: \"renderMode\",\n default: \"list\",\n choices: [\"list\", \"progressTop\", \"progressBottom\", \"progressTopBottom\"],\n },\n {\n name: \"templateTitleLocation\",\n default: \"default\",\n choices: [\"default\", \"top\", \"bottom\", \"left\"],\n },\n ],\n function () {\n return new QuestionPanelDynamicModel(\"\");\n },\n \"question\"\n);\nQuestionFactory.Instance.registerQuestion(\"paneldynamic\", (name) => {\n return new QuestionPanelDynamicModel(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_paneldynamic.ts","import { Serializer } from \"./jsonobject\";\nimport { QuestionFactory } from \"./questionfactory\";\nimport { QuestionCheckboxBase } from \"./question_baseselect\";\nimport { surveyLocalization } from \"./surveyStrings\";\nimport { ItemValue } from \"./itemvalue\";\n\n/**\n * A Model for a radiogroup question.\n */\nexport class QuestionRadiogroupModel extends QuestionCheckboxBase {\n constructor(public name: string) {\n super(name);\n }\n public get ariaRole(): string {\n return \"radiogroup\";\n }\n public getType(): string {\n return \"radiogroup\";\n }\n protected getFirstInputElementId(): string {\n return this.inputId + \"_0\";\n }\n public get selectedItem(): ItemValue {\n if (this.isEmpty()) return null;\n return ItemValue.getItemByValue(this.visibleChoices, this.value);\n }\n /**\n * Show \"clear button\" flag.\n */\n public get showClearButton(): boolean {\n return this.getPropertyValue(\"showClearButton\", false);\n }\n public set showClearButton(val: boolean) {\n this.setPropertyValue(\"showClearButton\", val);\n }\n public get canShowClearButton(): boolean {\n return this.showClearButton && !this.isReadOnly;\n }\n public get clearButtonCaption() {\n return surveyLocalization.getString(\"clearCaption\");\n }\n supportGoNextPageAutomatic() {\n return true;\n }\n}\n\nSerializer.addClass(\n \"radiogroup\",\n [{ name: \"showClearButton:boolean\", default: false }],\n function() {\n return new QuestionRadiogroupModel(\"\");\n },\n \"checkboxbase\"\n);\n\nQuestionFactory.Instance.registerQuestion(\"radiogroup\", name => {\n var q = new QuestionRadiogroupModel(name);\n q.choices = QuestionFactory.DefaultChoices;\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_radiogroup.ts","import { ItemValue } from \"./itemvalue\";\nimport { Question } from \"./question\";\nimport { Serializer } from \"./jsonobject\";\nimport { QuestionFactory } from \"./questionfactory\";\nimport { LocalizableString } from \"./localizablestring\";\nimport { settings } from \"./settings\";\n\n/**\n * A Model for a rating question.\n */\nexport class QuestionRatingModel extends Question {\n rateValuesChangedCallback: () => void;\n\n constructor(public name: string) {\n super(name);\n this.createItemValues(\"rates\");\n var self = this;\n this.registerFunctionOnPropertyValueChanged(\"rates\", function () {\n self.fireCallback(self.rateValuesChangedCallback);\n });\n this.onPropertyChanged.add(function (sender: any, options: any) {\n if (\n options.name == \"rateMin\" ||\n options.name == \"rateMax\" ||\n options.name == \"rateStep\"\n ) {\n self.fireCallback(self.rateValuesChangedCallback);\n }\n });\n\n var locMinRateDescriptionValue = this.createLocalizableString(\n \"minRateDescription\",\n this,\n true\n );\n var locMaxRateDescriptionValue = this.createLocalizableString(\n \"maxRateDescription\",\n this,\n true\n );\n locMinRateDescriptionValue.onGetTextCallback = function (text) {\n return text ? text + \" \" : text;\n };\n locMaxRateDescriptionValue.onGetTextCallback = function (text) {\n return text ? \" \" + text : text;\n };\n }\n public onSurveyLoad() {\n super.onSurveyLoad();\n this.fireCallback(this.rateValuesChangedCallback);\n }\n /**\n * The list of rate items. Every item has value and text. If text is empty, the value is rendered. The item text supports markdown. If it is empty the array is generated by using rateMin, rateMax and rateStep properties.\n * @see rateMin\n * @see rateMax\n * @see rateStep\n */\n public get rateValues(): Array {\n return this.getPropertyValue(\"rates\");\n }\n public set rateValues(val: Array) {\n this.setPropertyValue(\"rates\", val);\n }\n /**\n * This property is used to generate rate values if rateValues array is empty. It is the first value in the rating. The default value is 1.\n * @see rateValues\n * @see rateMax\n * @see rateStep\n */\n public get rateMin(): number {\n return this.getPropertyValue(\"rateMin\");\n }\n public set rateMin(val: number) {\n if (!this.isLoadingFromJson && val > this.rateMax - this.rateStep)\n val = this.rateMax - this.rateStep;\n this.setPropertyValue(\"rateMin\", val);\n }\n /**\n * This property is used to generate rate values if rateValues array is empty. It is the last value in the rating. The default value is 5.\n * @see rateValues\n * @see rateMin\n * @see rateStep\n */\n public get rateMax(): number {\n return this.getPropertyValue(\"rateMax\");\n }\n public set rateMax(val: number) {\n if (!this.isLoadingFromJson && val < this.rateMin + this.rateStep)\n val = this.rateMin + this.rateStep;\n this.setPropertyValue(\"rateMax\", val);\n }\n /**\n * This property is used to generate rate values if rateValues array is empty. It is the step value. The number of rate values are (rateMax - rateMin) / rateStep. The default value is 1.\n * @see rateValues\n * @see rateMin\n * @see rateMax\n */\n public get rateStep(): number {\n return this.getPropertyValue(\"rateStep\");\n }\n public set rateStep(val: number) {\n if (val <= 0) val = 1;\n if (!this.isLoadingFromJson && val > this.rateMax - this.rateMin)\n val = this.rateMax - this.rateMin;\n this.setPropertyValue(\"rateStep\", val);\n }\n protected getDisplayValueCore(keysAsText: boolean, value: any): any {\n var res = ItemValue.getTextOrHtmlByValue(this.visibleRateValues, value);\n return !!res ? res : value;\n }\n get visibleRateValues(): ItemValue[] {\n if (this.rateValues.length > 0) return this.rateValues;\n var res = [];\n var value = this.rateMin;\n var step = this.rateStep;\n while (\n value <= this.rateMax &&\n res.length < settings.ratingMaximumRateValueCount\n ) {\n res.push(new ItemValue(value));\n value = this.correctValue(value + step, step);\n }\n return res;\n }\n private correctValue(value: number, step: number): number {\n if (!value) return value;\n if (Math.round(value) == value) return value;\n var fr = 0;\n while (Math.round(step) != step) {\n step *= 10;\n fr++;\n }\n return parseFloat(value.toFixed(fr));\n }\n public getType(): string {\n return \"rating\";\n }\n supportGoNextPageAutomatic() {\n return true;\n }\n public supportComment(): boolean {\n return true;\n }\n public supportOther(): boolean {\n return true;\n }\n /**\n * The description of minimum (first) item.\n */\n public get minRateDescription(): string {\n return this.getLocalizableStringText(\"minRateDescription\");\n }\n public set minRateDescription(val: string) {\n this.setLocalizableStringText(\"minRateDescription\", val);\n }\n get locMinRateDescription(): LocalizableString {\n return this.getLocalizableString(\"minRateDescription\");\n }\n /**\n * The description of maximum (last) item.\n */\n public get maxRateDescription(): string {\n return this.getLocalizableStringText(\"maxRateDescription\");\n }\n public set maxRateDescription(val: string) {\n this.setLocalizableStringText(\"maxRateDescription\", val);\n }\n get locMaxRateDescription(): LocalizableString {\n return this.getLocalizableString(\"maxRateDescription\");\n }\n}\nSerializer.addClass(\n \"rating\",\n [\n { name: \"hasComment:switch\", layout: \"row\" },\n {\n name: \"commentText\",\n dependsOn: \"hasComment\",\n visibleIf: function (obj: any) {\n return obj.hasComment;\n },\n serializationProperty: \"locCommentText\",\n layout: \"row\",\n },\n {\n name: \"rateValues:itemvalue[]\",\n },\n { name: \"rateMin:number\", default: 1 },\n { name: \"rateMax:number\", default: 5 },\n { name: \"rateStep:number\", default: 1, minValue: 0.1 },\n {\n name: \"minRateDescription\",\n alternativeName: \"mininumRateDescription\",\n serializationProperty: \"locMinRateDescription\",\n },\n {\n name: \"maxRateDescription\",\n alternativeName: \"maximumRateDescription\",\n serializationProperty: \"locMaxRateDescription\",\n },\n ],\n function () {\n return new QuestionRatingModel(\"\");\n },\n \"question\"\n);\nQuestionFactory.Instance.registerQuestion(\"rating\", (name) => {\n return new QuestionRatingModel(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_rating.ts","import { Serializer } from \"./jsonobject\";\nimport { Question } from \"./question\";\nimport { surveyLocalization } from \"./surveyStrings\";\nimport SignaturePad from \"signature_pad\";\nimport { QuestionFactory } from \"./questionfactory\";\n\nvar defaultWidth = 300;\nvar defaultHeight = 200;\n\nfunction resizeCanvas(canvas: HTMLCanvasElement) {\n var context: any = canvas.getContext(\"2d\");\n var devicePixelRatio = window.devicePixelRatio || 1;\n var backingStoreRatio =\n context.webkitBackingStorePixelRatio ||\n context.mozBackingStorePixelRatio ||\n context.msBackingStorePixelRatio ||\n context.oBackingStorePixelRatio ||\n context.backingStorePixelRatio ||\n 1;\n\n var ratio = devicePixelRatio / backingStoreRatio;\n\n var oldWidth = canvas.width;\n var oldHeight = canvas.height;\n\n canvas.width = oldWidth * ratio;\n canvas.height = oldHeight * ratio;\n\n canvas.style.width = oldWidth + \"px\";\n canvas.style.height = oldHeight + \"px\";\n\n context.scale(ratio, ratio);\n}\n\n/**\n * A Model for signature pad question.\n */\nexport class QuestionSignaturePadModel extends Question {\n protected getCssRoot(cssClasses: any): string {\n var classes = super.getCssRoot(cssClasses);\n if (\"\" + this.width === \"300\") {\n classes += \" \" + cssClasses.small;\n }\n return classes;\n }\n\n constructor(public name: string) {\n super(name);\n }\n public getType(): string {\n return \"signaturepad\";\n }\n public afterRenderQuestionElement(el: any) {\n if (!!el) {\n this.initSignaturePad(el);\n }\n super.afterRenderQuestionElement(el);\n }\n public beforeDestoyQuestionElement(el: any) {\n if (!!el) {\n this.destroySignaturePad(el);\n }\n }\n\n initSignaturePad(el: HTMLElement) {\n var canvas: any = el.getElementsByTagName(\"canvas\")[0];\n var buttonEl = el.getElementsByTagName(\"button\")[0];\n var signaturePad = new SignaturePad(canvas);\n if (this.isReadOnly) {\n signaturePad.off();\n }\n\n buttonEl.onclick = () => {\n this.value = undefined;\n };\n\n this.readOnlyChangedCallback = () => {\n if (!this.allowClear || this.isReadOnly) {\n signaturePad.off();\n buttonEl.style.display = \"none\";\n } else {\n signaturePad.on();\n buttonEl.style.display = \"block\";\n }\n };\n\n signaturePad.penColor = this.penColor;\n signaturePad.onBegin = () => {\n canvas.focus();\n };\n signaturePad.onEnd = () => {\n var data = signaturePad.toDataURL();\n this.value = data;\n };\n var updateValueHandler = () => {\n var data = this.value;\n canvas.width = this.width || defaultWidth;\n canvas.height = this.height || defaultHeight;\n resizeCanvas(canvas);\n signaturePad.fromDataURL(\n data || \"data:image/gif;base64,R0lGODlhAQABAIAAAP\"\n );\n };\n this.valueChangedCallback = updateValueHandler;\n updateValueHandler();\n this.readOnlyChangedCallback();\n this.signaturePad = signaturePad;\n var propertyChangedHandler = (sender: any, options: any) => {\n if (options.name === \"width\" || options.name === \"height\") {\n updateValueHandler();\n }\n };\n this.onPropertyChanged.add(propertyChangedHandler);\n this.signaturePad.propertyChangedHandler = propertyChangedHandler;\n }\n destroySignaturePad(el: HTMLElement) {\n if (this.signaturePad) {\n this.onPropertyChanged.remove(this.signaturePad.propertyChangedHandler);\n this.signaturePad.off();\n }\n this.readOnlyChangedCallback = null;\n this.signaturePad = null;\n }\n\n /**\n * Use it to set the specific width for the signature pad.\n */\n public get width(): string {\n return this.getPropertyValue(\"width\", 300);\n }\n public set width(val: string) {\n this.setPropertyValue(\"width\", val);\n }\n /**\n * Use it to set the specific height for the signature pad.\n */\n public get height(): string {\n return this.getPropertyValue(\"height\", 200);\n }\n public set height(val: string) {\n this.setPropertyValue(\"height\", val);\n }\n /**\n * Use it to clear content of the signature pad.\n */\n public get allowClear(): boolean {\n return this.getPropertyValue(\"allowClear\", true);\n }\n public set allowClear(val: boolean) {\n this.setPropertyValue(\"allowClear\", val);\n }\n /**\n * Use it to set pen color for the signature pad.\n */\n public get penColor(): string {\n return this.getPropertyValue(\"penColor\", \"#1ab394\");\n }\n public set penColor(val: string) {\n this.setPropertyValue(\"penColor\", val);\n }\n /**\n * The clear signature button caption.\n */\n get clearButtonCaption(): string {\n return surveyLocalization.getString(\"clearCaption\");\n }\n}\n\nSerializer.addClass(\n \"signaturepad\",\n [\n {\n name: \"allowClear:boolean\",\n default: true,\n },\n {\n name: \"width:number\",\n default: 300,\n },\n {\n name: \"height:number\",\n default: 200,\n },\n {\n name: \"penColor\",\n default: \"#1ab394\",\n },\n ],\n function () {\n return new QuestionSignaturePadModel(\"\");\n },\n \"question\"\n);\nQuestionFactory.Instance.registerQuestion(\"signaturepad\", (name) => {\n return new QuestionSignaturePadModel(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/question_signaturepad.ts","import { Base } from \"./base\";\nimport { SurveyModel } from \"./survey\";\nimport { LocalizableString } from \"./localizablestring\";\n\n/**\n * A Model for a survey running in the Window.\n */\nexport class SurveyWindowModel extends Base {\n public static surveyElementName = \"windowSurveyJS\";\n surveyValue: SurveyModel;\n windowElement: HTMLDivElement;\n\n templateValue: string;\n expandedChangedCallback: () => void;\n showingChangedCallback: () => void;\n closeWindowOnCompleteCallback: () => void;\n\n constructor(jsonObj: any, initialModel: SurveyModel = null) {\n super();\n if (initialModel) {\n this.surveyValue = initialModel;\n } else {\n this.surveyValue = this.createSurvey(jsonObj);\n }\n this.surveyValue.showTitle = false;\n if (\"undefined\" !== typeof document) {\n this.windowElement = document.createElement(\"div\");\n }\n var self = this;\n this.survey.onComplete.add(function(survey, options) {\n self.onSurveyComplete();\n });\n }\n public getType(): string {\n return \"window\";\n }\n /**\n * A survey object.\n * @see SurveyModel\n */\n public get survey(): SurveyModel {\n return this.surveyValue;\n }\n /**\n * Set this value to negative value, for example -1, to avoid closing the window on completing the survey. Leave it equals to 0 (default value) to close the window immediately, or set it to 3, 5, 10, ... to close the window in 3, 5, 10 seconds.\n */\n public closeOnCompleteTimeout: number = 0;\n /**\n * Returns true if the window is currently showing. Set it to true to show the window and false to hide it.\n * @see show\n * @see hide\n */\n public get isShowing(): boolean {\n return this.getPropertyValue(\"isShowing\", false);\n }\n public set isShowing(val: boolean) {\n if (this.isShowing == val) return;\n this.setPropertyValue(\"isShowing\", val);\n if (this.showingChangedCallback) this.showingChangedCallback();\n }\n /**\n * Show the window\n * @see hide\n * @see isShowing\n */\n public show() {\n this.isShowing = true;\n }\n /**\n * Hide the window\n * @see show\n * @see isShowing\n */\n public hide() {\n this.isShowing = false;\n }\n /**\n * Returns true if the window is expanded. Set it to true to expand the window or false to collapse it.\n * @see expand\n * @see collapse\n */\n public get isExpanded(): boolean {\n return this.getPropertyValue(\"isExpanded\", false);\n }\n public set isExpanded(val: boolean) {\n this.setPropertyValue(\"isExpanded\", val);\n if (!this.isLoadingFromJson && this.expandedChangedCallback)\n this.expandedChangedCallback();\n }\n /**\n * The window and survey title.\n */\n public get title(): string {\n return this.survey.title;\n }\n public set title(value: string) {\n this.survey.title = value;\n }\n get locTitle(): LocalizableString {\n return this.survey.locTitle;\n }\n /**\n * Expand the window to show the survey.\n */\n public expand() {\n this.expandcollapse(true);\n }\n /**\n * Collapse the window and show survey title only.\n */\n public collapse() {\n this.expandcollapse(false);\n }\n protected createSurvey(jsonObj: any): SurveyModel {\n return new SurveyModel(jsonObj);\n }\n protected expandcollapse(value: boolean) {\n this.isExpanded = value;\n }\n protected onSurveyComplete() {\n if (this.closeOnCompleteTimeout < 0) return;\n if (this.closeOnCompleteTimeout == 0) {\n this.closeWindowOnComplete();\n } else {\n var self = this;\n var timerId: any = null;\n var func = function() {\n self.closeWindowOnComplete();\n window.clearInterval(timerId);\n };\n timerId = window.setInterval(func, this.closeOnCompleteTimeout * 1000);\n }\n }\n protected closeWindowOnComplete() {\n if (!!this.closeWindowOnCompleteCallback) {\n this.closeWindowOnCompleteCallback();\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/surveyWindow.ts","import { Event } from \"./base\";\n\nexport var surveyTimerFunctions = {\n setTimeout: function(func: () => any): number {\n return window.setTimeout(func, 1000);\n },\n clearTimeout: function(timerId: number) {\n window.clearTimeout(timerId);\n }\n};\n\nexport class SurveyTimer {\n private static instanceValue: SurveyTimer = null;\n public static get instance() {\n if (!SurveyTimer.instanceValue) {\n SurveyTimer.instanceValue = new SurveyTimer();\n }\n return SurveyTimer.instanceValue;\n }\n private listenerCounter = 0;\n private timerId = -1;\n public onTimer: Event<() => any, any> = new Event<() => any, any>();\n public start(func: () => any = null) {\n if (func) {\n this.onTimer.add(func);\n }\n if (this.timerId < 0) {\n this.timerId = surveyTimerFunctions.setTimeout(() => {\n this.doTimer();\n });\n }\n this.listenerCounter++;\n }\n public stop(func: () => any = null) {\n if (func) {\n this.onTimer.remove(func);\n }\n this.listenerCounter--;\n if (this.listenerCounter == 0 && this.timerId > -1) {\n surveyTimerFunctions.clearTimeout(this.timerId);\n this.timerId = -1;\n }\n }\n public doTimer() {\n if (this.timerId < 0) return;\n this.onTimer.fire(this, {});\n this.timerId = surveyTimerFunctions.setTimeout(() => {\n this.doTimer();\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/surveytimer.ts","// model\nexport * from \"./chunks/model\";\n\n// localization\nimport \"./chunks/localization\";\n\n// helpers\nexport * from \"./chunks/helpers\";\n\n// css standard\nexport { defaultStandardCss } from \"../defaultCss/cssstandard\";\n// css bootstrap\nexport { defaultBootstrapCss } from \"../defaultCss/cssbootstrap\";\n// css bootstrap + material\nexport { defaultBootstrapMaterialCss } from \"../defaultCss/cssbootstrapmaterial\";\nexport { modernCss } from \"../defaultCss/cssmodern\";\n\n// knockout\nexport { Survey } from \"../knockout/kosurvey\";\nexport { Survey as Model } from \"../knockout/kosurvey\";\nexport { ImplementorBase } from \"../knockout/kobase\";\nexport { QuestionRow, Page, Panel } from \"../knockout/kopage\";\nexport { FlowPanel } from \"../knockout/koflowpanel\";\nexport { QuestionImplementor } from \"../knockout/koquestion\";\nexport { QuestionSelectBaseImplementor } from \"../knockout/koquestion_baseselect\";\nexport { QuestionCheckboxBaseImplementor } from \"../knockout/koquestion_baseselect\";\nexport { QuestionCheckbox } from \"../knockout/koquestion_checkbox\";\nexport { QuestionComment } from \"../knockout/koquestion_comment\";\nexport { QuestionDropdown } from \"../knockout/koquestion_dropdown\";\nexport { QuestionFile } from \"../knockout/koquestion_file\";\nexport { QuestionHtml } from \"../knockout/koquestion_html\";\nexport { MatrixRow, QuestionMatrix } from \"../knockout/koquestion_matrix\";\nexport { QuestionMatrixDropdown } from \"../knockout/koquestion_matrixdropdown\";\nexport {\n QuestionMatrixDynamicImplementor,\n QuestionMatrixDynamic,\n} from \"../knockout/koquestion_matrixdynamic\";\nexport { QuestionPanelDynamic } from \"../knockout/koquestion_paneldynamic\";\nexport {\n MultipleTextItem,\n QuestionMultipleText,\n} from \"../knockout/koquestion_multipletext\";\nexport { QuestionRadiogroup } from \"../knockout/koquestion_radiogroup\";\nexport { QuestionRating } from \"../knockout/koquestion_rating\";\nexport { QuestionText } from \"../knockout/koquestion_text\";\nexport { QuestionBoolean } from \"../knockout/koquestion_boolean\";\nexport { QuestionEmpty } from \"../knockout/koquestion_empty\";\nexport { QuestionExpression } from \"../knockout/koquestion_expression\";\nexport { QuestionImagePicker } from \"../knockout/koquestion_imagepicker\";\nexport { SurveyWindow } from \"../knockout/koSurveyWindow\";\nexport { SurveyTemplateText } from \"../knockout/templateText\";\nexport { QuestionImage } from \"../knockout/koquestion_image\";\nexport { QuestionSignaturePad } from \"../knockout/koquestion_signaturepad\";\n\nexport { QuestionCustom } from \"../knockout/koquestion_custom\";\n\n//Uncomment to include the \"date\" question type.\n//export {QuestionDate} from \"../plugins/knockout/koquestion_date\";\n\nimport * as ko from \"knockout\";\nimport { SurveyModel } from \"../survey\";\nimport { registerTemplateEngine } from \"../knockout/kosurvey\";\nregisterTemplateEngine(ko, SurveyModel.platform);\n\n\n\n// WEBPACK FOOTER //\n// ./src/entries/knockout.ts","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/main.scss\n// module id = 70\n// module chunks = 0","module.exports = \"\\n\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/flowpanel.html\n// module id = 73\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/header.html\n// module id = 74\n// module chunks = 0","module.exports = \"\\n\\n\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/index.html\n// module id = 75\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/page.html\n// module id = 76\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/panel.html\n// module id = 77\n// module chunks = 0","module.exports = \"\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/progress.html\n// module id = 78\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-boolean.html\n// module id = 79\n// module chunks = 0","module.exports = \"\\n\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-checkbox.html\n// module id = 80\n// module chunks = 0","module.exports = \"\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-comment.html\n// module id = 81\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-composite.html\n// module id = 82\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-custom.html\n// module id = 83\n// module chunks = 0","module.exports = \"\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-dropdown.html\n// module id = 84\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-empty.html\n// module id = 85\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-expression.html\n// module id = 87\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-html.html\n// module id = 89\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-imagepicker.html\n// module id = 91\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-matrix.html\n// module id = 92\n// module chunks = 0","module.exports = \"\\n\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-matrixdynamic.html\n// module id = 93\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-multipletext.html\n// module id = 94\n// module chunks = 0","module.exports = \"\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-paneldynamic-navigator.html\n// module id = 95\n// module chunks = 0","module.exports = \"\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-paneldynamic.html\n// module id = 96\n// module chunks = 0","module.exports = \"\\n\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-radiogroup.html\n// module id = 97\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-rating.html\n// module id = 98\n// module chunks = 0","module.exports = \"\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-signaturepad.html\n// module id = 99\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question-text.html\n// module id = 100\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/question.html\n// module id = 101\n// module chunks = 0","module.exports = \"\\n\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/questiontitle.html\n// module id = 102\n// module chunks = 0","module.exports = \"\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/rows.html\n// module id = 103\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/string.html\n// module id = 104\n// module chunks = 0","module.exports = \"\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/knockout/templates/timerpanel.html\n// module id = 105\n// module chunks = 0","/*!\n * Signature Pad v2.3.2\n * https://github.com/szimek/signature_pad\n *\n * Copyright 2017 Szymon Nowak\n * Released under the MIT license\n *\n * The main idea and some parts of the code (e.g. drawing variable width Bézier curve) are taken from:\n * http://corner.squareup.com/2012/07/smoother-signatures.html\n *\n * Implementation of interpolation using cubic Bézier curves is taken from:\n * http://benknowscode.wordpress.com/2012/09/14/path-interpolation-using-cubic-bezier-and-control-point-estimation-in-javascript\n *\n * Algorithm for approximated length of a Bézier curve is taken from:\n * http://www.lemoda.net/maths/bezier-length/index.html\n *\n */\n\nfunction Point(x, y, time) {\n this.x = x;\n this.y = y;\n this.time = time || new Date().getTime();\n}\n\nPoint.prototype.velocityFrom = function (start) {\n return this.time !== start.time ? this.distanceTo(start) / (this.time - start.time) : 1;\n};\n\nPoint.prototype.distanceTo = function (start) {\n return Math.sqrt(Math.pow(this.x - start.x, 2) + Math.pow(this.y - start.y, 2));\n};\n\nPoint.prototype.equals = function (other) {\n return this.x === other.x && this.y === other.y && this.time === other.time;\n};\n\nfunction Bezier(startPoint, control1, control2, endPoint) {\n this.startPoint = startPoint;\n this.control1 = control1;\n this.control2 = control2;\n this.endPoint = endPoint;\n}\n\n// Returns approximated length.\nBezier.prototype.length = function () {\n var steps = 10;\n var length = 0;\n var px = void 0;\n var py = void 0;\n\n for (var i = 0; i <= steps; i += 1) {\n var t = i / steps;\n var cx = this._point(t, this.startPoint.x, this.control1.x, this.control2.x, this.endPoint.x);\n var cy = this._point(t, this.startPoint.y, this.control1.y, this.control2.y, this.endPoint.y);\n if (i > 0) {\n var xdiff = cx - px;\n var ydiff = cy - py;\n length += Math.sqrt(xdiff * xdiff + ydiff * ydiff);\n }\n px = cx;\n py = cy;\n }\n\n return length;\n};\n\n/* eslint-disable no-multi-spaces, space-in-parens */\nBezier.prototype._point = function (t, start, c1, c2, end) {\n return start * (1.0 - t) * (1.0 - t) * (1.0 - t) + 3.0 * c1 * (1.0 - t) * (1.0 - t) * t + 3.0 * c2 * (1.0 - t) * t * t + end * t * t * t;\n};\n\n/* eslint-disable */\n\n// http://stackoverflow.com/a/27078401/815507\nfunction throttle(func, wait, options) {\n var context, args, result;\n var timeout = null;\n var previous = 0;\n if (!options) options = {};\n var later = function later() {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n return function () {\n var now = Date.now();\n if (!previous && options.leading === false) previous = now;\n var remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n}\n\nfunction SignaturePad(canvas, options) {\n var self = this;\n var opts = options || {};\n\n this.velocityFilterWeight = opts.velocityFilterWeight || 0.7;\n this.minWidth = opts.minWidth || 0.5;\n this.maxWidth = opts.maxWidth || 2.5;\n this.throttle = 'throttle' in opts ? opts.throttle : 16; // in miliseconds\n this.minDistance = 'minDistance' in opts ? opts.minDistance : 5;\n\n if (this.throttle) {\n this._strokeMoveUpdate = throttle(SignaturePad.prototype._strokeUpdate, this.throttle);\n } else {\n this._strokeMoveUpdate = SignaturePad.prototype._strokeUpdate;\n }\n\n this.dotSize = opts.dotSize || function () {\n return (this.minWidth + this.maxWidth) / 2;\n };\n this.penColor = opts.penColor || 'black';\n this.backgroundColor = opts.backgroundColor || 'rgba(0,0,0,0)';\n this.onBegin = opts.onBegin;\n this.onEnd = opts.onEnd;\n\n this._canvas = canvas;\n this._ctx = canvas.getContext('2d');\n this.clear();\n\n // We need add these inline so they are available to unbind while still having\n // access to 'self' we could use _.bind but it's not worth adding a dependency.\n this._handleMouseDown = function (event) {\n if (event.which === 1) {\n self._mouseButtonDown = true;\n self._strokeBegin(event);\n }\n };\n\n this._handleMouseMove = function (event) {\n if (self._mouseButtonDown) {\n self._strokeMoveUpdate(event);\n }\n };\n\n this._handleMouseUp = function (event) {\n if (event.which === 1 && self._mouseButtonDown) {\n self._mouseButtonDown = false;\n self._strokeEnd(event);\n }\n };\n\n this._handleTouchStart = function (event) {\n if (event.targetTouches.length === 1) {\n var touch = event.changedTouches[0];\n self._strokeBegin(touch);\n }\n };\n\n this._handleTouchMove = function (event) {\n // Prevent scrolling.\n event.preventDefault();\n\n var touch = event.targetTouches[0];\n self._strokeMoveUpdate(touch);\n };\n\n this._handleTouchEnd = function (event) {\n var wasCanvasTouched = event.target === self._canvas;\n if (wasCanvasTouched) {\n event.preventDefault();\n self._strokeEnd(event);\n }\n };\n\n // Enable mouse and touch event handlers\n this.on();\n}\n\n// Public methods\nSignaturePad.prototype.clear = function () {\n var ctx = this._ctx;\n var canvas = this._canvas;\n\n ctx.fillStyle = this.backgroundColor;\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n this._data = [];\n this._reset();\n this._isEmpty = true;\n};\n\nSignaturePad.prototype.fromDataURL = function (dataUrl) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var image = new Image();\n var ratio = options.ratio || window.devicePixelRatio || 1;\n var width = options.width || this._canvas.width / ratio;\n var height = options.height || this._canvas.height / ratio;\n\n this._reset();\n image.src = dataUrl;\n image.onload = function () {\n _this._ctx.drawImage(image, 0, 0, width, height);\n };\n this._isEmpty = false;\n};\n\nSignaturePad.prototype.toDataURL = function (type) {\n var _canvas;\n\n switch (type) {\n case 'image/svg+xml':\n return this._toSVG();\n default:\n for (var _len = arguments.length, options = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n options[_key - 1] = arguments[_key];\n }\n\n return (_canvas = this._canvas).toDataURL.apply(_canvas, [type].concat(options));\n }\n};\n\nSignaturePad.prototype.on = function () {\n this._handleMouseEvents();\n this._handleTouchEvents();\n};\n\nSignaturePad.prototype.off = function () {\n this._canvas.removeEventListener('mousedown', this._handleMouseDown);\n this._canvas.removeEventListener('mousemove', this._handleMouseMove);\n document.removeEventListener('mouseup', this._handleMouseUp);\n\n this._canvas.removeEventListener('touchstart', this._handleTouchStart);\n this._canvas.removeEventListener('touchmove', this._handleTouchMove);\n this._canvas.removeEventListener('touchend', this._handleTouchEnd);\n};\n\nSignaturePad.prototype.isEmpty = function () {\n return this._isEmpty;\n};\n\n// Private methods\nSignaturePad.prototype._strokeBegin = function (event) {\n this._data.push([]);\n this._reset();\n this._strokeUpdate(event);\n\n if (typeof this.onBegin === 'function') {\n this.onBegin(event);\n }\n};\n\nSignaturePad.prototype._strokeUpdate = function (event) {\n var x = event.clientX;\n var y = event.clientY;\n\n var point = this._createPoint(x, y);\n var lastPointGroup = this._data[this._data.length - 1];\n var lastPoint = lastPointGroup && lastPointGroup[lastPointGroup.length - 1];\n var isLastPointTooClose = lastPoint && point.distanceTo(lastPoint) < this.minDistance;\n\n // Skip this point if it's too close to the previous one\n if (!(lastPoint && isLastPointTooClose)) {\n var _addPoint = this._addPoint(point),\n curve = _addPoint.curve,\n widths = _addPoint.widths;\n\n if (curve && widths) {\n this._drawCurve(curve, widths.start, widths.end);\n }\n\n this._data[this._data.length - 1].push({\n x: point.x,\n y: point.y,\n time: point.time,\n color: this.penColor\n });\n }\n};\n\nSignaturePad.prototype._strokeEnd = function (event) {\n var canDrawCurve = this.points.length > 2;\n var point = this.points[0]; // Point instance\n\n if (!canDrawCurve && point) {\n this._drawDot(point);\n }\n\n if (point) {\n var lastPointGroup = this._data[this._data.length - 1];\n var lastPoint = lastPointGroup[lastPointGroup.length - 1]; // plain object\n\n // When drawing a dot, there's only one point in a group, so without this check\n // such group would end up with exactly the same 2 points.\n if (!point.equals(lastPoint)) {\n lastPointGroup.push({\n x: point.x,\n y: point.y,\n time: point.time,\n color: this.penColor\n });\n }\n }\n\n if (typeof this.onEnd === 'function') {\n this.onEnd(event);\n }\n};\n\nSignaturePad.prototype._handleMouseEvents = function () {\n this._mouseButtonDown = false;\n\n this._canvas.addEventListener('mousedown', this._handleMouseDown);\n this._canvas.addEventListener('mousemove', this._handleMouseMove);\n document.addEventListener('mouseup', this._handleMouseUp);\n};\n\nSignaturePad.prototype._handleTouchEvents = function () {\n // Pass touch events to canvas element on mobile IE11 and Edge.\n this._canvas.style.msTouchAction = 'none';\n this._canvas.style.touchAction = 'none';\n\n this._canvas.addEventListener('touchstart', this._handleTouchStart);\n this._canvas.addEventListener('touchmove', this._handleTouchMove);\n this._canvas.addEventListener('touchend', this._handleTouchEnd);\n};\n\nSignaturePad.prototype._reset = function () {\n this.points = [];\n this._lastVelocity = 0;\n this._lastWidth = (this.minWidth + this.maxWidth) / 2;\n this._ctx.fillStyle = this.penColor;\n};\n\nSignaturePad.prototype._createPoint = function (x, y, time) {\n var rect = this._canvas.getBoundingClientRect();\n\n return new Point(x - rect.left, y - rect.top, time || new Date().getTime());\n};\n\nSignaturePad.prototype._addPoint = function (point) {\n var points = this.points;\n var tmp = void 0;\n\n points.push(point);\n\n if (points.length > 2) {\n // To reduce the initial lag make it work with 3 points\n // by copying the first point to the beginning.\n if (points.length === 3) points.unshift(points[0]);\n\n tmp = this._calculateCurveControlPoints(points[0], points[1], points[2]);\n var c2 = tmp.c2;\n tmp = this._calculateCurveControlPoints(points[1], points[2], points[3]);\n var c3 = tmp.c1;\n var curve = new Bezier(points[1], c2, c3, points[2]);\n var widths = this._calculateCurveWidths(curve);\n\n // Remove the first element from the list,\n // so that we always have no more than 4 points in points array.\n points.shift();\n\n return { curve: curve, widths: widths };\n }\n\n return {};\n};\n\nSignaturePad.prototype._calculateCurveControlPoints = function (s1, s2, s3) {\n var dx1 = s1.x - s2.x;\n var dy1 = s1.y - s2.y;\n var dx2 = s2.x - s3.x;\n var dy2 = s2.y - s3.y;\n\n var m1 = { x: (s1.x + s2.x) / 2.0, y: (s1.y + s2.y) / 2.0 };\n var m2 = { x: (s2.x + s3.x) / 2.0, y: (s2.y + s3.y) / 2.0 };\n\n var l1 = Math.sqrt(dx1 * dx1 + dy1 * dy1);\n var l2 = Math.sqrt(dx2 * dx2 + dy2 * dy2);\n\n var dxm = m1.x - m2.x;\n var dym = m1.y - m2.y;\n\n var k = l2 / (l1 + l2);\n var cm = { x: m2.x + dxm * k, y: m2.y + dym * k };\n\n var tx = s2.x - cm.x;\n var ty = s2.y - cm.y;\n\n return {\n c1: new Point(m1.x + tx, m1.y + ty),\n c2: new Point(m2.x + tx, m2.y + ty)\n };\n};\n\nSignaturePad.prototype._calculateCurveWidths = function (curve) {\n var startPoint = curve.startPoint;\n var endPoint = curve.endPoint;\n var widths = { start: null, end: null };\n\n var velocity = this.velocityFilterWeight * endPoint.velocityFrom(startPoint) + (1 - this.velocityFilterWeight) * this._lastVelocity;\n\n var newWidth = this._strokeWidth(velocity);\n\n widths.start = this._lastWidth;\n widths.end = newWidth;\n\n this._lastVelocity = velocity;\n this._lastWidth = newWidth;\n\n return widths;\n};\n\nSignaturePad.prototype._strokeWidth = function (velocity) {\n return Math.max(this.maxWidth / (velocity + 1), this.minWidth);\n};\n\nSignaturePad.prototype._drawPoint = function (x, y, size) {\n var ctx = this._ctx;\n\n ctx.moveTo(x, y);\n ctx.arc(x, y, size, 0, 2 * Math.PI, false);\n this._isEmpty = false;\n};\n\nSignaturePad.prototype._drawCurve = function (curve, startWidth, endWidth) {\n var ctx = this._ctx;\n var widthDelta = endWidth - startWidth;\n var drawSteps = Math.floor(curve.length());\n\n ctx.beginPath();\n\n for (var i = 0; i < drawSteps; i += 1) {\n // Calculate the Bezier (x, y) coordinate for this step.\n var t = i / drawSteps;\n var tt = t * t;\n var ttt = tt * t;\n var u = 1 - t;\n var uu = u * u;\n var uuu = uu * u;\n\n var x = uuu * curve.startPoint.x;\n x += 3 * uu * t * curve.control1.x;\n x += 3 * u * tt * curve.control2.x;\n x += ttt * curve.endPoint.x;\n\n var y = uuu * curve.startPoint.y;\n y += 3 * uu * t * curve.control1.y;\n y += 3 * u * tt * curve.control2.y;\n y += ttt * curve.endPoint.y;\n\n var width = startWidth + ttt * widthDelta;\n this._drawPoint(x, y, width);\n }\n\n ctx.closePath();\n ctx.fill();\n};\n\nSignaturePad.prototype._drawDot = function (point) {\n var ctx = this._ctx;\n var width = typeof this.dotSize === 'function' ? this.dotSize() : this.dotSize;\n\n ctx.beginPath();\n this._drawPoint(point.x, point.y, width);\n ctx.closePath();\n ctx.fill();\n};\n\nSignaturePad.prototype._fromData = function (pointGroups, drawCurve, drawDot) {\n for (var i = 0; i < pointGroups.length; i += 1) {\n var group = pointGroups[i];\n\n if (group.length > 1) {\n for (var j = 0; j < group.length; j += 1) {\n var rawPoint = group[j];\n var point = new Point(rawPoint.x, rawPoint.y, rawPoint.time);\n var color = rawPoint.color;\n\n if (j === 0) {\n // First point in a group. Nothing to draw yet.\n\n // All points in the group have the same color, so it's enough to set\n // penColor just at the beginning.\n this.penColor = color;\n this._reset();\n\n this._addPoint(point);\n } else if (j !== group.length - 1) {\n // Middle point in a group.\n var _addPoint2 = this._addPoint(point),\n curve = _addPoint2.curve,\n widths = _addPoint2.widths;\n\n if (curve && widths) {\n drawCurve(curve, widths, color);\n }\n } else {\n // Last point in a group. Do nothing.\n }\n }\n } else {\n this._reset();\n var _rawPoint = group[0];\n drawDot(_rawPoint);\n }\n }\n};\n\nSignaturePad.prototype._toSVG = function () {\n var _this2 = this;\n\n var pointGroups = this._data;\n var canvas = this._canvas;\n var ratio = Math.max(window.devicePixelRatio || 1, 1);\n var minX = 0;\n var minY = 0;\n var maxX = canvas.width / ratio;\n var maxY = canvas.height / ratio;\n var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n\n svg.setAttributeNS(null, 'width', canvas.width);\n svg.setAttributeNS(null, 'height', canvas.height);\n\n this._fromData(pointGroups, function (curve, widths, color) {\n var path = document.createElement('path');\n\n // Need to check curve for NaN values, these pop up when drawing\n // lines on the canvas that are not continuous. E.g. Sharp corners\n // or stopping mid-stroke and than continuing without lifting mouse.\n if (!isNaN(curve.control1.x) && !isNaN(curve.control1.y) && !isNaN(curve.control2.x) && !isNaN(curve.control2.y)) {\n var attr = 'M ' + curve.startPoint.x.toFixed(3) + ',' + curve.startPoint.y.toFixed(3) + ' ' + ('C ' + curve.control1.x.toFixed(3) + ',' + curve.control1.y.toFixed(3) + ' ') + (curve.control2.x.toFixed(3) + ',' + curve.control2.y.toFixed(3) + ' ') + (curve.endPoint.x.toFixed(3) + ',' + curve.endPoint.y.toFixed(3));\n\n path.setAttribute('d', attr);\n path.setAttribute('stroke-width', (widths.end * 2.25).toFixed(3));\n path.setAttribute('stroke', color);\n path.setAttribute('fill', 'none');\n path.setAttribute('stroke-linecap', 'round');\n\n svg.appendChild(path);\n }\n }, function (rawPoint) {\n var circle = document.createElement('circle');\n var dotSize = typeof _this2.dotSize === 'function' ? _this2.dotSize() : _this2.dotSize;\n circle.setAttribute('r', dotSize);\n circle.setAttribute('cx', rawPoint.x);\n circle.setAttribute('cy', rawPoint.y);\n circle.setAttribute('fill', rawPoint.color);\n\n svg.appendChild(circle);\n });\n\n var prefix = 'data:image/svg+xml;base64,';\n var header = '';\n var body = svg.innerHTML;\n\n // IE hack for missing innerHTML property on SVGElement\n if (body === undefined) {\n var dummy = document.createElement('dummy');\n var nodes = svg.childNodes;\n dummy.innerHTML = '';\n\n for (var i = 0; i < nodes.length; i += 1) {\n dummy.appendChild(nodes[i].cloneNode(true));\n }\n\n body = dummy.innerHTML;\n }\n\n var footer = '';\n var data = header + body + footer;\n\n return prefix + btoa(data);\n};\n\nSignaturePad.prototype.fromData = function (pointGroups) {\n var _this3 = this;\n\n this.clear();\n\n this._fromData(pointGroups, function (curve, widths) {\n return _this3._drawCurve(curve, widths.start, widths.end);\n }, function (rawPoint) {\n return _this3._drawDot(rawPoint);\n });\n\n this._data = pointGroups;\n};\n\nSignaturePad.prototype.toData = function () {\n return this._data;\n};\n\nexport default SignaturePad;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/signature_pad/dist/signature_pad.mjs\n// module id = 108\n// module chunks = 0","import { HashTable, Helpers } from \"./helpers\";\nimport { Base, ISurveyData } from \"./base\";\nimport { ExpressionRunner } from \"./conditions\";\nimport { Serializer } from \"./jsonobject\";\n\n/**\n * The calculated value is a way to define the variable in Survey Creator.\n * It has two main properties: name and expression. Based on expression the value read-only property is automatically calculated.\n * The name property should be unique though all calculated values.\n * It uses survey.getVariable/seruvey.setVariable functions to get/set its value. The class do not store its value internally.\n * You may set includeIntoResult property to true to store this calculated value into survey result.\n */\nexport class CalculatedValue extends Base {\n private data: ISurveyData;\n private expressionIsRunning: boolean = false;\n private expressionRunner: ExpressionRunner;\n constructor(name: string = null, expression: string = null) {\n super();\n if (!!name) {\n this.name = name;\n }\n if (!!expression) {\n this.expression = expression;\n }\n }\n public setOwner(data: ISurveyData) {\n this.data = data;\n this.rerunExpression();\n }\n public getType(): string {\n return \"calculatedvalue\";\n }\n /**\n * The calculated value name. It should be non empty and unique.\n */\n public get name(): string {\n return this.getPropertyValue(\"name\", \"\");\n }\n public set name(val: string) {\n this.setPropertyValue(\"name\", val);\n }\n /**\n * Set this property to true to include the non-empty calculated value into survey result, survey.data property.\n */\n public get includeIntoResult(): boolean {\n return this.getPropertyValue(\"includeIntoResult\", false);\n }\n public set includeIntoResult(val: boolean) {\n this.setPropertyValue(\"includeIntoResult\", val);\n }\n /**\n * The Expression that used to calculate the value. You may use standard operators like +, -, * and /, squares (). Here is the example of accessing the question value {questionname}.\n *
    Example: \"({quantity} * {price}) * (100 - {discount}) / 100\"\n */\n public get expression(): string {\n return this.getPropertyValue(\"expression\", \"\");\n }\n public set expression(val: string) {\n this.setPropertyValue(\"expression\", val);\n this.rerunExpression();\n }\n public locCalculation() {\n this.expressionIsRunning = true;\n }\n public unlocCalculation() {\n this.expressionIsRunning = false;\n }\n private isCalculated = false;\n public resetCalculation() {\n this.isCalculated = false;\n }\n public doCalculation(\n calculatedValues: Array,\n values: HashTable,\n properties: HashTable\n ) {\n if (this.isCalculated) return;\n this.runExpressionCore(calculatedValues, values, properties);\n this.isCalculated = true;\n }\n public runExpression(values: HashTable, properties: HashTable) {\n this.runExpressionCore(null, values, properties);\n }\n public get value(): any {\n if (!this.data) return undefined;\n return this.data.getVariable(this.name);\n }\n protected setValue(val: any) {\n if (!this.data) return;\n this.data.setVariable(this.name, val);\n }\n private get canRunExpression(): boolean {\n return (\n !!this.data &&\n !this.isLoadingFromJson &&\n !!this.expression &&\n !this.expressionIsRunning &&\n !!this.name\n );\n }\n private rerunExpression() {\n if (!this.canRunExpression) return;\n this.runExpression(\n this.data.getFilteredValues(),\n this.data.getFilteredProperties()\n );\n }\n private runExpressionCore(\n calculatedValues: Array,\n values: HashTable,\n properties: HashTable\n ) {\n if (!this.canRunExpression) return;\n this.ensureExpression(values);\n this.locCalculation();\n if (!!calculatedValues) {\n this.runDependentExpressions(calculatedValues, values, properties);\n }\n this.expressionRunner.run(values, properties);\n }\n private runDependentExpressions(\n calculatedValues: Array,\n values: HashTable,\n properties: HashTable\n ) {\n var variables = this.expressionRunner.getVariables();\n if (!variables) return;\n for (var i = 0; i < calculatedValues.length; i++) {\n var calcItem = calculatedValues[i];\n if (calcItem === this || variables.indexOf(calcItem.name) < 0) continue;\n calcItem.doCalculation(calculatedValues, values, properties);\n values[calcItem.name] = calcItem.value;\n }\n }\n private ensureExpression(values: HashTable) {\n if (!!this.expressionRunner) return;\n this.expressionRunner = new ExpressionRunner(this.expression);\n this.expressionRunner.onRunComplete = newValue => {\n if (!Helpers.isTwoValueEquals(newValue, this.value)) {\n this.setValue(newValue);\n }\n this.unlocCalculation();\n };\n }\n}\n\nSerializer.addClass(\n \"calculatedvalue\",\n [\"!name\", \"expression:expression\", \"includeIntoResult:boolean\"],\n function() {\n return new CalculatedValue();\n },\n \"base\"\n);\n\n\n\n// WEBPACK FOOTER //\n// ./src/calculatedValue.ts","import { Serializer } from \"./jsonobject\";\nimport { Base } from \"./base\";\nimport { ILocalizableOwner, LocalizableString } from \"./localizablestring\";\nimport { ConditionRunner } from \"./conditions\";\n\nexport class ExpressionItem extends Base implements ILocalizableOwner {\n public locOwner: ILocalizableOwner;\n constructor(expression: string = null) {\n super();\n this.createLocalizableString(\"html\", this);\n this.expression = expression;\n }\n public getType(): string {\n return \"expressionitem\";\n }\n public runCondition(values: any, properties: any): boolean {\n if (!this.expression) return false;\n return new ConditionRunner(this.expression).run(values, properties);\n }\n /**\n * The expression property. If this expression returns true, then survey will use html property to show on complete page.\n */\n public get expression(): string {\n return this.getPropertyValue(\"expression\", \"\");\n }\n public set expression(val: string) {\n this.setPropertyValue(\"expression\", val);\n }\n get locHtml(): LocalizableString {\n return this.getLocalizableString(\"html\");\n }\n\n public getLocale(): string {\n return !!this.locOwner ? this.locOwner.getLocale() : \"\";\n }\n public getMarkdownHtml(text: string): string {\n return !!this.locOwner ? this.locOwner.getMarkdownHtml(text) : null;\n }\n public getProcessedText(text: string): string {\n return this.locOwner ? this.locOwner.getProcessedText(text) : text;\n }\n}\n\n/**\n * A class that contains expression and html propeties. It uses in survey.completedHtmlOnCondition array.\n * If the expression returns true then html of this item uses instead of survey.completedHtml property\n * @see SurveyModel.completedHtmlOnCondition\n * @see SurveyModel.completedHtml\n */\nexport class HtmlConditionItem extends ExpressionItem {\n constructor(expression: string = null, html: string = null) {\n super(expression);\n this.createLocalizableString(\"html\", this);\n this.html = html;\n }\n public getType(): string {\n return \"htmlconditionitem\";\n }\n /**\n * The html that shows on completed ('Thank you') page. The expression should return true\n * @see expression\n */\n public get html(): string {\n return this.getLocalizableStringText(\"html\");\n }\n public set html(value: string) {\n this.setLocalizableStringText(\"html\", value);\n }\n get locHtml(): LocalizableString {\n return this.getLocalizableString(\"html\");\n }\n}\n\n/**\n * A class that contains expression and url propeties. It uses in survey.navigateToUrlOnCondition array.\n * If the expression returns true then url of this item uses instead of survey.navigateToUrl property\n * @see SurveyModel.navigateToUrl\n */\nexport class UrlConditionItem extends ExpressionItem {\n constructor(expression: string = null, url: string = null) {\n super(expression);\n this.createLocalizableString(\"url\", this);\n this.url = url;\n }\n public getType(): string {\n return \"urlconditionitem\";\n }\n /**\n * The url that survey navigates to on completing the survey. The expression should return true\n * @see expression\n */\n public get url(): string {\n return this.getLocalizableStringText(\"url\");\n }\n public set url(value: string) {\n this.setLocalizableStringText(\"url\", value);\n }\n get locUrl(): LocalizableString {\n return this.getLocalizableString(\"url\");\n }\n}\n\nSerializer.addClass(\n \"expressionitem\",\n [\"expression:condition\"],\n function() {\n return new ExpressionItem();\n },\n \"base\"\n);\n\nSerializer.addClass(\n \"htmlconditionitem\",\n [{ name: \"html:html\", serializationProperty: \"locHtml\" }],\n function() {\n return new HtmlConditionItem();\n },\n \"expressionitem\"\n);\n\nSerializer.addClass(\n \"urlconditionitem\",\n [{ name: \"url:string\", serializationProperty: \"locUrl\" }],\n function() {\n return new UrlConditionItem();\n },\n \"expressionitem\"\n);\n\n\n\n// WEBPACK FOOTER //\n// ./src/expressionItems.ts","// tslint:disable:only-arrow-functions\n// tslint:disable:object-literal-shorthand\n// tslint:disable:trailing-comma\n// tslint:disable:object-literal-sort-keys\n// tslint:disable:one-variable-per-declaration\n// tslint:disable:max-line-length\n// tslint:disable:no-consecutive-blank-lines\n// tslint:disable:align\n\n\n// Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.2.6 )\n//\n// https://pegjs.org/ https://github.com/metadevpro/ts-pegjs\n\n\"use strict\";\n\nimport {\nConst,\nBinaryOperand,\nVariable,\nOperand,\nUnaryOperand,\nFunctionOperand,\nArrayOperand\n} from \"./expressions\";\nexport interface IFilePosition {\n offset: number;\n line: number;\n column: number;\n}\n\nexport interface IFileRange {\n start: IFilePosition;\n end: IFilePosition;\n}\n\nexport interface ILiteralExpectation {\n type: \"literal\";\n text: string;\n ignoreCase: boolean;\n}\n\nexport interface IClassParts extends Array {}\n\nexport interface IClassExpectation {\n type: \"class\";\n parts: IClassParts;\n inverted: boolean;\n ignoreCase: boolean;\n}\n\nexport interface IAnyExpectation {\n type: \"any\";\n}\n\nexport interface IEndExpectation {\n type: \"end\";\n}\n\nexport interface IOtherExpectation {\n type: \"other\";\n description: string;\n}\n\nexport type Expectation = ILiteralExpectation | IClassExpectation | IAnyExpectation | IEndExpectation | IOtherExpectation;\n\nexport class SyntaxError extends Error {\n public static buildMessage(expected: Expectation[], found: string | null) {\n function hex(ch: string): string {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n\n function literalEscape(s: string): string {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\"/g, \"\\\\\\\"\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, (ch) => \"\\\\x0\" + hex(ch) )\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, (ch) => \"\\\\x\" + hex(ch) );\n }\n\n function classEscape(s: string): string {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\]/g, \"\\\\]\")\n .replace(/\\^/g, \"\\\\^\")\n .replace(/-/g, \"\\\\-\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, (ch) => \"\\\\x0\" + hex(ch) )\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, (ch) => \"\\\\x\" + hex(ch) );\n }\n\n function describeExpectation(expectation: Expectation) {\n switch (expectation.type) {\n case \"literal\":\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n case \"class\":\n const escapedParts = expectation.parts.map((part) => {\n return Array.isArray(part)\n ? classEscape(part[0] as string) + \"-\" + classEscape(part[1] as string)\n : classEscape(part);\n });\n\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n case \"any\":\n return \"any character\";\n case \"end\":\n return \"end of input\";\n case \"other\":\n return expectation.description;\n }\n }\n\n function describeExpected(expected1: Expectation[]) {\n const descriptions = expected1.map(describeExpectation);\n let i: number;\n let j: number;\n\n descriptions.sort();\n\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n\n function describeFound(found1: string | null) {\n return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n }\n\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n }\n\n public message: string;\n public expected: Expectation[];\n public found: string | null;\n public location: IFileRange;\n public name: string;\n\n constructor(message: string, expected: Expectation[], found: string | null, location: IFileRange) {\n super();\n this.message = message;\n this.expected = expected;\n this.found = found;\n this.location = location;\n this.name = \"SyntaxError\";\n\n if (typeof (Error as any).captureStackTrace === \"function\") {\n (Error as any).captureStackTrace(this, SyntaxError);\n }\n }\n}\n\nexport interface ICached {\n nextPos: number;\n result: any;\n}\n\nfunction peg$parse(input: string, options?: IParseOptions) {\n options = options !== undefined ? options : {};\n\n const peg$FAILED: Readonly<{}> = {};\n\n const peg$startRuleFunctions: {[id: string]: any} = { Expression: peg$parseExpression };\n let peg$startRuleFunction: () => any = peg$parseExpression;\n\n const peg$c0 = function(head: any, tail: any): any {\n return buildBinaryOperand(head, tail, true);\n };\n const peg$c1 = \"||\";\n const peg$c2 = peg$literalExpectation(\"||\", false);\n const peg$c3 = \"or\";\n const peg$c4 = peg$literalExpectation(\"or\", true);\n const peg$c5 = function(): any { return \"or\"; };\n const peg$c6 = \"&&\";\n const peg$c7 = peg$literalExpectation(\"&&\", false);\n const peg$c8 = \"and\";\n const peg$c9 = peg$literalExpectation(\"and\", true);\n const peg$c10 = function(): any { return \"and\"; };\n const peg$c11 = function(head: any, tail: any): any {\n return buildBinaryOperand(head, tail);\n };\n const peg$c12 = \"<=\";\n const peg$c13 = peg$literalExpectation(\"<=\", false);\n const peg$c14 = \"lessorequal\";\n const peg$c15 = peg$literalExpectation(\"lessorequal\", true);\n const peg$c16 = function(): any { return \"lessorequal\"; };\n const peg$c17 = \">=\";\n const peg$c18 = peg$literalExpectation(\">=\", false);\n const peg$c19 = \"greaterorequal\";\n const peg$c20 = peg$literalExpectation(\"greaterorequal\", true);\n const peg$c21 = function(): any { return \"greaterorequal\"; };\n const peg$c22 = \"=\";\n const peg$c23 = peg$literalExpectation(\"=\", false);\n const peg$c24 = \"equal\";\n const peg$c25 = peg$literalExpectation(\"equal\", true);\n const peg$c26 = function(): any { return \"equal\"; };\n const peg$c27 = \"!=\";\n const peg$c28 = peg$literalExpectation(\"!=\", false);\n const peg$c29 = \"notequal\";\n const peg$c30 = peg$literalExpectation(\"notequal\", true);\n const peg$c31 = function(): any { return \"notequal\"; };\n const peg$c32 = \"<\";\n const peg$c33 = peg$literalExpectation(\"<\", false);\n const peg$c34 = \"less\";\n const peg$c35 = peg$literalExpectation(\"less\", true);\n const peg$c36 = function(): any { return \"less\"; };\n const peg$c37 = \">\";\n const peg$c38 = peg$literalExpectation(\">\", false);\n const peg$c39 = \"greater\";\n const peg$c40 = peg$literalExpectation(\"greater\", true);\n const peg$c41 = function(): any { return \"greater\"; };\n const peg$c42 = \"+\";\n const peg$c43 = peg$literalExpectation(\"+\", false);\n const peg$c44 = function(): any { return \"plus\"; };\n const peg$c45 = \"-\";\n const peg$c46 = peg$literalExpectation(\"-\", false);\n const peg$c47 = function(): any { return \"minus\"; };\n const peg$c48 = \"*\";\n const peg$c49 = peg$literalExpectation(\"*\", false);\n const peg$c50 = function(): any { return \"mul\"; };\n const peg$c51 = \"/\";\n const peg$c52 = peg$literalExpectation(\"/\", false);\n const peg$c53 = function(): any { return \"div\"; };\n const peg$c54 = \"%\";\n const peg$c55 = peg$literalExpectation(\"%\", false);\n const peg$c56 = function(): any { return \"mod\"; };\n const peg$c57 = \"^\";\n const peg$c58 = peg$literalExpectation(\"^\", false);\n const peg$c59 = \"power\";\n const peg$c60 = peg$literalExpectation(\"power\", true);\n const peg$c61 = function(): any { return \"power\"; };\n const peg$c62 = \"*=\";\n const peg$c63 = peg$literalExpectation(\"*=\", false);\n const peg$c64 = \"contains\";\n const peg$c65 = peg$literalExpectation(\"contains\", true);\n const peg$c66 = \"contain\";\n const peg$c67 = peg$literalExpectation(\"contain\", true);\n const peg$c68 = function(): any { return \"contains\"; };\n const peg$c69 = \"notcontains\";\n const peg$c70 = peg$literalExpectation(\"notcontains\", true);\n const peg$c71 = \"notcontain\";\n const peg$c72 = peg$literalExpectation(\"notcontain\", true);\n const peg$c73 = function(): any { return \"notcontains\"; };\n const peg$c74 = \"anyof\";\n const peg$c75 = peg$literalExpectation(\"anyof\", true);\n const peg$c76 = function(): any {return \"anyof\"; };\n const peg$c77 = \"allof\";\n const peg$c78 = peg$literalExpectation(\"allof\", true);\n const peg$c79 = function(): any {return \"allof\"; };\n const peg$c80 = \"(\";\n const peg$c81 = peg$literalExpectation(\"(\", false);\n const peg$c82 = \")\";\n const peg$c83 = peg$literalExpectation(\")\", false);\n const peg$c84 = function(expr: any): any { return expr; };\n const peg$c85 = function(name: any, params: any): any { return new FunctionOperand(name, params); };\n const peg$c86 = \"!\";\n const peg$c87 = peg$literalExpectation(\"!\", false);\n const peg$c88 = \"negate\";\n const peg$c89 = peg$literalExpectation(\"negate\", true);\n const peg$c90 = function(expr: any): any { return new UnaryOperand(expr, \"negate\"); };\n const peg$c91 = function(expr: any, op: any): any { return new UnaryOperand(expr, op); };\n const peg$c92 = \"empty\";\n const peg$c93 = peg$literalExpectation(\"empty\", true);\n const peg$c94 = function(): any { return \"empty\"; };\n const peg$c95 = \"notempty\";\n const peg$c96 = peg$literalExpectation(\"notempty\", true);\n const peg$c97 = function(): any { return \"notempty\"; };\n const peg$c98 = \"undefined\";\n const peg$c99 = peg$literalExpectation(\"undefined\", false);\n const peg$c100 = \"null\";\n const peg$c101 = peg$literalExpectation(\"null\", false);\n const peg$c102 = function(): any { return null; };\n const peg$c103 = function(value: any): any { return new Const(value); };\n const peg$c104 = \"{\";\n const peg$c105 = peg$literalExpectation(\"{\", false);\n const peg$c106 = \"}\";\n const peg$c107 = peg$literalExpectation(\"}\", false);\n const peg$c108 = function(value: any): any { return new Variable(value); };\n const peg$c109 = \"'\";\n const peg$c110 = peg$literalExpectation(\"'\", false);\n const peg$c111 = function(value: any): any { return value; };\n const peg$c112 = \"\\\"\";\n const peg$c113 = peg$literalExpectation(\"\\\"\", false);\n const peg$c114 = \"[\";\n const peg$c115 = peg$literalExpectation(\"[\", false);\n const peg$c116 = \"]\";\n const peg$c117 = peg$literalExpectation(\"]\", false);\n const peg$c118 = function(sequence: any): any { return sequence; };\n const peg$c119 = \",\";\n const peg$c120 = peg$literalExpectation(\",\", false);\n const peg$c121 = function(expr: any, tail: any): any {\n if (expr == null)\n return new ArrayOperand([]);\n\n var array = [expr];\n if (Array.isArray(tail)) {\n var flatten = flattenArray(tail);\n for (var i = 3; i < flatten.length; i += 4) {\n array.push(flatten[i]);\n }\n }\n\n return new ArrayOperand(array);\n };\n const peg$c122 = \"true\";\n const peg$c123 = peg$literalExpectation(\"true\", true);\n const peg$c124 = function(): any { return true; };\n const peg$c125 = \"false\";\n const peg$c126 = peg$literalExpectation(\"false\", true);\n const peg$c127 = function(): any { return false; };\n const peg$c128 = \"0x\";\n const peg$c129 = peg$literalExpectation(\"0x\", false);\n const peg$c130 = function(): any { return parseInt(text(), 16); };\n const peg$c131 = /^[\\-]/;\n const peg$c132 = peg$classExpectation([\"-\"], false, false);\n const peg$c133 = function(sign: any, num: any): any { return sign == null ? num : -num; };\n const peg$c134 = \".\";\n const peg$c135 = peg$literalExpectation(\".\", false);\n const peg$c136 = function(): any { return parseFloat(text()); };\n const peg$c137 = function(): any { return parseInt(text(), 10); };\n const peg$c138 = \"0\";\n const peg$c139 = peg$literalExpectation(\"0\", false);\n const peg$c140 = function(): any { return 0; };\n const peg$c141 = function(chars: any): any { return chars.join(\"\"); };\n const peg$c142 = \"\\\\'\";\n const peg$c143 = peg$literalExpectation(\"\\\\'\", false);\n const peg$c144 = function(): any { return \"'\"; };\n const peg$c145 = \"\\\\\\\"\";\n const peg$c146 = peg$literalExpectation(\"\\\\\\\"\", false);\n const peg$c147 = function(): any { return \"\\\"\"; };\n const peg$c148 = /^[^\"'{}]/;\n const peg$c149 = peg$classExpectation([\"\\\"\", \"'\", \"{\", \"}\"], true, false);\n const peg$c150 = function(): any { return text(); };\n const peg$c151 = /^[^{}]/;\n const peg$c152 = peg$classExpectation([\"{\", \"}\"], true, false);\n const peg$c153 = /^[0-9]/;\n const peg$c154 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n const peg$c155 = /^[1-9]/;\n const peg$c156 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n const peg$c157 = /^[a-zA-Z]/;\n const peg$c158 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false);\n const peg$c159 = peg$otherExpectation(\"whitespace\");\n const peg$c160 = /^[ \\t\\n\\r]/;\n const peg$c161 = peg$classExpectation([\" \", \"\\t\", \"\\n\", \"\\r\"], false, false);\n\n let peg$currPos = 0;\n let peg$savedPos = 0;\n const peg$posDetailsCache = [{ line: 1, column: 1 }];\n let peg$maxFailPos = 0;\n let peg$maxFailExpected: Expectation[] = [];\n let peg$silentFails = 0;\n\n const peg$resultsCache: {[id: number]: ICached} = {};\n\n let peg$result;\n\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text(): string {\n return input.substring(peg$savedPos, peg$currPos);\n }\n\n function location(): IFileRange {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n\n function expected(description: string, location1?: IFileRange) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n\n throw peg$buildStructuredError(\n [peg$otherExpectation(description)],\n input.substring(peg$savedPos, peg$currPos),\n location1\n );\n }\n\n function error(message: string, location1?: IFileRange) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n\n throw peg$buildSimpleError(message, location1);\n }\n\n function peg$literalExpectation(text1: string, ignoreCase: boolean): ILiteralExpectation {\n return { type: \"literal\", text: text1, ignoreCase: ignoreCase };\n }\n\n function peg$classExpectation(parts: IClassParts, inverted: boolean, ignoreCase: boolean): IClassExpectation {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n\n function peg$anyExpectation(): IAnyExpectation {\n return { type: \"any\" };\n }\n\n function peg$endExpectation(): IEndExpectation {\n return { type: \"end\" };\n }\n\n function peg$otherExpectation(description: string): IOtherExpectation {\n return { type: \"other\", description: description };\n }\n\n function peg$computePosDetails(pos: number) {\n let details = peg$posDetailsCache[pos];\n let p;\n\n if (details) {\n return details;\n } else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n } else {\n details.column++;\n }\n\n p++;\n }\n\n peg$posDetailsCache[pos] = details;\n\n return details;\n }\n }\n\n function peg$computeLocation(startPos: number, endPos: number): IFileRange {\n const startPosDetails = peg$computePosDetails(startPos);\n const endPosDetails = peg$computePosDetails(endPos);\n\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n\n function peg$fail(expected1: Expectation) {\n if (peg$currPos < peg$maxFailPos) { return; }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected1);\n }\n\n function peg$buildSimpleError(message: string, location1: IFileRange) {\n return new SyntaxError(message, [], \"\", location1);\n }\n\n function peg$buildStructuredError(expected1: Expectation[], found: string | null, location1: IFileRange) {\n return new SyntaxError(\n SyntaxError.buildMessage(expected1, found),\n expected1,\n found,\n location1\n );\n }\n\n function peg$parseExpression(): Operand {\n let s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n const key = peg$currPos * 34 + 0;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseLogicOr();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$currPos;\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseOrSign();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseLogicOr();\n if (s8 !== peg$FAILED) {\n s5 = [s5, s6, s7, s8];\n s4 = s5;\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$currPos;\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseOrSign();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseLogicOr();\n if (s8 !== peg$FAILED) {\n s5 = [s5, s6, s7, s8];\n s4 = s5;\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n } else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s2, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseOrSign(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 1;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c1) {\n s1 = peg$c1;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c2); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 2).toLowerCase() === peg$c3) {\n s1 = input.substr(peg$currPos, 2);\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c5();\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLogicOr(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 2;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseLogicAnd();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseAndSign();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseLogicAnd();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseAndSign();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseLogicAnd();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseAndSign(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 3;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c6) {\n s1 = peg$c6;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 3).toLowerCase() === peg$c8) {\n s1 = input.substr(peg$currPos, 3);\n peg$currPos += 3;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c9); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c10();\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLogicAnd(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 4;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseCompOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseComparableOperators();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseCompOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseComparableOperators();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseCompOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseComparableOperators(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 5;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c12) {\n s1 = peg$c12;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c13); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 11).toLowerCase() === peg$c14) {\n s1 = input.substr(peg$currPos, 11);\n peg$currPos += 11;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c15); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c17) {\n s1 = peg$c17;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c18); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 14).toLowerCase() === peg$c19) {\n s1 = input.substr(peg$currPos, 14);\n peg$currPos += 14;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c20); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s1 = peg$c22;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c23); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c24) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c25); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c27) {\n s1 = peg$c27;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c28); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c29) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c30); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c31();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 60) {\n s1 = peg$c32;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c33); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4).toLowerCase() === peg$c34) {\n s1 = input.substr(peg$currPos, 4);\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c36();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 62) {\n s1 = peg$c37;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c38); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 7).toLowerCase() === peg$c39) {\n s1 = input.substr(peg$currPos, 7);\n peg$currPos += 7;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c40); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c41();\n }\n s0 = s1;\n }\n }\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseCompOps(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 6;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parsePlusMinusOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePlusMinusSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsePlusMinusOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePlusMinusSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsePlusMinusOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parsePlusMinusSigns(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 7;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 43) {\n s1 = peg$c42;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c43); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c44();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 45) {\n s1 = peg$c45;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c46); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c47();\n }\n s0 = s1;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parsePlusMinusOps(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 8;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseMulDivOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseMulDivSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseMulDivOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseMulDivSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseMulDivOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseMulDivSigns(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 9;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 42) {\n s1 = peg$c48;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c49); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c50();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 47) {\n s1 = peg$c51;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c52); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c53();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 37) {\n s1 = peg$c54;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c55); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c56();\n }\n s0 = s1;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseMulDivOps(): BinaryOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 10;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseBinaryFuncOp();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePowerSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseBinaryFuncOp();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePowerSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseBinaryFuncOp();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parsePowerSigns(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 11;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 94) {\n s1 = peg$c57;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c58); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c59) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c60); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c61();\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseBinaryFuncOp(): any {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 12;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseFactor();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseBinFunctions();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseFactor();\n if (s7 === peg$FAILED) {\n s7 = null;\n }\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseBinFunctions();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseFactor();\n if (s7 === peg$FAILED) {\n s7 = null;\n }\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseBinFunctions(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 13;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c62) {\n s1 = peg$c62;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c63); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c64) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c65); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 7).toLowerCase() === peg$c66) {\n s1 = input.substr(peg$currPos, 7);\n peg$currPos += 7;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c67); }\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c68();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 11).toLowerCase() === peg$c69) {\n s1 = input.substr(peg$currPos, 11);\n peg$currPos += 11;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c70); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 10).toLowerCase() === peg$c71) {\n s1 = input.substr(peg$currPos, 10);\n peg$currPos += 10;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c72); }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c73();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c74) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c75); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c76();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c77) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c78); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c79();\n }\n s0 = s1;\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseFactor(): Operand {\n let s0, s1, s2, s3, s4, s5;\n\n const key = peg$currPos * 34 + 14;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 40) {\n s1 = peg$c80;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c81); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseExpression();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s5 = peg$c82;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c83); }\n }\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c84(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseFunctionOp();\n if (s0 === peg$FAILED) {\n s0 = peg$parseUnaryFunctionOp();\n if (s0 === peg$FAILED) {\n s0 = peg$parseAtom();\n if (s0 === peg$FAILED) {\n s0 = peg$parseArrayOp();\n }\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseFunctionOp(): any {\n let s0, s1, s2, s3, s4;\n\n const key = peg$currPos * 34 + 15;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseLettersAndDigits();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s2 = peg$c80;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c81); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseSequence();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s4 = peg$c82;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c83); }\n }\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c85(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseUnaryFunctionOp(): any {\n let s0, s1, s2, s3;\n\n const key = peg$currPos * 34 + 16;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 33) {\n s1 = peg$c86;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c87); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 6).toLowerCase() === peg$c88) {\n s1 = input.substr(peg$currPos, 6);\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c89); }\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseExpression();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c90(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseAtom();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseUnFunctions();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c91(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseUnFunctions(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 17;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c92) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c93); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c94();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c95) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c96); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c97();\n }\n s0 = s1;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseAtom(): any {\n let s0, s1, s2, s3, s4;\n\n const key = peg$currPos * 34 + 18;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.substr(peg$currPos, 9) === peg$c98) {\n s2 = peg$c98;\n peg$currPos += 9;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c99); }\n }\n if (s2 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c100) {\n s2 = peg$c100;\n peg$currPos += 4;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c101); }\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c102();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseConstValue();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c103(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s2 = peg$c104;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c105); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseValueInput();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s4 = peg$c106;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c107); }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c108(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseConstValue(): any {\n let s0, s1, s2, s3;\n\n const key = peg$currPos * 34 + 19;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$parseLogicValue();\n if (s0 === peg$FAILED) {\n s0 = peg$parseArithmeticValue();\n if (s0 === peg$FAILED) {\n s0 = peg$parseLettersAndDigits();\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c109;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c110); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseAnyInput();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s3 = peg$c109;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c110); }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 34) {\n s1 = peg$c112;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c113); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseAnyInput();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 34) {\n s3 = peg$c112;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c113); }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseArrayOp(): any {\n let s0, s1, s2, s3;\n\n const key = peg$currPos * 34 + 20;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 91) {\n s1 = peg$c114;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c115); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseSequence();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 93) {\n s3 = peg$c116;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c117); }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c118(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseSequence(): ArrayOperand {\n let s0, s1, s2, s3, s4, s5, s6, s7;\n\n const key = peg$currPos * 34 + 21;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseExpression();\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c119;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c120); }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseExpression();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c119;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c120); }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseExpression();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c121(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLogicValue(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 22;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 4).toLowerCase() === peg$c122) {\n s1 = input.substr(peg$currPos, 4);\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c123); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c124();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c125) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c126); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c127();\n }\n s0 = s1;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseArithmeticValue(): any {\n let s0, s1, s2;\n\n const key = peg$currPos * 34 + 23;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c128) {\n s1 = peg$c128;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c129); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseDigits();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c130();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (peg$c131.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c132); }\n }\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseNumber();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c133(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseNumber(): any {\n let s0, s1, s2, s3;\n\n const key = peg$currPos * 34 + 24;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseDigits();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 46) {\n s2 = peg$c134;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c135); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseDigits();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c136();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseNonZeroDigits();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseDigits();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c137();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c138;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c139); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c140();\n }\n s0 = s1;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseValueInput(): any {\n let s0, s1, s2;\n\n const key = peg$currPos * 34 + 25;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseValueCharacters();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseValueCharacters();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c141(s1);\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseAnyInput(): any {\n let s0, s1, s2;\n\n const key = peg$currPos * 34 + 26;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseAnyCharacters();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseAnyCharacters();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c141(s1);\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseAnyCharacters(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 27;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c142) {\n s1 = peg$c142;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c143); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c144();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c145) {\n s1 = peg$c145;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c146); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c147();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (peg$c148.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c149); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c150();\n }\n s0 = s1;\n }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseValueCharacters(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 28;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n if (peg$c151.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c152); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c150();\n }\n s0 = s1;\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLettersAndDigits(): any {\n let s0, s1, s2, s3, s4, s5, s6;\n\n const key = peg$currPos * 34 + 29;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = peg$currPos;\n s1 = peg$parseLetters();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parseDigits();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseLetters();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseLetters();\n }\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parseDigits();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseLetters();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseLetters();\n }\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c150();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseDigits(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 30;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = [];\n if (peg$c153.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c154); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c153.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c154); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseNonZeroDigits(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 31;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = [];\n if (peg$c155.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c156); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c155.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c156); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parseLetters(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 32;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n s0 = [];\n if (peg$c157.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c158); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c157.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c158); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n function peg$parse_(): any {\n let s0, s1;\n\n const key = peg$currPos * 34 + 33;\n const cached: ICached = peg$resultsCache[key];\n\n if (cached) {\n peg$currPos = cached.nextPos;\n\n return cached.result;\n }\n\n peg$silentFails++;\n s0 = [];\n if (peg$c160.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c161); }\n }\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c160.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c161); }\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c159); }\n }\n\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n\n return s0;\n }\n\n\n function buildBinaryOperand(head: Operand, tail: Array, isArithmeticOp: boolean = false) {\n return tail.reduce(\n function(result, elements) {\n return new BinaryOperand(elements[1], result, elements[3], isArithmeticOp);\n }, \n head);\n }\n\n function flattenArray(array: Array): Array {\n return [].concat.apply([], array);\n }\n\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n\n throw peg$buildStructuredError(\n peg$maxFailExpected,\n peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,\n peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)\n );\n }\n}\n\nexport interface IParseOptions {\n filename?: string;\n startRule?: string;\n tracer?: any;\n [key: string]: any;\n}\nexport type ParseFunction = (input: string, options?: IParseOptions) => any;\nexport const parse: ParseFunction = peg$parse;\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/expressions/expressionParser.ts","import * as ko from \"knockout\";\nimport { SurveyWindowModel } from \"../surveyWindow\";\nimport { SurveyModel } from \"../survey\";\nimport { Survey } from \"./kosurvey\";\nvar koTemplate = require(\"html-loader?interpolate!val-loader!./templates/window/window.html\");\n\nexport class SurveyWindow extends SurveyWindowModel {\n koExpanded: any;\n koExpandedCss: any;\n doExpand: any;\n constructor(jsonObj: any = null, initialModel: SurveyModel = null) {\n super(jsonObj, initialModel);\n this.koExpanded = ko.observable(false);\n this.koExpandedCss = ko.observable(this.getButtonCss());\n var self = this;\n this.expandedChangedCallback = function() {\n self.koExpanded(self.isExpanded);\n self.koExpandedCss(self.getButtonCss());\n };\n this.showingChangedCallback = function() {\n self.doShowingChanged();\n };\n this.doExpand = function() {\n self.changeExpanded();\n };\n }\n protected createSurvey(jsonObj: any): SurveyModel {\n return new Survey(jsonObj);\n }\n protected closeWindowOnComplete() {\n this.hide();\n }\n protected get template(): string {\n return this.templateValue ? this.templateValue : this.getDefaultTemplate();\n }\n protected set template(value: string) {\n this.templateValue = value;\n }\n protected doShowingChanged() {\n if (this.isShowing) {\n this.windowElement.innerHTML = this.template;\n ko.cleanNode(this.windowElement);\n ko.applyBindings(this, this.windowElement);\n document.body.appendChild(this.windowElement);\n (this.survey).render(SurveyWindow.surveyElementName);\n } else {\n document.body.removeChild(this.windowElement);\n this.windowElement.innerHTML = \"\";\n }\n }\n protected getDefaultTemplate(): string {\n return koTemplate;\n }\n public get css(): any {\n return (this).survey[\"css\"];\n }\n private changeExpanded() {\n this.expandcollapse(!this.isExpanded);\n }\n private getButtonCss() {\n return this.koExpanded()\n ? this.css.window.header.buttonCollapsed\n : this.css.window.header.buttonExpanded;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koSurveyWindow.ts","import * as ko from \"knockout\";\nimport { FlowPanelModel } from \"../flowpanel\";\nimport { Question } from \"../question\";\nimport { Serializer } from \"../jsonobject\";\nimport { ElementFactory } from \"../questionfactory\";\nimport { ImplementorBase } from \"./kobase\";\nimport { SurveyElement, IElement } from \"../base\";\n\nexport class FlowPanel extends FlowPanelModel {\n koElementType: any;\n koElementAfterRender: any;\n placeHolder: string;\n constructor(name: string = \"\") {\n super(name);\n this.koElementType = ko.observable(\"survey-flowpanel\");\n new ImplementorBase(this);\n this.onCreating();\n var self = this;\n this.koElementAfterRender = function (el: any, con: any) {\n return self.elementAfterRender(el, con);\n };\n }\n protected onCreating() {}\n protected getHtmlForQuestion(question: Question): string {\n return (\n ''\n );\n }\n private elementAfterRender(elements: any, con: any) {\n if (!this.survey) return;\n var el = SurveyElement.GetFirstNonTextElement(elements);\n if (!!el) {\n this.survey.afterRenderQuestion(con, el);\n }\n }\n}\n\nSerializer.overrideClassCreator(\"flowpanel\", function () {\n return new FlowPanel();\n});\n/*\nElementFactory.Instance.registerElement(\"flowpanel\", name => {\n return new FlowPanel(name);\n});\n*/\nko.components.register(\"f-panel\", {\n viewModel: {\n createViewModel: function (params: any, componentInfo: any) {\n var self = this;\n var question = ko.unwrap(params.question);\n self.element = componentInfo.element;\n self.element.innerHTML = question.html;\n self.isOnFocus = false;\n self.wasChanged = false;\n self.isContentUpdating = false;\n question.contentChangedCallback = function () {\n if (self.isContentUpdating) return;\n ko.cleanNode(self.element);\n self.element.innerHTML = question.html;\n ko.applyBindings({ question }, self.element);\n ko.tasks.runEarly();\n };\n self.element.onfocus = function () {\n self.isOnFocus = true;\n };\n self.element.onblur = function () {\n if (self.wasChanged) self.updateContent();\n self.isOnFocus = false;\n self.wasChanged = false;\n };\n self.element.ondragend = function (event: any) {\n var regEx = /{(.*?(element:)[^$].*?)}/g;\n var str = self.element.innerHTML;\n var res = regEx.exec(str);\n if (res !== null) {\n var q = question.getQuestionFromText(res[0]);\n if (!!q) {\n question.content = self.getContent(q.name);\n }\n }\n };\n self.updateContent = function () {\n self.isContentUpdating = true;\n question.content = self.getContent();\n self.isContentUpdating = false;\n };\n question.getContent = self.getContent = function (deletedName: string) {\n var content = document.createElement(\"DIV\");\n content.innerHTML = self.element.innerHTML;\n var cps = content.querySelectorAll('span[question=\"true\"]');\n for (var i = 0; i < cps.length; i++) {\n var name = cps[i].id.replace(\"flowpanel_\", \"\");\n var html = \"\";\n if (name !== deletedName) {\n var el = question.getQuestionByName(name);\n html = !!el ? question.getElementContentText(el) : \"\";\n }\n cps[i].outerHTML = html;\n }\n return content.innerHTML;\n };\n var config = {\n characterData: true,\n attributes: true,\n childList: true,\n subtree: true,\n };\n var callback = function (mutationsList: any, observer: any) {\n if (!self.isOnFocus) return;\n self.wasChanged = true;\n };\n var observer = new MutationObserver(callback);\n observer.observe(self.element, config);\n return { question };\n },\n },\n template: \"
    \",\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koflowpanel.ts","import * as ko from \"knockout\";\nimport { QuestionBooleanModel } from \"../question_boolean\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { QuestionImplementor } from \"./koquestion\";\n\nexport class QuestionBoolean extends QuestionBooleanModel {\n constructor(public name: string) {\n super(name);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionImplementor(this);\n }\n public getItemCss(row: any, column: any) {\n let isChecked = this.checkedValue;\n let isDisabled = this.isReadOnly;\n let itemClass = this.cssClasses.item;\n if (isDisabled) itemClass += \" \" + this.cssClasses.itemDisabled;\n if (isChecked) itemClass += \" \" + this.cssClasses.itemChecked;\n else if (isChecked === null)\n itemClass += \" \" + this.cssClasses.itemIndeterminate;\n return itemClass;\n }\n public getCheckedLabelCss(): string {\n return this.getLabelClass(true);\n }\n public getUncheckedLabelCss(): string {\n return this.getLabelClass(false);\n }\n private getLabelClass(checked: boolean): string {\n return (\n this.cssClasses.label +\n (this.checkedValue === !checked || this.isReadOnly\n ? \" \" + this.cssClasses.disabledLabel\n : \"\")\n );\n }\n private preventDefaults(event: any) {\n event.preventDefault();\n event.stopPropagation();\n }\n private onLabelClick(event: any, value: boolean) {\n if (this.isIndeterminate) {\n this.preventDefaults(event);\n this.checkedValue = value;\n }\n return true;\n }\n public onSwitchClick(data: any, event: any) {\n if (this.isIndeterminate) {\n this.preventDefaults(event);\n var isRightClick = event.offsetX / event.target.offsetWidth > 0.5;\n var isRtl =\n document.defaultView.getComputedStyle(event.target).direction == \"rtl\";\n\n this.checkedValue = isRtl ? !isRightClick : isRightClick;\n return;\n }\n return true;\n }\n public onTrueLabelClick(data: any, event: any) {\n return this.onLabelClick(event, true);\n }\n public onFalseLabelClick(data: any, event: any) {\n return this.onLabelClick(event, false);\n }\n}\nSerializer.overrideClassCreator(\"boolean\", function () {\n return new QuestionBoolean(\"\");\n});\n\nQuestionFactory.Instance.registerQuestion(\"boolean\", (name) => {\n return new QuestionBoolean(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_boolean.ts","import * as ko from \"knockout\";\nimport { QuestionCheckboxBaseImplementor } from \"./koquestion_baseselect\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { QuestionCheckboxModel } from \"../question_checkbox\";\nimport { Question } from \"../question\";\n\nclass QuestionCheckboxImplementor extends QuestionCheckboxBaseImplementor {\n constructor(question: Question) {\n super(question);\n }\n protected getKoValue() {\n return this.question.renderedValue;\n }\n}\n\nexport class QuestionCheckbox extends QuestionCheckboxModel {\n koAllSelected: any;\n private isAllSelectedUpdating = false;\n constructor(public name: string) {\n super(name);\n this.koAllSelected = ko.observable(this.isAllSelected);\n var self = this;\n this.koAllSelected.subscribe(function(newValue: any) {\n if (self.isAllSelectedUpdating) return;\n if (newValue) self.selectAll();\n else self.clearValue();\n });\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionCheckboxImplementor(this);\n }\n protected onValueChanged() {\n super.onValueChanged();\n this.updateAllSelected();\n }\n protected onVisibleChoicesChanged() {\n super.onVisibleChoicesChanged();\n this.updateAllSelected();\n }\n protected updateAllSelected() {\n this.isAllSelectedUpdating = true;\n this.koAllSelected(this.isAllSelected);\n this.isAllSelectedUpdating = false;\n }\n getItemClass(item: any) {\n var val = this.value; //trigger dependencies from koValue for knockout\n var isChecked = this.isItemSelected(item);\n var isDisabled = this.isReadOnly || !item.isEnabled;\n var allowHover = !isChecked && !isDisabled;\n var itemClass = this.cssClasses.item;\n if (!this.hasColumns) {\n itemClass +=\n this.colCount === 0\n ? \" \" + this.cssClasses.itemInline\n : \" sv-q-col-\" + this.colCount;\n }\n if (isDisabled) itemClass += \" \" + this.cssClasses.itemDisabled;\n if (isChecked) itemClass += \" \" + this.cssClasses.itemChecked;\n if (allowHover) itemClass += \" \" + this.cssClasses.itemHover;\n return itemClass;\n }\n getLabelClass(item: any) {\n return super.getLabelClass(this.isItemSelected(item));\n }\n getItemIndex(item: any) {\n return this.visibleChoices.indexOf(item);\n }\n}\n\nSerializer.overrideClassCreator(\"checkbox\", function() {\n return new QuestionCheckbox(\"\");\n});\nQuestionFactory.Instance.registerQuestion(\"checkbox\", name => {\n var q = new QuestionCheckbox(name);\n q.choices = QuestionFactory.DefaultChoices;\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_checkbox.ts","import * as ko from \"knockout\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { QuestionCommentModel } from \"../question_comment\";\nimport { QuestionImplementor } from \"./koquestion\";\n\nexport class QuestionComment extends QuestionCommentModel {\n constructor(public name: string) {\n super(name);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionImplementor(this);\n }\n}\n\nSerializer.overrideClassCreator(\"comment\", function () {\n return new QuestionComment(\"\");\n});\nQuestionFactory.Instance.registerQuestion(\"comment\", (name) => {\n return new QuestionComment(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_comment.ts","import * as ko from \"knockout\";\nimport { Question } from \"../question\";\nimport {\n QuestionCustomModel,\n QuestionCompositeModel,\n ComponentQuestionJSON,\n ComponentCollection,\n} from \"../question_custom\";\nimport { QuestionImplementor } from \"./koquestion\";\n\nexport class QuestionCustom extends QuestionCustomModel {\n constructor(public name: string, questionJSON: ComponentQuestionJSON) {\n super(name, questionJSON);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionImplementor(this);\n }\n}\n\nexport class QuestionComposite extends QuestionCompositeModel {\n constructor(public name: string, questionJSON: ComponentQuestionJSON) {\n super(name, questionJSON);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionImplementor(this);\n }\n}\n\nComponentCollection.Instance.onCreateCustom = function (\n name: string,\n questionJSON: ComponentQuestionJSON\n) {\n return new QuestionCustom(name, questionJSON);\n};\n\nComponentCollection.Instance.onCreateComposite = function (\n name: string,\n questionJSON: ComponentQuestionJSON\n) {\n return new QuestionComposite(name, questionJSON);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_custom.ts","import * as ko from \"knockout\";\nimport { QuestionDropdownModel } from \"../question_dropdown\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { QuestionSelectBaseImplementor } from \"./koquestion_baseselect\";\nimport { Question } from \"../question\";\n\nclass QuestionDropdownImplementor extends QuestionSelectBaseImplementor {\n koControlClass = ko.pureComputed(() => {\n return (\n this.question.koCss().control +\n (this.question.errors.length > 0\n ? \" \" + this.question.koCss().onError\n : \"\")\n );\n });\n constructor(question: Question) {\n super(question);\n (this.question)[\"koControlClass\"] = this.koControlClass;\n }\n}\n\nexport class QuestionDropdown extends QuestionDropdownModel {\n constructor(public name: string) {\n super(name);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionDropdownImplementor(this);\n }\n}\nSerializer.overrideClassCreator(\"dropdown\", function() {\n return new QuestionDropdown(\"\");\n});\nQuestionFactory.Instance.registerQuestion(\"dropdown\", name => {\n var q = new QuestionDropdown(name);\n q.choices = QuestionFactory.DefaultChoices;\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_dropdown.ts","import * as ko from \"knockout\";\nimport { QuestionEmptyModel } from \"../question_empty\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionImplementor } from \"./koquestion\";\nimport { Question } from \"../question\";\n\nexport class QuestionEmpty extends QuestionEmptyModel {\n constructor(public name: string) {\n super(name);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionImplementor(this);\n }\n}\n\nSerializer.overrideClassCreator(\"empty\", function() {\n return new QuestionEmpty(\"\");\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_empty.ts","import * as ko from \"knockout\";\nimport { QuestionExpressionModel } from \"../question_expression\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { QuestionImplementor } from \"./koquestion\";\nimport { Question } from \"../question\";\n\nexport class QuestionExpressionImplementor extends QuestionImplementor {\n constructor(public question: Question) {\n super(question);\n }\n}\n\nexport class QuestionExpression extends QuestionExpressionModel {\n constructor(public name: string) {\n super(name);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionExpressionImplementor(this);\n }\n}\n\nSerializer.overrideClassCreator(\"expression\", function() {\n return new QuestionExpression(\"\");\n});\nQuestionFactory.Instance.registerQuestion(\"expression\", name => {\n return new QuestionExpression(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_expression.ts","import * as ko from \"knockout\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { QuestionFileModel } from \"../question_file\";\nimport { QuestionImplementor } from \"./koquestion\";\nimport { Question } from \"../question\";\nimport {\n confirmAction,\n detectIEOrEdge,\n loadFileFromBase64\n} from \"../utils/utils\";\n\nexport class QuestionFile extends QuestionFileModel {\n koState: any = ko.observable(\"empty\");\n koHasValue: any = ko.computed(() => this.koState() === \"loaded\");\n koData: any = ko.computed(() => {\n if (this.koHasValue()) {\n return this.previewValue;\n }\n return [];\n });\n koInputTitle: any = ko.observable();\n koChooseFileClass: any = ko.pureComputed(() => {\n return (\n this.koCss().chooseFile +\n (this.isReadOnly ? \" \" + this.koCss().disabled : \"\")\n );\n });\n constructor(public name: string) {\n super(name);\n var self = this;\n var updateState = (state: any) => {\n this.koState(state);\n this.koInputTitle(this.inputTitle);\n };\n this.onStateChanged.add((sender, options) => {\n updateState(options.state);\n });\n (this)[\"ondrop\"] = (data: any, event: any) => {\n event.preventDefault();\n let src = event.originalEvent\n ? event.originalEvent.dataTransfer\n : event.dataTransfer;\n this.onChange(src);\n };\n (this)[\"ondragover\"] = (data: any, event: any) => {\n event.preventDefault();\n };\n (this)[\"dochange\"] = (data: any, event: any) => {\n var src = event.target || event.srcElement;\n self.onChange(src);\n };\n (this)[\"doclean\"] = (data: any, event: any) => {\n var src = event.target || event.srcElement;\n if (this.needConfirmRemoveFile) {\n var isConfirmed = confirmAction(this.confirmRemoveAllMessage);\n if (!isConfirmed) return;\n }\n var input = src.parentElement.querySelectorAll(\"input\")[0];\n this.clear();\n input.value = \"\";\n };\n (this)[\"doremovefile\"] = (data: any, event: any) => {\n if (this.needConfirmRemoveFile) {\n var isConfirmed = confirmAction(\n this.getConfirmRemoveMessage(data.name)\n );\n if (!isConfirmed) return;\n }\n this.removeFile(data);\n };\n (this)[\"dodownload\"] = (data: any, event: any) => {\n if (detectIEOrEdge()) {\n loadFileFromBase64(data.content, data.name);\n } else {\n return true;\n }\n };\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionImplementor(this);\n }\n private onChange(src: any) {\n if (!(window)[\"FileReader\"]) return;\n if (!src || !src.files || src.files.length < 1) return;\n let files = [];\n let allowCount = this.allowMultiple ? src.files.length : 1;\n for (let i = 0; i < allowCount; i++) {\n files.push(src.files[i]);\n }\n src.value = \"\";\n this.loadFiles(files);\n }\n}\n\nSerializer.overrideClassCreator(\"file\", function() {\n return new QuestionFile(\"\");\n});\nQuestionFactory.Instance.registerQuestion(\"file\", name => {\n return new QuestionFile(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_file.ts","import * as ko from \"knockout\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { QuestionImplementor } from \"./koquestion\";\nimport { QuestionHtmlModel } from \"../question_html\";\n\nexport class QuestionHtml extends QuestionHtmlModel {\n constructor(public name: string) {\n super(name);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionImplementor(this);\n }\n}\n\nSerializer.overrideClassCreator(\"html\", function() {\n return new QuestionHtml(\"\");\n});\nQuestionFactory.Instance.registerQuestion(\"html\", name => {\n return new QuestionHtml(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_html.ts","import * as ko from \"knockout\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { QuestionImplementor } from \"./koquestion\";\nimport { QuestionImageModel } from \"../question_image\";\n\nexport class QuestionImage extends QuestionImageModel {\n constructor(public name: string) {\n super(name);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionImplementor(this);\n }\n}\n\nSerializer.overrideClassCreator(\"image\", function() {\n return new QuestionImage(\"\");\n});\nQuestionFactory.Instance.registerQuestion(\"image\", name => {\n return new QuestionImage(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_image.ts","import * as ko from \"knockout\";\nimport { QuestionImagePickerModel } from \"../question_imagepicker\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { QuestionCheckboxBaseImplementor } from \"./koquestion_baseselect\";\nimport { Question } from \"../question\";\n\nclass QuestionImagePickerImplementor extends QuestionCheckboxBaseImplementor {\n constructor(question: Question) {\n super(question);\n }\n protected getKoValue() {\n return this.question.renderedValue;\n }\n}\n\nexport class QuestionImagePicker extends QuestionImagePickerModel {\n constructor(public name: string) {\n super(name);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionImagePickerImplementor(this);\n }\n getItemClass(item: any) {\n var itemClass =\n this.cssClasses.item +\n (this.colCount === 0\n ? \" \" + this.cssClasses.itemInline\n : \" sv-q-col-\" + this.colCount);\n var isChecked = this.isItemSelected(item);\n var isDisabled = this.isReadOnly || !item.isEnabled;\n var allowHover = !isChecked && !isDisabled;\n if (isChecked) {\n itemClass += \" \" + this.cssClasses.itemChecked;\n }\n if (isDisabled) {\n itemClass += \" \" + this.cssClasses.itemDisabled;\n }\n if (allowHover) {\n itemClass += \" \" + this.cssClasses.itemHover;\n }\n return itemClass;\n }\n}\n\nSerializer.overrideClassCreator(\"imagepicker\", function() {\n return new QuestionImagePicker(\"\");\n});\n\nQuestionFactory.Instance.registerQuestion(\"imagepicker\", name => {\n var q = new QuestionImagePicker(name);\n //q.choices = QuestionFactory.DefaultChoices;\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_imagepicker.ts","import * as ko from \"knockout\";\nimport {\n QuestionMatrixModel,\n MatrixRowModel,\n IMatrixData\n} from \"../question_matrix\";\nimport { QuestionImplementor } from \"./koquestion\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { ItemValue } from \"../itemvalue\";\nimport { Helpers } from \"../helpers\";\n\nexport class MatrixRow extends MatrixRowModel {\n private isValueUpdating = false;\n koValue: any;\n koCellClick: any;\n constructor(\n item: ItemValue,\n public fullName: string,\n data: IMatrixData,\n value: any\n ) {\n super(item, fullName, data, value);\n this.koValue = ko.observable(this.value);\n var self = this;\n this.koValue.subscribe(function(newValue: any) {\n if (self.isValueUpdating) {\n return;\n }\n self.value = newValue;\n });\n this.koCellClick = function(column: any) {\n self.koValue(column.value);\n };\n }\n protected onValueChanged() {\n this.isValueUpdating = true;\n if (!Helpers.isTwoValueEquals(this.koValue(), this.value)) {\n this.koValue(this.value);\n }\n this.isValueUpdating = false;\n }\n}\nexport class QuestionMatrix extends QuestionMatrixModel {\n koVisibleRows: any = ko.observableArray();\n koVisibleColumns: any = ko.observableArray();\n constructor(public name: string) {\n super(name);\n this.koVisibleRows(this.visibleRows);\n this.koVisibleColumns(this.visibleColumns);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionImplementor(this);\n }\n protected onColumnsChanged() {\n super.onColumnsChanged();\n this.koVisibleColumns(this.visibleColumns);\n }\n protected onRowsChanged() {\n super.onRowsChanged();\n this.koVisibleRows(this.visibleRows);\n }\n public onSurveyLoad() {\n super.onSurveyLoad();\n this.onRowsChanged();\n }\n protected createMatrixRow(\n item: ItemValue,\n fullName: string,\n value: any\n ): MatrixRowModel {\n return new MatrixRow(item, fullName, this, value);\n }\n protected getVisibleRows(): Array {\n var rows = super.getVisibleRows();\n this.koVisibleRows(rows);\n return rows;\n }\n public getItemCss(row: any, column: any) {\n var isChecked = row.koValue() == column.value;\n var isDisabled = this.isReadOnly;\n var allowHover = !isChecked && !isDisabled;\n var cellDisabledClass = this.hasCellText\n ? this.cssClasses.cellTextDisabled\n : this.cssClasses.itemDisabled;\n\n var cellSelectedClass = this.hasCellText\n ? this.cssClasses.cellTextSelected\n : this.cssClasses.itemChecked;\n\n var itemHoverClass = !this.hasCellText ? this.cssClasses.itemHover : \"\";\n\n var cellClass = this.hasCellText\n ? (this)[\"koCss\"]().cellText\n : (this)[\"koCss\"]().label;\n\n let itemClass =\n cellClass +\n (isChecked ? \" \" + cellSelectedClass : \"\") +\n (isDisabled ? \" \" + cellDisabledClass : \"\") +\n (allowHover ? \" \" + itemHoverClass : \"\");\n return itemClass;\n }\n}\n\nSerializer.overrideClassCreator(\"matrix\", function() {\n return new QuestionMatrix(\"\");\n});\nQuestionFactory.Instance.registerQuestion(\"matrix\", name => {\n var q = new QuestionMatrix(name);\n q.rows = QuestionFactory.DefaultRows;\n q.columns = QuestionFactory.DefaultColums;\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_matrix.ts","import * as ko from \"knockout\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { QuestionImplementor } from \"./koquestion\";\nimport { QuestionMatrixBaseImplementor } from \"./koquestion_matrixdropdown\";\nimport { QuestionMatrixDynamicModel } from \"../question_matrixdynamic\";\nimport { Question } from \"../question\";\nimport { QuestionMatrixDropdownModelBase } from \"../question_matrixdropdownbase\";\nimport { MatrixDynamicRowModel } from \"../question_matrixdynamic\";\n\nexport class QuestionMatrixDynamicImplementor extends QuestionMatrixBaseImplementor {\n constructor(question: Question) {\n super(question);\n }\n protected isAddRowTop(): boolean {\n return (this.question).isAddRowOnTop;\n }\n protected isAddRowBottom(): boolean {\n return (this.question).isAddRowOnBottom;\n }\n protected canRemoveRows(): boolean {\n return (\n !this.question.isReadOnly &&\n (this.question).canRemoveRows\n );\n }\n protected addRow() {\n (this.question).addRow();\n }\n protected removeRow(row: MatrixDynamicRowModel) {\n (this.question).removeRowUI(row);\n }\n}\n\nexport class QuestionMatrixDynamic extends QuestionMatrixDynamicModel {\n constructor(public name: string) {\n super(name);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionMatrixDynamicImplementor(this);\n }\n}\n\nSerializer.overrideClassCreator(\"matrixdynamic\", function() {\n return new QuestionMatrixDynamic(\"\");\n});\n\nQuestionFactory.Instance.registerQuestion(\"matrixdynamic\", name => {\n var q = new QuestionMatrixDynamic(name);\n q.choices = [1, 2, 3, 4, 5];\n q.rowCount = 2;\n QuestionMatrixDropdownModelBase.addDefaultColumns(q);\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_matrixdynamic.ts","import * as ko from \"knockout\";\nimport {\n QuestionMultipleTextModel,\n MultipleTextItemModel\n} from \"../question_multipletext\";\nimport { QuestionTextModel } from \"../question_text\";\nimport { QuestionImplementor } from \"./koquestion\";\nimport { QuestionText } from \"./koquestion_text\";\nimport { Question } from \"../question\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\n\nexport class MultipleTextItem extends MultipleTextItemModel {\n constructor(public name: any = null, title: string = null) {\n super(name, title);\n }\n protected createEditor(name: string): QuestionTextModel {\n return new QuestionText(name);\n }\n}\n\nexport class QuestionMultipleText extends QuestionMultipleTextModel {\n koRows: any;\n constructor(public name: string) {\n super(name);\n this.koRows = ko.observableArray(this.getRows());\n this.colCountChangedCallback = () => {\n this.onColCountChanged();\n };\n this.onColCountChanged();\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionImplementor(this);\n }\n protected onColCountChanged() {\n this.koRows(this.getRows());\n }\n protected createTextItem(name: string, title: string): MultipleTextItemModel {\n return new MultipleTextItem(name, title);\n }\n}\n\nSerializer.overrideClassCreator(\"multipletextitem\", function() {\n return new MultipleTextItem(\"\");\n});\n\nSerializer.overrideClassCreator(\"multipletext\", function() {\n return new QuestionMultipleText(\"\");\n});\n\nQuestionFactory.Instance.registerQuestion(\"multipletext\", name => {\n var q = new QuestionMultipleText(name);\n q.addItem(\"text1\");\n q.addItem(\"text2\");\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_multipletext.ts","import * as ko from \"knockout\";\nimport { SurveyElement } from \"../base\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { QuestionImplementor } from \"./koquestion\";\nimport {\n QuestionPanelDynamicModel,\n QuestionPanelDynamicItem\n} from \"../question_paneldynamic\";\nimport { Question } from \"../question\";\nimport { PanelModel } from \"../panel\";\nimport { Panel } from \"./kopage\";\n\nexport class QuestionPanelDynamicImplementor extends QuestionImplementor {\n koRecalc: any;\n koAddPanelClick: any;\n koRemovePanelClick: any;\n koButtonAddCss: any;\n koButtonPrevCss: any;\n koButtonNextCss: any;\n koPrevPanelClick: any;\n koNextPanelClick: any;\n koCanAddPanel: any;\n koCanRemovePanel: any;\n koProgressText: any;\n koProgress: any;\n koPanel: any;\n koIsList: any;\n koIsProgressTop: any;\n koIsProgressBottom: any;\n koIsNextButton: any;\n koIsPrevButton: any;\n koIsRange: any;\n koRangeValue: any;\n koRangeMax: any;\n constructor(question: Question) {\n super(question);\n this.koRecalc = ko.observable(0);\n var self = this;\n this.koAddPanelClick = function() {\n self.addPanel();\n };\n this.koRemovePanelClick = function(data: any) {\n self.removePanel(data);\n };\n this.koPrevPanelClick = function() {\n (self.question).goToPrevPanel();\n };\n this.koNextPanelClick = function() {\n (self.question).goToNextPanel();\n };\n\n this.koCanAddPanel = ko.pureComputed(function() {\n self.koRecalc();\n return (self.question).canAddPanel;\n });\n this.koCanRemovePanel = ko.pureComputed(function() {\n self.koRecalc();\n return (self.question).canRemovePanel;\n });\n this.koIsPrevButton = ko.pureComputed(function() {\n self.koRecalc();\n return (self.question).isPrevButtonShowing;\n });\n this.koIsNextButton = ko.pureComputed(function() {\n self.koRecalc();\n return (self.question).isNextButtonShowing;\n });\n this.koIsRange = ko.pureComputed(function() {\n self.koRecalc();\n return (self.question).isRangeShowing;\n });\n this.koPanel = ko.pureComputed(function() {\n self.koRecalc();\n return (self.question).currentPanel;\n });\n this.koIsList = ko.pureComputed(function() {\n self.koRecalc();\n return (self.question).isRenderModeList;\n });\n this.koIsProgressTop = ko.pureComputed(function() {\n self.koRecalc();\n return (self.question).isProgressTopShowing;\n });\n this.koIsProgressBottom = ko.pureComputed(function() {\n self.koRecalc();\n return (self.question).isProgressBottomShowing;\n });\n\n this.koRangeValue = ko.observable(\n (self.question).currentIndex\n );\n this.koRangeValue.subscribe(function(newValue: any) {\n (self.question).currentIndex = newValue;\n });\n this.koRangeMax = ko.pureComputed(function() {\n self.koRecalc();\n return (self.question).panelCount - 1;\n });\n\n this.koButtonAddCss = ko.pureComputed(function() {\n self.koRecalc();\n return self.buttonAddCss;\n });\n\n this.koButtonNextCss = ko.pureComputed(function() {\n self.koRecalc();\n return self.buttonNextCss;\n });\n\n this.koButtonPrevCss = ko.pureComputed(function() {\n self.koRecalc();\n return self.buttonPrevCss;\n });\n\n this.koProgressText = ko.pureComputed(function() {\n self.koRecalc();\n return (self.question).progressText;\n });\n\n this.koProgress = ko.pureComputed(function() {\n self.koRecalc();\n return self.progress;\n });\n\n (this.question)[\"koAddPanelClick\"] = this.koAddPanelClick;\n (this.question)[\"koRemovePanelClick\"] = this.koRemovePanelClick;\n (this.question)[\"koPrevPanelClick\"] = this.koPrevPanelClick;\n (this.question)[\"koNextPanelClick\"] = this.koNextPanelClick;\n (this.question)[\"koCanAddPanel\"] = this.koCanAddPanel;\n (this.question)[\"koCanRemovePanel\"] = this.koCanRemovePanel;\n (this.question)[\"koProgressText\"] = this.koProgressText;\n (this.question)[\"koProgress\"] = this.koProgress;\n (this.question)[\"koPanel\"] = this.koPanel;\n (this.question)[\"koIsList\"] = this.koIsList;\n (this.question)[\"koIsProgressTop\"] = this.koIsProgressTop;\n (this.question)[\"koIsProgressBottom\"] = this.koIsProgressBottom;\n (this.question)[\"koIsPrevButton\"] = this.koIsPrevButton;\n (this.question)[\"koIsNextButton\"] = this.koIsNextButton;\n (this.question)[\"koIsRange\"] = this.koIsRange;\n (this.question)[\"koRangeValue\"] = this.koRangeValue;\n (this.question)[\"koRangeMax\"] = this.koRangeMax;\n (this.question)[\"koButtonAddCss\"] = this.koButtonAddCss;\n (this.question)[\"koButtonNextCss\"] = this.koButtonNextCss;\n (this.question)[\"koButtonPrevCss\"] = this.koButtonPrevCss;\n\n (this.question)[\"koPanelAfterRender\"] = function(el: any, con: any) {\n self.panelAfterRender(el, con);\n };\n ((\n this.question\n )).panelCountChangedCallback = function() {\n self.onPanelCountChanged();\n };\n ((\n this.question\n )).renderModeChangedCallback = function() {\n self.onRenderModeChanged();\n };\n ((\n this.question\n )).currentIndexChangedCallback = function() {\n self.onCurrentIndexChanged();\n };\n }\n protected onPanelCountChanged() {\n this.onCurrentIndexChanged();\n }\n protected onRenderModeChanged() {\n this.onCurrentIndexChanged();\n }\n protected onCurrentIndexChanged() {\n this.koRecalc(this.koRecalc() + 1);\n this.koRangeValue((this.question).currentIndex);\n }\n protected addPanel() {\n (this.question).addPanelUI();\n }\n protected removePanel(val: any) {\n var q = this.question;\n if (!q.isRenderModeList) {\n val = q.currentPanel;\n }\n q.removePanelUI(val);\n }\n private panelAfterRender(elements: any, con: any) {\n if (!this.question || !this.question.survey) return;\n var el = SurveyElement.GetFirstNonTextElement(elements);\n this.question.survey.afterRenderPanel(con, el);\n }\n\n protected get buttonAddCss() {\n var question = this.question;\n var btnClasses =\n question.cssClasses.button + \" \" + question.cssClasses.buttonAdd;\n\n if (this.question.renderMode === \"list\") {\n btnClasses += \" \" + question.cssClasses.buttonAdd + \"--list-mode\";\n }\n\n return btnClasses;\n }\n\n protected get buttonPrevCss() {\n var question = this.question;\n var btnClasses = question.cssClasses.buttonPrev;\n if (!question.isPrevButtonShowing) {\n btnClasses += \" \" + question.cssClasses.buttonPrev + \"--disabled\";\n }\n return btnClasses;\n }\n\n protected get buttonNextCss() {\n var question = this.question;\n var btnClasses = question.cssClasses.buttonNext;\n if (!question.isNextButtonShowing) {\n btnClasses += \" \" + question.cssClasses.buttonNext + \"--disabled\";\n }\n return btnClasses;\n }\n\n protected get progress() {\n var rangeMax = this.question.panelCount - 1;\n return (this.question.currentIndex / rangeMax) * 100 + \"%\";\n }\n}\n\nexport class QuestionPanelDynamic extends QuestionPanelDynamicModel {\n constructor(public name: string) {\n super(name);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionPanelDynamicImplementor(this);\n }\n protected createNewPanelObject(): PanelModel {\n return new Panel();\n }\n}\n\nSerializer.overrideClassCreator(\"paneldynamic\", function() {\n return new QuestionPanelDynamic(\"\");\n});\n\nQuestionFactory.Instance.registerQuestion(\"paneldynamic\", name => {\n return new QuestionPanelDynamic(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_paneldynamic.ts","import * as ko from \"knockout\";\nimport { QuestionRadiogroupModel } from \"../question_radiogroup\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { QuestionCheckboxBaseImplementor } from \"./koquestion_baseselect\";\n\nexport class QuestionRadiogroup extends QuestionRadiogroupModel {\n constructor(public name: string) {\n super(name);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionCheckboxBaseImplementor(this);\n }\n getItemClass(item: any) {\n var itemClass = this.cssClasses.item;\n var isDisabled = this.isReadOnly || !item.isEnabled;\n var isChecked = item.value === this.value || this.isOtherSelected && this.otherItem.value === item.value;\n var allowHover = !isDisabled && !isChecked;\n if (!this.hasColumns) {\n itemClass +=\n this.colCount === 0\n ? \" \" + this.cssClasses.itemInline\n : \" sv-q-col-\" + this.colCount;\n }\n if (isDisabled) itemClass += \" \" + this.cssClasses.itemDisabled;\n if (isChecked) itemClass += \" \" + this.cssClasses.itemChecked;\n if (allowHover) itemClass += \" \" + this.cssClasses.itemHover;\n return itemClass;\n }\n getLabelClass(item: any) {\n return super.getLabelClass(item.value === this.value);\n }\n getItemIndex(item: any) {\n return this.visibleChoices.indexOf(item);\n }\n getControlLabelClass(item: any) {\n return super.getControlLabelClass(item.value === this.value);\n }\n}\n\nSerializer.overrideClassCreator(\"radiogroup\", function() {\n return new QuestionRadiogroup(\"\");\n});\n\nQuestionFactory.Instance.registerQuestion(\"radiogroup\", name => {\n var q = new QuestionRadiogroup(name);\n q.choices = QuestionFactory.DefaultChoices;\n return q;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_radiogroup.ts","import * as ko from \"knockout\";\nimport { QuestionImplementor } from \"./koquestion\";\nimport { QuestionRatingModel } from \"../question_rating\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionFactory } from \"../questionfactory\";\nimport { Question } from \"../question\";\n\nclass QuestionRatingImplementor extends QuestionImplementor {\n koVisibleRateValues: any;\n koChange: any;\n koCss: any;\n constructor(question: Question) {\n super(question);\n this.koVisibleRateValues = ko.observableArray();\n (this.question)[\"koVisibleRateValues\"] = this.koVisibleRateValues;\n var self = this;\n this.koChange = function(val: any) {\n self.question.value = val.itemValue;\n };\n (this.question)[\"koChange\"] = this.koChange;\n (this.question).rateValuesChangedCallback = function() {\n self.onRateValuesChanged();\n };\n (this.question)[\"koGetCss\"] = (val: any) => {\n var itemCss = self.question.cssClasses.item;\n var selected = self.question.cssClasses.selected;\n var disabled = self.question.cssClasses.disabled;\n var result = itemCss;\n\n if (this.question.value == val.value) {\n result = result + \" \" + selected;\n }\n\n if (this.question.isReadOnly) {\n result = result + \" \" + disabled;\n }\n\n return result;\n };\n }\n protected onRateValuesChanged() {\n this.koVisibleRateValues(this.getValues());\n }\n private getValues(): Array {\n return (this.question).visibleRateValues;\n }\n}\n\nexport class QuestionRating extends QuestionRatingModel {\n constructor(public name: string) {\n super(name);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionRatingImplementor(this);\n }\n}\n\nSerializer.overrideClassCreator(\"rating\", function() {\n return new QuestionRating(\"\");\n});\n\nQuestionFactory.Instance.registerQuestion(\"rating\", name => {\n return new QuestionRating(name);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_rating.ts","import * as ko from \"knockout\";\nimport { QuestionSignaturePadModel } from \"../question_signaturepad\";\nimport { Serializer } from \"../jsonobject\";\nimport { QuestionImplementor } from \"./koquestion\";\nimport { Question } from \"../question\";\n\nexport class QuestionSignaturePad extends QuestionSignaturePadModel {\n constructor(public name: string) {\n super(name);\n }\n protected onBaseCreating() {\n super.onBaseCreating();\n new QuestionImplementor(this);\n }\n}\n\nSerializer.overrideClassCreator(\"signaturepad\", function() {\n return new QuestionSignaturePad(\"\");\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/knockout/koquestion_signaturepad.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var arabicSurveyStrings = {\n pagePrevText: \"السابق\",\n pageNextText: \"التالي\",\n completeText: \"انهاء- تم\",\n progressText: \"{1} صفحة {0} من\",\n otherItemText: \"نص آخر\",\n emptySurvey: \"لا توجد صفحة مرئية أو سؤال في المسح\",\n completingSurvey: \"شكرا لك لاستكمال الاستبيان!\",\n loadingSurvey: \"...يتم تحميل الاستبيان\",\n optionsCaption: \"...اختر\",\n requiredError: \".يرجى الإجابة على السؤال\",\n requiredInAllRowsError: \"يرجى الإجابة على الأسئلة في جميع الصفوف\",\n numericError: \"يجب أن تكون القيمة الرقمية.\",\n textMinLength: \"الرجاء إدخال ما لا يقل عن {0} حرف\",\n textMaxLength: \"الرجاء إدخال أقل من {0} حرف\",\n textMinMaxLength: \"يرجى إدخال أكثر من {0} وأقل من {1} حرف\",\n minRowCountError: \"يرجى ملء ما لا يقل عن {0} الصفوف\",\n minSelectError: \"يرجى تحديد ما لا يقل عن {0} المتغيرات\",\n maxSelectError: \"يرجى تحديد ما لا يزيد عن {0} المتغيرات\",\n numericMinMax:\n \"و'{0}' يجب أن تكون مساوية أو أكثر من {1} ويساوي أو أقل من {2}ا\",\n numericMin: \"و'{0}' يجب أن تكون مساوية أو أكثر من {1}ا\",\n numericMax: \"و'{0}' يجب أن تكون مساوية أو أقل من {1}ا\",\n invalidEmail: \"رجاء قم بإدخال بريد الكتروني صحيح\",\n urlRequestError: \"طلب إرجاع خطأ '{0}'. {1}ا\",\n urlGetChoicesError: \"عاد طلب بيانات فارغة أو 'المسار' ممتلكات غير صحيحة \",\n exceedMaxSize: \"وينبغي ألا يتجاوز حجم الملف {0}ا\",\n otherRequiredError: \"الرجاء إدخال قيمة أخرى\",\n uploadingFile: \"الملف الخاص بك تحميل. يرجى الانتظار عدة ثوان وحاول مرة أخرى\",\n addRow: \"اضافة صف\",\n removeRow: \"إزالة صف\"\n};\n\nsurveyLocalization.locales[\"ar\"] = arabicSurveyStrings;\nsurveyLocalization.localeNames[\"ar\"] = \"العربية\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/arabic.ts","//Uncomment this line on creating a translation file\nimport { surveyLocalization } from \"../surveyStrings\";\n\nexport var bulgarianStrings = {\n pagePrevText: \"Назад\",\n pageNextText: \"Напред\",\n completeText: \"Край\",\n startSurveyText: \"Начало\",\n otherItemText: \"Друго (опишете)\",\n noneItemText: \"Нито един\",\n selectAllItemText: \"Всички\",\n progressText: \"стр. {0}, общо стр. {1}\",\n emptySurvey: \"Анкетата не съдържа видими страници или въпроси.\",\n completingSurvey: \"Благодарим ви за участието в анкетата!\",\n completingSurveyBefore:\n \"Изглежда, че вие вече сте попълнили анкетата.\",\n loadingSurvey: \"Зареждане на анкетата...\",\n optionsCaption: \"Изберете...\",\n value: \"value\",\n requiredError: \"Моля, отговорете на следния въпрос.\",\n requiredErrorInPanel: \"Моля, отговорете поне на един от въпросите.\",\n requiredInAllRowsError: \"Моля, отговорете на въпросите на всички редове.\",\n numericError: \"Стойността следва да бъде число.\",\n textMinLength: \"Моля, използвайте поне {0} символа.\",\n textMaxLength: \"Моля, използвайте не повече от {0} символа.\",\n textMinMaxLength: \"Моля, използвайте повече от {0} и по-малко от {1} символа.\",\n minRowCountError: \"Моля, попълнете поне {0} реда.\",\n minSelectError: \"Моля, изберете поне {0} варианта.\",\n maxSelectError: \"Моля, изберете не повече от {0} варианта.\",\n numericMinMax:\n \"Стойността '{0}' следва да бъде равна или по-голяма от {1} и равна или по-малка от {2}\",\n numericMin: \"Стойността '{0}' следва да бъде равна или по-голяма от {1}\",\n numericMax: \"Стойността '{0}' следва да бъде равна или по-малка от {1}\",\n invalidEmail: \"Моля, въведете валиден адрес на електронна поща.\",\n invalidExpression: \"Изразът: {0} трябва да дава резултат 'true' (истина).\",\n urlRequestError: \"Заявката води до грешка '{0}'. {1}\",\n urlGetChoicesError:\n \"Заявката не връща данни или частта 'path' (път до търсения ресурс на сървъра) е неправилно зададена\",\n exceedMaxSize: \"Размерът на файла следва да не превишава {0}.\",\n otherRequiredError: \"Моля, въведете другата стойност.\",\n uploadingFile:\n \"Вашит файл се зарежда на сървъра. Моля, изчакайте няколко секунди и тогава опитвайте отново.\",\n loadingFile: \"Зареждане...\",\n chooseFile: \"Изберете файл(ове)...\",\n confirmDelete: \"Желаете ли да изтриете записа?\",\n keyDuplicationError: \"Стойността следва да бъде уникална.\",\n addColumn: \"Добавяне на колона\",\n addRow: \"Добавяне на ред\",\n removeRow: \"Премахване на ред\",\n addPanel: \"Добавяне на панел\",\n removePanel: \"Премахване на панел\",\n choices_Item: \"елемент\",\n matrix_column: \"Колона\",\n matrix_row: \"Ред\",\n savingData: \"Резултатите се запазват на сървъра...\",\n savingDataError: \"Поради възникнала грешка резултатите не можаха да бъдат запазени.\",\n savingDataSuccess: \"Резултатите бяха запазени успешно!\",\n saveAgainButton: \"Нов опит\",\n timerMin: \"мин\",\n timerSec: \"сек\",\n timerSpentAll: \"Вие използвахте {0} на тази страница и общо {1}.\",\n timerSpentPage: \"Вие използвахте {0} на тази страница.\",\n timerSpentSurvey: \"Вие използвахте общо {0}.\",\n timerLimitAll:\n \"Вие изпозвахте {0} от {1} на тази страница и общо {2} от {3}.\",\n timerLimitPage: \"Вие използвахте {0} от {1} на тази страница.\",\n timerLimitSurvey: \"Вие използвахте общо {0} от {1}.\",\n cleanCaption: \"Изчистване\",\n clearCaption: \"Начално състояние\",\n removeFileCaption: \"Премахване на файла\"\n};\n\n//Uncomment these two lines on creating a translation file. You should replace \"en\" and enStrings with your locale (\"fr\", \"de\" and so on) and your variable.\nsurveyLocalization.locales[\"bg\"] = bulgarianStrings;\nsurveyLocalization.localeNames[\"bg\"] = \"Bulgarian\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/bulgarian.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var catalanSurveyStrings = {\n pagePrevText: \"Anterior\",\n pageNextText: \"Següent\",\n completeText: \"Complet\",\n otherItemText: \"Un altre (descrigui)\",\n progressText: \"Pàgina {0} de {1}\",\n emptySurvey: \"No hi ha cap pàgina visible o pregunta a l'enquesta.\",\n completingSurvey: \"Gràcies per completar l'enquesta!\",\n loadingSurvey: \"L'enquesta s'està carregant ...\",\n optionsCaption: \"Selecciona ...\",\n requiredError: \"Si us plau contesti la pregunta.\",\n requiredInAllRowsError: \"Si us plau contesti les preguntes de cada filera.\",\n numericError: \"L'estimació ha de ser numèrica.\",\n textMinLength: \"Si us plau entre almenys {0} símbols.\",\n textMaxLength: \"Si us plau entre menys de {0} símbols.\",\n textMinMaxLength: \"Si us plau entre més de {0} i menys de {1} símbols.\",\n minRowCountError: \"Si us plau ompli almenys {0} fileres.\",\n minSelectError: \"Si us plau seleccioni almenys {0} variants.\",\n maxSelectError: \"Si us plau seleccioni no més de {0} variants.\",\n numericMinMax: \"El '{0}' deu ser igual o més de {1} i igual o menys de {2}\",\n numericMin: \"El '{0}' ha de ser igual o més de {1}\",\n numericMax: \"El '{0}' ha de ser igual o menys de {1}\",\n invalidEmail: \"Si us plau afegiu un correu electrònic vàlid.\",\n urlRequestError: \"La sol·licitud va tornar error '{0}'. {1}\",\n urlGetChoicesError:\n \"La sol·licitud va tornar buida de dates o la propietat 'trajectòria' no és correcta\",\n exceedMaxSize: \"La mida de l'arxiu no pot excedir {0}.\",\n otherRequiredError: \"Si us plau afegiu l'altra estimació.\",\n uploadingFile:\n \"El seu arxiu s'està pujant. Si us plau esperi uns segons i intenteu-ho de nou.\",\n addRow: \"Afegiu una filera\",\n removeRow: \"Eliminar una filera\",\n choices_firstItem: \"primer article\",\n choices_secondItem: \"segon article\",\n choices_thirdItem: \"tercer article\",\n matrix_column: \"Columna\",\n matrix_row: \"Filera\"\n};\n\nsurveyLocalization.locales[\"ca\"] = catalanSurveyStrings;\nsurveyLocalization.localeNames[\"ca\"] = \"català\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/catalan.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var czechSurveyStrings = {\n pagePrevText: \"Předchozí\",\n pageNextText: \"Další\",\n completeText: \"Hotovo\",\n otherItemText: \"Jiná odpověď (napište)\",\n progressText: \"Strana {0} z {1}\",\n emptySurvey: \"Průzkumu neobsahuje žádné otázky.\",\n completingSurvey: \"Děkujeme za vyplnění průzkumu!\",\n loadingSurvey: \"Probíhá načítání průzkumu...\",\n optionsCaption: \"Vyber...\",\n requiredError: \"Odpovězte prosím na otázku.\",\n requiredInAllRowsError: \"Odpovězte prosím na všechny otázky.\",\n numericError: \"V tomto poli lze zadat pouze čísla.\",\n textMinLength: \"Zadejte prosím alespoň {0} znaků.\",\n textMaxLength: \"Zadejte prosím méně než {0} znaků.\",\n textMinMaxLength: \"Zadejte prosím více než {0} a méně než {1} znaků.\",\n minRowCountError: \"Vyplňte prosím alespoň {0} řádků.\",\n minSelectError: \"Vyberte prosím alespoň {0} varianty.\",\n maxSelectError: \"Nevybírejte prosím více než {0} variant.\",\n numericMinMax:\n \"Odpověď '{0}' by mělo být větší nebo rovno {1} a menší nebo rovno {2}\",\n numericMin: \"Odpověď '{0}' by mělo být větší nebo rovno {1}\",\n numericMax: \"Odpověď '{0}' by mělo být menší nebo rovno {1}\",\n invalidEmail: \"Zadejte prosím platnou e-mailovou adresu.\",\n urlRequestError: \"Požadavek vrátil chybu '{0}'. {1}\",\n urlGetChoicesError: \"Požadavek nevrátil data nebo cesta je neplatná\",\n exceedMaxSize: \"Velikost souboru by neměla být větší než {0}.\",\n otherRequiredError: \"Zadejte prosím jinou hodnotu.\",\n uploadingFile: \"Váš soubor se nahrává. Zkuste to prosím za několik sekund.\",\n addRow: \"Přidat řádek\",\n removeRow: \"Odstranit\"\n};\n\nsurveyLocalization.locales[\"cs\"] = czechSurveyStrings;\nsurveyLocalization.localeNames[\"cs\"] = \"čeština\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/czech.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var danishSurveyStrings = {\n pagePrevText: \"Tilbage\",\n pageNextText: \"Videre\",\n completeText: \"Færdig\",\n startSurveyText: \"Start\",\n otherItemText: \"Valgfrit svar...\",\n noneItemText: \"Ingen\",\n selectAllItemText: \"Vælg alle\",\n progressText: \"Side {0} af {1}\",\n emptySurvey: \"Der er ingen synlige spørgsmål.\",\n completingSurvey: \"Mange tak for din besvarelse!\",\n completingSurveyBefore:\n \"Vores data viser at du allerede har gennemført dette spørgeskema.\",\n loadingSurvey: \"Spørgeskemaet hentes fra serveren...\",\n optionsCaption: \"Vælg...\",\n value: \"værdi\",\n requiredError: \"Besvar venligst spørgsmålet.\",\n requiredErrorInPanel: \"Besvar venligst mindst ét spørgsmål.\",\n requiredInAllRowsError: \"Besvar venligst spørgsmål i alle rækker.\",\n numericError: \"Angiv et tal.\",\n textMinLength: \"Angiv mindst {0} tegn.\",\n textMaxLength: \"Please enter less than {0} characters.\",\n textMinMaxLength: \"Angiv mere end {0} og mindre end {1} tegn.\",\n minRowCountError: \"Udfyld mindst {0} rækker.\",\n minSelectError: \"Vælg venligst mindst {0} svarmulighed(er).\",\n maxSelectError: \"Vælg venligst færre {0} svarmuligheder(er).\",\n numericMinMax:\n \"'{0}' skal være lig med eller større end {1} og lig med eller mindre end {2}\",\n numericMin: \"'{0}' skal være lig med eller større end {1}\",\n numericMax: \"'{0}' skal være lig med eller mindre end {1}\",\n invalidEmail: \"Angiv venligst en gyldig e-mail adresse.\",\n invalidExpression: \"Udtrykket: {0} skal returnere 'true'.\",\n urlRequestError: \"Forespørgslen returnerede fejlen '{0}'. {1}\",\n urlGetChoicesError:\n \"Forespørgslen returnerede ingen data eller 'path' parameteren er forkert\",\n exceedMaxSize: \"Filstørrelsen må ikke overstige {0}.\",\n otherRequiredError: \"Angiv en værdi for dit valgfrie svar.\",\n uploadingFile:\n \"Din fil bliver uploadet. Vent nogle sekunder og prøv eventuelt igen.\",\n loadingFile: \"Indlæser...\",\n chooseFile: \"Vælg fil(er)...\",\n confirmDelete: \"Vil du fjerne den?\",\n keyDuplicationError: \"Denne værdi skal være unik.\",\n addColumn: \"Tilføj kolonne\",\n addRow: \"Tilføj række\",\n removeRow: \"Fjern\",\n addPanel: \"Tilføj ny\",\n removePanel: \"Fjern\",\n choices_Item: \"valg\",\n matrix_column: \"Kolonne\",\n matrix_row: \"Række\",\n savingData: \"Resultaterne bliver gemt på serveren...\",\n savingDataError: \"Der opstod en fejl og vi kunne ikke gemme resultatet.\",\n savingDataSuccess: \"Resultatet blev gemt!\",\n saveAgainButton: \"Prøv igen\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Du har brugt {0} på denne side og {1} i alt.\",\n timerSpentPage: \"Du har brugt {0} på denne side.\",\n timerSpentSurvey: \"Du har brugt {0} i alt.\",\n timerLimitAll:\n \"Du har brugt {0} af {1} på denne side og {2} af {3} i alt.\",\n timerLimitPage: \"Du har brugt {0} af {1} på denne side.\",\n timerLimitSurvey: \"Du har brugt {0} af {1} i alt.\",\n cleanCaption: \"Rens\",\n clearCaption: \"Fjern\",\n removeFileCaption: \"Fjern denne fil\"\n};\n\nsurveyLocalization.locales[\"da\"] = danishSurveyStrings;\nsurveyLocalization.localeNames[\"da\"] = \"dansk\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/danish.ts","//Created on behalf https://github.com/Frank13\n//Modified on behalf Roeland Verbakel\nimport { surveyLocalization } from \"../surveyStrings\";\n\nexport var dutchSurveyStrings = {\n pagePrevText: \"Vorige\",\n pageNextText: \"Volgende\",\n completeText: \"Verzenden\",\n startSurveyText: \"Start\",\n otherItemText: \"Anders, nl.\",\n noneItemText: \"Geen\",\n selectAllItemText: \"Selecteer Alles\",\n progressText: \"Pagina {0} van {1}\",\n panelDynamicProgressText: \"Record {0} of {1}\",\n questionsProgressText: \"Geantwoord {0}/{1} vragen\",\n emptySurvey: \"Er is geen zichtbare pagina of vraag in deze vragenlijst\",\n completingSurvey: \"Bedankt voor het invullen van de vragenlijst\",\n completingSurveyBefore:\n \"Onze gegevens tonen aan dat je deze vragenlijst reeds beantwoord hebt.\",\n loadingSurvey: \"De vragenlijst is aan het laden...\",\n optionsCaption: \"Kies...\",\n value: \"waarde\",\n requiredError: \"Dit is een vereiste vraag\",\n requiredErrorInPanel: \"Gelieve ten minste een vraag te beantwoorden.\",\n numericError: \"Het antwoord moet een getal zijn\",\n textMinLength: \"Vul minstens {0} karakters in\",\n minSelectError: \"Selecteer minimum {0} antwoorden\",\n maxSelectError: \"Selecteer niet meer dan {0} antwoorden\",\n textMaxLength: \"Gelieve minder dan {0} karakters in te vullen.\",\n textMinMaxLength: \"Gelieve meer dan {0} en minder dan {1} karakters in te vullen.\",\n minRowCountError: \"Gelieve ten minste {0} rijen in te vullen.\",\n numericMinMax:\n \"Uw antwoord '{0}' moet groter of gelijk zijn aan {1} en kleiner of gelijk aan {2}\",\n numericMin: \"Uw antwoord '{0}' moet groter of gelijk zijn aan {1}\",\n numericMax: \"Uw antwoord '{0}' moet groter of gelijk zijn aan {1}\",\n invalidEmail: \"Vul een geldig e-mailadres in\",\n invalidExpression: \"De uitdrukking: {0} moet 'waar' teruggeven.\",\n urlRequestError: \"De vraag keerde een fout terug '{0}'. {1}\",\n urlGetChoicesError:\n \"De vraag gaf een leeg antwoord terug of de 'pad' eigenschap is niet correct\",\n exceedMaxSize: \"De grootte van het bestand mag niet groter zijn dan {0}\",\n otherRequiredError: \"Vul het veld 'Anders, nl.' in\",\n requiredInAllRowsError: \"Deze vraag vereist één antwoord per rij\",\n uploadingFile:\n \"Uw bestand wordt opgeladen. Gelieve enkele seconden te wachten en opnieuw te proberen.\",\n loadingFile: \"Opladen...\",\n chooseFile: \"Kies uw bestand(en)...\",\n noFileChosen: \"Geen bestand gekozen\",\n confirmDelete: \"Wil je deze gegevens verwijderen?\",\n keyDuplicationError: \"Deze waarde moet uniek zijn.\",\n addColumn: \"Voeg kolom toe\",\n addRow: \"Voeg rij toe\",\n removeRow: \"Verwijder\",\n addPanel: \"Nieuwe toevoegen\",\n removePanel: \"Verwijder\",\n choices_Item: \"onderwerp\",\n matrix_column: \"Kolom\",\n matrix_row: \"Rij\",\n savingData: \"De resultaten worden bewaard op de server...\",\n savingDataError: \"Er was een probleem en we konden de resultaten niet bewaren.\",\n savingDataSuccess: \"De resultaten werden succesvol bewaard!\",\n saveAgainButton: \"Probeer opnieuw\",\n timerMin: \"minimum\",\n timerSec: \"sec\",\n timerSpentAll: \"U heeft {0} gespendeerd op deze pagina en {1} in totaal.\",\n timerSpentPage: \"U heeft {0} op deze pagina gespendeerd.\",\n timerSpentSurvey: \"U heeft in totaal {0} gespendeerd.\",\n timerLimitAll:\n \"U heeft {0} van {1} op deze pagina gespendeerd en {2} van {3} in totaal.\",\n timerLimitPage: \"U heeft {0} van {1} gespendeerd op deze pagina.\",\n timerLimitSurvey: \"U heeft {0} van {1} in het totaal.\",\n cleanCaption: \"Kuis op\",\n clearCaption: \"Kuis op\",\n chooseFileCaption: \"Gekozen bestand\",\n removeFileCaption: \"Verwijder deze file\",\n booleanCheckedLabel: \"Ja\",\n booleanUncheckedLabel: \"Neen\",\n confirmRemoveFile: \"Bent u zeker dat u deze file wilt verwijderen: {0}?\",\n confirmRemoveAllFiles: \"Bent u zeker dat u al deze files wilt verwijderen?\"\n};\n\nsurveyLocalization.locales[\"nl\"] = dutchSurveyStrings;\nsurveyLocalization.localeNames[\"nl\"] = \"nederlands\";\n\n\n// WEBPACK FOOTER //\n// ./src/localization/dutch.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var estonianSurveyStrings = {\n pagePrevText: \"Tagasi\",\n pageNextText: \"Edasi\",\n completeText: \"Lõpeta\",\n startSurveyText: \"Alusta\",\n otherItemText: \"Muu (täpsusta)\",\n noneItemText: \"Mitte midagi\",\n selectAllItemText: \"Vali kõik\",\n progressText: \"Lehekülg {0}/{1}\",\n panelDynamicProgressText: \"Kirje {0}/{1}\",\n questionsProgressText: \"Vastatud {0} küsimust {1}-st\",\n emptySurvey: \"Selles uuringus ei ole ühtki nähtavat lehekülge või küsimust.\",\n completingSurvey: \"Aitäh, et vastasid ankeedile!\",\n completingSurveyBefore:\n \"Meie andmetel oled sa sellele ankeedile juba vastanud.\",\n loadingSurvey: \"Laen ankeeti...\",\n optionsCaption: \"Vali...\",\n value: \"väärtus\",\n requiredError: \"Palun vasta küsimusele.\",\n requiredErrorInPanel: \"Palun vasta vähemalt ühele küsimusele.\",\n requiredInAllRowsError: \"Palun anna vastus igal real.\",\n numericError: \"See peaks olema numbriline väärtus.\",\n textMinLength: \"Palun sisesta vähemalt {0} tähemärki.\",\n textMaxLength: \"Palun ära sisesta rohkem kui {0} tähemärki.\",\n textMinMaxLength: \"Sisesta palun {0} - {1} tähemärki.\",\n minRowCountError: \"Sisesta plaun vähemalt {0} rida.\",\n minSelectError: \"Palun vali vähemalt {0} varianti.\",\n maxSelectError: \"Palun vali kõige rohkem {0} varianti.\",\n numericMinMax:\n \"'{0}' peaks olema võrdne või suurem kui {1} ja võrdne või väiksem kui {2}\",\n numericMin: \"'{0}' peaks olema võrdne või suurem kui {1}\",\n numericMax: \"'{0}' peaks olema võrnde või väiksem kui {1}\",\n invalidEmail: \"Sisesta palun korrektne e-posti aadress.\",\n exceedMaxSize: \"Faili suurus ei tohi ületada {0}.\",\n otherRequiredError: \"Sisesta palun muu vastus.\",\n uploadingFile:\n \"Sinu fail laeb üles. Palun oota mõned sekundid ning proovi seejärel uuesti.\",\n loadingFile: \"Laen...\",\n chooseFile: \"Vali fail(id)...\",\n noFileChosen: \"Faili pole valitud\",\n confirmDelete: \"Kas tahad kirje kustutada?\",\n keyDuplicationError: \"See väärtus peab olema unikaalne.\",\n addColumn: \"Lisa veerg\",\n addRow: \"Lisa rida\",\n removeRow: \"Eemalda\",\n addPanel: \"Lisa uus\",\n removePanel: \"Eemalda\",\n matrix_column: \"Veerg\",\n matrix_row: \"Rida\",\n savingData: \"Salvestan andmed serveris...\",\n savingDataError: \"Tekkis viga ning me ei saanud vastuseid salvestada.\",\n savingDataSuccess: \"Vastuste salvestamine õnnestus!\",\n saveAgainButton: \"Proovi uuesti\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Oled veetnud {0} sellel lehel ning kokku {1}.\",\n timerSpentPage: \"Oled veetnud {0} sellel lehel.\",\n timerSpentSurvey: \"Oled veetnud {0} kokku.\",\n timerLimitAll:\n \"Oled kulutanud {0} võimalikust {1} sellel lehel ning {2} võimalikust {3} kokku.\",\n timerLimitPage: \"Oled kulutanud {0} võimalikust {1} sellel lehel.\",\n timerLimitSurvey: \"Oled kulutanud {0} võimalikust {1} koguajast.\",\n cleanCaption: \"Puhasta\",\n clearCaption: \"Puhasta\",\n chooseFileCaption: \"Vali fail\",\n removeFileCaption: \"Eemalda see fail\",\n booleanCheckedLabel: \"Jah\",\n booleanUncheckedLabel: \"Ei\",\n confirmRemoveFile: \"Oled sa kindel, et soovid selle faili eemaldada: {0}?\",\n confirmRemoveAllFiles: \"Oled sa kindel, et soovid eemaldada kõik failid?\",\n questionTitlePatternText: \"Küsimuse pealkiri\"\n};\n\nsurveyLocalization.locales[\"et\"] = estonianSurveyStrings;\nsurveyLocalization.localeNames[\"et\"] = \"eesti keel\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/estonian.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var finnishSurveyStrings = {\n pagePrevText: \"Edellinen\",\n pageNextText: \"Seuraava\",\n completeText: \"Valmis\",\n otherItemText: \"Muu (kuvaile)\",\n progressText: \"Sivu {0}/{1}\",\n emptySurvey:\n \"Tässä kyselyssä ei ole yhtäkään näkyvillä olevaa sivua tai kysymystä.\",\n completingSurvey: \"Kiitos kyselyyn vastaamisesta!\",\n loadingSurvey: \"Kyselyä ladataan palvelimelta...\",\n optionsCaption: \"Valitse...\",\n requiredError: \"Vastaa kysymykseen, kiitos.\",\n numericError: \"Arvon tulee olla numeerinen.\",\n textMinLength: \"Ole hyvä ja syötä vähintään {0} merkkiä.\",\n minSelectError: \"Ole hyvä ja valitse vähintään {0} vaihtoehtoa.\",\n maxSelectError: \"Ole hyvä ja valitse enintään {0} vaihtoehtoa.\",\n numericMinMax:\n \"'{0}' täytyy olla enemmän tai yhtä suuri kuin {1} ja vähemmän tai yhtä suuri kuin {2}\",\n numericMin: \"'{0}' täytyy olla enemmän tai yhtä suuri kuin {1}\",\n numericMax: \"'{0}' täytyy olla vähemmän tai yhtä suuri kuin {1}\",\n invalidEmail: \"Syötä validi sähköpostiosoite.\",\n otherRequiredError: 'Ole hyvä ja syötä \"Muu (kuvaile)\"'\n};\n\nsurveyLocalization.locales[\"fi\"] = finnishSurveyStrings;\nsurveyLocalization.localeNames[\"fi\"] = \"suomalainen\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/finnish.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var frenchSurveyStrings = {\n pagePrevText: \"Précédent\",\n pageNextText: \"Suivant\",\n completeText: \"Terminer\",\n startSurveyText: \"Commencer\",\n otherItemText: \"Autre (préciser)\",\n noneItemText: \"Aucun\",\n selectAllItemText: \"Tout sélectionner\",\n progressText: \"Page {0} sur {1}\",\n panelDynamicProgressText: \"Enregistrement {0} sur {1}\",\n questionsProgressText: \"{0}/{1} question(s) répondue(s)\",\n emptySurvey: \"Il n'y a ni page visible ni question visible dans ce questionnaire\",\n completingSurvey: \"Merci d'avoir répondu au questionnaire !\",\n completingSurveyBefore: \"Nos données indiquent que vous avez déjà rempli ce questionnaire.\",\n loadingSurvey: \"Le questionnaire est en cours de chargement...\",\n optionsCaption: \"Choisissez...\",\n value: \"valeur\",\n requiredError: \"La réponse à cette question est obligatoire.\",\n requiredErrorInPanel: \"Merci de répondre au moins à une question.\",\n requiredInAllRowsError: \"Toutes les lignes sont obligatoires\",\n numericError: \"La réponse doit être un nombre.\",\n textMinLength: \"Merci de saisir au moins {0} caractères.\",\n textMaxLength: \"Merci de saisir moins de {0} caractères.\",\n textMinMaxLength: \"Merci de saisir entre {0} et {1} caractères.\",\n minRowCountError: \"Merci de compléter au moins {0} lignes.\",\n minSelectError: \"Merci de sélectionner au minimum {0} réponses.\",\n maxSelectError: \"Merci de sélectionner au maximum {0} réponses.\",\n numericMinMax: \"Votre réponse '{0}' doit être supérieure ou égale à {1} et inférieure ou égale à {2}\",\n numericMin: \"Votre réponse '{0}' doit être supérieure ou égale à {1}\",\n numericMax: \"Votre réponse '{0}' doit être inférieure ou égale à {1}\",\n invalidEmail: \"Merci d'entrer une adresse mail valide.\",\n invalidExpression: \"L'expression: {0} doit retourner 'true'.\",\n urlRequestError: \"La requête a renvoyé une erreur '{0}'. {1}\",\n urlGetChoicesError: \"La requête a renvoyé des données vides ou la propriété 'path' est incorrecte\",\n exceedMaxSize: \"La taille du fichier ne doit pas excéder {0}.\",\n otherRequiredError: \"Merci de préciser le champ 'Autre'.\",\n uploadingFile: \"Votre fichier est en cours de chargement. Merci d'attendre quelques secondes et de réessayer.\",\n loadingFile: \"Chargement...\",\n chooseFile: \"Ajouter des fichiers...\",\n noFileChosen: \"Aucun fichier ajouté\",\n confirmDelete: \"Voulez-vous supprimer cet enregistrement ?\",\n keyDuplicationError: \"Cette valeur doit être unique.\",\n addColumn: \"Ajouter une colonne\",\n addRow: \"Ajouter une ligne\",\n removeRow: \"Supprimer\",\n addPanel: \"Ajouter\",\n removePanel: \"Supprimer\",\n choices_Item: \"item\",\n matrix_column: \"Colonne\",\n matrix_row: \"Ligne\",\n savingData: \"Les résultats sont en cours de sauvegarde sur le serveur...\",\n savingDataError: \"Une erreur est survenue et a empêché la sauvegarde des résultats.\",\n savingDataSuccess: \"Les résultats ont bien été enregistrés !\",\n saveAgainButton: \"Réessayer\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"Vous avez passé {0} sur cette page et {1} au total.\",\n timerSpentPage: \"Vous avez passé {0} sur cette page.\",\n timerSpentSurvey: \"Vous avez passé {0} au total.\",\n timerLimitAll: \"Vous avez passé {0} sur {1} sur cette page et {2} sur {3} au total.\",\n timerLimitPage: \"Vous avez passé {0} sur {1} sur cette page.\",\n timerLimitSurvey: \"Vous avez passé {0} sur {1} au total.\",\n cleanCaption: \"Nettoyer\",\n clearCaption: \"Vider\",\n chooseFileCaption: \"Ajouter un fichier\",\n removeFileCaption: \"Enlever ce fichier\",\n booleanCheckedLabel: \"Oui\",\n booleanUncheckedLabel: \"Non\",\n confirmRemoveFile: \"Êtes-vous certains de vouloir supprimer ce fichier : {0}?\",\n confirmRemoveAllFiles: \"Êtes-vous certains de vouloir supprimer tous les fichiers?\",\n questionTitlePatternText: \"Titre de la question\"\n\n};\n\nsurveyLocalization.locales[\"fr\"] = frenchSurveyStrings;\nsurveyLocalization.localeNames[\"fr\"] = \"français\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/french.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var georgianSurveyStrings = {\n pagePrevText: \"უკან\",\n pageNextText: \"შემდეგ\",\n completeText: \"დასრულება\",\n progressText: \"გვერდი {0} / {1}\",\n emptySurvey: \"არცერთი კითხვა არ არის.\",\n completingSurvey: \"გმადლობთ კითხვარის შევსებისთვის!\",\n loadingSurvey: \"ჩატვირთვა სერვერიდან...\",\n otherItemText: \"სხვა (გთხოვთ მიუთითეთ)\",\n optionsCaption: \"არჩევა...\",\n requiredError: \"გთხოვთ უპასუხეთ კითხვას.\",\n numericError: \"პასუხი უნდა იყოს რიცხვი.\",\n textMinLength: \"გთხოვთ შეიყვანეთ არანაკლებ {0} სიმბოლო.\",\n minSelectError: \"გთხოვთ აირჩიეთ არანაკლებ {0} ვარიანტი.\",\n maxSelectError: \"გთხოვთ აირჩიეთ არაუმეტეს {0} ვარიანტი.\",\n numericMinMax:\n \"'{0}' უნდა იყოს მეტი ან ტოლი, ვიდრე {1}, და ნაკლები ან ტოლი ვიდრე {2}\",\n numericMin: \"'{0}' უნდა იყოს მეტი ან ტოლი ვიდრე {1}\",\n numericMax: \"'{0}' უნდა იყოს ნაკლები ან ტოლი ვიდრე {1}\",\n invalidEmail: \"გთხოვთ შეიყვანოთ ელ. ფოსტის რეალური მისამართი.\",\n otherRequiredEror: \"გთხოვთ შეავსეთ ველი 'სხვა'\"\n};\n\nsurveyLocalization.locales[\"ka\"] = georgianSurveyStrings;\nsurveyLocalization.localeNames[\"ka\"] = \"ქართული\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/georgian.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var germanSurveyStrings = {\n pagePrevText: \"Zurück\",\n pageNextText: \"Weiter\",\n completeText: \"Abschließen\",\n startSurveyText: \"Start\",\n otherItemText: \"Sonstiges (Beschreibung)\",\n noneItemText: \"Nichts\",\n selectAllItemText: \"Alle auswählen\",\n progressText: \"Seite {0} von {1}\",\n emptySurvey: \"Es ist keine Frage vorhanden.\",\n completingSurvey: \"Danke, dass Sie die Umfrage abgeschlossen haben!\",\n completingSurveyBefore:\n \"Wir haben festgestellt, dass Sie diese Umfrage bereits abgeschlossen haben.\",\n loadingSurvey: \"Fragebogen wird geladen...\",\n optionsCaption: \"Bitte auswählen...\",\n value: \"Wert\",\n requiredError: \"Bitte beantworten Sie diese Frage.\",\n requiredErrorInPanel: \"Bitte beantworten Sie mindestens eine Frage.\",\n requiredInAllRowsError: \"Bitte beantworten Sie alle Fragen.\",\n numericError: \"Der Wert muss eine Zahl sein.\",\n textMinLength: \"Bitte geben sie mindestens {0} Zeichen ein.\",\n textMaxLength: \"Bitte geben Sie nicht mehr als {0} Zeichen ein.\",\n textMinMaxLength: \"Bitte geben sie mindestens {0} und maximal {1} Zeichen ein.\",\n minRowCountError: \"Bitte machen Sie in mindestens {0} Zeilen eine Eingabe.\",\n minSelectError: \"Bitte wählen Sie mindestens {0} Variante(n) aus.\",\n maxSelectError: \"Bitte wählen Sie nicht mehr als {0} Variante(n) aus.\",\n numericMinMax:\n \"'{0}' muss größer oder gleich {1} und kleiner oder gleich {2} sein\",\n numericMin: \"'{0}' muss größer oder gleich {1} sein\",\n numericMax: \"'{0}' muss kleiner oder gleich {1} sein\",\n invalidEmail: \"Bitte geben Sie eine gültige E-Mail-Adresse ein.\",\n invalidExpression: \"Der Ausdruck: {0} muss den Wert 'wahr'(true) zurückliefern.\",\n urlRequestError: \"Die Anfrage lieferte den folgenden Fehler zurück '{0}'. {1}\",\n urlGetChoicesError:\n \"Die Anfrage lieferte leere Daten zurück oder der Wert der Variable 'path' ist falsch\",\n exceedMaxSize: \"Die Dateigröße darf {0} nicht überschreiten.\",\n otherRequiredError: \"Bitte geben Sie den anderen Wert ein.\",\n uploadingFile:\n \"Ihre Datei wird hochgeladen. Bitte warten Sie ein paar Sekunden und versuchen Sie es dann erneut.\",\n loadingFile: \"Wird geladen...\",\n chooseFile: \"Datei(en) auswählen...\",\n confirmDelete: \"Wollen Sie den Eintrag löschen?\",\n keyDuplicationError: \"Dieser Wert muss eindeutig sein.\",\n addColumn: \"Spalte hinzufügen\",\n addRow: \"Zeile hinzufügen\",\n removeRow: \"Entfernen\",\n addPanel: \"Neu hinzufügen\",\n removePanel: \"Entfernen\",\n choices_Item: \"Element\",\n matrix_column: \"Spalte\",\n matrix_row: \"Zeile\",\n savingData: \"Die Ergebnisse werden auf dem Server gespeichert...\",\n savingDataError: \"Es ist ein Fehler aufgetreten. Die Ergebnisse konnten nicht gespeichert werden.\",\n savingDataSuccess: \"Die Ergebnisse wurden gespeichert!\",\n saveAgainButton: \"Bitte versuchen Sie es erneut\",\n timerMin: \"Min.\",\n timerSec: \"Sek.\",\n timerSpentAll: \"Sie waren {0} auf dieser Seite und insgesamt {1}.\",\n timerSpentPage: \"Sie waren {0} auf dieser Seite.\",\n timerSpentSurvey: \"Sie haben insgesamt {0} benötigt.\",\n timerLimitAll:\n \"Sie waren {0} von {1} auf dieser Seite und insgesamt {2} von {3}.\",\n timerLimitPage: \"Sie waren {0} von {1} auf dieser Seite.\",\n timerLimitSurvey: \"Sie haben insgesamt {0} von {1} benötigt.\",\n cleanCaption: \"Sauber\",\n clearCaption: \"Leeren\",\n removeFileCaption: \"Datei löschen\",\n booleanCheckedLabel: \"Ja\",\n booleanUncheckedLabel: \"Nein\",\n chooseFileCaption: \"Datei wählen\",\n confirmRemoveAllFiles: \"Sind sie sicher, dass sie alle Dateien löschen möchten?\",\n confirmRemoveFile: \"Sind sie sicher, dass sie diese Datei löschen möchten: {0}?\",\n noFileChosen: \"Keine Datei ausgewählt\",\n panelDynamicProgressText: \"Eintrag {0} von {1}\",\n questionTitlePatternText: \"Fragetitel\",\n questionsProgressText: \"{0} von {1} Fragen beantwortet\",\n};\n\nsurveyLocalization.locales[\"de\"] = germanSurveyStrings;\nsurveyLocalization.localeNames[\"de\"] = \"deutsch\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/german.ts","//Created by https://github.com/agelospanagiotakis\nimport { surveyLocalization } from \"../surveyStrings\";\n\nexport var greekSurveyStrings = {\n pagePrevText: \"Προηγούμενο\",\n pageNextText: \"Επόμενο\",\n completeText: \"Ολοκλήρωση\",\n otherItemText: \"Άλλο (παρακαλώ διευκρινίστε)\",\n progressText: \"Σελίδα {0} από {1}\",\n emptySurvey:\n \"Δεν υπάρχει καμία ορατή σελίδα ή ορατή ερώτηση σε αυτό το ερωτηματολόγιο.\",\n completingSurvey:\n \"Ευχαριστούμε για την συμπλήρωση αυτού του ερωτηματολογίου!\",\n loadingSurvey: \"Το ερωτηματολόγιο φορτώνεται απο το διακομιστή...\",\n optionsCaption: \"Επιλέξτε...\",\n requiredError: \"Παρακαλώ απαντήστε στην ερώτηση.\",\n requiredInAllRowsError:\n \"Παρακαλώ απαντήστε στις ερωτήσεις σε όλες τις γραμμές.\",\n numericError: \"Η τιμή πρέπει να είναι αριθμητική.\",\n textMinLength: \"Παρακαλώ συμπληρώστε τουλάχιστον {0} σύμβολα.\",\n minRowCountError: \"Παρακαλώ συμπληρώστε τουλάχιστον {0} γραμμές.\",\n minSelectError: \"Παρακαλώ επιλέξτε τουλάχιστον {0} παραλλαγές.\",\n maxSelectError: \"Παρακαλώ επιλέξτε όχι παραπάνω απο {0} παραλλαγές.\",\n numericMinMax:\n \"Το '{0}' θα πρέπει να είναι ίσο ή μεγαλύτερο απο το {1} και ίσο ή μικρότερο απο το {2}\",\n numericMin: \"Το '{0}' πρέπει να είναι μεγαλύτερο ή ισο με το {1}\",\n numericMax: \"Το '{0}' πρέπει να είναι μικρότερο ή ίσο απο το {1}\",\n invalidEmail: \"Παρακαλώ δώστε μια αποδεκτή διεύθυνση e-mail.\",\n urlRequestError: \"Η αίτηση επέστρεψε σφάλμα '{0}'. {1}\",\n urlGetChoicesError:\n \"Η αίτηση επέστρεψε κενά δεδομένα ή η ιδιότητα 'μονοπάτι/path' είναι εσφαλμένη\",\n exceedMaxSize: \"Το μέγεθος δεν μπορεί να υπερβαίνει τα {0}.\",\n otherRequiredError: \"Παρακαλώ συμπληρώστε την τιμή για το πεδίο 'άλλο'.\",\n uploadingFile:\n \"Το αρχείο σας ανεβαίνει. Παρακαλώ περιμένετε καποια δευτερόλεπτα και δοκιμάστε ξανά.\",\n addRow: \"Προσθήκη γραμμής\",\n removeRow: \"Αφαίρεση\"\n};\nsurveyLocalization.locales[\"gr\"] = greekSurveyStrings;\nsurveyLocalization.localeNames[\"gr\"] = \"ελληνικά\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/greek.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var hebrewSurveyStrings = {\n pagePrevText: \"אחורה\",\n pageNextText: \"קדימה\",\n completeText: \"סיום\",\n progressText: \"דף {1} מתוך {0}\",\n emptySurvey: \"אין שאלות\",\n completingSurvey: \"תודה על מילוי השאלון!\",\n loadingSurvey: \"טעינה מהשרת...\",\n otherItemText: \"אחר (נא לתאר)\",\n optionsCaption: \"בחר...\",\n requiredError: \"אנא השב על השאלה\",\n numericError: \"התשובה צריכה להיות מספר.\",\n textMinLength: \"הזן לפחות {0} תווים.\",\n minSelectError: \"בחר לפחות {0} אפשרויות.\",\n maxSelectError: \"בחר עד {0} אפשרויות.\",\n numericMinMax:\n \"'{0}' חייב להיות שווה או גדול מ {1}, ושווה ל- {2} או פחות מ- {}}\",\n numericMin: \"'{0}' חייב להיות שווה או גדול מ {1}\",\n numericMax: \"'{0}' חייב להיות שווה או קטן מ {1}\",\n invalidEmail: 'הזן כתובת דוא\"ל חוקית.',\n otherRequiredError: 'נא להזין נתונים בשדה \"אחר\"'\n};\n\nsurveyLocalization.locales[\"he\"] = hebrewSurveyStrings;\nsurveyLocalization.localeNames[\"he\"] = \"עברית\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/hebrew.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var hungarianSurveyStrings = {\n pagePrevText: \"Vissza\",\n pageNextText: \"Tovább\",\n completeText: \"Kész\",\n otherItemText: \"Egyéb (adja meg)\",\n progressText: \"{0}./{1} oldal\",\n emptySurvey: \"There is no visible page or question in the survey.\",\n completingSurvey: \"Köszönjük, hogy kitöltötte felmérésünket!\",\n completingSurveyBefore: \"Már kitöltötte a felmérést.\",\n loadingSurvey: \"Felmérés betöltése...\",\n optionsCaption: \"Válasszon...\",\n value: \"érték\",\n requiredError: \"Kérjük, válaszolja meg ezt a kérdést!\",\n requiredInAllRowsError: \"Kérjük adjon választ minden sorban!\",\n numericError: \"Az érték szám kell, hogy legyen!\",\n textMinLength: \"Adjon meg legalább {0} karaktert!\",\n textMaxLength: \"Legfeljebb {0} karaktert adjon meg!\",\n textMinMaxLength: \"Adjon meg legalább {0}, de legfeljebb {1} karaktert!\",\n minRowCountError: \"Töltsön ki minimum {0} sort!\",\n minSelectError: \"Válasszon ki legalább {0} lehetőséget!\",\n maxSelectError: \"Ne válasszon többet, mint {0} lehetőség!\",\n numericMinMax:\n \"'{0}' legyen nagyobb, vagy egyenlő, mint {1} és kisebb, vagy egyenlő, mint {2}!\",\n numericMin: \"'{0}' legyen legalább {1}!\",\n numericMax: \"The '{0}' ne legyen nagyobb, mint {1}!\",\n invalidEmail: \"Adjon meg egy valós email címet!\",\n urlRequestError: \"A lekérdezés hibával tért vissza: '{0}'. {1}\",\n urlGetChoicesError:\n \"A lekérdezés üres adattal tért vissza, vagy a 'path' paraméter helytelen.\",\n exceedMaxSize: \"A méret nem lehet nagyobb, mint {0}.\",\n otherRequiredError: \"Adja meg az egyéb értéket!\",\n uploadingFile:\n \"Feltöltés folyamatban. Várjon pár másodpercet, majd próbálja újra.\",\n confirmDelete: \"Törli ezt a rekordot?\",\n keyDuplicationError: \"Az értéknek egyedinek kell lennie.\",\n addRow: \"Sor hozzáadása\",\n removeRow: \"Eltávolítás\",\n addPanel: \"Új hozzáadása\",\n removePanel: \"Eltávolítás\",\n choices_Item: \"elem\",\n matrix_column: \"Oszlop\",\n matrix_row: \"Sor\",\n savingData: \"Eredmény mentése a szerverre...\",\n savingDataError: \"Egy hiba folytán nem tudtuk elmenteni az eredményt.\",\n savingDataSuccess: \"Eredmény sikeresen mentve!\",\n saveAgainButton: \"Próbálja újra\"\n};\n\nsurveyLocalization.locales[\"hu\"] = hungarianSurveyStrings;\nsurveyLocalization.localeNames[\"hu\"] = \"magyar\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/hungarian.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var icelandicSurveyStrings = {\n pagePrevText: \"Tilbaka\",\n pageNextText: \"Áfram\",\n completeText: \"Lokið\",\n otherItemText: \"Hinn (skýring)\",\n progressText: \"Síða {0} of {1}\",\n emptySurvey: \"Það er enginn síða eða spurningar í þessari könnun.\",\n completingSurvey: \"Takk fyrir að fyllja út þessa könnun!\",\n loadingSurvey: \"Könnunin er að hlaða...\",\n optionsCaption: \"Veldu...\",\n requiredError: \"Vinsamlegast svarið spurningunni.\",\n requiredInAllRowsError: \"Vinsamlegast svarið spurningum í öllum röðum.\",\n numericError: \"Þetta gildi verður að vera tala.\",\n textMinLength: \"Það ætti að vera minnst {0} tákn.\",\n textMaxLength: \"Það ætti að vera mest {0} tákn.\",\n textMinMaxLength: \"Það ætti að vera fleiri en {0} og færri en {1} tákn.\",\n minRowCountError: \"Vinsamlegast fyllið úr að minnsta kosti {0} raðir.\",\n minSelectError: \"Vinsamlegast veljið að minnsta kosti {0} möguleika.\",\n maxSelectError: \"Vinsamlegast veljið ekki fleiri en {0} möguleika.\",\n numericMinMax:\n \"'{0}' ætti að vera meira en eða jafnt og {1} minna en eða jafnt og {2}\",\n numericMin: \"{0}' ætti að vera meira en eða jafnt og {1}\",\n numericMax: \"'{0}' ætti að vera minna en eða jafnt og {1}\",\n invalidEmail: \"Vinsamlegast sláið inn gilt netfang.\",\n urlRequestError: \"Beiðninn skilaði eftirfaranadi villu '{0}'. {1}\",\n urlGetChoicesError: \"Beiðninng skilaði engum gögnum eða slóðinn var röng\",\n exceedMaxSize: \"Skráinn skal ekki vera stærri en {0}.\",\n otherRequiredError: \"Vinamlegast fyllið út hitt gildið.\",\n uploadingFile:\n \"Skráinn þín var send. Vinsamlegast bíðið í nokkrar sekúndur og reynið aftur.\",\n addRow: \"Bæta við röð\",\n removeRow: \"Fjarlægja\",\n choices_firstItem: \"fyrsti hlutur\",\n choices_secondItem: \"annar hlutur\",\n choices_thirdItem: \"þriðji hlutur\",\n matrix_column: \"Dálkur\",\n matrix_row: \"Röð\"\n};\n\nsurveyLocalization.locales[\"is\"] = icelandicSurveyStrings;\nsurveyLocalization.localeNames[\"is\"] = \"íslenska\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/icelandic.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var indonesianStrings = {\n pagePrevText: \"Sebelumnya\",\n pageNextText: \"Selanjutnya\",\n completeText: \"Selesai\",\n startSurveyText: \"Mulai\",\n otherItemText: \"Lainnya (jelaskan)\",\n noneItemText: \"Tidak Ada\",\n selectAllItemText: \"Pilih Semua\",\n progressText: \"Halaman {0} dari {1}\",\n emptySurvey: \"Tidak ada halaman atau pertanyaan dalam survei.\",\n completingSurvey: \"Terima kasih telah menyelesaikan survei!\",\n completingSurveyBefore:\n \"Catatan kami menunjukkan bahwa Anda telah menyelesaikan survei ini.\",\n loadingSurvey: \"Memuat survei...\",\n optionsCaption: \"Pilih...\",\n value: \"nilai\",\n requiredError: \"Silahkan jawab pertanyaan berikut.\",\n requiredErrorInPanel: \"Silahkan jawab setidaknya satu petanyaan.\",\n requiredInAllRowsError: \"Silahkan jawab pertanyaan pada semua baris.\",\n numericError: \"Nilai harus berupa angka.\",\n textMinLength: \"Silahkan masukkan setidaknya {0} karakter.\",\n textMaxLength: \"Silahkan masukkan kurang {0} karakter.\",\n textMinMaxLength: \"PSilahkan masukkan lebih dari {0} dan kurang dari {1} karakter.\",\n minRowCountError: \"Silahkan isi setidaknya {0} baris.\",\n minSelectError: \"Silahkan pilih setidaknya {0} varian.\",\n maxSelectError: \"Silahkan pilih tidak lebih dari {0} varian.\",\n numericMinMax: \"'{0}' harus sama dengan atau lebih dari {1} dan harus sama dengan atau kurang dari {2}\",\n numericMin: \"'{0}' harus sama dengan atau lebih dari {1}\",\n numericMax: \"'{0}' harus sama dengan atau kurang dari {1}\",\n invalidEmail: \"Silahkan masukkan e-mail yang benar.\",\n invalidExpression: \"Ekspresi: {0} harus mengembalikan 'benar'.\",\n urlRequestError: \"Permintaan mengembalikan kesalahan '{0}'. {1}\",\n urlGetChoicesError: \"Permintaan mengembalikan data kosong atau properti 'path' salah.\",\n exceedMaxSize: \"Ukuran berkas tidak boleh melebihi {0}.\",\n otherRequiredError: \"Silahkan masukkan nilai lainnnya.\",\n uploadingFile: \"Berkas Anda sedang diunggah. Silahkan tunggu beberapa saat atau coba lagi.\",\n loadingFile: \"Memuat...\",\n chooseFile: \"Pilih berkas...\",\n confirmDelete: \"Apakah Anda ingin menghapus catatan?\",\n keyDuplicationError: \"Nilai harus unik.\",\n addColumn: \"Tambah kolom\",\n addRow: \"Tambah baris\",\n removeRow: \"Hapus\",\n addPanel: \"Tambah baru\",\n removePanel: \"Hapus\",\n choices_Item: \"item\",\n matrix_column: \"Kolom\",\n matrix_row: \"Baris\",\n savingData: \"Hasil sedang disimpan pada server...\",\n savingDataError: \"Kesalahan terjadi dan kami tidak dapat menyimpan hasil.\",\n savingDataSuccess: \"Hasil telah sukses disimpan!\",\n saveAgainButton: \"Coba lagi\",\n timerMin: \"menit\",\n timerSec: \"detik\",\n timerSpentAll: \"Anda telah menghabiskan {0} pada halaman ini dan {1} secara keseluruhan.\",\n timerSpentPage: \"YAnda telah menghabiskan {0} pada halaman ini.\",\n timerSpentSurvey: \"Anda telah menghabiskan {0} secara keseluruhan.\",\n timerLimitAll:\n \"Anda telah menghabiskan {0} dari {1} pada halaman ini dan {2} dari {3} secara keseluruhan.\",\n timerLimitPage: \"Anda telah menghabiskan {0} dari {1} pada halaman ini.\",\n timerLimitSurvey: \"Anda telah menghabiskan {0} dari {1} secara keseluruhan.\",\n cleanCaption: \"Bersihkan\",\n clearCaption: \"Bersihkan\",\n removeFileCaption: \"Hapus berkas ini\"\n};\n\nsurveyLocalization.locales[\"id\"] = indonesianStrings;\nsurveyLocalization.localeNames[\"id\"] = \"Bahasa Indonesia\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/indonesian.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var italianSurveyStrings = {\n pagePrevText: \"Precedente\",\n pageNextText: \"Successivo\",\n completeText: \"Salva\",\n startSurveyText: \"Inizio\",\n otherItemText: \"Altro (descrivi)\",\n progressText: \"Pagina {0} di {1}\",\n emptySurvey: \"Non ci sono pagine o domande visibili nel questionario.\",\n completingSurvey: \"Grazie per aver completato il questionario!\",\n completingSurveyBefore:\"I nostri records mostrano che hai già completato questo questionario.\",\n loadingSurvey: \"Caricamento del questionario in corso...\",\n optionsCaption: \"Scegli...\",\n value: \"valore\",\n requiredError: \"Campo obbligatorio\",\n requiredErrorInPanel: \"Per Favore, rispondi ad almeno una domanda.\",\n requiredInAllRowsError: \"Completare tutte le righe\",\n numericError: \"Il valore deve essere numerico\",\n textMinLength: \"Inserire almeno {0} caratteri\",\n textMaxLength: \"Lunghezza massima consentita {0} caratteri\",\n textMinMaxLength:\n \"Inserire una stringa con minimo {0} e massimo {1} caratteri\",\n minRowCountError: \"Completare almeno {0} righe.\",\n minSelectError: \"Selezionare almeno {0} varianti.\",\n maxSelectError: \"Selezionare massimo {0} varianti.\",\n numericMinMax:\n \"'{0}' deve essere uguale o superiore a {1} e uguale o inferiore a {2}\",\n numericMin: \"'{0}' deve essere uguale o superiore a {1}\",\n numericMax: \"'{0}' deve essere uguale o inferiore a {1}\",\n invalidEmail: \"Inserire indirizzo mail valido\",\n urlRequestError: \"La richiesta ha risposto con un errore '{0}'. {1}\",\n urlGetChoicesError:\n \"La richiesta ha risposto null oppure il percorso non è corretto\",\n exceedMaxSize: \"Il file non può eccedere {0}\",\n otherRequiredError: \"Inserire il valore 'altro'\",\n uploadingFile: \"File in caricamento. Attendi alcuni secondi e riprova\",\n loadingFile: \"Caricamento...\",\n chooseFile: \"Selezionare file(s)...\",\n noFileChosen: \"Nessun file selezionato\",\n confirmDelete: \"Sei sicuro di voler elminare il record?\",\n keyDuplicationError: \"Questo valore deve essere univoco.\",\n addRow: \"Aggiungi riga\",\n removeRow: \"Rimuovi riga\",\n addPanel: \"Aggiungi riga\",\n removePanel: \"Elimina\",\n choices_Item: \"Elemento\",\n matrix_column: \"Colonna\",\n matrix_row: \"Riga\",\n savingData: \"Salvataggio dati sul server...\",\n savingDataError: \"Si è verificato un errore e non è stato possibile salvare i risultati.\",\n savingDataSuccess: \"I risultati sono stati salvati con successo!\",\n saveAgainButton: \"Riprova\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"Hai impiegato {0} su questa pagina e {1} in totale.\",\n timerSpentPage: \"Hai impiegato {0} su questa pagina.\",\n timerSpentSurvey: \"Hai impiegato {0} in totale.\",\n timerLimitAll:\n \"Hai impiegato {0} di {1} su questa pagina e {2} di {3} in totale.\",\n timerLimitPage: \"Hai impiegato {0} di {1} su questa pagina.\",\n timerLimitSurvey: \"Hai impiegato {0} di {1} in totale.\",\n cleanCaption: \"Pulisci\",\n confirmRemoveFile: \"Sei sicuro di voler elminare questo file: {0}?\",\n confirmRemoveAllFiles: \"Sei sicuro di voler elminare tutti i files?\"\n};\n\nsurveyLocalization.locales[\"it\"] = italianSurveyStrings;\nsurveyLocalization.localeNames[\"it\"] = \"italiano\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/italian.ts","// Uncomment this line on creating a translation file\r\nimport { surveyLocalization } from \"../surveyStrings\";\r\n\r\nexport var japaneseSurveyStrings = {\r\n pagePrevText: \"前の\",\r\n pageNextText: \"次へ\",\r\n completeText: \"完了\",\r\n startSurveyText: \"スタート\",\r\n otherItemText: \"その他(説明)\",\r\n noneItemText: \"なし\",\r\n selectAllItemText: \"すべて選択\",\r\n progressText: \"{0}/{1}頁\",\r\n emptySurvey: \"この調査に表示できるページや質問はありません\",\r\n completingSurvey: \"調査を完了してくれてありがとうございました\",\r\n loadingSurvey: \"調査をダウンロード中\",\r\n optionsCaption: \"選択\",\r\n requiredError: \"質問にお答え下さい\",\r\n numericError: \"数字でご記入下さい\",\r\n textMinLength: \"{0} 文字以上で入力して下さい\",\r\n minRowCountError: \"{0}行以上で入力して下さい\",\r\n minSelectError: \"{0}種類以上を選択して下さい\",\r\n numericMin: \"'{0}' は同等か{1}より大きくなければなりません\",\r\n numericMax: \"'{0}' は同等か{1}より小さくなければなりません\",\r\n invalidEmail: \"有効なメールアドレスをご記入下さい\",\r\n exceedMaxSize: \"ファイルのサイズは{0}を超えてはいけません\",\r\n uploadingFile:\r\n \"ファイルをアップロード中です。しばらくしてから再度お試し下さい\",\r\n loadingFile: \"読み込み中\",\r\n chooseFile: \"ファイルを選択\",\r\n cleanCaption: \"削除\",\r\n clearCaption: \"空白\",\r\n removeFileCaption: \"このファイルを削除\"\r\n};\r\n\r\n//Uncomment these two lines on creating a translation file. You should replace \"en\" and enStrings with your locale (\"fr\", \"de\" and so on) and your variable.\r\nsurveyLocalization.locales[\"ja\"] = japaneseSurveyStrings;\r\nsurveyLocalization.localeNames[\"ja\"] = \"日本語\";\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/japanese.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var koreanStrings = {\n pagePrevText: \"이전\",\n pageNextText: \"다음\",\n completeText: \"완료\",\n startSurveyText: \"시작\",\n otherItemText: \"기타(설명)\",\n progressText: \"페이지 {1} 중 {0}\",\n emptySurvey: \"설문지에 보여지는 페이지나 질문이 없습니다\",\n completingSurvey: \"설문 조사를 완료해 주셔서 감사합니다!\",\n completingSurveyBefore: \"기록에 따르면 이미 설문 조사를 마치셨습니다.\",\n loadingSurvey: \"설문조사가 로드중입니다...\",\n optionsCaption: \"선택하십시오...\",\n value: \"값\",\n requiredError: \"질문에 답하시오.\",\n requiredErrorInPanel: \"하나 이상의 질문에 답하십시오.\",\n requiredInAllRowsError: \"모든 행에 있는 질문에 답하십시오.\",\n numericError: \"값은 숫자여야 합니다.\",\n textMinLength: \"답변의 길이는 최소 {0}자여야 입니다.\",\n textMaxLength: \"답변의 길이는 {0}자를 초과 할 수 없습니다.\",\n textMinMaxLength: \"답변의 길이는 {0} - {1}자 사이여야 합니다.\",\n minRowCountError: \"최소 {0}개의 행을 채우십시오\",\n minSelectError: \"최소 {0}개의 변수를 선택하십시오.\",\n maxSelectError: \"최대 {0}개의 변수를 선택하십시오.\",\n numericMinMax: \"'{0}'은 {1}보다 크거나 같고 {2}보다 작거나 같아야합니다.\",\n numericMin: \"'{0}'은 {1}보다 크거나 같아야합니다.\",\n numericMax: \"'{0}'은 {1}보다 작거나 같아야합니다.\",\n invalidEmail: \"올바른 이메일 주소를 입력하십시오.\",\n invalidExpression: \"표현식: {0}은 '참'이어야 합니다.\",\n urlRequestError: \"'{0}'으로 잘못된 요청입니다. {1}\",\n urlGetChoicesError: \"비어있는 데이터를 요청했거나 잘못된 속성의 경로입니다.\",\n exceedMaxSize: \"파일 크기가 {0}을 초과 할 수 없습니다.\",\n otherRequiredError: \"다른 질문을 작성하십시오.\",\n uploadingFile: \"파일 업로드 중입니다. 잠시 후 다시 시도하십시오.\",\n loadingFile: \"로드 중...\",\n chooseFile: \"파일 선택...\",\n confirmDelete: \"기록을 삭제하시겠습니까?\",\n keyDuplicationError: \" 이 값은 고유해야합니다.\",\n addColumn: \"열 추가\",\n addRow: \"행 추가\",\n removeRow: \"제거\",\n addPanel: \"새롭게 추가\",\n removePanel: \"제거\",\n choices_Item: \"항목\",\n matrix_column: \"열\",\n matrix_row: \"행\",\n savingData: \"결과가 서버에 저장 중입니다...\",\n savingDataError: \"오류가 발생하여 결과를 저장할 수 없습니다.\",\n savingDataSuccess: \"결과가 성공적으로 저장되었습니다!\",\n saveAgainButton: \"다시 시도하십시오\",\n timerMin: \"분\",\n timerSec: \"초\",\n timerSpentAll: \"현재 페이지에서 {0}을 소요해 총 {1}이 걸렸습니다.\",\n timerSpentPage: \"현재 페이지에서 {0]이 걸렸습니다\",\n timerSpentSurvey: \"총 {0}이 걸렸습니다.\",\n timerLimitAll: \"현재 페이지에서 {0}/{1}을 소요해 총 {2}/{3}이 걸렸습니다.\",\n timerLimitPage: \"현재 페이지에서 {0}/{1}이 걸렸습니다.\",\n timerLimitSurvey: \"총 {0}/{1}이 걸렸습니다.\",\n cleanCaption: \"닦기\",\n clearCaption: \"지우기\"\n};\n\nsurveyLocalization.locales[\"ko\"] = koreanStrings;\nsurveyLocalization.localeNames[\"ko\"] = \"한국어\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/korean.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var latvianSurveyStrings = {\n pagePrevText: \"Atpakaļ\",\n pageNextText: \"Tālāk\",\n completeText: \"Pabeigt\",\n progressText: \"Lappuse {0} no {1}\",\n emptySurvey: \"Nav neviena jautājuma.\",\n completingSurvey: \"Pateicamies Jums par anketas aizpildīšanu!\",\n loadingSurvey: \"Ielāde no servera...\",\n otherItemText: \"Cits (lūdzu, aprakstiet!)\",\n optionsCaption: \"Izvēlēties...\",\n requiredError: \"Lūdzu, atbildiet uz jautājumu!\",\n numericError: \"Atbildei ir jābūt skaitlim.\",\n textMinLength: \"Lūdzu, ievadiet vismaz {0} simbolus.\",\n minSelectError: \"Lūdzu, izvēlieties vismaz {0} variantu.\",\n maxSelectError: \"Lūdzu, izvēlieties ne vairak par {0} variantiem.\",\n numericMinMax:\n \"'{0}' jābūt vienādam vai lielākam nekā {1}, un vienādam vai mazākam, nekā {2}\",\n numericMin: \"'{0}' jābūt vienādam vai lielākam {1}\",\n numericMax: \"'{0}' jābūt vienādam vai lielākam {1}\",\n invalidEmail: \"Lūdzu, ievadiet patiesu e-pasta adresi!\",\n otherRequiredError: 'Lūdzu, ievadiet datus laukā \"Cits\"'\n};\n\nsurveyLocalization.locales[\"lv\"] = latvianSurveyStrings;\nsurveyLocalization.localeNames[\"lv\"] = \"latviešu\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/latvian.ts","//Uncomment this line on creating a translation file\nimport { surveyLocalization } from \"../surveyStrings\";\n\nexport var lithuaniaSurveyStrings = {\n pagePrevText: \"Atgal\",\n pageNextText: \"Toliau\",\n completeText: \"Baigti\",\n startSurveyText: \"Pradėti\",\n otherItemText: \"Kita (įvesti)\",\n noneItemText: \"Nėra\",\n selectAllItemText: \"Pasirinkti visus\",\n progressText: \"Puslapis {0} iš {1}\",\n emptySurvey: \"Apklausoje nėra matomo puslapio ar klausimo.\",\n completingSurvey: \"Dėkojame už dalyvavimą apklausoje!\",\n completingSurveyBefore:\n \"Mūsų įrašai rodo, kad jau atlikote šią apklausą.\",\n loadingSurvey: \"Prašome palaukti...\",\n optionsCaption: \"Pasirinkti...\",\n value: \"reikšmė\",\n requiredError: \"Būtina atsakyti į šį klausimą.\",\n requiredErrorInPanel: \"Būtina atsakyti bent į vieną klausimą.\",\n requiredInAllRowsError: \"Prašome atsakyti į klausimus visose eilutėse.\",\n numericError: \"Turi būti skaičiai.\",\n textMinLength: \"Prašome suvesti bent {0} simbolius.\",\n textMaxLength: \"Prašome suvesti mažiau nei {0} simbolių.\",\n textMinMaxLength: \"Prašome suvesti daugiau nei {0} ir mažiau nei {1} simbolių.\",\n minRowCountError: \"Prašome suvesti ne mažiau nei {0} eilučių.\",\n minSelectError: \"Prašome pasirinkti bent {0} variantų.\",\n maxSelectError: \"Pasirinkite ne daugiau kaip {0} variantus.\",\n numericMinMax:\n \"'{0}' turi būti lygus arba didesnis nei {1} ir lygus arba mažesnis nei {2}\",\n numericMin: \"'{0}' turėtų būti lygus arba didesnis nei {1}\",\n numericMax: \"'{0}' turėtų būti lygus ar mažesnis už {1}\",\n invalidEmail: \"Prašome įvesti galiojantį elektroninio pašto adresą.\",\n invalidExpression: \"Reikšmė: {0} turi grąžinti 'true'.\",\n urlRequestError: \"Užklausa grąžino klaidą'{0}'. {1}\",\n urlGetChoicesError:\n \"Užklausa grąžino tuščius duomenis arba 'path' savybė yra neteisinga\",\n exceedMaxSize: \"Failo dydis neturi viršyti {0}.\",\n otherRequiredError: \"Įveskite kitą reikšmę.\",\n uploadingFile:\n \"Jūsų failas yra keliamas. Palaukite keletą sekundžių ir bandykite dar kartą.\",\n loadingFile: \"Prašome palaukti...\",\n chooseFile: \"Pasirinkti failą(us)...\",\n confirmDelete: \"Ar norite ištrinti įrašą?\",\n keyDuplicationError: \"Ši reikšmė turėtų būti unikali.\",\n addColumn: \"Pridėti stulpelį\",\n addRow: \"Pridėti eilutę\",\n removeRow: \"Ištrinti\",\n addPanel: \"Pridėti naują\",\n removePanel: \"Ištrinti\",\n choices_Item: \"elementas\",\n matrix_column: \"Stulpelis\",\n matrix_row: \"Eilutė\",\n savingData: \"Rezultatai saugomi serveryje...\",\n savingDataError: \"Įvyko klaida ir mes negalėjome išsaugoti rezultatų.\",\n savingDataSuccess: \"Rezultatai buvo išsaugoti sėkmingai!\",\n saveAgainButton: \"Bandyti dar kartą\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Praleidote {0} šiame puslapyje ir {1} iš viso.\",\n timerSpentPage: \"Praleidote {0} šiame puslapyje.\",\n timerSpentSurvey: \"Praleidote {0} iš viso.\",\n timerLimitAll:\n \"Praleidote {0} iš {1} šiame puslapyje ir {2} iš {3} iš viso.\",\n timerLimitPage: \"Praleidote {0} iš {1} šiame puslapyje.\",\n timerLimitSurvey: \"Praleidote {0} iš {1} iš viso.\",\n cleanCaption: \"Išvalyti\",\n clearCaption: \"Valyti\",\n removeFileCaption: \"Ištrinti šį failą\"\n};\n\n//Uncomment these two lines on creating a translation file. You should replace \"en\" and enStrings with your locale (\"fr\", \"de\" and so on) and your variable.\nsurveyLocalization.locales[\"lt\"] = lithuaniaSurveyStrings;\nsurveyLocalization.localeNames[\"lt\"] = \"Lietuvių\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/lithuanian.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var norwegianSurveyStrings = {\n pagePrevText: \"Forrige\",\n pageNextText: \"Neste\",\n completeText: \"Fullfør\",\n startSurveyText: \"Start\",\n otherItemText: \"Annet (beskriv)\",\n progressText: \"Side {0} av {1}\",\n emptySurvey: \"Det er ingen synlig side eller spørsmål i undersøkelsen.\",\n completingSurvey: \"Takk for at du fullførte undersøkelsen!\",\n completingSurveyBefore:\n \"Våre data viser at du allerede har gjennomført denne undersøkelsen.\",\n loadingSurvey: \"Undersøkelsen laster...\",\n optionsCaption: \"Velg...\",\n value: \"verdi\",\n requiredError: \"Vennligst svar på spørsmålet.\",\n requiredErrorInPanel: \"Vennligst svar på minst ett spørsmål.\",\n requiredInAllRowsError: \"Vennligst svar på spørsmål i alle rader.\",\n numericError: \"Verdien skal være numerisk.\",\n textMinLength: \"Vennligst skriv inn minst {0} tegn.\",\n textMaxLength: \"Vennligst skriv inn mindre enn {0} tegn.\",\n textMinMaxLength: \"Vennligst skriv inn mer enn {0} og mindre enn {1} tegn.\",\n minRowCountError: \"Vennligst fyll inn minst {0} rader.\",\n minSelectError: \"Vennligst velg minst {0} varianter.\",\n maxSelectError: \"Vennligst ikke velg mer enn {0} varianter.\",\n numericMinMax:\n \"'{0}' bør være lik eller mer enn {1} og lik eller mindre enn {2}\",\n numericMin: \"'{0}' bør være lik eller mer enn {1}\",\n numericMax: \"'{0}' bør være lik eller mindre enn {1}\",\n invalidEmail: \"Vennligst skriv inn en gyldig e-post adresse.\",\n urlRequestError: \"Forespørselen returnerte feilen '{0}'. {1}\",\n urlGetChoicesError:\n \"Forespørselen returnerte tomme data, eller 'sti' -egenskapen er feil\",\n exceedMaxSize: \"Filstørrelsen bør ikke overstige {0}.\",\n otherRequiredError: \"Vennligst skriv inn den andre verdien.\",\n uploadingFile:\n \"Filen din lastes opp. Vennligst vent noen sekunder og prøv igjen.\",\n confirmDelete: \"Ønsker du å slette posten?\",\n keyDuplicationError: \"Denne verdien skal være unik.\",\n addRow: \"Legg til rad\",\n removeRow: \"Fjern\",\n addPanel: \"Legg til ny\",\n removePanel: \"Fjerne\",\n choices_Item: \"element\",\n matrix_column: \"Kolonne\",\n matrix_row: \"Rad\",\n savingData: \"Resultatene lagres på serveren ...\",\n savingDataError: \"Det oppsto en feil, og vi kunne ikke lagre resultatene.\",\n savingDataSuccess: \"Resultatene ble lagret!\",\n saveAgainButton: \"Prøv igjen\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Du har tilbrakt {0} på denne siden og {1} totalt.\",\n timerSpentPage: \"Du har tilbrakt {0} på denne siden.\",\n timerSpentSurvey: \"Du har tilbrakt {0} totalt.\",\n timerLimitAll:\n \"Du har tilbrakt {0} av {1} på denne siden og totalt {2} av {3}.\",\n timerLimitPage: \"Du har tilbrakt {0} av {1} på denne siden.\",\n timerLimitSurvey: \"Du har tilbrakt {0} av {1} totalt.\",\n cleanCaption: \"Rens\"\n};\nsurveyLocalization.locales[\"no\"] = norwegianSurveyStrings;\nsurveyLocalization.localeNames[\"no\"] = \"norsk\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/norwegian.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var persianSurveyStrings = {\n pagePrevText: \"قبلی\",\n pageNextText: \"بعدی\",\n completeText: \"تکمیل\",\n previewText: \"پیش نمایش\",\n editText: \"ویرایش\",\n startSurveyText: \"شروع\",\n otherItemText: \"دیگر(توضیح)\",\n noneItemText: \"هیچ\",\n selectAllItemText: \"انتخاب همه\",\n progressText: \"صفحه {0} از {1}\",\n panelDynamicProgressText: \"مورد {0} از {1}\",\n questionsProgressText: \"تعداد پاسخ {0}/{1} سوال\",\n emptySurvey: \"صفحه ای یا گزینه ای برای این پرسشنامه موجود نیست.\",\n completingSurvey: \"از شما بابت تکمیل این پرسشنامه متشکریم\",\n completingSurveyBefore:\n \"به نظر می رسد هم هم اکنون پرسشنامه را تکمیل کرده اید.\",\n loadingSurvey: \"درحال ایجاد پرسشنامه\",\n optionsCaption: \"انتخاب کنید...\",\n value: \"مقدار\",\n requiredError: \"لطفا به سوال پاسخ دهید\",\n requiredInAllRowsError: \"لطفا سوالات تمام سطرها را پاسخ دهید.\",\n numericError: \"مقدار باید عددی باشد\",\n textMinLength: \"لطفا حداقل {0} حرف وارد کنید\",\n textMaxLength: \"لطفا کمتر از {0} حرف وارد کنید.\",\n textMinMaxLength: \"لطفا بیشتر از {0} حرف و کمتر از {1} حرف وارد کنید.\",\n minRowCountError: \"لطفا حداقل {0} سطر وارد کنید.\",\n minSelectError: \"حداقل {0} انتخاب کنید.\",\n maxSelectError: \"لطفا بیشتر از {0} انتخاب کنید.\",\n numericMinMax:\n \"'{0}' باید بین {1} و {2} باشد\",\n numericMin: \"'{0}' بزرگتر مساوی {1} باشد\",\n numericMax: \"'{0}' باید کوچکتر یا مساوی {1} باشد\",\n invalidEmail: \"لطفا ایمیل صحیح درج کنید\",\n invalidExpression: \"عبارت: {0} پاسخ باید 'true' باشد.\",\n urlRequestError: \"درخواست با خطا روبرو شد: '{0}'. {1}\",\n urlGetChoicesError:\n \"درخواست مسیری خالی بازگشت داده یا مسیر درست تنظیم نشده\",\n exceedMaxSize: \"بیشترین حجم مجاز فایل: {0}\",\n otherRequiredError: \"مقدار 'دیگر' را وارد کنید\",\n uploadingFile:\n \"فایل در حال آیلود است. لطفا صبر کنید.\",\n loadingFile: \"بارگیری...\",\n chooseFile: \"انتخاب فایل(ها)...\",\n noFileChosen: \"هیچ فایلی انتخاب نشده\",\n confirmDelete: \"آیا مایل به حذف این ردیف هستید؟\",\n keyDuplicationError: \"این مقدار باید غیر تکراری باشد\",\n addColumn: \"ستون جدید\",\n addRow: \"سطر جدید\",\n removeRow: \"حذف\",\n addPanel: \"جدید\",\n removePanel: \"حذف\",\n choices_Item: \"آیتم\",\n matrix_column: \"ستون\",\n matrix_row: \"سطر\",\n savingData: \"نتایج در حال ذخیره سازی در سرور است\",\n savingDataError: \"خطایی در ذخیره سازی نتایج رخ داده است\",\n savingDataSuccess: \"نتایج با موفقیت ذخیره شد\",\n saveAgainButton: \"مجدد تلاش کنید\",\n timerMin: \"دقیقه\",\n timerSec: \"ثانیه\",\n timerSpentAll: \"شما مدت {0} در این صفحه و مدت {1} را در مجموع سپری کرده اید.\",\n timerSpentPage: \"شما مدت {0} را در این صفحه سپری کرده اید.\",\n timerSpentSurvey: \"شما مدت {0} را در مجموع سپری کرده اید.\",\n timerLimitAll:\n \"شما مدت {0} از {1} در این صفحه و مدت {2} از {3} را در مجموع سپری کرده اید.\",\n timerLimitPage: \"شما مدت {0} از {1} را در این صفحه سپری کرده اید.\",\n timerLimitSurvey: \"شما مدت {0} از {1} را در مجموع سپری کرده اید.\",\n cleanCaption: \"پاکسازی\",\n clearCaption: \"خالی کردن\",\n chooseFileCaption: \"انتخاب فایل\",\n removeFileCaption: \"حذف این فایل\",\n booleanCheckedLabel: \"بله\",\n booleanUncheckedLabel: \"خیر\",\n confirmRemoveFile: \"آیا میخواهید این فایل را پاک کنید: {0}?\",\n confirmRemoveAllFiles: \"آیا میخواهید تمام فایل ها را پاک کنید?\",\n questionTitlePatternText: \"عنوان سوال\",\n};\nsurveyLocalization.locales[\"fa\"] = persianSurveyStrings;\nsurveyLocalization.localeNames[\"fa\"] = \"فارْسِى\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/persian.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var polishSurveyStrings = {\n pagePrevText: \"Wstecz\",\n pageNextText: \"Dalej\",\n completeText: \"Gotowe\",\n otherItemText: \"Inna odpowiedź (wpisz)\",\n progressText: \"Strona {0} z {1}\",\n emptySurvey: \"Nie ma widocznych pytań.\",\n completingSurvey: \"Dziękujemy za wypełnienie ankiety!\",\n loadingSurvey: \"Trwa wczytywanie ankiety...\",\n optionsCaption: \"Wybierz...\",\n requiredError: \"Proszę odpowiedzieć na to pytanie.\",\n requiredInAllRowsError: \"Proszę odpowiedzieć na wszystkie pytania.\",\n numericError: \"W tym polu można wpisać tylko liczby.\",\n textMinLength: \"Proszę wpisać co najmniej {0} znaków.\",\n textMaxLength: \"Proszę wpisać mniej niż {0} znaków.\",\n textMinMaxLength: \"Proszę wpisać więcej niż {0} i mniej niż {1} znaków.\",\n minRowCountError: \"Proszę uzupełnić przynajmniej {0} wierszy.\",\n minSelectError: \"Proszę wybrać co najmniej {0} pozycji.\",\n maxSelectError: \"Proszę wybrać nie więcej niż {0} pozycji.\",\n numericMinMax:\n \"Odpowiedź '{0}' powinna być większa lub równa {1} oraz mniejsza lub równa {2}\",\n numericMin: \"Odpowiedź '{0}' powinna być większa lub równa {1}\",\n numericMax: \"Odpowiedź '{0}' powinna być mniejsza lub równa {1}\",\n invalidEmail: \"Proszę podać prawidłowy adres email.\",\n urlRequestError: \"Żądanie zwróciło błąd '{0}'. {1}\",\n urlGetChoicesError:\n \"Żądanie nie zwróciło danych albo ścieżka jest nieprawidłowa\",\n exceedMaxSize: \"Rozmiar przesłanego pliku nie może przekraczać {0}.\",\n otherRequiredError: \"Proszę podać inną odpowiedź.\",\n uploadingFile:\n \"Trwa przenoszenie Twojego pliku, proszę spróbować ponownie za kilka sekund.\",\n addRow: \"Dodaj wiersz\",\n removeRow: \"Usuń\",\n addPanel: \"Dodaj panel\",\n removePanel: \"Usuń\",\n choices_Item: \"element\",\n matrix_column: \"Kolumna\",\n matrix_row: \"Wiersz\",\n savingData: \"Zapisuję wyniki ankiety na serwerze...\",\n savingDataError: \"Wystąpił błąd i wyniki nie mogły zostać zapisane.\",\n savingDataSuccess: \"Wyniki zostały poprawnie zapisane!\",\n saveAgainButton: \"Spróbuj ponownie\",\n timerMin: \"min\",\n timerSec: \"sek\",\n timerSpentAll: \"Spędziłeś {0} na tej stronie a w sumie {1}.\",\n timerSpentPage: \"Spędziłeś {0} na tej stronie.\",\n timerSpentSurvey: \"Spędziłeś w smumie {0}.\",\n timerLimitAll: \"Spędziłeś {0} z {1} na tej stronie a w sumie {2} z {3}.\",\n timerLimitPage: \"Spędziłeś {0} z {1} na tej stronie\",\n timerLimitSurvey: \"Spędziłeś {0} z {1}.\",\n cleanCaption: \"Wyczyść\"\n};\n\nsurveyLocalization.locales[\"pl\"] = polishSurveyStrings;\nsurveyLocalization.localeNames[\"pl\"] = \"polski\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/polish.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var portugueseSurveyStrings = {\n pagePrevText: \"Anterior\",\n pageNextText: \"Próximo\",\n completeText: \"Finalizar\",\n startSurveyText: \"Começar\",\n otherItemText: \"Outros (descrever)\",\n noneItemText: \"Nenhum\",\n selectAllItemText: \"Selecionar Todos\",\n progressText: \"Página {0} de {1}\",\n emptySurvey: \"Não há página visível ou pergunta na pesquisa.\",\n completingSurvey: \"Obrigado por finalizar a pesquisa!\",\n completingSurveyBefore:\n \"Nossos registros mostram que você já finalizou a pesquisa.\",\n loadingSurvey: \"A pesquisa está carregando...\",\n optionsCaption: \"Selecione...\",\n value: \"valor\",\n requiredError: \"Por favor, responda a pergunta.\",\n requiredErrorInPanel: \"Por favor, responda pelo menos uma pergunta.\",\n requiredInAllRowsError: \"Por favor, responda as perguntas em todas as linhas.\",\n numericError: \"O valor deve ser numérico.\",\n textMinLength: \"Por favor, insira pelo menos {0} caracteres.\",\n textMaxLength: \"Por favor, insira menos de {0} caracteres.\",\n textMinMaxLength: \"Por favor, insira mais de {0} e menos de {1} caracteres.\",\n minRowCountError: \"Preencha pelo menos {0} linhas.\",\n minSelectError: \"Selecione pelo menos {0} opções.\",\n maxSelectError: \"Por favor, selecione não mais do que {0} opções.\",\n numericMinMax:\n \"O '{0}' deve ser igual ou superior a {1} e igual ou menor que {2}\",\n numericMin: \"O '{0}' deve ser igual ou superior a {1}\",\n numericMax: \"O '{0}' deve ser igual ou inferior a {1}\",\n invalidEmail: \"Por favor, informe um e-mail válido.\",\n invalidExpression: \"A expressão: {0} deve retornar 'verdadeiro'.\",\n urlRequestError: \"A requisição retornou o erro '{0}'. {1}\",\n urlGetChoicesError:\n \"A requisição não retornou dados ou o 'caminho' da requisição não está correto\",\n exceedMaxSize: \"O tamanho do arquivo não deve exceder {0}.\",\n otherRequiredError: \"Por favor, informe o outro valor.\",\n uploadingFile:\n \"Seu arquivo está sendo carregado. Por favor, aguarde alguns segundos e tente novamente.\",\n loadingFile: \"Carregando...\",\n chooseFile: \"Selecione o(s) arquivo(s)...\",\n confirmDelete: \"Tem certeza que deseja deletar?\",\n keyDuplicationError: \"Esse valor deve ser único.\",\n addColumn: \"Adicionar coluna\",\n addRow: \"Adicionar linha\",\n removeRow: \"Remover linha\",\n addPanel: \"Adicionar novo\",\n removePanel: \"Remover\",\n choices_Item: \"item\",\n matrix_column: \"Coluna\",\n matrix_row: \"Linha\",\n savingData: \"Os resultados esto sendo salvos no servidor...\",\n savingDataError: \"Ocorreu um erro e não foi possível salvar os resultados.\",\n savingDataSuccess: \"Os resultados foram salvos com sucesso!\",\n saveAgainButton: \"Tente novamente\",\n timerMin: \"min\",\n timerSec: \"seg\",\n timerSpentAll: \"Você gastou {0} nesta página e {1} no total.\",\n timerSpentPage: \"Você gastou {0} nesta página.\",\n timerSpentSurvey: \"Você gastou {0} no total.\",\n timerLimitAll:\n \"Você gastou {0} de {1} nesta página e {2} de {3} no total.\",\n timerLimitPage: \"Você gastou {0} de {1} nesta página.\",\n timerLimitSurvey: \"Você gastou {0} de {1} no total.\",\n cleanCaption: \"Limpar\",\n clearCaption: \"Limpar\",\n removeFileCaption: \"Remover este arquivo\",\n booleanCheckedLabel: \"Sim\",\n booleanUncheckedLabel: \"Não\",\n confirmRemoveFile: \"Tem certeza que deseja remover este arquivo: {0}?\",\n confirmRemoveAllFiles: \"Tem certeza que deseja remover todos os arquivos?\",\n questionTitlePatternText: \"Título da questão\",\n};\n\nsurveyLocalization.locales[\"pt\"] = portugueseSurveyStrings;\nsurveyLocalization.localeNames[\"pt\"] = \"português\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/portuguese.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var romanianSurveyStrings: any = {\n pagePrevText: \"Precedent\",\n pageNextText: \"Următor\",\n completeText: \"Finalizare\",\n otherItemText: \"Altul(precizaţi)\",\n progressText: \"Pagina {0} din {1}\",\n emptySurvey: \"Nu sunt întrebări pentru acest chestionar\",\n completingSurvey: \"Vă mulţumim pentru timpul acordat!\",\n loadingSurvey: \"Chestionarul se încarcă...\",\n optionsCaption: \"Alegeţi...\",\n requiredError: \"Răspunsul la această întrebare este obligatoriu.\",\n requiredInAllRowsError: \"Toate răspunsurile sunt obligatorii\",\n numericError: \"Răspunsul trebuie să fie numeric.\",\n textMinLength: \"Trebuie să introduceți minim {0} caractere.\",\n minSelectError: \"Trebuie să selectați minim {0} opţiuni.\",\n maxSelectError: \"Trebuie să selectați maxim {0} opţiuni.\",\n numericMinMax:\n \"Răspunsul '{0}' trebuie să fie mai mare sau egal ca {1} şî mai mic sau egal cu {2}\",\n numericMin: \"Răspunsul '{0}' trebuie să fie mai mare sau egal ca {1}\",\n numericMax: \"Răspunsul '{0}' trebuie să fie mai mic sau egal ca {1}\",\n invalidEmail: \"Trebuie să introduceţi o adresa de email validă.\",\n exceedMaxSize: \"Dimensiunea fişierului nu trebuie să depăşească {0}.\",\n otherRequiredError: \"Trebuie să completați câmpul 'Altul'.\",\n completingSurveyBefore:\n \"Din înregistrările noastre reiese că ați completat deja acest chestionar.\",\n value: \"valoare\",\n requiredErrorInPanel: \"Vă rugăm să răspundeți la cel puțin o întrebare.\",\n textMaxLength: \"Trebuie să introduceți maxim {0} caractere.\",\n textMinMaxLength:\n \"Trebuie să introduceți mai mult de {0} și mai puțin de {1} caractere.\",\n minRowCountError: \"Trebuie să completați minim {0} rânduri.\",\n urlRequestError: \"Request-ul a returnat eroarea '{0}'. {1}\",\n urlGetChoicesError:\n \"Request-ul nu a returnat date sau proprietatea 'path' este incorectă\",\n uploadingFile:\n \"Fișierul dumneavoastră este în curs de încărcare. Vă rugăm așteptați câteva secunde și reveniți apoi.\",\n confirmDelete: \"Sunteți sigur că doriți să ștergeți înregistrarea?\",\n keyDuplicationError: \"Valoarea trebuie să fie unică.\",\n addRow: \"Adăugare rând\",\n removeRow: \"Ștergere\",\n addPanel: \"Adăugare\",\n removePanel: \"Ștergere\",\n choices_Item: \"opțiune\",\n matrix_column: \"Coloană\",\n matrix_row: \"Rând\",\n savingData: \"Rezultatele sunt în curs de salvare...\",\n savingDataError: \"A intervenit o eroare, rezultatele nu au putut fi salvate.\",\n savingDataSuccess: \"Rezultatele au fost salvate cu succes!\",\n saveAgainButton: \"Încercați din nou\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"Ați petrecut {0} pe această pagină și {1} în total.\",\n timerSpentPage: \"Ați petrecut {0} pe această pagină.\",\n timerSpentSurvey: \"Ați petrecut {0} în total.\",\n timerLimitAll:\n \"Ați petrecut {0} din {1} pe această pagină și {2} din {3} în total.\",\n timerLimitPage: \"Ați petrecut {0} din {1} pe această pagină.\",\n timerLimitSurvey: \"Ați petrecut {0} din {1} în total.\"\n};\nsurveyLocalization.locales[\"ro\"] = romanianSurveyStrings;\nsurveyLocalization.localeNames[\"ro\"] = \"română\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/romanian.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var russianSurveyStrings = {\n pagePrevText: \"Назад\",\n pageNextText: \"Далее\",\n completeText: \"Готово\",\n startSurveyText: \"Начать\",\n otherItemText: \"Другое (пожалуйста, опишите)\",\n noneItemText: \"Нет\",\n selectAllItemText: \"Выбрать всё\",\n progressText: \"Страница {0} из {1}\",\n emptySurvey: \"Нет ни одного вопроса.\",\n completingSurvey: \"Благодарим Вас за заполнение анкеты!\",\n completingSurveyBefore:\n \"Вы уже проходили этот опрос.\",\n loadingSurvey: \"Загрузка с сервера...\",\n optionsCaption: \"Выбрать...\",\n value: \"значение\",\n requiredError: \"Пожалуйста, ответьте на вопрос.\",\n requiredErrorInPanel: \"Пожалуйста, ответьте по крайней мере на один вопрос.\",\n requiredInAllRowsError: \"Пожалуйста, ответьте на вопросы в каждой строке.\",\n numericError: \"Ответ должен быть числом.\",\n textMinLength: \"Пожалуйста введите больше {0} символов.\",\n textMaxLength: \"Пожалуйста введите меньше {0} символов.\",\n textMinMaxLength: \"Пожалуйста введите больше {0} и меньше {1} символов.\",\n minRowCountError: \"Пожалуйста, заполните не меньше {0} строк.\",\n minSelectError: \"Пожалуйста, выберите хотя бы {0} вариантов.\",\n maxSelectError: \"Пожалуйста, выберите не более {0} вариантов.\",\n numericMinMax:\n \"'{0}' должно быть не меньше чем {1}, и не больше чем {2}\",\n numericMin: \"'{0}' должно быть не меньше чем {1}\",\n numericMax: \"'{0}' должно быть не больше чем {1}\",\n invalidEmail: \"Пожалуйста, введите действительный адрес электронной почты.\",\n invalidExpression: \"Выражение {0} должно возвращать 'true'.\",\n urlRequestError: \"Запрос вернул ошибку '{0}'. {1}\",\n urlGetChoicesError:\n \"Ответ на запрос пришел пустой или свойство 'path' указано неверно\",\n exceedMaxSize: \"Размер файла не должен превышать {0}.\",\n otherRequiredError: \"Пожалуйста, введите данные в поле 'Другое'\",\n uploadingFile:\n \"Ваш файл загружается. Подождите несколько секунд и попробуйте снова.\",\n loadingFile: \"Загрузка...\",\n chooseFile: \"Выберите файл(ы)...\",\n confirmDelete: \"Вы точно хотите удалить запись?\",\n keyDuplicationError: \"Это значение должно быть уникальным.\",\n addColumn: \"Добавить колонку\",\n addRow: \"Добавить строку\",\n removeRow: \"Удалить\",\n addPanel: \"Добавить новую\",\n removePanel: \"Удалить\",\n choices_Item: \"Вариант\",\n matrix_column: \"Колонка\",\n matrix_row: \"Строка\",\n savingData: \"Результаты сохраняются на сервер...\",\n savingDataError: \"Произошла ошибка, результат не был сохранён.\",\n savingDataSuccess: \"Результат успешно сохранён!\",\n saveAgainButton: \"Попробовать снова\",\n timerMin: \"мин\",\n timerSec: \"сек\",\n timerSpentAll: \"Вы потратили {0} на этой странице и {1} всего.\",\n timerSpentPage: \"Вы потратили {0} на этой странице.\",\n timerSpentSurvey: \"Вы потратили {0} в течение теста.\",\n timerLimitAll:\n \"Вы потратили {0} из {1} на этой странице и {2} из {3} для всего теста.\",\n timerLimitPage: \"Вы потратили {0} из {1} на этой странице.\",\n timerLimitSurvey: \"Вы потратили {0} из {1} для всего теста.\",\n cleanCaption: \"Очистить\",\n clearCaption: \"Очистить\",\n removeFileCaption: \"Удалить файл\"\n};\n\nsurveyLocalization.locales[\"ru\"] = russianSurveyStrings;\nsurveyLocalization.localeNames[\"ru\"] = \"русский\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/russian.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var simplifiedChineseSurveyStrings = {\n pagePrevText: \"上一页\",\n pageNextText: \"下一页\",\n completeText: \"提交问卷\",\n startSurveyText: \"开始问卷\",\n otherItemText: \"填写其他答案\",\n noneItemText: \"无\",\n selectAllItemText: \"选择全部\",\n progressText: \"第 {0} 页, 共 {1} 页\",\n questionsProgressText: \"第 {0}/{1} 题\",\n emptySurvey: \"问卷中没有问题或页面\",\n completingSurveyBefore: \"你已完成问卷.\",\n completingSurvey: \"感谢您的参与!\",\n loadingSurvey: \"问卷正在加载中...\",\n optionsCaption: \"请选择...\",\n value: \"值\",\n requiredError: \"请填写此问题\",\n requiredErrorInPanel: \"至少回答一题.\",\n requiredInAllRowsError: \"请填写所有行中问题\",\n numericError: \"答案必须是个数字\",\n textMinLength: \"答案长度至少 {0} 个字符\",\n textMaxLength: \"答案长度不能超过 {0} 个字符\",\n textMinMaxLength: \"答案长度必须在 {0} - {1} 个字符之间\",\n minRowCountError: \"最少需要填写 {0} 行答案\",\n minSelectError: \"最少需要选择 {0} 项答案\",\n maxSelectError: \"最多只能选择 {0} 项答案\",\n numericMinMax: \"答案 '{0}' 必须大于等于 {1} 且小于等于 {2}\",\n numericMin: \"答案 '{0}' 必须大于等于 {1}\",\n numericMax: \"答案 '{0}' 必须小于等于 {1}\",\n invalidEmail: \"请输入有效的 Email 地址\",\n invalidExpression: \"公式: {0} 无效.\", \n urlRequestError: \"载入选项时发生错误 '{0}': {1}\",\n urlGetChoicesError: \"未能载入有效的选项或请求参数路径有误\",\n exceedMaxSize: \"文件大小不能超过 {0}\",\n otherRequiredError: \"请完成其他问题\",\n uploadingFile: \"文件上传中... 请耐心等待几秒后重试\",\n loadingFile: \"加载...\",\n chooseFile: \"选择文件...\",\n noFileChosen: \"未选择文件\",\n confirmDelete: \"删除记录?\",\n keyDuplicationError: \"主键不能重复\",\n addColumn: \"添加列\",\n addRow: \"添加行\",\n removeRow: \"删除答案\",\n addPanel: \"新添\",\n removePanel: \"删除\",\n choices_Item: \"选项\",\n matrix_column: \"列\",\n matrix_row: \"行\",\n savingData: \"正在将结果保存到服务器...\",\n savingDataError: \"在保存结果过程中发生了错误,结果未能保存\",\n savingDataSuccess: \"结果保存成功!\",\n saveAgainButton: \"请重试\",\n timerMin: \"分\",\n timerSec: \"秒\",\n timerSpentAll: \"本页用时 {0} 总计用时{1} .\",\n timerSpentPage: \"本页用时{0} .\",\n timerSpentSurvey: \"总计用时 {0} .\",\n timerLimitAll:\n \"本页用时 {0} 共 {1}, 总计用时 {2} 共 {3} .\",\n timerLimitPage: \"本页用时 {0} 共 {1} .\",\n timerLimitSurvey: \"总计用时 {0} 共 {1}.\",\n cleanCaption: \"清理\",\n clearCaption: \"清除\",\n removeFileCaption: \"移除文件\"\n};\n\nsurveyLocalization.locales[\"zh-cn\"] = simplifiedChineseSurveyStrings;\nsurveyLocalization.localeNames[\"zh-cn\"] = \"简体中文\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/simplified-chinese.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var spanishSurveyStrings = {\n pagePrevText: \"Anterior\",\n pageNextText: \"Siguiente\",\n completeText: \"Completar\",\n otherItemText: \"Otro (describa)\",\n progressText: \"Página {0} de {1}\",\n emptySurvey: \"No hay página visible o pregunta en la encuesta.\",\n completingSurvey: \"Gracias por completar la encuesta!\",\n loadingSurvey: \"La encuesta está cargando...\",\n optionsCaption: \"Seleccione...\",\n requiredError: \"Por favor conteste la pregunta.\",\n requiredInAllRowsError: \"Por favor conteste las preguntas en cada hilera.\",\n numericError: \"La estimación debe ser numérica.\",\n textMinLength: \"Por favor entre por lo menos {0} símbolos.\",\n textMaxLength: \"Por favor entre menos de {0} símbolos.\",\n textMinMaxLength: \"Por favor entre más de {0} y menos de {1} símbolos.\",\n minRowCountError: \"Por favor llene por lo menos {0} hileras.\",\n minSelectError: \"Por favor seleccione por lo menos {0} variantes.\",\n maxSelectError: \"Por favor seleccione no más de {0} variantes.\",\n numericMinMax:\n \"El '{0}' debe de ser igual o más de {1} y igual o menos de {2}\",\n numericMin: \"El '{0}' debe ser igual o más de {1}\",\n numericMax: \"El '{0}' debe ser igual o menos de {1}\",\n invalidEmail: \"Por favor agregue un correo electrónico válido.\",\n urlRequestError: \"La solicitud regresó error '{0}'. {1}\",\n urlGetChoicesError:\n \"La solicitud regresó vacío de data o la propiedad 'trayectoria' no es correcta\",\n exceedMaxSize: \"El tamaño del archivo no debe de exceder {0}.\",\n otherRequiredError: \"Por favor agregue la otra estimación.\",\n uploadingFile:\n \"Su archivo se está subiendo. Por favor espere unos segundos e intente de nuevo.\",\n addRow: \"Agregue una hilera\",\n removeRow: \"Eliminar una hilera\",\n choices_firstItem: \"primer artículo\",\n choices_secondItem: \"segundo artículo\",\n choices_thirdItem: \"tercera artículo\",\n matrix_column: \"Columna\",\n matrix_row: \"Hilera\"\n};\n\nsurveyLocalization.locales[\"es\"] = spanishSurveyStrings;\nsurveyLocalization.localeNames[\"es\"] = \"español\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/spanish.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var swahiliStrings = {\n pagePrevText: \"Iliyotangulia\",\n pageNextText: \"Ifuatayo\",\n completeText: \"Kamili\",\n previewText: \"Hakiki\",\n editText: \"Hariri\",\n startSurveyText: \"Anza\",\n otherItemText: \"Nyingine (eleza)\",\n noneItemText: \"Hakuna\",\n selectAllItemText: \"Chagua Zote\",\n progressText: \"Ukurasa {0} wa {1}\",\n panelDynamicProgressText: \"Rekodi {0} ya {1}\",\n questionsProgressText: \"Yaliyojibiwa {0}/{1} maswali\",\n emptySurvey: \"Hakuna ukurasa unaoonekana au swali katika utafiti.\",\n completingSurvey: \"Asanti kwa kukamilisha utafiti!\",\n completingSurveyBefore:\n \"Recodi zetu zinatuonyesha tayari umekamilisha utafiti.\",\n loadingSurvey: \"Tunaandaa utafiti...\",\n optionsCaption: \"Chagua...\",\n value: \"thamani\",\n requiredError: \"Tafadhali jibu hili swali.\",\n requiredErrorInPanel: \"Tafadhali jibu swali angalau moja.\",\n requiredInAllRowsError: \"Tafadhali jibu maswali katika safu zote.\",\n numericError: \"Thamani inapaswa kuwa ya nambari.\",\n textMinLength: \"Tafadhali ingiza angalau{0} husika.\",\n textMaxLength: \"Tafadhali ingiza isiozidi {0} husika.\",\n textMinMaxLength: \"Tafadhali ingiza kiwango zaidi ya {0} na kisichopungua {1} husika.\",\n minRowCountError: \"Tafadhali jaza isiopungua {0} safu.\",\n minSelectError: \"Tafadhali chagua angalau {0} lahaja.\",\n maxSelectError: \"Tafadhali changua isiozidi {0} lahaja.\",\n numericMinMax:\n \" '{0}' inapaswa kuwa sawa au zaidi ya {1} na sawa au chini ya {2}\",\n numericMin: \" '{0}'inapaswa kuwa sawa au zaidi ya {1}\",\n numericMax: \" '{0}'inapaswa kuwa sawa au chini ya {1}\",\n invalidEmail: \"Tafadhali ingiza anwani halali ya barua-pepe.\",\n invalidExpression: \"Usemi:{0} inapaswa kurudi 'kweli'.\",\n urlRequestError: \"Ombi lina kosa '{0}'. {1}\",\n urlGetChoicesError:\n \"Ombi lilirudisha data tupu au the 'path' mali ya njia sio sahihi\",\n exceedMaxSize: \"Saizi ya faili haipaswi kuzidi {0}.\",\n otherRequiredError: \"Tafadhali ingiza thamani nyingine.\",\n uploadingFile:\n \"Faili yako inapakia.Tafadhali subiri sekunde kadhaa na ujaribu tena.\",\n loadingFile: \"Inapakia...\",\n chooseFile: \"Chagua faili...\",\n noFileChosen: \"Hujachagua faili\",\n confirmDelete: \"Je! Unataka kufuta rekodi?\",\n keyDuplicationError: \"Thamani hii inapaswa kuwa ya kipekee.\",\n addColumn: \"Ongeza Kolamu\",\n addRow: \"Ongeza safu\",\n removeRow: \"Toa\",\n addPanel: \"Ongeza mpya\",\n removePanel: \"Toa\",\n choices_Item: \"kitu\",\n matrix_column: \"Kolamu\",\n matrix_row: \"Safu\",\n savingData: \"Matokeo yamehifadhiwa kwa seva...\",\n savingDataError: \"Kosa limetokea na hatukuweza kuhifadhi matokeo.\",\n savingDataSuccess: \"Matokeo yamehifadhiwa!\",\n saveAgainButton: \"Jaribu tena\",\n timerMin: \"dakika\",\n timerSec: \"sekunde\",\n timerSpentAll: \"Umetumia {0} kwenye ukurasa huu na {1} kwa jumla.\",\n timerSpentPage: \"Umetumia {0} kwenye ukurasa huu.\",\n timerSpentSurvey: \"Umetumia {0} kwa jumla.\",\n timerLimitAll:\n \"Umetumia {0} ya {1} kwenye ukurasa huu {2} wa {3} kwa jumla.\",\n timerLimitPage: \"Umetumia {0} ya {1} kwenye ukurasa huu.\",\n timerLimitSurvey: \"Umetumia {0} ya {1} kwa jumla.\",\n cleanCaption: \"Safisha\",\n clearCaption: \"Ondoa\",\n chooseFileCaption: \"Chagua faili\",\n removeFileCaption: \"Ondoa faili\",\n booleanCheckedLabel: \"Ndio\",\n booleanUncheckedLabel: \"Hapana\",\n confirmRemoveFile: \"Je! Una uhakika kuwa unataka kuondoa faili hii: {0}?\",\n confirmRemoveAllFiles: \"Je! Una uhakika kuwa unataka kuondoa faili zote?\",\n questionTitlePatternText: \"Kichwa cha Swali\",\n};\n\n\nsurveyLocalization.locales[\"sw\"] = swahiliStrings;\nsurveyLocalization.localeNames[\"sw\"] = \"Swahili\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/swahili.ts","//Create by Mattias Asplund\nimport { surveyLocalization } from \"../surveyStrings\";\n\nexport var swedishSurveyStrings = {\n pagePrevText: \"Föregående\",\n pageNextText: \"Nästa\",\n completeText: \"Färdig\",\n otherItemText: \"Annat (beskriv)\",\n progressText: \"Sida {0} av {1}\",\n emptySurvey: \"Det finns ingen synlig sida eller fråga i enkäten.\",\n completingSurvey: \"Tack för att du genomfört enkäten!!\",\n loadingSurvey: \"Enkäten laddas...\",\n optionsCaption: \"Välj...\",\n requiredError: \"Var vänlig besvara frågan.\",\n requiredInAllRowsError: \"Var vänlig besvara frågorna på alla rader.\",\n numericError: \"Värdet ska vara numeriskt.\",\n textMinLength: \"Var vänlig ange minst {0} tecken.\",\n minRowCountError: \"Var vänlig fyll i minst {0} rader.\",\n minSelectError: \"Var vänlig välj åtminstone {0} varianter.\",\n maxSelectError: \"Var vänlig välj inte fler än {0} varianter.\",\n numericMinMax:\n \"'{0}' ska vara lika med eller mer än {1} samt lika med eller mindre än {2}\",\n numericMin: \"'{0}' ska vara lika med eller mer än {1}\",\n numericMax: \"'{0}' ska vara lika med eller mindre än {1}\",\n invalidEmail: \"Var vänlig ange en korrekt e-postadress.\",\n urlRequestError: \"Förfrågan returnerade felet '{0}'. {1}\",\n urlGetChoicesError:\n \"Antingen returnerade förfrågan ingen data eller så är egenskapen 'path' inte korrekt\",\n exceedMaxSize: \"Filstorleken får ej överstiga {0}.\",\n otherRequiredError: \"Var vänlig ange det andra värdet.\",\n uploadingFile:\n \"Din fil laddas upp. Var vänlig vänta några sekunder och försök sedan igen.\",\n addRow: \"Lägg till rad\",\n removeRow: \"Ta bort\"\n};\n\nsurveyLocalization.locales[\"sv\"] = swedishSurveyStrings;\nsurveyLocalization.localeNames[\"sv\"] = \"svenska\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/swedish.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var tajikSurveyStrings = {\n pagePrevText: \"Бозгашт\",\n pageNextText: \"Оянда\",\n completeText: \"Иҷро шуд\",\n startSurveyText: \"Оғоз\",\n otherItemText: \"Дигар (лутфан тавсиф кунед)\",\n noneItemText: \"Не\",\n selectAllItemText: \"Ҳамаро интихоб кардан\",\n progressText: \"Саҳифаи {0} аз {1}\",\n emptySurvey: \"Ягон савол вуҷуд надорад.\",\n completingSurvey: \"Ташаккур барои пур кардани саволнома!\",\n completingSurveyBefore:\n \"Шумо аллакай ин пурсишро анҷом додаед.\",\n loadingSurvey: \"Боргирӣ аз сервер...\",\n optionsCaption: \"Интихоб кардан...\",\n value: \"қиммат\",\n requiredError: \"Илтимос, ба савол ҷавоб диҳед.\",\n requiredErrorInPanel: \"Илтимос, ақалан ба як савол ҷавоб диҳед.\",\n requiredInAllRowsError: \"Илтимос, ба ҳамаи саволҳо дар ҳамаи сатрҳо ҷавоб диҳед.\",\n numericError: \"Ҷавоб бояд рақам бошад.\",\n textMinLength: \"Илтимос, аз {0} зиёдтар рамз ворид кунед.\",\n textMaxLength: \"Илтимос, аз {0} камтар рамз ворид кунед.\",\n textMinMaxLength: \"Илтимос, аз {0} зиёдтар ва аз {1} камтар рамз ворид кунед.\",\n minRowCountError: \"Илтимос, на камтар аз {0} сатр пур кунед.\",\n minSelectError: \"Илтимос, ақалан {0} вариант интихоб кунед.\",\n maxSelectError: \"Илтимос, на зиёдтар аз {0} вариант интихоб кунед.\",\n numericMinMax:\n \"'{0}' бояд на кам аз {1} ва на бисёр аз {2} бошад\",\n numericMin: \"'{0}' бояд на кам аз {1} бошад\",\n numericMax: \"'{0}' бояд на зиёд аз {1} бошад\",\n invalidEmail: \"Илтимос, почтаи электронии воқеиро ворид кунед.\",\n invalidExpression: \"Ифодаи {0} бояд 'true' баргардонад.\",\n urlRequestError: \"Дархост хатогӣ бозгардонд '{0}'. {1}\",\n urlGetChoicesError:\n \"Ҷавоб ба дархост холӣ омад ё хосияти 'path' нодуруст муайян карда шудааст\",\n exceedMaxSize: \"Андозаи файл бояд на калон аз {0} бошад.\",\n otherRequiredError: \"Илтимос, ба майдони 'Дигар' додаҳоро ворид кунед\",\n uploadingFile:\n \"Файли шумо бор шуда истодааст. Якчанд сония интизор шавед ва бори дигар кӯшиш кунед.\",\n loadingFile: \"Боркунӣ...\",\n chooseFile: \"Файл(ҳо)-ро интихоб кунед...\",\n confirmDelete: \"Шумо мутмаин ҳастед, ки мехоҳед воридро тоза кунед?\",\n keyDuplicationError: \"Ин арзиш бояд беназир бошад.\",\n addColumn: \"Иловаи сутун\",\n addRow: \"Иловаи сатр\",\n removeRow: \"Нест кардан\",\n addPanel: \"Илова кардан\",\n removePanel: \"Нест кардан\",\n choices_Item: \"Вариант\",\n matrix_column: \"Сутун\",\n matrix_row: \"Сатр\",\n savingData: \"Натиҷа ба сервер сабт шуда истодаанд...\",\n savingDataError: \"Хатогӣ ба амал омад, натиҷа сабт нашуд.\",\n savingDataSuccess: \"Натиҷа бомуваффакият сабт шуд!\",\n saveAgainButton: \"Бори дигар кӯшиш карданд\",\n timerMin: \"дақ\",\n timerSec: \"сон\",\n timerSpentAll: \"Шумо {0} дар ин саҳифа ва {1} дар умум сарф кардед.\",\n timerSpentPage: \"Шумо {0} дар ин саҳифа сарф кардед.\",\n timerSpentSurvey: \"Шумо {0} дар ин тест сарф намудед.\",\n timerLimitAll:\n \"Шумо {0} аз {1} дар ин саҳифа ва {2} аз {3} дар умум сарф кардед дар дохили ин тест.\",\n timerLimitPage: \"Шумо {0} аз {1} дар ин саҳифа сарф кардед.\",\n timerLimitSurvey: \"Шумо {0} аз {1} дар ҳамаи тест сарф кардед.\",\n cleanCaption: \"Тоза кардан\",\n clearCaption: \"Тоза кардан\",\n removeFileCaption: \"Файлро нест кардан\"\n};\n\nsurveyLocalization.locales[\"tg\"] = tajikSurveyStrings;\nsurveyLocalization.localeNames[\"tg\"] = \"тоҷикӣ\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/tajik.ts","//Created by Padet Taweekunkan\nimport { surveyLocalization } from \"../surveyStrings\";\n\nexport var thaiStrings = {\n pagePrevText: \"ก่อนหน้า\",\n pageNextText: \"ถัดไป\",\n completeText: \"สำเร็จ\",\n startSurveyText: \"เริ่ม\",\n otherItemText: \"อื่นๆ (โปรดระบุ)\",\n noneItemText: \"ไม่มี\",\n selectAllItemText: \"เลือกทั้งหมด\",\n progressText: \"หน้าที่ {0} จาก {1}\",\n panelDynamicProgressText: \"รายการที่ {0} จาก {1}\",\n questionsProgressText: \"คำตอบที่ {0}/{1} จำนวนคำถาม\",\n emptySurvey: \"ไม่มีหน้าเพจที่มองเห็น หรือ คำถามใน survey นี้\",\n completingSurvey: \"ขอบคุณที่ทำ survey จนเสร็จ\",\n completingSurveyBefore:\n \"รายการของเราแสดงว่าคุณได้ทำ survey เสร็จเรียบร้อยแล้ว\",\n loadingSurvey: \"กำลังโหลด Survey...\",\n optionsCaption: \"เลือก...\",\n value: \"ข้อมูล\",\n requiredError: \"กรุณาตอบคำถาม\",\n requiredErrorInPanel: \"กรุณาตอบขั้นต่ำหนึ่งคำถาม\",\n requiredInAllRowsError: \"กรุณาตอบคำถามในทุกๆแถว\",\n numericError: \"ข้อมูลที่ใส่ต้องเป็นตัวเลข\",\n textMinLength: \"กรุณาใส่ขั้นต่ำจำนวน {0} ตัวอักษร\",\n textMaxLength: \"กรุณาใส่ไม่เกินจำนวน {0} ตัวอักษร\",\n textMinMaxLength: \"กรุณาใส่ขั้นต่ำจำนวน {0} และไม่เกินจำนวน {1} ตัวอักษร\",\n minRowCountError: \"กรุณาใส่ขั้นต่ำจำนวน {0} แถว\",\n minSelectError: \"กรุณาเลือกอย่างน้อย {0} รายการ\",\n maxSelectError: \"กรุณาเลือกไม่เกิน {0} รายการ\",\n numericMinMax: \"'{0}' ต้องมากกว่าหรือเท่ากับ {1} และน้อยกว่าหรือเท่ากับ {2}\",\n numericMin: \"'{0}' ต้องมากกว่าหรือเท่ากับ {1}\",\n numericMax: \"'{0}' น้อยกว่าหรือเท่ากับ {1}\",\n invalidEmail: \"กรุณาใส่อีเมล์แอดเดรสที่ถูกต้อง\",\n invalidExpression: \"The expression: {0} ต้องรีเทิร์น 'true'.\",\n urlRequestError: \"รีเควสรีเทิร์น error '{0}'. {1}\",\n urlGetChoicesError:\n \"รีเควสรีเทิร์นข้อมูลว่างเปล่า หรือ 'path' property ไม่ถูกต้อง\",\n exceedMaxSize: \"ขนาดไฟล์ต้องไม่เกิน {0}.\",\n otherRequiredError: \"กรุณาใส่ค่าอื่น\",\n uploadingFile:\n \"ไฟล์ของคุณกำลังอัพโหลดอยู่. กรุณารอสักครู่แล้วทำการลองอีกครั้ง\",\n loadingFile: \"กำลังโหลด...\",\n chooseFile: \"เลือกไฟล์...\",\n noFileChosen: \"ไม่ไฟล์ที่เลือก\",\n confirmDelete: \"คุณต้องการลบรายการนี้จริงหรือไม่?\",\n keyDuplicationError: \"ข้อมูลนี้ต้องเป็น unique.\",\n addColumn: \"เพิ่มคอลัมน์\",\n addRow: \"เพิ่มแถว\",\n removeRow: \"ลบ\",\n addPanel: \"เพิ่ม\",\n removePanel: \"ลบ\",\n choices_Item: \"ชิ้น\",\n matrix_column: \"คอลัมน์\",\n matrix_row: \"แถว\",\n savingData: \"ผลลัพท์กำลังบันทึกลงที่เซิร์ฟเวอร์...\",\n savingDataError: \"มีความผิดพลาดเกิดขึ้นส่งผลให้ไม่สามารถบันทึกผลได้\",\n savingDataSuccess: \"บันทึกสำเร็จแล้ว\",\n saveAgainButton: \"รบกวนลองอีกครั้ง\",\n timerMin: \"นาที\",\n timerSec: \"วินาที\",\n timerSpentAll: \"คุณใช้เวลา {0} บนหน้านี้และ {1} รวมทั้งหมด\",\n timerSpentPage: \"คุณใช้เวลา {0} บนหน้านี้\",\n timerSpentSurvey: \"คุณใช้เวลา {0} รวมทั้งหมด\",\n timerLimitAll: \"คุณใช้เวลา {0} ของ {1} บนหน้านี้และ {2} ของ {3} รวมทั้งหมด\",\n timerLimitPage: \"คุณใช้เวลา {0} ของ {1} บนหน้านี้\",\n timerLimitSurvey: \"คุณใช้เวลา {0} ของ {1} รวมทั้งหมด\",\n cleanCaption: \"คลีน\",\n clearCaption: \"เคลียร์\",\n chooseFileCaption: \"เลือกไฟล์\",\n removeFileCaption: \"นำไฟล์นี้ออก\",\n booleanCheckedLabel: \"ใช่\",\n booleanUncheckedLabel: \"ไม่ใช่\",\n confirmRemoveFile: \"คุณแน่ใจที่จะนำไฟล์นี้ออกใช่หรือไม่: {0}?\",\n confirmRemoveAllFiles: \"คุณแน่ใจที่จะนำไฟล์ทั้งหมดออกใช่หรือไม่\",\n questionTitlePatternText: \"ชื่อคำถาม\",\n};\n\n//Uncomment these two lines on creating a translation file. You should replace \"en\" and enStrings with your locale (\"fr\", \"de\" and so on) and your variable.\nsurveyLocalization.locales[\"th\"] = thaiStrings;\nsurveyLocalization.localeNames[\"th\"] = \"ไทย\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/thai.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var traditionalChineseSurveyStrings = {\n pagePrevText: \"上一頁\",\n pageNextText: \"下一頁\",\n completeText: \"提交問卷\",\n otherItemText: \"填寫其他答案\",\n progressText: \"第 {0} 頁, 共 {1} 頁\",\n emptySurvey: \"問卷中沒有問題或頁面\",\n completingSurvey: \"感謝您的參與!\",\n loadingSurvey: \"問卷載入中...\",\n optionsCaption: \"請選擇...\",\n requiredError: \"請填寫此問題\",\n requiredInAllRowsError: \"請填寫所有行中問題\",\n numericError: \"答案必須是個數字\",\n textMinLength: \"答案長度至少 {0} 個字元\",\n textMaxLength: \"答案長度不能超過 {0} 個字元\",\n textMinMaxLength: \"答案長度必須在 {0} - {1} 個字元之間\",\n minRowCountError: \"最少需要填寫 {0} 行答案\",\n minSelectError: \"最少需要選擇 {0} 項答案\",\n maxSelectError: \"最多只能選擇 {0} 項答案\",\n numericMinMax: \"答案 '{0}' 必須大於等於 {1} 且小於等於 {2}\",\n numericMin: \"答案 '{0}' 必須大於等於 {1}\",\n numericMax: \"答案 '{0}' 必須小於等於 {1}\",\n invalidEmail: \"請輸入有效的 Email 地址\",\n urlRequestError: \"載入選項時發生錯誤 '{0}': {1}\",\n urlGetChoicesError: \"未能載入有效的選項或請求參數路徑有誤\",\n exceedMaxSize: \"文件大小不能超過 {0}\",\n otherRequiredError: \"請完成其他問題\",\n uploadingFile: \"文件上傳中... 請耐心等待幾秒後重試\",\n addRow: \"添加答案\",\n removeRow: \"刪除答案\",\n choices_Item: \"選項\",\n matrix_column: \"列\",\n matrix_row: \"行\",\n savingData: \"正在將結果保存到服務器...\",\n savingDataError: \"在保存結果過程中發生了錯誤,結果未能保存\",\n savingDataSuccess: \"結果保存成功!\",\n saveAgainButton: \"請重試\"\n};\n\nsurveyLocalization.locales[\"zh-tw\"] = traditionalChineseSurveyStrings;\nsurveyLocalization.localeNames[\"zh-tw\"] = \"繁體中文\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/traditional-chinese.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var turkishSurveyStrings = {\n pagePrevText: \"Geri\",\n pageNextText: \"İleri\",\n completeText: \"Anketi Tamamla\",\n otherItemText: \"Diğer (açıklayınız)\",\n progressText: \"Sayfa {0} / {1}\",\n emptySurvey: \"Ankette görüntülenecek sayfa ya da soru mevcut değil.\",\n completingSurvey: \"Anketimizi tamamladığınız için teşekkür ederiz.\",\n loadingSurvey: \"Anket sunucudan yükleniyor ...\",\n optionsCaption: \"Seçiniz ...\",\n requiredError: \"Lütfen soruya cevap veriniz\",\n numericError: \"Girilen değer numerik olmalıdır\",\n textMinLength: \"En az {0} sembol giriniz.\",\n minRowCountError: \"Lütfen en az {0} satırı doldurun.\",\n minSelectError: \"Lütfen en az {0} seçeneği seçiniz.\",\n maxSelectError: \"Lütfen {0} adetten fazla seçmeyiniz.\",\n numericMinMax:\n \"The '{0}' should be equal or more than {1} and equal or less than {2}\",\n numericMin: \"'{0}' değeri {1} değerine eşit veya büyük olmalıdır\",\n numericMax: \"'{0}' değeri {1} değerine eşit ya da küçük olmalıdır.\",\n invalidEmail: \"Lütfen geçerli bir eposta adresi giriniz.\",\n urlRequestError: \"Talebi şu hatayı döndü '{0}'. {1}\",\n urlGetChoicesError:\n \"Talep herhangi bir veri dönmedi ya da 'path' özelliği hatalı.\",\n exceedMaxSize: \"Dosya boyutu {0} değerini geçemez.\",\n otherRequiredError: \"Lütfen diğer değerleri giriniz.\",\n uploadingFile:\n \"Dosyanız yükleniyor. LÜtfen birkaç saniye bekleyin ve tekrar deneyin.\",\n addRow: \"Satır Ekle\",\n removeRow: \"Kaldır\"\n};\n\nsurveyLocalization.locales[\"tr\"] = turkishSurveyStrings;\nsurveyLocalization.localeNames[\"tr\"] = \"türkçe\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/turkish.ts","import { surveyLocalization } from \"../surveyStrings\";\n\nexport var ukrainianSurveyStrings = {\n pagePrevText: \"Назад\",\n pageNextText: \"Далі\",\n completeText: \"Завершити\",\n startSurveyText: \"Почати\",\n otherItemText: \"Інше (будь ласка, опишіть)\",\n noneItemText: \"Жоден\",\n selectAllItemText: \"Вибрати все\",\n progressText: \"Сторінка {0} з {1}\",\n questionsProgressText: \"Відповіли на {0}/{1} питань\",\n emptySurvey: \"Немає жодного питання.\",\n completingSurvey: \"Дякуємо Вам за заповнення анкети!\",\n completingSurveyBefore:\n \"Ви вже проходили це опитування.\",\n loadingSurvey: \"Завантаження опитування...\",\n optionsCaption: \"Вибрати...\",\n value: \"значення\",\n requiredError: \"Будь ласка, дайте відповідь.\",\n requiredErrorInPanel: \"Будь ласка, дайте відповідь хоча б на одне питання.\",\n requiredInAllRowsError: \"Будь ласка, дайте відповідь на питання в кожному рядку.\",\n numericError: \"Відповідь повинна бути числом.\",\n textMinLength: \"Будь ласка введіть більше {0} символів.\",\n textMaxLength: \"Будь ласка введіть менше {0} символів.\",\n textMinMaxLength: \"Будь ласка введіть більше {0} и менше {1} символів.\",\n minRowCountError: \"Будь ласка, заповніть не менше {0} рядків.\",\n minSelectError: \"Будь ласка, виберіть хоча б {0} варіантів.\",\n maxSelectError: \"Будь ласка, виберіть не більше {0} варіантів.\",\n numericMinMax:\n \"'{0}' повинно бути не менше ніж {1}, і не більше ніж {2}\",\n numericMin: \"'{0}' повинно бути не менше ніж {1}\",\n numericMax: \"'{0}' повинно бути не більше ніж {1}\",\n invalidEmail: \"Будь ласка, введіть дійсну адресу електронної пошти.\",\n invalidExpression: \"Вираз {0} повинен повертати 'true'.\",\n urlRequestError: \"Запит повернув помилку '{0}'. {1}\",\n urlGetChoicesError:\n \"Відповідь на запит повернулась порожньою або властивіть 'path' вказано невірно\",\n exceedMaxSize: \"Розмір файлу не повинен перевищувати {0}.\",\n otherRequiredError: \"Будь ласка, введіть дані в поле 'Інше'\",\n uploadingFile:\n \"Ваш файл завантажується. Зачекайте декілька секунд і спробуйте знову.\",\n loadingFile: \"Завантаження...\",\n chooseFile: \"Виберіть файл(и)...\",\n noFileChosen: \"Файл не вибрано\",\n confirmDelete: \"Ви хочете видалити запис?\",\n keyDuplicationError: \"Це значення повинно бути унікальним.\",\n addColumn: \"Додати колонку\",\n addRow: \"Додати рядок\",\n removeRow: \"Видалити\",\n addPanel: \"Додати нову\",\n removePanel: \"Видалити\",\n choices_Item: \"Варіант\",\n matrix_column: \"Колонка\",\n matrix_row: \"Рядок\",\n savingData: \"Результати зберігаються на сервер...\",\n savingDataError: \"Відбулася помилка, результат не був збережений.\",\n savingDataSuccess: \"Резвультат успішно збережений!\",\n saveAgainButton: \"Спробувати знову\",\n timerMin: \"хв\",\n timerSec: \"сек\",\n timerSpentAll: \"Ви витратили {0} на цій сторінці і {1} загалом.\",\n timerSpentPage: \"Ви витратили {0} на цій сторінці.\",\n timerSpentSurvey: \"Ви витратили {0} протягом тесту.\",\n timerLimitAll:\n \"Ви витратили {0} з {1} на цій сторінці і {2} з {3} для всього тесту.\",\n timerLimitPage: \"Ви витратили {0} з {1} на цій сторінці.\",\n timerLimitSurvey: \"Ви витратили {0} з {1} для всього тесту.\",\n cleanCaption: \"Очистити\",\n clearCaption: \"Очистити\",\n removeFileCaption: \"Видалити файл\"\n};\n\nsurveyLocalization.locales[\"ua\"] = ukrainianSurveyStrings;\nsurveyLocalization.localeNames[\"ua\"] = \"українська\";\n\n\n\n// WEBPACK FOOTER //\n// ./src/localization/ukrainian.ts","import { HashTable, Helpers } from \"./helpers\";\nimport { Base } from \"./base\";\nimport { Serializer } from \"./jsonobject\";\nimport { ConditionRunner, ExpressionRunner } from \"./conditions\";\nimport { OperandMaker } from \"./expressions/expressions\";\nimport { ProcessValue } from \"./conditionProcessValue\";\nimport { settings } from \"./settings\";\n\n/**\n * A base class for all triggers.\n * A trigger calls a method when the expression change the result: from false to true or from true to false.\n * Please note, it runs only one changing the expression result.\n */\nexport class Trigger extends Base {\n static operatorsValue: HashTable = null;\n static get operators() {\n if (Trigger.operatorsValue != null) return Trigger.operatorsValue;\n Trigger.operatorsValue = {\n empty: function (value: any, expectedValue: any) {\n return !value;\n },\n notempty: function (value: any, expectedValue: any) {\n return !!value;\n },\n equal: function (value: any, expectedValue: any) {\n return value == expectedValue;\n },\n notequal: function (value: any, expectedValue: any) {\n return value != expectedValue;\n },\n contains: function (value: any, expectedValue: any) {\n return value && value[\"indexOf\"] && value.indexOf(expectedValue) > -1;\n },\n notcontains: function (value: any, expectedValue: any) {\n return (\n !value || !value[\"indexOf\"] || value.indexOf(expectedValue) == -1\n );\n },\n greater: function (value: any, expectedValue: any) {\n return value > expectedValue;\n },\n less: function (value: any, expectedValue: any) {\n return value < expectedValue;\n },\n greaterorequal: function (value: any, expectedValue: any) {\n return value >= expectedValue;\n },\n lessorequal: function (value: any, expectedValue: any) {\n return value <= expectedValue;\n },\n };\n return Trigger.operatorsValue;\n }\n private conditionRunner: ConditionRunner;\n private usedNames: Array;\n private hasFunction: boolean;\n constructor() {\n super();\n this.usedNames = [];\n var self = this;\n this.registerFunctionOnPropertiesValueChanged(\n [\"operator\", \"value\", \"name\"],\n function () {\n self.oldPropertiesChanged();\n }\n );\n this.registerFunctionOnPropertyValueChanged(\"expression\", function () {\n self.onExpressionChanged();\n });\n }\n public getType(): string {\n return \"triggerbase\";\n }\n public toString(): string {\n var res = this.getType().replace(\"trigger\", \"\");\n var exp = !!this.expression ? this.expression : this.buildExpression();\n if (exp) {\n res += \", \" + exp;\n }\n return res;\n }\n public get operator(): string {\n return this.getPropertyValue(\"operator\", \"equal\");\n }\n public set operator(value: string) {\n if (!value) return;\n value = value.toLowerCase();\n if (!Trigger.operators[value]) return;\n this.setPropertyValue(\"operator\", value);\n }\n public get value(): any {\n return this.getPropertyValue(\"value\", null);\n }\n public set value(val: any) {\n this.setPropertyValue(\"value\", val);\n }\n public get name(): string {\n return this.getPropertyValue(\"name\", \"\");\n }\n public set name(val: string) {\n this.setPropertyValue(\"name\", val);\n }\n\n public get expression(): string {\n return this.getPropertyValue(\"expression\", \"\");\n }\n public set expression(val: string) {\n this.setPropertyValue(\"expression\", val);\n }\n public checkExpression(\n keys: any,\n values: HashTable,\n properties: HashTable = null\n ) {\n if (!this.isCheckRequired(keys)) return;\n if (!!this.conditionRunner) {\n this.perform(values, properties);\n }\n }\n public check(value: any) {\n var triggerResult = Trigger.operators[this.operator](value, this.value);\n if (triggerResult) {\n this.onSuccess({}, null);\n } else {\n this.onFailure();\n }\n }\n private perform(values: HashTable, properties: HashTable) {\n this.conditionRunner.onRunComplete = (res: boolean) => {\n this.triggerResult(res, values, properties);\n };\n this.conditionRunner.run(values, properties);\n }\n private triggerResult(\n res: boolean,\n values: HashTable,\n properties: HashTable\n ) {\n if (res) {\n this.onSuccess(values, properties);\n } else {\n this.onFailure();\n }\n }\n protected onSuccess(values: HashTable, properties: HashTable) {}\n protected onFailure() {}\n endLoadingFromJson() {\n super.endLoadingFromJson();\n this.oldPropertiesChanged();\n }\n private oldPropertiesChanged() {\n this.onExpressionChanged();\n }\n private onExpressionChanged() {\n this.usedNames = [];\n this.hasFunction = false;\n this.conditionRunner = null;\n }\n public buildExpression(): string {\n if (!this.name) return \"\";\n if (Helpers.isValueEmpty(this.value) && this.isRequireValue) return \"\";\n return (\n \"{\" +\n this.name +\n \"} \" +\n this.operator +\n \" \" +\n OperandMaker.toOperandString(this.value)\n );\n }\n private isCheckRequired(keys: any): boolean {\n if (!keys) return false;\n this.buildUsedNames();\n if (this.hasFunction === true) return true;\n for (var i = 0; i < this.usedNames.length; i++) {\n if (keys.hasOwnProperty(this.usedNames[i])) return true;\n }\n return false;\n }\n private buildUsedNames() {\n if (!!this.conditionRunner) return;\n var expression = this.expression;\n if (!expression) {\n expression = this.buildExpression();\n }\n if (!expression) return;\n this.conditionRunner = new ConditionRunner(expression);\n this.hasFunction = this.conditionRunner.hasFunction();\n this.usedNames = this.conditionRunner.getVariables();\n var processValue = new ProcessValue();\n for (var i = 0; i < this.usedNames.length; i++) {\n this.usedNames[i] = processValue.getFirstName(this.usedNames[i]);\n }\n }\n private get isRequireValue(): boolean {\n return this.operator !== \"empty\" && this.operator != \"notempty\";\n }\n}\n\nexport interface ISurveyTriggerOwner {\n getObjects(pages: string[], questions: string[]): any[];\n setCompleted(): any;\n setTriggerValue(name: string, value: any, isVariable: boolean): any;\n copyTriggerValue(name: string, fromName: string): any;\n focusQuestion(name: string): boolean;\n}\n\n/**\n * It extends the Trigger base class and add properties required for SurveyJS classes.\n */\nexport class SurveyTrigger extends Trigger {\n protected ownerValue: ISurveyTriggerOwner = null;\n constructor() {\n super();\n }\n public get owner(): ISurveyTriggerOwner {\n return this.ownerValue;\n }\n public setOwner(owner: ISurveyTriggerOwner) {\n this.ownerValue = owner;\n }\n public get isOnNextPage() {\n return false;\n }\n}\n/**\n * If expression returns true, it makes questions/pages visible.\n * Ohterwise it makes them invisible.\n */\nexport class SurveyTriggerVisible extends SurveyTrigger {\n public pages: string[] = [];\n public questions: string[] = [];\n constructor() {\n super();\n }\n public getType(): string {\n return \"visibletrigger\";\n }\n protected onSuccess(values: HashTable, properties: HashTable) {\n this.onTrigger(this.onItemSuccess);\n }\n protected onFailure() {\n this.onTrigger(this.onItemFailure);\n }\n private onTrigger(func: Function) {\n if (!this.owner) return;\n var objects = this.owner.getObjects(this.pages, this.questions);\n for (var i = 0; i < objects.length; i++) {\n func(objects[i]);\n }\n }\n protected onItemSuccess(item: any) {\n item.visible = true;\n }\n protected onItemFailure(item: any) {\n item.visible = false;\n }\n}\n/**\n * If expression returns true, it completes the survey.\n */\nexport class SurveyTriggerComplete extends SurveyTrigger {\n constructor() {\n super();\n }\n public getType(): string {\n return \"completetrigger\";\n }\n public get isOnNextPage() {\n return !settings.executeCompleteTriggerOnValueChanged;\n }\n protected onSuccess(values: HashTable, properties: HashTable) {\n if (this.owner) this.owner.setCompleted();\n }\n}\n/**\n * If expression returns true, the value from property **setValue** will be set to **setToName**\n */\nexport class SurveyTriggerSetValue extends SurveyTrigger {\n constructor() {\n super();\n }\n public getType(): string {\n return \"setvaluetrigger\";\n }\n public get setToName(): string {\n return this.getPropertyValue(\"setToName\", \"\");\n }\n public set setToName(val: string) {\n this.setPropertyValue(\"setToName\", val);\n }\n public get setValue(): any {\n return this.getPropertyValue(\"setValue\");\n }\n public set setValue(val: any) {\n this.setPropertyValue(\"setValue\", val);\n }\n public get isVariable(): boolean {\n return this.getPropertyValue(\"isVariable\", false);\n }\n public set isVariable(val: boolean) {\n this.setPropertyValue(\"isVariable\", val);\n }\n protected onSuccess(values: HashTable, properties: HashTable) {\n if (!this.setToName || !this.owner) return;\n this.owner.setTriggerValue(this.setToName, this.setValue, this.isVariable);\n }\n}\n/**\n * If expression returns true, the survey go to question **gotoName** and focus it.\n */\nexport class SurveyTriggerSkip extends SurveyTrigger {\n constructor() {\n super();\n }\n public getType(): string {\n return \"skiptrigger\";\n }\n public get gotoName(): string {\n return this.getPropertyValue(\"gotoName\", \"\");\n }\n public set gotoName(val: string) {\n this.setPropertyValue(\"gotoName\", val);\n }\n protected onSuccess(values: HashTable, properties: HashTable) {\n if (!this.gotoName || !this.owner) return;\n this.owner.focusQuestion(this.gotoName);\n }\n}\n/**\n * If expression returns true, the **runExpression** will be run. If **setToName** property is not empty then the result of **runExpression** will be set to it.\n */\nexport class SurveyTriggerRunExpression extends SurveyTrigger {\n constructor() {\n super();\n }\n public getType(): string {\n return \"runexpressiontrigger\";\n }\n public get setToName(): string {\n return this.getPropertyValue(\"setToName\", \"\");\n }\n public set setToName(val: string) {\n this.setPropertyValue(\"setToName\", val);\n }\n public get runExpression(): string {\n return this.getPropertyValue(\"runExpression\", \"\");\n }\n public set runExpression(val: string) {\n this.setPropertyValue(\"runExpression\", val);\n }\n protected onSuccess(values: HashTable, properties: HashTable) {\n if (!this.owner || !this.runExpression) return;\n var expression = new ExpressionRunner(this.runExpression);\n if (expression.canRun) {\n expression.onRunComplete = (res) => {\n this.onCompleteRunExpression(res);\n };\n expression.run(values, properties);\n }\n }\n private onCompleteRunExpression(newValue: any) {\n if (!this.setToName || newValue !== undefined) {\n this.owner.setTriggerValue(this.setToName, newValue, false);\n }\n }\n}\n\n/**\n * If expression returns true, the value from question **fromName** will be set into **setToName**.\n */\nexport class SurveyTriggerCopyValue extends SurveyTrigger {\n constructor() {\n super();\n }\n public get setToName(): string {\n return this.getPropertyValue(\"setToName\", \"\");\n }\n public set setToName(val: string) {\n this.setPropertyValue(\"setToName\", val);\n }\n public get fromName(): string {\n return this.getPropertyValue(\"fromName\", \"\");\n }\n public set fromName(val: string) {\n this.setPropertyValue(\"fromName\", val);\n }\n public getType(): string {\n return \"copyvaluetrigger\";\n }\n protected onSuccess(values: HashTable, properties: HashTable) {\n if (!this.setToName || !this.owner) return;\n this.owner.copyTriggerValue(this.setToName, this.fromName);\n }\n}\n\nSerializer.addClass(\"trigger\", [\n { name: \"operator\", default: \"equal\", visible: false },\n { name: \"value\", visible: false },\n \"expression:condition\",\n]);\nSerializer.addClass(\n \"surveytrigger\",\n [{ name: \"name\", visible: false }],\n null,\n \"trigger\"\n);\nSerializer.addClass(\n \"visibletrigger\",\n [\"pages:pages\", \"questions:questions\"],\n function () {\n return new SurveyTriggerVisible();\n },\n \"surveytrigger\"\n);\nSerializer.addClass(\n \"completetrigger\",\n [],\n function () {\n return new SurveyTriggerComplete();\n },\n \"surveytrigger\"\n);\nSerializer.addClass(\n \"setvaluetrigger\",\n [\n { name: \"!setToName:questionvalue\" },\n {\n name: \"setValue:triggervalue\",\n dependsOn: \"setToName\",\n visibleIf: function (obj: any) {\n return !!obj && !!obj[\"setToName\"];\n },\n },\n { name: \"isVariable:boolean\", visible: false },\n ],\n function () {\n return new SurveyTriggerSetValue();\n },\n \"surveytrigger\"\n);\nSerializer.addClass(\n \"copyvaluetrigger\",\n [{ name: \"!setToName:questionvalue\" }, { name: \"!fromName:questionvalue\" }],\n function () {\n return new SurveyTriggerCopyValue();\n },\n \"surveytrigger\"\n);\nSerializer.addClass(\n \"skiptrigger\",\n [{ name: \"!gotoName:question\" }],\n function () {\n return new SurveyTriggerSkip();\n },\n \"surveytrigger\"\n);\nSerializer.addClass(\n \"runexpressiontrigger\",\n [{ name: \"setToName:questionvalue\" }, \"runExpression:expression\"],\n function () {\n return new SurveyTriggerRunExpression();\n },\n \"surveytrigger\"\n);\n\n\n\n// WEBPACK FOOTER //\n// ./src/trigger.ts","import * as ko from \"knockout\";\n\n// model\nexport * from \"./chunks/model\";\n\n// localization\nimport \"./chunks/localization\";\n\n// helpers\nexport * from \"./chunks/helpers\";\n\n// css standard\nexport { defaultStandardCss } from \"../defaultCss/cssstandard\";\n// css bootstrap\nexport { defaultBootstrapCss } from \"../defaultCss/cssbootstrap\";\n// css bootstrap + material\nexport { defaultBootstrapMaterialCss } from \"../defaultCss/cssbootstrapmaterial\";\nexport { modernCss } from \"../defaultCss/cssmodern\";\n\nimport { Survey, SurveyWindow } from \"./knockout\";\nexport { Survey as Model };\n\nimport { registerTemplateEngine } from \"../knockout/kosurvey\";\nimport { SurveyModel } from \"../survey\";\n\nexport class ReactSurveyModel extends Survey {\n constructor(\n jsonObj: any = null,\n renderedElement: any = null,\n css: any = null\n ) {\n super(jsonObj, renderedElement, css);\n console.warn(\n \"ReactSurveyModel is depricated in this context. Use Survey.Model instead.\"\n );\n }\n}\n\nexport class SurveyNG {\n public static render(elementId: string | Element, props: any) {\n var element: Element =\n typeof elementId === \"string\"\n ? document.getElementById(elementId)\n : elementId;\n var model: Survey = props.model;\n model.updateSurvey(props);\n model.render(element);\n }\n}\n\nexport class SurveyWindowNG {\n public static render(elementId: string | Element, props: any) {\n var model: Survey = props.model;\n model.updateSurvey(props);\n var survey = new SurveyWindow(null, model);\n if (props.expanded !== undefined) {\n survey.isExpanded = props.expanded;\n }\n if (props.isExpanded !== undefined) {\n survey.isExpanded = props.isExpanded;\n }\n survey.show();\n }\n}\n\nSurveyModel.platform = \"angular\";\nregisterTemplateEngine(ko, SurveyModel.platform);\n\n\n\n// WEBPACK FOOTER //\n// ./src/entries/angular.ts","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n"],"sourceRoot":"webpack:///"}