{"version":3,"sources":["webpack/universalModuleDefinition","webpack/bootstrap 3666dadfe7be2cf1b66b","./node_modules/underscore/underscore.js","./src/ui/Base/Initialization.ts","./src/utils/Dom.ts","./src/GlobalExports.ts","./src/utils/Utils.ts","./src/misc/Assert.ts","./src/ui/Base/Component.ts","./src/ui/Base/ComponentOptions.ts","./src/strings/Strings.ts","./src/ui/Analytics/AnalyticsActionListMeta.ts","./src/events/QueryEvents.ts","./src/misc/Logger.ts","./src/models/QueryStateModel.ts","./src/utils/SVGIcons.ts","./src/events/InitializationEvents.ts","./src/models/Model.ts","./src/ui/SearchInterface/SearchInterface.ts","./src/utils/StringUtils.ts","./src/utils/QueryUtils.ts","./src/utils/KeyboardUtils.ts","./src/utils/DeviceUtils.ts","./src/ui/Templates/Template.ts","./src/ExternalModulesShim.ts","./src/models/ComponentOptionsModel.ts","./lib/globalize/globalize.min.js-exposed","./src/ui/Base/RegisteredNamedMethods.ts","./src/ui/Base/BaseComponent.ts","./src/misc/Defer.ts","./src/utils/DateUtils.ts","./src/events/OmniboxEvents.ts","./src/events/ResultListEvents.ts","./src/controllers/QueryController.ts","./src/ui/Base/RootComponent.ts","./src/utils/LocalStorageUtils.ts","./src/utils/HashUtils.ts","./src/events/BreadcrumbEvents.ts","./src/events/SettingsEvents.ts","./src/ui/ResponsiveComponents/ResponsiveComponents.ts","./src/rest/SearchEndpoint.ts","./src/utils/UrlUtils.ts","./src/ui/Templates/UnderscoreTemplate.ts","./src/ui/Base/QueryBuilder.ts","./src/ui/FormWidgets/TextInput.ts","./src/utils/PopupUtils.ts","./src/utils/HighlightUtils.ts","./src/ui/Base/TemplateComponentOptions.ts","./src/MiscModules.ts","./src/ui/Base/ExpressionBuilder.ts","./src/ui/Templates/TemplateCache.ts","./src/utils/TimeSpanUtils.ts","./src/ui/FormWidgets/Checkbox.ts","./src/utils/JQueryutils.ts","./src/misc/Options.ts","./src/models/ComponentStateModel.ts","./src/events/SearchAlertEvents.ts","./src/utils/DomUtils.ts","./src/events/AdvancedSearchEvents.ts","./src/rest/EndpointCaller.ts","./src/events/AnalyticsEvents.ts","./src/utils/CookieUtils.ts","./src/events/StandaloneSearchInterfaceEvents.ts","./src/events/PreferencesPanelEvents.ts","./src/misc/Version.ts","./src/events/DebugEvents.ts","./src/ui/Templates/HtmlTemplate.ts","./src/ui/Analytics/NoopAnalyticsClient.ts","./src/ui/Analytics/PendingSearchEvent.ts","./src/utils/StreamHighlightUtils.ts","./src/ui/Templates/TemplateHelpers.ts","./src/ui/Analytics/SharedAnalyticsCalls.ts","./src/UtilsModules.ts","./src/ui/Templates/DefaultResultTemplate.ts","./src/ui/Analytics/PendingSearchAsYouTypeSearchEvent.ts","./node_modules/coveo.analytics/dist/index.js","./src/ui/Misc/FileTypes.ts","./src/ui/Templates/TemplateList.ts","./src/events/ResultLayoutEvents.ts","./node_modules/moment/moment.js","./src/Core.ts","./src/EventsModules.ts","./src/events/SliderEvents.ts","./src/utils/CurrencyUtils.ts","./src/utils/ColorUtils.ts","(webpack)/buildin/global.js","./src/rest/QueryError.ts","./node_modules/coveo.analytics/dist/analytics.js","./node_modules/coveo.analytics/dist/history.js","./node_modules/coveo.analytics/dist/storage.js","./node_modules/coveo.analytics/dist/detector.js","./src/rest/AccessToken.ts","./src/strings/DefaultLanguage.ts","./src/misc/L10N.ts","./src/rest/AnalyticsEndpoint.ts","./src/controllers/HistoryController.ts","./src/controllers/LocalStorageHistoryController.ts","./src/ui/Templates/TemplateConditionEvaluator.ts","./src/ui/Templates/TemplateFromAScriptTag.ts","./src/ui/Debug/Debug.ts","./src/utils/PublicPathUtils.ts","./src/ui/Analytics/LiveAnalyticsClient.ts","./src/rest/APIAnalyticsBuilder.ts","./src/utils/OSUtils.ts","./src/ui/Base/QueryBuilderExpression.ts","./src/ui/Base/InitializationPlaceholder.ts","./src/utils/EmailUtils.ts","./src/utils/HtmlUtils.ts","./src/events/DistanceEvents.ts","./src/ModelsModules.ts","./src/ui/Analytics/RecommendationAnalyticsClient.ts","./src/ui/Base/CoveoUnderscore.ts","./src/ui/Base/CoveoJQuery.ts","./src/ui/YouTube/YouTubeThumbnailFields.ts","./node_modules/es6-promise/auto.js","./node_modules/es6-promise/dist/es6-promise.js","./node_modules/process/browser.js","./src/BaseModules.ts","./src/misc/PromisesShim.ts","./src/misc/CustomEventPolyfill.ts","./sass/_ResponsiveComponents.scss","./node_modules/style-loader/lib/urls.js","./src/rest/AjaxError.ts","./src/rest/MissingAuthenticationError.ts","./node_modules/coveo.analytics/dist/cookieutils.js","./node_modules/whatwg-fetch/fetch.js","./node_modules/coveo.analytics/dist/simpleanalytics.js","./node_modules/coveo.analytics/dist/objectassign.js","./node_modules/coveo.analytics/dist/utils.js","./node_modules/coveo.analytics/dist/donottrack.js","./node_modules/modal-box/bin/ModalBox.min.js","./lib/l10n/l10n.min.js","./lib/globalize/globalize.min.js","./src/RestModules.ts","./src/ControllersModules.ts","./src/rest/SearchEndpointWithDefaultCallOptions.ts","./src/UIBaseModules.ts","./image/svg/search.svg","./image/svg/more.svg","./image/svg/loading.svg","./image/svg/checkbox-hook-exclusion-more.svg","./image/svg/arrow-up.svg","./image/svg/arrow-down.svg","./image/svg/main-clear.svg","./image/svg/or-and.svg","./image/svg/sort.svg","./image/svg/ascending.svg","./image/svg/descending.svg","./image/svg/dropdown-more.svg","./image/svg/dropdown-less.svg","./image/svg/facet-collapse.svg","./image/svg/facet-expand.svg","./image/svg/dropdown-share-query.svg","./image/svg/dropdown-preferences.svg","./image/svg/dropdown-authenticate.svg","./image/svg/dropdown-export.svg","./image/svg/dropdown-follow-query.svg","./image/svg/quickview.svg","./image/svg/pager-right-arrow.svg","./image/svg/pager-left-arrow.svg","./image/svg/replies.svg","./image/svg/video.svg","./image/svg/coveo-logo.svg","./image/svg/coveo-powered-by-logo.svg","./image/svg/tagging-ok.svg","./image/svg/edit.svg","./image/svg/star.svg","./image/svg/list-layout.svg","./image/svg/card-layout.svg","./image/svg/table-layout.svg","./node_modules/latinize/latinize.js","./src/ui/Templates/TemplateFieldsEvaluator.ts","./src/misc/SentryLogger.ts","./sass/_InitializationPlaceholder.scss","./sass/_Debug.scss","./src/ui/Debug/DebugHeader.ts","./sass/vapor/_Checkbox.scss","./src/ui/Debug/DebugForResult.ts","./src/ui/SearchInterface/FacetValueStateHandler.ts","./node_modules/fastclick/lib/fastclick.js","./node_modules/jstimezonedetect/dist/jstz.js","(webpack)/buildin/amd-define.js","(webpack)/buildin/amd-options.js","./sass/Globals.scss","./sass/_SearchInterface.scss","./sass/_SearchModalBox.scss","./sass/_SearchButton.scss","./src/ui/SearchInterface/FacetColumnAutoLayoutAdjustment.ts","(webpack)/buildin/module.js","./src/ui/Base/InitializationHelper.ts","./src/TemplatesModules.ts","./src/ui/Analytics/Analytics.ts","./src/ui/Analytics/MultiAnalyticsClient.ts","./src/ui/ChatterLikedBy/ChatterLikedByFields.ts","./src/ui/ChatterPostAttachment/ChatterPostAttachmentFields.ts","./src/ui/ChatterPostedBy/ChatterPostedByFields.ts","./src/ui/ChatterTopic/ChatterTopicFields.ts","./src/ui/Icon/IconFields.ts","./src/ui/PrintableUri/PrintableUriFields.ts","./src/ui/Quickview/QuickviewFields.ts","./src/ui/ResultLink/ResultLinkFields.ts","./src/ui/FollowItem/FollowItemFields.ts","./src/ui/Thumbnail/ThumbnailFields.ts","./src/SwapVar.ts","./node_modules/css-loader/lib/css-base.js","./node_modules/style-loader/lib/addStyles.js","./src/Lazy.ts","./src/ui/AdvancedSearch/LazyAdvancedSearch.ts","./src/ui/Aggregate/LazyAggregate.ts","./src/ui/AnalyticsSuggestions/LazyAnalyticsSuggestions.ts","./src/ui/AuthenticationProvider/LazyAuthenticationProvider.ts","./src/ui/Backdrop/LazyBackdrop.ts","./src/ui/Badge/LazyBadge.ts","./src/ui/Breadcrumb/LazyBreadcrumb.ts","./src/ui/CardActionBar/LazyCardActionBar.ts","./src/ui/CardOverlay/LazyCardOverlay.ts","./src/ui/ChatterLikedBy/LazyChatterLikedBy.ts","./src/ui/ChatterPostAttachment/LazyChatterPostAttachment.ts","./src/ui/ChatterPostedBy/LazyChatterPostedBy.ts","./src/ui/ChatterTopic/LazyChatterTopic.ts","./src/ui/Debug/LazyDebug.ts","./src/ui/DidYouMean/LazyDidYouMean.ts","./src/ui/Distance/LazyDistanceResources.ts","./src/ui/ErrorReport/LazyErrorReport.ts","./src/ui/Excerpt/LazyExcerpt.ts","./src/ui/ExportToExcel/LazyExportToExcel.ts","./src/ui/Facet/LazyFacet.ts","./src/ui/FacetRange/LazyFacetRange.ts","./src/ui/FacetSlider/LazyFacetSlider.ts","./src/ui/FieldSuggestions/LazyFieldSuggestions.ts","./src/ui/FacetValueSuggestions/LazyFacetValueSuggestions.ts","./src/ui/FieldTable/LazyFieldTable.ts","./src/ui/FieldValue/LazyFieldValue.ts","./src/ui/Folding/LazyFolding.ts","./src/ui/FoldingForThread/LazyFoldingForThread.ts","./src/ui/HiddenQuery/LazyHiddenQuery.ts","./src/ui/HierarchicalFacet/LazyHierarchicalFacet.ts","./src/ui/Icon/LazyIcon.ts","./src/ui/Logo/LazyLogo.ts","./src/ui/Matrix/LazyMatrix.ts","./src/ui/Omnibox/LazyOmnibox.ts","./src/ui/OmniboxResultList/LazyOmniboxResultList.ts","./src/ui/Pager/LazyPager.ts","./src/ui/PipelineContext/LazyPipelineContext.ts","./src/ui/PreferencesPanel/LazyPreferencesPanel.ts","./src/ui/PrintableUri/LazyPrintableUri.ts","./src/ui/Querybox/LazyQuerybox.ts","./src/ui/QueryDuration/LazyQueryDuration.ts","./src/ui/QuerySummary/LazyQuerySummary.ts","./src/ui/Quickview/LazyQuickview.ts","./src/ui/Recommendation/LazyRecommendation.ts","./src/ui/ResultAttachments/LazyResultAttachments.ts","./src/ui/ResultFolding/LazyResultFolding.ts","./src/ui/ResultLayoutSelector/LazyResultLayoutSelector.ts","./src/ui/ResultLink/LazyResultLink.ts","./src/ui/ResultList/LazyResultList.ts","./src/ui/ResultRating/LazyResultRating.ts","./src/ui/ResultsFiltersPreferences/LazyResultsFiltersPreferences.ts","./src/ui/ResultsPerPage/LazyResultsPerPage.ts","./src/ui/ResultsPreferences/LazyResultsPreferences.ts","./src/ui/ResultTagging/LazyResultTagging.ts","./src/ui/FollowItem/LazyFollowItem.ts","./src/ui/SearchAlerts/LazySearchAlerts.ts","./src/ui/Searchbox/LazySearchbox.ts","./src/ui/SearchButton/LazySearchButton.ts","./src/ui/Settings/LazySettings.ts","./src/ui/ShareQuery/LazyShareQuery.ts","./src/ui/Sort/LazySort.ts","./src/ui/Tab/LazyTab.ts","./src/ui/TemplateLoader/LazyTemplateLoader.ts","./src/ui/Text/LazyText.ts","./src/ui/Thumbnail/LazyThumbnail.ts","./src/ui/Triggers/LazyTriggers.ts","./src/ui/YouTube/LazyYouTubeThumbnail.ts","./src/ui/FormWidgets/LazyCheckbox.ts","./src/ui/FormWidgets/LazyDatePicker.ts","./src/ui/FormWidgets/LazyDropdown.ts","./src/ui/FormWidgets/LazyFormGroup.ts","./src/ui/FormWidgets/LazyMultiSelect.ts","./src/ui/FormWidgets/LazyNumericSpinner.ts","./src/ui/FormWidgets/LazyRadioButton.ts","./src/ui/FormWidgets/LazyTextInput.ts","./src/ui/SimpleFilter/LazySimpleFilter.ts","./src/ui/TimespanFacet/LazyTimespanFacet.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAQ,oBAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kDAA0C,WAAW,EAAE;AACvD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uDAA+C,m8CAAm8C;AACl/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA,kDAA0C,oBAAoB,WAAW;;AAEzE;AACA;;;;;;;AC/IA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB,gBAAgB;AACzC;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,YAAY;AAClD;AACA;AACA,KAAK;AACL;AACA,uCAAuC,YAAY;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,oDAAoD;AACpD,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4DAA4D,YAAY;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,YAAY;AAC1D;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8CAA8C,YAAY;AAC1D;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6CAA6C,YAAY;AACzD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qBAAqB,cAAc;AACnC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAe;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,eAAe;AACpC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,yBAAyB,gBAAgB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,YAAY;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,YAAY;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,4CAA4C,mBAAmB;AAC/D;AACA;AACA,yCAAyC,YAAY;AACrD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf,cAAc;AACd,cAAc;AACd,gBAAgB;AAChB,gBAAgB;AAChB,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP,qBAAqB;AACrB;;AAEA;AACA;AACA,KAAK;AACL,iBAAiB;;AAEjB;AACA,kDAAkD,EAAE,iBAAiB;;AAErE;AACA,wBAAwB,8BAA8B;AACtD,2BAA2B;;AAE3B;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kDAAkD,iBAAiB;;AAEnE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;A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AACA;AACA;;AAEA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI;AAC3B;;AAEA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,wCAAwC,IAAI;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,iCAAiC;AACrD;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wLAAwL,IAAI;;AAE5L,iEAAiE,IAAI;;AAErE;;AAEA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,sCAAsC,YAAY;AAClD;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0BAA0B;AAC1B,4BAA4B;AAC5B,yBAAyB,EAAE,EAAE;AAC7B,yBAAyB,EAAE,EAAE;AAC7B,8BAA8B,EAAE,EAAE;AAClC,6BAA6B;AAC7B,iCAAiC;AACjC,qCAAqC;AACrC,yBAAyB,IAAI,EAAE;AAC/B,yBAAyB,IAAI,EAAE;AAC/B,8BAA8B,IAAI,EAAE;;AAEpC,2BAA2B;AAC3B,gCAAgC;;AAEhC,0CAA0C;AAC1C,iDAAiD;;AAEjD,oCAAoC,IAAI,IAAI;;AAE5C;AACA;AACA,uBAAuB,MAAM,wEAAwE,MAAM,mBAAmB,MAAM,qBAAqB,MAAM,EAAE,IAAI;;;AAGrK;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,0CAA0C;AAC1C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,+BAA+B;AAC9C;AACA;;AAEA;AACA,UAAU,OAAO;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAuC,EAAE,IAAI,EAAE;AAC/C,oCAAoC,EAAE,IAAI,EAAE;;AAE5C;;AAEA;AACA,6BAA6B,EAAE;AAC/B,uBAAuB,EAAE;AACzB,yBAAyB,EAAE;AAC3B,uBAAuB,EAAE;AACzB,qBAAqB,EAAE,IAAI,EAAE;AAC7B,oBAAoB,EAAE;AACtB,2BAA2B,GAAG;AAC9B,qBAAqB,EAAE;AACvB;AACA,uBAAuB,EAAE,IAAI,EAAE;AAC/B,sBAAsB,EAAE,IAAI,EAAE;AAC9B,oBAAoB,EAAE;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,0DAA0D,IAAI,0DAA0D,IAAI,qEAAqE,EAAE;;AAEnM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,sBAAsB;AACrC;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,gBAAgB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,6BAA6B;AAClC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAc;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,yDAAyD;AACzD,qDAAqD;AACrD,2DAA2D;AAC3D,oDAAoD,OAAO;AAC3D,oDAAoD,OAAO;AAC3D,mDAAmD,OAAO;AAC1D,+DAA+D,OAAO;AACtE,iEAAiE,OAAO;AACxE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,qBAAqB;AACpD,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,qBAAqB;AACpD,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;;AAGD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB,mBAAmB;AACvC;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAAgC,IAAI;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAED;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;;;ACt7ID,6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AoB,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;QAE/D,eAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,eAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,eAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACH,iBAAC;AAAD,CAAC;AAjBY,gCAAU;;;;;;;;ACJvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,8CAA8C,cAAc;AAC5D;;;;;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,8CAA8C,cAAc;AAC5D;;;;;;;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,oDAAoD,aAAa;AACjE,uDAAuD;AACvD,0DAA0D;AAC1D;AACA,CAAC;AACD;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCA,uCAAwC;AACxC,0CAAsC;AAItC,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,8DAAuC;IACvC,8DAAuC;AACzC,CAAC,EAHW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAG9B;AAED;IAME,qBAAmB,KAAa,EAAS,KAA6B;QAAtE,iBAQC;QARkB,UAAK,GAAL,KAAK,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAwB;QAL9D,gBAAW,GAAuB,EAAE,CAAC;QACrC,WAAM,GAAW,IAAI,eAAM,CAAC,IAAI,CAAC,CAAC;QAClC,kBAAa,GAAW,CAAC,CAAC;QAIhC,IAAI,CAAC,2BAA2B,GAAG,qBAAQ,CACzC;YACE,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACzB,CAAC,EACD,GAAG,EACH,KAAK,CACN,CAAC;IACJ,CAAC;IAEM,+BAAS,GAAhB,UAAiB,KAAqB;QACpC,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC;IACnD,CAAC;IAEY,6BAAO,GAApB,UAAqB,OAAgC;;;;;;;wBACnD,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrB,IAAI,CAAC,2BAA2B,EAAE,CAAC;;;;wBAGjC,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;wBAClD,SAAI;wBAAS,qBAAM,IAAI,CAAC,KAAK,EAAE;;wBAA/B,GAAK,KAAK,GAAG,SAAkB,CAAC;wBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;wBACrD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,oBAAU,IAAI,iBAAU,CAAC,KAAI,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC;wBAC/D,sBAAO,IAAI,EAAC;;;wBAEZ,MAAM,CAAC,CAAC,KAAG,CAAC,OAAO,CAAC,CAAC,CAAC;4BACpB,KAAK,mBAAmB,CAAC,iBAAiB;gCACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;gCAChG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sGAAsG,CAAC,CAAC;gCAC1H,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;gCAC9F,KAAK,CAAC;4BACR,KAAK,mBAAmB,CAAC,iBAAiB;gCACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4GAA4G,CAAC,CAAC;gCAChI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;gCACrF,KAAK,CAAC;wBACV,CAAC;wBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAG,CAAC,CAAC;wBAEvD,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;4BACZ,OAAO,CAAC,KAAG,CAAC,CAAC;wBACf,CAAC;wBACD,sBAAO,KAAK,EAAC;;;;;KAEhB;IAEM,wCAAkB,GAAzB,UAA0B,gBAAkC;QAC1D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAEO,sCAAgB,GAAxB;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QACzD,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACH,kBAAC;AAAD,CAAC;AAhEY,kCAAW;;;;;;;;;;ACXxB,wCAAuC;AACvC,IAAI,KAAK,GAAG,UAAS,IAAI,EAAE,IAAI;IAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,GAAG,EAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAC;QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAAC,CAAC;IAC5D,GAAG,EAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAC;QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAAC,CAAC;IAC5D,MAAM,CAAC,IAAI,CAAC;AACd,CAAC;AACD,IAAI,IAAI,GAAG;IACT,QAAQ,EAAE,MAAM;IAChB,mBAAmB,EAAE,MAAM;IAC3B,SAAS,EAAE,SAAS;IACpB,oBAAoB,EAAE,SAAS;IAC/B,MAAM,EAAE,UAAU;IAClB,iBAAiB,EAAE,UAAU;IAC7B,QAAQ,EAAE,QAAQ;IAClB,mBAAmB,EAAE,QAAQ;IAC7B,MAAM,EAAE,MAAM;IACd,iBAAiB,EAAE,MAAM;IACzB,OAAO,EAAE,OAAO;IAChB,kBAAkB,EAAE,OAAO;IAC3B,UAAU,EAAE,UAAU;IACtB,qBAAqB,EAAE,UAAU;IACjC,SAAS,EAAE,SAAS;IACpB,oBAAoB,EAAE,SAAS;IAC/B,YAAY,EAAE,MAAM;IACpB,uBAAuB,EAAE,MAAM;IAC/B,UAAU,EAAE,UAAU;IACtB,qBAAqB,EAAE,UAAU;IACjC,MAAM,EAAE,MAAM;IACd,iBAAiB,EAAE,MAAM;IACzB,SAAS,EAAE,SAAS;IACpB,oBAAoB,EAAE,SAAS;IAC/B,UAAU,EAAE,UAAU;IACtB,qBAAqB,EAAE,UAAU;IACjC,OAAO,EAAE,OAAO;IAChB,kBAAkB,EAAE,OAAO;IAC3B,OAAO,EAAE,OAAO;IAChB,kBAAkB,EAAE,OAAO;IAC3B,MAAM,EAAE,MAAM;IACd,iBAAiB,EAAE,MAAM;IACzB,UAAU,EAAE,MAAM;IAClB,qBAAqB,EAAE,MAAM;IAC7B,SAAS,EAAE,SAAS;IACpB,oBAAoB,EAAE,SAAS;IAC/B,MAAM,EAAE,MAAM;IACd,iBAAiB,EAAE,MAAM;IACzB,MAAM,EAAE,MAAM;IACd,iBAAiB,EAAE,gBAAgB;IACnC,UAAU,EAAE,UAAU;IACtB,qBAAqB,EAAE,UAAU;IACjC,QAAQ,EAAE,QAAQ;IAClB,mBAAmB,EAAE,QAAQ;IAC7B,MAAM,EAAE,MAAM;IACd,iBAAiB,EAAE,MAAM;IACzB,MAAM,EAAE,MAAM;IACd,iBAAiB,EAAE,MAAM;IACzB,YAAY,EAAE,YAAY;IAC1B,uBAAuB,EAAE,YAAY;IACrC,aAAa,EAAE,cAAc;IAC7B,wBAAwB,EAAE,cAAc;IACxC,aAAa,EAAE,aAAa;IAC5B,wBAAwB,EAAE,aAAa;IACvC,oBAAoB,EAAE,qBAAqB;IAC3C,+BAA+B,EAAE,qBAAqB;IACtD,UAAU,EAAE,SAAS;IACrB,qBAAqB,EAAE,SAAS;IAChC,aAAa,EAAE,SAAS;IACxB,wBAAwB,EAAE,SAAS;IACnC,MAAM,EAAE,MAAM;IACd,iBAAiB,EAAE,MAAM;IACzB,SAAS,EAAE,SAAS;IACpB,oBAAoB,EAAE,SAAS;IAC/B,SAAS,EAAE,SAAS;IACpB,oBAAoB,EAAE,SAAS;IAC/B,WAAW,EAAE,YAAY;IACzB,sBAAsB,EAAE,YAAY;IACpC,OAAO,EAAE,OAAO;IAChB,kBAAkB,EAAE,OAAO;IAC3B,iBAAiB,EAAE,kBAAkB;IACrC,4BAA4B,EAAE,kBAAkB;IAChD,YAAY,EAAE,aAAa;IAC3B,uBAAuB,EAAE,aAAa;IACtC,SAAS,EAAE,SAAS;IACpB,oBAAoB,EAAE,SAAS;IAC/B,eAAe,EAAE,gBAAgB;IACjC,0BAA0B,EAAE,gBAAgB;IAC5C,iBAAiB,EAAE,oBAAoB;IACvC,4BAA4B,EAAE,oBAAoB;IAClD,oBAAoB,EAAE,yBAAyB;IAC/C,+BAA+B,EAAE,yBAAyB;IAC1D,YAAY,EAAE,UAAU;IACxB,uBAAuB,EAAE,UAAU;IACnC,oBAAoB,EAAE,mBAAmB;IACzC,+BAA+B,EAAE,mBAAmB;IACpD,cAAc,EAAE,YAAY;IAC5B,yBAAyB,EAAE,YAAY;IACvC,WAAW,EAAE,SAAS;IACtB,sBAAsB,EAAE,SAAS;IACjC,kBAAkB,EAAE,iBAAiB;IACrC,6BAA6B,EAAE,iBAAiB;IAChD,kBAAkB,EAAE,mBAAmB;IACvC,6BAA6B,EAAE,mBAAmB;IAClD,OAAO,EAAE,OAAO;IAChB,kBAAkB,EAAE,OAAO;IAC3B,WAAW,EAAE,WAAW;IACxB,sBAAsB,EAAE,WAAW;IACnC,gBAAgB,EAAE,UAAU;IAC5B,2BAA2B,EAAE,UAAU;IACvC,oBAAoB,EAAE,qBAAqB;IAC3C,+BAA+B,EAAE,qBAAqB;IACtD,WAAW,EAAE,YAAY;IACzB,sBAAsB,EAAE,YAAY;IACpC,aAAa,EAAE,aAAa;IAC5B,wBAAwB,EAAE,aAAa;IACvC,UAAU,EAAE,MAAM;IAClB,mBAAmB,EAAE,MAAM;IAC3B,MAAM,EAAE,WAAW;IACnB,eAAe,EAAE,WAAW;IAC5B,MAAM,EAAE,MAAM;IACd,eAAe,EAAE,MAAM;IACvB,mBAAmB,EAAE,UAAU;IAC/B,4BAA4B,EAAE,UAAU;IACxC,OAAO,EAAE,OAAO;IAChB,gBAAgB,EAAE,OAAO;IACzB,QAAQ,EAAE,QAAQ;IAClB,iBAAiB,EAAE,QAAQ;IAC3B,KAAK,EAAE,MAAM;IACb,cAAc,EAAE,MAAM;IACtB,KAAK,EAAE,UAAU;IACjB,cAAc,EAAE,UAAU;IAC1B,SAAS,EAAE,UAAU;IACrB,kBAAkB,EAAE,UAAU;IAC9B,cAAc,EAAE,eAAe;IAC/B,uBAAuB,EAAE,eAAe;IACxC,KAAK,EAAE,UAAU;IACjB,cAAc,EAAE,UAAU;IAC1B,KAAK,EAAE,YAAY;IACnB,cAAc,EAAE,YAAY;IAC5B,KAAK,EAAE,UAAU;IACjB,cAAc,EAAE,UAAU;IAC1B,KAAK,EAAE,OAAO;IACd,cAAc,EAAE,OAAO;IACvB,KAAK,EAAE,KAAK;IACZ,cAAc,EAAE,KAAK;IACrB,KAAK,EAAE,aAAa;IACpB,cAAc,EAAE,aAAa;IAC7B,SAAS,EAAE,UAAU;IACrB,kBAAkB,EAAE,UAAU;IAC9B,KAAK,EAAE,UAAU;IACjB,cAAc,EAAE,UAAU;IAC1B,MAAM,EAAE,yBAAyB;IACjC,eAAe,EAAE,yBAAyB;IAC1C,KAAK,EAAE,sBAAsB;IAC7B,cAAc,EAAE,sBAAsB;IACtC,KAAK,EAAE,uBAAuB;IAC9B,cAAc,EAAE,uBAAuB;IACvC,OAAO,EAAE,OAAO;IAChB,gBAAgB,EAAE,OAAO;IACzB,SAAS,EAAE,eAAe;IAC1B,kBAAkB,EAAE,eAAe;IACnC,eAAe,EAAE,YAAY;IAC7B,wBAAwB,EAAE,YAAY;IACtC,iBAAiB,EAAE,cAAc;IACjC,0BAA0B,EAAE,cAAc;IAC1C,gBAAgB,EAAE,YAAY;IAC9B,yBAAyB,EAAE,YAAY;IACvC,KAAK,EAAE,oBAAoB;IAC3B,cAAc,EAAE,oBAAoB;IACpC,KAAK,EAAE,MAAM;IACb,cAAc,EAAE,MAAM;IACtB,WAAW,EAAE,YAAY;IACzB,oBAAoB,EAAE,YAAY;IAClC,QAAQ,EAAE,iBAAiB;IAC3B,iBAAiB,EAAE,iBAAiB;IACpC,WAAW,EAAE,oBAAoB;IACjC,oBAAoB,EAAE,oBAAoB;IAC1C,SAAS,EAAE,kBAAkB;IAC7B,kBAAkB,EAAE,kBAAkB;IACtC,aAAa,EAAE,uBAAuB;IACtC,sBAAsB,EAAE,uBAAuB;IAC/C,iBAAiB,EAAE,kBAAkB;IACrC,0BAA0B,EAAE,kBAAkB;IAC9C,iBAAiB,EAAE,SAAS;IAC5B,0BAA0B,EAAE,SAAS;IACrC,qBAAqB,EAAE,aAAa;IACpC,8BAA8B,EAAE,aAAa;IAC7C,cAAc,EAAE,MAAM;IACtB,uBAAuB,EAAE,MAAM;IAC/B,cAAc,EAAE,MAAM;IACtB,uBAAuB,EAAE,MAAM;IAC/B,gBAAgB,EAAE,eAAe;IACjC,yBAAyB,EAAE,eAAe;IAC1C,iBAAiB,EAAE,uBAAuB;IAC1C,0BAA0B,EAAE,uBAAuB;IACnD,kBAAkB,EAAE,UAAU;IAC9B,2BAA2B,EAAE,UAAU;IACvC,yBAAyB,EAAE,kBAAkB;IAC7C,kCAAkC,EAAE,kBAAkB;IACtD,kBAAkB,EAAE,mBAAmB;IACvC,2BAA2B,EAAE,mBAAmB;IAChD,aAAa,EAAE,KAAK;IACpB,sBAAsB,EAAE,KAAK;IAC7B,kBAAkB,EAAE,WAAW;IAC/B,2BAA2B,EAAE,WAAW;IACxC,eAAe,EAAE,OAAO;IACxB,wBAAwB,EAAE,OAAO;IACjC,iBAAiB,EAAE,UAAU;IAC7B,0BAA0B,EAAE,UAAU;IACtC,qBAAqB,EAAE,YAAY;IACnC,8BAA8B,EAAE,YAAY;IAC5C,mBAAmB,EAAE,gBAAgB;IACrC,4BAA4B,EAAE,gBAAgB;IAC9C,gBAAgB,EAAE,iBAAiB;IACnC,yBAAyB,EAAE,iBAAiB;IAC5C,eAAe,EAAE,gBAAgB;IACjC,wBAAwB,EAAE,gBAAgB;IAC1C,cAAc,EAAE,eAAe;IAC/B,uBAAuB,EAAE,eAAe;IACxC,iBAAiB,EAAE,kBAAkB;IACrC,0BAA0B,EAAE,kBAAkB;IAC9C,kBAAkB,EAAE,mBAAmB;IACvC,2BAA2B,EAAE,mBAAmB;IAChD,UAAU,EAAE,QAAQ;IACpB,mBAAmB,EAAE,QAAQ;IAC7B,QAAQ,EAAE,iBAAiB;IAC3B,iBAAiB,EAAE,iBAAiB;IACpC,eAAe,EAAE,iBAAiB;IAClC,wBAAwB,EAAE,iBAAiB;IAC3C,QAAQ,EAAE,MAAM;IAChB,iBAAiB,EAAE,MAAM;IACzB,gBAAgB,EAAE,cAAc;IAChC,yBAAyB,EAAE,cAAc;IACzC,oBAAoB,EAAE,eAAe;IACrC,6BAA6B,EAAE,eAAe;IAC9C,WAAW,EAAE,SAAS;IACtB,oBAAoB,EAAE,SAAS;IAC/B,eAAe,EAAE,UAAU;IAC3B,wBAAwB,EAAE,UAAU;IACpC,cAAc,EAAE,cAAc;IAC9B,uBAAuB,EAAE,cAAc;IACvC,mBAAmB,EAAE,kBAAkB;IACvC,4BAA4B,EAAE,kBAAkB;IAChD,uBAAuB,EAAE,mBAAmB;IAC5C,gCAAgC,EAAE,mBAAmB;IACrD,uBAAuB,EAAE,kBAAkB;IAC3C,gCAAgC,EAAE,kBAAkB;IACpD,SAAS,EAAE,OAAO;IAClB,kBAAkB,EAAE,OAAO;IAC3B,aAAa,EAAE,QAAQ;IACvB,sBAAsB,EAAE,QAAQ;IAChC,mBAAmB,EAAE,cAAc;IACnC,4BAA4B,EAAE,cAAc;IAC5C,SAAS,EAAE,OAAO;IAClB,kBAAkB,EAAE,OAAO;IAC3B,aAAa,EAAE,QAAQ;IACvB,sBAAsB,EAAE,QAAQ;IAChC,QAAQ,EAAE,MAAM;IAChB,iBAAiB,EAAE,MAAM;IACzB,YAAY,EAAE,OAAO;IACrB,qBAAqB,EAAE,OAAO;IAC9B,sBAAsB,EAAE,iBAAiB;IACzC,+BAA+B,EAAE,iBAAiB;IAClD,UAAU,EAAE,QAAQ;IACpB,mBAAmB,EAAE,QAAQ;IAC7B,cAAc,EAAE,SAAS;IACzB,uBAAuB,EAAE,SAAS;IAClC,QAAQ,EAAE,MAAM;IAChB,iBAAiB,EAAE,MAAM;IACzB,YAAY,EAAE,OAAO;IACrB,qBAAqB,EAAE,OAAO;IAC9B,UAAU,EAAE,QAAQ;IACpB,mBAAmB,EAAE,QAAQ;IAC7B,cAAc,EAAE,SAAS;IACzB,uBAAuB,EAAE,SAAS;IAClC,YAAY,EAAE,UAAU;IACxB,qBAAqB,EAAE,UAAU;IACjC,gBAAgB,EAAE,WAAW;IAC7B,yBAAyB,EAAE,WAAW;IACtC,kBAAkB,EAAE,cAAc;IAClC,2BAA2B,EAAE,cAAc;IAC3C,YAAY,EAAE,UAAU;IACxB,qBAAqB,EAAE,UAAU;IACjC,gBAAgB,EAAE,WAAW;IAC7B,yBAAyB,EAAE,WAAW;IACtC,aAAa,EAAE,WAAW;IAC1B,sBAAsB,EAAE,WAAW;IACnC,iBAAiB,EAAE,YAAY;IAC/B,0BAA0B,EAAE,YAAY;IACxC,WAAW,EAAE,SAAS;IACtB,oBAAoB,EAAE,SAAS;IAC/B,eAAe,EAAE,cAAc;IAC/B,wBAAwB,EAAE,cAAc;IACxC,iBAAiB,EAAE,gBAAgB;IACnC,0BAA0B,EAAE,gBAAgB;IAC5C,qBAAqB,EAAE,iBAAiB;IACxC,8BAA8B,EAAE,iBAAiB;IACjD,eAAe,EAAE,cAAc;IAC/B,wBAAwB,EAAE,cAAc;IACxC,gBAAgB,EAAE,gBAAgB;IAClC,yBAAyB,EAAE,gBAAgB;IAC3C,oBAAoB,EAAE,qBAAqB;IAC3C,6BAA6B,EAAE,qBAAqB;IACpD,iBAAiB,EAAE,qBAAqB;IACxC,0BAA0B,EAAE,qBAAqB;IACjD,qBAAqB,EAAE,gBAAgB;IACvC,8BAA8B,EAAE,gBAAgB;IAChD,cAAc,EAAE,aAAa;IAC7B,uBAAuB,EAAE,aAAa;IACtC,kBAAkB,EAAE,kBAAkB;IACtC,2BAA2B,EAAE,kBAAkB;IAC/C,2BAA2B,EAAE,uBAAuB;IACpD,oCAAoC,EAAE,uBAAuB;IAC7D,sBAAsB,EAAE,iBAAiB;IACzC,+BAA+B,EAAE,iBAAiB;IAClD,0BAA0B,EAAE,uBAAuB;IACnD,mCAAmC,EAAE,uBAAuB;IAC5D,qBAAqB,EAAE,iBAAiB;IACxC,8BAA8B,EAAE,iBAAiB;IACjD,eAAe,EAAE,aAAa;IAC9B,wBAAwB,EAAE,aAAa;IACvC,qBAAqB,EAAE,oBAAoB;IAC3C,8BAA8B,EAAE,oBAAoB;IACpD,yBAAyB,EAAE,qBAAqB;IAChD,kCAAkC,EAAE,qBAAqB;IACzD,2BAA2B,EAAE,uBAAuB;IACpD,oCAAoC,EAAE,uBAAuB;IAC7D,gBAAgB,EAAE,eAAe;IACjC,yBAAyB,EAAE,eAAe;IAC1C,oBAAoB,EAAE,iBAAiB;IACvC,6BAA6B,EAAE,iBAAiB;IAChD,eAAe,EAAE,cAAc;IAC/B,wBAAwB,EAAE,cAAc;IACxC,mBAAmB,EAAE,eAAe;IACpC,4BAA4B,EAAE,eAAe;IAC7C,YAAY,EAAE,WAAW;IACzB,qBAAqB,EAAE,WAAW;IAClC,gBAAgB,EAAE,YAAY;IAC9B,yBAAyB,EAAE,YAAY;IACvC,6BAA6B,EAAE,yBAAyB;IACxD,sCAAsC,EAAE,yBAAyB;IACjE,qBAAqB,EAAE,oBAAoB;IAC3C,8BAA8B,EAAE,oBAAoB;IACpD,yBAAyB,EAAE,qBAAqB;IAChD,kCAAkC,EAAE,qBAAqB;IACzD,YAAY,EAAE,wBAAwB;IACtC,qBAAqB,EAAE,wBAAwB;IAC/C,2BAA2B,EAAE,2BAA2B;IACxD,oCAAoC,EAAE,2BAA2B;IACjE,+BAA+B,EAAE,4BAA4B;IAC7D,wCAAwC,EAAE,4BAA4B;IACtE,0BAA0B,EAAE,0BAA0B;IACtD,mCAAmC,EAAE,0BAA0B;IAC/D,8BAA8B,EAAE,2BAA2B;IAC3D,uCAAuC,EAAE,2BAA2B;IACpE,0BAA0B,EAAE,qBAAqB;IACjD,mCAAmC,EAAE,qBAAqB;IAC1D,6BAA6B,EAAE,4BAA4B;IAC3D,sCAAsC,EAAE,4BAA4B;IACpE,eAAe,EAAE,cAAc;IAC/B,wBAAwB,EAAE,cAAc;IACxC,mBAAmB,EAAE,eAAe;IACpC,4BAA4B,EAAE,eAAe;IAC7C,8BAA8B,EAAE,cAAc;IAC9C,uCAAuC,EAAE,cAAc;IACvD,6BAA6B,EAAE,yBAAyB;IACxD,sCAAsC,EAAE,yBAAyB;IACjE,qBAAqB,EAAE,gBAAgB;IACvC,8BAA8B,EAAE,gBAAgB;IAChD,oBAAoB,EAAE,eAAe;IACrC,6BAA6B,EAAE,eAAe;IAC9C,OAAO,EAAE,MAAM;IACf,gBAAgB,EAAE,MAAM;IACxB,WAAW,EAAE,WAAW;IACxB,oBAAoB,EAAE,WAAW;IACjC,oCAAoC,EAAE,gCAAgC;IACtE,6CAA6C,EAAE,gCAAgC;IAC/E,mBAAmB,EAAE,kBAAkB;IACvC,4BAA4B,EAAE,kBAAkB;IAChD,uBAAuB,EAAE,uBAAuB;IAChD,gCAAgC,EAAE,uBAAuB;IACzD,uBAAuB,EAAE,mBAAmB;IAC5C,gCAAgC,EAAE,mBAAmB;IACrD,mBAAmB,EAAE,kBAAkB;IACvC,4BAA4B,EAAE,kBAAkB;IAChD,uBAAuB,EAAE,uBAAuB;IAChD,gCAAgC,EAAE,uBAAuB;IACzD,mBAAmB,EAAE,yBAAyB;IAC9C,4BAA4B,EAAE,yBAAyB;IACvD,uBAAuB,EAAE,2BAA2B;IACpD,gCAAgC,EAAE,2BAA2B;IAC7D,+BAA+B,EAAE,0BAA0B;IAC3D,wCAAwC,EAAE,0BAA0B;IACpE,eAAe,EAAE,aAAa;IAC9B,wBAAwB,EAAE,aAAa;IACvC,mBAAmB,EAAE,cAAc;IACnC,4BAA4B,EAAE,cAAc;IAC5C,yBAAyB,EAAE,oBAAoB;IAC/C,kCAAkC,EAAE,oBAAoB;IACxD,gDAAgD,EAAE,0CAA0C;IAC5F,yDAAyD,EAAE,0CAA0C;IACrG,gBAAgB,EAAE,eAAe;IACjC,yBAAyB,EAAE,eAAe;IAC1C,oBAAoB,EAAE,gBAAgB;IACtC,6BAA6B,EAAE,gBAAgB;IAC/C,cAAc,EAAE,aAAa;IAC7B,uBAAuB,EAAE,aAAa;IACtC,kBAAkB,EAAE,cAAc;IAClC,2BAA2B,EAAE,cAAc;IAC3C,iBAAiB,EAAE,gBAAgB;IACnC,0BAA0B,EAAE,gBAAgB;IAC5C,qBAAqB,EAAE,kBAAkB;IACzC,8BAA8B,EAAE,kBAAkB;IAClD,2BAA2B,EAAE,0BAA0B;IACvD,oCAAoC,EAAE,0BAA0B;IAChE,+BAA+B,EAAE,2BAA2B;IAC5D,wCAAwC,EAAE,2BAA2B;IACrE,iBAAiB,EAAE,iBAAiB;IACpC,0BAA0B,EAAE,iBAAiB;IAC7C,qBAAqB,EAAE,kBAAkB;IACzC,8BAA8B,EAAE,kBAAkB;IAClD,qBAAqB,EAAE,gBAAgB;IACvC,8BAA8B,EAAE,gBAAgB;IAChD,YAAY,EAAE,UAAU;IACxB,qBAAqB,EAAE,UAAU;IACjC,gBAAgB,EAAE,WAAW;IAC7B,yBAAyB,EAAE,WAAW;IACtC,8BAA8B,EAAE,yBAAyB;IACzD,uCAAuC,EAAE,yBAAyB;IAClE,yBAAyB,EAAE,oBAAoB;IAC/C,kCAAkC,EAAE,oBAAoB;IACxD,wBAAwB,EAAE,kBAAkB;IAC5C,iCAAiC,EAAE,kBAAkB;IACrD,oBAAoB,EAAE,eAAe;IACrC,6BAA6B,EAAE,eAAe;IAC9C,cAAc,EAAE,YAAY;IAC5B,uBAAuB,EAAE,YAAY;IACrC,kBAAkB,EAAE,aAAa;IACjC,2BAA2B,EAAE,aAAa;IAC1C,gBAAgB,EAAE,oBAAoB;IACtC,yBAAyB,EAAE,oBAAoB;IAC/C,eAAe,EAAE,cAAc;IAC/B,wBAAwB,EAAE,cAAc;IACxC,iBAAiB,EAAE,gBAAgB;IACnC,0BAA0B,EAAE,gBAAgB;IAC5C,iBAAiB,EAAE,WAAW;IAC9B,0BAA0B,EAAE,WAAW;IACvC,cAAc,EAAE,aAAa;IAC7B,uBAAuB,EAAE,aAAa;IACtC,cAAc,EAAE,eAAe;IAC/B,uBAAuB,EAAE,eAAe;IACxC,qBAAqB,EAAE,uBAAuB;IAC9C,8BAA8B,EAAE,uBAAuB;IACvD,iBAAiB,EAAE,kBAAkB;IACrC,0BAA0B,EAAE,kBAAkB;IAC9C,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,KAAK;IACZ,gBAAgB,EAAE,uBAAuB;IACzC,OAAO,EAAE,WAAW;IACpB,eAAe,EAAE,gBAAgB;IACjC,SAAS,EAAE,aAAa;IACxB,UAAU,EAAE,SAAS;IACrB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,UAAU;IACtB,6BAA6B,EAAE,yCAAyC;IACxE,gBAAgB,EAAE,+BAA+B;IACjD,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,gBAAgB;IAC7B,YAAY,EAAE,aAAa;IAC3B,aAAa,EAAE,aAAa;IAC5B,qBAAqB,EAAE,uBAAuB;IAC9C,gBAAgB,EAAE,oBAAoB;IACtC,4BAA4B,EAAE,+BAA+B;IAC7D,0BAA0B,EAAE,6BAA6B;IACzD,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,eAAe;IAC3B,SAAS,EAAE,yBAAyB;IACpC,kBAAkB,EAAE,0CAA0C;IAC9D,2BAA2B,EAAE,kDAAkD;IAC/E,UAAU,EAAE,eAAe;IAC3B,WAAW,EAAE,eAAe;IAC5B,iBAAiB,EAAE,mBAAmB;IACtC,WAAW,EAAE,YAAY;IACzB,iBAAiB,EAAE,oCAAoC;IACvD,OAAO,EAAE,QAAQ;IACjB,YAAY,EAAE,aAAa;IAC3B,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,OAAO;IACf,UAAU,EAAE,UAAU;IACtB,OAAO,EAAE,OAAO;IAChB,kBAAkB,EAAE,sGAAsG;IAC1H,aAAa,EAAE,aAAa;IAC5B,wBAAwB,EAAE,uFAAuF;IACjH,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,IAAI;IACV,kBAAkB,EAAE,0CAA0C;IAC9D,OAAO,EAAE,OAAO;IAChB,kBAAkB,EAAE,gDAAgD;IACpE,gBAAgB,EAAE,iBAAiB;IACnC,iBAAiB,EAAE,kBAAkB;IACrC,WAAW,EAAE,YAAY;IACzB,QAAQ,EAAE,SAAS;IACnB,mBAAmB,EAAE,wEAAwE;IAC7F,mBAAmB,EAAE,oBAAoB;IACzC,8BAA8B,EAAE,wFAAwF;IACxH,kBAAkB,EAAE,mBAAmB;IACvC,QAAQ,EAAE,QAAQ;IAClB,mBAAmB,EAAE,8BAA8B;IACnD,eAAe,EAAE,gBAAgB;IACjC,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,oBAAoB;IACnC,sBAAsB,EAAE,0CAA0C;IAClE,YAAY,EAAE,mBAAmB;IACjC,kBAAkB,EAAE,mBAAmB;IACvC,kBAAkB,EAAE,mBAAmB;IACvC,mBAAmB,EAAE,sBAAsB;IAC3C,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,WAAW;IACvB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,yBAAyB;IACtC,QAAQ,EAAE,qBAAqB;IAC/B,mBAAmB,EAAE,sBAAsB;IAC3C,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,sBAAsB;IAC5C,0BAA0B,EAAE,8BAA8B;IAC1D,qBAAqB,EAAE,wBAAwB;IAC/C,iBAAiB,EAAE,mBAAmB;IACtC,qBAAqB,EAAE,uBAAuB;IAC9C,gBAAgB,EAAE,kBAAkB;IACpC,6BAA6B,EAAE,iCAAiC;IAChE,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,MAAM;IACd,2BAA2B,EAAE,iCAAiC;IAC9D,uBAAuB,EAAE,mCAAmC;IAC5D,WAAW,EAAE,YAAY;IACzB,aAAa,EAAE,iDAAiD;IAChE,aAAa,EAAE,cAAc;IAC7B,WAAW,EAAE,uBAAuB;IACpC,iBAAiB,EAAE,oDAAoD;IACvE,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,WAAW;IACvB,eAAe,EAAE,uCAAuC;IACxD,aAAa,EAAE,wCAAwC;IACvD,4BAA4B,EAAE,wCAAwC;IACtE,2BAA2B,EAAE,mCAAmC;IAChE,UAAU,EAAE,UAAU;IACtB,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,eAAe;IAC3B,eAAe,EAAE,qBAAqB;IACtC,eAAe,EAAE,qBAAqB;IACtC,gBAAgB,EAAE,sBAAsB;IACxC,aAAa,EAAE,aAAa;IAC5B,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,SAAS;IACpB,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,SAAS;IACpB,YAAY,EAAE,YAAY;IAC1B,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,qBAAqB,EAAE,uBAAuB;IAC9C,6BAA6B,EAAE,yCAAyC;IACxE,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,YAAY;IACzB,SAAS,EAAE,iBAAiB;IAC5B,qBAAqB,EAAE,mDAAmD;IAC1E,wBAAwB,EAAE,sDAAsD;IAChF,UAAU,EAAE,4JAA4J;IACxK,SAAS,EAAE,cAAc;IACzB,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,eAAe;IAC7B,qBAAqB,EAAE,6BAA6B;IACpD,WAAW,EAAE,0BAA0B;IACvC,yBAAyB,EAAE,oCAAoC;IAC/D,wBAAwB,EAAE,wEAAwE;IAClG,YAAY,EAAE,aAAa;IAC3B,MAAM,EAAE,MAAM;IACd,gBAAgB,EAAE,uBAAuB;IACzC,iBAAiB,EAAE,mBAAmB;IACtC,0BAA0B,EAAE,kDAAkD;IAC9E,qBAAqB,EAAE,uBAAuB;IAC9C,mBAAmB,EAAE,oBAAoB;IACzC,oBAAoB,EAAE,qBAAqB;IAC3C,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,qBAAqB;IAC7B,SAAS,EAAE,wBAAwB;IACnC,SAAS,EAAE,wBAAwB;IACnC,SAAS,EAAE,wBAAwB;IACnC,WAAW,EAAE,WAAW;IACxB,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,QAAQ;IAClB,2BAA2B,EAAE,cAAc;IAC3C,6BAA6B,EAAE,gBAAgB;IAC/C,kCAAkC,EAAE,sBAAsB;IAC1D,2BAA2B,EAAE,cAAc;IAC3C,kCAAkC,EAAE,sBAAsB;IAC1D,6BAA6B,EAAE,uBAAuB;IACtD,2BAA2B,EAAE,uBAAuB;IACpD,mCAAmC,EAAE,uBAAuB;IAC5D,2BAA2B,EAAE,cAAc;IAC3C,4BAA4B,EAAE,gBAAgB;IAC9C,kCAAkC,EAAE,sBAAsB;IAC1D,gCAAgC,EAAE,oBAAoB;IACtD,oCAAoC,EAAE,+BAA+B;IACrE,mCAAmC,EAAE,2BAA2B;IAChE,oCAAoC,EAAE,8BAA8B;IACpE,4CAA4C,EAAE,iCAAiC;IAC/E,kDAAkD,EAAE,wCAAwC;IAC5F,6CAA6C,EAAE,kCAAkC;IACjF,6CAA6C,EAAE,uCAAuC;IACtF,wCAAwC,EAAE,6BAA6B;IACvE,4CAA4C,EAAE,iCAAiC;IAC/E,iDAAiD,EAAE,sCAAsC;IACzF,0BAA0B,EAAE,YAAY;IACxC,4BAA4B,EAAE,eAAe;IAC7C,qCAAqC,EAAE,0BAA0B;IACjE,qCAAqC,EAAE,6BAA6B;IACpE,qCAAqC,EAAE,yBAAyB;IAChE,iDAAiD,EAAE,wCAAwC;IAC3F,8BAA8B,EAAE,iBAAiB;IACjD,+BAA+B,EAAE,kBAAkB;IACnD,8BAA8B,EAAE,iBAAiB;IACjD,UAAU,EAAE,WAAW;IACvB,gBAAgB,EAAE,iBAAiB;IACnC,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,UAAU;IACrB,mBAAmB,EAAE,oBAAoB;IACzC,YAAY,EAAE,aAAa;IAC3B,kBAAkB,EAAE,oBAAoB;IACxC,YAAY,EAAE,aAAa;IAC3B,eAAe,EAAE,sCAAsC;IACvD,uBAAuB,EAAE,sDAAsD;IAC/E,oBAAoB,EAAE,8CAA8C;IACpE,UAAU,EAAE,UAAU;IACtB,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,YAAY;IACzB,eAAe,EAAE,UAAU;IAC3B,WAAW,EAAE,YAAY;IACzB,iBAAiB,EAAE,mBAAmB;IACtC,QAAQ,EAAE,mBAAmB;IAC7B,WAAW,EAAE,YAAY;IACzB,gBAAgB,EAAE,aAAa;IAC/B,aAAa,EAAE,iBAAiB;IAChC,eAAe,EAAE,gBAAgB;IACjC,iBAAiB,EAAE,gBAAgB;IACnC,cAAc,EAAE,gBAAgB;IAChC,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,SAAS;IACpB,mBAAmB,EAAE,oBAAoB;IACzC,2BAA2B,EAAE,mEAAmE;IAChG,oBAAoB,EAAE,yEAAyE;IAC/F,wBAAwB,EAAE,2DAA2D;IACrF,oBAAoB,EAAE,eAAe;IACrC,+BAA+B,EAAE,qCAAqC;IACtE,kCAAkC,EAAE,4BAA4B;IAChE,mBAAmB,EAAE,qDAAqD;IAC1E,mBAAmB,EAAE,MAAM;IAC3B,sBAAsB,EAAE,SAAS;IACjC,sBAAsB,EAAE,QAAQ;IAChC,YAAY,EAAE,SAAS;IACvB,+BAA+B,EAAE,OAAO;IACxC,kCAAkC,EAAE,MAAM;IAC1C,0BAA0B,EAAE,gBAAgB;IAC5C,qBAAqB,EAAE,QAAQ;IAC/B,uBAAuB,EAAE,UAAU;IACnC,0BAA0B,EAAE,cAAc;IAC1C,iCAAiC,EAAE,sBAAsB;IACzD,wBAAwB,EAAE,MAAM;IAChC,kCAAkC,EAAE,eAAe;IACnD,iCAAiC,EAAE,iFAAiF;IACpH,4BAA4B,EAAE,6DAA6D;IAC3F,YAAY,EAAE,YAAY;IAC1B,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,UAAU;IACrB,+BAA+B,EAAE,iDAAiD;IAClF,eAAe,EAAE,iBAAiB;IAClC,0BAA0B,EAAE,gCAAgC;IAC5D,uBAAuB,EAAE,qCAAqC;IAC9D,QAAQ,EAAE,SAAS;IACnB,kBAAkB,EAAE,gBAAgB;IACpC,QAAQ,EAAE,QAAQ;IAClB,gBAAgB,EAAE,iBAAiB;IACnC,UAAU,EAAE,UAAU;IACtB,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,mBAAmB;IAClC,iBAAiB,EAAE,oBAAoB;IACvC,kBAAkB,EAAE,qBAAqB;IACzC,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,UAAU;IACtB,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,UAAU;IACtB,gBAAgB,EAAE,kBAAkB;IACpC,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE,cAAc;IAC7B,mBAAmB,EAAE,qBAAqB;IAC1C,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,WAAW,EAAE,WAAW;IACxB,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,gBAAgB;IACjC,WAAW,EAAE,YAAY;IACzB,OAAO,EAAE,OAAO;IAChB,yBAAyB,EAAE,4BAA4B;IACvD,aAAa,EAAE,kCAAkC;IACjD,cAAc,EAAE,4BAA4B;IAC5C,YAAY,EAAE,iGAAiG;IAC/G,UAAU,EAAE,mBAAmB;IAC/B,iBAAiB,EAAE,mBAAmB;IACtC,cAAc,EAAE,yBAAyB;IACzC,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,0BAA0B;IAC/C,aAAa,EAAE,cAAc;IAC7B,UAAU,EAAE,WAAW;IACvB,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,qBAAqB;IAC3C,mBAAmB,EAAE,YAAY;IACjC,aAAa,EAAE,aAAa;CAC7B;AACD;IACE,IAAI,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;AACzB,CAAC;AAPD,0CAOC;AACD;IACE,IAAI,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;AACzB,CAAC;AAPD,gEAOC;;;;;;;;;;ACzwBD,oDAAsD;AACtD,+BAAgC;AAEhC,MAAM,CAAC,cAAc,GAAG,kCAAY,CAAC;AACrC,IAAM,WAAW,GAAG,6BAA6B,CAAC;AAClD,IAAM,aAAa,GAAG,6BAA6B,CAAC;AAEzC,YAAI,GAAG;IAChB,MAAM,EAAE,UAAC,GAAW;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAClC,IAAI,KAAK,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;QACjC,2BAA2B;QAC3B,qHAAqH;QACrH,6BAA6B;QAC7B,EAAE,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC;YACjB,IAAM,yBAAyB,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC;YACrE,IAAM,yBAAyB,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC;YACrE,IAAM,iCAAiC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YACtH,EAAE,CAAC,CAAC,yBAAyB,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACpE,KAAK,GAAG,yBAAyB,CAAC;YACpC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,yBAAyB,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBAC3E,KAAK,GAAG,yBAAyB,CAAC;YACpC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iCAAiC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzG,KAAK,GAAG,iCAAiC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,2FAA2F;YAC3F,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,KAAK,GAAG,YAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC;YACD,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,UAAC,GAAG,EAAE,CAAC,IAAK,QAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAI,CAAC,MAAG,EAAE,GAAG,CAAC,CAAC,EAAtC,CAAsC,CAAC,CAAC;QACnE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,yGAAyG;YACzG,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,0CAA0C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/E,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IACD,UAAU,EAAE,UAAC,KAAa,EAAE,KAAuB;QACjD,IAAI,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACtD,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACb,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACtE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChDF,uCAAwC;AACxC,+CAAgF;AAOhF,sCAAwC;AAGxC,4CAA8C;AAG9C,+BAAgC;AAChC,qCAAuC;AACvC,yCAA6C;AAS7C;IAcE,2BAAmB,OAAkC;QAAlC,YAAO,GAAP,OAAO,CAA2B;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAC;QAE/B,IAAM,qBAAqB,GAA2B;YACpD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK;SAC5C,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAc,CAAC,qBAAqB,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC3C,CAAC;IAEM,6CAAiB,GAAxB;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,oDAAwB,GAA/B;QAAA,iBAgBC;QAfC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,EAAE,CAAC,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;gBAC7B,OAAO,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACpC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAM,GAAG,GAAG,KAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;gBACvD,KAAI,CAAC,cAAc,CAAiC,GAAG,EAAE,EAAE,CAAC;qBACzD,IAAI,CAAC,UAAC,QAAwC;oBAC7C,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;oBAC3B,OAAO,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC,CAAC;qBACD,KAAK,CAAC,UAAC,QAAwB;oBAC9B,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC;YACP,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,4CAAgB,GAAvB,UAAwB,YAA4B;QAClD,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,YAAY,CAAC,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAoD,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACzH,CAAC;IACH,CAAC;IAEM,iDAAqB,GAA5B,UAA6B,iBAA8B;QACzD,eAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,iBAAiB,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAEM,2CAAe,GAAtB,UAAuB,WAAyB;QAC9C,eAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,WAAW,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IAEM,yCAAa,GAApB,UAAqB,MAAmB;QACtC,IAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAW,GAAG,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAEa,yCAAa,GAA3B,UAAkC,IAAO,EAAE,IAAY,EAAE,SAAiB;;;;;;wBAClE,aAAa,GAAG,iBAAiB,CAAC,wBAAwB,IAAI,iBAAiB,CAAC,yBAAyB,CAAC;wBAC1G,aAAa,GAAG,mBAAQ,CAAC,gBAAgB,CAAC;4BAC9C,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC;4BAC9E,KAAK,EAAE;gCACL,GAAG,EAAE,IAAI,CAAC,YAAY;gCACtB,SAAS,EAAE,oBAAM,CAAC,GAAG,CAAC,WAAW,CAAC;6BACnC;yBACF,CAAC,CAAC;6BAGC,kBAAiB,CAAC,cAAc,IAAI,IAAI,GAAxC,wBAAwC;;;;wBAExC,qBAAM,iBAAiB,CAAC,cAAc;;wBAAtC,SAAsC,CAAC;;4BAEvC,sBAAO,IAAI,CAAC,aAAa,CAAO,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAC;;wBAIrD,OAAO,GAAiB,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAI;4BAC5F,eAAe,EAAE,KAAK;4BACtB,MAAM,EAAE,MAAM;4BACd,WAAW,EAAE,aAAa,CAAC,eAAe;4BAC1C,WAAW,EAAE,IAAI;4BACjB,GAAG,EAAE,aAAa,CAAC,IAAI;4BACvB,YAAY,EAAE,MAAM;4BACpB,eAAe,EAAE,kBAAkB;yBACpC,CAAC,CAAC,CAAC;;;;wBAGc,qBAAM,OAAO;;wBAAvB,OAAO,GAAG,SAAa;wBAC7B,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC;wBACxC,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAChD,sBAAO,OAAO,CAAC,IAAI,EAAC;;;wBAEpB,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC;6BACpC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,OAAK,CAAC,EAAzC,wBAAyC;wBACf,qBAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE;;wBAA9D,mBAAmB,GAAG,SAAwC;wBACpE,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;4BACxB,MAAM,gBAAC,IAAI,CAAC,aAAa,CAAO,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAC;wBACzD,CAAC;;4BAGH,MAAM,OAAK,CAAC;;;;;KAEf;IAEO,0CAAc,GAAtB,UAA0B,GAAW,EAAE,MAA0B;QAC/D,IAAM,YAAY,gBAAQ,MAAM,IAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,GAAE,CAAC;QACjF,MAAM,CAAC,IAAI,CAAC,cAAc;aACvB,IAAI,CAAI;YACP,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,aAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAChH,WAAW,EAAE,YAAY;YACzB,YAAY,EAAE,MAAM;YACpB,GAAG,EAAE,GAAG;SACT,CAAC;aACD,IAAI,CAAC,UAAC,GAAwB;YAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,wDAA4B,GAApC,UAAqC,QAAwE;QAC3G,IAAI,OAAe,CAAC;QACpB,IAAI,SAAiB,CAAC;QAEtB,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC9B,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC5C,OAAO,GAAgC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAE,CAAC,OAAO,CAAC;YAC1F,SAAS,GAAgC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAE,CAAC,SAAS,CAAC;QAChG,CAAC;QAED,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC;QACD,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,oBAAM,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC;IAClB,CAAC;IAEO,6CAAiB,GAAzB,UAA0B,IAAY;QACpC,MAAM,CAAC,mBAAQ,CAAC,iBAAiB,CAAC;YAChC,KAAK,EAAE;gBACL,IAAI,CAAC,OAAO,CAAC,UAAU;gBACvB,QAAQ;gBACR,iBAAiB,CAAC,wBAAwB,IAAI,iBAAiB,CAAC,yBAAyB;gBACzF,IAAI;aACL;SACF,CAAC,CAAC;IACL,CAAC;IAlKM,uCAAqB,GAAG,kCAAkC,CAAC;IAC3D,2CAAyB,GAAG,KAAK,CAAC;IAClC,0CAAwB,GAAG,SAAS,CAAC;IACrC,qCAAmB,GAAG,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAgK3D,wBAAC;CAAA;AAtKY,8CAAiB;;;;;;;;;;;;;;;;;;;;ACzB9B,sCAAwC;AAGxC,qDAAsE;AACtE,mCAAkC;AAClC,0CAA+C;AAC/C,sCAAsC;AACtC,8CAAyD;AACzD,qCAAuC;AACvC,+BAAgC;AAEhC,gDAAmE;AAEnE,uDAA+H;AAC/H,qDAA6F;AAC7F,sCAAwC;AAExC;;;;;GAKG;AACH;IAAuC,qCAAa;IAYlD;;;;;;;OAOG;IACH,2BACE,OAAoB,EACb,MAAc,EACd,eAAgC,EAChC,eAAgC,EAChC,cAA6C;QALtD,YAOE,kBAAM,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC,SAuBrC;QA5BQ,YAAM,GAAN,MAAM,CAAQ;QACd,qBAAe,GAAf,eAAe,CAAiB;QAChC,qBAAe,GAAf,eAAe,CAAiB;QAChC,oBAAc,GAAd,cAAc,CAA+B;QApB9C,0BAAoB,GAAG,KAAK,CAAC;QAC7B,uBAAiB,GAAG,KAAK,CAAC;QAC1B,oBAAc,GAAY,KAAK,CAAC;QAsBtC,eAAM,CAAC,MAAM,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC;QACpC,eAAM,CAAC,MAAM,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC;QAEpC,QAAE,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,2CAAoB,CAAC,mBAAmB,EAAE;YAC5D,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,KAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,QAAE,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAI,CAAC,eAAe,CAAC,YAAY,CAAC,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC3E,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,KAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,KAAI,CAAC,UAAU,GAAG;YAChB,KAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;QACxD,CAAC,CAAC;QAEF,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,QAAE,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,2CAAoB,CAAC,IAAI,EAAE,cAAM,YAAI,CAAC,UAAU,EAAE,EAAjB,CAAiB,CAAC,CAAC;;IAC1E,CAAC;IAED,sBAAW,wCAAS;aAIpB;YACE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAS,CAAC;QACjE,CAAC;aAND,UAAqB,SAA2B;YAC9C,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACnC,CAAC;;;OAAA;IAMD;;;OAGG;IACI,yCAAa,GAApB,UAAqB,MAAU;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAEzC,IAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvD,IAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;QACzD,IAAI,CAAC,oBAAoB,GAAG,cAAc,CAAC;QAE3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEjE,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAEM,qCAAS,GAAhB;QACE,MAAM,CAAC;YACL,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE;SAC5C,CAAC;IACJ,CAAC;IAEM,4CAAgB,GAAvB;QACE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAE1C,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,MAAM,CAAC;QACT,CAAC;QAED,IAAM,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5D,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,+BAA+B,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACzG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACnB,IAAM,uBAAuB,GAAG,aAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrH,IAAI,CAAC,sCAAsC,CAAC,uBAAuB,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,sCAAU,GAAlB;QACE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAEO,+CAAmB,GAA3B;QAAA,iBAYC;QAXC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAE3C,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACzB,aAAK,CAAC,KAAK,CAAC;gBACV,IAAM,UAAU,GAAG,KAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;gBACxD,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC/B,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;gBACtD,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,+CAAmB,GAA3B;QAAA,iBAeC;QAdC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAE3C,IAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,IAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,IAAI,CAAoB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,UAAC,KAAK,EAAE,GAAI,EAAE,GAAI;YAC3E,IAAM,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACxC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YACtB,EAAE,CAAC,CAAC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEO,wCAAY,GAApB,UAAqB,GAAW;QAC9B,eAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,CAAC;QAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA6B,GAAG,cAAW,CAAC,CAAC;QACjE,CAAC;QAED,EAAE,CAAC,CAAC,aAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAEO,kEAAsC,GAA9C,UAA+C,eAAgC;QAC7E,+FAA+F;QAC/F,0GAA0G;QAC1G,2FAA2F;QAC3F,2GAA2G;QAJ7G,iBAgCC;QA1BC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;YACzH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0GAA0G,CAAC,CAAC;YAC7H,MAAM,CAAC;QACT,CAAC;QAED,EAAE,CAAC,CAAC,wCAAsB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC;YAChD,8CAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7C,MAAM,CAAC;QACT,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,wCAAsB,CAAC,IAAI,IAAI,eAAe,CAAC,CAAC,CAAC;YAC1D,mCAAY,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,wCAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;YAChF,MAAM,CAAC;QACT,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,yEAAyE;YACzE,oFAAoF;YACpF,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,aAAG;gBACjC,IAAM,SAAS,GAAG,KAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,CAAC;gBAChE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;oBACd,KAAI,CAAC,cAAc,CAAC,cAAc,CAAsB,SAAS,CAAC,WAAW,EAAE;wBAC7E,OAAO,EAAE,SAAS,CAAC,SAAS;wBAC5B,UAAU,EAAE,SAAS,CAAC,SAAS;wBAC/B,UAAU,EAAE,SAAS,CAAC,aAAa;qBACpC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,+DAAmC,GAA3C,UAA4C,GAAW;QACrD,IAAM,sBAAsB,GAAG,kBAAkB,CAAC;QAClD,IAAM,iBAAiB,GAAG,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE3D,IAAM,sBAAsB,GAAG,YAAY,CAAC;QAC5C,IAAM,iBAAiB,GAAG,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE3D,IAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACzD,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAE5C,IAAM,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAC5D,IAAI,aAAa,CAAC;QAClB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YACjB,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QACjE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACtB,IAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,WAAW,SAAuB,CAAC;YACvC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBACjB,WAAW,GAAG,kDAAwB,CAAC,aAAa,CAAC;YACvD,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,WAAW,GAAG,kDAAwB,CAAC,WAAW,CAAC;YACrD,CAAC;YAED,MAAM,CAAC;gBACL,SAAS;gBACT,WAAW;gBACX,aAAa;aACd,CAAC;QACJ,CAAC;QAED,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACtB,IAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,WAAW,SAAuB,CAAC;YACvC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBACjB,WAAW,GAAG,kDAAwB,CAAC,cAAc,CAAC;YACxD,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,WAAW,GAAG,kDAAwB,CAAC,YAAY,CAAC;YACtD,CAAC;YAED,MAAM,CAAC;gBACL,SAAS;gBACT,WAAW;gBACX,aAAa;aACd,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAvPM,oBAAE,GAAG,mBAAmB,CAAC;IAEzB,iDAA+B,GAAG,CAAC,WAAW,CAAC,CAAC;IAsPzD,wBAAC;CAAA,CAzPsC,6BAAa,GAyPnD;AAzPY,8CAAiB;;;;;;;;;;;;;;;;;;;;ACvB9B,kDAA+D;AAC/D,sCAAwC;AAExC,uCAAwC;AACxC,sCAAwC;AACxC,qDAAsE;AACtE,8CAAyD;AACzD,mCAAkC;AAClC,+BAAgC;AAEhC;;;;GAIG;AACH;IAAmD,iDAAa;IAM9D;;;;;;OAMG;IACH,uCAAY,OAAoB,EAAS,MAAc,EAAS,KAAY,EAAS,eAAgC;QAArH,YACE,kBAAM,OAAO,EAAE,6BAA6B,CAAC,EAAE,CAAC,SAajD;QAdwC,YAAM,GAAN,MAAM,CAAQ;QAAS,WAAK,GAAL,KAAK,CAAO;QAAS,qBAAe,GAAf,eAAe,CAAiB;QAT7G,UAAI,GAAa,EAAE,CAAC;QAW1B,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CACtB,uGAAuG,EACvG,KAAI,CACL,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAI,CAAC,OAAO,GAAG,IAAI,qCAAiB,CAAyB,6BAA6B,CAAC,EAAE,CAAC,CAAC;YAC/F,eAAM,CAAC,MAAM,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,eAAM,CAAC,MAAM,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC;YACpC,QAAE,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,2CAAoB,CAAC,mBAAmB,EAAE,cAAM,YAAI,CAAC,2BAA2B,EAAE,EAAlC,CAAkC,CAAC,CAAC;YACxG,QAAE,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,cAAM,YAAI,CAAC,2BAA2B,EAAE,EAAlC,CAAkC,CAAC,CAAC;QAC/G,CAAC;;IACH,CAAC;IAED;;;OAGG;IACI,6DAAqB,GAA5B,UAA6B,UAAoB;QAC/C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;IAEO,mEAA2B,GAAnC;QACE,IAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IAEO,mEAA2B,GAAnC;QAAA,iBAWC;QAVC,IAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,IAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC,CAAC,IAAI,CAAoB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAC,KAAK,EAAE,GAAI,EAAE,GAAI;YACjE,IAAI,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC;gBAC1B,QAAQ,GAAG,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,wDAAgB,GAAvB,UAAwB,MAA8B;QACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAzDM,gCAAE,GAAG,+BAA+B,CAAC;IA0D9C,oCAAC;CAAA,CA3DkD,6BAAa,GA2D/D;AA3DY,sEAA6B;;;;;;;;;;ACd1C,4CAAsD;AACtD,qDAAoF;AACpF,+BAAgC;AAEhC;IAAA;IA+DA,CAAC;IA9DQ,6CAAkB,GAAzB,UAA0B,IAAY;QACpC,IAAI,MAAM,GAAa,CAAC,CAAC,GAAG,CAC1B,yBAAW,CAAC,KAAK,CAAC,IAAI,EAAE,qGAAqG,CAAC,EAC9H,eAAK;YACH,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC9D,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAEM,4CAAiB,GAAxB,UAAyB,SAAiB,EAAE,MAAoB,EAAE,oBAAiD;QAAjD,kEAA2B,2CAAoB,EAAE;QACjH,IAAI,sBAAsB,GAAG,IAAI,CAAC;QAElC,IAAI,iBAAiB,GAAG,0BAA0B,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAEjF,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAC,gBAAwB;YACjD,IAAI,mBAAmB,GAAG,0BAA0B,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YAC9G,IAAI,oBAAoB,GACtB,mBAAmB,CAAC,MAAM,IAAI,CAAC,IAAI,0BAA0B,CAAC,4BAA4B,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YAE1H,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBACzB,sBAAsB,GAAG,sBAAsB,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;YAC1F,CAAC;YACD,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC3B,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,UAAkB;oBAC7C,sBAAsB,GAAG,sBAAsB,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC5H,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAC3B,EAAE,CAAC,CAAC,0BAA0B,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACvE,sBAAsB,GAAG,sBAAsB,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;YAC/F,CAAC;QACH,CAAC;QACD,MAAM,CAAC,sBAAsB,CAAC;IAChC,CAAC;IAEc,sDAA2B,GAA1C,UAA2C,KAAa,EAAE,SAAiB;QACzE,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAC9B,0EAA0E;QAC1E,IAAI,oBAAoB,GAAG,IAAI,MAAM,CAAC,SAAQ,KAAK,sCAAiC,EAAE,IAAI,CAAC,CAAC;QAC5F,6EAA6E;QAC7E,IAAI,qBAAqB,GAAG,IAAI,MAAM,CAAC,eAAa,KAAK,6CAAwC,EAAE,IAAI,CAAC,CAAC;QAEzG,IAAI,OAAO,GAAG,yBAAW,CAAC,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,MAAM,CAAC,yBAAW,CAAC,KAAK,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAC7H,OAAO,CAAC,OAAO,CAAC,eAAK;YACnB,oBAAoB,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAEc,uDAA4B,GAA3C,UAA4C,KAAa,EAAE,SAAiB;QAC1E,IAAI,wBAAwB,GAAG,IAAI,MAAM,CAAC,SAAQ,KAAK,iCAA8B,EAAE,IAAI,CAAC,CAAC;QAC7F,IAAI,yBAAyB,GAAG,IAAI,MAAM,CAAC,eAAa,KAAK,wCAAqC,EAAE,IAAI,CAAC,CAAC;QAC1G,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC;IACjH,CAAC;IAEc,uDAA4B,GAA3C,UAA4C,SAAiB;QAC3D,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACrE,CAAC;IACH,iCAAC;AAAD,CAAC;AA/DY,gEAA0B;;;;;;;;;;ACJvC,qCAA0C;AAC1C,4DAA0E;AAC1E,gDAA2F;AAC3F,mCAA0C;AAC1C,+BAAgC;AAChC,8CAAwD;AAaxD;IACE,gCAAmB,QAAkB,EAAS,SAAsB;QAAjD,aAAQ,GAAR,QAAQ,CAAU;QAAS,cAAS,GAAT,SAAS,CAAa;QAClE,IAAI,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACzD,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC;YACtB,0DAA0D;YAC1D,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACzD,QAAQ,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAM,sBAAsB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5D,EAAE,CAAC,CAAC,sBAAsB,IAAI,aAAK,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,sBAAsB,CAAC;YACvD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,uDAA0B,CAAC,kBAAkB,CAAI,SAAS,CAAC,SAAS,UAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC;QAE7H,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAiB,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAEvE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,uDAA0B,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpH,2EAA2E;QAC3E,IAAM,gBAAgB,GAAG,mCAAgB,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAiC;YAC7G,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC;YAC7B,eAAe;YACf,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,eAAK,IAAI,YAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,0GAA0G;QAC1G,IAAI,CAAC,QAAQ,CAAC,SAAS,CACrB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAC,OAAuB;YACzD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC,CAAC,CACH,CAAC;QAEF,mCAAmC;QACnC,4DAA4D;QAC5D,IAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;aAC9F,GAAG,CAAC,UAAC,SAAiB;YACrB,MAAM,CAAC,+BAAc,CAAC,oCAAoC,CAAC,SAAS,CAAC,CAAC;QACxE,CAAC,CAAC;aACD,OAAO,EAAE;aACT,KAAK,EAAE,CAAC;QAEX,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACrD,CAAC;IAED,8CAAa,GAAb,UAAc,SAAe;QAC3B,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACf,SAAS,GAAG,QAAE,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QACD,IAAM,SAAS,GAAG,QAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACpE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,SAAS,CAAC,YAAY,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;QACD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;IACtB,CAAC;IAED,sDAAqB,GAArB;QACE,IAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QACvC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;aACpB,GAAG,CAAC,UAAC,KAAK,EAAE,GAAW;YACtB,IAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC7C,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACV,IAAI,MAAM,UAAC;gBACX,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpD,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;gBACD,MAAM,CAAC;oBACL,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;oBAC7B,MAAM,EAAE,MAAM;iBACf,CAAC;YACJ,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,MAAM,CAAC,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;aACD,OAAO,EAAE;aACT,KAAK,EAAE,CAAC;IACb,CAAC;IAED,gDAAe,GAAf,UAAgB,SAAiB;QAC/B,MAAM,CAAC,aAAK,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,4CAAW,GAAX;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC1D,MAAM,CAAc,MAAM,CAAC;IAC7B,CAAC;IAEM,iCAAU,GAAjB,UACE,QAAgB,EAChB,UAA8C,EAC9C,SAA0C;QAD1C,4CAA8C;QAC9C,wCAAY,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;QAE1C,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC/B,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC;YACjC,SAAS,CAAC,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC;QACD,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;YAC9B,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QACD,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;YAC9B,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;YAC9B,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;YAC/B,SAAS,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,EAAE,CAAC,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAC,YAA4B;gBAC5D,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;oBACxB,SAAS,CAAC,YAAY,CAAC,gBAAc,YAAY,CAAC,KAAK,CAAC,WAAW,EAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1G,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,SAAS,CAAC,YAAY,CAAC,gBAAc,YAAY,CAAC,KAAK,CAAC,WAAW,EAAI,EAAE,IAAI,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;YAC5B,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IACH,6BAAC;AAAD,CAAC;AApIY,wDAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBnC,gDAA4D;AAC5D,kDAAkE;AAClE,iDAA+F;AAC/F,4CAAuD;AAGvD,mCAA0C;AAC1C,4CAAsD;AACtD,+CAA2D;AAC3D,8CAAsD;AACtD,8CAAsD;AACtD,oDAAuE;AACvE,wCAAwC;AACxC,+BAAgC;AAChC,yBAAwB;AACxB,uCAA0C;AAE1C,6CAA4C;AAC5C,4CAA+E;AAC/E,gDAAkD;AAClD,6CAAqD;AACrD,yCAAiD;AAMjD;IAA2B,yBAAa;IAyBtC,eACS,OAAoB,EACpB,QAA4B,EAC5B,OAAuB,EACvB,QAAyB;QAAzB,sCAAW,8BAAc;QAJlC,YAME,kBAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,SAkBzB;QAvBQ,aAAO,GAAP,OAAO,CAAa;QACpB,cAAQ,GAAR,QAAQ,CAAoB;QAC5B,aAAO,GAAP,OAAO,CAAgB;QACvB,cAAQ,GAAR,QAAQ,CAAiB;QAV1B,YAAM,GAAG,KAAK,CAAC;QAarB,KAAI,CAAC,OAAO,GAAG,mCAAgB,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAE9E,+DAA+D;QAC/D,wGAAwG;QACxG,2DAA2D;QAC3D,kJAAkJ;QAClJ,KAAI,CAAC,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAM,YAAI,CAAC,YAAY,EAAE,EAAnB,CAAmB,EAAE,GAAG,CAAC,CAAC;QAEjE,QAAE,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,mCAAgB,CAAC,kBAAkB,EAAE,UAAC,CAAC,EAAE,IAAkC;YAC7F,YAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;QAAnC,CAAmC,CACpC,CAAC;QACF,QAAE,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,yBAAW,CAAC,cAAc,EAAE,UAAC,CAAC,EAAE,IAAI,IAAK,YAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAA/B,CAA+B,CAAC,CAAC;QAC9F,QAAE,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,yBAAW,CAAC,YAAY,EAAE,UAAC,CAAC,EAAE,IAA4B,IAAK,YAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;QAClH,QAAE,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,yBAAW,CAAC,QAAQ,EAAE,cAAM,YAAI,CAAC,cAAc,EAAE,EAArB,CAAqB,CAAC,CAAC;QAEvE,KAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAiB,CAAW,YAAY,CAAC,CAAC;QACvE,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;;IAC/D,CAAC;IAEM,yBAAS,GAAhB;QACE,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,mCAAmB,GAA1B,UAA2B,IAAS;QAClC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,UAAU,gBAAQ,IAAI,CAAC,UAAU,EAAK,IAAI,CAAE,CAAC;IACpD,CAAC;IAEO,wCAAwB,GAAhC,UAAiC,IAAkC;QAAnE,iBAIC;QAHC,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,UAAC,CAAa;YACzC,KAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,uCAAuB,GAA/B,UAAgC,CAAa,EAAE,IAAkC;QAC/E,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACb,IAAM,OAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAEhC,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEvC,IAAM,UAAU,GAAG,UAAC,OAAuB;gBACzC,cAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAC,MAAoB,IAAK,aAAM,CAAC,KAAK,IAAI,OAAK,EAArB,CAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;YAAxG,CAAwG,CAAC;YAE3G,IAAM,SAAS,gBACV,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,IAC5E,UAAU,cACV,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GACxC,CAAC;YAEF,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,kCAAkB,GAA1B,UAA2B,IAA4B;QACrD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAChB,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClD,IAAI,CAAC,mBAAmB,CAAC,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnI,CAAC;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,8BAAc,GAAtB;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,oCAAoB,GAA5B,UAA6B,IAAS;QACpC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,+BAAe,GAAvB;QAAA,iBA6CC;QA5CC,IAAM,IAAI,GAAG,QAAE,CAAC,KAAK,EAAE;YACrB,SAAS,EAAE,aAAa;SACzB,CAAC,CAAC;QAEH,IAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;aAClC,IAAI,CAAC,YAAY,CAAC,CAAC,0FAA0F;aAC7G,IAAI,EAAE;aACN,KAAK,EAAE,CAAC;QAEX,gFAAgF;QAChF,0CAA0C;QAC1C,IAAI,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/B,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,CAAQ,EAAE,CAAQ;YAC9C,IAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,IAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACzB,CAAC;YACD,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC;YACD,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,CAAC,CAAC;YACX,CAAC;YACD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAM,IAAI,GAAG,EAAE,CAAC;QAEhB,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,UAAC,GAAa;YAClC,IAAM,OAAO,GAAG,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAM,KAAK,GAAG,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9F,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC;YACL,IAAI,EAAE,IAAI,CAAC,EAAE;YACb,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IAEO,4BAAY,GAApB;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,QAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEO,gCAAgB,GAAxB;QACE,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,IAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACT,QAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACjB,QAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAEO,4BAAY,GAApB;QAAA,iBAiCC;QAhCC,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAC7C,KAAK,EAAE,WAAC,CAAC,OAAO,CAAC;YACjB,SAAS,EAAE,aAAa;YACxB,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE;gBACV,KAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAM,KAAK,GAAG,QAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAChC,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,IAAI,CAAC,QAAQ,EACb,UAAC,KAAa,IAAK,YAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAA9B,CAA8B,EACjD,IAAI,CAAC,UAAU,CAChB,CAAC;YACJ,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,0CAA0B,GAAlC,UAAmC,KAAuC;QAA1E,iBAKC;QAJC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAC,KAAa,IAAK,YAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAA9B,CAA8B,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAEO,+BAAe,GAAvB;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAEO,sCAAsB,GAA9B,UAA+B,KAAU,EAAE,OAAsB;QAC/D,EAAE,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QACD,IAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3D,CAAC;IAEO,8BAAc,GAAtB,UAAuB,OAAoB,EAAE,KAAa;QAA1D,iBA2BC;QA1BC,IAAM,cAAc,GAAG,QAAE,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YACrD,cAAc,CAAC,WAAW,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YACxD,IAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,IAAI,UAAQ,GAAG,KAAK,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAC,KAAkB;gBAClC,UAAQ,GAAG,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,UAAQ,CAAC;YAC3D,CAAC,CAAC,CAAC;YACH,cAAc,CAAC,WAAW,CAAC,uBAAuB,EAAE,UAAQ,CAAC,CAAC;YAC9D,MAAM,CAAC,KAAK,IAAI,UAAQ,CAAC;QAC3B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjD,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,cAAc,CAAC,WAAW,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAEO,4BAAY,GAApB,UAAqB,EAAU;QAA/B,iBAqCC;QApCC,IAAM,GAAG,GAAG,QAAE,CAAC,KAAK,EAAE;YACpB,SAAS,EAAE,yBAAuB,EAAE,aAAU;SAC/C,CAAC,CAAC;QAEH,IAAM,MAAM,GAAG,QAAE,CAAC,KAAK,EAAE;YACvB,SAAS,EAAE,sBAAsB;SAClC,CAAC,CAAC;QAEH,QAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEtB,IAAM,SAAS,GAAG,QAAE,CAAC,KAAK,EAAE;YAC1B,SAAS,EAAE,yBAAyB;SACrC,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEzB,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,QAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE;YACjB,QAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;YAC7C,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3C,KAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,KAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;YACjE,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC;YACD,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC;YACL,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,SAAS;SACrB,CAAC;IACJ,CAAC;IAEO,6BAAa,GAArB,UAAsB,KAAU,EAAE,KAAc;QAC9C,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,4BAAY,GAApB,UAAqB,OAAqB,EAAE,KAAc;QAA1D,iBAWC;QAVC,IAAM,GAAG,GAAG,QAAE,CAAC,KAAK,EAAE;YACpB,SAAS,EAAE,uCAAuC;SACnD,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,eAAK;YAChB,IAAM,WAAW,GAAG,KAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACrD,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAEO,mCAAmB,GAA3B,UAA4B,MAAW,EAAE,KAAc;QAAvD,iBAsEC;QArEC,IAAM,GAAG,GAAG,QAAE,CAAC,KAAK,EAAE;YACpB,SAAS,EAAE,sCAAsC;SAClD,CAAC,CAAC;QAEH,IAAM,cAAc,GAAG,QAAE,CAAC,KAAK,EAAE;YAC/B,SAAS,EAAE,sBAAsB;SAClC,CAAC,CAAC;QAEH,IAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QAED,IAAI,QAAuB,CAAC;QAC5B,IAAM,SAAS,GAAG;YAChB,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;gBACrB,QAAQ,GAAG,EAAE,CAAC;gBACd,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,UAAC,GAAW;oBACvB,IAAM,QAAQ,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;oBACtD,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;wBACrB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACxB,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,QAAQ,CAAC;QAClB,CAAC,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;QAEhC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;YAClB,IAAM,QAAQ,GAAG,QAAE,CAAC,KAAK,EAAE;gBACzB,SAAS,EAAE,sBAAsB;aAClC,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;YAEjC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrB,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBAElC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE;oBACnB,SAAS,EAAE,CAAC;oBACZ,IAAI,SAAS,GAAG,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC9C,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;wBAC5C,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;oBACrD,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBACnC,CAAC;oBACD,GAAG,CAAC,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,SAAS,EAAE,CAAC;QACd,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;YACpF,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACvC,GAAG,CAAC,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YACD,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAEO,kCAAkB,GAA1B,UAA2B,KAAa,EAAE,KAAc;QAAxD,iBAqDC;QApDC,IAAM,GAAG,GAAG,QAAE,CAAC,KAAK,EAAE;YACpB,SAAS,EAAE,qCAAqC;SACjD,CAAC,CAAC;QAEH,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;YAClB,IAAM,QAAQ,GAAG,QAAE,CAAC,KAAK,EAAE;gBACzB,SAAS,EAAE,sBAAsB;aAClC,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxB,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;QACnC,CAAC;QACD,IAAM,WAAW,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YAC1C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,IAAM,QAAQ,GAAG,QAAE,CAAC,KAAK,CAAC,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3B,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE;YACtB,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxB,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;QAE9B,IAAM,SAAS,GAAa,CAAC,sBAAsB,CAAC,CAAC;QACrD,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAChD,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC9C,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAChD,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,SAAS,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACjD,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC9C,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAChD,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,SAAS,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC/C,CAAC;QACD,QAAQ,CAAC,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5C,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAEO,sBAAM,GAAd,UAAe,KAAU,EAAE,KAAS,EAAE,IAAgB;QAAtD,iBAqCC;QArC0B,iCAAS;QAAE,gCAAgB;QACpD,EAAE,CAAC,CAAC,KAAK,YAAY,6BAAa,IAAI,KAAK,YAAY,+BAAc,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,EAAE,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,EAAE,CAAC,CAAC,KAAK,YAAY,mBAAQ,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAK;gBACrB,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAChD,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,UAAC,QAAQ,EAAE,GAAG,IAAK,YAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAtD,CAAsD,CAAC,CAAC;YACjG,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAM,QAAM,GAAG,EAAE,CAAC;gBAClB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAC,QAAQ,EAAE,GAAG;oBAC1B,QAAM,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvE,CAAC,CAAC,CAAC;gBACH,QAAM,CAAC,KAAK,CAAC,CAAC;gBACd,MAAM,CAAC,QAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAEO,yBAAS,GAAjB,UAAkB,KAAU,EAAE,WAAoB;QAChD,WAAW,GAAG,IAAI,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC;QAC/C,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAC3B,MAAM,CAAC,WAAW,CAAC;IACrB,CAAC;IAEO,+BAAe,GAAvB,UAAwB,KAAqC,EAAE,KAAS;QAAT,iCAAS;QACtE,IAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACzC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAEO,0BAAU,GAAlB,UAAmB,KAAkB;QACnC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,CAAC;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACxC,CAAC;IACJ,CAAC;IAEO,8BAAc,GAAtB,UAAuB,QAAkB;QACvC,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QACD,IAAM,OAAO,GAAgB,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjD,IAAM,cAAc,GAAQ;YAC1B,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE;SACzB,CAAC;QACF,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;YACpB,cAAc,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;YAC/B,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAChE,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;QAC7C,CAAC;QACD,MAAM,CAAC,cAAc,CAAC;IACxB,CAAC;IAEO,iCAAiB,GAAzB,UAA0B,EAAe;QACvC,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YAChD,IAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YACxC,IAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAC7B,SAAS,CAAC,eAAe,EAAE,CAAC;YAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAiB,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9C,IAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrD,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAChC,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,sBAAM,GAAd,UAAe,KAAa,EAAE,IAAiB;QAA/C,iBAmBC;QAlBC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,QAAE,CAAC,IAAI,CAAC;iBACL,OAAO,CAAC,6CAA6C,CAAC;iBACtD,OAAO,CAAC,YAAE;gBACT,QAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,2CAA2C,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YACL,QAAE,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAC1C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,QAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YAC7C,UAAU,CAAC;gBACT,IAAM,cAAc,GAAG,QAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC;gBACrG,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,UAAC,OAAoB;oBAC1C,KAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;gBACH,QAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBACrC,QAAE,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,+BAAe,GAAvB,UAAwB,eAAkC,EAAE,MAAc;QACxE,IAAI,aAA0B,CAAC;QAC/B,EAAE,CAAC,CAAC,eAAe,YAAY,WAAW,CAAC,CAAC,CAAC;YAC3C,aAAa,GAAG,eAAe,CAAC;QAClC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,eAAe,YAAY,SAAG,CAAC,CAAC,CAAC;YAC1C,aAAa,GAAG,eAAe,CAAC,EAAE,CAAC;QACrC,CAAC;QACD,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,aAAa,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC;YAC7D,IAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,yBAAW,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7G,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC;YAC7B,KAAK,CAAC,OAAO,CAAC,eAAK;gBACjB,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,yBAAW,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3E,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,IAAI,CAAC;gBAET,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;oBAClB,IAAI,GAAG,QAAE,CAAC,MAAM,EAAE;wBAChB,SAAS,EAAE,uBAAuB;qBACnC,CAAC,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpB,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACnC,IAAI,GAAG,QAAE,CAAC,MAAM,CAAC,CAAC;oBAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACzC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,IAAI,GAAG,QAAE,CAAC,MAAM,CAAC,CAAC;oBAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACjB,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,qCAAqB,GAA7B,UAA8B,OAAoB;QAChD,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;YACpB,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,wCAAwB,GAAhC;QACE,QAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC5D,CAAC;IAEO,wCAAwB,GAAhC;QACE,QAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAC/D,CAAC;IAhmBM,QAAE,GAAG,OAAO,CAAC;IAEb,cAAQ,GAAG;QAChB,8BAAc,CAAC;YACb,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC,CAAC;IAEK,aAAO,GAAkB;QAC9B,WAAW,EAAE,mCAAgB,CAAC,kBAAkB,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;KAC1E,CAAC;IAEK,iBAAW,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACrH,kBAAY,GAAG,CAAC,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAChF,cAAQ,GAAG,EAAE,CAAC;IAmlBvB,YAAC;CAAA,CAlmB0B,6BAAa,GAkmBvC;AAlmBY,sBAAK;;;;;;;;;;AC3BlB,qCAAgC;AAChC,qCAAqC;AACrC,0CAAkC;AAElC;;;;GAIG;AACH;IAAA;IA+DA,CAAC;IA5DC,kFAAkF;IAClF,6EAA6E;IAC/D,gCAAgB,GAA9B;QACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAChC,qBAAuB,GAAG,eAAe,CAAC,oBAAoB,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACW,oCAAoB,GAAlC;QACE,IAAI,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,aAAM,CAAC,IAAI,CAAC;iBACb,IAAI,CAAC,yXACiJ,CAAC,CAAC;QAC7J,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,aAAK,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;QACtD,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAM,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED;;;OAGG;IACW,qCAAqB,GAAnC,UAAoC,IAAY;QAC9C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,qBAAuB,GAAG,IAAI,CAAC;IACjC,CAAC;IAEa,qBAAK,GAAnB;QACE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IAEa,gCAAgB,GAA9B;QACE,MAAM,CAAoB,QAAQ,CAAC,aAAa,CAAC;IACnD,CAAC;IAEa,8BAAc,GAA5B;QAAA,iBAEC;QADC,MAAM,CAAC,iBAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,YAAE,IAAI,YAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAjB,CAAiB,CAAC,CAAC;IACnF,CAAC;IAEc,wCAAwB,GAAvC,UAAwC,MAAyB;QAC/D,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC;IAEc,wBAAQ,GAAvB,UAAwB,EAAW;QACjC,MAAM,CAAC,EAAE,IAAI,SAAE,CAAc,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IA7Dc,qCAAqB,GAAG,KAAK,CAAC;IA8D/C,sBAAC;CAAA;AA/DY,0CAAe;;;;;;;;;;ACR5B,4CAAsD;AACtD,mDAA0D;AAC1D,kEAAwF;AAExF,sCAA2C;AAC3C,uCAA2C;AAC3C,uDAA4F;AAQ5F,sCAAyC;AACzC,mCAAqC;AACrC,gDAA0F;AAC1F,qDAAqE;AAMrE,gDAA+D;AAC/D,yCAA8C;AAC9C,wCAA6C;AAC7C,2CAAoD;AACpD,+BAAgC;AAEhC;IAWE,6BACS,QAA2B,EAC3B,WAAwB,EACxB,MAAc,EACd,eAAuB,EACvB,SAAkB,EAClB,gBAAwB,EACxB,mBAA2B,EAC3B,YAAoB,EACpB,WAAoB;QARpB,aAAQ,GAAR,QAAQ,CAAmB;QAC3B,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,oBAAe,GAAf,eAAe,CAAQ;QACvB,cAAS,GAAT,SAAS,CAAS;QAClB,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,wBAAmB,GAAnB,mBAAmB,CAAQ;QAC3B,iBAAY,GAAZ,YAAY,CAAQ;QACpB,gBAAW,GAAX,WAAW,CAAS;QAnBtB,iBAAY,GAAY,KAAK,CAAC;QAC9B,kBAAa,GAAW,QAAQ,CAAC;QAEhC,aAAQ,GAAW,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,WAAM,GAAG,yBAAW,CAAC,aAAa,EAAE,CAAC;QACrC,WAAM,GAAG,yBAAW,CAAC,cAAc,EAAE,CAAC;QAgB5C,eAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,eAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3B,eAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,eAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,eAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,yCAAW,GAAlB;QACE,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,+CAAiB,GAAxB;QACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC3C,CAAC;IAEM,sDAAwB,GAA/B;QACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,CAAC;IAClD,CAAC;IAEM,kDAAoB,GAA3B;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;QACjD,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,iCAAiC,IAAI,IAAI,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,aAAa,EAAE,CAAC;QAChE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,iDAAmB,GAA1B;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;QAChD,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,iCAAiC,IAAI,IAAI,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,YAAY,EAAE,CAAC;QAC/D,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,4CAAc,GAArB,UAA6B,WAAkC,EAAE,IAAW;QAC1E,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;IAEM,gDAAkB,GAAzB,UAAiC,WAAkC,EAAE,IAAY;QAC/E,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;IAEM,2CAAa,GAApB,UACE,WAAkC,EAClC,IAAW,EACX,MAAoB,EACpB,OAAoB;QAEpB,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAEM,4CAAc,GAArB,UAA6B,WAAkC,EAAE,IAAW,EAAE,OAAoB;QAChG,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAEM,2CAAa,GAApB,UAAqB,MAAmB;QACtC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEM,kDAAoB,GAA3B;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,iCAAiC,CAAC,YAAY,EAAE,CAAC;QACxD,CAAC;IACH,CAAC;IAEM,oDAAsB,GAA7B;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,CAAC;YAChD,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;QAChD,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACjC,CAAC;IACH,CAAC;IAEM,mDAAqB,GAA5B;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACjC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC;QAChD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,kDAAoB,GAA3B;QACE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC;YACpG,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,uLAAuL,EACvL,qCAAqC,CACtC,CAAC;YACF,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvC,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAEM,8CAAgB,GAAvB,UAAwB,aAAqB;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEO,6CAAe,GAAvB,UACE,WAAkC,EAClC,UAA0C,EAC1C,OAAqB;QAErB,IAAI,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,gCAAgC,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,CAAC,oCAAoC,CAAC,WAAW,CAAC,CAAC;QACvD,QAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,iCAAe,CAAC,WAAW,EAA6B;YACnF,WAAW,EAAE,yCAAmB,CAAC,uBAAuB,CAAC,WAAW,CAAC;SACtE,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/F,CAAC;IAEO,6CAAe,GAAvB,UAAwB,WAAkC,EAAE,UAA0C;QAAtG,iBA0BC;QAzBC,eAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3B,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;YACxC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,oCAAoC,CAAC,WAAW,CAAC,CAAC;QAEvD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC7B,IAAI,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACjE,IAAI,CAAC,gCAAgC,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAC9E,IAAI,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAI,uCAAkB,CACxE,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,QAAQ,EACb,WAAW,EACX,IAAI,CAAC,WAAW,CACjB,CAAC,CAAC;YAEH,aAAK,CAAC,KAAK,CAAC;gBACV,kFAAkF;gBAClF,+EAA+E;gBAC/E,+CAA+C;gBAC/C,KAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;gBACpC,kBAAkB,CAAC,aAAa,EAAE,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,kEAAoC,GAA5C,UAA6C,WAAkC;QAC7E,EAAE,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,oCAAoC,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,sDAAwB,GAAhC,UAAiC,WAAkC,EAAE,UAA0C;QAC7G,IAAI,CAAC,oCAAoC,EAAE,CAAC;QAC5C,IAAI,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,gCAAgC,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,CAAC,iCAAiC,GAAG,IAAI,qEAAiC,CAC5E,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,QAAQ,EACb,WAAW,EACX,IAAI,CAAC,WAAW,CACjB,CAAC;IACJ,CAAC;IAEO,4CAAc,GAAtB,UACE,WAAkC,EAClC,UAA0C,EAC1C,MAAoB,EACpB,OAAoB;QAEpB,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3E,IAAI,CAAC,oCAAoC,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,gCAAgC,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/F,eAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9C,eAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9C,eAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,eAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAExC,QAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,iCAAe,CAAC,iBAAiB,EAAE;YAC9D,iBAAiB,EAAE,yCAAmB,CAAC,wBAAwB,CAAC,KAAK,CAAC;SACvE,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/F,CAAC;IAEO,iDAAmB,GAA3B,UAA4B,WAAkC,EAAE,UAA0C;QACxG,MAAM,CAAC;YACL,WAAW,EAAE,WAAW,CAAC,IAAI;YAC7B,UAAU,EAAE,WAAW,CAAC,IAAI;YAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,SAAS;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;YACpD,YAAY,EAAE,QAAQ,CAAC,QAAQ;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAClE,SAAS,EAAE,SAAS,CAAC,SAAS;SAC/B,CAAC;IACJ,CAAC;IAEO,8CAAgB,GAAxB,UAAyB,WAAkC,EAAE,UAA0C;QACrG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAe,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE;YACjF,cAAc,EAAE,SAAS;YACzB,QAAQ,EAAE,SAAS;YACnB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,SAAS;YACxB,OAAO,EAAE,SAAS;YAClB,cAAc,EAAE,SAAS;YACzB,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,IAAI,CAAC,YAAY;SAC9B,CAAC,CAAC;IACL,CAAC;IAEO,6CAAe,GAAvB,UACE,WAAkC,EAClC,UAA0C,EAC1C,MAAoB,EACpB,OAAoB;QAEpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAc,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE;YAChF,cAAc,EAAE,MAAM,CAAC,QAAQ;YAC/B,aAAa,EAAE,MAAM,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,YAAY;YAC9D,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACjH,WAAW,EAAE,MAAM,CAAC,GAAG;YACvB,eAAe,EAAE,uBAAU,CAAC,UAAU,CAAC,MAAM,CAAC;YAC9C,WAAW,EAAE,MAAM,CAAC,QAAQ;YAC5B,aAAa,EAAE,MAAM,CAAC,KAAK;YAC3B,gBAAgB,EAAE,uBAAU,CAAC,aAAa,CAAC,MAAM,CAAC;YAClD,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAC3C,cAAc,EAAE,uBAAU,CAAC,aAAa,CAAC,MAAM,CAAC;YAChD,UAAU,EAAE,uBAAU,CAAC,SAAS,CAAC,MAAM,CAAC;YACxC,gBAAgB,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC;YAClC,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,WAAW,CAAC,IAAI;YAC5B,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC,CAAC;IACL,CAAC;IAEO,8CAAgB,GAAxB,UACE,WAAkC,EAClC,UAA0C,EAC1C,OAAoB;QAEpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAe,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE;YACjF,SAAS,EAAE,WAAW,CAAC,IAAI;YAC3B,UAAU,EAAE,WAAW,CAAC,IAAI;YAC5B,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAC3C,YAAY,EAAE,CAAC;SAChB,CAAC,CAAC;IACL,CAAC;IAES,6CAAe,GAAzB,UAA0B,OAAoB;QAC5C,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;IAChE,CAAC;IAEO,6CAAe,GAAvB,UAA+B,IAAW,EAAE,MAAqB;QAC/D,IAAI,YAAY,GAAmC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACtE,YAAY,CAAC,aAAa,CAAC,GAAG,iBAAO,CAAC,GAAG,GAAG,GAAG,GAAG,iBAAO,CAAC,OAAO,CAAC;QAElE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACX,IAAI,QAAQ,GAAG,uBAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACjD,YAAY,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC;YAClD,YAAY,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;QACvD,CAAC;QAED,MAAM,CAAC,YAAY,CAAC;IACtB,CAAC;IAEO,kEAAoC,GAA5C;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,CAAC;YAChD,IAAI,CAAC,iCAAiC,GAAG,SAAS,CAAC;QACrD,CAAC;IACH,CAAC;IAEO,yDAA2B,GAAnC,UAAoC,OAAoB;QACtD,eAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,CAAC,eAAe,IAAY,eAAe,CAAC,GAAG,CAAC,iCAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEO,oDAAsB,GAA9B,UAA+B,WAAwB;QACrD,MAAM,CAAkB,qBAAS,CAAC,cAAc,CAAC,WAAW,EAAE,iCAAe,CAAC,CAAC;IACjF,CAAC;IAEO,0DAA4B,GAApC,UAAqC,KAAa;QAChD,MAAM,CAAC,KAAK,KAAK,kDAAwB,CAAC,eAAe,CAAC,IAAI,IAAI,KAAK,KAAK,kDAAwB,CAAC,cAAc,CAAC,IAAI,CAAC;IAC3H,CAAC;IAEO,8DAAgC,GAAxC,UAAyC,IAAY,EAAE,UAA0C,EAAE,KAAsB,EAAE,IAAU;QACnI,sFAAsF;QACtF,2FAA2F;QAC3F,sFAAsF;QACtF,uBAAuB;QACjB,UAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;QACrC,UAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;QAE3C,IAAI,6BAA6B,GAAmC;YAClE,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,UAAU,EAAE,UAAU;SACvB,CAAC;QAEF,IAAI,IAAI,GAAwC,CAAC,CAAC,MAAM,CACtD,EAAE,EACF;YACE,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,EACD,6BAA6B,EAC7B,IAAI,CACL,CAAC;QACF,QAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,iCAAe,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;QAE9E,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAE9B,sFAAsF;QACtF,gGAAgG;QAChG,uFAAuF;QACvF,iCAAiC;QAEjC,IAAI,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC5D,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gIAAgI,CACjI,CAAC;YACF,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAE5C,IAAI,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC5D,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gIAAgI,CACjI,CAAC;YACF,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC9C,CAAC;IAEO,mCAAK,GAAb,UAAyC,KAAsB,EAAE,MAAW;QAC1E,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IACH,0BAAC;AAAD,CAAC;AAtYY,kDAAmB;;;;;;;;;;ACvBhC;IAAA;IA+DA,CAAC;IA9De,2CAAuB,GAArC,UAAsC,WAAyB;QAC7D,IAAI,cAAc,GAAoB;YACpC,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,eAAe,EAAE,WAAW,CAAC,UAAU;YACvC,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,cAAc,EAAE,WAAW,CAAC,cAAc;YAC1C,SAAS,EAAE,WAAW,CAAC,YAAY;YACnC,eAAe,EAAE,WAAW,CAAC,YAAY;YACzC,cAAc,EAAE,WAAW,CAAC,cAAc;YAC1C,IAAI,EAAE,WAAW,CAAC,UAAU;YAC5B,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;SACrD,CAAC;QACF,MAAM,CAAC,cAAc,CAAC;IACxB,CAAC;IAEa,4CAAwB,GAAtC,UAAuC,YAAyB;QAC9D,IAAI,eAAe,GAA0B;YAC3C,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;YAC/C,KAAK,EAAE,YAAY,CAAC,aAAa;YACjC,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,SAAS,EAAE,YAAY,CAAC,YAAY;YACpC,eAAe,EAAE,YAAY,CAAC,YAAY;YAC1C,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,eAAe,EAAE,YAAY,CAAC,UAAU;YACxC,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;YAC/C,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;SACtD,CAAC;QACF,MAAM,CAAC,eAAe,CAAC;IACzB,CAAC;IAEa,2CAAuB,GAArC,UAAsC,WAAyB;QAC7D,IAAI,cAAc,GAAoB;YACpC,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,SAAS,EAAE,WAAW,CAAC,YAAY;YACnC,eAAe,EAAE,WAAW,CAAC,YAAY;YACzC,eAAe,EAAE,WAAW,CAAC,UAAU;SACxC,CAAC;QACF,MAAM,CAAC,cAAc,CAAC;IACxB,CAAC;IACH,0BAAC;AAAD,CAAC;AA/DY,kDAAmB;;;;;;;;;;;ACPhC,IAAY,OAMX;AAND,WAAY,OAAO;IACjB,2CAAO;IACP,yCAAM;IACN,qCAAI;IACJ,uCAAK;IACL,2CAAO;AACT,CAAC,EANW,OAAO,GAAP,eAAO,KAAP,eAAO,QAMlB;AAED;IAAA;IAgBA,CAAC;IAfQ,WAAG,GAAV,UAAW,GAAe;QAAf,qCAAe;QACxB,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3B,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;QACxB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3B,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IACH,cAAC;AAAD,CAAC;AAhBY,0BAAO;;;;;;;;;;;;ACRpB,+BAAgC;AAChC,kDAAwD;AACxD,qCAA0C;AAgC1C;IAUE,gCACU,eAAuB,EACvB,kBAA0B,EAC1B,kBAA0B,EAC1B,qBAA6B;QAH7B,oBAAe,GAAf,eAAe,CAAQ;QACvB,uBAAkB,GAAlB,kBAAkB,CAAQ;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAQ;QAC1B,0BAAqB,GAArB,qBAAqB,CAAQ;IACpC,CAAC;IAdU,8BAAO,GAArB,UAAsB,sBAA8C;QAClE,IAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;aACtD,MAAM,EAAE;aACR,OAAO,EAAE;aACT,KAAK,EAAE,CAAC;QAEX,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;IASD,sBAAW,mDAAe;aAA1B;YACE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;QACnE,CAAC;;;OAAA;IAED,sBAAW,wCAAI;aAAf;YACE,MAAM,CAAC,qCAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QACvI,CAAC;;;OAAA;IAED,sBAAW,yCAAK;aAAhB;YACE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QACzD,CAAC;aAED,UAAiB,KAAa;YAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;;;OAJA;IAMD,sBAAW,4CAAQ;aAAnB;YACE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC5D,CAAC;aAED,UAAoB,KAAa;YAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAClC,CAAC;;;OAJA;IAMD,sBAAW,4CAAQ;aAAnB;YACE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC5D,CAAC;aAED,UAAoB,KAAa;YAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAClC,CAAC;;;OAJA;IAMD,sBAAW,sDAAkB;aAA7B;YACE,IAAM,aAAa,GAAG,UAAC,UAA6B,EAAE,KAAa;gBACjE,EAAE,CAAC,CAAC,aAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAClC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC,CAAC;YAEF,IAAM,eAAe,GAAG,IAAI,qCAAiB,EAAE,CAAC;YAChD,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAErD,IAAM,kBAAkB,GAAG,IAAI,qCAAiB,EAAE,CAAC;YACnD,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE3D,IAAM,kBAAkB,GAAG,IAAI,qCAAiB,EAAE,CAAC;YACnD,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE3D,IAAM,qBAAqB,GAAG,IAAI,qCAAiB,EAAE,CAAC;YACtD,aAAa,CAAC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAEjE,IAAM,yBAAyB,GAAG,qCAAiB,CAAC,KAAK,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;YAE/F,IAAM,cAAc,GAAG,qCAAiB,CAAC,KAAK,CAAC,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;YAExG,MAAM,CAAC;gBACL,eAAe;gBACf,kBAAkB;gBAClB,kBAAkB;gBAClB,qBAAqB;gBACrB,yBAAyB;gBACzB,cAAc;aACf,CAAC;QACJ,CAAC;;;OAAA;IACH,6BAAC;AAAD,CAAC;AAjFY,wDAAsB;;;;;;;;;;;;;;;;AClCnC,mCAA0C;AAC1C,qCAA0C;AAC1C,+BAAgC;AAChC,yBAA4C;AAC5C,4CAAuD;AACvD,qDAAyE;AACzE,iDAAiE;AACjE,0CAAkD;AAWlD;IAuGE,mCAAmB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;QAtG7B,qBAAgB,GAAG,+5BAoBjB,CAAC;QAEH,0BAAqB,GAAG,0hCAuB1B,CAAC;QAEC,8BAAyB,GAAG,k8CA8BpC,CAAC;QAEO,wCAAmC,GAAG,sjBAa5C,CAAC;QAQM,6BAAwB,GAAG,2CAAoB,CAAC,6BAA6B,CAAC;IAE/C,CAAC;IAEjC,gEAA4B,GAAnC,UAAoC,KAAa;QAC/C,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,iEAA6B,GAApC;QAAA,iBAOC;QANC,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,CAAC;QACvE,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAC/C,QAAE,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,CAAC;YAC1E,QAAE,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,0BAA0B,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,yDAAqB,GAA5B;QACE,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,0DAAsB,GAA7B;QACE,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,gEAA4B,GAAnC;QAAA,iBAOC;QANC,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAClD,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,yBAAW,CAAC,WAAW,EAAE;YACzC,QAAE,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,uDAAmB,GAA1B;QACE,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,4DAAwB,GAA/B;QACE,mDAAmD;QACnD,gEAAgE;QAFlE,iBA4BC;QAxBC,IAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClD,EAAE,CAAC,CAAC,aAAK,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACzC,IAAM,cAAY,GAAU,EAAE,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,UAAC,YAAyB,IAAK,eAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,EAAzE,CAAyE,CAAC,CAAC;YAChI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,UAAC,YAAyB;gBACnG,QAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;gBACpD,IAAM,WAAW,GAAG,QAAE,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,yBAAyB,EAAE,EAAE,KAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/F,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACzC,cAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBAC/C,IAAM,4BAA4B,GAAG;oBACnC,CAAC,CAAC,IAAI,CAAC,cAAY,EAAE,UAAC,WAAgB,IAAK,kBAAW,CAAC,MAAM,EAAE,EAApB,CAAoB,CAAC,CAAC;oBACjE,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,UAAC,YAAyB;wBAC9C,eAAE,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,oBAAoB,CAAC;oBAA5E,CAA4E,CAC7E,CAAC;oBACF,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,UAAC,YAAyB,IAAK,eAAE,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAtD,CAAsD,CAAC,CAAC;gBAC/G,CAAC,CAAC;gBACF,QAAE,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,yBAAW,CAAC,UAAU,EAAE,cAAM,mCAA4B,EAAE,EAA9B,CAA8B,CAAC,CAAC;gBAChF,QAAE,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,yBAAW,CAAC,oBAAoB,EAAE,cAAM,mCAA4B,EAAE,EAA9B,CAA8B,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,4DAAwB,GAA/B;QACE,gEAAgE;QAChE,kDAAkD;QAElD,IAAM,iBAAiB,GAAG,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACnE,EAAE,CAAC,CAAC,aAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAE;gBAC1B,QAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YACH,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBAC/C,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAC,EAAe,IAAK,eAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,EAAlE,CAAkE,CAAC,CAAC;YACrH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,gEAA4B,GAAnC;QACE,6EAA6E;QAC7E,mFAAmF;QAEnF,IAAM,mBAAmB,GAAG,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACtE,EAAE,CAAC,CAAC,aAAK,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,YAAE,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,EAA/D,CAA+D,CAAC,CAAC;YAE7F,iEAA2G,EAAzG,wCAAgB,EAAE,sCAAe,EAAE,0BAAS,CAA8D;YAClH,QAAE,CAAC,iBAAe,CAAC,CAAC,MAAM,CAAC,WAAS,CAAC,CAAC;YACtC,QAAE,CAAC,iBAAe,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;YAEvD,CAAC,CAAC,KAAK,CACL,IAAI,CAAC,oBAAoB,EAAE;gBACzB,CAAC,CAAC,yBAAyB,CAAC,gCAAgC;gBAC5D,CAAC,CAAC,yBAAyB,CAAC,iBAAiB,EAC/C;gBACE,WAAS,CAAC,SAAS,IAAI,kBAAgB,CAAC;YAC1C,CAAC,CACF,CAAC;YACF,IAAM,OAAK,GAAG;gBACZ,QAAE,CAAC,WAAS,CAAC,CAAC,MAAM,EAAE,CAAC;gBACvB,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,YAAE,IAAI,eAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,EAAlE,CAAkE,CAAC,CAAC;gBACtG,QAAE,CAAC,iBAAe,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;YAC5D,CAAC,CAAC;YACF,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,mCAAgB,CAAC,kBAAkB,EAAE,cAAM,cAAK,EAAE,EAAP,CAAO,CAAC,CAAC;YACtE,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,yBAAW,CAAC,UAAU,EAAE,cAAM,cAAK,EAAE,EAAP,CAAO,CAAC,CAAC;YACzD,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,yBAAW,CAAC,SAAS,EAAE,cAAM,cAAK,EAAE,EAAP,CAAO,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEO,kEAA8B,GAAtC,UAAuC,kBAAiC;QACtE,IAAI,aAAa,CAAC;QAClB,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,aAAa,GAAG,qBAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,qBAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACpE,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YACnB,aAAa,GAAG,MAAM,CAAC;QACzB,CAAC;QAED,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,2BAAiB;gBAClE,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC;YACxE,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACvB,iCAAiC;gBACjC,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,2BAAiB;oBAC9D,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;gBAC/D,CAAC,CAAC,CAAC;YACL,CAAC;YACD,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACvB,gBAAgB;gBAChB,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,CAAC;gBACL,gBAAgB,EAAE,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC;gBACnE,eAAe,EAAE,iBAAiB;gBAClC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC;aACvD,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC;gBACL,gBAAgB,EAAE,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC;gBACnE,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;gBACtC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC;aACvD,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,iEAA6B,GAArC,UAAsC,MAAc;QAClD,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACf,KAAK,MAAM;gBACT,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC;gBAClD,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC;gBACpC,CAAC;YACH,KAAK,MAAM;gBACT,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACxC;gBACE,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,2DAAuB,GAA/B,UAAgC,MAAc;QAC5C,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACf,KAAK,MAAM;gBACT,MAAM,CAAC,QAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,KAAK,MAAM;gBACT,MAAM,CAAC,QAAE,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,yDAAyD,EAAE,CAAC,CAAC,EAAE,CAAC;YAChG;gBACE,MAAM,CAAC,QAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,wDAAoB,GAA5B;QACE,MAAM,CAAC,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACvD,CAAC;IAEO,wDAAoB,GAA5B;QACE,IAAM,QAAQ,GAAG,CAAC,aAAa,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,yBAAyB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvI,MAAM,CAAC,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IA7Ma,0CAAgB,GAAG,CAAC,CAAC;IACrB,2CAAiB,GAAG,EAAE,CAAC;IACvB,0DAAgC,GAAG,CAAC,CAAC;IACrC,8CAAoB,GAAG,6BAA6B,CAAC;IACrD,oDAA0B,GAAG,4BAA4B,CAAC;IA0M1E,gCAAC;CAAA;AA7SY,8DAAyB;;;;;;;;;;AClBtC,qCAAgC;AAChC,uCAAuC;AACvC,+BAAgC;AAEhC;IAAA;IAsEA,CAAC;IArEQ,sDAA2C,GAAlD,UAAmD,SAAiB;QAClE,IAAI,eAAe,GAAa,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,UAAC,CAAS;YACzC,MAAM,CAAC,aAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,aAAK,CAAC,gBAAgB,CAAC,aAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,qCAA0B,GAAjC,UACE,SAAmB,EACnB,aAAsB,EACtB,EAAW,EACX,WAAe,EACf,YAAoB;QADpB,6CAAe;QACf,mDAAoB;QAEpB,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,UAAC,CAAS;YACxC,MAAM,CAAC,aAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,aAAK,CAAC,gBAAgB,CAAC,aAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,IAAI,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,cAAI;YACpC,IAAI,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACzB,EAAE,CAAC,CAAC,aAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;gBACpC,IAAI,GAAG,WAAC,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;YACD,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBACjB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5B,EAAE,CAAC,CAAC,CAAC,aAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;gBACzD,CAAC;YACH,CAAC;YACD,IAAI,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACvC,EAAE,CAAC,CAAC,aAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC;gBAC3D,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC;YAC9B,CAAC;YAED,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;QACnH,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;QAC7C,IAAI,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACjE,CAAC;IAEM,uCAA4B,GAAnC,UAAoC,gBAA0B;QAC5D,MAAM,CAAC,CACL,oIAAoI;YACpI,WAAC,CAAC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC;YAC3E,SAAS;YACT,gDAAgD;YAChD,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5B,SAAS,CACV,CAAC;IACJ,CAAC;IAEM,qBAAU,GAAjB,UAAkB,KAAa;QAC7B,IAAI,IAAY,CAAC;QACjB,IAAI,KAAK,GAAY,KAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxD,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;YAClB,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,GAAW,KAAK,CAAC;YACrB,KAAK,GAAW,KAAK,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IACH,iBAAC;AAAD,CAAC;AAtEY,gCAAU;;;;;;;;;;ACFvB,+BAAgC;AAsChC;IAAA;IAUA,CAAC;IATQ,8BAAoB,GAA3B,UAA4B,OAAY;QACtC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,UAAC,GAAQ,EAAE,GAAY,EAAE,GAAI;YAC3C,EAAE,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC;gBACrB,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IACH,gBAAC;AAAD,CAAC;AAVY,8BAAS;AAYtB;IAAA;IAWA,CAAC;IAVQ,uBAAW,GAAlB,UAAmB,IAAY,EAAE,OAA6B;QAC5D,IAAI,IAAI,CAAC;QACT,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YACpB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;QAC3B,CAAC;QACD,MAAM,CAAC,cAAY,IAAI,UAAK,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAI,IAAI,SAAM,CAAC;IACpF,CAAC;IACH,kBAAC;AAAD,CAAC;AAXY,kCAAW;AAaxB;IAAA;IA+CA,CAAC;IA9CQ,qBAAU,GAAjB,UAAkB,GAAY,EAAE,OAA4B;QAC1D,IAAI,GAAG,GAAG,OAAO,CAAC;QAClB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAQ,GAAG,OAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,GAAG,IAAI,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;IAEM,gCAAqB,GAA5B,UAA6B,MAAoB;QAC/C,MAAM,CAAc,QAAQ,CAAC,aAAa,CAAC,6BAA2B,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAG,CAAC,CAAC;IAClG,CAAC;IAEM,2CAAgC,GAAvC,UAAwC,QAAwB,EAAE,MAAoB;QACpF,IAAI,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,aAAa,GAAG,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QAClH,KAAK,CAAC,MAAM,GAAG;YACb,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC9E,CAAC,CAAC;QACF,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC;IAC5B,CAAC;IAEM,2CAAgC,GAAvC,UAAwC,QAAwB,EAAE,MAAoB;QACpF,QAAQ;aACL,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;aAChD,IAAI,CAAC,kBAAQ;YACZ,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1E,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5G,CAAC,CAAC;aACD,KAAK,CAAC;YACL,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,+BAAoB,GAA3B,UAA4B,MAAoB,EAAE,QAAwB,EAAE,OAA4B;QACtG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAqB,EAAE,CAAC;QAErD,IAAI,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAChH,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACvB,qHAAqH;YACrH,UAAU,CAAC,gCAAgC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,iHAAiH;YACjH,uBAAuB;YACvB,UAAU,CAAC,gCAAgC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;IACH,iBAAC;AAAD,CAAC;AA/CY,gCAAU;;;;;;;;;;;;;;AC1BvB;;;;;GAKG;AACH;IAAA;IAkCA,CAAC;IAjCC;;;;;;;OAOG;IACW,iCAAkB,GAAG,oBAAoB,CAAC;IAExD;;;;;;;;;;OAUG;IACW,kCAAmB,GAAG,qBAAqB,CAAC;IAE1D;;;;;;;;OAQG;IACW,oCAAqB,GAAG,uBAAuB,CAAC;IAChE,qBAAC;CAAA;AAlCY,wCAAc;;;;;;;;;;AC7C3B,sCAAuC;AAA9B,6BAAK;AACd,gDAA2D;AAAlD,2DAAe;AACxB,sDAAuE;AAA9D,6EAAqB;AAC9B,oDAAmE;AAA1D,uEAAmB;;;;;;;;;;;;;;;;;;;;ACH5B,qDAA4D;AAC5D,uDAA4F;AAI5F,yCAA8C;AAG9C,gDAAqE;AACrE,+BAAgC;AAChC;IAAmD,iDAAmB;IAGpE,uCACS,QAA2B,EAC3B,WAAwB,EACxB,MAAc,EACd,eAAuB,EACvB,SAAkB,EAClB,gBAAwB,EACxB,mBAA2B,EAC3B,YAAoB,EACpB,WAAoB,EACpB,QAA4B;QAVrC,YAYE,kBAAM,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,CAAC,SAEnI;QAbQ,cAAQ,GAAR,QAAQ,CAAmB;QAC3B,iBAAW,GAAX,WAAW,CAAa;QACxB,YAAM,GAAN,MAAM,CAAQ;QACd,qBAAe,GAAf,eAAe,CAAQ;QACvB,eAAS,GAAT,SAAS,CAAS;QAClB,sBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,yBAAmB,GAAnB,mBAAmB,CAAQ;QAC3B,kBAAY,GAAZ,YAAY,CAAQ;QACpB,iBAAW,GAAX,WAAW,CAAS;QACpB,cAAQ,GAAR,QAAQ,CAAoB;QAGnC,KAAI,CAAC,cAAc,GAAmB,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;;IACtE,CAAC;IAEM,sDAAc,GAArB,UAA6B,WAAkC,EAAE,IAAW;QAC1E,EAAE,CAAC,CAAC,WAAW,IAAI,kDAAwB,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1D,WAAW,GAAG,kDAAwB,CAAC,2BAA2B,CAAC;QACrE,CAAC;QACD,iBAAM,cAAc,YAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAEM,qDAAa,GAApB,UACE,WAAkC,EAClC,IAAW,EACX,MAAoB,EACpB,OAAoB;QAEpB,EAAE,CAAC,CAAC,WAAW,IAAI,kDAAwB,CAAC,YAAY,CAAC,CAAC,CAAC;YACzD,WAAW,GAAG,kDAAwB,CAAC,kBAAkB,CAAC;QAC5D,CAAC;QAED,IAAM,QAAQ,GAAG,CAAC,iBAAM,aAAa,YAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAE3E,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,IAAI,IAAI,CAAC,cAAc,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC;YAC5F,qHAAqH;YACrH,IAAI,aAAa,GAAoB,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,iCAAe,CAAC,CAAC;YACrH,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC;YACzD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;YACxD,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,mBAAS,IAAI,QAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAlB,CAAkB,CAAC,CAAC;IACrE,CAAC;IAES,uDAAe,GAAzB,UAA0B,OAAoB;QAC5C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IACH,oCAAC;AAAD,CAAC,CAnDkD,yCAAmB,GAmDrE;AAnDY,sEAA6B;;;;;;;;;;ACV1C,+BAAgC;AAGhC,0BAAkB,GAAG,CAAC,CAAC;AACvB,kBAAkB,EAAE,CAAC;AACrB;IACE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IACD,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,0BAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,6BAA6B,QAAQ;IACnC,QAAQ,CAAC,kBAAkB,CAAC,GAAG;QAC7B,QAAQ,EAAE,+BAA+B;QACzC,WAAW,EAAE,gCAAgC;QAC7C,MAAM,EAAE,gCAAgC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEhB,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;AC1BjC,8CAAkD;AAClD,+BAAgC;AAQhC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IACvB,6DAA6D;IAC7D,mIAAmI;IACnI,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE;QAC5C,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;IACE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,sBAAc,GAAG,SAAS,EAAE,CAAC;IAE7B,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IACD,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,sBAAc,CAAC;IACxC,CAAC;IAED,sBAAc,CAAC,EAAE,CAAC,KAAK,GAAG;QAAS,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAC/C,IAAI,WAAgB,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,UAAC,KAAa,EAAE,OAAoB;YAC5C,IAAI,yBAA8B,CAAC;YACnC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,KAAK,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5B,yBAAyB,GAAG,+BAAc,CAAC,0CAA0C,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvH,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,oFAAoF;gBACpF,yBAAyB,GAAG,+BAAc,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3F,CAAC;YAED,gDAAgD;YAChD,WAAW,GAAG,WAAW,IAAI,yBAAyB,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC;AACd,CAAC;AAjCD,0CAiCC;AAED;IACE,MAAM,CAAC,qBAAqB,EAAE,IAAI,0BAA0B,EAAE,CAAC;AACjE,CAAC;AAFD,0CAEC;AAED;IACE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;AAC3E,CAAC;AAED;IACE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,SAAS,CAAC;AACvG,CAAC;AAED;IACE,IAAI,cAAuB,CAAC;IAC5B,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChB,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,CAAC,cAAc,CAAC;AACxB,CAAC;;;;;;;;;;ACxED,8CAAwD;AAE3C,cAAM,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAEzC;IACE,+BAAc,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,cAAM,CAAC,CAAC;AACrE,CAAC;AAFD,wCAEC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACND;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gFAAgF;;AAEhF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,sBAAsB;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,IAAI;AACd;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,mBAAmB,6CAA6C;AAChE;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,MAAM;AAChB,UAAU,OAAO;AACjB;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,IAAI;AACd;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,UAAU,SAAS;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,UAAU,SAAS;AACnB,UAAU,SAAS;AACnB;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,UAAU,SAAS;AACnB;AACA,WAAW;AACX;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA,YAAY,SAAS;AACrB,aAAa;AACb;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;ACtpCD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;A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A;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,mBAAmB;AAC3D;AACA;;AAEA;AACA;AACA,kCAAkC,oBAAoB;AACtD;AACA;;AAEA;AACA;AACA,wCAAwC,4BAA4B;AACpE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,uDAAuD;AACvD,SAAS;AACT;AACA,SAAS;AACT,8EAA8E;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,uBAAuB;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uCAAuC,0BAA0B;AACjE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,+BAA+B,0BAA0B,eAAe;AACxE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;AACL;AACA;AACA,CAAC;;;;;;;;AC5cD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;;;;;;;;ACvEA;AACA;AACA;AACA;AACA;A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AACA;AAAA;AAAA;AAAA;AAAA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;ACp5BD,+BAAgC;AAEhC;IAAA;IAkBA,CAAC;IAjBe,6CAAqB,GAAnC,UAAoC,SAA2B,EAAE,MAAoB;QACnF,IAAI,sBAAsB,GAAG,IAAI,CAAC;QAClC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAC,OAAuB;YACxC,IAAI,gBAA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AG,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;IAEO,qEAAmB,GAA3B,UAA4B,OAAe;QACzC,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,CAAI,OAAO,YAAM,KAAK,OAAG,CAAC;IAClC,CAAC;IACH,8CAAC;AAAD,CAAC;;;;;;;ACtDD,mCAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,OAAO,YAAY;AAC/B;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,yCAAyC;AAC/D;;;AAGA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC,cAAc,QAAQ;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC,YAAY,MAAM;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA,YAAY,YAAY;AACxB,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,YAAY,MAAM;AAClB,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,YAAY,MAAM;AAClB,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,YAAY,MAAM;AAClB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,YAAY,6BAA6B;AACzC,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,YAAY,MAAM;AAClB,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,YAAY,MAAM;AAClB,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,OAAO,YAAY;AAC/B;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,GAAG;AAAA;AACH,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,CAAC;;;;;;;ACx0BD,kFAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,mBAAmB,KAAK;AACxB,qBAAqB;AACrB;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO,KAAK;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA,+BAA+B,sBAAsB;;AAErD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,sBAAsB;AACjD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,wBAAwB;AAC3D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA,+BAA+B,uCAAuC;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;AAGD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,KAAK;AAAA;AACL,CAAC;AACD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;ACx5CD;AACA;AACA;;;;;;;ACFA;AACA;;;;;;;;ACDA,yC;;;;;;ACAA,yC;;;;;;ACAA,yC;;;;;;ACAA,yC;;;;;;;;;ACAA,mCAAqC;AACrC,uCAA2C;AAC3C,4CAAuD;AACvD,0CAAyC;AACzC,uDAAqD;AAMrD;IAAA;IAsFA,CAAC;IAlFe,sDAAsB,GAApC,UAAqC,SAAc;QACjD,MAAM,CAAC,sBAAsB,IAAI,SAAS,CAAC;IAC7C,CAAC;IAEa,8DAA8B,GAA5C,UAA6C,IAAiB,EAAE,SAAiD;QAAjH,iBA6BC;QA5BC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAA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CJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjDA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA,mBAAmB,2BAA2B;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,mBAAmB;AACnC;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;;AAEA,QAAQ,uBAAuB;AAC/B;AACA;AACA,GAAG;AACH;;AAEA,iBAAiB,uBAAuB;AACxC;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,cAAc;;AAEd,kDAAkD,sBAAsB;AACxE;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;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","file":"CoveoJsSearch.Lazy.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Coveo__temporary\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Coveo__temporary\"] = factory();\n\telse\n\t\troot[\"Coveo__temporary\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonpCoveo__temporary\"];\n \twindow[\"webpackJsonpCoveo__temporary\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t76: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData === 0) {\n \t\t\treturn new Promise(function(resolve) { resolve(); });\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunkData) {\n \t\t\treturn installedChunkData[2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunkData[2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = \"text/javascript\";\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"\" + ({\"0\":\"RelevanceInspector\",\"1\":\"HierarchicalFacet\",\"2\":\"TimespanFacet\",\"3\":\"FacetRange\",\"4\":\"Facet\",\"5\":\"AdvancedSearch\",\"6\":\"FacetSlider\",\"7\":\"OmniboxResultList\",\"8\":\"Recommendation\",\"9\":\"Searchbox\",\"10\":\"ResultList\",\"11\":\"Omnibox\",\"12\":\"Tab\",\"13\":\"ResultsFiltersPreferences\",\"14\":\"ResultsPreferences\",\"15\":\"Quickview\",\"16\":\"Backdrop\",\"17\":\"SearchAlerts\",\"18\":\"SimpleFilter\",\"19\":\"ResultLayoutSelector\",\"20\":\"FieldTable\",\"21\":\"DistanceResources\",\"22\":\"Sort\",\"23\":\"YouTubeThumbnail\",\"24\":\"Thumbnail\",\"25\":\"ResultFolding\",\"26\":\"PrintableUri\",\"27\":\"Matrix\",\"28\":\"FacetValueSuggestions\",\"29\":\"CardOverlay\",\"30\":\"FoldingForThread\",\"31\":\"Badge\",\"32\":\"FollowItem\",\"33\":\"Settings\",\"34\":\"ResultTagging\",\"35\":\"ResultRating\",\"36\":\"ResultAttachments\",\"37\":\"QuerySummary\",\"38\":\"Pager\",\"39\":\"HiddenQuery\",\"40\":\"FieldSuggestions\",\"41\":\"CardActionBar\",\"42\":\"Breadcrumb\",\"43\":\"Querybox\",\"44\":\"SearchButton\",\"45\":\"Logo\",\"46\":\"NumericSpinner\",\"47\":\"Folding\",\"48\":\"FieldValue\",\"49\":\"ChatterPostedBy\",\"50\":\"ChatterPostAttachment\",\"51\":\"ChatterLikedBy\",\"52\":\"AnalyticsSuggestions\",\"53\":\"DatePicker\",\"54\":\"RadioButton\",\"55\":\"MultiSelect\",\"56\":\"FormGroup\",\"57\":\"Triggers\",\"58\":\"Text\",\"59\":\"ShareQuery\",\"60\":\"ResultsPerPage\",\"61\":\"ResultLink\",\"62\":\"QueryDuration\",\"63\":\"PreferencesPanel\",\"64\":\"ExportToExcel\",\"65\":\"Excerpt\",\"66\":\"ErrorReport\",\"67\":\"DidYouMean\",\"68\":\"AuthenticationProvider\",\"69\":\"TemplateLoader\",\"70\":\"PipelineContext\",\"71\":\"Icon\",\"72\":\"Dropdown\",\"73\":\"ChatterTopic\",\"74\":\"Aggregate\"}[chunkId]||chunkId) + \"__\" + \"3666dadfe7be2cf1b66b\" + \".js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"js/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 440);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 3666dadfe7be2cf1b66b","// Underscore.js 1.8.3\n// http://underscorejs.org\n// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n// Underscore may be freely distributed under the MIT license.\n\n(function() {\n\n // Baseline setup\n // --------------\n\n // Establish the root object, `window` in the browser, or `exports` on the server.\n var root = this;\n\n // Save the previous value of the `_` variable.\n var previousUnderscore = root._;\n\n // Save bytes in the minified (but not gzipped) version:\n var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;\n\n // Create quick reference variables for speed access to core prototypes.\n var\n push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n // All **ECMAScript 5** native function implementations that we hope to use\n // are declared here.\n var\n nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeBind = FuncProto.bind,\n nativeCreate = Object.create;\n\n // Naked function reference for surrogate-prototype-swapping.\n var Ctor = function(){};\n\n // Create a safe reference to the Underscore object for use below.\n var _ = function(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n };\n\n // Export the Underscore object for **Node.js**, with\n // backwards-compatibility for the old `require()` API. If we're in\n // the browser, add `_` as a global object.\n if (typeof exports !== 'undefined') {\n if (typeof module !== 'undefined' && module.exports) {\n exports = module.exports = _;\n }\n exports._ = _;\n } else {\n root._ = _;\n }\n\n // Current version.\n _.VERSION = '1.8.3';\n\n // Internal function that returns an efficient (for current engines) version\n // of the passed-in callback, to be repeatedly applied in other Underscore\n // functions.\n var optimizeCb = function(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n case 2: return function(value, other) {\n return func.call(context, value, other);\n };\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n };\n\n // A mostly-internal function to generate callbacks that can be applied\n // to each element in a collection, returning the desired result — either\n // identity, an arbitrary callback, a property matcher, or a property accessor.\n var cb = function(value, context, argCount) {\n if (value == null) return _.identity;\n if (_.isFunction(value)) return optimizeCb(value, context, argCount);\n if (_.isObject(value)) return _.matcher(value);\n return _.property(value);\n };\n _.iteratee = function(value, context) {\n return cb(value, context, Infinity);\n };\n\n // An internal function for creating assigner functions.\n var createAssigner = function(keysFunc, undefinedOnly) {\n return function(obj) {\n var length = arguments.length;\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n };\n\n // An internal function for creating a new object that inherits from another.\n var baseCreate = function(prototype) {\n if (!_.isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n };\n\n var property = function(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n };\n\n // Helper for collection methods to determine whether a collection\n // should be iterated as an array or as an object\n // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\n var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n var getLength = property('length');\n var isArrayLike = function(collection) {\n var length = getLength(collection);\n return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n };\n\n // Collection Functions\n // --------------------\n\n // The cornerstone, an `each` implementation, aka `forEach`.\n // Handles raw objects in addition to array-likes. Treats all\n // sparse array-likes as if they were dense.\n _.each = _.forEach = function(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var keys = _.keys(obj);\n for (i = 0, length = keys.length; i < length; i++) {\n iteratee(obj[keys[i]], keys[i], obj);\n }\n }\n return obj;\n };\n\n // Return the results of applying the iteratee to each element.\n _.map = _.collect = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n // Create a reducing function iterating left or right.\n function createReduce(dir) {\n // Optimized iterator function as using arguments.length\n // in the main function will deoptimize the, see #1991.\n function iterator(obj, iteratee, memo, keys, index, length) {\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = keys ? keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n }\n\n return function(obj, iteratee, memo, context) {\n iteratee = optimizeCb(iteratee, context, 4);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n // Determine the initial value if none is provided.\n if (arguments.length < 3) {\n memo = obj[keys ? keys[index] : index];\n index += dir;\n }\n return iterator(obj, iteratee, memo, keys, index, length);\n };\n }\n\n // **Reduce** builds up a single result from a list of values, aka `inject`,\n // or `foldl`.\n _.reduce = _.foldl = _.inject = createReduce(1);\n\n // The right-associative version of reduce, also known as `foldr`.\n _.reduceRight = _.foldr = createReduce(-1);\n\n // Return the first value which passes a truth test. Aliased as `detect`.\n _.find = _.detect = function(obj, predicate, context) {\n var key;\n if (isArrayLike(obj)) {\n key = _.findIndex(obj, predicate, context);\n } else {\n key = _.findKey(obj, predicate, context);\n }\n if (key !== void 0 && key !== -1) return obj[key];\n };\n\n // Return all the elements that pass a truth test.\n // Aliased as `select`.\n _.filter = _.select = function(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n _.each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n };\n\n // Return all the elements for which a truth test fails.\n _.reject = function(obj, predicate, context) {\n return _.filter(obj, _.negate(cb(predicate)), context);\n };\n\n // Determine whether all of the elements match a truth test.\n // Aliased as `all`.\n _.every = _.all = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n };\n\n // Determine if at least one element in the object matches a truth test.\n // Aliased as `any`.\n _.some = _.any = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n };\n\n // Determine if the array or object contains a given item (using `===`).\n // Aliased as `includes` and `include`.\n _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = _.values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return _.indexOf(obj, item, fromIndex) >= 0;\n };\n\n // Invoke a method (with arguments) on every item in a collection.\n _.invoke = function(obj, method) {\n var args = slice.call(arguments, 2);\n var isFunc = _.isFunction(method);\n return _.map(obj, function(value) {\n var func = isFunc ? method : value[method];\n return func == null ? func : func.apply(value, args);\n });\n };\n\n // Convenience version of a common use case of `map`: fetching a property.\n _.pluck = function(obj, key) {\n return _.map(obj, _.property(key));\n };\n\n // Convenience version of a common use case of `filter`: selecting only objects\n // containing specific `key:value` pairs.\n _.where = function(obj, attrs) {\n return _.filter(obj, _.matcher(attrs));\n };\n\n // Convenience version of a common use case of `find`: getting the first object\n // containing specific `key:value` pairs.\n _.findWhere = function(obj, attrs) {\n return _.find(obj, _.matcher(attrs));\n };\n\n // Return the maximum element (or element-based computation).\n _.max = function(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null && obj != null) {\n obj = isArrayLike(obj) ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index, list) {\n computed = iteratee(value, index, list);\n if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n result = value;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Return the minimum element (or element-based computation).\n _.min = function(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null && obj != null) {\n obj = isArrayLike(obj) ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index, list) {\n computed = iteratee(value, index, list);\n if (computed < lastComputed || computed === Infinity && result === Infinity) {\n result = value;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Shuffle a collection, using the modern version of the\n // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n _.shuffle = function(obj) {\n var set = isArrayLike(obj) ? obj : _.values(obj);\n var length = set.length;\n var shuffled = Array(length);\n for (var index = 0, rand; index < length; index++) {\n rand = _.random(0, index);\n if (rand !== index) shuffled[index] = shuffled[rand];\n shuffled[rand] = set[index];\n }\n return shuffled;\n };\n\n // Sample **n** random values from a collection.\n // If **n** is not specified, returns a single random element.\n // The internal `guard` argument allows it to work with `map`.\n _.sample = function(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = _.values(obj);\n return obj[_.random(obj.length - 1)];\n }\n return _.shuffle(obj).slice(0, Math.max(0, n));\n };\n\n // Sort the object's values by a criterion produced by an iteratee.\n _.sortBy = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n return _.pluck(_.map(obj, function(value, index, list) {\n return {\n value: value,\n index: index,\n criteria: iteratee(value, index, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n };\n\n // An internal function used for aggregate \"group by\" operations.\n var group = function(behavior) {\n return function(obj, iteratee, context) {\n var result = {};\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n };\n\n // Groups the object's values by a criterion. Pass either a string attribute\n // to group by, or a function that returns the criterion.\n _.groupBy = group(function(result, value, key) {\n if (_.has(result, key)) result[key].push(value); else result[key] = [value];\n });\n\n // Indexes the object's values by a criterion, similar to `groupBy`, but for\n // when you know that your index values will be unique.\n _.indexBy = group(function(result, value, key) {\n result[key] = value;\n });\n\n // Counts instances of an object that group by a certain criterion. Pass\n // either a string attribute to count by, or a function that returns the\n // criterion.\n _.countBy = group(function(result, value, key) {\n if (_.has(result, key)) result[key]++; else result[key] = 1;\n });\n\n // Safely create a real, live array from anything iterable.\n _.toArray = function(obj) {\n if (!obj) return [];\n if (_.isArray(obj)) return slice.call(obj);\n if (isArrayLike(obj)) return _.map(obj, _.identity);\n return _.values(obj);\n };\n\n // Return the number of elements in an object.\n _.size = function(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : _.keys(obj).length;\n };\n\n // Split a collection into two arrays: one whose elements all satisfy the given\n // predicate, and one whose elements all do not satisfy the predicate.\n _.partition = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var pass = [], fail = [];\n _.each(obj, function(value, key, obj) {\n (predicate(value, key, obj) ? pass : fail).push(value);\n });\n return [pass, fail];\n };\n\n // Array Functions\n // ---------------\n\n // Get the first element of an array. Passing **n** will return the first N\n // values in the array. Aliased as `head` and `take`. The **guard** check\n // allows it to work with `_.map`.\n _.first = _.head = _.take = function(array, n, guard) {\n if (array == null) return void 0;\n if (n == null || guard) return array[0];\n return _.initial(array, array.length - n);\n };\n\n // Returns everything but the last entry of the array. Especially useful on\n // the arguments object. Passing **n** will return all the values in\n // the array, excluding the last N.\n _.initial = function(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n };\n\n // Get the last element of an array. Passing **n** will return the last N\n // values in the array.\n _.last = function(array, n, guard) {\n if (array == null) return void 0;\n if (n == null || guard) return array[array.length - 1];\n return _.rest(array, Math.max(0, array.length - n));\n };\n\n // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n // Especially useful on the arguments object. Passing an **n** will return\n // the rest N values in the array.\n _.rest = _.tail = _.drop = function(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n };\n\n // Trim out all falsy values from an array.\n _.compact = function(array) {\n return _.filter(array, _.identity);\n };\n\n // Internal implementation of a recursive `flatten` function.\n var flatten = function(input, shallow, strict, startIndex) {\n var output = [], idx = 0;\n for (var i = startIndex || 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {\n //flatten current level of array or arguments object\n if (!shallow) value = flatten(value, shallow, strict);\n var j = 0, len = value.length;\n output.length += len;\n while (j < len) {\n output[idx++] = value[j++];\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n };\n\n // Flatten out an array, either recursively (by default), or just one level.\n _.flatten = function(array, shallow) {\n return flatten(array, shallow, false);\n };\n\n // Return a version of the array that does not contain the specified value(s).\n _.without = function(array) {\n return _.difference(array, slice.call(arguments, 1));\n };\n\n // Produce a duplicate-free version of the array. If the array has already\n // been sorted, you have the option of using a faster algorithm.\n // Aliased as `unique`.\n _.uniq = _.unique = function(array, isSorted, iteratee, context) {\n if (!_.isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!_.contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!_.contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n };\n\n // Produce an array that contains the union: each distinct element from all of\n // the passed-in arrays.\n _.union = function() {\n return _.uniq(flatten(arguments, true, true));\n };\n\n // Produce an array that contains every item shared between all the\n // passed-in arrays.\n _.intersection = function(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (_.contains(result, item)) continue;\n for (var j = 1; j < argsLength; j++) {\n if (!_.contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n };\n\n // Take the difference between one array and a number of other arrays.\n // Only the elements present in just the first array will remain.\n _.difference = function(array) {\n var rest = flatten(arguments, true, true, 1);\n return _.filter(array, function(value){\n return !_.contains(rest, value);\n });\n };\n\n // Zip together multiple lists into a single array -- elements that share\n // an index go together.\n _.zip = function() {\n return _.unzip(arguments);\n };\n\n // Complement of _.zip. Unzip accepts an array of arrays and groups\n // each array's elements on shared indices\n _.unzip = function(array) {\n var length = array && _.max(array, getLength).length || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = _.pluck(array, index);\n }\n return result;\n };\n\n // Converts lists into objects. Pass either a single array of `[key, value]`\n // pairs, or two parallel arrays of the same length -- one of keys, and one of\n // the corresponding values.\n _.object = function(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n };\n\n // Generator function to create the findIndex and findLastIndex functions\n function createPredicateIndexFinder(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n }\n\n // Returns the first index on an array-like that passes a predicate test\n _.findIndex = createPredicateIndexFinder(1);\n _.findLastIndex = createPredicateIndexFinder(-1);\n\n // Use a comparator function to figure out the smallest index at which\n // an object should be inserted so as to maintain order. Uses binary search.\n _.sortedIndex = function(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n };\n\n // Generator function to create the indexOf and lastIndexOf functions\n function createIndexFinder(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), _.isNaN);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n }\n\n // Return the position of the first occurrence of an item in an array,\n // or -1 if the item is not included in the array.\n // If the array is large and already in sort order, pass `true`\n // for **isSorted** to use binary search.\n _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);\n _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);\n\n // Generate an integer Array containing an arithmetic progression. A port of\n // the native Python `range()` function. See\n // [the Python documentation](http://docs.python.org/library/functions.html#range).\n _.range = function(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n step = step || 1;\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n };\n\n // Function (ahem) Functions\n // ------------------\n\n // Determines whether to execute a function as a constructor\n // or a normal function with the provided arguments\n var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (_.isObject(result)) return result;\n return self;\n };\n\n // Create a function bound to a given object (assigning `this`, and arguments,\n // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n // available.\n _.bind = function(func, context) {\n if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));\n if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');\n var args = slice.call(arguments, 2);\n var bound = function() {\n return executeBound(func, bound, context, this, args.concat(slice.call(arguments)));\n };\n return bound;\n };\n\n // Partially apply a function by creating a version that has had some of its\n // arguments pre-filled, without changing its dynamic `this` context. _ acts\n // as a placeholder, allowing any combination of arguments to be pre-filled.\n _.partial = function(func) {\n var boundArgs = slice.call(arguments, 1);\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n };\n\n // Bind a number of an object's methods to that object. Remaining arguments\n // are the method names to be bound. Useful for ensuring that all callbacks\n // defined on an object belong to it.\n _.bindAll = function(obj) {\n var i, length = arguments.length, key;\n if (length <= 1) throw new Error('bindAll must be passed function names');\n for (i = 1; i < length; i++) {\n key = arguments[i];\n obj[key] = _.bind(obj[key], obj);\n }\n return obj;\n };\n\n // Memoize an expensive function by storing its results.\n _.memoize = function(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!_.has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n };\n\n // Delays a function for the given number of milliseconds, and then calls\n // it with the arguments supplied.\n _.delay = function(func, wait) {\n var args = slice.call(arguments, 2);\n return setTimeout(function(){\n return func.apply(null, args);\n }, wait);\n };\n\n // Defers a function, scheduling it to run after the current call stack has\n // cleared.\n _.defer = _.partial(_.delay, _, 1);\n\n // Returns a function, that, when invoked, will only be triggered at most once\n // during a given window of time. Normally, the throttled function will run\n // as much as it can, without ever going more than once per `wait` duration;\n // but if you'd like to disable the execution on the leading edge, pass\n // `{leading: false}`. To disable execution on the trailing edge, ditto.\n _.throttle = function(func, wait, options) {\n var context, args, result;\n var timeout = null;\n var previous = 0;\n if (!options) options = {};\n var later = function() {\n previous = options.leading === false ? 0 : _.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n return function() {\n var now = _.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\n // Returns a function, that, as long as it continues to be invoked, will not\n // be triggered. The function will be called after it stops being called for\n // N milliseconds. If `immediate` is passed, trigger the function on the\n // leading edge, instead of the trailing.\n _.debounce = function(func, wait, immediate) {\n var timeout, args, context, timestamp, result;\n\n var later = function() {\n var last = _.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n }\n }\n };\n\n return function() {\n context = this;\n args = arguments;\n timestamp = _.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n };\n\n // Returns the first function passed as an argument to the second,\n // allowing you to adjust arguments, run code before and after, and\n // conditionally execute the original function.\n _.wrap = function(func, wrapper) {\n return _.partial(wrapper, func);\n };\n\n // Returns a negated version of the passed-in predicate.\n _.negate = function(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n };\n\n // Returns a function that is the composition of a list of functions, each\n // consuming the return value of the function that follows.\n _.compose = function() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n };\n\n // Returns a function that will only be executed on and after the Nth call.\n _.after = function(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n };\n\n // Returns a function that will only be executed up to (but not including) the Nth call.\n _.before = function(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n };\n\n // Returns a function that will be executed at most one time, no matter how\n // often you call it. Useful for lazy initialization.\n _.once = _.partial(_.before, 2);\n\n // Object Functions\n // ----------------\n\n // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\n var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\n var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n function collectNonEnumProps(obj, keys) {\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {\n keys.push(prop);\n }\n }\n }\n\n // Retrieve the names of an object's own properties.\n // Delegates to **ECMAScript 5**'s native `Object.keys`\n _.keys = function(obj) {\n if (!_.isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (_.has(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n };\n\n // Retrieve all the property names of an object.\n _.allKeys = function(obj) {\n if (!_.isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n };\n\n // Retrieve the values of an object's properties.\n _.values = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[keys[i]];\n }\n return values;\n };\n\n // Returns the results of applying the iteratee to each element of the object\n // In contrast to _.map it returns an object\n _.mapObject = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var keys = _.keys(obj),\n length = keys.length,\n results = {},\n currentKey;\n for (var index = 0; index < length; index++) {\n currentKey = keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n // Convert an object into a list of `[key, value]` pairs.\n _.pairs = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [keys[i], obj[keys[i]]];\n }\n return pairs;\n };\n\n // Invert the keys and values of an object. The values must be serializable.\n _.invert = function(obj) {\n var result = {};\n var keys = _.keys(obj);\n for (var i = 0, length = keys.length; i < length; i++) {\n result[obj[keys[i]]] = keys[i];\n }\n return result;\n };\n\n // Return a sorted list of the function names available on the object.\n // Aliased as `methods`\n _.functions = _.methods = function(obj) {\n var names = [];\n for (var key in obj) {\n if (_.isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n };\n\n // Extend a given object with all the properties in passed-in object(s).\n _.extend = createAssigner(_.allKeys);\n\n // Assigns a given object with all the own properties in the passed-in object(s)\n // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n _.extendOwn = _.assign = createAssigner(_.keys);\n\n // Returns the first key on an object that passes a predicate test\n _.findKey = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = _.keys(obj), key;\n for (var i = 0, length = keys.length; i < length; i++) {\n key = keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n };\n\n // Return a copy of the object only containing the whitelisted properties.\n _.pick = function(object, oiteratee, context) {\n var result = {}, obj = object, iteratee, keys;\n if (obj == null) return result;\n if (_.isFunction(oiteratee)) {\n keys = _.allKeys(obj);\n iteratee = optimizeCb(oiteratee, context);\n } else {\n keys = flatten(arguments, false, false, 1);\n iteratee = function(value, key, obj) { return key in obj; };\n obj = Object(obj);\n }\n for (var i = 0, length = keys.length; i < length; i++) {\n var key = keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n };\n\n // Return a copy of the object without the blacklisted properties.\n _.omit = function(obj, iteratee, context) {\n if (_.isFunction(iteratee)) {\n iteratee = _.negate(iteratee);\n } else {\n var keys = _.map(flatten(arguments, false, false, 1), String);\n iteratee = function(value, key) {\n return !_.contains(keys, key);\n };\n }\n return _.pick(obj, iteratee, context);\n };\n\n // Fill in a given object with default properties.\n _.defaults = createAssigner(_.allKeys, true);\n\n // Creates an object that inherits from the given prototype object.\n // If additional properties are provided then they will be added to the\n // created object.\n _.create = function(prototype, props) {\n var result = baseCreate(prototype);\n if (props) _.extendOwn(result, props);\n return result;\n };\n\n // Create a (shallow-cloned) duplicate of an object.\n _.clone = function(obj) {\n if (!_.isObject(obj)) return obj;\n return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\n };\n\n // Invokes interceptor with the obj, and then returns obj.\n // The primary purpose of this method is to \"tap into\" a method chain, in\n // order to perform operations on intermediate results within the chain.\n _.tap = function(obj, interceptor) {\n interceptor(obj);\n return obj;\n };\n\n // Returns whether an object has a given set of `key:value` pairs.\n _.isMatch = function(object, attrs) {\n var keys = _.keys(attrs), length = keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n };\n\n\n // Internal recursive comparison function for `isEqual`.\n var eq = function(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // A strict comparison is necessary because `null == undefined`.\n if (a == null || b == null) return a === b;\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&\n _.isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var keys = _.keys(a), key;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (_.keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = keys[length];\n if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n };\n\n // Perform a deep comparison to check if two objects are equal.\n _.isEqual = function(a, b) {\n return eq(a, b);\n };\n\n // Is a given array, string, or object empty?\n // An \"empty\" object has no enumerable own-properties.\n _.isEmpty = function(obj) {\n if (obj == null) return true;\n if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;\n return _.keys(obj).length === 0;\n };\n\n // Is a given value a DOM element?\n _.isElement = function(obj) {\n return !!(obj && obj.nodeType === 1);\n };\n\n // Is a given value an array?\n // Delegates to ECMA5's native Array.isArray\n _.isArray = nativeIsArray || function(obj) {\n return toString.call(obj) === '[object Array]';\n };\n\n // Is a given variable an object?\n _.isObject = function(obj) {\n var type = typeof obj;\n return type === 'function' || type === 'object' && !!obj;\n };\n\n // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError.\n _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) {\n _['is' + name] = function(obj) {\n return toString.call(obj) === '[object ' + name + ']';\n };\n });\n\n // Define a fallback version of the method in browsers (ahem, IE < 9), where\n // there isn't any inspectable \"Arguments\" type.\n if (!_.isArguments(arguments)) {\n _.isArguments = function(obj) {\n return _.has(obj, 'callee');\n };\n }\n\n // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,\n // IE 11 (#1621), and in Safari 8 (#1929).\n if (typeof /./ != 'function' && typeof Int8Array != 'object') {\n _.isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n }\n\n // Is a given object a finite number?\n _.isFinite = function(obj) {\n return isFinite(obj) && !isNaN(parseFloat(obj));\n };\n\n // Is the given value `NaN`? (NaN is the only number which does not equal itself).\n _.isNaN = function(obj) {\n return _.isNumber(obj) && obj !== +obj;\n };\n\n // Is a given value a boolean?\n _.isBoolean = function(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n };\n\n // Is a given value equal to null?\n _.isNull = function(obj) {\n return obj === null;\n };\n\n // Is a given variable undefined?\n _.isUndefined = function(obj) {\n return obj === void 0;\n };\n\n // Shortcut function for checking if an object has a given property directly\n // on itself (in other words, not on a prototype).\n _.has = function(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n };\n\n // Utility Functions\n // -----------------\n\n // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n // previous owner. Returns a reference to the Underscore object.\n _.noConflict = function() {\n root._ = previousUnderscore;\n return this;\n };\n\n // Keep the identity function around for default iteratees.\n _.identity = function(value) {\n return value;\n };\n\n // Predicate-generating functions. Often useful outside of Underscore.\n _.constant = function(value) {\n return function() {\n return value;\n };\n };\n\n _.noop = function(){};\n\n _.property = property;\n\n // Generates a function for a given object that returns a given property.\n _.propertyOf = function(obj) {\n return obj == null ? function(){} : function(key) {\n return obj[key];\n };\n };\n\n // Returns a predicate for checking whether an object has a given set of\n // `key:value` pairs.\n _.matcher = _.matches = function(attrs) {\n attrs = _.extendOwn({}, attrs);\n return function(obj) {\n return _.isMatch(obj, attrs);\n };\n };\n\n // Run a function **n** times.\n _.times = function(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n };\n\n // Return a random integer between min and max (inclusive).\n _.random = function(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n };\n\n // A (possibly faster) way to get the current timestamp as an integer.\n _.now = Date.now || function() {\n return new Date().getTime();\n };\n\n // List of HTML entities for escaping.\n var escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n };\n var unescapeMap = _.invert(escapeMap);\n\n // Functions for escaping and unescaping strings to/from HTML interpolation.\n var createEscaper = function(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped\n var source = '(?:' + _.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n };\n _.escape = createEscaper(escapeMap);\n _.unescape = createEscaper(unescapeMap);\n\n // If the value of the named `property` is a function then invoke it with the\n // `object` as context; otherwise, return it.\n _.result = function(object, property, fallback) {\n var value = object == null ? void 0 : object[property];\n if (value === void 0) {\n value = fallback;\n }\n return _.isFunction(value) ? value.call(object) : value;\n };\n\n // Generate a unique integer id (unique within the entire client session).\n // Useful for temporary DOM ids.\n var idCounter = 0;\n _.uniqueId = function(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n };\n\n // By default, Underscore uses ERB-style template delimiters, change the\n // following template settings to use alternative delimiters.\n _.templateSettings = {\n evaluate : /<%([\\s\\S]+?)%>/g,\n interpolate : /<%=([\\s\\S]+?)%>/g,\n escape : /<%-([\\s\\S]+?)%>/g\n };\n\n // When customizing `templateSettings`, if you don't want to define an\n // interpolation, evaluation or escaping regex, we need one that is\n // guaranteed not to match.\n var noMatch = /(.)^/;\n\n // Certain characters need to be escaped so that they can be put into a\n // string literal.\n var escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n var escaper = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\n var escapeChar = function(match) {\n return '\\\\' + escapes[match];\n };\n\n // JavaScript micro-templating, similar to John Resig's implementation.\n // Underscore templating handles arbitrary delimiters, preserves whitespace,\n // and correctly escapes quotes within interpolated code.\n // NB: `oldSettings` only exists for backwards compatibility.\n _.template = function(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = _.defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escaper, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offest.\n return match;\n });\n source += \"';\\n\";\n\n // If a variable is not specified, place data values in local scope.\n if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n try {\n var render = new Function(settings.variable || 'obj', '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n var argument = settings.variable || 'obj';\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n };\n\n // Add a \"chain\" function. Start chaining a wrapped Underscore object.\n _.chain = function(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n };\n\n // OOP\n // ---------------\n // If Underscore is called as a function, it returns a wrapped object that\n // can be used OO-style. This wrapper holds altered versions of all the\n // underscore functions. Wrapped objects may be chained.\n\n // Helper function to continue chaining intermediate results.\n var result = function(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n };\n\n // Add your own custom functions to the Underscore object.\n _.mixin = function(obj) {\n _.each(_.functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return result(this, func.apply(_, args));\n };\n });\n };\n\n // Add all of the Underscore functions to the wrapper object.\n _.mixin(_);\n\n // Add all mutator Array functions to the wrapper.\n _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n return result(this, obj);\n };\n });\n\n // Add all accessor Array functions to the wrapper.\n _.each(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n return result(this, method.apply(this._wrapped, arguments));\n };\n });\n\n // Extracts the result from a wrapped and chained object.\n _.prototype.value = function() {\n return this._wrapped;\n };\n\n // Provide unwrapping proxy for some methods used in engine operations\n // such as arithmetic and JSON stringification.\n _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n _.prototype.toString = function() {\n return '' + this._wrapped;\n };\n\n // AMD registration happens at the end for compatibility with AMD loaders\n // that may not enforce next-turn semantics on modules. Even though general\n // practice for AMD registration is to be anonymous, underscore registers\n // as a named module because, like jQuery, it is a base library that is\n // popular enough to be bundled in a third party lib, but not be part of\n // an AMD load request. Those cases could generate an error when an\n // anonymous define() is called outside of a loader request.\n if (typeof define === 'function' && define.amd) {\n define('underscore', [], function() {\n return _;\n });\n }\n}.call(this));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/underscore/underscore.js\n// module id = 0\n// module chunks = 75 76","import { IQueryResult } from '../../rest/QueryResult';\nimport { Logger } from '../../misc/Logger';\nimport { IComponentDefinition, Component } from '../Base/Component';\nimport { IComponentBindings } from '../Base/ComponentBindings';\nimport { Utils } from '../../utils/Utils';\nimport { Assert } from '../../misc/Assert';\nimport { $$ } from '../../utils/Dom';\nimport { InitializationEvents } from '../../events/InitializationEvents';\nimport { SearchInterface, StandaloneSearchInterface } from '../SearchInterface/SearchInterface';\nimport { QueryController } from '../../controllers/QueryController';\nimport { HashUtils } from '../../utils/HashUtils';\nimport { QueryStateModel } from '../../models/QueryStateModel';\nimport { ComponentStateModel } from '../../models/ComponentStateModel';\nimport { ComponentOptionsModel } from '../../models/ComponentOptionsModel';\nimport { IAnalyticsNoMeta, analyticsActionCauseList } from '../Analytics/AnalyticsActionListMeta';\nimport { JQueryUtils } from '../../utils/JQueryutils';\nimport { IJQuery } from './CoveoJQuery';\nimport * as _ from 'underscore';\nimport { IStringMap } from '../../rest/GenericParam';\nimport { get, state } from './RegisteredNamedMethods';\nimport { InitializationHelper } from './InitializationHelper';\n\n/**\n * Represent the initialization parameters required to init a new component.\n */\nexport interface IInitializationParameters {\n options: any;\n result?: IQueryResult;\n bindings: IComponentBindings;\n}\n\nexport interface IInitResult {\n initResult: Promise;\n isLazyInit: boolean;\n}\n\n/**\n * The main purpose of this class is to initialize the framework (a.k.a the code executed when calling `Coveo.init`).
\n * It's also in charge or registering the available components, as well as the method that we expost to the global Coveo scope.
\n * For example, the `Coveo.executeQuery` function will be registed in this class by the {@link QueryController}.\n */\nexport class Initialization {\n // This is the only difference between an \"eager\" initialization and a \"lazy\" initialization\n // This function will be set to EagerInitialization.functionGeneratorForComponents or LazyInitialization.functionGeneratorForComponents\n // This is done in Eager.ts or Lazy.ts (the entry point)\n // In eager mode, the generator return an array of function. Each function returns \"void\" when called. After all the function have been called, all the components are initialized, synchronously.\n // In lazy mode, the generator return an array of function. Each function return an array of Promise when called. When all the promises are resolved, the components are correctly initialized, asynchronously.\n // We need the 2 different mode for a specific reason :\n // In eager mode, when someone calls Coveo.init, this means the initialization is synchronous, and someone can then immediately start interacting with components.\n // In lazy mode, when someone calls Coveo.init, they have to wait for the returned promise to resolve before interacting with components.\n public static componentsFactory: (\n elements: HTMLElement[],\n componentClassId: string,\n initParameters: IInitializationParameters\n ) => { factory: () => Promise[] | void; isLazyInit: boolean };\n\n private static logger = new Logger('Initialization');\n public static registeredComponents: String[] = [];\n public static componentAliases: IStringMap = {};\n private static namedMethods: { [s: string]: any } = {};\n\n // List of every fields that are needed by components when doing a query (the fieldsToInclude property in the query)\n // Since results components are lazy loaded after the first query (when doing the rendering) we need to register the needed fields before their implementation are loaded in the page.\n private static fieldsNeededForQuery: string[] = [];\n // List of every fields that are needed by components when doing a query (the fieldsToInclude property in the query), linked to the component that needs them\n // It is a bit different from `fieldsNeededForQuery` because we can, in some scenarios, optimize to only get fields for components that are actually in the page\n private static fieldsNeededForQueryByComponent: IStringMap = {};\n\n /**\n * Register a new set of options for a given element.
\n * When the element is eventually initialized as a component, those options will be used / merged to create the final option set to use for this component.
\n * Note that this function should not normally be called directly, but instead using the global `Coveo.options` function\n * @param element\n * @param options\n */\n public static registerDefaultOptions(element: HTMLElement, options: {}): void {\n const existing = element['CoveoDefaultOptions'] || {};\n const updated = Utils.extendDeep(existing, options);\n element['CoveoDefaultOptions'] = updated;\n }\n\n public static resolveDefaultOptions(element: HTMLElement, options: {}): {} {\n const optionsForThisElement = element['CoveoDefaultOptions'];\n\n let optionsSoFar: {};\n if (Utils.exists(optionsForThisElement)) {\n optionsSoFar = Utils.extendDeep(optionsForThisElement, options);\n } else {\n optionsSoFar = options;\n }\n\n if (element.parentElement) {\n return Initialization.resolveDefaultOptions(element.parentElement, optionsSoFar);\n } else {\n return optionsSoFar;\n }\n }\n\n /**\n * Register a new Component to be recognized by the framework.\n * This essentially mean that when we call `Coveo.init`, the Initialization class will scan the DOM for known component (which have registed themselves with this call) and create a new component on each element.\n *\n * This is meant to register the component to be loaded \"eagerly\" (Immediately available when the UI scripts are included)\n * @param componentClass\n */\n public static registerAutoCreateComponent(componentClass: IComponentDefinition): void {\n Assert.exists(componentClass);\n Assert.exists(componentClass.ID);\n Assert.doesNotExists(Initialization.namedMethods[componentClass.ID]);\n\n if (!_.contains(Initialization.registeredComponents, componentClass.ID)) {\n Initialization.registeredComponents.push(componentClass.ID);\n if (componentClass.aliases) {\n Initialization.componentAliases[componentClass.ID] = componentClass.aliases;\n }\n }\n\n if (EagerInitialization.eagerlyLoadedComponents[componentClass.ID] == null) {\n EagerInitialization.eagerlyLoadedComponents[componentClass.ID] = componentClass;\n }\n\n if (LazyInitialization.lazyLoadedComponents[componentClass.ID] == null) {\n LazyInitialization.lazyLoadedComponents[componentClass.ID] = () => {\n return new Promise((resolve, reject) => {\n resolve(componentClass);\n });\n };\n }\n }\n\n /**\n * Set the fields that the component needs to add to the query.\n *\n * This is used when the {@link ResultList.options.autoSelectFieldsToInclude } is set to `true` (which is `true` by default).\n *\n * The framework tries to only include the needed fields from the index, for performance reasons.\n *\n * @param componentId The id for the component (eg: CoveoFacet)\n * @param fields\n */\n public static registerComponentFields(componentId: string, fields: string[]) {\n Initialization.fieldsNeededForQuery = Utils.concatWithoutDuplicate(Initialization.fieldsNeededForQuery, fields);\n\n // Register with both name (eg : Facet and CoveoFacet) to reduce possible confusion.\n // The id concept for component is fuzzy for a lot of people (include the Coveo prefix or not)\n const registerById = id => {\n if (Initialization.fieldsNeededForQueryByComponent[id] == null) {\n Initialization.fieldsNeededForQueryByComponent[id] = fields;\n } else {\n Initialization.fieldsNeededForQueryByComponent[id] = Utils.concatWithoutDuplicate(\n Initialization.fieldsNeededForQueryByComponent[id],\n fields\n );\n }\n };\n\n registerById(componentId);\n registerById(Component.computeCssClassNameForType(componentId));\n }\n\n /**\n * Returns all the fields that the framework currently knows should be added to the query.\n *\n * This is used when the {@link ResultList.options.autoSelectFieldsToInclude } is set to `true` (which is `true` by default).\n *\n * The framework tries to only include the needed fields from the index, for performance reasons.\n * @returns {string[]}\n */\n public static getRegisteredFieldsForQuery() {\n return Initialization.fieldsNeededForQuery;\n }\n\n /**\n * Returns all the fields that the framework currently knows should be added to the query, for a given component.\n *\n * This is used when the {@link ResultList.options.autoSelectFieldsToInclude } is set to `true` (which is `true` by default).\n *\n * The framework tries to only include the needed fields from the index, for performance reasons.\n * @param componentId\n * @returns {string[]|Array}\n */\n public static getRegisteredFieldsComponentForQuery(componentId: string): string[] {\n const basicId = Initialization.fieldsNeededForQueryByComponent[componentId] || [];\n const coveoId = Initialization.fieldsNeededForQueryByComponent[Component.computeCssClassNameForType(componentId)] || [];\n return Utils.concatWithoutDuplicate(basicId, coveoId);\n }\n\n /**\n * Check if a component is already registered, using it's ID (e.g. : 'Facet').\n * @param componentClassId\n * @returns {boolean}\n */\n public static isComponentClassIdRegistered(componentClassId: string): boolean {\n return (\n _.contains(Initialization.registeredComponents, componentClassId) ||\n _.contains(Initialization.registeredComponents, Component.computeCssClassNameForType(componentClassId))\n );\n }\n\n /**\n * Return the list of all known components (the list of ID for each component), whether they are actually loaded or not.\n * @returns {string[]}\n */\n public static getListOfRegisteredComponents() {\n return Initialization.registeredComponents;\n }\n\n /**\n * Return the list of all components that are currently eagerly loaded.\n * @returns {string[]}\n */\n public static getListOfLoadedComponents() {\n return _.keys(EagerInitialization.eagerlyLoadedComponents);\n }\n\n /**\n * Return the component class definition, using it's ID (e.g. : 'CoveoFacet').\n *\n * This means the component needs to be eagerly loaded.\n *\n * @param name\n * @returns {IComponentDefinition}\n */\n public static getRegisteredComponent(name: string) {\n return EagerInitialization.eagerlyLoadedComponents[name];\n }\n\n /**\n * Initialize the framework. Note that this function should not normally be called directly, but instead using a globally registered function (e.g.: Coveo.init), or {@link Initialization.initSearchInterface} or {@link Initialization.initStandaloneSearchInterface}
\n * (e.g. : `Coveo.init` or `Coveo.initSearchbox`).\n * @param element The element on which to initialize the interface.\n * @param options The options for all components (eg: {Searchbox : {enableSearchAsYouType : true}}).\n * @param initSearchInterfaceFunction The function to execute to create the {@link SearchInterface} component. Different init call will create different {@link SearchInterface}.\n */\n public static initializeFramework(\n element: HTMLElement,\n options: any,\n initSearchInterfaceFunction: (...args: any[]) => IInitResult\n ): Promise<{ elem: HTMLElement }> {\n Assert.exists(element);\n const alreadyInitialized = Component.get(element, QueryController, true);\n if (alreadyInitialized) {\n this.logger.error('This DOM element has already been initialized as a search interface, skipping initialization', element);\n return new Promise((resolve, reject) => {\n resolve({ elem: element });\n });\n }\n\n options = Initialization.resolveDefaultOptions(element, options);\n\n Initialization.performInitFunctionsOption(options, InitializationEvents.beforeInitialization);\n $$(element).trigger(InitializationEvents.beforeInitialization);\n\n const toExecuteOnceSearchInterfaceIsInitialized = () => {\n return Initialization.initExternalComponents(element, options).then(result => {\n Initialization.performInitFunctionsOption(options, InitializationEvents.afterComponentsInitialization);\n $$(element).trigger(InitializationEvents.afterComponentsInitialization);\n\n $$(element).trigger(InitializationEvents.restoreHistoryState);\n\n Initialization.performInitFunctionsOption(options, InitializationEvents.afterInitialization);\n $$(element).trigger(InitializationEvents.afterInitialization);\n\n const searchInterface = Component.get(element, SearchInterface);\n if (Initialization.shouldExecuteFirstQueryAutomatically(searchInterface)) {\n Initialization.logFirstQueryCause(searchInterface);\n let shouldLogInActionHistory = true;\n // We should not log an action history if the interface is a standalone recommendation component.\n if (Coveo['Recommendation']) {\n shouldLogInActionHistory = !(searchInterface instanceof Coveo['Recommendation']);\n }\n (Component.get(element, QueryController)).executeQuery({\n logInActionsHistory: shouldLogInActionHistory,\n isFirstQuery: true\n });\n }\n return result;\n });\n };\n\n const resultOfSearchInterfaceInitialization = initSearchInterfaceFunction(element, options);\n\n // We are executing a \"lazy\" initialization, which returns a Promise\n // eg : CoveoJsSearch.Lazy.js was included in the page\n // this means that we can only execute the function after the promise has resolved\n if (resultOfSearchInterfaceInitialization.isLazyInit) {\n return resultOfSearchInterfaceInitialization.initResult.then(toExecuteOnceSearchInterfaceIsInitialized).then(() => {\n return {\n elem: element\n };\n });\n } else {\n // Else, we are executing an \"eager\" initialization, which returns void;\n // eg : CoveoJsSearch.js was included in the page\n // this mean that this function gets executed immediately\n return toExecuteOnceSearchInterfaceIsInitialized().then(() => {\n return {\n elem: element\n };\n });\n }\n }\n\n /**\n * Create a new standard search interface. This is the function executed when calling `Coveo.init`.\n * @param element\n * @param options\n * @returns {IInitResult}\n */\n public static initSearchInterface(element: HTMLElement, options: any = {}): IInitResult {\n options = Initialization.resolveDefaultOptions(element, options);\n const searchInterface = new SearchInterface(element, options.SearchInterface, options.Analytics);\n searchInterface.options.originalOptionsObject = options;\n const initParameters: IInitializationParameters = { options: options, bindings: searchInterface.getBindings() };\n return Initialization.automaticallyCreateComponentsInside(element, initParameters, ['Recommendation']);\n }\n\n /**\n * Create a new standalone search interface (standalone search box). This is the function executed when calling `Coveo.initSearchbox`.\n * @param element\n * @param options\n * @returns {IInitResult}\n */\n public static initStandaloneSearchInterface(element: HTMLElement, options: any = {}): IInitResult {\n options = Initialization.resolveDefaultOptions(element, options);\n\n // Set trigger query on clear to false for standalone search interface automatically\n // Take care of not overriding any options that could have been set by external code.\n if (!options.Querybox) {\n options.Querybox = {};\n }\n if (!options.Omnibox) {\n options.Omnibox = {};\n }\n if (!options.Searchbox) {\n options.Searchbox = {};\n }\n if (!options.Querybox.triggerQueryOnClear || !options.Omnibox.triggerQueryOnClear || !options.Searchbox.triggerOnQueryClear) {\n options.Querybox.triggerQueryOnClear = false;\n options.Omnibox.triggerQueryOnClear = false;\n options.Searchbox.triggerQueryOnClear = false;\n }\n\n const searchInterface = new StandaloneSearchInterface(element, options.StandaloneSearchInterface, options.Analytics);\n searchInterface.options.originalOptionsObject = options;\n const initParameters: IInitializationParameters = { options: options, bindings: searchInterface.getBindings() };\n return Initialization.automaticallyCreateComponentsInside(element, initParameters);\n }\n\n /**\n * Create a new recommendation search interface. This is the function executed when calling `Coveo.initRecommendation`.\n * @param element\n * @param options\n * @returns {IInitResult}\n */\n public static initRecommendationInterface(element: HTMLElement, options: any = {}): IInitResult {\n options = Initialization.resolveDefaultOptions(element, options);\n // Since a recommendation interface inherits from a search interface, we need to merge those if passed on init\n const optionsForRecommendation = _.extend({}, options.SearchInterface, options.Recommendation);\n // If there is a main search interface, modify the loading animation for the recommendation interface to a \"noop\" element\n // We don't want 2 animation overlapping\n if (optionsForRecommendation.mainSearchInterface) {\n optionsForRecommendation.firstLoadingAnimation = $$('span').el;\n }\n const recommendation = new window['Coveo']['Recommendation'](element, optionsForRecommendation, options.Analytics);\n recommendation.options.originalOptionsObject = options;\n const initParameters: IInitializationParameters = { options: options, bindings: recommendation.getBindings() };\n return Initialization.automaticallyCreateComponentsInside(element, initParameters);\n }\n\n /**\n * Scan the element and all its children for known components. Initialize every known component found.\n * @param element\n * @param initParameters\n * @param ignore\n * @returns {IInitResult}\n */\n public static automaticallyCreateComponentsInside(\n element: HTMLElement,\n initParameters: IInitializationParameters,\n ignore: string[] = []\n ): IInitResult {\n Assert.exists(element);\n\n const htmlElementsToIgnore = InitializationHelper.findDOMElementsToIgnore(element, ignore);\n const htmlElementsToInitialize = InitializationHelper.findDOMElementsToInitialize(element, htmlElementsToIgnore);\n\n let isLazyInit;\n\n const constructorForEachComponentsInstance = _.chain(htmlElementsToInitialize)\n .map(htmlElementToInitialize => {\n const resultsOfFactory = this.componentsFactory(\n htmlElementToInitialize.htmlElements,\n htmlElementToInitialize.componentClassId,\n initParameters\n );\n isLazyInit = resultsOfFactory.isLazyInit;\n return resultsOfFactory.factory;\n })\n .map(codeToExecute => {\n const codeResult = codeToExecute();\n if (codeResult) {\n return Promise.all(codeResult).then(() => true);\n }\n return Promise.resolve(true);\n })\n .value();\n\n const initResult = Promise.all(constructorForEachComponentsInstance)\n .then(() => true)\n .catch(e => {\n // We log the fatal error on init, but then we try to continue the initialization for the rest of the components.\n // In most case, this would be caused by a fatal error in a component constructor.\n // In some cases, it might be for a minor component not essential to basic function of the interface, meaning we could still salvage things here.\n this.logger.error(e);\n this.logger.warn(`Skipping initialization of previous component in error ... `);\n return true;\n });\n\n return {\n initResult,\n isLazyInit\n };\n }\n\n /**\n * Register a new globally available method in the Coveo namespace (e.g.: `Coveo.init`).\n * @param methodName The method name to register.\n * @param handler The function to execute when the method is called.\n */\n public static registerNamedMethod(methodName: string, handler: (...args: any[]) => any) {\n Assert.isNonEmptyString(methodName);\n Assert.doesNotExists(EagerInitialization.eagerlyLoadedComponents[methodName]);\n Assert.doesNotExists(Initialization.namedMethods[methodName]);\n Assert.exists(handler);\n Initialization.namedMethods[methodName] = handler;\n }\n\n /**\n * Check if the method is already registed.\n * @param methodName\n * @returns {boolean}\n */\n public static isNamedMethodRegistered(methodName: string): boolean {\n return Utils.exists(Initialization.namedMethods[methodName]);\n }\n\n /**\n * 'Monkey patch' (replace the function with a new one) a given method on a component instance.\n * @param methodName\n * @param element\n * @param handler\n */\n public static monkeyPatchComponentMethod(methodName: string, element: HTMLElement, handler: (...args: any[]) => any) {\n Assert.isNonEmptyString(methodName);\n Assert.exists(handler);\n\n let componentClass;\n if (methodName.indexOf('.') > 0) {\n const splitArg = methodName.split('.');\n Assert.check(splitArg.length == 2, 'Invalid method name, correct syntax is CoveoComponent.methodName.');\n componentClass = splitArg[0];\n methodName = splitArg[1];\n }\n\n const boundComponent = Component.get(element, componentClass);\n Assert.exists(boundComponent);\n Assert.exists(boundComponent[methodName]);\n\n const originalMethodName = '__' + methodName;\n if (!Utils.exists(boundComponent[originalMethodName])) {\n boundComponent[originalMethodName] = boundComponent[methodName];\n }\n\n boundComponent[methodName] = handler;\n }\n\n public static initBoxInterface(\n element: HTMLElement,\n options: any = {},\n type: string = 'Standard',\n injectMarkup: boolean = true\n ): IInitResult {\n options = Initialization.resolveDefaultOptions(element, options);\n let fromInitTypeToBoxReference = 'Box';\n if (type != 'Standard') {\n fromInitTypeToBoxReference += 'For' + type;\n }\n const boxRef = Component.getComponentRef(fromInitTypeToBoxReference);\n if (boxRef) {\n new Logger(element).info('Initializing box of type ' + fromInitTypeToBoxReference);\n const injectFunction: () => any = injectMarkup ? boxRef.getInjection : () => {};\n const box = new boxRef(element, options[fromInitTypeToBoxReference], options.Analytics, injectFunction, options);\n box.options.originalOptionsObject = options;\n const initParameters: IInitializationParameters = { options: options, bindings: box.getBindings() };\n return Initialization.automaticallyCreateComponentsInside(element, initParameters);\n } else {\n return {\n initResult: new Promise((resolve, reject) => {\n new Logger(element).error(\n 'Trying to initialize box of type : ' + fromInitTypeToBoxReference + ' but not found in code (not compiled)!'\n );\n Assert.fail('Cannot initialize unknown type of box');\n reject(false);\n }),\n isLazyInit: false\n };\n }\n }\n\n public static dispatchNamedMethodCall(methodName: string, element: HTMLElement, args: any[]): any {\n Assert.isNonEmptyString(methodName);\n Assert.exists(element);\n\n const namedMethodHandler: (element: HTMLElement, ...args: any[]) => any = Initialization.namedMethods[methodName];\n Assert.exists(namedMethodHandler);\n\n Initialization.logger.trace('Dispatching named method call of ' + methodName, element, args);\n if (args.length != 0) {\n return namedMethodHandler.apply(null, [element].concat(args));\n } else {\n return namedMethodHandler.apply(null, [element]);\n }\n }\n\n public static dispatchNamedMethodCallOrComponentCreation(token: string, element: HTMLElement, args: any[]): any {\n Assert.isNonEmptyString(token);\n Assert.exists(element);\n\n if (Initialization.isNamedMethodRegistered(token)) {\n return Initialization.dispatchNamedMethodCall(token, element, args);\n } else if (Initialization.isThereASingleComponentBoundToThisElement(element)) {\n return Initialization.dispatchMethodCallOnBoundComponent(token, element, args);\n } else {\n Assert.fail('No method or component named ' + token + ' are registered.');\n }\n }\n\n public static isSearchFromLink(searchInterface: SearchInterface) {\n return Utils.isNonEmptyString(searchInterface.getBindings().queryStateModel.get('q'));\n }\n\n public static isThereASingleComponentBoundToThisElement(element: HTMLElement): boolean {\n Assert.exists(element);\n return Utils.exists(Component.get(element, null, true));\n }\n\n public static isThereANonSearchInterfaceComponentBoundToThisElement(element: HTMLElement): boolean {\n // We automatically consider \"Recommendation\" component to be a special case of search interface\n // and thus do not check those.\n if ($$(element).hasClass('CoveoRecommendation')) {\n return true;\n }\n return (\n Initialization.isThereASingleComponentBoundToThisElement(element) &&\n !get(element, SearchInterface, true) &&\n !$$(element).hasClass('CoveoRecommendation')\n );\n }\n\n private static dispatchMethodCallOnBoundComponent(methodName: string, element: HTMLElement, args: any[]): any {\n Assert.isNonEmptyString(methodName);\n Assert.exists(element);\n\n const boundComponent = Component.get(element);\n Assert.exists(boundComponent);\n\n const method = boundComponent[methodName];\n if (Utils.exists(method)) {\n return method.apply(boundComponent, args);\n } else {\n Assert.fail('No method named ' + methodName + ' exist on component ' + boundComponent.type);\n }\n }\n\n private static logFirstQueryCause(searchInterface: SearchInterface) {\n const firstQueryCause = HashUtils.getValue('firstQueryCause', HashUtils.getHash());\n if (firstQueryCause != null) {\n const meta = HashUtils.getValue('firstQueryMeta', HashUtils.getHash()) || {};\n searchInterface.usageAnalytics.logSearchEvent(analyticsActionCauseList[firstQueryCause], meta);\n } else {\n if (Initialization.isSearchFromLink(searchInterface)) {\n searchInterface.usageAnalytics.logSearchEvent(analyticsActionCauseList.searchFromLink, {});\n } else {\n searchInterface.usageAnalytics.logSearchEvent(analyticsActionCauseList.interfaceLoad, {});\n }\n }\n }\n\n private static performInitFunctionsOption(options, event: string) {\n if (Utils.exists(options)) {\n Initialization.performFunctions(options[event]);\n }\n }\n\n private static performFunctions(option) {\n if (Utils.exists(option)) {\n _.each(option, (func: () => void) => {\n if (typeof func == 'function') {\n func();\n }\n });\n }\n }\n\n private static initExternalComponents(element: HTMLElement, options?: any): Promise {\n if (options && options['externalComponents']) {\n const searchInterface = Component.get(element, SearchInterface);\n const queryStateModel = Component.get(element, QueryStateModel);\n const componentStateModel = Component.get(element, ComponentStateModel);\n const queryController = Component.get(element, QueryController);\n const componentOptionsModel = Component.get(element, ComponentOptionsModel);\n const usageAnalytics = searchInterface.usageAnalytics;\n Assert.exists(searchInterface);\n Assert.exists(queryStateModel);\n Assert.exists(queryController);\n Assert.exists(componentStateModel);\n Assert.exists(usageAnalytics);\n const initParameters: IInitializationParameters = {\n options: options,\n bindings: {\n searchInterface: searchInterface,\n queryStateModel: queryStateModel,\n queryController: queryController,\n usageAnalytics: usageAnalytics,\n componentStateModel: componentStateModel,\n componentOptionsModel: componentOptionsModel,\n root: element\n }\n };\n const initializationOfExternalComponents = _.map(options['externalComponents'], (externalComponent: HTMLElement | IJQuery) => {\n const elementToInstantiate = externalComponent;\n if (Utils.isHtmlElement(elementToInstantiate)) {\n return Initialization.automaticallyCreateComponentsInside(elementToInstantiate, initParameters).initResult;\n } else if (JQueryUtils.isInstanceOfJQuery(elementToInstantiate)) {\n return Initialization.automaticallyCreateComponentsInside((elementToInstantiate).get(0), initParameters)\n .initResult;\n }\n });\n return Promise.all(initializationOfExternalComponents)\n .then(results => _.first(results))\n .catch(err => {\n this.logger.error(err);\n return false;\n });\n } else {\n return Promise.resolve(false);\n }\n }\n\n private static shouldExecuteFirstQueryAutomatically(searchInterface: SearchInterface) {\n const options = searchInterface.options;\n\n if (!options) {\n return true;\n }\n\n if (options.autoTriggerQuery === false) {\n return false;\n }\n\n if (options.allowQueriesWithoutKeywords === true) {\n return true;\n }\n\n const currentStateOfQuery = state(searchInterface.element).get('q');\n return currentStateOfQuery != '';\n }\n}\n\nexport class LazyInitialization {\n private static logger = new Logger('LazyInitialization');\n\n // Map of every component to a promise that resolve with their implementation (lazily loaded)\n public static lazyLoadedComponents: IStringMap<() => Promise> = {};\n public static lazyLoadedModule: IStringMap<() => Promise> = {};\n\n public static getLazyRegisteredComponent(name: string): Promise {\n return LazyInitialization.lazyLoadedComponents[name]();\n }\n\n public static getLazyRegisteredModule(name: string): Promise {\n return LazyInitialization.lazyLoadedModule[name]();\n }\n\n public static registerLazyComponent(id: string, load: () => Promise, aliases?: string[]): void {\n if (LazyInitialization.lazyLoadedComponents[id] == null) {\n Assert.exists(load);\n if (!_.contains(Initialization.registeredComponents, id)) {\n Initialization.registeredComponents.push(id);\n }\n LazyInitialization.lazyLoadedComponents[id] = load;\n if (aliases) {\n Initialization.componentAliases[id] = aliases;\n }\n } else {\n this.logger.warn('Component being registered twice', id);\n }\n }\n\n public static buildErrorCallback(chunkName: string, resolve: Function) {\n return error => {\n LazyInitialization.logger\n .warn(`Cannot load chunk for ${chunkName}. You may need to add the coveo-script class on the script tag that includes the Coveo framework. More details here https://docs.coveo.com/en/295/javascript-search-framework/lazy-versus-eager-component-loading#fixing-code-chunks-loading-path-issues\n ${error}`);\n resolve(() => {});\n };\n }\n\n public static registerLazyModule(id: string, load: () => Promise): void {\n if (LazyInitialization.lazyLoadedModule[id] == null) {\n Assert.exists(load);\n LazyInitialization.lazyLoadedModule[id] = load;\n } else {\n this.logger.warn('Module being registered twice', id);\n }\n }\n\n public static componentsFactory(\n elements: Element[],\n componentClassId: string,\n initParameters: IInitializationParameters\n ): { factory: () => Promise[]; isLazyInit: boolean } {\n const factory = () => {\n const promises: Promise[] = [];\n _.each(elements, (matchingElement: HTMLElement) => {\n if (Component.get(matchingElement, componentClassId) == null) {\n // If options were provided, lookup options for this component class and\n // also for the element id. Merge them and pass those to the factory method.\n let optionsToUse = undefined;\n if (Utils.exists(initParameters.options)) {\n const optionsForComponentClass = initParameters.options[componentClassId];\n const optionsForElementId = initParameters.options[matchingElement.id];\n const initOptions = initParameters.options['initOptions'] ? initParameters.options['initOptions'][componentClassId] : {};\n optionsToUse = Utils.extendDeep(optionsForElementId, initOptions);\n optionsToUse = Utils.extendDeep(optionsForComponentClass, optionsToUse);\n }\n const initParamToUse = _.extend({}, initParameters, { options: optionsToUse });\n\n promises.push(LazyInitialization.createComponentOfThisClassOnElement(componentClassId, matchingElement, initParamToUse));\n }\n });\n return promises;\n };\n\n return {\n factory: factory,\n isLazyInit: true\n };\n }\n\n private static createComponentOfThisClassOnElement(\n componentClassId: string,\n element: HTMLElement,\n initParameters?: IInitializationParameters\n ): Promise {\n Assert.isNonEmptyString(componentClassId);\n Assert.exists(element);\n\n // If another component exist on that element, we do not want to re-initialize again.\n // The exception being the \"SearchInterface\", since in some case we want end user to initialize directly on the root of the interface\n // For example, when we are initializing a standalone search box, we might want to target the div for the search box directly.\n if (Initialization.isThereANonSearchInterfaceComponentBoundToThisElement(element)) {\n return null;\n }\n\n return LazyInitialization.getLazyRegisteredComponent(componentClassId).then((lazyLoadedComponent: IComponentDefinition) => {\n Assert.exists(lazyLoadedComponent);\n\n if (Initialization.isThereANonSearchInterfaceComponentBoundToThisElement(element)) {\n return null;\n }\n\n const bindings: IComponentBindings = {};\n let options = {};\n let result: IQueryResult = undefined;\n\n if (initParameters != undefined) {\n _.each(<{ [key: string]: any }>initParameters.bindings, (value, key) => {\n bindings[key] = value;\n });\n options = initParameters.options;\n result = initParameters.result;\n }\n\n LazyInitialization.logger.trace('Creating component of class ' + componentClassId, element, options);\n return new lazyLoadedComponent(element, options, bindings, result);\n });\n }\n}\n\nexport class EagerInitialization {\n private static logger = new Logger('EagerInitialization');\n\n // Map of every component with their implementation (eagerly loaded)\n public static eagerlyLoadedComponents: IStringMap = {};\n\n public static componentsFactory(\n elements: Element[],\n componentClassId: string,\n initParameters: IInitializationParameters\n ): { factory: () => void; isLazyInit: boolean } {\n const factory = () => {\n _.each(elements, (matchingElement: HTMLElement) => {\n if (Component.get(matchingElement, componentClassId) == null) {\n // If options were provided, lookup options for this component class and\n // also for the element id. Merge them and pass those to the factory method.\n let optionsToUse = undefined;\n if (Utils.exists(initParameters.options)) {\n const optionsForComponentClass = initParameters.options[componentClassId];\n const optionsForElementId = initParameters.options[matchingElement.id];\n const initOptions = initParameters.options['initOptions'] ? initParameters.options['initOptions'][componentClassId] : {};\n optionsToUse = Utils.extendDeep(optionsForElementId, initOptions);\n optionsToUse = Utils.extendDeep(optionsForComponentClass, optionsToUse);\n }\n const initParamToUse = _.extend({}, initParameters, { options: optionsToUse });\n EagerInitialization.createComponentOfThisClassOnElement(componentClassId, matchingElement, initParamToUse);\n }\n });\n };\n\n return {\n factory: factory,\n isLazyInit: false\n };\n }\n\n private static createComponentOfThisClassOnElement(\n componentClassId: string,\n element: HTMLElement,\n initParameters?: IInitializationParameters\n ): Component {\n Assert.isNonEmptyString(componentClassId);\n Assert.exists(element);\n\n const eagerlyLoadedComponent: IComponentDefinition = Initialization.getRegisteredComponent(componentClassId);\n const bindings: IComponentBindings = {};\n let options = {};\n let result: IQueryResult = undefined;\n\n if (initParameters != undefined) {\n _.each(<{ [key: string]: any }>initParameters.bindings, (value, key) => {\n bindings[key] = value;\n });\n options = initParameters.options;\n result = initParameters.result;\n }\n\n // If another component exist on that element, we do not want to re-initialize again.\n // The exception being the \"SearchInterface\", since in some case we want end user to initialize directly on the root of the interface\n // For example, when we are initializing a standalone search box, we might want to target the div for the search box directly.\n if (Initialization.isThereANonSearchInterfaceComponentBoundToThisElement(element)) {\n return null;\n }\n\n EagerInitialization.logger.trace(`Creating component of class ${componentClassId}`, element, options);\n // This is done so that external code that extends a base component does not have to have two code path for lazy vs eager;\n // If we do not find the eager component registered, we can instead try to load the one found in lazy mode.\n // If it still fails there... tough luck. The component simply won't work.\n if (eagerlyLoadedComponent == null) {\n LazyInitialization.getLazyRegisteredComponent(componentClassId)\n .then(lazyLoadedComponent => {\n EagerInitialization.logger.warn(\n `Component of class ${componentClassId} was not found in \"Eager\" mode. Using lazy mode as a fallback.`\n );\n new lazyLoadedComponent(element, options, bindings, result);\n })\n .catch(() => {\n EagerInitialization.logger.error(\n `Component of class ${componentClassId} was not found in \"Eager\" mode nor \"Lazy\" mode. It will not be initialized properly...`\n );\n });\n return null;\n } else {\n return new eagerlyLoadedComponent(element, options, bindings, result);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/Base/Initialization.ts","import { Utils } from '../utils/Utils';\nimport { JQueryUtils } from '../utils/JQueryutils';\nimport { Assert } from '../misc/Assert';\nimport { Logger } from '../misc/Logger';\nimport * as _ from 'underscore';\nimport { IStringMap } from '../rest/GenericParam';\n\nexport interface IOffset {\n left: number;\n top: number;\n}\n\n/**\n * This is essentially an helper class for dom manipulation.
\n * This is intended to provide some basic functionality normally offered by jQuery.
\n * To minimize the multiple jQuery conflict we have while integrating in various system, we implemented the very small subset that the framework needs.
\n * See {@link $$}, which is a function that wraps this class constructor, for less verbose code.\n */\nexport class Dom {\n private static CLASS_NAME_REGEX = /-?[_a-zA-Z]+[_a-zA-Z0-9-]*/g;\n private static ONLY_WHITE_SPACE_REGEX = /^\\s*$/;\n\n public el: HTMLElement;\n\n /**\n * Create a new Dom object with the given HTMLElement\n * @param el The HTMLElement to wrap in a Dom object\n */\n constructor(el: HTMLElement) {\n Assert.exists(el);\n this.el = el;\n }\n\n private static handlers: { eventHandle: Function; fn: EventListener }[] = [];\n\n /**\n * Helper function to quickly create an HTMLElement\n * @param type The type of the element (e.g. div, span)\n * @param props The props (id, className, attributes) of the element
\n * Can be either specified in dashed-case strings ('my-attribute') or camelCased keys (myAttribute),\n * the latter of which will automatically get replaced to dash-case.\n * @param innerHTML The contents of the new HTMLElement, either in string form or as another HTMLElement\n */\n static createElement(type: string, props?: Object, ...children: Array): HTMLElement {\n const elem: HTMLElement = document.createElement(type);\n\n for (const key in props) {\n if (key === 'className') {\n elem.className = props['className'];\n } else {\n const attr = key.indexOf('-') !== -1 ? key : Utils.toDashCase(key);\n elem.setAttribute(attr, props[key]);\n }\n }\n\n _.each(children, (child: string | HTMLElement | Dom) => {\n if (child instanceof HTMLElement) {\n elem.appendChild(child);\n } else if (_.isString(child)) {\n elem.innerHTML += child;\n } else if (child instanceof Dom) {\n elem.appendChild(child.el);\n }\n });\n\n return elem;\n }\n\n /**\n * Adds the element to the children of the current element\n * @param element The element to append\n * @returns {string}\n */\n public append(element: HTMLElement) {\n this.el.appendChild(element);\n }\n\n /**\n * Get the css value of the specified property.
\n * @param property The property\n * @returns {string}\n */\n public css(property: string): string {\n if (this.el.style[property]) {\n return this.el.style[property];\n }\n return window.getComputedStyle(this.el).getPropertyValue(property);\n }\n\n /**\n * Get or set the text content of the HTMLElement.
\n * @param txt Optional. If given, this will set the text content of the element. If not, will return the text content.\n * @returns {string}\n */\n public text(txt?: string): string {\n if (Utils.isUndefined(txt)) {\n return this.el.innerText || this.el.textContent;\n } else {\n if (this.el.innerText != undefined) {\n this.el.innerText = txt;\n } else if (this.el.textContent != undefined) {\n this.el.textContent = txt;\n }\n }\n }\n\n /**\n * Performant way to transform a NodeList to an array of HTMLElement, for manipulation
\n * http://jsperf.com/nodelist-to-array/72\n * @param nodeList a {NodeList} to convert to an array\n * @returns {HTMLElement[]}\n */\n public nodeListToArray(nodeList: NodeList): HTMLElement[] {\n let i = nodeList.length;\n const arr: HTMLElement[] = new Array(i);\n while (i--) {\n arr[i] = nodeList.item(i);\n }\n return arr;\n }\n\n /**\n * Empty (remove all child) from the element;\n */\n public empty(): void {\n while (this.el.firstChild) {\n this.el.removeChild(this.el.firstChild);\n }\n }\n\n /**\n * Empty the element and all childs from the dom;\n */\n public remove(): void {\n if (this.el.parentNode) {\n this.el.parentNode.removeChild(this.el);\n }\n }\n\n /**\n * Show the element;\n */\n public show(): void {\n this.el.style.display = 'block';\n }\n\n /**\n * Hide the element;\n */\n public hide(): void {\n this.el.style.display = 'none';\n }\n\n /**\n * Toggle the element visibility.
\n * Optional visible parameter, if specified will set the element visibility\n * @param visible Optional parameter to display or hide the element\n */\n public toggle(visible?: boolean): void {\n if (visible === undefined) {\n if (this.el.style.display == 'block') {\n this.hide();\n } else {\n this.show();\n }\n } else {\n if (visible) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n\n /**\n * Tries to determine if an element is \"visible\", in a generic manner.\n *\n * This is not meant to be a \"foolproof\" method, but only a superficial \"best effort\" detection is performed.\n */\n public isVisible() {\n if (this.el.style.display == 'none') {\n return false;\n }\n\n if (this.el.style.visibility == 'hidden') {\n return false;\n }\n\n if (this.hasClass('coveo-tab-disabled')) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Returns the value of the specified attribute.\n * @param name The name of the attribute\n */\n public getAttribute(name: string): string {\n return this.el.getAttribute(name);\n }\n\n /**\n * Sets the value of the specified attribute.\n * @param name The name of the attribute\n * @param value The value to set\n */\n public setAttribute(name: string, value: string) {\n this.el.setAttribute(name, value);\n }\n\n /**\n * Find a child element, given a CSS selector\n * @param selector A CSS selector, can be a .className or #id\n * @returns {HTMLElement}\n */\n public find(selector: string): HTMLElement {\n return this.el.querySelector(selector);\n }\n\n /**\n * Check if the element match the selector.
\n * The selector can be a class, an id or a tag.
\n * Eg : .is('.foo') or .is('#foo') or .is('div').\n */\n public is(selector: string): boolean {\n if (this.el.tagName.toLowerCase() == selector.toLowerCase()) {\n return true;\n }\n if (selector[0] == '.') {\n if (this.hasClass(selector.substr(1))) {\n return true;\n }\n }\n\n if (selector[0] == '#') {\n if (this.el.getAttribute('id') == selector.substr(1)) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Get the first element that matches the classname by testing the element itself and traversing up through its ancestors in the DOM tree.\n *\n * Stops at the body of the document\n * @param className A CSS classname\n */\n public closest(className: string): HTMLElement {\n return this.traverseAncestorForClass(this.el, className);\n }\n\n /**\n * Get the first element that matches the classname by testing the element itself and traversing up through its ancestors in the DOM tree.\n *\n * Stops at the body of the document\n * @returns {any}\n */\n public parent(className: string): HTMLElement {\n if (this.el.parentElement == undefined) {\n return undefined;\n }\n return this.traverseAncestorForClass(this.el.parentElement, className);\n }\n\n /**\n * Get all the ancestors of the current element that match the given className\n *\n * Return an empty array if none found.\n * @param className\n * @returns {HTMLElement[]}\n */\n public parents(className: string): HTMLElement[] {\n const parentsFound = [];\n let parentFound = this.parent(className);\n while (parentFound) {\n parentsFound.push(parentFound);\n parentFound = new Dom(parentFound).parent(className);\n }\n return parentsFound;\n }\n\n /**\n * Return all children\n * @returns {HTMLElement[]}\n */\n public children(): HTMLElement[] {\n return this.nodeListToArray(this.el.children);\n }\n\n /**\n * Return all siblings\n * @returns {HTMLElement[]}\n */\n public siblings(selector: string): HTMLElement[] {\n const sibs = [];\n let currentElement = this.el.parentNode.firstChild;\n for (; currentElement; currentElement = currentElement.nextSibling) {\n if (currentElement != this.el) {\n if (this.matches(currentElement, selector) || !selector) {\n sibs.push(currentElement);\n }\n }\n }\n return sibs;\n }\n\n private matches(element: HTMLElement, selector: string) {\n const all = document.querySelectorAll(selector);\n for (let i = 0; i < all.length; i++) {\n if (all[i] === element) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Find all children that match the given CSS selector\n * @param selector A CSS selector, can be a .className\n * @returns {HTMLElement[]}\n */\n public findAll(selector: string): HTMLElement[] {\n return this.nodeListToArray(this.el.querySelectorAll(selector));\n }\n\n /**\n * Find the child elements using a className\n * @param className Class of the childs elements to find\n * @returns {HTMLElement[]}\n */\n public findClass(className: string): HTMLElement[] {\n if ('getElementsByClassName' in this.el) {\n return this.nodeListToArray(this.el.getElementsByClassName(className));\n }\n }\n\n /**\n * Find an element using an ID\n * @param id ID of the element to find\n * @returns {HTMLElement}\n */\n public findId(id: string): HTMLElement {\n return document.getElementById(id);\n }\n\n /**\n * Add a class to the element. Takes care of not adding the same class if the element already has it.\n * @param className Classname to add to the element\n */\n public addClass(classNames: string[]): void;\n public addClass(className: string): void;\n public addClass(className: any): void {\n if (_.isArray(className)) {\n _.each(className, (name: string) => {\n this.addClass(name);\n });\n } else {\n if (!this.hasClass(className)) {\n if (this.el.className) {\n this.el.className += ' ' + className;\n } else {\n this.el.className = className;\n }\n }\n }\n }\n\n /**\n * Remove the class on the element. Works even if the element does not possess the class.\n * @param className Classname to remove on the the element\n */\n public removeClass(className: string): void {\n this.el.className = this.el.className.replace(new RegExp(`(^|\\\\s)${className}(\\\\s|$)`, 'g'), '$1').trim();\n }\n\n /**\n * Toggle the class on the element.\n * @param className Classname to toggle\n * @param swtch If true, add the class regardless and if false, remove the class\n */\n public toggleClass(className: string, swtch?: boolean): void {\n if (Utils.isNullOrUndefined(swtch)) {\n if (this.hasClass(className)) {\n this.removeClass(className);\n } else {\n this.addClass(className);\n }\n } else {\n if (swtch) {\n this.addClass(className);\n } else {\n this.removeClass(className);\n }\n }\n }\n\n /**\n * Sets the inner html of the element\n * @param html The html to set\n */\n public setHtml(html: string) {\n this.el.innerHTML = html;\n }\n\n /**\n * Return an array with all the classname on the element. Empty array if the element has not classname\n * @returns {any|Array}\n */\n public getClass(): string[] {\n // SVG elements got a className property, but it's not a string, it's an object\n const className = this.getAttribute('class');\n if (className && className.match) {\n return className.match(Dom.CLASS_NAME_REGEX) || [];\n } else {\n return [];\n }\n }\n\n /**\n * Check if the element has the given class name\n * @param className Classname to verify\n * @returns {boolean}\n */\n public hasClass(className: string): boolean {\n return _.contains(this.getClass(), className);\n }\n\n /**\n * Detach the element from the DOM.\n */\n public detach(): void {\n this.el.parentElement && this.el.parentElement.removeChild(this.el);\n }\n\n /**\n * Insert the current node after the given reference node\n * @param refNode\n */\n public insertAfter(refNode: HTMLElement): void {\n refNode.parentNode && refNode.parentNode.insertBefore(this.el, refNode.nextSibling);\n }\n\n /**\n * Insert the current node before the given reference node\n * @param refNode\n */\n public insertBefore(refNode: HTMLElement): void {\n refNode.parentNode && refNode.parentNode.insertBefore(this.el, refNode);\n }\n\n /**\n * Insert the given node as the first child of the current node\n * @param toPrepend\n */\n public prepend(toPrepend: HTMLElement) {\n if (this.el.firstChild) {\n new Dom(toPrepend).insertBefore(this.el.firstChild);\n } else {\n this.el.appendChild(toPrepend);\n }\n }\n\n /**\n * Bind an event handler on the element. Accepts either one (a string) or multiple (Array) event type.
\n * @param types The {string} or {Array} of types on which to bind an event handler\n * @param eventHandle The function to execute when the event is triggered\n */\n public on(types: string[], eventHandle: (evt: Event, data: any) => void): void;\n public on(type: string, eventHandle: (evt: Event, data: any) => void): void;\n public on(type: any, eventHandle: (evt: Event, data: any) => void): void {\n if (_.isArray(type)) {\n _.each(type, (t: string) => {\n this.on(t, eventHandle);\n });\n } else {\n const modifiedType = this.processEventTypeToBeJQueryCompatible(type);\n const jq = JQueryUtils.getJQuery();\n if (jq) {\n jq(this.el).on(modifiedType, eventHandle);\n } else if (this.el.addEventListener) {\n const fn = (e: CustomEvent) => {\n eventHandle(e, e.detail);\n };\n Dom.handlers.push({\n eventHandle: eventHandle,\n fn: fn\n });\n this.el.addEventListener(modifiedType, fn, false);\n } else if (this.el['on']) {\n this.el['on']('on' + modifiedType, eventHandle);\n }\n }\n }\n\n /**\n * Bind an event handler on the element. Accepts either one (a string) or multiple (Array) event type.
\n * The event handler will execute only ONE time.\n * @param types The {string} or {Array} of types on which to bind an event handler\n * @param eventHandle The function to execute when the event is triggered\n */\n public one(types: string[], eventHandle: (evt: Event, args?: any) => void): void;\n public one(type: string, eventHandle: (evt: Event, args?: any) => void): void;\n public one(type: any, eventHandle: (evt: Event, args?: any) => void): void {\n if (_.isArray(type)) {\n _.each(type, (t: string) => {\n this.one(t, eventHandle);\n });\n } else {\n const modifiedType = this.processEventTypeToBeJQueryCompatible(type);\n const once = (e: Event, args: any) => {\n this.off(modifiedType, once);\n return eventHandle(e, args);\n };\n this.on(modifiedType, once);\n }\n }\n\n /**\n * Remove an event handler on the element. Accepts either one (a string) or multiple (Array) event type.
\n * @param types The {string} or {Array} of types on which to remove an event handler\n * @param eventHandle The function to remove on the element\n */\n public off(types: string[], eventHandle: (evt: Event, arg?: any) => void): void;\n public off(type: string, eventHandle: (evt: Event, arg?: any) => void): void;\n public off(type: any, eventHandle: (evt: Event, arg?: any) => void): void {\n if (_.isArray(type)) {\n _.each(type, (t: string) => {\n this.off(t, eventHandle);\n });\n } else {\n const modifiedType = this.processEventTypeToBeJQueryCompatible(type);\n const jq = JQueryUtils.getJQuery();\n if (jq) {\n jq(this.el).off(modifiedType, eventHandle);\n } else if (this.el.removeEventListener) {\n let idx = 0;\n const found = _.find(Dom.handlers, (handlerObj: { eventHandle: Function; fn: EventListener }, i) => {\n if (handlerObj.eventHandle == eventHandle) {\n idx = i;\n return true;\n }\n });\n if (found) {\n this.el.removeEventListener(modifiedType, found.fn, false);\n Dom.handlers.splice(idx, 1);\n }\n } else if (this.el['off']) {\n this.el['off']('on' + modifiedType, eventHandle);\n }\n }\n }\n\n /**\n * Trigger an event on the element.\n * @param type The event type to trigger\n * @param data\n */\n public trigger(type: string, data?: { [key: string]: any }): void {\n const modifiedType = this.processEventTypeToBeJQueryCompatible(type);\n const jq = JQueryUtils.getJQuery();\n if (jq) {\n jq(this.el).trigger(modifiedType, data);\n } else if (CustomEvent !== undefined) {\n const event = new CustomEvent(modifiedType, { detail: data, bubbles: true });\n this.el.dispatchEvent(event);\n } else {\n new Logger(this).error('CANNOT TRIGGER EVENT FOR OLDER BROWSER');\n }\n }\n\n /**\n * Check if the element is \"empty\" (has no innerHTML content). Whitespace is considered empty
\n * @returns {boolean}\n */\n public isEmpty(): boolean {\n return Dom.ONLY_WHITE_SPACE_REGEX.test(this.el.innerHTML);\n }\n\n /**\n * Check if the element is a descendant of parent\n * @param other\n */\n public isDescendant(parent: HTMLElement): boolean {\n let node = this.el.parentNode;\n while (node != null) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n }\n\n /**\n * Replace the current element with the other element, then detach the current element\n * @param otherElem\n */\n public replaceWith(otherElem: HTMLElement): void {\n const parent = this.el.parentNode;\n if (parent) {\n new Dom(otherElem).insertAfter(this.el);\n }\n this.detach();\n }\n\n // based on http://api.jquery.com/position/\n /**\n * Return the position relative to the offset parent.\n */\n public position(): IOffset {\n const offsetParent = this.offsetParent();\n const offset = this.offset();\n let parentOffset: IOffset = { top: 0, left: 0 };\n\n if (!$$(offsetParent).is('html')) {\n parentOffset = $$(offsetParent).offset();\n }\n\n let borderTopWidth = parseInt($$(offsetParent).css('borderTopWidth'));\n let borderLeftWidth = parseInt($$(offsetParent).css('borderLeftWidth'));\n borderTopWidth = isNaN(borderTopWidth) ? 0 : borderTopWidth;\n borderLeftWidth = isNaN(borderLeftWidth) ? 0 : borderLeftWidth;\n\n parentOffset = {\n top: parentOffset.top + borderTopWidth,\n left: parentOffset.left + borderLeftWidth\n };\n\n let marginTop = parseInt(this.css('marginTop'));\n let marginLeft = parseInt(this.css('marginLeft'));\n marginTop = isNaN(marginTop) ? 0 : marginTop;\n marginLeft = isNaN(marginLeft) ? 0 : marginLeft;\n\n return {\n top: offset.top - parentOffset.top - marginTop,\n left: offset.left - parentOffset.left - marginLeft\n };\n }\n\n // based on https://api.jquery.com/offsetParent/\n /**\n * Returns the offset parent. The offset parent is the closest parent that is positioned.\n * An element is positioned when its position property is not 'static', which is the default.\n */\n public offsetParent(): HTMLElement {\n let offsetParent = this.el.offsetParent;\n\n while (offsetParent instanceof HTMLElement && $$(offsetParent).css('position') === 'static') {\n // Will break out if it stumbles upon an non-HTMLElement and return documentElement\n offsetParent = (offsetParent).offsetParent;\n }\n\n if (!(offsetParent instanceof HTMLElement)) {\n return document.documentElement;\n }\n return offsetParent;\n }\n\n // based on http://api.jquery.com/offset/\n /**\n * Return the position relative to the document.\n */\n public offset(): IOffset {\n // In <=IE11, calling getBoundingClientRect on a disconnected node throws an error\n if (!this.el.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n\n const rect = this.el.getBoundingClientRect();\n\n if (rect.width || rect.height) {\n let doc = this.el.ownerDocument;\n let docElem = doc.documentElement;\n\n return {\n top: rect.top + window.pageYOffset - docElem.clientTop,\n left: rect.left + window.pageXOffset - docElem.clientLeft\n };\n }\n return rect;\n }\n\n /**\n * Returns the offset width of the element\n */\n public width(): number {\n return this.el.offsetWidth;\n }\n\n /**\n * Returns the offset height of the element\n */\n public height(): number {\n return this.el.offsetHeight;\n }\n\n /**\n * Clone the node\n * @param deep true if the children of the node should also be cloned, or false to clone only the specified node.\n * @returns {Dom}\n */\n public clone(deep = false): Dom {\n return $$(this.el.cloneNode(deep));\n }\n\n private processEventTypeToBeJQueryCompatible(event: string): string {\n // From https://api.jquery.com/on/\n // [...]\n // > In addition, the .trigger() method can trigger both standard browser event names and custom event names to call attached handlers. Event names should only contain alphanumerics, underscore, and colon characters.\n if (event) {\n return event.replace(/[^a-zA-Z0-9\\:\\_]/g, '');\n }\n return event;\n }\n\n private traverseAncestorForClass(current = this.el, className: string): HTMLElement {\n if (className.indexOf('.') == 0) {\n className = className.substr(1);\n }\n let found = false;\n while (!found) {\n if ($$(current).hasClass(className)) {\n found = true;\n }\n if (current.tagName.toLowerCase() == 'body') {\n break;\n }\n if (current.parentElement == null) {\n break;\n }\n if (!found) {\n current = current.parentElement;\n }\n }\n if (found) {\n return current;\n }\n return undefined;\n }\n}\n\nexport class Win {\n constructor(public win: Window) {}\n\n public height(): number {\n return this.win.innerHeight;\n }\n\n public width(): number {\n return this.win.innerWidth;\n }\n\n public scrollY(): number {\n return this.supportPageOffset()\n ? this.win.pageYOffset\n : this.isCSS1Compat() ? this.win.document.documentElement.scrollTop : this.win.document.body.scrollTop;\n }\n\n public scrollX(): number {\n return this.supportPageOffset()\n ? window.pageXOffset\n : this.isCSS1Compat() ? document.documentElement.scrollLeft : document.body.scrollLeft;\n }\n\n private isCSS1Compat() {\n return (this.win.document.compatMode || '') === 'CSS1Compat';\n }\n\n private supportPageOffset() {\n return this.win.pageXOffset !== undefined;\n }\n}\n\nexport class Doc {\n constructor(public doc: Document) {}\n\n public height(): number {\n const body = this.doc.body;\n return Math.max(body.scrollHeight, body.offsetHeight);\n }\n\n public width(): number {\n const body = this.doc.body;\n return Math.max(body.scrollWidth, body.offsetWidth);\n }\n}\n\n/**\n * Convenience wrapper for the {@link Dom} class. Used to do $$(element).
\n * If passed with an argument which is not an HTMLElement, it will call {@link Dom.createElement}.\n * @param el The HTMLElement to wrap in a Dom object\n * @param type See {@link Dom.createElement}\n * @param props See {@link Dom.createElement}\n * @param ...children See {@link Dom.createElement}\n */\nexport function $$(dom: Dom): Dom;\nexport function $$(html: HTMLElement): Dom;\nexport function $$(type: string, props?: IStringMap, ...children: Array): Dom;\nexport function $$(...args: any[]): Dom {\n if (args.length === 1 && args[0] instanceof Dom) {\n return args[0];\n } else if (args.length === 1 && !_.isString(args[0])) {\n return new Dom(args[0]);\n } else {\n return new Dom(Dom.createElement.apply(Dom, args));\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/Dom.ts","import * as _ from 'underscore';\nimport { IComponentDefinition } from './ui/Base/Component';\nimport { Logger } from './misc/Logger';\nimport { Initialization } from './ui/Base/Initialization';\n\nexport interface IExportedGlobally {\n [moduleName: string]: any;\n}\n\nexport function exportGlobally(toExportGlobally: IExportedGlobally) {\n if (window['Coveo'] == undefined) {\n window['Coveo'] = {};\n }\n _.each(_.keys(toExportGlobally), (key: string) => {\n if (window['Coveo'][key] == null) {\n window['Coveo'][key] = toExportGlobally[key];\n }\n });\n}\n\nexport function lazyExport(component: IComponentDefinition, promiseResolve: Function) {\n if (component.doExport) {\n component.doExport();\n } else {\n new Logger(this).error(`Component ${component} has no export function !`);\n }\n Initialization.registerAutoCreateComponent(component);\n promiseResolve(component);\n}\n\nexport function lazyExportModule(mod: any, promiseResolve: Function) {\n if (mod.doExport) {\n mod.doExport();\n }\n promiseResolve(mod);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/GlobalExports.ts","import { IQueryResult } from '../rest/QueryResult';\nimport * as _ from 'underscore';\nimport { IStringMap } from '../rest/GenericParam';\n\nconst isCoveoFieldRegex = /^@[a-zA-Z0-9_\\.]+$/;\n\nexport class Utils {\n static isUndefined(obj: any): boolean {\n return typeof obj == 'undefined';\n }\n\n static isNull(obj: any): boolean {\n return obj === null;\n }\n\n static isNullOrUndefined(obj: any): boolean {\n return Utils.isUndefined(obj) || Utils.isNull(obj);\n }\n\n static exists(obj: any): boolean {\n return !Utils.isNullOrUndefined(obj);\n }\n\n static toNotNullString(str: string): string {\n return _.isString(str) ? str : '';\n }\n\n static anyTypeToString(value: any): string {\n return value ? value.toString() : '';\n }\n\n static isNullOrEmptyString(str: string): boolean {\n return Utils.isNullOrUndefined(str) || !Utils.isNonEmptyString(str);\n }\n\n static isNonEmptyString(str: string): boolean {\n return _.isString(str) && str !== '';\n }\n\n static isEmptyString(str: string): boolean {\n return !Utils.isNonEmptyString(str);\n }\n\n static stringStartsWith(str: string, startWith: string): boolean {\n return str.slice(0, startWith.length) == startWith;\n }\n\n static isNonEmptyArray(obj: any): boolean {\n return _.isArray(obj) && obj.length > 0;\n }\n\n static isEmptyArray(obj: any): boolean {\n return !Utils.isNonEmptyArray(obj);\n }\n\n static isHtmlElement(obj: any): boolean {\n if (window['HTMLElement'] != undefined) {\n return obj instanceof HTMLElement;\n } else {\n // IE 8 FIX\n return obj && obj.nodeType && obj.nodeType == 1;\n }\n }\n\n static parseIntIfNotUndefined(str: string): number {\n if (Utils.isNonEmptyString(str)) {\n return parseInt(str, 10);\n } else {\n return undefined;\n }\n }\n\n static parseFloatIfNotUndefined(str: string): number {\n let a: any = 't';\n a instanceof HTMLDocument;\n if (Utils.isNonEmptyString(str)) {\n return parseFloat(str);\n } else {\n return undefined;\n }\n }\n\n static round(num: number, decimals: number) {\n return Math.round(num * Math.pow(10, decimals)) / Math.pow(10, decimals);\n }\n\n static parseBooleanIfNotUndefined(str: string): boolean {\n if (Utils.isNonEmptyString(str)) {\n switch (str.toLowerCase()) {\n case 'true':\n case '1':\n case 'yes':\n return true;\n case 'false':\n case '0':\n case 'no':\n return false;\n default:\n return undefined;\n }\n } else {\n return undefined;\n }\n }\n\n static trim(value: string): string {\n if (value == null) {\n return null;\n }\n return value.replace(/^\\s+|\\s+$/g, '');\n }\n\n static encodeHTMLEntities(rawStr: string) {\n let ret = [];\n for (let i = rawStr.length - 1; i >= 0; i--) {\n if (/^[a-z0-9]/i.test(rawStr[i])) {\n ret.unshift(rawStr[i]);\n } else {\n ret.unshift(['&#', rawStr.charCodeAt(i), ';'].join(''));\n }\n }\n return ret.join('');\n }\n\n static decodeHTMLEntities(rawString: string) {\n return rawString.replace(/&#(\\d+);/g, function(match, dec) {\n return String.fromCharCode(dec);\n });\n }\n\n static safeEncodeURIComponent(rawString: string) {\n // yiiip...\n // Explanation : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent\n // Solution : https://stackoverflow.com/a/17109094\n // Basically some unicode character (low-high surrogate) will throw an \"invalid malformed URI\" error when being encoded as an URI component, and the pair of character is incomplete.\n // This simply removes those pesky characters\n if (_.isString(rawString)) {\n return encodeURIComponent(\n rawString\n .replace(/[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])/g, '')\n .split('')\n .reverse()\n .join('')\n .replace(/[\\uDC00-\\uDFFF](?![\\uD800-\\uDBFF])/g, '')\n .split('')\n .reverse()\n .join('')\n );\n } else {\n // If the passed value is not a string, we probably don't want to do anything here...\n // The base browser function should be resilient enough\n return encodeURIComponent(rawString);\n }\n }\n\n static arrayEqual(array1: any[], array2: any[], sameOrder: boolean = true): boolean {\n if (sameOrder) {\n return _.isEqual(array1, array2);\n } else {\n let arrays = [array1, array2];\n return _.all(arrays, (array: any[]) => {\n return array.length == arrays[0].length && _.difference(array, arrays[0]).length == 0;\n });\n }\n }\n\n static objectEqual(obj1: Object, obj2: Object): boolean {\n return _.isEqual(obj1, obj2);\n }\n\n static isCoveoField(field: string): boolean {\n return isCoveoFieldRegex.test(field);\n }\n\n static escapeRegexCharacter(str: string) {\n let ret = str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n return ret;\n }\n\n static getCaseInsensitiveProperty(object: {}, name: string): any {\n // First try using a fast case-sensitive lookup\n let value = object[name];\n\n // Then try a fast case-sensitive lookup with lowercase name\n if (value == null) {\n let lowerCaseName = name.toLowerCase();\n value = object[lowerCaseName];\n // Then try a slow scanning of all the properties\n if (value == null) {\n let matchingKey = _.find(_.keys(object), (key: string) => key.toLowerCase() == lowerCaseName);\n if (matchingKey != null) {\n value = object[matchingKey];\n }\n }\n }\n return value;\n }\n\n static getFieldValue(result: IQueryResult, name: string): any {\n // Be as forgiving as possible about the field name, since we expect\n // user provided values.\n if (name == null) {\n return undefined;\n }\n name = Utils.trim(name);\n if (name[0] == '@') {\n name = name.substr(1);\n }\n if (name == '') {\n return undefined;\n }\n\n // At this point the name should be well formed\n if (!Utils.isCoveoField('@' + name)) {\n throw `Not a valid field : ${name}`;\n }\n // Handle namespace field values of the form sf.Foo.Bar\n let parts = name.split('.').reverse();\n let obj = result.raw;\n while (parts.length > 1) {\n obj = Utils.getCaseInsensitiveProperty(obj, parts.pop());\n if (Utils.isUndefined(obj)) {\n return undefined;\n }\n }\n let value = Utils.getCaseInsensitiveProperty(obj, parts[0]);\n // If still nothing, look at the root of the result\n if (value == null) {\n value = Utils.getCaseInsensitiveProperty(result, name);\n }\n return value;\n }\n\n static throttle(func, wait, options: { leading?: boolean; trailing?: boolean } = {}, context?, args?) {\n let result;\n let timeout: number = null;\n let previous = 0;\n let later = function() {\n previous = options.leading === false ? 0 : new Date().getTime();\n timeout = null;\n result = func.apply(context, args);\n };\n return function() {\n let now = new Date().getTime();\n if (!previous && options.leading === false) {\n previous = now;\n }\n let remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0) {\n clearTimeout(timeout);\n timeout = null;\n previous = now;\n result = func.apply(context, args);\n } else if (!timeout && options.trailing !== false) {\n timeout = window.setTimeout(later, remaining);\n }\n return result;\n };\n }\n\n static extendDeep(target, src): {} {\n if (!target) {\n target = {};\n }\n let isArray = _.isArray(src);\n let toReturn = (isArray && []) || {};\n if (isArray) {\n target = target || [];\n toReturn = toReturn['concat'](target);\n _.each(src, (e, i, obj) => {\n if (typeof target[i] === 'undefined') {\n toReturn[i] = e;\n } else if (typeof e === 'object' && !_.isElement(e)) {\n toReturn[i] = Utils.extendDeep(target[i], e);\n } else {\n if (target.indexOf(e) === -1) {\n toReturn['push'](e);\n }\n }\n });\n } else {\n if (target && typeof target === 'object' && !_.isElement(target)) {\n _.each(_.keys(target), key => {\n toReturn[key] = target[key];\n });\n }\n _.each(_.keys(src), key => {\n if (typeof src[key] !== 'object' || !src[key]) {\n toReturn[key] = src[key];\n } else {\n if (!target[key]) {\n toReturn[key] = src[key];\n } else {\n toReturn[key] = Utils.extendDeep(target[key], src[key]);\n }\n }\n });\n }\n return toReturn;\n }\n\n static getQueryStringValue(key, queryString = window.location.search) {\n return queryString.replace(new RegExp('^(?:.*[&\\\\?]' + key.replace(/[\\.\\+\\*]/g, '\\\\$&') + '(?:\\\\=([^&]*))?)?.*$', 'i'), '$1');\n }\n\n static isValidUrl(str: string): boolean {\n let regexp = /(ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?/;\n return regexp.test(str);\n }\n\n static debounce(func: Function, wait: number) {\n let timeout: number;\n let stackTraceTimeout: number;\n return function(...args: any[]) {\n if (timeout == null) {\n timeout = window.setTimeout(() => {\n timeout = null;\n }, wait);\n stackTraceTimeout = setTimeout(() => {\n func.apply(this, args);\n stackTraceTimeout = null;\n });\n } else if (stackTraceTimeout == null) {\n clearTimeout(timeout);\n timeout = window.setTimeout(() => {\n func.apply(this, args);\n timeout = null;\n }, wait);\n }\n };\n }\n\n static readCookie(name: string) {\n let nameEQ = name + '=';\n let ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEQ) == 0) {\n return c.substring(nameEQ.length, c.length);\n }\n }\n return null;\n }\n\n static toDashCase(camelCased: string) {\n return camelCased.replace(/([a-z][A-Z])/g, g => g[0] + '-' + g[1].toLowerCase());\n }\n\n static toCamelCase(dashCased: string) {\n return dashCased.replace(/-([a-z])/g, g => g[1].toUpperCase());\n }\n\n // Based on http://stackoverflow.com/a/8412989\n static parseXml(xml: string): XMLDocument {\n if (typeof DOMParser != 'undefined') {\n return new DOMParser().parseFromString(xml, 'text/xml');\n } else if (typeof ActiveXObject != 'undefined' && new ActiveXObject('Microsoft.XMLDOM')) {\n var xmlDoc = new ActiveXObject('Microsoft.XMLDOM');\n xmlDoc.async = 'false';\n xmlDoc.loadXML(xml);\n return xmlDoc;\n } else {\n throw new Error('No XML parser found');\n }\n }\n\n static copyObject(target: T, src: T) {\n _.each(_.keys(src), key => {\n if (typeof src[key] !== 'object' || !src[key]) {\n target[key] = src[key];\n } else if (!target[key]) {\n target[key] = src[key];\n } else {\n this.copyObject(target[key], src[key]);\n }\n });\n }\n\n static copyObjectAttributes(target: T, src: T, attributes: string[]) {\n _.each(_.keys(src), key => {\n if (_.contains(attributes, key)) {\n if (typeof src[key] !== 'object' || !src[key]) {\n target[key] = src[key];\n } else if (!target[key]) {\n target[key] = src[key];\n } else {\n this.copyObject(target[key], src[key]);\n }\n }\n });\n }\n\n static concatWithoutDuplicate(firstArray: any[], secondArray: any[]) {\n let diff = _.difference(secondArray, firstArray);\n if (diff && diff.length > 0) {\n firstArray = firstArray.concat(diff);\n }\n return firstArray;\n }\n\n static differenceBetweenObjects(firstObject: IStringMap, secondObject: IStringMap) {\n const difference: IStringMap = {};\n\n const addDiff = (first: IStringMap, second: IStringMap) => {\n for (const key in first) {\n if (first[key] !== second[key] && difference[key] == null) {\n difference[key] = first[key];\n }\n }\n };\n\n addDiff(firstObject, secondObject);\n addDiff(secondObject, firstObject);\n return difference;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/Utils.ts","import { Logger } from '../misc/Logger';\nimport { Utils } from '../utils/Utils';\nimport * as _ from 'underscore';\n\nexport class Assert {\n private static logger = new Logger('Assert');\n\n static failureHandler = (message?: string) => {\n Assert.logger.error('Assertion Failed!', message);\n\n if (window['console'] && console.trace) {\n console.trace();\n }\n\n if (Utils.isNonEmptyString(message)) {\n throw new PreconditionFailedException(message);\n } else {\n throw new PreconditionFailedException('Assertion Failed!');\n }\n };\n\n static fail(message?: string) {\n Assert.failureHandler(message);\n }\n\n static check(condition: boolean, message?: string) {\n if (!condition) {\n Assert.fail(message);\n }\n }\n\n static isUndefined(obj: any) {\n Assert.check(Utils.isUndefined(obj), 'Value should be undefined.');\n }\n\n static isNotUndefined(obj: any) {\n Assert.check(!Utils.isUndefined(obj), 'Value should not be undefined.');\n }\n\n static isNull(obj: any) {\n Assert.check(Utils.isNull(obj), 'Value should be null.');\n }\n\n static isNotNull(obj: any) {\n Assert.check(!Utils.isNull(obj), 'Value should not be null.');\n }\n\n static exists(obj: any) {\n Assert.check(!Utils.isNullOrUndefined(obj), 'Value should not be null or undefined');\n }\n\n static doesNotExists(obj: any) {\n Assert.check(Utils.isNullOrUndefined(obj), 'Value should be null or undefined');\n }\n\n static isString(obj: any) {\n Assert.check(_.isString(obj), 'Value should be a string.');\n }\n\n static stringStartsWith(str: string, start: string) {\n Assert.isNonEmptyString(str);\n Assert.isNonEmptyString(start);\n Assert.check(str.indexOf(start) == 0, 'Value should start with ' + start);\n }\n\n static isNonEmptyString(str: string) {\n Assert.check(Utils.isNonEmptyString(str), 'Value should be a non-empty string.');\n }\n\n static isNumber(obj: any) {\n Assert.check(_.isNumber(obj), 'Value should be a number.');\n }\n\n static isLargerThan(expected: number, actual: number) {\n Assert.check(actual > expected, 'Value ' + actual + ' should be larger than ' + expected);\n }\n\n static isLargerOrEqualsThan(expected: number, actual: number) {\n Assert.check(actual >= expected, 'Value ' + actual + ' should be larger or equal than ' + expected);\n }\n\n static isSmallerThan(expected: number, actual: number) {\n Assert.check(actual < expected, 'Value ' + actual + ' should be smaller than ' + expected);\n }\n\n static isSmallerOrEqualsThan(expected: number, actual: number) {\n Assert.check(actual <= expected, 'Value ' + actual + ' should be smaller or equal than ' + expected);\n }\n}\n\nexport class PreconditionFailedException extends Error {\n constructor(public message: string) {\n super(message);\n }\n\n toString() {\n return this.message;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/misc/Assert.ts","import { Assert } from '../../misc/Assert';\nimport { IQueryResult } from '../../rest/QueryResult';\nimport { Utils } from '../../utils/Utils';\nimport { JQueryUtils } from '../../utils/JQueryutils';\nimport { $$, Dom } from '../../utils/Dom';\nimport { QueryStateModel } from '../../models/QueryStateModel';\nimport { ComponentStateModel } from '../../models/ComponentStateModel';\nimport { ComponentOptionsModel } from '../../models/ComponentOptionsModel';\nimport { QueryController } from '../../controllers/QueryController';\nimport { SearchInterface } from '../../ui/SearchInterface/SearchInterface';\nimport { IAnalyticsClient } from '../../ui/Analytics/AnalyticsClient';\nimport { NoopAnalyticsClient } from '../../ui/Analytics/NoopAnalyticsClient';\nimport { BaseComponent } from './BaseComponent';\nimport { IComponentBindings } from './ComponentBindings';\nimport { DebugEvents } from '../../events/DebugEvents';\nimport * as _ from 'underscore';\nimport { Model } from '../../models/Model';\n\n/**\n * Definition for a Component.\n */\nexport interface IComponentDefinition {\n /**\n * The static ID that each component need to be identified.
\n * For example, SearchButton -> static ID : SearchButton -> className : CoveoSearchButton\n */\n ID: string;\n aliases?: string[];\n /**\n * The generated `className` for this component.
\n * For example, SearchButton -> static ID : SearchButton -> className : CoveoSearchButton\n */\n className?: string;\n /**\n * Function that can be called to export one or multiple module in the global scope.\n */\n doExport?: () => void;\n /**\n * Constructor for each component\n * @param element The HTMLElement on which the component will instantiate.\n * @param options The available options for the component.\n * @param bindings The bindings (or environment) for the component.For exemple, the {@link QueryController} or {@link SearchInterface}. Optional, if not provided, the component will resolve those automatically. This has a cost on performance, though, since it has to traverses it's parents to find the correct elements.\n * @param args Optional arguments, depending on the component type. For example, ResultComponent will receive the result there.\n */\n new (element: HTMLElement, options: any, bindings: IComponentBindings, ...args: any[]): Component;\n /**\n * The available options for the component.\n */\n options?: any;\n /**\n * The optional parent of the component, which will be a component itself.\n */\n parent?: IComponentDefinition;\n /**\n * The optional index fields that the component possess or display.\n */\n fields?: string[];\n}\n\n/**\n * The base class for every component in the framework.\n */\nexport class Component extends BaseComponent {\n /**\n * Allows the component to bind events and execute them only when it is enabled.\n * @type {Coveo.ComponentEvents}\n */\n public bind = new ComponentEvents(this);\n /**\n * A reference to the root HTMLElement (the {@link SearchInterface}).\n */\n public root: HTMLElement;\n /**\n * Contains the state of the query. Allows to get/set values. Trigger query state event when modified. Each component can listen to those events.\n */\n public queryStateModel: QueryStateModel;\n /**\n * Contains the state of different component (enabled vs disabled). Allows to get/set values. Trigger component state event when modified. Each component can listen to those events.\n */\n public componentStateModel: ComponentStateModel;\n /**\n * Contains the singleton that allows to trigger queries.\n */\n public queryController: QueryController;\n /**\n * A reference to the root of every component, the {@link SearchInterface}.\n */\n public searchInterface: SearchInterface;\n /**\n * A reference to the {@link Analytics.client}.\n */\n public usageAnalytics: IAnalyticsClient;\n /**\n * Contains the state of options for differents component. Mainly used by {@link ResultLink}.\n */\n public componentOptionsModel: ComponentOptionsModel;\n public ensureDom: Function;\n public options?: any;\n\n /**\n * Create a new Component. Resolve all {@link IComponentBindings} if not provided.
\n * Create a new Logger for this component.\n * Attach the component to the {@link SearchInterface}.
\n * @param element The HTMLElement on which to create the component. Used to bind data on the element.\n * @param type The unique identifier for this component. See : {@link IComponentDefinition.ID}. Used to generate the unique Coveo CSS class associated with every component.\n * @param bindings The environment for every component. Optional, but omitting to provide one will impact performance.\n */\n constructor(public element: HTMLElement, public type: string, bindings: IComponentBindings = {}) {\n super(element, type);\n this.root = bindings.root || this.resolveRoot();\n this.queryStateModel = bindings.queryStateModel || this.resolveQueryStateModel();\n this.componentStateModel = bindings.componentStateModel || this.resolveComponentStateModel();\n this.queryController = bindings.queryController || this.resolveQueryController();\n this.searchInterface = bindings.searchInterface || this.resolveSearchInterface();\n this.usageAnalytics = bindings.usageAnalytics || this.resolveUA();\n this.componentOptionsModel = bindings.componentOptionsModel || this.resolveComponentOptionsModel();\n this.ensureDom = _.once(() => this.createDom());\n\n if (this.searchInterface != null) {\n this.searchInterface.attachComponent(type, this);\n }\n\n this.initDebugInfo();\n }\n\n /**\n * Return the bindings, or environment, for the current component.\n * @returns {IComponentBindings}\n */\n public getBindings(): IComponentBindings {\n return {\n root: this.root,\n queryStateModel: this.queryStateModel,\n queryController: this.queryController,\n searchInterface: this.searchInterface,\n componentStateModel: this.componentStateModel,\n componentOptionsModel: this.componentOptionsModel,\n usageAnalytics: this.usageAnalytics\n };\n }\n\n public createDom() {\n // By default we do nothing\n }\n\n public resolveSearchInterface(): SearchInterface {\n return Component.resolveBinding(this.element, SearchInterface);\n }\n\n public resolveRoot(): HTMLElement {\n var resolvedSearchInterface = Component.resolveBinding(this.element, SearchInterface);\n return resolvedSearchInterface ? resolvedSearchInterface.element : undefined;\n }\n\n public resolveQueryController(): QueryController {\n return Component.resolveBinding(this.element, QueryController);\n }\n\n public resolveComponentStateModel(): ComponentStateModel {\n return Component.resolveBinding(this.element, ComponentStateModel);\n }\n\n public resolveQueryStateModel(): QueryStateModel {\n return Component.resolveBinding(this.element, QueryStateModel);\n }\n\n public resolveComponentOptionsModel(): ComponentOptionsModel {\n return Component.resolveBinding(this.element, ComponentOptionsModel);\n }\n\n public resolveUA(): IAnalyticsClient {\n var searchInterface = this.resolveSearchInterface();\n return searchInterface && searchInterface.usageAnalytics ? searchInterface.usageAnalytics : new NoopAnalyticsClient();\n }\n\n public resolveResult(): IQueryResult {\n return Component.getResult(this.element);\n }\n\n private initDebugInfo() {\n $$(this.element).on('dblclick', (e: MouseEvent) => {\n if (e.altKey) {\n var debugInfo = this.debugInfo();\n if (debugInfo != null) {\n $$(this.root).trigger(DebugEvents.showDebugPanel, this.debugInfo());\n }\n }\n });\n }\n\n /**\n * Get the bound component to the given HTMLElement. Throws an assert if the HTMLElement has no component bound, unless using the noThrow argument.
\n * If there is multiple component bound to the current HTMLElement, you must specify the component class.\n * @param element HTMLElement for which to get the bound component.\n * @param componentClass Optional component class. If the HTMLElement has multiple components bound, you must specify which one you are targeting.\n * @param noThrow Boolean option to tell the method to not throw on error.\n * @returns {Component}\n */\n static get(element: HTMLElement, componentClass?: any, noThrow?: boolean): BaseComponent {\n Assert.exists(element);\n\n if (_.isString(componentClass)) {\n return element[Component.computeCssClassNameForType(componentClass)];\n } else if (Utils.exists(componentClass)) {\n Assert.exists(componentClass.ID);\n return element[Component.computeCssClassNameForType(componentClass.ID)];\n } else {\n // No class specified, but we support returning the bound component\n // if there is exactly one.\n var boundComponents = BaseComponent.getBoundComponentsForElement(element);\n if (!noThrow) {\n Assert.check(\n boundComponents.length <= 1,\n 'More than one component is bound to this element. You need to specify the component type.'\n );\n }\n return boundComponents[0];\n }\n }\n\n static getResult(element: HTMLElement, noThrow: boolean = false): IQueryResult {\n var resultElement = $$(element).closest('.CoveoResult');\n Assert.check(noThrow || resultElement != undefined);\n return resultElement['CoveoResult'];\n }\n\n static bindResultToElement(element: HTMLElement, result: IQueryResult) {\n Assert.exists(element);\n Assert.exists(result);\n $$(element).addClass('CoveoResult');\n element['CoveoResult'] = result;\n let jQuery = JQueryUtils.getJQuery();\n if (jQuery) {\n jQuery(element).data(result);\n }\n }\n\n static resolveBinding(element: HTMLElement, componentClass: any): BaseComponent {\n Assert.exists(element);\n Assert.exists(componentClass);\n Assert.exists(componentClass.ID);\n\n const targetClassName = Component.computeCssClassNameForType(componentClass.ID);\n let found: HTMLElement;\n\n if ($$(element).is('.' + targetClassName)) {\n found = element;\n } else {\n // first, look down\n const findDown = $$(element).findClass(targetClassName);\n\n if (findDown && findDown.length !== 0) {\n found = findDown[0];\n } else {\n const findUp = $$(element).closest(targetClassName);\n\n if (findUp) {\n found = findUp;\n }\n }\n }\n if (found) {\n return found[targetClassName];\n } else {\n return undefined;\n }\n }\n\n static pointElementsToDummyForm(element: HTMLElement) {\n let inputs = $$(element).is('input') ? [element] : [];\n inputs = inputs.concat($$(element).findAll('input'));\n _.each(_.compact(inputs), input => {\n input.setAttribute('form', 'coveo-dummy-form');\n });\n }\n}\n\n/**\n * The `ComponentEvents` class is used by the various Coveo Component to trigger events and bind event handlers. It adds\n * logic to execute handlers or triggers only when a component is \"enabled\", which serves as a way to avoid executing\n * handlers on components that are invisible and inactive in the query.\n *\n * Typically, a component is disabled when it is not active in the current [`Tab`]{@link Tab}. It can also be disabled\n * by external code, however.\n *\n * To manually enable or disable a component, simply use its [`enable`]{@link Component.enable} or\n * [`disable`]{@link Component.disable} method.\n */\nexport class ComponentEvents {\n /**\n * Creates a new `ComponentEvents` instance for a [`Component`]{@link Component}.\n * @param owner The [`Component`]{@link Component} that owns the event handlers and triggers.\n */\n constructor(public owner: Component) {\n Assert.exists(owner);\n }\n\n /**\n * Executes the handler for an event on a target element.\n *\n * Executes only if the component is enabled (see the [`enable`]{@link Component.enable} method).\n * @param el The element from which the event originates.\n * @param event The event for which to register a handler.\n * @param handler The function to execute when the event is triggered.\n */\n public on(el: HTMLElement | Window | Document, event: string, handler: Function);\n public on(el: Dom, event: string, handler: Function);\n public on(arg: any, event: string, handler: Function) {\n if (!JQueryUtils.getJQuery() || !JQueryUtils.isInstanceOfJQuery(arg)) {\n var htmlEl: HTMLElement = arg;\n $$(htmlEl).on(event, this.wrapToCallIfEnabled(handler));\n } else {\n var jq: Dom = arg;\n jq.on(event, this.wrapToCallIfEnabled(handler));\n }\n }\n\n /**\n * Executes the handler for the given event on the given target element.
\n * Execute only if the component is \"enabled\" (see {@link Component.enable}).
\n * Execute the handler only ONE time.\n * @param el The target on which the event will originate.\n * @param event The event for which to register an handler.\n * @param handler The function to execute when the event is triggered.\n */\n public one(el: HTMLElement, event: string, handler: Function);\n public one(el: Dom, event: string, handler: Function);\n public one(arg: any, event: string, handler: Function) {\n if (arg instanceof HTMLElement) {\n var htmlEl: HTMLElement = arg;\n $$(htmlEl).one(event, this.wrapToCallIfEnabled(handler));\n } else {\n var jq: Dom = arg;\n jq.one(event, this.wrapToCallIfEnabled(handler));\n }\n }\n\n /**\n * Bind on the \"root\" of the Component. The root is typically the {@link SearchInterface}.
\n * Bind an event using native javascript code.\n * @param event The event for which to register an handler.\n * @param handler The function to execute when the event is triggered.\n */\n public onRootElement(event: string, handler: (args: T) => any) {\n this.on(this.owner.root, event, handler);\n }\n\n /**\n * Bind on the \"root\" of the Component. The root is typically the {@link SearchInterface}.
\n * Bind an event using native javascript code.\n * The handler will execute only ONE time.\n * @param event The event for which to register an handler.\n * @param handler The function to execute when the event is triggered.\n */\n public oneRootElement(event: string, handler: (args: T) => any) {\n this.one(this.owner.root, event, handler);\n }\n\n /**\n * Bind an event related specially to the query state model.
\n * This will build the correct string event and execute the handler only if the component is activated.\n * @param eventType The event type for which to register an event.\n * @param attribute The attribute for which to register an event.\n * @param handler The handler to execute when the query state event is triggered.\n */\n public onQueryState(eventType: string, attribute?: string, handler?: (args: T) => any) {\n this.onRootElement(this.getQueryStateEventName(eventType, attribute), handler);\n }\n\n /**\n * Bind an event related specially to the component option model.\n * This will build the correct string event and execute the handler only if the component is activated.\n * @param eventType The event type for which to register an event.\n * @param attribute The attribute for which to register an event.\n * @param handler The handler to execute when the query state event is triggered.\n */\n public onComponentOptions(eventType: string, attribute?: string, handler?: (args: T) => any) {\n this.onRootElement(this.getComponentOptionEventName(eventType, attribute), handler);\n }\n\n /**\n * Bind an event related specially to the query state model.
\n * This will build the correct string event and execute the handler only if the component is activated.
\n * Will execute only once.\n * @param eventType The event type for which to register an event.\n * @param attribute The attribute for which to register an event.\n * @param handler The handler to execute when the query state event is triggered.\n */\n public oneQueryState(eventType: string, attribute?: string, handler?: (args: T) => any) {\n this.oneRootElement(this.getQueryStateEventName(eventType, attribute), handler);\n }\n\n /**\n * Trigger an event on the target element, with optional arguments.\n * @param el The target HTMLElement on which to trigger the event.\n * @param event The event to trigger.\n * @param args The optional argument to pass to the handlers.\n */\n public trigger(el: HTMLElement, event: string, args?: Object);\n public trigger(el: Dom, event: string, args?: Object);\n public trigger(arg: any, event: string, args?: Object) {\n this.wrapToCallIfEnabled(() => {\n if (arg instanceof HTMLElement) {\n var htmlEl: HTMLElement = arg;\n $$(htmlEl).trigger(event, args);\n } else {\n var jq: Dom = arg;\n jq.trigger(event, args);\n }\n })(args);\n }\n\n /**\n * Execute the function only if the component is enabled.\n * @param func The function to execute if the component is enabled.\n * @returns {function(...[any]): *}\n */\n private wrapToCallIfEnabled(func: Function) {\n return (...args: any[]) => {\n if (!this.owner.disabled) {\n if (args && args[0] instanceof CustomEvent) {\n if (args[0].detail) {\n args = [args[0].detail];\n }\n } else if (args && JQueryUtils.isInstanceOfJqueryEvent(args[0])) {\n if (args[1] != undefined) {\n args = [args[1]];\n } else {\n args = [];\n }\n }\n return func.apply(this.owner, args);\n }\n };\n }\n\n private getQueryStateEventName(eventType: string, attribute?: string): string {\n return this.getModelEvent(this.owner.queryStateModel, eventType, attribute);\n }\n\n private getComponentOptionEventName(eventType: string, attribute?: string): string {\n return this.getModelEvent(this.owner.componentOptionsModel, eventType, attribute);\n }\n\n private getModelEvent(model: Model, eventType: string, attribute?: string) {\n var evtName;\n if (eventType && attribute) {\n evtName = model.getEventName(eventType + attribute);\n } else {\n evtName = model.getEventName(eventType);\n }\n return evtName;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/Base/Component.ts","import { IFieldDescription } from '../../rest/FieldDescription';\nimport { Assert } from '../../misc/Assert';\nimport { Logger } from '../../misc/Logger';\nimport { $$ } from '../../utils/Dom';\nimport { Utils } from '../../utils/Utils';\nimport { l } from '../../strings/Strings';\nimport * as _ from 'underscore';\nimport { SVGIcons } from '../../utils/SVGIcons';\nimport { IStringMap } from '../../rest/GenericParam';\nimport { IComponentOptionsTemplateOptionArgs, TemplateComponentOptions } from './TemplateComponentOptions';\nimport { Template } from '../Templates/Template';\n\n/**\n * The `IFieldOption` interface declares a type for options that should contain a field to be used in a query.\n *\n * The only constraint this type has over a basic string is that it should start with the `@` character.\n */\nexport interface IFieldOption extends String {}\n\nexport interface IComponentOptionsLoadOption {\n (element: HTMLElement, name: string, option: IComponentOptionsOption): T;\n}\n\n/**\n * The `IComponentOptionsPostProcessing` interface describes a post process function that should allow a component\n * option to further modify its own value once all other options of that component have been built.\n */\nexport interface IComponentOptionsPostProcessing {\n /**\n * Specifies a function that should allow a component option to further modify its own value once all other options\n * of that component have been built.\n * @param value The value originally specified for the option.\n * @param options The options of the component.\n */\n (value: T, options: any): T;\n}\n\nexport interface IComponentOptionsOption extends IComponentOptions {\n type?: ComponentOptionsType;\n load?: IComponentOptionsLoadOption;\n}\n\n/**\n * The `IComponentOptions` interface describes the available parameters when building any kind of component\n * option.\n */\nexport interface IComponentOptions {\n /**\n * Specifies the value the option must take when no other value is explicitly specified.\n */\n defaultValue?: T;\n\n /**\n * Specifies a function that should return the value the option must take when no other value is explicitly specified.\n *\n * @param element The HTMLElement on which the current option is being parsed.\n * @return The default value of the option.\n */\n defaultFunction?: (element: HTMLElement) => T;\n\n /**\n * Specifies whether it is necessary to explicitly specify a value for the option in order for the component to\n * function properly.\n *\n * **Example:**\n *\n * > The [`field`]{@link Facet.options.field} option of the `Facet` component is required, since a facet cannot\n * > function properly without a field.\n */\n required?: boolean;\n\n /**\n * Specifies a function that should allow a component option to further modify its own value once all other options\n * of that component have been built.\n *\n * **Example:**\n *\n * > By default, the [`id`]{@link Facet.options.id} option of the `Facet` component uses a post processing function to\n * > set its value to that of the [`field`]{@link Facet.options.field} option.\n */\n postProcessing?: IComponentOptionsPostProcessing;\n\n /**\n * Specifies a different markup name to use for an option, rather than the standard name (i.e., `data-` followed by\n * the hyphened name of the option).\n *\n * **Note:**\n *\n * > This should only be used for backward compatibility reasons.\n */\n attrName?: string;\n\n /**\n * Specifies an alias, or array of aliases, which can be used instead of the actual option name.\n *\n * **Note:**\n *\n * > This can be useful to modify an option name without introducing a breaking change.\n */\n alias?: string | string[];\n\n /**\n * Specifies a section name inside which the option should appear in the Coveo JavaScript Interface Editor.\n */\n section?: string;\n\n /**\n * Specifies the name of a boolean component option which must be `true` in order for this option to function\n * properly.\n *\n * **Note:**\n *\n * > This is mostly useful for the Coveo JavaScript Interface Editor.\n */\n depend?: string;\n priority?: number;\n\n /**\n * Specifies a message that labels the option as deprecated. This message appears in the console upon initialization\n * if the deprecated option is used in the page. Consequently, this message should explain as clearly as possible why\n * the option is deprecated, and what now replaces it.\n *\n * **Note:**\n *\n * > Deprecated options do not appear in the Coveo JavaScript Interface Editor.\n */\n deprecated?: string;\n\n /**\n * Specifies a function that should indicate whether the option value is valid.\n *\n * @param value The option value to validate.\n * @returns `true` if the option value is valid; `false` otherwise.\n */\n validator?: (value: T) => boolean;\n}\n\nexport interface IComponentOptionsNumberOption extends IComponentOptionsOption, IComponentOptionsNumberOptionArgs {}\n\n/**\n * The `IComponentOptionsNumberOptionArgs` interface describes the available parameters when building a\n * [number option]{@link ComponentOptions.buildNumberOption).\n */\nexport interface IComponentOptionsNumberOptionArgs extends IComponentOptions {\n /**\n * Specifies the exclusive minimum value the option can take.\n *\n * Configuring the option using a value strictly less than this minimum displays a warning message in the console and\n * automatically sets the option to its minimum value.\n */\n min?: number;\n\n /**\n * Specifies the exclusive maximum value the option can take.\n *\n * Configuring the option using a value strictly greater than this maximum displays a warning message in the console\n * and automatically sets the option to its maximum value.\n */\n max?: number;\n\n /**\n * Specifies whether the value of this option is a floating point number.\n */\n float?: boolean;\n}\n\nexport interface IComponentOptionsListOption extends IComponentOptionsOption, IComponentOptionsListOptionArgs {}\n\n/**\n * The `IComponentOptionsListOptionArgs` interface describes the available parameters when building a\n * [list option]{@link ComponentOptions.buildListOption).\n */\nexport interface IComponentOptionsListOptionArgs extends IComponentOptions {\n /**\n * Specifies the regular expression to use to separate the elements of the list option.\n *\n * Default value is a regular expression that inserts a comma character (`,`) between each word.\n */\n separator?: RegExp;\n\n /**\n * Specifies the possible values the list option elements can take.\n */\n values?: any;\n}\n\nexport interface IComponentOptionsCustomListOptionArgs extends IComponentOptions {\n separator?: RegExp;\n values?: any;\n}\n\nexport interface IComponentOptionsChildHtmlElementOption\n extends IComponentOptionsOption,\n IComponentOptionsChildHtmlElementOptionArgs {}\n\nexport interface IComponentOptionsChildHtmlElementOptionArgs extends IComponentOptions {\n selectorAttr?: string;\n childSelector?: string;\n}\n\n/**\n * The `IComponentOptionsTemplateOptionArgs` interface describes the available parameters when building a\n * [template option]{@link ComponentOptions.buildTemplateOption}.\n */\n\nexport interface IComponentOptionsFieldOption extends IComponentOptionsOption, IComponentOptionsFieldOptionArgs {}\n\n/**\n * The `IComponentOptionsFieldOptionArgs` interface describes the available parameters when building a\n * [field option]{@link ComponentOptions.buildFieldOption}.\n */\nexport interface IComponentOptionsFieldOptionArgs extends IComponentOptions {\n groupByField?: boolean;\n includeInResults?: boolean;\n sortByField?: boolean;\n splitGroupByField?: boolean;\n match?: (field: IFieldDescription) => boolean;\n}\n\nexport interface IComponentOptionsFieldsOption extends IComponentOptionsOption, IComponentOptionsFieldsOptionArgs {}\n\n/**\n * The `IComponentOptionsFieldsOptionArgs` interface describes the available parameters when building a\n * [fields option]{@link ComponentOptions.buildFieldsOption}.\n */\nexport interface IComponentOptionsFieldsOptionArgs extends IComponentOptions {\n groupByField?: boolean;\n includeInResults?: boolean;\n sortByField?: boolean;\n splitGroupByField?: boolean;\n match?: (field: IFieldDescription) => boolean;\n}\n\nexport interface IComponentOptionsObjectOption extends IComponentOptionsOption<{ [key: string]: any }>, IComponentOptionsObjectOptionArgs {}\nexport interface IComponentOptionsObjectOptionArgs extends IComponentOptions<{ [key: string]: any }> {\n subOptions: { [key: string]: IComponentOptionsOption };\n}\n\nexport interface IComponentJsonObjectOption extends IComponentOptions {}\n\nexport enum ComponentOptionsType {\n BOOLEAN,\n NUMBER,\n STRING,\n LOCALIZED_STRING,\n LIST,\n SELECTOR,\n CHILD_HTML_ELEMENT,\n TEMPLATE,\n FIELD,\n FIELDS,\n ICON,\n COLOR,\n OBJECT,\n QUERY,\n HELPER,\n LONG_STRING,\n JSON,\n JAVASCRIPT,\n NONE\n}\n\nconst camelCaseToHyphenRegex = /([A-Z])|\\W+(\\w)/g;\nconst fieldsSeperator = /\\s*,\\s*/;\nconst localizer = /([a-zA-Z\\-]+)\\s*:\\s*(([^,]|,\\s*(?!([a-zA-Z\\-]+)\\s*:))+)/g;\n\n/**\n * The `ComponentOptions` static class contains methods allowing the Coveo JavaScript Search Framework to initialize\n * component options.\n *\n * Typically, each [`Component`]{@link Component} that exposes a set of options contains a static `options` property.\n *\n * This property \"builds\" each option using the `ComponentOptions` method corresponding to its type (e.g.,\n * [`buildBooleanOption`]{@link ComponentOptions.buildBooleanOption},\n * [`buildFieldOption`]{@link ComponentOptions.buildFieldOption},\n * [`buildStringOption`]{@link ComponentOptions.buildStringOption}, etc.)\n */\nexport class ComponentOptions {\n static buildTemplateOption(optionArgs?: IComponentOptionsTemplateOptionArgs): Template {\n return TemplateComponentOptions.buildTemplateOption(optionArgs);\n }\n\n /**\n * Builds a boolean option.\n *\n * **Markup Examples:**\n *\n * > `data-foo=\"true\"`\n *\n * > `data-foo=\"false\"`\n *\n * @param optionArgs The arguments to apply when building the option.\n * @returns {boolean} The resulting option value.\n */\n static buildBooleanOption(optionArgs?: IComponentOptions): boolean {\n return ComponentOptions.buildOption(ComponentOptionsType.BOOLEAN, ComponentOptions.loadBooleanOption, optionArgs);\n }\n\n /**\n * Builds a number option.\n *\n * A number option can be an integer or a float in the markup.\n *\n * **Note:**\n *\n * > To build a float option, you need to set the `float` property in the [`IComponentOptionsNumberOptionArgs`]{@link IComponentOptionsNumberOptionArgs} to `true`.\n *\n * **Markup Examples:**\n *\n * > `data-foo=\"3\"`\n *\n * > `data-foo=\"1.5\"`\n *\n * @param optionArgs The arguments to apply when building the option.\n * @returns {number} The resulting option value.\n */\n static buildNumberOption(optionArgs?: IComponentOptionsNumberOptionArgs): number {\n return ComponentOptions.buildOption(ComponentOptionsType.NUMBER, ComponentOptions.loadNumberOption, optionArgs);\n }\n\n /**\n * Builds a string option.\n *\n * A string option can be any arbitrary string in the markup.\n *\n * **Markup Example:**\n *\n * > `data-foo=\"bar\"`\n *\n * @param optionArgs The arguments to apply when building the option.\n * @returns {string} The resulting option value.\n */\n static buildStringOption(optionArgs?: IComponentOptions): string {\n return ComponentOptions.buildOption(ComponentOptionsType.STRING, ComponentOptions.loadStringOption, optionArgs);\n }\n\n /**\n * Builds an icon option.\n *\n * This takes an SVG icon name, validates it and returns the name of the icon.\n * **Markup Examples:**\n *\n * > `data-foo=\"search\"`\n *\n * > `data-foo=\"facet-expand\"`\n *\n * @param optionArgs The arguments to apply when building the option.\n * @returns {string} The resulting option value.\n */\n static buildIconOption(optionArgs?: IComponentOptions): string {\n return ComponentOptions.buildOption(ComponentOptionsType.ICON, ComponentOptions.loadIconOption, optionArgs);\n }\n\n /**\n * Builds a color option.\n *\n * Normally, this simply builds a string that matches a CSS color.\n *\n * **Note:**\n *\n * > In the markup, this offers no advantage over using a plain string. This is mostly useful for the Coveo JavaScript\n * > Interface Editor.\n *\n * **Markup Examples:**\n *\n * > `data-foo=\"coveo-sprites-user\"`\n *\n * > `data-foo=\"coveo-sprites-database\"`\n *\n * @param optionArgs The arguments to apply when building the option.\n * @returns {string} The resulting option value.\n */\n static buildColorOption(optionArgs?: IComponentOptions): string {\n return ComponentOptions.buildOption(ComponentOptionsType.COLOR, ComponentOptions.loadStringOption, optionArgs);\n }\n\n /**\n * Builds a helper option.\n *\n * Normally, this simply builds a string that matches the name of a template helper.\n *\n * **Note:**\n *\n * > In the markup, this offers no advantage over using a plain string. This is mostly useful for the Coveo JavaScript\n * > Interface Editor.\n *\n * **Markup Examples:**\n *\n * > `data-foo=\"date\"`\n *\n * > `data-foo=\"dateTime\"`\n *\n * @param optionArgs The arguments to apply when building the option.\n * @returns {string} The resulting option value.\n */\n static buildHelperOption(optionArgs?: IComponentOptions): string {\n return ComponentOptions.buildOption(ComponentOptionsType.HELPER, ComponentOptions.loadStringOption, optionArgs);\n }\n\n /**\n * Tries to parse a stringified JSON option.\n *\n * If unsuccessful (because of invalid syntax), the JSON option is ignored altogether, and the console displays a warning message.\n *\n * **Markup Example:**\n *\n * > `data-foo='{\"bar\" : \"baz\"}'`\n *\n * **Note:**\n *\n * A JSON option can always be set as a property in the `init` call of the framework rather than as a `data-` property in the corresponding HTMLElement markup.\n *\n * **Initialization Example:**\n *\n * ```\n * Coveo.init(root, {\n * Facet : {\n * foo : {\n * \"bar\" : \"baz\"\n * }\n * }\n * })\n * ```\n * @param optionArgs The arguments to apply when building the option.\n * @returns {T} The resulting option value.\n */\n static buildJsonOption>(optionArgs?: IComponentJsonObjectOption): T {\n return ComponentOptions.buildOption(ComponentOptionsType.JSON, ComponentOptions.loadJsonObjectOption, optionArgs) as T;\n }\n\n /**\n * @deprecated Use buildJsonOption instead\n */\n static buildJsonObjectOption(optionArgs?: IComponentJsonObjectOption): T {\n return ComponentOptions.buildJsonOption(optionArgs);\n }\n\n /**\n * Builds a localized string option.\n *\n * A localized string option can be any arbitrary string.\n *\n * When parsing the value, the Coveo JavaScript Search Framework tries to load the localization for that string, if it\n * is available.\n *\n * If it is not available, it returns the non-localized value.\n *\n * This should be used for options that will be rendered directly to the end users.\n *\n * **Markup Example:**\n *\n * > `data-foo=\"bar\"`\n *\n * @param optionArgs The arguments to apply when building the option.\n * @returns {string} The resulting option value.\n */\n static buildLocalizedStringOption(optionArgs?: IComponentOptions): string {\n return ComponentOptions.buildOption(\n ComponentOptionsType.LOCALIZED_STRING,\n ComponentOptions.loadLocalizedStringOption,\n optionArgs\n );\n }\n\n /**\n * Builds a field option.\n *\n * A field option validates whether the field has a valid name. This means that the string must start with the `@`\n * character.\n *\n * **Markup Example:**\n *\n * > `data-foo=\"@bar\"`\n *\n * @param optionArgs The arguments to apply when building the option.\n * @returns {string} The resulting option value.\n */\n static buildFieldOption(optionArgs?: IComponentOptionsFieldOptionArgs): IFieldOption {\n return ComponentOptions.buildOption(ComponentOptionsType.FIELD, ComponentOptions.loadFieldOption, optionArgs);\n }\n\n /**\n * Builds an array of fields option.\n *\n * As with all options that expect an array, you should use commas to delimit the different values.\n *\n * **Markup Example:**\n *\n * > `data-foo=\"@bar,@baz\"`\n *\n * @param optionArgs The arguments to apply when building the option.\n * @returns {string[]} The resulting option value.\n */\n static buildFieldsOption(optionArgs?: IComponentOptionsFieldsOptionArgs): IFieldOption[] {\n return ComponentOptions.buildOption(ComponentOptionsType.FIELDS, ComponentOptions.loadFieldsOption, optionArgs);\n }\n\n /**\n * Builds an array of strings option.\n *\n * As with all options that expect an array, you should use commas to delimit the different values.\n *\n * **Markup Example:**\n *\n * > `data-foo=\"bar,baz\"`\n *\n * @param optionArgs The arguments to apply when building the option.\n * @returns {string[]} The resulting option value.\n */\n static buildListOption(optionArgs?: IComponentOptionsListOptionArgs): T[] | string[] {\n return ComponentOptions.buildOption(ComponentOptionsType.LIST, ComponentOptions.loadListOption, optionArgs);\n }\n\n /**\n * Builds an option that allow to select an HTMLElement.\n *\n * The option accepts a CSS selector matching the required HTMLElement. This selector can either be a class, or an ID\n * selector.\n *\n * **Markup Examples:**\n *\n * > `data-foo-selector=\".bar\"`\n *\n * > `data-foo-selector=\"#bar\"`\n *\n * @param optionArgs The arguments to apply when building the option.\n * @returns {HTMLElement} The resulting option value.\n */\n static buildSelectorOption(optionArgs?: IComponentOptions): HTMLElement {\n return ComponentOptions.buildOption(ComponentOptionsType.SELECTOR, ComponentOptions.loadSelectorOption, optionArgs);\n }\n\n static buildChildHtmlElementOption(optionArgs?: IComponentOptionsChildHtmlElementOptionArgs): HTMLElement {\n return ComponentOptions.buildOption(\n ComponentOptionsType.CHILD_HTML_ELEMENT,\n ComponentOptions.loadChildHtmlElementOption,\n optionArgs\n );\n }\n\n static buildCustomOption(converter: (value: string) => T, optionArgs?: IComponentOptions): T {\n const loadOption: IComponentOptionsLoadOption = (element: HTMLElement, name: string, option: IComponentOptionsOption) => {\n const stringvalue = ComponentOptions.loadStringOption(element, name, option);\n if (!Utils.isNullOrEmptyString(stringvalue)) {\n return converter(stringvalue);\n }\n };\n return ComponentOptions.buildOption(ComponentOptionsType.STRING, loadOption, optionArgs);\n }\n\n static buildCustomListOption(converter: (value: string[]) => T, optionArgs?: IComponentOptionsCustomListOptionArgs): T {\n const loadOption: IComponentOptionsLoadOption = (element: HTMLElement, name: string, option: any) => {\n const stringvalue = ComponentOptions.loadListOption(element, name, option);\n return converter(stringvalue);\n };\n return ComponentOptions.buildOption(ComponentOptionsType.LIST, loadOption, optionArgs);\n }\n\n static buildObjectOption(optionArgs?: IComponentOptionsObjectOptionArgs): any {\n const loadOption: IComponentOptionsLoadOption<{\n [key: string]: any;\n }> = (element: HTMLElement, name: string, option: IComponentOptionsOption) => {\n const keys = _.keys(optionArgs.subOptions);\n const scopedOptions: {\n [name: string]: IComponentOptionsOption;\n } = {};\n const scopedValues: {\n [name: string]: any;\n } = {};\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const scopedkey = ComponentOptions.mergeCamelCase(name, key);\n scopedOptions[scopedkey] = optionArgs.subOptions[key];\n }\n ComponentOptions.initOptions(element, scopedOptions, scopedValues);\n const resultValues: {\n [name: string]: any;\n } = {};\n let resultFound = false;\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const scopedkey = ComponentOptions.mergeCamelCase(name, key);\n if (scopedValues[scopedkey] != null) {\n resultValues[key] = scopedValues[scopedkey];\n resultFound = true;\n }\n }\n return resultFound ? resultValues : null;\n };\n return ComponentOptions.buildOption<{\n [key: string]: any;\n }>(ComponentOptionsType.OBJECT, loadOption, optionArgs);\n }\n\n static buildOption(type: ComponentOptionsType, load: IComponentOptionsLoadOption, optionArg: IComponentOptions = {}): T {\n const option: IComponentOptionsOption = optionArg;\n option.type = type;\n option.load = load;\n return option;\n }\n\n static attrNameFromName(name: string, optionArgs?: IComponentOptions) {\n if (optionArgs && optionArgs.attrName) {\n return optionArgs.attrName;\n }\n if (name) {\n return 'data-' + ComponentOptions.camelCaseToHyphen(name);\n }\n return name;\n }\n\n static camelCaseToHyphen(name: string) {\n return name.replace(camelCaseToHyphenRegex, '-$1$2').toLowerCase();\n }\n\n static mergeCamelCase(parent: string, name: string) {\n return parent + name.substr(0, 1).toUpperCase() + name.substr(1);\n }\n\n /**\n * Loads and parses the options of the current element.\n *\n * Each component calls this method in its constructor.\n *\n * @param element The element whose markup options the method should load and parse.\n * @param component The class of the component whose options the method should load and parse (e.g., `Searchbox`,\n * `Facet`, etc.)\n * @param values The additional options which the method should merge with the specified markup option values.\n */\n static initComponentOptions(element: HTMLElement, component: any, values?: any) {\n return ComponentOptions.initOptions(element, component.options, values, component.ID);\n }\n\n static initOptions(\n element: HTMLElement,\n options: {\n [name: string]: IComponentOptionsOption;\n },\n values?: any,\n componentID?: any\n ) {\n const logger = new Logger(this);\n if (values == null) {\n values = {};\n }\n const names: string[] = _.keys(options);\n for (let i = 0; i < names.length; i++) {\n const name = names[i];\n const optionDefinition = options[name];\n let value: any;\n const loadFromAttribute = optionDefinition.load;\n\n if (loadFromAttribute != null) {\n value = loadFromAttribute(element, name, optionDefinition);\n if (value && optionDefinition.deprecated) {\n logger.warn(componentID + '.' + name + ': ' + optionDefinition.deprecated);\n }\n }\n\n if (Utils.isNullOrUndefined(value) && values[name] != undefined) {\n value = values[name];\n }\n\n if (value == null && values[name] == undefined) {\n if (optionDefinition.defaultValue != null) {\n if (optionDefinition.type == ComponentOptionsType.LIST) {\n value = _.extend([], optionDefinition.defaultValue);\n } else if (optionDefinition.type == ComponentOptionsType.OBJECT) {\n value = _.extend({}, optionDefinition.defaultValue);\n } else {\n value = optionDefinition.defaultValue;\n }\n } else if (optionDefinition.defaultFunction != null) {\n value = optionDefinition.defaultFunction(element);\n }\n }\n if (value != null) {\n if (optionDefinition.validator) {\n const isValid = optionDefinition.validator(value);\n if (!isValid) {\n logger.warn(`${componentID} .${name} has invalid value: ${value}`);\n if (optionDefinition.required) {\n logger.error(`${componentID} .${name} is required and has an invalid value: ${value}. ***THIS COMPONENT WILL NOT WORK***`);\n }\n delete values[name];\n continue;\n }\n }\n if (optionDefinition.type == ComponentOptionsType.OBJECT && values[name] != null) {\n values[name] = _.extend(values[name], value);\n } else if (optionDefinition.type == ComponentOptionsType.LOCALIZED_STRING) {\n values[name] = l(value);\n } else {\n values[name] = value;\n }\n }\n if (values[name] == undefined && optionDefinition.required) {\n logger.warn(\n `Option \"${name}\" is *REQUIRED* on the component \"${componentID}\". The component or the search page might *NOT WORK PROPERLY*.`,\n element\n );\n }\n }\n\n for (let i = 0; i < names.length; i++) {\n const name = names[i];\n const optionDefinition = options[name];\n if (optionDefinition.postProcessing) {\n values[name] = optionDefinition.postProcessing(values[name], values);\n }\n }\n return values;\n }\n\n static loadStringOption(element: HTMLElement, name: string, option: IComponentOptions): string {\n return element.getAttribute(ComponentOptions.attrNameFromName(name, option)) || ComponentOptions.getAttributeFromAlias(element, option);\n }\n\n static loadIconOption(element: HTMLElement, name: string, option: IComponentOptions): string {\n let svgIconName = ComponentOptions.loadStringOption(element, name, option);\n if (svgIconName == null) {\n return null;\n }\n\n // Old card templates icons used these values as the icon option. These names have changed since we moved to SVG.\n // This avoids breaking old default templates that people may still have after moving to 2.0.\n svgIconName = svgIconName.replace('coveo-sprites-replies', 'replies');\n svgIconName = svgIconName.replace('coveo-sprites-main-search-active', 'search');\n\n if (Utils.isNullOrUndefined(SVGIcons.icons[svgIconName])) {\n new Logger(element).warn(`Icon with name ${svgIconName} not found.`);\n return null;\n }\n\n svgIconName = Utils.toCamelCase(svgIconName);\n return svgIconName;\n }\n\n static loadFieldOption(element: HTMLElement, name: string, option: IComponentOptionsOption): string {\n const field = ComponentOptions.loadStringOption(element, name, option);\n Assert.check(!Utils.isNonEmptyString(field) || Utils.isCoveoField(field), field + ' is not a valid field');\n return field;\n }\n\n static loadFieldsOption(element: HTMLElement, name: string, option: IComponentOptionsOption): string[] {\n const fieldsAttr = ComponentOptions.loadStringOption(element, name, option);\n if (fieldsAttr == null) {\n return null;\n }\n const fields = fieldsAttr.split(fieldsSeperator);\n _.each(fields, (field: string) => {\n Assert.check(Utils.isCoveoField(field), field + ' is not a valid field');\n });\n return fields;\n }\n\n static loadLocalizedStringOption(element: HTMLElement, name: string, option: IComponentOptionsOption): string {\n const attributeValue = ComponentOptions.loadStringOption(element, name, option);\n const locale: string = String['locale'] || String['defaultLocale'];\n if (locale != null && attributeValue != null) {\n const localeParts = locale.toLowerCase().split('-');\n const locales = _.map(localeParts, (part, i) => localeParts.slice(0, i + 1).join('-'));\n const localizers = attributeValue.match(localizer);\n if (localizers != null) {\n for (let i = 0; i < localizers.length; i++) {\n const groups = localizer.exec(localizers[i]);\n if (groups != null) {\n const lang = groups[1].toLowerCase();\n if (_.contains(locales, lang)) {\n return groups[2].replace(/^\\s+|\\s+$/g, '');\n }\n }\n }\n }\n return attributeValue != null ? attributeValue.toLocaleString() : null;\n }\n return attributeValue;\n }\n\n static loadNumberOption(element: HTMLElement, name: string, option: IComponentOptionsNumberOption): number {\n const attributeValue = ComponentOptions.loadStringOption(element, name, option);\n if (attributeValue == null) {\n return null;\n }\n let numberValue = option.float === true ? Utils.parseFloatIfNotUndefined(attributeValue) : Utils.parseIntIfNotUndefined(attributeValue);\n if (option.min != null && option.min > numberValue) {\n new Logger(element).info(\n `Value for option ${name} is less than the possible minimum (Value is ${numberValue}, minimum is ${\n option.min\n }). It has been forced to its minimum value.`,\n option\n );\n numberValue = option.min;\n }\n if (option.max != null && option.max < numberValue) {\n new Logger(element).info(\n `Value for option ${name} is higher than the possible maximum (Value is ${numberValue}, maximum is ${\n option.max\n }). It has been forced to its maximum value.`,\n option\n );\n numberValue = option.max;\n }\n return numberValue;\n }\n\n static loadBooleanOption(element: HTMLElement, name: string, option: IComponentOptionsOption): boolean {\n return Utils.parseBooleanIfNotUndefined(ComponentOptions.loadStringOption(element, name, option));\n }\n\n static loadListOption(element: HTMLElement, name: string, option: IComponentOptionsListOption): string[] {\n const separator = option.separator || /\\s*,\\s*/;\n const attributeValue = ComponentOptions.loadStringOption(element, name, option);\n return Utils.isNonEmptyString(attributeValue) ? attributeValue.split(separator) : null;\n }\n\n static loadEnumOption(element: HTMLElement, name: string, option: IComponentOptionsOption, _enum: any): number {\n const enumAsString = ComponentOptions.loadStringOption(element, name, option);\n return enumAsString != null ? _enum[enumAsString] : null;\n }\n\n static loadJsonObjectOption(element: HTMLElement, name: string, option: IComponentOptions): T {\n const jsonAsString = ComponentOptions.loadStringOption(element, name, option);\n if (jsonAsString == null) {\n return null;\n }\n try {\n return JSON.parse(jsonAsString) as T;\n } catch (exception) {\n new Logger(element).info(\n `Value for option ${name} is not a valid JSON string (Value is ${jsonAsString}). It has been disabled.`,\n exception\n );\n return null;\n }\n }\n\n static loadSelectorOption(\n element: HTMLElement,\n name: string,\n option: IComponentOptionsOption,\n doc: Document = document\n ): HTMLElement {\n const attributeValue = ComponentOptions.loadStringOption(element, name, option);\n return Utils.isNonEmptyString(attributeValue) ? doc.querySelector(attributeValue) : null;\n }\n\n static loadChildHtmlElementOption(\n element: HTMLElement,\n name: string,\n option: IComponentOptionsChildHtmlElementOption,\n doc: Document = document\n ): HTMLElement {\n let htmlElement: HTMLElement;\n // Attribute: selector\n const selectorAttr = option.selectorAttr || ComponentOptions.attrNameFromName(name, option) + '-selector';\n const selector = element.getAttribute(selectorAttr) || ComponentOptions.getAttributeFromAlias(element, option);\n if (selector != null) {\n htmlElement = doc.body.querySelector(selector);\n }\n // Child\n if (htmlElement == null) {\n let childSelector = option.childSelector;\n if (childSelector == null) {\n childSelector = '.' + name;\n }\n htmlElement = ComponentOptions.loadChildHtmlElementFromSelector(element, childSelector);\n }\n return htmlElement;\n }\n\n static loadChildHtmlElementFromSelector(element: HTMLElement, selector: string): HTMLElement {\n Assert.isNonEmptyString(selector);\n if ($$(element).is(selector)) {\n return element;\n }\n return $$(element).find(selector);\n }\n\n static loadChildrenHtmlElementFromSelector(element: HTMLElement, selector: string): HTMLElement[] {\n Assert.isNonEmptyString(selector);\n return $$(element).findAll(selector);\n }\n\n static findParentScrolling(element: HTMLElement, doc: Document = document): HTMLElement {\n while (element != doc && element != null) {\n if (ComponentOptions.isElementScrollable(element)) {\n if (element.tagName.toLowerCase() !== 'body') {\n return element;\n }\n return window;\n }\n element = element.parentElement;\n }\n return window;\n }\n\n static isElementScrollable(element: HTMLElement) {\n return $$(element).css('overflow-y') == 'scroll' || element.style.overflowY == 'scroll';\n }\n\n static getAttributeFromAlias(element: HTMLElement, option: IComponentOptions) {\n if (_.isArray(option.alias)) {\n let attributeFound;\n _.each(option.alias, alias => {\n const attributeFoundWithThisAlias = element.getAttribute(ComponentOptions.attrNameFromName(alias));\n if (attributeFoundWithThisAlias) {\n attributeFound = attributeFoundWithThisAlias;\n }\n });\n return attributeFound;\n }\n if (option.alias) {\n return element.getAttribute(ComponentOptions.attrNameFromName(option.alias));\n } else {\n return undefined;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/Base/ComponentOptions.ts","import { L10N } from '../misc/L10N';\nexport function l(str : \"people\");\nexport function l(str : \"objecttype_people\");\nexport function l(str : \"message\");\nexport function l(str : \"objecttype_message\");\nexport function l(str : \"feed\");\nexport function l(str : \"objecttype_feed\");\nexport function l(str : \"thread\");\nexport function l(str : \"objecttype_thread\");\nexport function l(str : \"file\");\nexport function l(str : \"objecttype_file\");\nexport function l(str : \"board\");\nexport function l(str : \"objecttype_board\");\nexport function l(str : \"category\");\nexport function l(str : \"objecttype_category\");\nexport function l(str : \"account\");\nexport function l(str : \"objecttype_account\");\nexport function l(str : \"annotation\");\nexport function l(str : \"objecttype_annotation\");\nexport function l(str : \"campaign\");\nexport function l(str : \"objecttype_campaign\");\nexport function l(str : \"case\");\nexport function l(str : \"objecttype_case\");\nexport function l(str : \"contact\");\nexport function l(str : \"objecttype_contact\");\nexport function l(str : \"contract\");\nexport function l(str : \"objecttype_contract\");\nexport function l(str : \"event\");\nexport function l(str : \"objecttype_event\");\nexport function l(str : \"email\");\nexport function l(str : \"objecttype_email\");\nexport function l(str : \"goal\");\nexport function l(str : \"objecttype_goal\");\nexport function l(str : \"incident\");\nexport function l(str : \"objecttype_incident\");\nexport function l(str : \"invoice\");\nexport function l(str : \"objecttype_invoice\");\nexport function l(str : \"lead\");\nexport function l(str : \"objecttype_lead\");\nexport function l(str : \"list\");\nexport function l(str : \"objecttype_list\");\nexport function l(str : \"solution\");\nexport function l(str : \"objecttype_solution\");\nexport function l(str : \"report\");\nexport function l(str : \"objecttype_report\");\nexport function l(str : \"task\");\nexport function l(str : \"objecttype_task\");\nexport function l(str : \"user\");\nexport function l(str : \"objecttype_user\");\nexport function l(str : \"attachment\");\nexport function l(str : \"objecttype_attachment\");\nexport function l(str : \"casecomment\");\nexport function l(str : \"objecttype_casecomment\");\nexport function l(str : \"opportunity\");\nexport function l(str : \"objecttype_opportunity\");\nexport function l(str : \"opportunityproduct\");\nexport function l(str : \"objecttype_opportunityproduct\");\nexport function l(str : \"feeditem\");\nexport function l(str : \"objecttype_feeditem\");\nexport function l(str : \"feedcomment\");\nexport function l(str : \"objecttype_feedcomment\");\nexport function l(str : \"note\");\nexport function l(str : \"objecttype_note\");\nexport function l(str : \"product\");\nexport function l(str : \"objecttype_product\");\nexport function l(str : \"partner\");\nexport function l(str : \"objecttype_partner\");\nexport function l(str : \"queueitem\");\nexport function l(str : \"objecttype_queueitem\");\nexport function l(str : \"quote\");\nexport function l(str : \"objecttype_quote\");\nexport function l(str : \"salesliterature\");\nexport function l(str : \"objecttype_salesliterature\");\nexport function l(str : \"salesorder\");\nexport function l(str : \"objecttype_salesorder\");\nexport function l(str : \"service\");\nexport function l(str : \"objecttype_service\");\nexport function l(str : \"socialprofile\");\nexport function l(str : \"objecttype_socialprofile\");\nexport function l(str : \"kbdocumentation\");\nexport function l(str : \"objecttype_kbdocumentation\");\nexport function l(str : \"kbtechnicalarticle\");\nexport function l(str : \"objecttype_kbtechnicalarticle\");\nexport function l(str : \"kbsolution\");\nexport function l(str : \"objecttype_kbsolution\");\nexport function l(str : \"kbknowledgearticle\");\nexport function l(str : \"objecttype_kbknowledgearticle\");\nexport function l(str : \"kbattachment\");\nexport function l(str : \"objecttype_kbattachment\");\nexport function l(str : \"kbarticle\");\nexport function l(str : \"objecttype_kbarticle\");\nexport function l(str : \"kbarticlecomment\");\nexport function l(str : \"objecttype_kbarticlecomment\");\nexport function l(str : \"knowledgearticle\");\nexport function l(str : \"objecttype_knowledgearticle\");\nexport function l(str : \"topic\");\nexport function l(str : \"objecttype_topic\");\nexport function l(str : \"dashboard\");\nexport function l(str : \"objecttype_dashboard\");\nexport function l(str : \"contentversion\");\nexport function l(str : \"objecttype_contentversion\");\nexport function l(str : \"collaborationgroup\");\nexport function l(str : \"objecttype_collaborationgroup\");\nexport function l(str : \"phonecall\");\nexport function l(str : \"objecttype_phonecall\");\nexport function l(str : \"appointment\");\nexport function l(str : \"objecttype_appointment\");\nexport function l(str : \"box user\");\nexport function l(str : \"filetype_box user\");\nexport function l(str : \"html\");\nexport function l(str : \"filetype_html\");\nexport function l(str : \"wiki\");\nexport function l(str : \"filetype_wiki\");\nexport function l(str : \"webscraperwebpage\");\nexport function l(str : \"filetype_webscraperwebpage\");\nexport function l(str : \"image\");\nexport function l(str : \"filetype_image\");\nexport function l(str : \"folder\");\nexport function l(str : \"filetype_folder\");\nexport function l(str : \"txt\");\nexport function l(str : \"filetype_txt\");\nexport function l(str : \"zip\");\nexport function l(str : \"filetype_zip\");\nexport function l(str : \"olefile\");\nexport function l(str : \"filetype_olefile\");\nexport function l(str : \"gmailmessage\");\nexport function l(str : \"filetype_gmailmessage\");\nexport function l(str : \"pdf\");\nexport function l(str : \"filetype_pdf\");\nexport function l(str : \"swf\");\nexport function l(str : \"filetype_swf\");\nexport function l(str : \"xml\");\nexport function l(str : \"filetype_xml\");\nexport function l(str : \"vsd\");\nexport function l(str : \"filetype_vsd\");\nexport function l(str : \"svg\");\nexport function l(str : \"filetype_svg\");\nexport function l(str : \"svm\");\nexport function l(str : \"filetype_svm\");\nexport function l(str : \"rssitem\");\nexport function l(str : \"filetype_rssitem\");\nexport function l(str : \"doc\");\nexport function l(str : \"filetype_doc\");\nexport function l(str : \"docx\");\nexport function l(str : \"filetype_docx\");\nexport function l(str : \"xls\");\nexport function l(str : \"filetype_xls\");\nexport function l(str : \"ppt\");\nexport function l(str : \"filetype_ppt\");\nexport function l(str : \"video\");\nexport function l(str : \"filetype_video\");\nexport function l(str : \"youtube\");\nexport function l(str : \"filetype_youtube\");\nexport function l(str : \"saleforceitem\");\nexport function l(str : \"filetype_saleforceitem\");\nexport function l(str : \"dynamicscrmitem\");\nexport function l(str : \"filetype_dynamicscrmitem\");\nexport function l(str : \"salesforceitem\");\nexport function l(str : \"filetype_salesforceitem\");\nexport function l(str : \"odt\");\nexport function l(str : \"filetype_odt\");\nexport function l(str : \"box\");\nexport function l(str : \"filetype_box\");\nexport function l(str : \"jiraissue\");\nexport function l(str : \"filetype_jiraissue\");\nexport function l(str : \"cfpage\");\nexport function l(str : \"filetype_cfpage\");\nexport function l(str : \"cfcomment\");\nexport function l(str : \"filetype_cfcomment\");\nexport function l(str : \"cfspace\");\nexport function l(str : \"filetype_cfspace\");\nexport function l(str : \"cfblogentry\");\nexport function l(str : \"filetype_cfblogentry\");\nexport function l(str : \"confluencespace\");\nexport function l(str : \"filetype_confluencespace\");\nexport function l(str : \"exchangemessage\");\nexport function l(str : \"filetype_exchangemessage\");\nexport function l(str : \"exchangeappointment\");\nexport function l(str : \"filetype_exchangeappointment\");\nexport function l(str : \"exchangenote\");\nexport function l(str : \"filetype_exchangenote\");\nexport function l(str : \"exchangetask\");\nexport function l(str : \"filetype_exchangetask\");\nexport function l(str : \"exchangeperson\");\nexport function l(str : \"filetype_exchangeperson\");\nexport function l(str : \"activedirperson\");\nexport function l(str : \"filetype_activedirperson\");\nexport function l(str : \"exchangeactivity\");\nexport function l(str : \"filetype_exchangeactivity\");\nexport function l(str : \"exchangecalendarmessage\");\nexport function l(str : \"filetype_exchangecalendarmessage\");\nexport function l(str : \"exchangedocument\");\nexport function l(str : \"filetype_exchangedocument\");\nexport function l(str : \"exchangedsn\");\nexport function l(str : \"filetype_exchangedsn\");\nexport function l(str : \"exchangefreebusy\");\nexport function l(str : \"filetype_exchangefreebusy\");\nexport function l(str : \"exchangegroup\");\nexport function l(str : \"filetype_exchangegroup\");\nexport function l(str : \"exchangerssfeed\");\nexport function l(str : \"filetype_exchangerssfeed\");\nexport function l(str : \"exchangejunkmessage\");\nexport function l(str : \"filetype_exchangejunkmessage\");\nexport function l(str : \"exchangeofficecom\");\nexport function l(str : \"filetype_exchangeofficecom\");\nexport function l(str : \"lithiummessage\");\nexport function l(str : \"filetype_lithiummessage\");\nexport function l(str : \"lithiumthread\");\nexport function l(str : \"filetype_lithiumthread\");\nexport function l(str : \"lithiumboard\");\nexport function l(str : \"filetype_lithiumboard\");\nexport function l(str : \"lithiumcategory\");\nexport function l(str : \"filetype_lithiumcategory\");\nexport function l(str : \"lithiumcommunity\");\nexport function l(str : \"filetype_lithiumcommunity\");\nexport function l(str : \"spportal\");\nexport function l(str : \"filetype_spportal\");\nexport function l(str : \"spsite\");\nexport function l(str : \"filetype_spsite\");\nexport function l(str : \"spuserprofile\");\nexport function l(str : \"filetype_spuserprofile\");\nexport function l(str : \"sparea\");\nexport function l(str : \"filetype_sparea\");\nexport function l(str : \"spannouncement\");\nexport function l(str : \"filetype_spannouncement\");\nexport function l(str : \"spannouncementlist\");\nexport function l(str : \"filetype_spannouncementlist\");\nexport function l(str : \"spcontact\");\nexport function l(str : \"filetype_spcontact\");\nexport function l(str : \"spcontactlist\");\nexport function l(str : \"filetype_spcontactlist\");\nexport function l(str : \"spcustomlist\");\nexport function l(str : \"filetype_spcustomlist\");\nexport function l(str : \"spdiscussionboard\");\nexport function l(str : \"filetype_spdiscussionboard\");\nexport function l(str : \"spdiscussionboardlist\");\nexport function l(str : \"filetype_spdiscussionboardlist\");\nexport function l(str : \"spdocumentlibrarylist\");\nexport function l(str : \"filetype_spdocumentlibrarylist\");\nexport function l(str : \"spevent\");\nexport function l(str : \"filetype_spevent\");\nexport function l(str : \"speventlist\");\nexport function l(str : \"filetype_speventlist\");\nexport function l(str : \"spformlibrarylist\");\nexport function l(str : \"filetype_spformlibrarylist\");\nexport function l(str : \"spissue\");\nexport function l(str : \"filetype_spissue\");\nexport function l(str : \"spissuelist\");\nexport function l(str : \"filetype_spissuelist\");\nexport function l(str : \"splink\");\nexport function l(str : \"filetype_splink\");\nexport function l(str : \"splinklist\");\nexport function l(str : \"filetype_splinklist\");\nexport function l(str : \"sppicturelibrarylist\");\nexport function l(str : \"filetype_sppicturelibrarylist\");\nexport function l(str : \"spsurvey\");\nexport function l(str : \"filetype_spsurvey\");\nexport function l(str : \"spsurveylist\");\nexport function l(str : \"filetype_spsurveylist\");\nexport function l(str : \"sptask\");\nexport function l(str : \"filetype_sptask\");\nexport function l(str : \"sptasklist\");\nexport function l(str : \"filetype_sptasklist\");\nexport function l(str : \"spagenda\");\nexport function l(str : \"filetype_spagenda\");\nexport function l(str : \"spagendalist\");\nexport function l(str : \"filetype_spagendalist\");\nexport function l(str : \"spattendee\");\nexport function l(str : \"filetype_spattendee\");\nexport function l(str : \"spattendeelist\");\nexport function l(str : \"filetype_spattendeelist\");\nexport function l(str : \"spcustomgridlist\");\nexport function l(str : \"filetype_spcustomgridlist\");\nexport function l(str : \"spdecision\");\nexport function l(str : \"filetype_spdecision\");\nexport function l(str : \"spdecisionlist\");\nexport function l(str : \"filetype_spdecisionlist\");\nexport function l(str : \"spobjective\");\nexport function l(str : \"filetype_spobjective\");\nexport function l(str : \"spobjectivelist\");\nexport function l(str : \"filetype_spobjectivelist\");\nexport function l(str : \"sptextbox\");\nexport function l(str : \"filetype_sptextbox\");\nexport function l(str : \"sptextboxlist\");\nexport function l(str : \"filetype_sptextboxlist\");\nexport function l(str : \"spthingstobring\");\nexport function l(str : \"filetype_spthingstobring\");\nexport function l(str : \"spthingstobringlist\");\nexport function l(str : \"filetype_spthingstobringlist\");\nexport function l(str : \"sparealisting\");\nexport function l(str : \"filetype_sparealisting\");\nexport function l(str : \"spmeetingserie\");\nexport function l(str : \"filetype_spmeetingserie\");\nexport function l(str : \"spmeetingserielist\");\nexport function l(str : \"filetype_spmeetingserielist\");\nexport function l(str : \"spsitedirectory\");\nexport function l(str : \"filetype_spsitedirectory\");\nexport function l(str : \"spsitedirectorylist\");\nexport function l(str : \"filetype_spsitedirectorylist\");\nexport function l(str : \"spdatasource\");\nexport function l(str : \"filetype_spdatasource\");\nexport function l(str : \"spdatasourcelist\");\nexport function l(str : \"filetype_spdatasourcelist\");\nexport function l(str : \"splisttemplatecataloglist\");\nexport function l(str : \"filetype_splisttemplatecataloglist\");\nexport function l(str : \"spwebpartcataloglist\");\nexport function l(str : \"filetype_spwebpartcataloglist\");\nexport function l(str : \"spwebtemplatecataloglist\");\nexport function l(str : \"filetype_spwebtemplatecataloglist\");\nexport function l(str : \"spworkspacepagelist\");\nexport function l(str : \"filetype_spworkspacepagelist\");\nexport function l(str : \"spunknownlist\");\nexport function l(str : \"filetype_spunknownlist\");\nexport function l(str : \"spadministratortask\");\nexport function l(str : \"filetype_spadministratortask\");\nexport function l(str : \"spadministratortasklist\");\nexport function l(str : \"filetype_spadministratortasklist\");\nexport function l(str : \"spareadocumentlibrarylist\");\nexport function l(str : \"filetype_spareadocumentlibrarylist\");\nexport function l(str : \"spblogcategory\");\nexport function l(str : \"filetype_spblogcategory\");\nexport function l(str : \"spblogcategorylist\");\nexport function l(str : \"filetype_spblogcategorylist\");\nexport function l(str : \"spblogcomment\");\nexport function l(str : \"filetype_spblogcomment\");\nexport function l(str : \"spblogcommentlist\");\nexport function l(str : \"filetype_spblogcommentlist\");\nexport function l(str : \"spblogpost\");\nexport function l(str : \"filetype_spblogpost\");\nexport function l(str : \"spblogpostlist\");\nexport function l(str : \"filetype_spblogpostlist\");\nexport function l(str : \"spdataconnectionlibrarylist\");\nexport function l(str : \"filetype_spdataconnectionlibrarylist\");\nexport function l(str : \"spdistributiongroup\");\nexport function l(str : \"filetype_spdistributiongroup\");\nexport function l(str : \"spdistributiongrouplist\");\nexport function l(str : \"filetype_spdistributiongrouplist\");\nexport function l(str : \"spipfslist\");\nexport function l(str : \"filetype_spipfslist\");\nexport function l(str : \"spkeyperformanceindicator\");\nexport function l(str : \"filetype_spkeyperformanceindicator\");\nexport function l(str : \"spkeyperformanceindicatorlist\");\nexport function l(str : \"filetype_spkeyperformanceindicatorlist\");\nexport function l(str : \"splanguagesandtranslator\");\nexport function l(str : \"filetype_splanguagesandtranslator\");\nexport function l(str : \"splanguagesandtranslatorlist\");\nexport function l(str : \"filetype_splanguagesandtranslatorlist\");\nexport function l(str : \"spmasterpagescataloglist\");\nexport function l(str : \"filetype_spmasterpagescataloglist\");\nexport function l(str : \"spnocodeworkflowlibrarylist\");\nexport function l(str : \"filetype_spnocodeworkflowlibrarylist\");\nexport function l(str : \"spprojecttask\");\nexport function l(str : \"filetype_spprojecttask\");\nexport function l(str : \"spprojecttasklist\");\nexport function l(str : \"filetype_spprojecttasklist\");\nexport function l(str : \"sppublishingpageslibrarylist\");\nexport function l(str : \"filetype_sppublishingpageslibrarylist\");\nexport function l(str : \"spreportdocumentlibrarylist\");\nexport function l(str : \"filetype_spreportdocumentlibrarylist\");\nexport function l(str : \"spreportlibrarylist\");\nexport function l(str : \"filetype_spreportlibrarylist\");\nexport function l(str : \"spslidelibrarylist\");\nexport function l(str : \"filetype_spslidelibrarylist\");\nexport function l(str : \"sptab\");\nexport function l(str : \"filetype_sptab\");\nexport function l(str : \"sptablist\");\nexport function l(str : \"filetype_sptablist\");\nexport function l(str : \"sptranslationmanagementlibrarylist\");\nexport function l(str : \"filetype_sptranslationmanagementlibrarylist\");\nexport function l(str : \"spuserinformation\");\nexport function l(str : \"filetype_spuserinformation\");\nexport function l(str : \"spuserinformationlist\");\nexport function l(str : \"filetype_spuserinformationlist\");\nexport function l(str : \"spwikipagelibrarylist\");\nexport function l(str : \"filetype_spwikipagelibrarylist\");\nexport function l(str : \"spworkflowhistory\");\nexport function l(str : \"filetype_spworkflowhistory\");\nexport function l(str : \"spworkflowhistorylist\");\nexport function l(str : \"filetype_spworkflowhistorylist\");\nexport function l(str : \"spworkflowprocess\");\nexport function l(str : \"filetype_spworkflowprocess\");\nexport function l(str : \"spworkflowprocesslist\");\nexport function l(str : \"filetype_spworkflowprocesslist\");\nexport function l(str : \"sppublishingimageslibrarylist\");\nexport function l(str : \"filetype_sppublishingimageslibrarylist\");\nexport function l(str : \"spcirculation\");\nexport function l(str : \"filetype_spcirculation\");\nexport function l(str : \"spcirculationlist\");\nexport function l(str : \"filetype_spcirculationlist\");\nexport function l(str : \"spdashboardslibrarylist\");\nexport function l(str : \"filetype_spdashboardslibrarylist\");\nexport function l(str : \"spdataconnectionforperformancepointlibrarylist\");\nexport function l(str : \"filetype_spdataconnectionforperformancepointlibrarylist\");\nexport function l(str : \"sphealthreport\");\nexport function l(str : \"filetype_sphealthreport\");\nexport function l(str : \"sphealthreportlist\");\nexport function l(str : \"filetype_sphealthreportlist\");\nexport function l(str : \"sphealthrule\");\nexport function l(str : \"filetype_sphealthrule\");\nexport function l(str : \"sphealthrulelist\");\nexport function l(str : \"filetype_sphealthrulelist\");\nexport function l(str : \"spimedictionary\");\nexport function l(str : \"filetype_spimedictionary\");\nexport function l(str : \"spimedictionarylist\");\nexport function l(str : \"filetype_spimedictionarylist\");\nexport function l(str : \"spperformancepointcontent\");\nexport function l(str : \"filetype_spperformancepointcontent\");\nexport function l(str : \"spperformancepointcontentlist\");\nexport function l(str : \"filetype_spperformancepointcontentlist\");\nexport function l(str : \"spphonecallmemo\");\nexport function l(str : \"filetype_spphonecallmemo\");\nexport function l(str : \"spphonecallmemolist\");\nexport function l(str : \"filetype_spphonecallmemolist\");\nexport function l(str : \"sprecordlibrarylist\");\nexport function l(str : \"filetype_sprecordlibrarylist\");\nexport function l(str : \"spresource\");\nexport function l(str : \"filetype_spresource\");\nexport function l(str : \"spresourcelist\");\nexport function l(str : \"filetype_spresourcelist\");\nexport function l(str : \"spprocessdiagramslibrarylist\");\nexport function l(str : \"filetype_spprocessdiagramslibrarylist\");\nexport function l(str : \"spsitethemeslibrarylist\");\nexport function l(str : \"filetype_spsitethemeslibrarylist\");\nexport function l(str : \"spsolutionslibrarylist\");\nexport function l(str : \"filetype_spsolutionslibrarylist\");\nexport function l(str : \"spwfpublibrarylist\");\nexport function l(str : \"filetype_spwfpublibrarylist\");\nexport function l(str : \"spwhereabout\");\nexport function l(str : \"filetype_spwhereabout\");\nexport function l(str : \"spwhereaboutlist\");\nexport function l(str : \"filetype_spwhereaboutlist\");\nexport function l(str : \"spdocumentlink\");\nexport function l(str : \"filetype_spdocumentlink\");\nexport function l(str : \"spdocumentset\");\nexport function l(str : \"filetype_spdocumentset\");\nexport function l(str : \"spmicrofeedpost\");\nexport function l(str : \"filetype_spmicrofeedpost\");\nexport function l(str : \"spmicrofeedlist\");\nexport function l(str : \"filetype_spmicrofeedlist\");\nexport function l(str : \"splistfolder\");\nexport function l(str : \"filetype_splistfolder\");\nexport function l(str : \"youtubevideo\");\nexport function l(str : \"filetype_youtubevideo\");\nexport function l(str : \"youtubeplaylistitem\");\nexport function l(str : \"filetype_youtubeplaylistitem\");\nexport function l(str : \"youtubeplaylist\");\nexport function l(str : \"filetype_youtubeplaylist\");\nexport function l(str : \"Unknown\");\nexport function l(str : \"And\");\nexport function l(str : \"Authenticating\" , param0: string);\nexport function l(str : \"Clear\" , param0: string);\nexport function l(str : \"CompleteQuery\");\nexport function l(str : \"Exclude\" , param0: string);\nexport function l(str : \"EnterTag\");\nexport function l(str : \"Next\");\nexport function l(str : \"Last\");\nexport function l(str : \"Link\");\nexport function l(str : \"Or\");\nexport function l(str : \"Previous\");\nexport function l(str : \"QueryDidntMatchAnyDocuments\");\nexport function l(str : \"QueryException\" , param0: string);\nexport function l(str : \"Me\");\nexport function l(str : \"Remove\");\nexport function l(str : \"Search\");\nexport function l(str : \"SearchFor\" , param0: string);\nexport function l(str : \"ShareQuery\");\nexport function l(str : \"Preferences\");\nexport function l(str : \"LinkOpeningSettings\");\nexport function l(str : \"Reauthenticate\" , param0: string);\nexport function l(str : \"ResultsFilteringExpression\");\nexport function l(str : \"FiltersInYourPreferences\");\nexport function l(str : \"Create\");\nexport function l(str : \"SearchIn\" , param0: string);\nexport function l(str : \"Seconds\" , param0: string, count: number);\nexport function l(str : \"ShowingResultsOf\" , param0: string, param1: string, param2: string, count: number);\nexport function l(str : \"ShowingResultsOfWithQuery\" , param0: string, param1: string, param2: string, param3: string, count: number);\nexport function l(str : \"SwitchTo\" , param0: string);\nexport function l(str : \"Unexclude\" , param0: string);\nexport function l(str : \"ClearAllFilters\");\nexport function l(str : \"SkipLogin\");\nexport function l(str : \"LoginInProgress\");\nexport function l(str : \"Login\");\nexport function l(str : \"GetStarted\");\nexport function l(str : \"More\");\nexport function l(str : \"NMore\" , param0: string);\nexport function l(str : \"Less\");\nexport function l(str : \"Settings\");\nexport function l(str : \"Score\");\nexport function l(str : \"ScoreDescription\");\nexport function l(str : \"Occurrences\");\nexport function l(str : \"OccurrencesDescription\");\nexport function l(str : \"Label\");\nexport function l(str : \"Of\");\nexport function l(str : \"LabelDescription\");\nexport function l(str : \"Value\");\nexport function l(str : \"ValueDescription\");\nexport function l(str : \"AlphaAscending\");\nexport function l(str : \"AlphaDescending\");\nexport function l(str : \"ChiSquare\");\nexport function l(str : \"Nosort\");\nexport function l(str : \"NosortDescription\");\nexport function l(str : \"RelativeFrequency\");\nexport function l(str : \"RelativeFrequencyDescription\");\nexport function l(str : \"DateDistribution\");\nexport function l(str : \"Custom\");\nexport function l(str : \"CustomDescription\");\nexport function l(str : \"ComputedField\");\nexport function l(str : \"Ascending\");\nexport function l(str : \"Descending\");\nexport function l(str : \"noResultFor\" , param0: string);\nexport function l(str : \"autoCorrectedQueryTo\" , param0: string);\nexport function l(str : \"didYouMean\" , param0: string);\nexport function l(str : \"SuggestedResults\");\nexport function l(str : \"SuggestedQueries\");\nexport function l(str : \"MostRelevantItems\");\nexport function l(str : \"AllItems\");\nexport function l(str : \"ShowLess\");\nexport function l(str : \"ShowMore\");\nexport function l(str : \"HideFacet\");\nexport function l(str : \"ShowFacet\");\nexport function l(str : \"AndOthers\" , param0: string, count: number);\nexport function l(str : \"Others\" , param0: string, count: number);\nexport function l(str : \"MostRelevantPosts\");\nexport function l(str : \"CompleteThread\");\nexport function l(str : \"ShowCompleteThread\");\nexport function l(str : \"ShowOnlyTopMatchingPosts\");\nexport function l(str : \"MostRelevantReplies\");\nexport function l(str : \"AllConversation\");\nexport function l(str : \"ShowAllConversation\");\nexport function l(str : \"ShowAllReplies\");\nexport function l(str : \"ShowOnlyMostRelevantReplies\");\nexport function l(str : \"Close\");\nexport function l(str : \"Open\");\nexport function l(str : \"OpenInOutlookWhenPossible\");\nexport function l(str : \"AlwaysOpenInNewWindow\");\nexport function l(str : \"Quickview\");\nexport function l(str : \"NoQuickview\");\nexport function l(str : \"ErrorReport\");\nexport function l(str : \"OopsError\");\nexport function l(str : \"ProblemPersists\");\nexport function l(str : \"GoBack\");\nexport function l(str : \"Reset\");\nexport function l(str : \"Retry\");\nexport function l(str : \"MoreInfo\");\nexport function l(str : \"Username\");\nexport function l(str : \"Password\");\nexport function l(str : \"PostedBy\");\nexport function l(str : \"CannotConnect\");\nexport function l(str : \"BadUserPass\");\nexport function l(str : \"PleaseEnterYourCredentials\" , param0: string);\nexport function l(str : \"PleaseEnterYourSearchPage\");\nexport function l(str : \"Collapse\");\nexport function l(str : \"Collapsable\");\nexport function l(str : \"Expand\");\nexport function l(str : \"Today\");\nexport function l(str : \"Yesterday\");\nexport function l(str : \"Tomorrow\");\nexport function l(str : \"Duration\" , param0: string);\nexport function l(str : \"IndexDuration\" , param0: string);\nexport function l(str : \"ProxyDuration\" , param0: string);\nexport function l(str : \"ClientDuration\" , param0: string);\nexport function l(str : \"Unavailable\");\nexport function l(str : \"Reply\");\nexport function l(str : \"ReplyAll\");\nexport function l(str : \"Forward\");\nexport function l(str : \"From\");\nexport function l(str : \"Caption\");\nexport function l(str : \"Expression\");\nexport function l(str : \"Tab\");\nexport function l(str : \"Tabs\");\nexport function l(str : \"EnterExpressionName\");\nexport function l(str : \"EnterExpressionToFilterWith\");\nexport function l(str : \"SelectTab\");\nexport function l(str : \"SelectAll\");\nexport function l(str : \"PageUrl\");\nexport function l(str : \"ErrorSavingToDevice\");\nexport function l(str : \"ErrorReadingFromDevice\");\nexport function l(str : \"AppIntro\");\nexport function l(str : \"TryDemo\");\nexport function l(str : \"ContactUs\");\nexport function l(str : \"NewToCoveo\");\nexport function l(str : \"LetUsHelpGetStarted\");\nexport function l(str : \"LikesThis\" , param0: string, count: number);\nexport function l(str : \"CannotConnectSearchPage\");\nexport function l(str : \"AreYouSureDeleteFilter\" , param0: string, param1: string);\nexport function l(str : \"OnlineHelp\");\nexport function l(str : \"Done\");\nexport function l(str : \"SaveFacetState\");\nexport function l(str : \"ClearFacetState\");\nexport function l(str : \"DisplayingTheOnlyMessage\");\nexport function l(str : \"NoNetworkConnection\");\nexport function l(str : \"UnknownConnection\");\nexport function l(str : \"EthernetConnection\");\nexport function l(str : \"WiFi\");\nexport function l(str : \"CELL\");\nexport function l(str : \"CELL_2G\");\nexport function l(str : \"CELL_3G\");\nexport function l(str : \"CELL_4G\");\nexport function l(str : \"Relevance\");\nexport function l(str : \"Date\");\nexport function l(str : \"Amount\");\nexport function l(str : \"QueryExceptionNoException\");\nexport function l(str : \"QueryExceptionInvalidSyntax\");\nexport function l(str : \"QueryExceptionInvalidCustomField\");\nexport function l(str : \"QueryExceptionInvalidDate\");\nexport function l(str : \"QueryExceptionInvalidExactPhrase\");\nexport function l(str : \"QueryExceptionInvalidDateOp\");\nexport function l(str : \"QueryExceptionInvalidNear\");\nexport function l(str : \"QueryExceptionInvalidWeightedNear\");\nexport function l(str : \"QueryExceptionInvalidTerm\");\nexport function l(str : \"QueryExceptionTooManyTerms\");\nexport function l(str : \"QueryExceptionWildcardTooGeneral\");\nexport function l(str : \"QueryExceptionInvalidSortField\");\nexport function l(str : \"QueryExceptionInvalidSmallStringOp\");\nexport function l(str : \"QueryExceptionRequestedResultsMax\");\nexport function l(str : \"QueryExceptionAggregatedMirrorDead\");\nexport function l(str : \"QueryExceptionAggregatedMirrorQueryTimeOut\");\nexport function l(str : \"QueryExceptionAggregatedMirrorInvalidBuildNumber\");\nexport function l(str : \"QueryExceptionAggregatedMirrorCannotConnect\");\nexport function l(str : \"QueryExceptionNotEnoughLeadingCharsWildcard\");\nexport function l(str : \"QueryExceptionSecurityInverterNotFound\");\nexport function l(str : \"QueryExceptionSecurityInverterAccessDenied\");\nexport function l(str : \"QueryExceptionAggregatedMirrorCannotImpersonate\");\nexport function l(str : \"QueryExceptionUnexpected\");\nexport function l(str : \"QueryExceptionAccessDenied\");\nexport function l(str : \"QueryExceptionSuperUserTokenInvalid\");\nexport function l(str : \"QueryExceptionSuperUserTokenExpired\");\nexport function l(str : \"QueryExceptionLicenseQueriesExpired\");\nexport function l(str : \"QueryExceptionLicenseSuperUserTokenNotSupported\");\nexport function l(str : \"QueryExceptionInvalidSession\");\nexport function l(str : \"QueryExceptionInvalidDocument\");\nexport function l(str : \"QueryExceptionSearchDisabled\");\nexport function l(str : \"FileType\");\nexport function l(str : \"ShowAttachment\");\nexport function l(str : \"OnFeed\" , param0: string);\nexport function l(str : \"Author\");\nexport function l(str : \"NoTitle\");\nexport function l(str : \"CurrentSelections\");\nexport function l(str : \"AllContent\");\nexport function l(str : \"CancelLastAction\");\nexport function l(str : \"SearchTips\");\nexport function l(str : \"CheckSpelling\");\nexport function l(str : \"TryUsingFewerKeywords\");\nexport function l(str : \"SelectFewerFilters\");\nexport function l(str : \"Document\");\nexport function l(str : \"Time\");\nexport function l(str : \"StartDate\");\nexport function l(str : \"StartTime\");\nexport function l(str : \"DurationTitle\");\nexport function l(str : \"UserQuery\");\nexport function l(str : \"ShowUserActions\");\nexport function l(str : \"NoData\");\nexport function l(str : \"EventType\");\nexport function l(str : \"GoToFullSearch\");\nexport function l(str : \"GoToEdition\");\nexport function l(str : \"RemoveContext\");\nexport function l(str : \"BoxAttachToCase\");\nexport function l(str : \"AttachToCase\");\nexport function l(str : \"Attach\");\nexport function l(str : \"Attached\");\nexport function l(str : \"Detach\");\nexport function l(str : \"Details\");\nexport function l(str : \"AdditionalFilters\");\nexport function l(str : \"SelectNonContextualSearch\");\nexport function l(str : \"CopyPasteToSupport\");\nexport function l(str : \"FollowQueryDescription\");\nexport function l(str : \"SearchAlerts_Panel\");\nexport function l(str : \"SearchAlerts_PanelDescription\");\nexport function l(str : \"SearchAlerts_PanelNoSearchAlerts\");\nexport function l(str : \"SearchAlerts_Fail\");\nexport function l(str : \"SearchAlerts_Type\");\nexport function l(str : \"SearchAlerts_Content\");\nexport function l(str : \"SearchAlerts_Actions\");\nexport function l(str : \"EmptyQuery\");\nexport function l(str : \"SearchAlerts_Type_followQuery\");\nexport function l(str : \"SearchAlerts_Type_followDocument\");\nexport function l(str : \"SearchAlerts_unFollowing\");\nexport function l(str : \"SearchAlerts_follow\");\nexport function l(str : \"SearchAlerts_followed\");\nexport function l(str : \"SearchAlerts_followQuery\");\nexport function l(str : \"Subscription_StopFollowingQuery\");\nexport function l(str : \"SearchAlerts_Frequency\");\nexport function l(str : \"SubscriptionsManageSubscriptions\");\nexport function l(str : \"SubscriptionsMessageFollowQuery\" , param0: string);\nexport function l(str : \"SubscriptionsMessageFollow\" , param0: string);\nexport function l(str : \"Expiration\");\nexport function l(str : \"Monthly\");\nexport function l(str : \"Daily\");\nexport function l(str : \"Monday\");\nexport function l(str : \"Tuesday\");\nexport function l(str : \"Wednesday\");\nexport function l(str : \"Thursday\");\nexport function l(str : \"Friday\");\nexport function l(str : \"Saturday\");\nexport function l(str : \"Sunday\");\nexport function l(str : \"NextDay\" , param0: string);\nexport function l(str : \"LastDay\" , param0: string);\nexport function l(str : \"StartTypingCaseForSuggestions\");\nexport function l(str : \"ExportToExcel\");\nexport function l(str : \"ExportToExcelDescription\");\nexport function l(str : \"CaseCreationNoResults\");\nexport function l(str : \"SortBy\");\nexport function l(str : \"BoxCreateArticle\");\nexport function l(str : \"Facets\");\nexport function l(str : \"AdvancedSearch\");\nexport function l(str : \"Keywords\");\nexport function l(str : \"AllTheseWords\");\nexport function l(str : \"ExactPhrase\");\nexport function l(str : \"AnyOfTheseWords\");\nexport function l(str : \"NoneOfTheseWords\");\nexport function l(str : \"Anytime\");\nexport function l(str : \"InTheLast\");\nexport function l(str : \"Days\");\nexport function l(str : \"Months\");\nexport function l(str : \"Month\");\nexport function l(str : \"Year\");\nexport function l(str : \"Between\");\nexport function l(str : \"Language\");\nexport function l(str : \"Size\");\nexport function l(str : \"AtLeast\");\nexport function l(str : \"AtMost\");\nexport function l(str : \"Contains\");\nexport function l(str : \"DoesNotContain\");\nexport function l(str : \"Matches\");\nexport function l(str : \"Bytes\");\nexport function l(str : \"card\");\nexport function l(str : \"table\");\nexport function l(str : \"ResultLinks\");\nexport function l(str : \"EnableQuerySyntax\");\nexport function l(str : \"On\");\nexport function l(str : \"Off\");\nexport function l(str : \"Automatic\");\nexport function l(str : \"ResultsPerPage\");\nexport function l(str : \"PreviousMonth\");\nexport function l(str : \"NextMonth\");\nexport function l(str : \"Title\");\nexport function l(str : \"FiltersInAdvancedSearch\");\nexport function l(str : \"NoEndpoints\" , param0: string);\nexport function l(str : \"InvalidToken\");\nexport function l(str : \"AddSources\");\nexport function l(str : \"TryAgain\");\nexport function l(str : \"CoveoOnlineHelp\");\nexport function l(str : \"CannotAccess\" , param0: string);\nexport function l(str : \"CoveoOrganization\");\nexport function l(str : \"SearchAPIDuration\" , param0: string);\nexport function l(str : \"LastUpdated\");\nexport function l(str : \"AllDates\");\nexport function l(str : \"WithinLastDay\");\nexport function l(str : \"WithinLastWeek\");\nexport function l(str : \"WithinLastMonth\");\nexport function l(str : \"WithinLastYear\");\nexport function l(str : \"RelevanceInspector\");\nexport function l(str : \"KeywordInCategory\" , param0: string, param1: string);\nexport function l(str : \"ResultCount\" , param0: string);\nexport function l(...params : any[]);\nexport function l(...params : any[]) { return L10N.format.apply(this, arguments) };\n\n\n\n// WEBPACK FOOTER //\n// ./src/strings/Strings.ts","/**\n * The IAnalyticsActionCause interface describes the cause of an event for the analytics service.\n *\n * See the {@link Analytics} component\n */\nexport interface IAnalyticsActionCause {\n /**\n * Specifies the name of the event. While you can actually set this property to any arbitrary string value, its value\n * should uniquely identify the precise action that triggers the event. Thus, each individual event should have its\n * own unique `name` value.\n *\n * Example: `searchBoxSubmit`, `resultSort`, etc.\n */\n name: string;\n\n /**\n * Specifies the type of the event. While you can actually set this property to any arbitrary string value, it should\n * describe the general category of the event. Thus, more than one event can have the same `type` value, which makes\n * it possible to group events with identical types when doing reporting.\n *\n * Example: All search box related events could have `searchbox` as their `type` value.\n */\n type: string;\n metaMap?: { [name: string]: number };\n}\n\nexport interface IAnalyticsNoMeta {}\n\nexport interface IAnalyticsInterfaceChange {\n interfaceChangeTo: string;\n}\n\nexport interface IAnalyticsContextAddMeta {\n contextName: string;\n}\n\nexport interface IAnalyticsContextRemoveMeta {\n contextName: string;\n}\n\nexport interface IAnalyticsResultsSortMeta {\n resultsSortBy: string;\n}\n\n/**\n * The `IAnalyticsDocumentViewMeta` interface describes the expected metadata when logging a click event / item view.\n *\n * See also the [`Analytics`]{@link Analytics} component, and more specifically its\n * [`logClickEvent`]{@link Analytics.logClickEvent} method.\n */\nexport interface IAnalyticsDocumentViewMeta {\n /**\n * The URL of the clicked item.\n */\n documentURL?: string;\n\n /**\n * The title of the clicked item.\n */\n documentTitle?: string;\n\n /**\n * The author of the clicked item.\n */\n author: string;\n}\n\nexport interface IAnalyticsOmniboxFacetMeta {\n facetId: string;\n facetTitle: string;\n facetValue?: string;\n suggestions: string;\n suggestionRanking: number;\n query: string;\n}\nexport interface IAnalyticsSimpleFilterMeta {\n simpleFilterTitle: string;\n simpleFilterSelectedValue?: string;\n simpleFilterField: string;\n}\nexport interface IAnalyticsFacetMeta {\n facetId: string;\n facetValue?: string;\n facetTitle: string;\n}\n\nexport interface IAnalyticsQueryErrorMeta {\n query: string;\n aq: string;\n cq: string;\n dq: string;\n errorType: string;\n errorMessage: string;\n}\n\nexport interface IAnalyticsTopSuggestionMeta {\n suggestionRanking: number;\n partialQueries: string;\n suggestions: string;\n partialQuery: string;\n}\n\nexport interface IAnalyticsOmniboxSuggestionMeta {\n suggestionRanking: number;\n partialQueries: string;\n suggestions: string;\n partialQuery: string;\n}\n\nexport interface IAnalyticsFacetSliderChangeMeta {\n facetId: string;\n facetRangeStart: any;\n facetRangeEnd: any;\n}\n\nexport interface IAnalyticsFacetGraphSelectedMeta extends IAnalyticsFacetSliderChangeMeta {}\n\nexport interface IAnalyticsFacetOperatorMeta extends IAnalyticsFacetMeta {\n facetOperatorBefore: string;\n facetOperatorAfter: string;\n}\n\nexport interface IAnalyticsPreferencesChangeMeta {\n preferenceName: string;\n preferenceType: string;\n}\n\nexport interface IAnalyticsCustomFiltersChangeMeta {\n customFilterName: string;\n customFilterType: string;\n customFilterExpression: string;\n}\n\nexport interface IAnalyticsCaseAttachMeta {\n resultUriHash: string;\n articleID: string;\n caseID: string;\n author: string;\n}\n\nexport interface IAnalyticsCaseContextAddMeta {\n caseID: string;\n}\n\nexport interface IAnalyticsCaseContextRemoveMeta {\n caseID: string;\n}\n\nexport interface IAnalyticsCaseDetachMeta extends IAnalyticsCaseAttachMeta {}\n\nexport interface IAnalyticsCaseCreationInputChangeMeta {\n inputTitle: string;\n input: string;\n value: string;\n}\n\nexport interface IAnalyticsCaseCreationDeflectionMeta {\n hasClicks: boolean;\n values: { [field: string]: string };\n}\n\nexport interface IAnalyticsPagerMeta {\n pagerNumber: number;\n}\n\nexport interface IAnalyticsResultsPerPageMeta {\n currentResultsPerPage: number;\n}\n\nexport interface IAnalyticsTriggerNotify {\n notification: string;\n}\n\nexport interface IAnalyticsTriggerRedirect {\n redirectedTo: string;\n}\n\nexport interface IAnalyticsTriggerQuery {\n query: string;\n}\n\nexport interface IAnalyticsTriggerExecute {\n executed: string;\n}\n\nexport interface IAnalyticsSearchAlertsMeta {\n subscription: string;\n}\n\nexport interface IAnalyticsSearchAlertsUpdateMeta extends IAnalyticsSearchAlertsMeta {\n frequency: string;\n}\n\nexport interface IAnalyticsSearchAlertsFollowDocumentMeta extends IAnalyticsDocumentViewMeta {\n documentSource: string;\n documentLanguage: string;\n contentIDKey: string;\n contentIDValue: string;\n}\n\nexport interface IAnalyticsResultsLayoutChange {\n resultsLayoutChangeTo: string;\n}\n\nexport var analyticsActionCauseList = {\n interfaceLoad: {\n name: 'interfaceLoad',\n type: 'interface'\n },\n interfaceChange: {\n name: 'interfaceChange',\n type: 'interface',\n metaMap: { interfaceChangeTo: 1 }\n },\n contextRemove: {\n name: 'contextRemove',\n type: 'misc',\n metaMap: { contextName: 1 }\n },\n didyoumeanAutomatic: {\n name: 'didyoumeanAutomatic',\n type: 'misc'\n },\n didyoumeanClick: {\n name: 'didyoumeanClick',\n type: 'misc'\n },\n resultsSort: {\n name: 'resultsSort',\n type: 'misc',\n metaMap: { resultsSortBy: 1 }\n },\n searchboxSubmit: {\n name: 'searchboxSubmit',\n type: 'search box'\n },\n searchboxClear: {\n name: 'searchboxClear',\n type: 'search box'\n },\n searchboxAsYouType: {\n name: 'searchboxAsYouType',\n type: 'search box'\n },\n breadcrumbFacet: {\n name: 'breadcrumbFacet',\n type: 'breadcrumb',\n metaMap: { facetId: 1, facetValue: 2, facetTitle: 3 }\n },\n breadcrumbAdvancedSearch: {\n name: 'breadcrumbAdvancedSearch',\n type: 'breadcrumb'\n },\n breadcrumbResetAll: {\n name: 'breadcrumbResetAll',\n type: 'breadcrumb'\n },\n documentTag: {\n name: 'documentTag',\n type: 'document',\n metaMap: { facetId: 1, facetValue: 2, facetTitle: 3 }\n },\n documentField: {\n name: 'documentField',\n type: 'document',\n metaMap: { facetId: 1, facetValue: 2, facetTitle: 3 }\n },\n documentQuickview: {\n name: 'documentQuickview',\n type: 'document',\n metaMap: { documentTitle: 1, documentURL: 2 }\n },\n documentOpen: {\n name: 'documentOpen',\n type: 'document',\n metaMap: { documentTitle: 1, documentURL: 2 }\n },\n omniboxFacetSelect: {\n name: 'omniboxFacetSelect',\n type: 'omnibox',\n metaMap: { facetId: 1, facetValue: 2, facetTitle: 3 }\n },\n omniboxFacetExclude: {\n name: 'omniboxFacetExclude',\n type: 'omnibox',\n metaMap: { facetId: 1, facetValue: 2, facetTitle: 3 }\n },\n omniboxFacetDeselect: {\n name: 'omniboxFacetDeselect',\n type: 'omnibox',\n metaMap: { facetId: 1, facetValue: 2, facetTitle: 3 }\n },\n omniboxFacetUnexclude: {\n name: 'omniboxFacetUnexclude',\n type: 'omnibox',\n metaMap: { faceId: 1, facetValue: 2, facetTitle: 3 }\n },\n omniboxAnalytics: {\n name: 'omniboxAnalytics',\n type: 'omnibox',\n metaMap: {\n partialQuery: 1,\n suggestionRanking: 2,\n partialQueries: 3,\n suggestions: 4\n }\n },\n omniboxFromLink: {\n name: 'omniboxFromLink',\n type: 'omnibox',\n metaMap: {\n partialQuery: 1,\n suggestionRanking: 2,\n partialQueries: 3,\n suggestions: 4\n }\n },\n omniboxField: {\n name: 'omniboxField',\n type: 'omnibox'\n },\n facetClearAll: {\n name: 'facetClearAll',\n type: 'facet',\n metaMap: { facetId: 1 }\n },\n facetSearch: {\n name: 'facetSearch',\n type: 'facet',\n metaMap: { facetId: 1 }\n },\n facetToggle: {\n name: 'facetToggle',\n type: 'facet',\n metaMap: { facetId: 1, facetOperatorBefore: 2, facetOperatorAfter: 3 }\n },\n facetRangeSlider: {\n name: 'facetRangeSlider',\n type: 'facet',\n metaMap: { facetId: 1, facetRangeStart: 2, facetRangeEnd: 3 }\n },\n facetRangeGraph: {\n name: 'facetRangeGraph',\n type: 'facet',\n metaMap: { facetId: 1, facetRangeStart: 2, facetRangeEnd: 3 }\n },\n facetSelect: {\n name: 'facetSelect',\n type: 'facet',\n metaMap: { facetId: 1, facetValue: 2, facetTitle: 3 }\n },\n facetSelectAll: {\n name: 'facetSelectAll',\n type: 'facet',\n metaMap: { facetId: 1, facetValue: 2, facetTitle: 3 }\n },\n facetDeselect: {\n name: 'facetDeselect',\n type: 'facet',\n metaMap: { facetId: 1, facetValue: 2, facetTitle: 3 }\n },\n facetExclude: {\n name: 'facetExclude',\n type: 'facet',\n metaMap: { facetId: 1, facetValue: 2, facetTitle: 3 }\n },\n facetUnexclude: {\n name: 'facetUnexclude',\n type: 'facet',\n metaMap: { facetId: 1, facetValue: 2, facetTitle: 3 }\n },\n errorBack: {\n name: 'errorBack',\n type: 'errors'\n },\n errorClearQuery: {\n name: 'errorClearQuery',\n type: 'errors'\n },\n errorRetry: {\n name: 'errorRetry',\n type: 'errors'\n },\n noResultsBack: {\n name: 'noResultsBack',\n type: 'noResults'\n },\n expandToFullUI: {\n name: 'expandToFullUI',\n type: 'interface'\n },\n caseCreationInputChange: {\n name: 'inputChange',\n type: 'caseCreation'\n },\n caseCreationSubmitButton: {\n name: 'submitButton',\n type: 'caseCreation'\n },\n caseCreationCancelButton: {\n name: 'cancelButton',\n type: 'caseCreation'\n },\n caseCreationUnloadPage: {\n name: 'unloadPage',\n type: 'caseCreation'\n },\n casecontextAdd: {\n name: 'casecontextAdd',\n type: 'casecontext',\n metaMap: { caseID: 5 }\n },\n casecontextRemove: {\n name: 'casecontextRemove',\n type: 'casecontext',\n metaMap: { caseID: 5 }\n },\n preferencesChange: {\n name: 'preferencesChange',\n type: 'preferences',\n metaMap: { preferenceName: 1, preferenceType: 2 }\n },\n getUserHistory: {\n name: 'getUserHistory',\n type: 'userHistory'\n },\n userActionDocumentClick: {\n name: 'userActionDocumentClick',\n type: 'userHistory'\n },\n caseAttach: {\n name: 'caseAttach',\n type: 'case',\n metaMap: { documentTitle: 1, resultUriHash: 3, articleID: 4, caseID: 5 }\n },\n caseDetach: {\n name: 'caseDetach',\n type: 'case',\n metaMap: { documentTitle: 1, resultUriHash: 3, articleID: 4, caseID: 5 }\n },\n customfiltersChange: {\n name: 'customfiltersChange',\n type: 'customfilters',\n metaMap: { customFilterName: 1, customFilterType: 2, customFilterExpression: 3 }\n },\n pagerNumber: {\n name: 'pagerNumber',\n type: 'getMoreResults',\n metaMap: { pagerNumber: 1 }\n },\n pagerNext: {\n name: 'pagerNext',\n type: 'getMoreResults',\n metaMap: { pagerNumber: 1 }\n },\n pagerPrevious: {\n name: 'pagerPrevious',\n type: 'getMoreResults',\n metaMap: { pagerNumber: 1 }\n },\n pagerScrolling: {\n name: 'pagerScrolling',\n type: 'getMoreResults'\n },\n pagerResize: {\n name: 'pagerResize',\n type: 'getMoreResults'\n },\n positionSet: {\n name: 'positionSet',\n type: 'distance'\n },\n searchFromLink: {\n name: 'searchFromLink',\n type: 'interface'\n },\n triggerNotify: {\n name: 'notify',\n type: 'queryPipelineTriggers'\n },\n triggerExecute: {\n name: 'execute',\n type: 'queryPipelineTriggers'\n },\n triggerQuery: {\n name: 'query',\n type: 'queryPipelineTriggers'\n },\n triggerRedirect: {\n name: 'redirect',\n type: 'queryPipelineTriggers'\n },\n queryError: {\n name: 'query',\n type: 'errors',\n metaMap: { query: 1, aq: 2, cq: 3, dq: 4, errorType: 5, errorMessage: 6 }\n },\n exportToExcel: {\n name: 'exportToExcel',\n type: 'misc'\n },\n recommendation: {\n name: 'recommendation',\n type: 'recommendation'\n },\n recommendationInterfaceLoad: {\n name: 'recommendationInterfaceLoad',\n type: 'recommendation'\n },\n recommendationOpen: {\n name: 'recommendationOpen',\n type: 'recommendation'\n },\n advancedSearch: {\n name: 'advancedSearch',\n type: 'advancedSearch'\n },\n searchAlertsFollowDocument: {\n name: 'followDocument',\n type: 'searchAlerts'\n },\n searchAlertsFollowQuery: {\n name: 'followQuery',\n type: 'searchAlerts'\n },\n searchAlertsUpdateSubscription: {\n name: 'updateSubscription',\n type: 'searchAlerts'\n },\n searchAlertsDeleteSubscription: {\n name: 'deleteSubscription',\n type: 'searchAlerts'\n },\n searchAlertsUnfollowDocument: {\n name: 'unfollowDocument',\n type: 'searchAlerts'\n },\n searchAlertsUnfollowQuery: {\n name: 'unfollowQuery',\n type: 'searchAlerts'\n },\n simpleFilterSelectValue: {\n name: 'selectValue',\n type: 'simpleFilter',\n metaMap: { simpleFilterTitle: 1, simpleFilterValue: 2, simpleFilterField: 3 }\n },\n simpleFilterDeselectValue: {\n name: 'selectValue',\n type: 'simpleFilter',\n metaMap: { simpleFilterTitle: 1, simpleFilterValues: 2, simpleFilterField: 3 }\n },\n simpleFilterClearAll: {\n name: 'selectValue',\n type: 'simpleFilter',\n metaMap: { simpleFilterTitle: 1, simpleFilterField: 3 }\n },\n resultsLayoutChange: {\n name: 'changeResultsLayout',\n type: 'resultsLayout'\n },\n foldingShowMore: {\n name: 'showMoreFoldedResults',\n type: 'folding'\n },\n foldingShowLess: {\n name: 'showLessFoldedResults',\n type: 'folding'\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/Analytics/AnalyticsActionListMeta.ts","import { Component } from '../ui/Base/Component';\nimport { QueryBuilder } from '../ui/Base/QueryBuilder';\nimport { IQueryResults } from '../rest/QueryResults';\nimport { IQuery } from '../rest/Query';\nimport { ISearchEndpoint, IEndpointCallOptions } from '../rest/SearchEndpointInterface';\nimport { IEndpointError } from '../rest/EndpointError';\n\n/**\n * Argument sent to all handlers bound on {@link QueryEvents.newQuery}\n */\nexport interface INewQueryEventArgs {\n /**\n * Determine if the query is a \"search as you type\"\n */\n searchAsYouType: boolean;\n /**\n * If this property is set to true by any handlers, the query will not be executed.\n */\n cancel: boolean;\n shouldRedirectStandaloneSearchbox: boolean;\n origin?: Component;\n}\n\n/**\n * Argument sent to all handlers bound on {@link QueryEvents.buildingQuery}\n */\nexport interface IBuildingQueryEventArgs {\n /**\n * Allow handlers to modify the query by using the {@link QueryBuilder}\n */\n queryBuilder: QueryBuilder;\n /**\n * Determine if the query is a \"search as you type\"\n */\n searchAsYouType: boolean;\n /**\n * If this property is set to true by any handlers, the query will not be executed.\n */\n cancel: boolean;\n}\n\n/**\n * Argument sent to all handlers bound on {@link QueryEvents.doneBuildingQuery}\n */\nexport interface IDoneBuildingQueryEventArgs {\n /**\n * Allow handlers to modify the query by using the {@link QueryBuilder}\n */\n queryBuilder: QueryBuilder;\n /**\n * Determine if the query is a \"search as you type\"\n */\n searchAsYouType: boolean;\n /**\n * If this property is set to true by any handlers, the query will not be executed.\n */\n cancel: boolean;\n}\n\n/**\n * Argument sent to all handlers bound on {@link QueryEvents.duringQuery}\n */\nexport interface IDuringQueryEventArgs {\n /**\n * The {@link QueryBuilder} that was used for the current query\n */\n queryBuilder: QueryBuilder;\n /**\n * The query that was just executed\n */\n query: IQuery;\n /**\n * A promises for the results that will be returned by the Search API\n */\n promise: Promise;\n /**\n * Determine if the query is a \"search as you type\"\n */\n searchAsYouType: boolean;\n}\n\n/**\n * Argument sent to all handlers bound on {@link QueryEvents.querySuccess}\n */\nexport interface IQuerySuccessEventArgs {\n /**\n * The query that was just executed\n */\n query: IQuery;\n /**\n * The results returned by the query that was executed\n */\n results: IQueryResults;\n /**\n * The {@link QueryBuilder} that was used for the current query\n */\n queryBuilder: QueryBuilder;\n /**\n * Determine if the query is a \"search as you type\"\n */\n searchAsYouType: boolean;\n}\n\n/**\n * Argument sent to all handlers bound on {@link QueryEvents.fetchMoreSuccess}\n */\nexport interface IFetchMoreSuccessEventArgs {\n /**\n * The query that was just executed\n */\n query: IQuery;\n /**\n * The results returned by the query that was executed\n */\n results: IQueryResults;\n /**\n * The {@link QueryBuilder} that was used for the current query\n */\n queryBuilder: QueryBuilder;\n /**\n * Determine if the query is a \"search as you type\"\n */\n searchAsYouType: boolean;\n}\n\n/**\n * Argument sent to all handlers bound on {@link QueryEvents.queryError}\n */\nexport interface IQueryErrorEventArgs {\n /**\n * The {@link QueryBuilder} that was used for the current query\n */\n queryBuilder: QueryBuilder;\n /**\n * The endpoint on which the error happened.\n */\n endpoint: ISearchEndpoint;\n /**\n * The query that was just executed\n */\n query: IQuery;\n /**\n * The error info / message itself.\n */\n error: IEndpointError;\n /**\n * Determine if the query is a \"search as you type\"\n */\n searchAsYouType: boolean;\n}\n\n/**\n * Argument sent to all handlers bound on {@link QueryEvents.preprocessResults}\n */\nexport interface IPreprocessResultsEventArgs {\n /**\n * The {@link QueryBuilder} that was used for the current query\n */\n queryBuilder: QueryBuilder;\n /**\n * The query that was just executed\n */\n query: IQuery;\n /**\n * The results returned by the query that was executed\n */\n results: IQueryResults;\n /**\n * Determine if the query is a \"search as you type\"\n */\n searchAsYouType: boolean;\n}\n\n/**\n * Argument sent to all handlers bound on {@link QueryEvents.preprocessMoreResults}\n */\nexport interface IPreprocessMoreResultsEventArgs {\n /**\n * The results returned by the query that was executed\n */\n results: IQueryResults;\n}\n\n/**\n * Argument sent to all handlers bound on {@link QueryEvents.noResults}\n */\nexport interface INoResultsEventArgs {\n /**\n * The {@link QueryBuilder} that was used for the current query\n */\n queryBuilder: QueryBuilder;\n /**\n * The query that was just executed\n */\n query: IQuery;\n /**\n * The results returned by the query that was executed\n */\n results: IQueryResults;\n /**\n * Determine if the query is a \"search as you type\"\n */\n searchAsYouType: boolean;\n /**\n * If set to true by any handler, the last query will automatically be re-executed again.\n */\n retryTheQuery: boolean;\n}\n\nexport interface IBuildingCallOptionsEventArgs {\n options: IEndpointCallOptions;\n}\n\n/**\n * This static class is there to contains the different string definition for all the events related to query.\n *\n * Note that these events will only be triggered when the {@link QueryController.executeQuery} method is used, either directly or by using {@link executeQuery}\n */\nexport class QueryEvents {\n /**\n * Triggered when a new query is launched.\n *\n * All bound handlers will receive {@link INewQueryEventArgs} as an argument.\n *\n * The string value is `newQuery`.\n * @type {string}\n */\n public static newQuery = 'newQuery';\n /**\n * Triggered when the query is being built.\n *\n * This is typically where all components will contribute their part to the {@link IQuery} using the {@link QueryBuilder}.\n *\n * All bound handlers will receive {@link IBuildingQueryEventArgs} as an argument.\n *\n * The string value is `buildingQuery`.\n * @type {string}\n */\n public static buildingQuery = 'buildingQuery';\n /**\n * Triggered when the query is done being built.\n *\n * This is typically where the facet will add it's {@link IGroupByRequest} to the {@link IQuery}.\n *\n * All bound handlers will receive {@link IDoneBuildingQueryEventArgs} as an argument.\n *\n * The string value is `doneBuildingQuery`.\n * @type {string}\n */\n public static doneBuildingQuery = 'doneBuildingQuery';\n /**\n * Triggered when the query is being executed on the Search API.\n *\n * All bound handlers will receive {@link IDuringQueryEventArgs} as an argument.\n *\n * The string value is `duringQuery`.\n * @type {string}\n */\n public static duringQuery = 'duringQuery';\n /**\n * Triggered when more results are being fetched on the Search API (think : infinite scrolling, or pager).\n *\n * All bound handlers will receive {@link IDuringQueryEventArgs} as an argument.\n *\n * The string value is `duringFetchMoreQuery`.\n * @type {string}\n */\n public static duringFetchMoreQuery = 'duringFetchMoreQuery';\n /**\n * Triggered when a query successfully returns from the Search API.\n *\n * All bound handlers will receive {@link IQuerySuccessEventArgs} as an argument.\n *\n * The string value is `querySuccess`.\n * @type {string}\n */\n public static querySuccess = 'querySuccess';\n /**\n * Triggered when a more results were successfully returned from the Search API. (think : infinite scrolling, or pager).\n *\n * All bound handlers will receive {@link IFetchMoreSuccessEventArgs} as an argument.\n *\n * The string value is `fetchMoreSuccess`.\n * @type {string}\n */\n public static fetchMoreSuccess = 'fetchMoreSuccess';\n /**\n * Triggered after the main query success event has finished executing.\n *\n * This is typically where facets will process the {@link IGroupByResult} and render themselves.\n *\n * All bound handlers will receive {@link IQuerySuccessEventArgs} as an argument.\n *\n * The string value is `deferredQuerySuccess`.\n * @type {string}\n */\n public static deferredQuerySuccess = 'deferredQuerySuccess';\n /**\n * Triggered when there was an error executing a query on the Search API.\n *\n * All bound handlers will receive {@link IQueryErrorEventArgs} as an argument.\n *\n * The string value is `queryError`.\n * @type {string}\n */\n public static queryError = 'queryError';\n /**\n * Triggered before the {@link QueryEvents.querySuccess} event.\n *\n * This allows external code to modify the results before rendering them.\n *\n * For example, the {@link Folding} component might use this event to construct a coherent parent child relationship between query results.\n *\n * All bound handlers will receive {@link IPreprocessResultsEventArgs} as an argument.\n *\n * The string value is `preprocessResults`.\n * @type {string}\n */\n public static preprocessResults = 'preprocessResults';\n /**\n * Triggered before the {@link QueryEvents.fetchMoreSuccess} event.\n *\n * This allows external code to modify the results before rendering them.\n *\n * For example, the {@link Folding} component might use this event to construct a coherent parent child relationship between query results.\n *\n * All bound handlers will receive {@link IPreprocessResultsEventArgs} as an argument.\n *\n * The string value is `preprocessMoreResults`.\n * @type {string}\n */\n public static preprocessMoreResults = 'preprocessMoreResults';\n /**\n * Triggered when there is no result for a particular query.\n *\n * All bound handlers will receive {@link INoResultsEventArgs} as an argument.\n *\n * The string value is `noResults`.\n * @type {string}\n */\n public static noResults = 'noResults';\n public static buildingCallOptions = 'buildingCallOptions';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/events/QueryEvents.ts","// Ensure that we're not going to get console is undefined error in IE8-9\n\n/* istanbul ignore next */\nif (!window['console']) {\n console = {\n log: function() {},\n debug: function() {},\n info: function() {},\n warn: function() {},\n error: function() {},\n assert: function() {},\n clear: function() {},\n count: function() {},\n dir: function() {},\n dirxml: function() {},\n group: function() {},\n groupCollapsed: function() {},\n groupEnd: function() {},\n msIsIndependentlyComposed: function(element: any): any {},\n profile: function() {},\n profileEnd: function() {},\n select: function() {},\n time: function() {},\n timeEnd: function() {},\n trace: function() {}\n };\n}\n\n/* istanbul ignore next */\nexport class Logger {\n static TRACE = 1;\n static DEBUG = 2;\n static INFO = 3;\n static WARN = 4;\n static ERROR = 5;\n static NOTHING = 6;\n\n static level = Logger.INFO;\n static executionTime = false;\n\n constructor(private owner: any) {}\n\n trace(...stuff: any[]) {\n if (Logger.level <= Logger.TRACE) {\n this.log('TRACE', stuff);\n }\n }\n\n debug(...stuff: any[]) {\n if (Logger.level <= Logger.DEBUG) {\n this.log('DEBUG', stuff);\n }\n }\n\n info(...stuff: any[]) {\n if (Logger.level <= Logger.INFO) {\n this.log('INFO', stuff);\n }\n }\n\n warn(...stuff: any[]) {\n if (Logger.level <= Logger.WARN) {\n this.log('WARN', stuff);\n }\n }\n\n error(...stuff: any[]) {\n if (Logger.level <= Logger.ERROR) {\n this.log('ERROR', stuff);\n }\n }\n\n private log(level: string, stuff: any[]) {\n if (window['console'] && console.log) {\n if (console.error && level == 'ERROR') {\n console.error([level, this.owner].concat(stuff));\n } else if (console.info && level == 'INFO') {\n console.info([level, this.owner].concat(stuff));\n } else if (console.warn && level == 'WARN') {\n console.warn([level, this.owner].concat(stuff));\n } else {\n console.log([level, this.owner].concat(stuff));\n }\n if (Logger.executionTime) {\n console.timeEnd('Execution time');\n console.time('Execution time');\n }\n }\n }\n\n static enable() {\n Logger.level = Logger.TRACE;\n }\n\n static disable() {\n Logger.level = Logger.NOTHING;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/misc/Logger.ts","import { Model, IModelSetOptions } from './Model';\nimport { Assert } from '../misc/Assert';\nimport { IStringMap } from '../rest/GenericParam';\nimport * as _ from 'underscore';\nimport { Utils } from '../utils/Utils';\n\nexport const QUERY_STATE_ATTRIBUTES = {\n Q: 'q',\n FIRST: 'first',\n T: 't',\n TG: 'tg',\n SORT: 'sort',\n LAYOUT: 'layout',\n HD: 'hd',\n HQ: 'hq',\n QUICKVIEW: 'quickview',\n DEBUG: 'debug'\n};\n\nexport interface IQueryStateIncludedAttribute {\n title: string;\n included: string[];\n}\n\nexport interface IQueryStateExcludedAttribute {\n title: string;\n excluded: string[];\n}\n\n/**\n * The `QueryStateModel` class is a key-value store which contains the current state of the components that can affect\n * the query (see [State](https://developers.coveo.com/x/RYGfAQ)). This class inherits from the [`Model`]{@link Model}\n * class. Optionally, it is possible to persist the state in the query string in order to enable browser history\n * management (see the [`HistoryController`]{@link HistoryController} class).\n *\n * Components set values in the `QueryStateModel` instance to reflect their current state. The `QueryStateModel`\n * triggers state events (see [`eventTypes`]{@link Model.eventTypes}) whenever one of its values is modified. Components\n * listen to triggered state events to update themselves when appropriate.\n *\n * For instance, when a query is triggered, the [`Searchbox`]{@link Searchbox} component sets the `q` attribute (the\n * basic query expression), while the [`Pager`]{@link Pager} component sets the `first` attribute (the index of the\n * first result to display in the result list), and so on.\n *\n * **Example:**\n *\n * > The user modifies the content of the `Searchbox` and submits a query. This triggers the following state events:\n * > - `state:change:q` (because the value of `q` has changed).\n * > - `state:change` (because at least one value has changed in the `QueryStateModel`).\n * >\n * > Components or external code can attach handlers to those events:\n * > ```javascript\n * > Coveo.$$(document).on('state:change:q', function() {\n * > [ ... ]\n * > });\n * > ```\n *\n * **Note:**\n * > Normally, you should interact with the `QueryStateModel` instance using the [`Coveo.state`]{@link state} top-level\n * > function.\n */\nexport class QueryStateModel extends Model {\n static ID = 'state';\n\n static defaultAttributes = {\n q: '',\n first: 0,\n fv: '',\n t: '',\n hd: '',\n hq: '',\n sort: '',\n layout: 'list',\n tg: '',\n quickview: '',\n debug: false\n };\n\n static attributesEnum = {\n q: 'q',\n first: 'first',\n fv: 'fv',\n t: 't',\n sort: 'sort',\n layout: 'layout',\n hd: 'hd',\n hq: 'hq',\n tg: 'tg',\n quickview: 'quickview',\n debug: 'debug'\n };\n\n static getFacetId(id: string, include: boolean = true) {\n return 'f:' + id + (include ? '' : ':not');\n }\n\n static getFacetOperator(id: string) {\n return 'f:' + id + ':operator';\n }\n\n static getFacetLookupValue(id: string) {\n return QueryStateModel.getFacetId(id) + ':lookupvalues';\n }\n\n /**\n * Creates a new `QueryStateModel` instance.\n * @param element The HTMLElement on which to instantiate the `QueryStateModel`.\n * @param attributes The state key-value store to instantiate the `QueryStateModel` with.\n */\n constructor(element: HTMLElement, attributes?: IStringMap) {\n const merged = { ...QueryStateModel.defaultAttributes, ...attributes };\n super(element, QueryStateModel.ID, merged);\n }\n\n /**\n * Validates whether at least one facet is currently active (has selected or excluded values) in the interface.\n *\n * @returns {boolean} `true` if at least one facet is active; `false` otherwise.\n */\n public atLeastOneFacetIsActive() {\n return !_.isUndefined(\n _.find(this.attributes, (value, key: any) => {\n return key.indexOf('f:') == 0 && !Utils.arrayEqual(this.getDefault(key), value);\n })\n );\n }\n\n public set(attribute: string, value: any, options?: IModelSetOptions) {\n this.validate(attribute, value);\n super.set(attribute, value, options);\n }\n\n private validate(attribute: string, value: any) {\n if (attribute == QueryStateModel.attributesEnum.first) {\n Assert.isNumber(value);\n Assert.isLargerOrEqualsThan(0, value);\n }\n }\n}\n\nexport function setState(model: Model, args: any[]): any {\n Assert.exists(model);\n\n if (args.length == 0 || args[0] == undefined) {\n // No args means return the model\n return model;\n } else if (args.length == 1 && Utils.isNonEmptyString(args[0])) {\n // One string arg means retrieve value from model\n return model.get(args[0]);\n } else if (_.isObject(args[0])) {\n // One dictionary means set multiple values\n let toSet = args[0];\n let options = _.extend({ customAttribute: true }, args[1]);\n return model.setMultiple(toSet, options);\n } else if (args.length > 1) {\n // Otherwise we're setting a value\n let name = args[0];\n let value = args[1];\n let options = _.extend({ customAttribute: true }, args[2]);\n Assert.isNonEmptyString(name);\n return model.set(name, value, options);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/QueryStateModel.ts","declare const require: (svgPath: string) => string;\n\nexport class SVGIcons {\n public static icons = {\n search: require(`svg/search`),\n more: require(`svg/more`),\n loading: require(`svg/loading`),\n checkboxHookExclusionMore: require(`svg/checkbox-hook-exclusion-more`),\n arrowUp: require(`svg/arrow-up`),\n arrowDown: require(`svg/arrow-down`),\n\n mainClear: require(`svg/main-clear`),\n orAnd: require(`svg/or-and`),\n sort: require(`svg/sort`),\n ascending: require(`svg/ascending`),\n descending: require(`svg/descending`),\n dropdownMore: require(`svg/dropdown-more`),\n dropdownLess: require(`svg/dropdown-less`),\n facetCollapse: require(`svg/facet-collapse`),\n facetExpand: require(`svg/facet-expand`),\n\n dropdownShareQuery: require(`svg/dropdown-share-query`),\n dropdownPreferences: require(`svg/dropdown-preferences`),\n dropdownAuthenticate: require(`svg/dropdown-authenticate`),\n dropdownExport: require(`svg/dropdown-export`),\n dropdownFollowQuery: require(`svg/dropdown-follow-query`),\n quickview: require(`svg/quickview`),\n pagerRightArrow: require(`svg/pager-right-arrow`),\n pagerLeftArrow: require(`svg/pager-left-arrow`),\n replies: require(`svg/replies`),\n video: require(`svg/video`),\n coveoLogo: require(`svg/coveo-logo`),\n coveoPoweredBy: require(`svg/coveo-powered-by-logo`),\n taggingOk: require(`svg/tagging-ok`),\n edit: require(`svg/edit`),\n star: require(`svg/star`),\n listLayout: require(`svg/list-layout`),\n cardLayout: require(`svg/card-layout`),\n tableLayout: require(`svg/table-layout`)\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/SVGIcons.ts","/**\n * This static class is there to contain the different string definitions for all the events related to initialization.\n *\n * Note that these events will only be triggered when the {@link init} function is called.\n *\n * This means these events are normally called only once when the search interface is initialized.\n */\nexport class InitializationEvents {\n /**\n * This event is triggered right before each components inside the search interface get initialized (eg: Before the constructor of each component is executed).\n *\n * The string value is `beforeInitialization`.\n * @type {string}\n */\n public static beforeInitialization = 'beforeInitialization';\n /**\n * Triggered after the components are initialized (eg: After the constructor of each component is executed)\n * but before their state is set from the hash portion of the URL (e.g., http://mysearchinterface#q=myQuery ).\n *\n * This is also before the first query is launched (if the {@link SearchInterface.options.autoTriggerQuery} is `true`).\n *\n * The string value is `afterComponentsInitialization`.\n * @type {string}\n */\n public static afterComponentsInitialization = 'afterComponentsInitialization';\n /**\n * Triggered right before the state from the URL (e.g., http://mysearchinterface#q=myQuery ) gets applied in the interface.\n *\n * This will typically only be useful if the {@link SearchInterface.options.enableHistory} is set to `true`.\n *\n * The string value is `restoreHistoryState`.\n * @type {string}\n */\n public static restoreHistoryState = 'restoreHistoryState';\n /**\n * Triggered right after the UI is fully initialized.\n *\n * Concretely this means that the constructor of each component has been executed, and that the state coming for the URL (e.g., http://mysearchinterface#q=myquery) has been applied.\n *\n * It is triggered *before* the first query is launched, and if the {@link SearchInterface.options.autoTriggerQuery} is `true`.\n *\n * The string value is `afterInitialization`.\n * @type {string}\n */\n public static afterInitialization = 'afterInitialization';\n /**\n * This is triggered when the UI needs to be dynamically removed so that components can unbind any internal handlers they might have set globally on the window or the document.\n *\n * After this event has been executed, the search interface can be dynamically removed and all handlers can be considered cleanly removed.\n *\n * The string value is `nuke`.\n * @type {string}\n */\n public static nuke = 'nuke';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/events/InitializationEvents.ts","import { $$ } from '../utils/Dom';\nimport { Assert } from '../misc/Assert';\nimport { Utils } from '../utils/Utils';\nimport { BaseComponent } from '../ui/Base/BaseComponent';\nimport * as _ from 'underscore';\nimport { IStringMap } from '../rest/GenericParam';\n\nexport const MODEL_EVENTS = {\n PREPROCESS: 'preprocess',\n CHANGE_ONE: 'change:',\n CHANGE: 'change',\n RESET: 'reset',\n ALL: 'all'\n};\n\nexport interface IModelSetOptions {\n silent?: boolean;\n customAttribute?: boolean;\n validateType?: boolean;\n}\n\nexport interface IAttributeChangedEventArg {\n attribute: string;\n value: any;\n}\n\nexport interface IAttributesChangedEventArg {\n attributes: {};\n}\n\nexport interface IModelChangedEventArg {\n model: Model;\n}\n\n/**\n * A *model* is a key-value store that triggers various JavaScript events when any value associated to one of its key changes.
\n * This class is meant to be extended, one of the most important extension being the {@link QueryStateModel} class.
\n * Components set values in this key-value store and listen to triggered events in order to update themselves accordingly.
\n */\nexport class Model extends BaseComponent {\n /**\n * The attributes contained in this model.
\n * Normally, you should not set attributes directly on this property, as this would prevent required events from being triggered.\n */\n public attributes: IStringMap;\n public defaultAttributes: IStringMap;\n private eventNameSpace;\n\n /**\n * The event types that can be triggered:
\n * • `preprocess`: triggered before a value is set on an attribute. This allows the value to be modified before it is set.
\n * • `changeOne`: triggered when a single value changes.
\n * • `change`: triggered when one or many values change.
\n * • `reset`: triggered when all attributes are reset to their default values.
\n * • `all`: triggered after the `change` event.
\n * @type {{preprocess: string, changeOne: string, change: string, reset: string, all: string}}\n */\n public static eventTypes = {\n preprocess: 'preprocess',\n changeOne: 'change:',\n change: 'change',\n reset: 'reset',\n all: 'all'\n };\n\n constructor(element: HTMLElement, id: string, attributes: { [key: string]: any }) {\n super(element, id);\n this.eventNameSpace = id;\n\n this.defaultAttributes = Utils.extendDeep(this.defaultAttributes, attributes);\n this.attributes = attributes;\n this.logger.debug('Creating model');\n }\n\n /**\n * Sets the value of a single specific attribute.
\n * Note: this method calls the `setMultiple` method.\n * @param attribute\n * the specific attribute whose value is to be set.\n * @param value\n * the value to set the attribute to.\n * @param options\n * the options (see {@link setMultiple}).\n */\n public set(attribute: string, value: any, options?: IModelSetOptions) {\n const toSet: { [key: string]: any } = {};\n toSet[attribute] = value;\n this.setMultiple(toSet, options);\n }\n\n /**\n * Gets an object containing all *active* registered attribute key-values.
\n * An attribute is considered active when its value is not in its default state.\n * @returns {{object}}\n */\n public getAttributes() {\n const attributes: { [key: string]: any } = {};\n _.each(this.attributes, (attribute, key) => {\n if (_.isObject(attribute)) {\n if (!Utils.objectEqual(attribute, this.defaultAttributes[key])) {\n attributes[key] = Utils.extendDeep({}, attribute);\n }\n } else if (attribute != this.defaultAttributes[key]) {\n attributes[key] = attribute;\n }\n });\n return attributes;\n }\n\n /**\n * Sets the values of one or many attributes.
\n * This method may trigger the following events (in order):
\n * • `preprocess`
\n * • `changeOne`
\n * • `change`
\n * • `all`\n * @param toSet\n * the key-value list of attributes with their new intended values.\n * @param options\n * if the `customAttribute` option is set to `true`, the method will not validate whether an attribute is registered or not.
\n * If the `validateType` option is set to `true`, the method will ensure that each value type is correct.
\n * If the `silent` option is set to `true`, then the `changeOne`, `change` and `all` events will not be triggered.\n */\n public setMultiple(toSet: { [key: string]: any }, options?: IModelSetOptions) {\n let anythingChanged = false;\n this.preprocessEvent(toSet);\n _.each(<_.Dictionary>toSet, (value, attribute?) => {\n if (!options || !options.customAttribute) {\n this.checkIfAttributeExists(attribute);\n }\n value = this.parseToCorrectType(attribute, value);\n if (!options || options.validateType) {\n if (!this.typeIsValid(attribute, value)) {\n return;\n }\n }\n if (this.checkIfAttributeChanged(attribute, value)) {\n this.attributes[attribute] = value;\n anythingChanged = true;\n if (options == null || !options.silent) {\n this.attributeHasChangedEvent(attribute);\n }\n }\n });\n if (anythingChanged && (options == null || !options.silent)) {\n this.attributesHasChangedEvent();\n this.anyEvent();\n }\n }\n\n /**\n * Sets a new default value to a single specific attribute.
\n * Note: specifying a new attribute default value does not set the attribute to that value. This can be done using the {@link setDefault} method.\n * @param attribute\n * the specific attribute whose default value is to be changed.\n * @param value\n * the new intended default value.\n * @param options\n * if the `customAttribute` option is set to `true`, the method will not validate whether the attribute is registered or not.\n */\n public setNewDefault(attribute: string, value: any, options?: IModelSetOptions) {\n if (!options || !options.customAttribute) {\n this.checkIfAttributeExists(attribute);\n }\n this.defaultAttributes[attribute] = value;\n }\n\n /**\n * Sets a single specific attribute to its default value.
\n * Note: this method calls the {@link setMultiple} method without specifying any option.\n * @param attribute\n * the specific attribute whose value is to be set to its default value.\n */\n public setDefault(attribute: string) {\n this.set(attribute, this.defaultAttributes[attribute]);\n }\n\n /**\n * Gets the value of a single specific attribute.
\n * If no attribute is specified, the method instead returns an object containing all registered attribute key-values.\n * @param attribute\n * the specific attribute whose value should be returned.\n * @returns {any}\n */\n public get(attribute?: string): any {\n if (attribute == undefined) {\n return this.attributes;\n } else {\n return this.attributes[attribute];\n }\n }\n\n /**\n * Gets the default value of a single specific attribute.
\n * If no attribute is specified, the method instead returns an object containing all registered attribute key-default values.\n * @param attribute\n * the specific attribute whose default value should be returned.\n * @returns {any}\n */\n public getDefault(attribute?: string): any {\n if (attribute == undefined) {\n return this.defaultAttributes;\n } else {\n return this.defaultAttributes[attribute];\n }\n }\n\n /**\n * Resets each registered attribute to its default value.
\n * Note: this method calls the {@link setMultiple} method without specifying any options.
\n * After the `setMultiple` call has returned, this method triggers the `reset` event.\n */\n public reset() {\n this.setMultiple(this.defaultAttributes);\n this.modelWasResetEvent();\n }\n\n /**\n * Registers a new attribute key-value.\n * @param attribute\n * the name of the new attribute to register.\n * @param defaultValue\n * the newly registered attribute default value.\n */\n public registerNewAttribute(attribute: string, defaultValue: any) {\n this.defaultAttributes[attribute] = defaultValue;\n this.attributes[attribute] = defaultValue;\n }\n\n /**\n * Gets a string displaying the event namespace followed by the specific event name. The returned string is formatted thus:
\n * `[eventNameSpace]:[eventName]`\n * @example `getEventName(\"reset\");` could return `\"state:reset\"`.\n * @param event\n * the event name.\n * @returns {string}\n */\n public getEventName(event: string) {\n return this.eventNameSpace + ':' + event;\n }\n\n private attributesHasChangedEvent() {\n $$(this.element).trigger(this.getEventName(Model.eventTypes.change), this.createAttributesChangedArgument());\n }\n\n private attributeHasChangedEvent(attr: string) {\n $$(this.element).trigger(this.getEventName(Model.eventTypes.changeOne) + attr, this.createAttributeChangedArgument(attr));\n }\n\n private preprocessEvent(attributes: { [key: string]: any }) {\n $$(this.element).trigger(this.getEventName(Model.eventTypes.preprocess), attributes);\n }\n\n private modelWasResetEvent() {\n $$(this.element).trigger(this.getEventName(Model.eventTypes.reset), this.createModelChangedArgument());\n }\n\n private anyEvent() {\n $$(this.element).trigger(this.getEventName(Model.eventTypes.all), this.createModelChangedArgument());\n }\n\n private createAttributeChangedArgument(attribute: string): IAttributeChangedEventArg {\n return { attribute: attribute, value: this.attributes[attribute] };\n }\n\n private createAttributesChangedArgument(): IAttributesChangedEventArg {\n return { attributes: this.attributes };\n }\n\n private createModelChangedArgument(): IModelChangedEventArg {\n return { model: this };\n }\n\n private checkIfAttributeExists(attribute: string) {\n Assert.check(_.has(this.attributes, attribute), `The attribute ${attribute} is not registered.`);\n }\n\n private typeIsValid(attribute: string, value: any): boolean {\n if (!Utils.isNullOrUndefined(this.attributes[attribute]) && !Utils.isUndefined(value)) {\n if (_.isNumber(this.attributes[attribute])) {\n return this.validateNumber(attribute, value);\n } else if (_.isBoolean(this.attributes[attribute])) {\n return this.validateBoolean(attribute, value);\n } else {\n return this.validateOther(attribute, value);\n }\n }\n return true;\n }\n\n private validateNumber(attribute: string, value: any): boolean {\n if (!_.isNumber(value) || isNaN(value)) {\n this.logger.error(`Non-matching type for ${attribute}. Expected number and got ${value}`);\n return false;\n }\n return true;\n }\n\n private validateBoolean(attribute: string, value: any) {\n if (!_.isBoolean(value) && !Utils.parseBooleanIfNotUndefined(value) !== undefined) {\n this.logger.error(`Non matching type for ${attribute}. Expected boolean and got ${value}`);\n return false;\n }\n return true;\n }\n\n private validateOther(attribute: string, value: any) {\n if (!Utils.isNullOrUndefined(this.defaultAttributes[attribute])) {\n if (typeof value !== typeof this.defaultAttributes[attribute]) {\n this.logger.error(`Non-matching type for ${attribute}. Expected ${typeof this.defaultAttributes[attribute]} and got ${value}`);\n return false;\n }\n }\n return true;\n }\n\n private parseToCorrectType(attribute: string, value: any): any {\n if (_.isNumber(this.attributes[attribute])) {\n return parseInt(value, 10);\n } else if (_.isBoolean(this.attributes[attribute])) {\n if (_.isBoolean(value)) {\n return value;\n } else {\n return Utils.parseBooleanIfNotUndefined(value);\n }\n }\n return value;\n }\n\n private checkIfAttributeChanged(attribute: string, newValue: any): boolean {\n let oldValue = this.attributes[attribute];\n if (_.isNumber(oldValue) || _.isString(oldValue) || _.isBoolean(oldValue)) {\n return oldValue !== newValue;\n }\n if (_.isArray(oldValue)) {\n return !Utils.arrayEqual(oldValue, newValue);\n }\n if (_.isObject(oldValue)) {\n return !Utils.objectEqual(oldValue, newValue);\n }\n return true;\n }\n\n public debugInfo() {\n return null;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/Model.ts","import { SearchEndpoint } from '../../rest/SearchEndpoint';\nimport { ComponentOptions, IFieldOption } from '../Base/ComponentOptions';\nimport { $$ } from '../../utils/Dom';\nimport { Assert } from '../../misc/Assert';\nimport { QueryStateModel } from '../../models/QueryStateModel';\nimport { ComponentStateModel } from '../../models/ComponentStateModel';\nimport { ComponentOptionsModel } from '../../models/ComponentOptionsModel';\nimport { QueryController } from '../../controllers/QueryController';\nimport { Model, IAttributeChangedEventArg } from '../../models/Model';\nimport {\n QueryEvents,\n IBuildingQueryEventArgs,\n INewQueryEventArgs,\n IQuerySuccessEventArgs,\n IQueryErrorEventArgs,\n IDoneBuildingQueryEventArgs\n} from '../../events/QueryEvents';\nimport { IBeforeRedirectEventArgs, StandaloneSearchInterfaceEvents } from '../../events/StandaloneSearchInterfaceEvents';\nimport { HistoryController } from '../../controllers/HistoryController';\nimport { LocalStorageHistoryController } from '../../controllers/LocalStorageHistoryController';\nimport { InitializationEvents } from '../../events/InitializationEvents';\nimport { IAnalyticsClient } from '../Analytics/AnalyticsClient';\nimport { NoopAnalyticsClient } from '../Analytics/NoopAnalyticsClient';\nimport { Utils } from '../../utils/Utils';\nimport { RootComponent } from '../Base/RootComponent';\nimport { BaseComponent } from '../Base/BaseComponent';\nimport { HashUtils } from '../../utils/HashUtils';\nimport { SentryLogger } from '../../misc/SentryLogger';\nimport { IComponentBindings } from '../Base/ComponentBindings';\nimport { analyticsActionCauseList } from '../Analytics/AnalyticsActionListMeta';\nimport { ResponsiveComponents } from '../ResponsiveComponents/ResponsiveComponents';\nimport { Context, IPipelineContextProvider } from '../PipelineContext/PipelineGlobalExports';\nimport { InitializationPlaceholder } from '../Base/InitializationPlaceholder';\nimport { Debug } from '../Debug/Debug';\nimport { FacetValueStateHandler } from './FacetValueStateHandler';\nimport RelevanceInspectorModule = require('../RelevanceInspector/RelevanceInspector');\n\nimport * as fastclick from 'fastclick';\nimport * as jstz from 'jstimezonedetect';\n\nimport 'styling/Globals';\nimport 'styling/_SearchInterface';\nimport 'styling/_SearchModalBox';\nimport 'styling/_SearchButton';\nimport { each, indexOf, isEmpty, chain, any, find, partition, first, tail } from 'underscore';\nimport { FacetColumnAutoLayoutAdjustment } from './FacetColumnAutoLayoutAdjustment';\n\nexport interface ISearchInterfaceOptions {\n enableHistory?: boolean;\n enableAutomaticResponsiveMode?: boolean;\n useLocalStorageForHistory?: boolean;\n resultsPerPage?: number;\n excerptLength?: number;\n expression?: string;\n filterField?: IFieldOption;\n autoTriggerQuery?: boolean;\n timezone?: string;\n enableDebugInfo?: boolean;\n enableCollaborativeRating?: boolean;\n enableDuplicateFiltering?: boolean;\n hideUntilFirstQuery?: boolean;\n firstLoadingAnimation?: any;\n pipeline?: string;\n maximumAge?: number;\n searchPageUri?: string;\n initOptions?: any;\n endpoint?: SearchEndpoint;\n originalOptionsObject?: any;\n allowQueriesWithoutKeywords?: boolean;\n}\n\n/**\n * The SearchInterface component is the root and main component of your Coveo search interface. You should place all\n * other Coveo components inside the SearchInterface component.\n *\n * It is also on the HTMLElement of the SearchInterface component that you call the {@link init} function.\n *\n * It is advisable to specify a unique HTML `id` attribute for the SearchInterface component in order to be able to\n * reference it easily.\n *\n * **Example:**\n *\n * ```html\n * \n *\n * [ ... ]\n *\n * \n *\n * [ ... ]\n * \n *\n * \n * \n *\n * [ ... ]\n *\n * \n *\n * [ ... ]\n *\n * \n * ```\n */\nexport class SearchInterface extends RootComponent implements IComponentBindings {\n static ID = 'SearchInterface';\n\n /**\n * The options for the search interface\n * @componentOptions\n */\n static options: ISearchInterfaceOptions = {\n /**\n * Specifies whether to allow the end user to navigate search history using the **Back** and **Forward** buttons\n * of the browser.\n *\n * If this options is `true`, the SearchInterface component saves the state of the current query in the hash portion\n * of the URL when the user submits the query.\n *\n * **Example:**\n * > If the `enableHistory` option is `true` and the current query is `foobar`, the SearchInterface component\n * > saves `q=foobar` in the URL hash when the user submits the query.\n *\n * Default value is `false`.\n */\n enableHistory: ComponentOptions.buildBooleanOption({ defaultValue: false }),\n\n /**\n * Specifies whether to enable automatic responsive mode (i.e., automatically placing {@link Facet} and {@link Tab}\n * components in dropdown menus under the search box when the width of the SearchInterface HTML element reaches or\n * falls behind a certain pixel threshold).\n *\n * You might want to set this option to `false` if automatic responsive mode does not suit the specific design needs\n * of your implementation.\n *\n * **Note:**\n *\n * > If this option is `true`, you can also specify whether to enable responsive mode for Facet components (see\n * > {@link Facet.options.enableResponsiveMode}) and for Tab components (see\n * > {@link Tab.options.enableResponsiveMode}).\n * >\n * > In addition, you can specify the label you wish to display on the dropdown buttons (see\n * > {@link Facet.options.dropdownHeaderLabel} and {@link Tab.options.dropdownHeaderLabel}).\n *\n * Default value is `true`.\n */\n enableAutomaticResponsiveMode: ComponentOptions.buildBooleanOption({ defaultValue: true }),\n\n /**\n * Specifies whether to save the interface state in the local storage of the browser.\n *\n * You might want to set this option to `true` for reasons specifically important for your implementation.\n *\n * Default value is `false`.\n */\n useLocalStorageForHistory: ComponentOptions.buildBooleanOption({ defaultValue: false }),\n\n /**\n * Specifies the number of results to display on each page.\n *\n * For more advanced features, see the {@link ResultsPerPage} component.\n *\n * **Note:**\n *\n * > When the {@link ResultsPerPage} component is present in the page, this option gets overridden and is useless.\n *\n * Default value is `10`. Minimum value is `0`.\n */\n resultsPerPage: ComponentOptions.buildNumberOption({ defaultValue: 10, min: 0 }),\n\n /**\n * Specifies the number of characters to get at query time to create an excerpt of the result.\n *\n * This setting is global and cannot be modified on a per-result basis.\n *\n * See also the {@link Excerpt} component.\n *\n * Default value is `200`. Minimum value is `0`.\n */\n excerptLength: ComponentOptions.buildNumberOption({ defaultValue: 200, min: 0 }),\n\n /**\n * Specifies an expression to add to each query.\n *\n * You might want to use this options to add a global filter to your entire search interface that applies for all\n * tabs.\n *\n * You should not use this option to address security concerns (it is JavaScript, after all).\n *\n * **Note:**\n *\n * > It also is possible to set this option separately for each {@link Tab} component\n * > (see {@link Tab.options.expression}).\n *\n * Default value is `''`.\n */\n expression: ComponentOptions.buildStringOption({ defaultValue: '' }),\n\n /**\n * Specifies the name of a field to use as a custom filter when executing the query (also referred to as\n * \"folding\").\n *\n * Setting a value for this option causes the index to return only one result having any particular value inside the\n * filter field. Any other matching result is \"folded\" inside the childResults member of each JSON query result.\n *\n * This feature is typically useful with threaded conversations to include only one top-level result per\n * conversation. Thus, the field you specify for this option will typically be value unique to each thread that is\n * shared by all items (e.g., posts, emails, etc) in the thread.\n *\n * For more advanced features, see the {@link Folding} component.\n *\n * Default value is the empty string (`''`).\n */\n filterField: ComponentOptions.buildFieldOption({ defaultValue: '' }),\n\n /**\n * Specifies whether to display a loading animation before the first query successfully returns.\n *\n * **Note:**\n *\n * > If you do not set this options to `false`, the loading animation will still run until the first query\n * > successfully returns even if the [autoTriggerQuery]{@link SearchInterface.options.autoTriggerQuery} option is\n * `false`.\n *\n * See also the [firstLoadingAnimation]{@link SearchInterface.options.firstLoadingAnimation} option.\n *\n * Default value is `true`.\n *\n * @deprecated This option is exposed for legacy reasons. Since the\n * [July 2017 Release (v2.2900.23)](https://developers.coveo.com/x/gSMvAg), the loading animation is composed of\n * placeholders, making this option is obsolete.\n */\n hideUntilFirstQuery: ComponentOptions.buildBooleanOption({\n deprecated: 'Exposed for legacy reasons. The loading animation is now composed of placeholders, and this option is obsolete.'\n }),\n\n /**\n * Specifies the animation that you wish to display while your interface is loading.\n *\n * You can either specify the CSS selector of an HTML element that matches the default CSS class\n * (`coveo-first-loading-animation`), or add `-selector` to the markup attribute of this option to specify the CSS\n * selector of an HTML element that matches any CSS class.\n *\n * See also the [hideUntilFirstQuery]{@link SearchInterface.options.hideUntilFirstQuery} option.\n *\n * **Examples:**\n *\n * In this first case, the SearchInterface uses the HTML element whose `id` attribute is `MyAnimation` as the\n * loading animation only if the `class` attribute of this element also matches `coveo-first-loading-animation`.\n * Default loading animation CSS, which you can customize as you see fit, applies to this HTML element.\n * ```html\n *
\n *
\n * \n *
\n * \n *
\n * ```\n *\n * In this second case, the SearchInterface uses the HTML element whose `id` attribute is `MyAnimation` as the\n * loading animation no matter what CSS class it matches. However, if the `class` attribute of the HTML element does\n * not match `coveo-first-loading-animation`, no default loading animation CSS applies to this HTML element.\n * Normally, you should only use `data-first-loading-animation-selector` if you want to completely override the\n * default loading animation CSS.\n * ```html\n *
\n *
\n * \n *
\n * \n *
\n * ```\n *\n * By default, the loading animation is a Coveo CSS animation (which you can customize with CSS).\n *\n * @deprecated This option is exposed for legacy reasons. Since the\n * [July 2017 Release (v2.2900.23)](https://developers.coveo.com/x/gSMvAg), the loading animation is composed of\n * placeholders, making this option is obsolete.\n */\n firstLoadingAnimation: ComponentOptions.buildChildHtmlElementOption({\n deprecated: 'Exposed for legacy reasons. The loading animation is now composed of placeholder, and this options is obsolete.'\n }),\n\n /**\n * Specifies whether to trigger the first query automatically when the page finishes loading.\n *\n * Default value is `true`.\n */\n autoTriggerQuery: ComponentOptions.buildBooleanOption({ defaultValue: true }),\n /**\n * Specifies if the search interface should perform queries when no keywords are entered by the end user.\n *\n * When this option is set to true, the interface will initially only load with the search box, as long as you have a search box component in your interface.\n *\n * Once the user submits a query, the full search interface loads to display the results.\n *\n * When using the Coveo for Salesforce Free edition, this option is automatically set to false, and should not be changed.\n *\n * This option interacts closely with the {@link SearchInterface.options.autoTriggerQuery} option, as the automatic query is not triggered when there are no keywords.\n *\n * It also modifies the {@link IQuery.allowQueriesWithoutKeywords} query parameter.\n *\n * Default value is `true`\n * @notSupportedIn salesforcefree\n */\n allowQueriesWithoutKeywords: ComponentOptions.buildBooleanOption({ defaultValue: true }),\n endpoint: ComponentOptions.buildCustomOption(\n endpoint => (endpoint != null && endpoint in SearchEndpoint.endpoints ? SearchEndpoint.endpoints[endpoint] : null),\n { defaultFunction: () => SearchEndpoint.endpoints['default'] }\n ),\n\n /**\n * Specifies the timezone in which the search interface is loaded. This allows the index to recognize some special\n * query syntax.\n *\n * This option must have a valid IANA zone info key (AKA the Olson time zone database) as its value.\n *\n * **Example:** `America/New_York`.\n *\n * By default, the search interface allows a library to try to detect the timezone automatically.\n */\n timezone: ComponentOptions.buildStringOption({ defaultFunction: () => jstz.determine().name() }),\n /**\n * Specifies whether to enable the feature that allows the end user to ALT + double click any result to open a debug\n * page with detailed information about all properties and fields for that result.\n *\n * Enabling this feature causes no security concern; the entire debug information is always visible to the end user\n * through the browser developer console or by calling the Coveo API directly.\n *\n * Default value is `true`.\n */\n enableDebugInfo: ComponentOptions.buildBooleanOption({ defaultValue: true }),\n\n /**\n * Specifies whether to enable collaborative rating, which you can leverage using the\n * [`ResultRating`]{@link ResultRating} component.\n *\n * Setting this option to `true` has no effect unless collaborative rating is also enabled on your Coveo index.\n *\n * Default value is `false`.\n */\n enableCollaborativeRating: ComponentOptions.buildBooleanOption({ defaultValue: false }),\n\n /**\n * Specifies whether to filter duplicates in the search results.\n *\n * Setting this option to `true` forces duplicates to not appear in search results. However, {@link Facet} counts\n * still include the duplicates, which can be confusing for the end user. This is a limitation of the index.\n *\n * **Example:**\n *\n * > The end user narrows a query down to a single item that has a duplicate. If the enableDuplicateFiltering\n * > option is `true`, then only one item appears in the search results while the Facet count is still 2.\n *\n * **Note:**\n *\n * > It also is possible to set this option separately for each {@link Tab} component\n * > (see {@link Tab.options.enableDuplicateFiltering}).\n *\n * Default value is `false`.\n */\n enableDuplicateFiltering: ComponentOptions.buildBooleanOption({ defaultValue: false }),\n\n /**\n * Specifies the name of the query pipeline to use for the queries.\n *\n * You can specify a value for this option if your index is in a Coveo Cloud organization in which pipelines have\n * been created (see [Managing Query Pipelines](http://www.coveo.com/go?dest=cloudhelp&lcid=9&context=128)).\n *\n * **Note:**\n *\n * > It also is possible to set this option separately for each {@link Tab} component\n * > (see {@link Tab.options.pipeline}).\n *\n * Default value is `undefined`, which means that the search interface uses the default pipeline.\n */\n pipeline: ComponentOptions.buildStringOption(),\n\n /**\n * Specifies the maximum age (in milliseconds) that cached query results can have to still be usable as results\n * instead of performing a new query on the index. The cache is located in the Coveo Search API (which resides\n * between the index and the search interface).\n *\n * If cached results that are older than the age you specify in this option are available, the framework will not\n * use these results; it will rather perform a new query on the index.\n *\n * On high-volume public web sites, specifying a higher value for this option can greatly improve query response\n * time at the cost of result freshness.\n *\n * **Note:**\n *\n * > It also is possible to set this option separately for each {@link Tab} component\n * > (see {@link Tab.options.maximumAge}).\n *\n * Default value is `undefined`, which means that the search interface lets the Coveo Search API determine the\n * maximum cache age. This is typically equivalent to 30 minutes (see\n * [Query Parameters - maximumAge](https://developers.coveo.com/x/iwEv#QueryParameters-maximumAge)).\n */\n maximumAge: ComponentOptions.buildNumberOption(),\n\n /**\n * Specifies the search page you wish to navigate to when instantiating a standalone search box interface.\n *\n * Default value is `undefined`, which means that the search interface does not redirect.\n */\n searchPageUri: ComponentOptions.buildStringOption()\n };\n\n public static SMALL_INTERFACE_CLASS_NAME = 'coveo-small-search-interface';\n\n public root: HTMLElement;\n public queryStateModel: QueryStateModel;\n public componentStateModel: ComponentStateModel;\n public queryController: QueryController;\n public componentOptionsModel: ComponentOptionsModel;\n public usageAnalytics: IAnalyticsClient;\n /**\n * Allows to get and set the different breakpoints for mobile and tablet devices.\n *\n * This is useful, amongst other, for {@link Facet}, {@link Tab} and {@link ResultList}\n */\n public responsiveComponents: ResponsiveComponents;\n public isResultsPerPageModifiedByPipeline = false;\n\n private attachedComponents: { [type: string]: BaseComponent[] };\n private facetValueStateHandler: FacetValueStateHandler;\n private queryPipelineConfigurationForResultsPerPage: number;\n private relevanceInspector: RelevanceInspectorModule.RelevanceInspector;\n\n /**\n * Creates a new SearchInterface. Initialize various singletons for the interface (e.g., usage analytics, query\n * controller, state model, etc.). Binds events related to the query.\n * @param element The HTMLElement on which to instantiate the component. This cannot be an `HTMLInputElement` for\n * technical reasons.\n * @param options The options for the SearchInterface.\n * @param analyticsOptions The options for the {@link Analytics} component. Since the Analytics component is normally\n * global, it needs to be passed at initialization of the whole interface.\n * @param _window The window object for the search interface. Used for unit tests, which can pass a mock. Default is\n * the global window object.\n */\n constructor(public element: HTMLElement, public options?: ISearchInterfaceOptions, public analyticsOptions?, public _window = window) {\n super(element, SearchInterface.ID);\n\n this.options = ComponentOptions.initComponentOptions(element, SearchInterface, options);\n Assert.exists(element);\n Assert.exists(this.options);\n this.root = element;\n\n if (this.options.allowQueriesWithoutKeywords) {\n this.initializeEmptyQueryAllowed();\n } else {\n this.initializeEmptyQueryNotAllowed();\n }\n\n // The definition file for fastclick does not match the way that fast click gets loaded (AMD)\n if ((fastclick).attach) {\n (fastclick).attach(element);\n }\n\n this.queryStateModel = new QueryStateModel(element);\n this.componentStateModel = new ComponentStateModel(element);\n this.componentOptionsModel = new ComponentOptionsModel(element);\n this.usageAnalytics = this.initializeAnalytics();\n this.queryController = new QueryController(element, this.options, this.usageAnalytics, this);\n this.facetValueStateHandler = new FacetValueStateHandler((componentId: string) => this.getComponents(componentId));\n new SentryLogger(this.queryController);\n\n const eventName = this.queryStateModel.getEventName(Model.eventTypes.preprocess);\n $$(this.element).on(eventName, (e, args) => this.handlePreprocessQueryStateModel(args));\n $$(this.element).on(QueryEvents.buildingQuery, (e, args) => this.handleBuildingQuery(args));\n $$(this.element).on(QueryEvents.querySuccess, (e, args) => this.handleQuerySuccess(args));\n $$(this.element).on(QueryEvents.queryError, (e, args) => this.handleQueryError(args));\n $$(this.element).on(InitializationEvents.afterComponentsInitialization, () => this.handleAfterComponentsInitialization());\n const debugChanged = this.queryStateModel.getEventName(Model.eventTypes.changeOne + QueryStateModel.attributesEnum.debug);\n $$(this.element).on(debugChanged, (e, args: IAttributeChangedEventArg) => this.handleDebugModeChange(args));\n\n this.queryStateModel.registerNewAttribute(QueryStateModel.attributesEnum.fv, {});\n\n if (this.options.enableHistory) {\n if (!this.options.useLocalStorageForHistory) {\n this.initializeHistoryController();\n } else {\n new LocalStorageHistoryController(element, _window, this.queryStateModel, this.queryController);\n }\n } else {\n $$(this.element).on(InitializationEvents.restoreHistoryState, () =>\n this.queryStateModel.setMultiple({ ...this.queryStateModel.defaultAttributes })\n );\n }\n\n const eventNameQuickview = this.queryStateModel.getEventName(Model.eventTypes.changeOne + QueryStateModel.attributesEnum.quickview);\n $$(this.element).on(eventNameQuickview, (e, args) => this.handleQuickviewChanged(args));\n this.element.style.display = element.style.display || 'block';\n this.setupDebugInfo();\n this.responsiveComponents = new ResponsiveComponents();\n }\n\n public set resultsPerPage(resultsPerPage: number) {\n this.options.resultsPerPage = this.queryController.options.resultsPerPage = resultsPerPage;\n }\n\n public get resultsPerPage() {\n if (this.queryPipelineConfigurationForResultsPerPage != null && this.queryPipelineConfigurationForResultsPerPage != 0) {\n return this.queryPipelineConfigurationForResultsPerPage;\n }\n if (this.queryController.options.resultsPerPage != null && this.queryController.options.resultsPerPage != 0) {\n return this.queryController.options.resultsPerPage;\n }\n // Things would get weird if somehow the number of results per page was set to 0 or not available.\n // Specially for the pager component. As such, we try to cover that corner case.\n this.logger.warn('Results per page is incoherent in the search interface.', this);\n return 10;\n }\n\n /**\n * Attaches a component to the search interface. This allows the search interface to easily list and iterate over its\n * components.\n * @param type Normally, the component type is a unique identifier without the `Coveo` prefix (e.g., `CoveoFacet` ->\n * `Facet`, `CoveoPager` -> `Pager`, `CoveoQuerybox` -> `Querybox`, etc.).\n * @param component The component instance to attach.\n */\n public attachComponent(type: string, component: BaseComponent) {\n this.getComponents(type).push(component);\n }\n\n /**\n * Detaches a component from the search interface.\n * @param type Normally, the component type is a unique identifier without the `Coveo` prefix (e.g., `CoveoFacet` ->\n * `Facet`, `CoveoPager` -> `Pager`, `CoveoQuerybox` -> `Querybox`, etc.).\n * @param component The component instance to detach.\n */\n public detachComponent(type: string, component: BaseComponent) {\n const components = this.getComponents(type);\n const index = indexOf(components, component);\n if (index > -1) {\n components.splice(index, 1);\n }\n }\n\n /**\n * Returns the bindings, or environment, for the current component.\n * @returns {IComponentBindings}\n */\n public getBindings() {\n return {\n root: this.root,\n queryStateModel: this.queryStateModel,\n queryController: this.queryController,\n searchInterface: this,\n componentStateModel: this.componentStateModel,\n componentOptionsModel: this.componentOptionsModel,\n usageAnalytics: this.usageAnalytics\n };\n }\n\n /**\n * Gets the query context for the current search interface.\n *\n * If the search interface has performed at least one query, it will try to resolve the context from the last query sent to the Coveo Search API.\n *\n * If the search interface has not performed a query yet, it will try to resolve the context from any avaiable {@link PipelineContext} component.\n *\n * If multiple {@link PipelineContext} components are available, it will merge all context values together.\n *\n * **Note:**\n * Having multiple PipelineContext components in the same search interface is not recommended, especially if some context keys are repeated across those components.\n *\n * If no context is found, returns `undefined`\n */\n public getQueryContext(): Context {\n let ret: Context;\n\n const lastQuery = this.queryController.getLastQuery();\n if (lastQuery.context) {\n ret = lastQuery.context;\n } else {\n const pipelines = this.getComponents('PipelineContext');\n\n if (pipelines && !isEmpty(pipelines)) {\n const contextMerged = chain(pipelines)\n .map(pipeline => pipeline.getContext())\n .reduce((memo, context) => ({ ...memo, ...context }), {})\n .value();\n if (!isEmpty(contextMerged)) {\n ret = contextMerged;\n }\n }\n }\n\n return ret;\n }\n\n /**\n * Gets all the components of a given type.\n * @param type Normally, the component type is a unique identifier without the `Coveo` prefix (e.g., `CoveoFacet` ->\n * `Facet`, `CoveoPager` -> `Pager`, `CoveoQuerybox` -> `Querybox`, etc.).\n */\n public getComponents(type: string): T[];\n\n /**\n * Gets all the components of a given type.\n * @param type Normally, the component type is a unique identifier without the `Coveo` prefix (e.g., `CoveoFacet` ->\n * `Facet`, `CoveoPager` -> `Pager`, `CoveoQuerybox` -> `Querybox`, etc.).\n */\n public getComponents(type: string): BaseComponent[] {\n if (this.attachedComponents == null) {\n this.attachedComponents = {};\n }\n if (!(type in this.attachedComponents)) {\n this.attachedComponents[type] = [];\n }\n return this.attachedComponents[type];\n }\n\n protected initializeAnalytics(): IAnalyticsClient {\n const analyticsRef = BaseComponent.getComponentRef('Analytics');\n if (analyticsRef) {\n return analyticsRef.create(this.element, this.analyticsOptions, this.getBindings());\n }\n return new NoopAnalyticsClient();\n }\n\n private async handleDebugModeChange(args: IAttributeChangedEventArg) {\n if (args.value && !this.relevanceInspector && this.options.enableDebugInfo) {\n require.ensure(\n ['../RelevanceInspector/RelevanceInspector'],\n () => {\n const loadedModule = require('../RelevanceInspector/RelevanceInspector.ts');\n const relevanceInspectorCtor = loadedModule.RelevanceInspector as RelevanceInspectorModule.IRelevanceInspectorConstructor;\n const relevanceInspectorElement = $$('btn');\n $$(this.element).prepend(relevanceInspectorElement.el);\n this.relevanceInspector = new relevanceInspectorCtor(relevanceInspectorElement.el, this.getBindings());\n },\n null,\n 'RelevanceInspector'\n );\n }\n }\n\n private initializeHistoryController() {\n new HistoryController(this.element, window, this.queryStateModel, this.queryController, this.usageAnalytics);\n }\n\n private setupDebugInfo() {\n if (this.options.enableDebugInfo) {\n setTimeout(() => new Debug(this.element, this.getBindings()));\n }\n }\n\n private handlePreprocessQueryStateModel(args: Record) {\n const tgFromModel = this.queryStateModel.get(QueryStateModel.attributesEnum.tg);\n const tFromModel = this.queryStateModel.get(QueryStateModel.attributesEnum.t);\n\n let tg = tgFromModel;\n let t = tFromModel;\n\n // if you want to set the tab group\n if (args && args.tg !== undefined) {\n args.tg = this.getTabGroupId(args.tg);\n if (tg != args.tg) {\n args.t = args.t || QueryStateModel.defaultAttributes.t;\n args.sort = args.sort || QueryStateModel.defaultAttributes.sort;\n tg = args.tg;\n }\n }\n\n if (args && args.t !== undefined) {\n args.t = this.getTabId(tg, args.t);\n if (t != args.t) {\n args.sort = args.sort || QueryStateModel.defaultAttributes.sort;\n t = args.t;\n }\n }\n\n if (args && args.sort !== undefined) {\n args.sort = this.getSort(t, args.sort);\n }\n\n if (args && args.quickview !== undefined) {\n args.quickview = this.getQuickview(args.quickview);\n }\n\n // `fv:` states are intended to be redirected and used on a standard Search Interface,\n // else the state gets transformed to `hd` before the redirection.\n if (args && args.fv && !(this instanceof StandaloneSearchInterface)) {\n this.facetValueStateHandler.handleFacetValueState(args);\n }\n }\n\n private getTabGroupId(tabGroupId: string) {\n const tabGroupRef = BaseComponent.getComponentRef('TabGroup');\n if (tabGroupRef) {\n const tabGroups = this.getComponents(tabGroupRef.ID);\n // check if the tabgroup is correct\n if (\n tabGroupId != QueryStateModel.defaultAttributes.tg &&\n any(tabGroups, (tabGroup: any) => !tabGroup.disabled && tabGroupId == tabGroup.options.id)\n ) {\n return tabGroupId;\n }\n // select the first tabGroup\n if (tabGroups.length > 0) {\n return tabGroups[0].options.id;\n }\n }\n return QueryStateModel.defaultAttributes.tg;\n }\n\n private getTabId(tabGroupId: string, tabId: string) {\n const tabRef = BaseComponent.getComponentRef('Tab');\n const tabGroupRef = BaseComponent.getComponentRef('TabGroup');\n if (tabRef) {\n const tabs = this.getComponents(tabRef.ID);\n if (tabGroupRef) {\n // if has a tabGroup\n if (tabGroupId != QueryStateModel.defaultAttributes.tg) {\n const tabGroups = this.getComponents(tabGroupRef.ID);\n const tabGroup = find(tabGroups, (tabGroup: any) => tabGroupId == tabGroup.options.id);\n // check if the tabgroup contain this tab\n if (\n tabId != QueryStateModel.defaultAttributes.t &&\n any(tabs, (tab: any) => tabId == tab.options.id && tabGroup.isElementIncludedInTabGroup(tab.element))\n ) {\n return tabId;\n }\n // select the first tab in the tabGroup\n const tab = find(tabs, (tab: any) => tabGroup.isElementIncludedInTabGroup(tab.element));\n if (tab != null) {\n return tab.options.id;\n }\n return QueryStateModel.defaultAttributes.t;\n }\n }\n // check if the tab is correct\n if (tabId != QueryStateModel.defaultAttributes.t && any(tabs, (tab: any) => tabId == tab.options.id)) {\n return tabId;\n }\n // select the first tab\n if (tabs.length > 0) {\n return tabs[0].options.id;\n }\n }\n return QueryStateModel.defaultAttributes.t;\n }\n\n private getSort(tabId: string, sortId: string) {\n const sortRef = BaseComponent.getComponentRef('Sort');\n if (sortRef) {\n const sorts = this.getComponents(sortRef.ID);\n // if has a selected tab\n const tabRef = BaseComponent.getComponentRef('Tab');\n if (tabRef) {\n if (tabId != QueryStateModel.defaultAttributes.t) {\n const tabs = this.getComponents(tabRef.ID);\n const tab = find(tabs, (tab: any) => tabId == tab.options.id);\n const sortCriteria = tab.options.sort;\n\n // check if the tab contain this sort\n if (\n sortId != QueryStateModel.defaultAttributes.sort &&\n any(sorts, (sort: any) => tab.isElementIncludedInTab(sort.element) && sort.match(sortId))\n ) {\n return sortId;\n } else if (sortCriteria != null) {\n // if not and tab.options.sort is set apply it\n return sortCriteria.toString();\n }\n // select the first sort in the tab\n const sort = find(sorts, (sort: any) => tab.isElementIncludedInTab(sort.element));\n if (sort != null) {\n return sort.options.sortCriteria[0].toString();\n }\n return QueryStateModel.defaultAttributes.sort;\n }\n }\n // check if the sort is correct\n if (sortId != QueryStateModel.defaultAttributes.sort && any(sorts, (sort: any) => sort.match(sortId))) {\n return sortId;\n }\n // select the first sort\n if (sorts.length > 0) {\n return sorts[0].options.sortCriteria[0].toString();\n }\n }\n return QueryStateModel.defaultAttributes.sort;\n }\n\n private getQuickview(quickviewId: string) {\n const quickviewRef = BaseComponent.getComponentRef('Quickview');\n if (quickviewRef) {\n const quickviews = this.getComponents(quickviewRef.ID);\n if (any(quickviews, (quickview: any) => quickview.getHashId() == quickviewId)) {\n return quickviewId;\n }\n }\n return QueryStateModel.defaultAttributes.quickview;\n }\n\n private handleQuickviewChanged(args: IAttributeChangedEventArg) {\n const quickviewRef = BaseComponent.getComponentRef('Quickview');\n if (quickviewRef) {\n const quickviews = this.getComponents(quickviewRef.ID);\n if (args.value != '') {\n const quickviewsPartition = partition(quickviews, quickview => quickview.getHashId() == args.value);\n if (quickviewsPartition[0].length != 0) {\n first(quickviewsPartition[0]).open();\n each(tail(quickviewsPartition[0]), quickview => quickview.close());\n }\n each(quickviewsPartition[1], quickview => quickview.close());\n } else {\n each(quickviews, quickview => {\n quickview.close();\n });\n }\n }\n }\n\n private handleBuildingQuery(data: IBuildingQueryEventArgs) {\n if (this.options.enableDuplicateFiltering) {\n data.queryBuilder.enableDuplicateFiltering = true;\n }\n\n if (!Utils.isNullOrUndefined(this.options.pipeline)) {\n data.queryBuilder.pipeline = this.options.pipeline;\n }\n\n if (!Utils.isNullOrUndefined(this.options.maximumAge)) {\n data.queryBuilder.maximumAge = this.options.maximumAge;\n }\n\n if (!Utils.isNullOrUndefined(this.options.resultsPerPage)) {\n data.queryBuilder.numberOfResults = this.options.resultsPerPage;\n }\n\n if (!Utils.isNullOrUndefined(this.options.excerptLength)) {\n data.queryBuilder.excerptLength = this.options.excerptLength;\n }\n\n if (Utils.isNonEmptyString(this.options.expression)) {\n data.queryBuilder.constantExpression.add(this.options.expression);\n }\n\n if (Utils.isNonEmptyString(this.options.filterField)) {\n data.queryBuilder.filterField = this.options.filterField;\n }\n\n if (Utils.isNonEmptyString(this.options.timezone)) {\n data.queryBuilder.timezone = this.options.timezone;\n }\n\n data.queryBuilder.enableCollaborativeRating = this.options.enableCollaborativeRating;\n\n data.queryBuilder.enableDuplicateFiltering = this.options.enableDuplicateFiltering;\n\n data.queryBuilder.allowQueriesWithoutKeywords = this.options.allowQueriesWithoutKeywords;\n\n const endpoint = this.queryController.getEndpoint();\n if (endpoint != null && endpoint.options) {\n if (this.queryStateModel.get(QueryStateModel.attributesEnum.debug)) {\n data.queryBuilder.maximumAge = 0;\n data.queryBuilder.enableDebug = true;\n data.queryBuilder.fieldsToExclude = ['allmetadatavalues'];\n data.queryBuilder.fieldsToInclude = null;\n }\n }\n }\n\n private handleQuerySuccess(data: IQuerySuccessEventArgs) {\n const noResults = data.results.results.length == 0;\n this.toggleSectionState('coveo-no-results', noResults);\n this.handlePossiblyModifiedNumberOfResultsInQueryPipeline(data);\n const resultsHeader = $$(this.element).find('.coveo-results-header');\n if (resultsHeader) {\n $$(resultsHeader).removeClass('coveo-query-error');\n }\n }\n\n private handlePossiblyModifiedNumberOfResultsInQueryPipeline(data: IQuerySuccessEventArgs) {\n if (!data || !data.query || !data.results) {\n return;\n }\n\n const numberOfRequestedResults = data.query.numberOfResults;\n const numberOfResultsActuallyReturned = data.results.results.length;\n const moreResultsAvailable = data.results.totalCountFiltered > numberOfResultsActuallyReturned;\n\n if (numberOfRequestedResults != numberOfResultsActuallyReturned && moreResultsAvailable) {\n this.isResultsPerPageModifiedByPipeline = true;\n this.queryPipelineConfigurationForResultsPerPage = numberOfResultsActuallyReturned;\n } else {\n this.isResultsPerPageModifiedByPipeline = false;\n this.queryPipelineConfigurationForResultsPerPage = null;\n }\n }\n\n private handleQueryError(data: IQueryErrorEventArgs) {\n this.toggleSectionState('coveo-no-results');\n const resultsHeader = $$(this.element).find('.coveo-results-header');\n if (resultsHeader) {\n $$(resultsHeader).addClass('coveo-query-error');\n }\n }\n\n private handleAfterComponentsInitialization() {\n each(this.attachedComponents, components => {\n components.forEach(component => {\n if (FacetColumnAutoLayoutAdjustment.isAutoLayoutAdjustable(component)) {\n FacetColumnAutoLayoutAdjustment.initializeAutoLayoutAdjustment(this.element, component);\n }\n });\n });\n }\n\n private toggleSectionState(cssClass: string, toggle = true) {\n const facetSection = $$(this.element).find('.coveo-facet-column');\n const resultsSection = $$(this.element).find('.coveo-results-column');\n const resultsHeader = $$(this.element).find('.coveo-results-header');\n const facetSearchs = $$(this.element).findAll('.coveo-facet-search-results');\n const recommendationSection = $$(this.element).find('.coveo-recommendation-main-section');\n\n if (facetSection) {\n $$(facetSection).toggleClass(cssClass, toggle && !this.queryStateModel.atLeastOneFacetIsActive());\n }\n if (resultsSection) {\n $$(resultsSection).toggleClass(cssClass, toggle && !this.queryStateModel.atLeastOneFacetIsActive());\n }\n if (resultsHeader) {\n $$(resultsHeader).toggleClass(cssClass, toggle && !this.queryStateModel.atLeastOneFacetIsActive());\n }\n if (recommendationSection) {\n $$(recommendationSection).toggleClass(cssClass, toggle);\n }\n if (facetSearchs && facetSearchs.length > 0) {\n each(facetSearchs, facetSearch => {\n $$(facetSearch).toggleClass(cssClass, toggle && !this.queryStateModel.atLeastOneFacetIsActive());\n });\n }\n }\n\n private initializeEmptyQueryAllowed() {\n new InitializationPlaceholder(this.element).withFullInitializationStyling().withAllPlaceholders();\n }\n\n private initializeEmptyQueryNotAllowed() {\n const placeholder = new InitializationPlaceholder(this.element)\n .withEventToRemovePlaceholder(QueryEvents.newQuery)\n .withFullInitializationStyling()\n .withHiddenRootElement()\n .withPlaceholderForFacets()\n .withPlaceholderForResultList();\n\n $$(this.root).on(InitializationEvents.restoreHistoryState, () => {\n placeholder.withVisibleRootElement();\n if (this.queryStateModel.get('q') == '') {\n placeholder.withWaitingForFirstQueryMode();\n }\n });\n\n $$(this.element).on(QueryEvents.doneBuildingQuery, (e, args: IDoneBuildingQueryEventArgs) => {\n if (!args.queryBuilder.containsEndUserKeywords()) {\n this.logger.info('Query cancelled by the Search Interface', 'Configuration does not allow empty query', this, this.options);\n args.cancel = true;\n }\n });\n }\n}\n\nexport interface IStandaloneSearchInterfaceOptions extends ISearchInterfaceOptions {\n redirectIfEmpty?: boolean;\n}\n\nexport class StandaloneSearchInterface extends SearchInterface {\n static ID = 'StandaloneSearchInterface';\n\n public static options: IStandaloneSearchInterfaceOptions = {\n redirectIfEmpty: ComponentOptions.buildBooleanOption({ defaultValue: true })\n };\n\n constructor(\n public element: HTMLElement,\n public options?: IStandaloneSearchInterfaceOptions,\n public analyticsOptions?,\n public _window = window\n ) {\n super(element, ComponentOptions.initComponentOptions(element, StandaloneSearchInterface, options), analyticsOptions, _window);\n $$(this.root).on(QueryEvents.newQuery, (e: Event, args: INewQueryEventArgs) => this.handleRedirect(e, args));\n }\n\n public handleRedirect(e: Event, data: INewQueryEventArgs) {\n if (data.shouldRedirectStandaloneSearchbox === false) {\n return;\n }\n\n const dataToSendOnBeforeRedirect: IBeforeRedirectEventArgs = {\n searchPageUri: this.options.searchPageUri,\n cancel: false\n };\n\n $$(this.root).trigger(StandaloneSearchInterfaceEvents.beforeRedirect, dataToSendOnBeforeRedirect);\n\n if (dataToSendOnBeforeRedirect.cancel) {\n return;\n }\n\n data.cancel = true;\n\n if (!this.searchboxIsEmpty() || this.options.redirectIfEmpty) {\n this.redirectToSearchPage(dataToSendOnBeforeRedirect.searchPageUri);\n }\n }\n\n public redirectToSearchPage(searchPage: string) {\n const stateValues = this.queryStateModel.getAttributes();\n let uaCausedBy = this.usageAnalytics.getCurrentEventCause();\n\n if (uaCausedBy != null) {\n // for legacy reason, searchbox submit were always logged a search from link in an external search box.\n // transform them if that's what we hit.\n if (uaCausedBy == analyticsActionCauseList.searchboxSubmit.name) {\n uaCausedBy = analyticsActionCauseList.searchFromLink.name;\n }\n stateValues['firstQueryCause'] = uaCausedBy;\n }\n const uaMeta = this.usageAnalytics.getCurrentEventMeta();\n if (uaMeta != null && !isEmpty(uaMeta)) {\n stateValues['firstQueryMeta'] = uaMeta;\n }\n\n const link = document.createElement('a');\n link.href = searchPage;\n link.href = link.href; // IE11 needs this to correctly fill the properties that are used below.\n\n const pathname = link.pathname.indexOf('/') == 0 ? link.pathname : '/' + link.pathname; // IE11 does not add a leading slash to this property.\n const hash = link.hash ? link.hash + '&' : '#';\n\n // By using a setTimeout, we allow other possible code related to the search box / magic box time to complete.\n // eg: onblur of the magic box.\n setTimeout(() => {\n this._window.location.href = `${link.protocol}//${link.host}${pathname}${link.search}${hash}${HashUtils.encodeValues(stateValues)}`;\n }, 0);\n }\n\n private searchboxIsEmpty(): boolean {\n return Utils.isEmptyString(this.queryStateModel.get(QueryStateModel.attributesEnum.q));\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/SearchInterface/SearchInterface.ts","import { Assert } from '../misc/Assert';\nimport { IHighlight } from '../rest/Highlight';\nimport { $$ } from '../utils/Dom';\nimport * as latinize from 'latinize';\nimport * as _ from 'underscore';\n\nexport class StringUtils {\n static javascriptEncode(value: string): string {\n Assert.isString(value);\n\n value = value.replace(/\\\\/g, '\\\\\\\\');\n value = value.replace(/'/g, \"\\\\'\");\n value = value.replace(/\"/g, '\\\\\"');\n\n return value;\n }\n\n static htmlEncode(value: string): string {\n Assert.isString(value);\n let div = $$('div');\n div.text(value);\n return div.el.innerHTML;\n }\n\n static splice(value: string, index: number, remove: number, toAdd: string): string {\n return value.slice(0, index) + toAdd + value.slice(index + Math.abs(remove));\n }\n\n static removeMiddle(value: string, length: number, toAdd: string): string {\n if (value.length < length) {\n return value;\n }\n let toRemove = value.length - length;\n let index = Math.floor(length / 2);\n return StringUtils.splice(value, index, toRemove, toAdd);\n }\n\n static regexEncode(value: string): string {\n Assert.isString(value);\n return value.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n }\n\n static stringToRegex(value: string, ignoreAccent = false): string {\n Assert.isString(value);\n let encoded = StringUtils.regexEncode(value);\n\n if (ignoreAccent) {\n return _.map(encoded, (char: string) => {\n let regexp = _.find(StringUtils.accented, (regexp: RegExp) => char.match(regexp) != null);\n if (regexp) {\n return regexp.source;\n }\n return char;\n }).join('');\n }\n\n return encoded;\n }\n\n static wildcardsToRegex(value: string, ignoreAccent = false): string {\n Assert.isString(value);\n\n let encoded = StringUtils.stringToRegex(value, ignoreAccent);\n\n encoded = encoded.replace(/\\\\\\*/, '.*');\n encoded = encoded.replace(/\\\\\\?/, '.');\n\n return encoded;\n }\n\n static getHighlights(strToSearch: string, regexToFind: RegExp, dataHighlightGroupTerm: string): IHighlight[] {\n let match,\n indexes: IHighlight[] = [];\n\n while ((match = regexToFind.exec(strToSearch))) {\n let desiredMatch = match[2];\n let undesiredMatch = match[1];\n let offset = match.index + undesiredMatch.length;\n indexes.push({ offset: offset, length: desiredMatch.length, dataHighlightGroupTerm: dataHighlightGroupTerm });\n if (!regexToFind.global) {\n break;\n }\n }\n return _.isEmpty(indexes) ? undefined : indexes;\n }\n\n static encodeCarriageReturn(strToEncode: string): string {\n Assert.isString(strToEncode);\n return strToEncode.replace(/\\n/g, '
');\n }\n\n static equalsCaseInsensitive(str1: string, str2: string) {\n return str1.toLowerCase() == str2.toLowerCase();\n }\n\n static match(value: string, regex: RegExp) {\n let results: string[][] = [];\n let arr: string[];\n while ((arr = regex.exec(value)) !== null) {\n results.push(arr);\n }\n return results;\n }\n\n static hashCode(str: string): string {\n let hash = 0;\n let len = str.length;\n for (let i = 0; i < len; i++) {\n let char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash; // Convert to 32bit integer\n }\n return hash.toString(16);\n }\n\n // http://stackoverflow.com/a/25575009\n static latinize(str: string) {\n return latinize(str);\n }\n\n static capitalizeFirstLetter(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n public static accented: { [letter: string]: RegExp } = {\n A: /[Aa\\xaa\\xc0-\\xc5\\xe0-\\xe5\\u0100-\\u0105\\u01cd\\u01ce\\u0200-\\u0203\\u0226\\u0227\\u1d2c\\u1d43\\u1e00\\u1e01\\u1e9a\\u1ea0-\\u1ea3\\u2090\\u2100\\u2101\\u213b\\u249c\\u24b6\\u24d0\\u3371-\\u3374\\u3380-\\u3384\\u3388\\u3389\\u33a9-\\u33af\\u33c2\\u33ca\\u33df\\u33ff\\uff21\\uff41]/g,\n B: /[Bb\\u1d2e\\u1d47\\u1e02-\\u1e07\\u212c\\u249d\\u24b7\\u24d1\\u3374\\u3385-\\u3387\\u33c3\\u33c8\\u33d4\\u33dd\\uff22\\uff42]/g,\n C: /[Cc\\xc7\\xe7\\u0106-\\u010d\\u1d9c\\u2100\\u2102\\u2103\\u2105\\u2106\\u212d\\u216d\\u217d\\u249e\\u24b8\\u24d2\\u3376\\u3388\\u3389\\u339d\\u33a0\\u33a4\\u33c4-\\u33c7\\uff23\\uff43]/g,\n D: /[Dd\\u010e\\u010f\\u01c4-\\u01c6\\u01f1-\\u01f3\\u1d30\\u1d48\\u1e0a-\\u1e13\\u2145\\u2146\\u216e\\u217e\\u249f\\u24b9\\u24d3\\u32cf\\u3372\\u3377-\\u3379\\u3397\\u33ad-\\u33af\\u33c5\\u33c8\\uff24\\uff44]/g,\n E: /[Ee\\xc8-\\xcb\\xe8-\\xeb\\u0112-\\u011b\\u0204-\\u0207\\u0228\\u0229\\u1d31\\u1d49\\u1e18-\\u1e1b\\u1eb8-\\u1ebd\\u2091\\u2121\\u212f\\u2130\\u2147\\u24a0\\u24ba\\u24d4\\u3250\\u32cd\\u32ce\\uff25\\uff45]/g,\n F: /[Ff\\u1da0\\u1e1e\\u1e1f\\u2109\\u2131\\u213b\\u24a1\\u24bb\\u24d5\\u338a-\\u338c\\u3399\\ufb00-\\ufb04\\uff26\\uff46]/g,\n G: /[Gg\\u011c-\\u0123\\u01e6\\u01e7\\u01f4\\u01f5\\u1d33\\u1d4d\\u1e20\\u1e21\\u210a\\u24a2\\u24bc\\u24d6\\u32cc\\u32cd\\u3387\\u338d-\\u338f\\u3393\\u33ac\\u33c6\\u33c9\\u33d2\\u33ff\\uff27\\uff47]/g,\n H: /[Hh\\u0124\\u0125\\u021e\\u021f\\u02b0\\u1d34\\u1e22-\\u1e2b\\u1e96\\u210b-\\u210e\\u24a3\\u24bd\\u24d7\\u32cc\\u3371\\u3390-\\u3394\\u33ca\\u33cb\\u33d7\\uff28\\uff48]/g,\n I: /[Ii\\xcc-\\xcf\\xec-\\xef\\u0128-\\u0130\\u0132\\u0133\\u01cf\\u01d0\\u0208-\\u020b\\u1d35\\u1d62\\u1e2c\\u1e2d\\u1ec8-\\u1ecb\\u2071\\u2110\\u2111\\u2139\\u2148\\u2160-\\u2163\\u2165-\\u2168\\u216a\\u216b\\u2170-\\u2173\\u2175-\\u2178\\u217a\\u217b\\u24a4\\u24be\\u24d8\\u337a\\u33cc\\u33d5\\ufb01\\ufb03\\uff29\\uff49]/g,\n J: /[Jj\\u0132-\\u0135\\u01c7-\\u01cc\\u01f0\\u02b2\\u1d36\\u2149\\u24a5\\u24bf\\u24d9\\u2c7c\\uff2a\\uff4a]/g,\n K: /[Kk\\u0136\\u0137\\u01e8\\u01e9\\u1d37\\u1d4f\\u1e30-\\u1e35\\u212a\\u24a6\\u24c0\\u24da\\u3384\\u3385\\u3389\\u338f\\u3391\\u3398\\u339e\\u33a2\\u33a6\\u33aa\\u33b8\\u33be\\u33c0\\u33c6\\u33cd-\\u33cf\\uff2b\\uff4b]/g,\n L: /[Ll\\u0139-\\u0140\\u01c7-\\u01c9\\u02e1\\u1d38\\u1e36\\u1e37\\u1e3a-\\u1e3d\\u2112\\u2113\\u2121\\u216c\\u217c\\u24a7\\u24c1\\u24db\\u32cf\\u3388\\u3389\\u33d0-\\u33d3\\u33d5\\u33d6\\u33ff\\ufb02\\ufb04\\uff2c\\uff4c]/g,\n M: /[Mm\\u1d39\\u1d50\\u1e3e-\\u1e43\\u2120\\u2122\\u2133\\u216f\\u217f\\u24a8\\u24c2\\u24dc\\u3377-\\u3379\\u3383\\u3386\\u338e\\u3392\\u3396\\u3399-\\u33a8\\u33ab\\u33b3\\u33b7\\u33b9\\u33bd\\u33bf\\u33c1\\u33c2\\u33ce\\u33d0\\u33d4-\\u33d6\\u33d8\\u33d9\\u33de\\u33df\\uff2d\\uff4d]/g,\n N: /[Nn\\xd1\\xf1\\u0143-\\u0149\\u01ca-\\u01cc\\u01f8\\u01f9\\u1d3a\\u1e44-\\u1e4b\\u207f\\u2115\\u2116\\u24a9\\u24c3\\u24dd\\u3381\\u338b\\u339a\\u33b1\\u33b5\\u33bb\\u33cc\\u33d1\\uff2e\\uff4e]/g,\n O: /[Oo\\xba\\xd2-\\xd6\\xf2-\\xf6\\u014c-\\u0151\\u01a0\\u01a1\\u01d1\\u01d2\\u01ea\\u01eb\\u020c-\\u020f\\u022e\\u022f\\u1d3c\\u1d52\\u1ecc-\\u1ecf\\u2092\\u2105\\u2116\\u2134\\u24aa\\u24c4\\u24de\\u3375\\u33c7\\u33d2\\u33d6\\uff2f\\uff4f]/g,\n P: /[Pp\\u1d3e\\u1d56\\u1e54-\\u1e57\\u2119\\u24ab\\u24c5\\u24df\\u3250\\u3371\\u3376\\u3380\\u338a\\u33a9-\\u33ac\\u33b0\\u33b4\\u33ba\\u33cb\\u33d7-\\u33da\\uff30\\uff50]/g,\n Q: /[Qq\\u211a\\u24ac\\u24c6\\u24e0\\u33c3\\uff31\\uff51]/g,\n R: /[Rr\\u0154-\\u0159\\u0210-\\u0213\\u02b3\\u1d3f\\u1d63\\u1e58-\\u1e5b\\u1e5e\\u1e5f\\u20a8\\u211b-\\u211d\\u24ad\\u24c7\\u24e1\\u32cd\\u3374\\u33ad-\\u33af\\u33da\\u33db\\uff32\\uff52]/g,\n S: /[Ss\\u015a-\\u0161\\u017f\\u0218\\u0219\\u02e2\\u1e60-\\u1e63\\u20a8\\u2101\\u2120\\u24ae\\u24c8\\u24e2\\u33a7\\u33a8\\u33ae-\\u33b3\\u33db\\u33dc\\ufb06\\uff33\\uff53]/g,\n T: /[Tt\\u0162-\\u0165\\u021a\\u021b\\u1d40\\u1d57\\u1e6a-\\u1e71\\u1e97\\u2121\\u2122\\u24af\\u24c9\\u24e3\\u3250\\u32cf\\u3394\\u33cf\\ufb05\\ufb06\\uff34\\uff54]/g,\n U: /[Uu\\xd9-\\xdc\\xf9-\\xfc\\u0168-\\u0173\\u01af\\u01b0\\u01d3\\u01d4\\u0214-\\u0217\\u1d41\\u1d58\\u1d64\\u1e72-\\u1e77\\u1ee4-\\u1ee7\\u2106\\u24b0\\u24ca\\u24e4\\u3373\\u337a\\uff35\\uff55]/g,\n V: /[Vv\\u1d5b\\u1d65\\u1e7c-\\u1e7f\\u2163-\\u2167\\u2173-\\u2177\\u24b1\\u24cb\\u24e5\\u2c7d\\u32ce\\u3375\\u33b4-\\u33b9\\u33dc\\u33de\\uff36\\uff56]/g,\n W: /[Ww\\u0174\\u0175\\u02b7\\u1d42\\u1e80-\\u1e89\\u1e98\\u24b2\\u24cc\\u24e6\\u33ba-\\u33bf\\u33dd\\uff37\\uff57]/g,\n X: /[Xx\\u02e3\\u1e8a-\\u1e8d\\u2093\\u213b\\u2168-\\u216b\\u2178-\\u217b\\u24b3\\u24cd\\u24e7\\u33d3\\uff38\\uff58]/g,\n Y: /[Yy\\xdd\\xfd\\xff\\u0176-\\u0178\\u0232\\u0233\\u02b8\\u1e8e\\u1e8f\\u1e99\\u1ef2-\\u1ef9\\u24b4\\u24ce\\u24e8\\u33c9\\uff39\\uff59]/g,\n Z: /[Zz\\u0179-\\u017e\\u01f1-\\u01f3\\u1dbb\\u1e90-\\u1e95\\u2124\\u2128\\u24b5\\u24cf\\u24e9\\u3390-\\u3394\\uff3a\\uff5a]/g\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/StringUtils.ts","import { IQueryResults } from '../rest/QueryResults';\nimport { IQueryResult } from '../rest/QueryResult';\nimport { IQuery } from '../rest/Query';\nimport { Assert } from '../misc/Assert';\nimport { Utils } from '../utils/Utils';\nimport * as _ from 'underscore';\n\ndeclare let crypto: Crypto;\n\nexport class QueryUtils {\n static createGuid(): string {\n let guid: string;\n let success: boolean = false;\n if (typeof crypto != 'undefined' && typeof crypto.getRandomValues != 'undefined') {\n try {\n guid = QueryUtils.generateWithCrypto();\n success = true;\n } catch (e) {\n success = false;\n }\n }\n\n if (!success) {\n guid = QueryUtils.generateWithRandom();\n }\n\n return guid;\n }\n\n // This method is a fallback as it's generate a lot of collisions in Chrome.\n static generateWithRandom(): string {\n // http://stackoverflow.com/a/2117523\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n let r = (Math.random() * 16) | 0,\n v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n }\n\n static generateWithCrypto(): string {\n let buf = new Uint16Array(8);\n crypto.getRandomValues(buf);\n let S4 = function(num) {\n let ret = num.toString(16);\n while (ret.length < 4) {\n ret = '0' + ret;\n }\n return ret;\n };\n return S4(buf[0]) + S4(buf[1]) + '-' + S4(buf[2]) + '-' + S4(buf[3]) + '-' + S4(buf[4]) + '-' + S4(buf[5]) + S4(buf[6]) + S4(buf[7]);\n }\n\n static setStateObjectOnQueryResults(state: any, results: IQueryResults) {\n QueryUtils.setPropertyOnResults(results, 'state', state);\n }\n\n static setStateObjectOnQueryResult(state: any, result: IQueryResult) {\n QueryUtils.setPropertyOnResult(result, 'state', state);\n }\n\n static setSearchInterfaceObjectOnQueryResult(searchInterface, result: IQueryResult) {\n QueryUtils.setPropertyOnResult(result, 'searchInterface', searchInterface);\n }\n\n static setIndexAndUidOnQueryResults(query: IQuery, results: IQueryResults, queryUid: string, pipeline: string, splitTestRun: string) {\n Assert.exists(query);\n Assert.exists(results);\n let index = query.firstResult;\n QueryUtils.setPropertyOnResults(results, 'queryUid', queryUid);\n QueryUtils.setPropertyOnResults(results, 'pipeline', pipeline);\n QueryUtils.setPropertyOnResults(results, 'splitTestRun', splitTestRun);\n QueryUtils.setPropertyOnResults(results, 'index', index, () => ++index);\n }\n\n static setTermsToHighlightOnQueryResults(query: IQuery, results: IQueryResults) {\n QueryUtils.setPropertyOnResults(results, 'termsToHighlight', results.termsToHighlight);\n QueryUtils.setPropertyOnResults(results, 'phrasesToHighlight', results.phrasesToHighlight);\n }\n\n static splitFlags(flags: string, delimiter: string = ';') {\n Assert.exists(flags);\n return flags.split(delimiter);\n }\n\n static isAttachment(result: IQueryResult) {\n return _.contains(QueryUtils.splitFlags(result.flags), 'IsAttachment');\n }\n\n static containsAttachment(result: IQueryResult) {\n return _.contains(QueryUtils.splitFlags(result.flags), 'ContainsAttachment');\n }\n\n static hasHTMLVersion(result: IQueryResult) {\n return _.contains(QueryUtils.splitFlags(result.flags), 'HasHtmlVersion');\n }\n\n static hasThumbnail(result: IQueryResult) {\n return _.contains(QueryUtils.splitFlags(result.flags), 'HasThumbnail');\n }\n\n static hasExcerpt(result: IQueryResult) {\n return result.excerpt != undefined && result.excerpt != '';\n }\n\n static getAuthor(result: IQueryResult): string {\n return result.raw['author'];\n }\n\n static getUriHash(result: IQueryResult): string {\n return result.raw['urihash'];\n }\n\n static getObjectType(result: IQueryResult): string {\n return result.raw['objecttype'];\n }\n\n static getCollection(result: IQueryResult): string {\n return result.raw['collection'];\n }\n\n static getSource(result: IQueryResult): string {\n return result.raw['source'];\n }\n\n static getLanguage(result: IQueryResult): string {\n return result.raw['language'];\n }\n\n static getPermanentId(result: IQueryResult): { fieldValue: string; fieldUsed: string } {\n let fieldValue;\n let fieldUsed;\n let permanentId = Utils.getFieldValue(result, 'permanentid');\n if (permanentId) {\n fieldUsed = 'permanentid';\n fieldValue = permanentId;\n } else {\n fieldUsed = 'urihash';\n fieldValue = Utils.getFieldValue(result, 'urihash');\n }\n return {\n fieldValue: fieldValue,\n fieldUsed: fieldUsed\n };\n }\n\n static quoteAndEscapeIfNeeded(str: string): string {\n Assert.isString(str);\n return QueryUtils.isAtomicString(str) || (QueryUtils.isRangeString(str) || QueryUtils.isRangeWithoutOuterBoundsString(str))\n ? str\n : QueryUtils.quoteAndEscape(str);\n }\n\n static quoteAndEscape(str: string): string {\n Assert.isString(str);\n return `\"${QueryUtils.escapeString(str)}\"`;\n }\n\n static escapeString(str: string): string {\n Assert.isString(str);\n return str.replace(/\"/g, ' ');\n }\n\n static isAtomicString(str: string): boolean {\n Assert.isString(str);\n return /^\\d+(\\.\\d+)?$|^[\\d\\w]+$/.test(str);\n }\n\n static isRangeString(str: string): boolean {\n Assert.isString(str);\n return /^\\d+(\\.\\d+)?\\.\\.\\d+(\\.\\d+)?$|^\\d{4}\\/\\d{2}\\/\\d{2}@\\d{2}:\\d{2}:\\d{2}\\.\\.\\d{4}\\/\\d{2}\\/\\d{2}@\\d{2}:\\d{2}:\\d{2}$/.test(str);\n }\n\n static isRangeWithoutOuterBoundsString(str: string): boolean {\n Assert.isString(str);\n return /^\\d+(\\.\\d+)?$|^\\d{4}\\/\\d{2}\\/\\d{2}@\\d{2}:\\d{2}:\\d{2}$/.test(str);\n }\n\n static buildFieldExpression(field: string, operator: string, values: string[]) {\n Assert.isNonEmptyString(field);\n Assert.stringStartsWith(field, '@');\n Assert.isNonEmptyString(operator);\n Assert.isLargerOrEqualsThan(1, values.length);\n\n if (values.length == 1) {\n return field + operator + QueryUtils.quoteAndEscapeIfNeeded(values[0]);\n } else {\n return field + operator + '(' + _.map(values, str => QueryUtils.quoteAndEscapeIfNeeded(str)).join(',') + ')';\n }\n }\n\n static buildFieldNotEqualExpression(field: string, values: string[]) {\n Assert.isNonEmptyString(field);\n Assert.stringStartsWith(field, '@');\n Assert.isLargerOrEqualsThan(1, values.length);\n\n let filter: string;\n if (values.length == 1) {\n filter = field + '==' + QueryUtils.quoteAndEscapeIfNeeded(values[0]);\n } else {\n filter = field + '==' + '(' + _.map(values, str => QueryUtils.quoteAndEscapeIfNeeded(str)).join(',') + ')';\n }\n\n return '(NOT ' + filter + ')';\n }\n\n public static setPropertyOnResults(results: IQueryResults, property: string, value: any, afterOneLoop?: () => any) {\n _.each(results.results, (result: IQueryResult) => {\n QueryUtils.setPropertyOnResult(result, property, value);\n value = afterOneLoop ? afterOneLoop() : value;\n });\n }\n\n public static setPropertyOnResult(result: IQueryResult, property: string, value: any) {\n result[property] = value;\n _.each(result.childResults, (child: IQueryResult) => {\n child[property] = value;\n });\n if (!Utils.isNullOrUndefined(result.parentResult)) {\n result.parentResult[property] = value;\n }\n }\n\n public static isStratusAgnosticField(fieldToVerify: string, fieldToMatch: string): boolean {\n let checkForSystem = /^(@?)(sys)?(.*)/i;\n let matchFieldToVerify = checkForSystem.exec(fieldToVerify);\n let matchFieldToMatch = checkForSystem.exec(fieldToMatch);\n if (matchFieldToVerify && matchFieldToMatch) {\n return (matchFieldToVerify[1] + matchFieldToVerify[3]).toLowerCase() == (matchFieldToMatch[1] + matchFieldToMatch[3]).toLowerCase();\n }\n return false;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/QueryUtils.ts","import { Utils } from './Utils';\nimport * as _ from 'underscore';\n\nexport enum KEYBOARD {\n BACKSPACE = 8,\n TAB = 9,\n ENTER = 13,\n SHIFT = 16,\n CTRL = 17,\n ALT = 18,\n ESCAPE = 27,\n SPACEBAR = 32,\n PAGE_UP = 33,\n PAGE_DOWN = 34,\n HOME = 36,\n LEFT_ARROW = 37,\n UP_ARROW = 38,\n RIGHT_ARROW = 39,\n DOWN_ARROW = 40,\n INSERT = 45,\n DELETE = 46\n}\n\nexport class KeyboardUtils {\n static keysEqual(key, code) {\n if (!Utils.isNullOrUndefined(key.keyCode)) {\n return key.keyCode == code;\n } else if (!Utils.isNullOrUndefined(key.which)) {\n return key.which == code;\n }\n return false;\n }\n\n static isAllowedKeyForOmnibox(e: KeyboardEvent): boolean {\n var keycode = e.keyCode;\n var valid =\n KeyboardUtils.isNumberKeyPushed(keycode) ||\n (keycode == 32 || keycode == 13) || // spacebar & return key(s)\n KeyboardUtils.isLetterKeyPushed(keycode) ||\n (keycode > 95 && keycode < 112) || // numpad keys\n (keycode > 185 && keycode < 193) || // ;=,-./` (in order)\n (keycode > 218 && keycode < 223) || // [\\]' (in order)\n (keycode == KEYBOARD.BACKSPACE || keycode == KEYBOARD.DELETE) ||\n KeyboardUtils.isArrowKeyPushed(keycode);\n\n return valid;\n }\n\n static isAllowedKeyForSearchAsYouType(e: KeyboardEvent): boolean {\n return KeyboardUtils.isAllowedKeyForOmnibox(e) && !KeyboardUtils.isArrowKeyPushed(e.keyCode);\n }\n\n static isDeleteOrBackspace(e: KeyboardEvent) {\n return KeyboardUtils.keysEqual(e, KEYBOARD.BACKSPACE) || KeyboardUtils.keysEqual(e, KEYBOARD.DELETE);\n }\n\n static isArrowKeyPushed(keycode: number): boolean {\n return (\n keycode == KEYBOARD.LEFT_ARROW || keycode == KEYBOARD.UP_ARROW || keycode == KEYBOARD.RIGHT_ARROW || keycode == KEYBOARD.DOWN_ARROW\n );\n }\n\n static isNumberKeyPushed(keycode: number): boolean {\n return keycode > 47 && keycode < 58;\n }\n\n static isLetterKeyPushed(keycode: number): boolean {\n return keycode > 64 && keycode < 91;\n }\n\n // Return a keyboard event listener that only executes the function if certain keys are pressed.\n static keypressAction(keyCode: KEYBOARD | KEYBOARD[], action: Function) {\n return (e: KeyboardEvent, ...data: any[]) => {\n if (e) {\n const eventCode = e.charCode || e.keyCode;\n if (eventCode) {\n if (_.isArray(keyCode) && _.contains(keyCode, eventCode)) {\n action(e);\n } else if (eventCode === keyCode) {\n action(e);\n }\n }\n }\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/KeyboardUtils.ts","// Not sure about this : In year 2033 who's to say that this list won't be 50 pages long !\nimport { ResponsiveComponents } from '../ui/ResponsiveComponents/ResponsiveComponents';\nconst mobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n\nexport class DeviceUtils {\n static getDeviceName(userAgent = navigator.userAgent): string {\n if (userAgent.match(/Edge/i)) {\n return 'Edge';\n }\n if (userAgent.match(/Opera Mini/i)) {\n return 'Opera Mini';\n }\n if (userAgent.match(/Android/i)) {\n return 'Android';\n }\n if (userAgent.match(/BlackBerry/i)) {\n return 'BlackBerry';\n }\n if (userAgent.match(/iPhone/i)) {\n return 'iPhone';\n }\n if (userAgent.match(/iPad/i)) {\n return 'iPad';\n }\n if (userAgent.match(/iPod/i)) {\n return 'iPod';\n }\n if (userAgent.match(/Chrome/i)) {\n return 'Chrome';\n }\n if (userAgent.match(/MSIE/i) || userAgent.match(/Trident/i)) {\n return 'IE';\n }\n if (userAgent.match(/Opera/i)) {\n return 'Opera';\n }\n if (userAgent.match(/Firefox/i)) {\n return 'Firefox';\n }\n if (userAgent.match(/Safari/i)) {\n return 'Safari';\n }\n return 'Others';\n }\n\n static isAndroid() {\n return DeviceUtils.getDeviceName() == 'Android';\n }\n\n static isIos() {\n var deviceName = DeviceUtils.getDeviceName();\n return deviceName == 'iPhone' || deviceName == 'iPad' || deviceName == 'iPod';\n }\n\n static isMobileDevice() {\n return mobile;\n }\n\n /**\n * @deprecated\n *\n * Use ResponsiveComponents.isSmallScreenWidth() instead\n */\n static isSmallScreenWidth() {\n return new ResponsiveComponents().isSmallScreenWidth();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DeviceUtils.ts","import { Logger } from '../../misc/Logger';\nimport { $$ } from '../../utils/Dom';\nimport { TemplateConditionEvaluator } from './TemplateConditionEvaluator';\nimport { TemplateFieldsEvaluator } from './TemplateFieldsEvaluator';\nimport { IQueryResult } from '../../rest/QueryResult';\nimport { ResponsiveComponents } from '../ResponsiveComponents/ResponsiveComponents';\nimport * as _ from 'underscore';\nimport { Initialization, LazyInitialization } from '../Base/Initialization';\nimport { Utils } from '../../utils/Utils';\nimport { ValidLayout } from '../ResultLayoutSelector/ValidLayout';\n\nexport type TemplateRole = 'table-header' | 'table-footer';\n\nexport interface ITemplateProperties {\n condition?: Function;\n conditionToParse?: string;\n layout?: ValidLayout;\n mobile?: boolean;\n tablet?: boolean;\n desktop?: boolean;\n fieldsToMatch?: IFieldsToMatch[];\n role?: TemplateRole;\n}\n\nexport interface IFieldsToMatch {\n values?: string[];\n field: string;\n}\n\nexport interface IInstantiateTemplateOptions {\n currentLayout?: ValidLayout;\n checkCondition?: boolean;\n wrapInDiv?: boolean;\n responsiveComponents?: ResponsiveComponents;\n}\n\nexport class DefaultInstantiateTemplateOptions implements IInstantiateTemplateOptions {\n public currentLayout: ValidLayout;\n public checkCondition: boolean;\n public wrapInDiv: boolean;\n public responsiveComponents: ResponsiveComponents;\n\n constructor() {\n this.currentLayout = null;\n this.checkCondition = true;\n this.wrapInDiv = true;\n this.responsiveComponents = new ResponsiveComponents();\n }\n\n get(): IInstantiateTemplateOptions {\n return {\n currentLayout: this.currentLayout,\n checkCondition: this.checkCondition,\n wrapInDiv: this.wrapInDiv,\n responsiveComponents: this.responsiveComponents\n };\n }\n\n merge(other: IInstantiateTemplateOptions): IInstantiateTemplateOptions {\n if (other) {\n return _.extend(this.get(), other);\n }\n return this.get();\n }\n}\n\nexport class Template implements ITemplateProperties {\n private logger: Logger = new Logger(this);\n public condition: Function;\n public conditionToParse: string;\n public fieldsToMatch: IFieldsToMatch[];\n public mobile: boolean;\n public tablet: boolean;\n public desktop: boolean;\n public fields: string[] = [];\n public layout: ValidLayout;\n public role: TemplateRole;\n\n constructor(public dataToString?: (object?: any) => string) {}\n\n instantiateToString(\n object: IQueryResult,\n instantiateOptions: IInstantiateTemplateOptions = new DefaultInstantiateTemplateOptions()\n ): string {\n if (this.dataToString) {\n if (instantiateOptions.checkCondition === false) {\n return this.dataToString(object);\n }\n\n // Should not happen but...\n // Normally, top level call from sub-class will have already created a\n // DefaultInstantiateTemplateOptions and merged down\n if (instantiateOptions.responsiveComponents == null) {\n instantiateOptions.responsiveComponents = new ResponsiveComponents();\n }\n\n // Mobile/tablet/desktop checks are only for \"hard\" set value (triple equal)\n // If it's undefined, we skip those checks, and we assume the template works correctly for any given screen size\n if (this.mobile === true && !instantiateOptions.responsiveComponents.isSmallScreenWidth()) {\n this.logger.trace('Template was skipped because it is optimized for small screen width', this);\n return null;\n } else if (this.mobile === false && instantiateOptions.responsiveComponents.isSmallScreenWidth()) {\n this.logger.trace('Template was skipped because it is not optimized for small screen width', this);\n return null;\n }\n\n if (this.tablet === true && !instantiateOptions.responsiveComponents.isMediumScreenWidth()) {\n this.logger.trace('Template was skipped because it is optimized for medium screen width', this);\n return null;\n } else if (this.tablet === false && instantiateOptions.responsiveComponents.isMediumScreenWidth()) {\n this.logger.trace('Template was skipped because it is not optimized for medium screen width', this);\n return null;\n }\n\n if (this.desktop === true && !instantiateOptions.responsiveComponents.isLargeScreenWidth()) {\n this.logger.trace('Template was skipped because it is optimized for large screen width', this);\n return null;\n } else if (this.desktop === false && instantiateOptions.responsiveComponents.isLargeScreenWidth()) {\n this.logger.trace('Template was skipped because it is not optimized for large screen width', this);\n return null;\n }\n\n if (this.layout != null && instantiateOptions.currentLayout != null && instantiateOptions.currentLayout !== this.layout) {\n this.logger.trace('Template was skipped because layout does not match', this, this.layout);\n return null;\n }\n try {\n this.logger.trace('Evaluating template ...');\n // Condition (as a function) is eval'ed, first\n if (this.condition != null && this.condition(object)) {\n this.logger.trace('Template was loaded because condition was :', this.condition, object);\n return this.dataToString(object);\n }\n // Condition (as a string) is parsed, if available.\n if (\n this.conditionToParse != null &&\n TemplateConditionEvaluator.evaluateCondition(this.conditionToParse, object, instantiateOptions.responsiveComponents)\n ) {\n this.logger.trace('Template was loaded because condition was :', this.conditionToParse, object);\n return this.dataToString(object);\n }\n // fieldsToMatch is yet another fallback that allows to specify if a template should be loaded.\n if (this.fieldsToMatch != null && TemplateFieldsEvaluator.evaluateFieldsToMatch(this.fieldsToMatch, object)) {\n this.logger.trace('Template was loaded because condition was :', this.fieldsToMatch, object);\n return this.dataToString(object);\n }\n // If there is no condition at all, this means \"true\"\n if (this.condition == null && this.conditionToParse == null && this.fieldsToMatch == null) {\n this.logger.trace('Template was loaded because there was *NO* condition', this.condition, object);\n return this.dataToString(object);\n }\n } catch (e) {\n new Logger(this).error('Cannot instantiate template', e.message, this.getTemplateInfo());\n new Logger(this).warn('A default template was used');\n return null;\n }\n }\n this.logger.trace('Template was skipped because it did not match any condition', this);\n return null;\n }\n\n addField(field: string) {\n if (!_.contains(this.fields, field)) {\n this.fields.push(field);\n }\n }\n\n addFields(fields: string[]) {\n if (Utils.isNonEmptyArray(fields)) {\n this.fields = Utils.concatWithoutDuplicate(this.fields, fields);\n }\n }\n\n getComponentsInside(tmplString: string): string[] {\n let allComponentsInsideCurrentTemplate = _.map(Initialization.getListOfRegisteredComponents(), (componentId: string) => {\n let regex = new RegExp(`Coveo${componentId}`, 'g');\n if (regex.exec(tmplString)) {\n return componentId;\n } else {\n return null;\n }\n });\n\n return _.compact(allComponentsInsideCurrentTemplate);\n }\n\n instantiateToElement(object: IQueryResult, instantiateTemplateOptions: IInstantiateTemplateOptions = {}): Promise {\n let mergedOptions = new DefaultInstantiateTemplateOptions().merge(instantiateTemplateOptions);\n\n var html = this.instantiateToString(object, mergedOptions);\n if (html == null) {\n return null;\n }\n\n let allComponentsLazyLoaded = _.map(this.getComponentsInside(html), (component: string) => {\n return LazyInitialization.getLazyRegisteredComponent(component).then(lazyLoadedComponent => {\n return lazyLoadedComponent;\n });\n });\n\n return Promise.all(allComponentsLazyLoaded).then(() => {\n const layout = this.layout || mergedOptions.currentLayout;\n const elemType = layout === 'table' ? 'tr' : 'div';\n var element = $$(elemType, {}, html).el;\n if (!mergedOptions.wrapInDiv && element.children.length === 1) {\n element = element.children.item(0);\n }\n if (layout) {\n $$(element).addClass(`coveo-${layout}-layout`);\n }\n this.logger.trace('Instantiated result template', object, element);\n element['template'] = this;\n return element;\n });\n }\n\n toHtmlElement(): HTMLElement {\n return null;\n }\n\n getFields(): string[] {\n return this.fields;\n }\n\n getType() {\n return 'Template';\n }\n\n setConditionWithFallback(condition: string) {\n // In some circumstances (eg: locker service in SF), with strict Content-Security-Policy, eval / new Function are not allowed by the browser.\n // Try to use the eval method, if possible. Otherwise fallback to a mechanism where we will try to parse/evaluate the condition as a simple string.\n try {\n this.condition = new Function('obj', 'with(obj||{}){return ' + condition + '}');\n } catch (e) {\n this.conditionToParse = condition;\n }\n }\n\n protected getTemplateInfo(): any {\n // Try to get info on the template by returning the first parameter found that is not undefined.\n return this.conditionToParse != undefined ? this.conditionToParse : this.condition != undefined ? this.condition : this.fieldsToMatch;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/Templates/Template.ts","declare function require(moduleName: string): any;\nexport const ModalBox = require('exports-loader?Coveo.ModalBox!modal-box');\nexport const LocaleString = require('exports-loader?window.String.toLocaleString!l10n');\n\n\n\n// WEBPACK FOOTER //\n// ./src/ExternalModulesShim.ts","import { Model } from './Model';\nimport * as _ from 'underscore';\n\nexport const COMPONENT_OPTIONS_ATTRIBUTES = {\n RESULT_LINK: 'resultLink',\n SEARCH_HUB: 'searchHub',\n SEARCH_BOX: 'searchBox'\n};\n\nexport interface IComponentOptionsAttributes {\n resultLink: any;\n searchHub: string;\n searchBox: any;\n}\n\nexport class ComponentOptionsModel extends Model {\n static ID = 'ComponentOptions';\n\n static defaultAttributes: IComponentOptionsAttributes = {\n resultLink: undefined,\n searchHub: undefined,\n searchBox: undefined\n };\n\n static attributesEnum = {\n resultLink: 'resultLink',\n searchHub: 'searchHub',\n searchBox: 'searchBox'\n };\n\n constructor(element: HTMLElement, attributes?: IComponentOptionsAttributes) {\n var merged = _.extend({}, ComponentOptionsModel.defaultAttributes, attributes);\n super(element, ComponentOptionsModel.ID, merged);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/ComponentOptionsModel.ts","module.exports = global[\"Globalize\"] = require(\"-!./globalize.min.js\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/globalize/globalize.min.js-exposed\n// module id = 25\n// module chunks = 75 76","import { Initialization, LazyInitialization, EagerInitialization } from './Initialization';\nimport { Assert } from '../../misc/Assert';\nimport { QueryController } from '../../controllers/QueryController';\nimport { QueryStateModel, setState } from '../../models/QueryStateModel';\nimport { IQueryResult } from '../../rest/QueryResult';\nimport { IQueryResults } from '../../rest/QueryResults';\nimport { IAnalyticsClient } from '../Analytics/AnalyticsClient';\nimport { InitializationEvents } from '../../events/InitializationEvents';\nimport { $$ } from '../../utils/Dom';\nimport { IAnalyticsActionCause, IAnalyticsDocumentViewMeta } from '../Analytics/AnalyticsActionListMeta';\nimport { IStringMap } from '../../rest/GenericParam';\nimport { BaseComponent } from '../Base/BaseComponent';\nimport { Component } from '../Base/Component';\nimport { IStandaloneSearchInterfaceOptions } from '../SearchInterface/SearchInterface';\nimport { IRecommendationOptions } from '../Recommendation/Recommendation';\nimport * as _ from 'underscore';\nimport { PublicPathUtils } from '../../utils/PublicPathUtils';\n\n/**\n * Initialize the framework with a basic search interface. Calls {@link Initialization.initSearchInterface}.\n *\n * If using the jQuery extension, this is called using $('#root').coveo('init');.\n * @param element The root of the interface to initialize.\n * @param options JSON options for the framework (e.g.: {Searchbox : {enableSearchAsYouType : true}}).\n * @returns {Promise<{elem: HTMLElement}>}\n */\nexport function init(element: HTMLElement, options: any = {}) {\n return Initialization.initializeFramework(element, options, () => {\n return Initialization.initSearchInterface(element, options);\n });\n}\n\nInitialization.registerNamedMethod('init', (element: HTMLElement, options: any = {}) => {\n return init(element, options);\n});\n\n/**\n * Initialize the framework with a standalone search box. Calls {@link Initialize.initStandaloneSearchInterface}.\n *\n * If using the jQuery extension, this is called using $('#root').coveo('initSearchbox');.\n * @param element The root of the interface to initialize.\n * @param searchPageUri The search page on which to redirect when there is a query.\n * @param options JSON options for the framework (e.g.: {Searchbox : {enableSearchAsYouType : true}}).\n * @returns {Promise<{elem: HTMLElement}>}\n */\nexport function initSearchbox(element: HTMLElement, searchPageUri: string, options: any = {}) {\n Assert.isNonEmptyString(searchPageUri);\n var searchInterfaceOptions = {};\n searchInterfaceOptions.searchPageUri = searchPageUri;\n searchInterfaceOptions.autoTriggerQuery = false;\n searchInterfaceOptions.enableHistory = false;\n options = _.extend({}, options, { StandaloneSearchInterface: searchInterfaceOptions });\n return Initialization.initializeFramework(element, options, () => {\n return Initialization.initStandaloneSearchInterface(element, options);\n });\n}\n\nInitialization.registerNamedMethod('initSearchbox', (element: HTMLElement, searchPageUri: string, options: any = {}) => {\n initSearchbox(element, searchPageUri, options);\n});\n\n/**\n * Initialize the framework with a recommendation interface. Calls {@link Initialization.initRecommendationInterface}.\n *\n * If using the jQuery extension, this is called using $('#root').coveo('initRecommendation');.\n * @param element The root of the interface to initialize.\n * @param mainSearchInterface The search interface to link with the recommendation interface (see {@link Recommendation}).\n * @param userContext The user context to pass with the query generated in the recommendation interface (see {@link Recommendation}).\n * @param options JSON options for the framework (e.g.: {Searchbox : {enableSearchAsYouType: true}}).\n * @returns {Promise<{elem: HTMLElement}>}\n */\nexport function initRecommendation(\n element: HTMLElement,\n mainSearchInterface?: HTMLElement,\n userContext?: { [name: string]: any },\n options: any = {}\n) {\n var recommendationOptions = {};\n recommendationOptions.mainSearchInterface = mainSearchInterface;\n recommendationOptions.userContext = userContext;\n recommendationOptions.enableHistory = false;\n options = _.extend({}, options, { Recommendation: recommendationOptions });\n\n // Recommendation component is special : It is not explicitely registered like other \"basic\" components since it's a full search interface.\n // Since it's not done using the \"standard\" path, we need to register this manually here\n // This ensure that we can always call `getLazyRegisteredComponent`, no matter if it was loaded from eager or lazy mode.\n if (window['Coveo']['Recommendation'] != null) {\n LazyInitialization.registerLazyComponent('Recommendation', () => Promise.resolve(window['Coveo']['Recommendation']));\n EagerInitialization.eagerlyLoadedComponents['Recommendation'] = window['Coveo']['Recommendation'];\n }\n\n return LazyInitialization.getLazyRegisteredComponent('Recommendation').then(() => {\n return Initialization.initializeFramework(element, options, () => {\n return Initialization.initRecommendationInterface(element, options);\n });\n });\n}\n\nInitialization.registerNamedMethod(\n 'initRecommendation',\n (element: HTMLElement, mainSearchInterface: HTMLElement, userContext: any = {}, options: any = {}) => {\n initRecommendation(element, mainSearchInterface, userContext, options);\n }\n);\n\n/**\n * Execute a standard query. Active component in the interface will react to events/ push data in the query / handle the query success or failure as needed.\n *\n * It triggers a standard query flow for which the standard component will perform their expected behavior.\n *\n * If you wish to only perform a query on the index to retrieve results (without the component reacting), look into {@link SearchInterface} instead.\n *\n * Calling this method is the same as calling {@link QueryController.executeQuery}.\n *\n * @param element The root of the interface to initialize.\n * @returns {Promise}\n */\nexport function executeQuery(element: HTMLElement): Promise {\n Assert.exists(element);\n\n var queryController = Component.resolveBinding(element, QueryController);\n Assert.exists(queryController);\n return queryController.executeQuery();\n}\n\nInitialization.registerNamedMethod('executeQuery', (element: HTMLElement) => {\n return executeQuery(element);\n});\n\n/**\n * Performs read and write operations on the [`QueryStateModel`]{@link QueryStateModel} instance of the search\n * interface. See [State](https://developers.coveo.com/x/RYGfAQ).\n *\n * Can perform the following actions:\n *\n * - Get the `QueryStateModel` instance:\n * ```javascript\n * Coveo.state(element);\n * ```\n *\n * - Get the value of a single state attribute from the `QueryStateModel` instance:\n * ```javascript\n * // You can replace `q` with any registered state attribute.\n * Coveo.state(element, \"q\");\n * ```\n *\n * - Set the value of a single state attribute in the `QueryStateModel` instance:\n * ```javascript\n * // You can replace `q` with any registered state attribute.\n * Coveo.state(element, \"q\", \"my new value\");\n * ```\n *\n * - Set multiple state attribute values in the `QueryStateModel` instance:\n * ```javascript\n * // You can replace `q` and `sort` with any registered state attributes.\n * Coveo.state(element, {\n * \"q\" : \"my new value\",\n * \"sort\" : \"relevancy\"\n * });\n * ```\n *\n * **Note:**\n * > When setting one or several state attribute values with this function, you can pass an additional argument to set\n * > the `silent` attribute to `true` in order to prevent the state change from triggering state change events.\n * >\n * > **Example:**\n * > ```javascript\n * > Coveo.state(element, \"q\", \"my new value\", { \"silent\" : true });\n * > ```\n *\n * @param element The root of the interface whose `QueryStateModel` instance the function should interact with.\n * @param args The arguments that determine the action to perform on the `QueryStateModel` instance.\n * @returns {any} Depends on the action performed.\n */\nexport function state(element: HTMLElement, ...args: any[]): any {\n Assert.exists(element);\n var model = Component.resolveBinding(element, QueryStateModel);\n return setState(model, args);\n}\n\nInitialization.registerNamedMethod('state', (element: HTMLElement, ...args: any[]): any => {\n if (args.length != 0) {\n return state.apply(undefined, [element].concat(args));\n } else {\n return state.apply(undefined, [element]);\n }\n});\n\n/**\n * Get the component bound on the given `HTMLElement`.\n * @param element The `HTMLElement` for which to get the component instance.\n * @param componentClass If multiple components are bound to a single `HTMLElement`, you need to specify which components you wish to get.\n * @param noThrow By default, the GET method will throw if there is no component bound, or if there are multiple component and no `componentClass` is specified. This deletes the error if set to true.\n * @returns {Component}\n */\nexport function get(element: HTMLElement, componentClass?, noThrow?: boolean): BaseComponent {\n Assert.exists(element);\n return Component.get(element, componentClass, noThrow);\n}\n\nInitialization.registerNamedMethod('get', (element: HTMLElement, componentClass?: any, noThrow?: boolean): BaseComponent => {\n return get(element, componentClass, noThrow);\n});\n\nexport function result(element: HTMLElement, noThrow?: boolean): IQueryResult {\n Assert.exists(element);\n return Component.getResult(element, noThrow);\n}\n\nInitialization.registerNamedMethod('result', (element: HTMLElement, noThrow?: boolean): IQueryResult => {\n return result(element, noThrow);\n});\n\nfunction getCoveoAnalyticsClient(element: HTMLElement): IAnalyticsClient {\n var analytics = getCoveoAnalytics(element);\n if (analytics) {\n return analytics.client;\n } else {\n return undefined;\n }\n}\n\nfunction getCoveoAnalytics(element: HTMLElement) {\n var analyticsElement = $$(element).find('.' + Component.computeCssClassNameForType(`Analytics`));\n if (analyticsElement) {\n return Component.get(analyticsElement);\n } else {\n return undefined;\n }\n}\n\n/**\n * Finds the [`Analytics`]{@link Analytics} component instance, and uses it to log a `Custom` usage analytics event.\n *\n * You can use `Custom` events to create custom reports, or to track events which are neither queries nor item\n * views.\n *\n * @param element The root of the search interface which contains the [`Analytics`]{@link Analytics} component.\n * @param customEventCause The cause of the event.\n * @param metadata The metadata you want to use to create custom dimensions. Metadata can contain as many key-value\n * pairs as you need. Each key must contain only alphanumeric characters and underscores. The Coveo Usage Analytics\n * service automatically converts white spaces to underscores, and uppercase characters to lowercase characters in key\n * names. Each value must be a simple string. If you do not need to log metadata, you can simply pass an empty JSON\n * ( `{}` ).\n */\nexport function logCustomEvent(element: HTMLElement, customEventCause: IAnalyticsActionCause, metadata: IStringMap) {\n var client = getCoveoAnalyticsClient(element);\n if (client) {\n client.logCustomEvent(customEventCause, metadata, element);\n }\n}\n\nInitialization.registerNamedMethod('logCustomEvent', (element: HTMLElement, customEventCause: IAnalyticsActionCause, metadata: any) => {\n logCustomEvent(element, customEventCause, metadata);\n});\n\n/**\n * Finds the [`Analytics`]{@link Analytics} component instance, and uses it to log a `Search` usage analytics event.\n *\n * A `Search` event is actually sent to the Coveo Usage Analytics service only after the query successfully returns (not\n * immediately after calling this method). Therefore, it is important to call this method **before** executing the\n * query. Otherwise, the `Search` event will not be logged, and you will get a warning message in the console. See\n * [Sending Custom Analytics Events](https://developers.coveo.com/x/KoGfAQ).\n *\n * @param element The root of the search interface which contains the [`Analytics`]{@link Analytics} component.\n * @param searchEventCause The cause of the event.\n * @param metadata The metadata you want to use to create custom dimensions. Metadata can contain as many key-value\n * pairs as you need. Each key must contain only alphanumeric characters and underscores. The Coveo Usage Analytics\n * service automatically converts white spaces to underscores, and uppercase characters to lowercase characters in key\n * names. Each value must be a simple string. If you do not need to log metadata, you can simply pass an empty JSON\n * ( `{}` ).\n */\nexport function logSearchEvent(element: HTMLElement, searchEventCause: IAnalyticsActionCause, metadata: IStringMap) {\n var client = getCoveoAnalyticsClient(element);\n if (client) {\n client.logSearchEvent(searchEventCause, metadata);\n }\n}\n\nInitialization.registerNamedMethod(\n 'logSearchEvent',\n (element: HTMLElement, searchEventCause: IAnalyticsActionCause, metadata: IStringMap) => {\n logSearchEvent(element, searchEventCause, metadata);\n }\n);\n\n/**\n * Finds the [`Analytics`]{@link Analytics} component instance, and uses it to log a `SearchAsYouType` usage analytics\n * event.\n *\n * This function is very similar to the `logSearchEvent` function, except that `logSearchAsYouTypeEvent` should, by\n * definition, be called more frequently. Consequently, in order to avoid logging every single partial query, the\n * `PendingSearchAsYouTypeEvent` takes care of logging only the \"relevant\" last event: an event that occurs after 5\n * seconds have elapsed without any event being logged, or an event that occurs after another part of the interface\n * triggers a search event.\n *\n * It is important to call this method **before** executing the query. Otherwise, no `SearchAsYouType` event will be\n * logged, and you will get a warning message in the console. See\n * [Sending Custom Analytics Events](https://developers.coveo.com/x/KoGfAQ).\n *\n * @param element The root of the search interface which contains the [`Analytics`]{@link Analytics} component.\n * @param searchAsYouTypeEventCause The cause of the event.\n * @param metadata The metadata you want to use to create custom dimensions. Metadata can contain as many key-value\n * pairs as you need. Each key must contain only alphanumeric characters and underscores. The Coveo Usage Analytics\n * service automatically converts white spaces to underscores, and uppercase characters to lowercase characters in key\n * names. Each value must be a simple string. If you do not need to log metadata, you can simply pass an empty JSON\n * ( `{}` ).\n */\nexport function logSearchAsYouTypeEvent(\n element: HTMLElement,\n searchAsYouTypeEventCause: IAnalyticsActionCause,\n metadata: IStringMap\n) {\n var client = getCoveoAnalyticsClient(element);\n if (client) {\n client.logSearchAsYouType(searchAsYouTypeEventCause, metadata);\n }\n}\n\nInitialization.registerNamedMethod(\n 'logSearchAsYouTypeEvent',\n (element: HTMLElement, searchAsYouTypeEventCause: IAnalyticsActionCause, metadata: IStringMap) => {\n logSearchAsYouTypeEvent(element, searchAsYouTypeEventCause, metadata);\n }\n);\n\n/**\n * Finds the [`Analytics`]{@link Analytics} component instance, and uses it to log a `Click` usage analytics event.\n *\n * A `Click` event corresponds to an item view (e.g., clicking on a {@link ResultLink} or opening a {@link Quickview}).\n *\n * `Click` events are immediately sent to the Coveo Usage Analytics service.\n *\n * @param element The root of the search interface which contains the [`Analytics`]{@link Analytics} component.\n * @param clickEventCause The cause of the event.\n * @param metadata The metadata you want to use to create custom dimensions. Metadata can contain as many key-value\n * pairs as you need. Each key must contain only alphanumeric characters and underscores. The Coveo Usage Analytics\n * service automatically converts white spaces to underscores, and uppercase characters to lowercase characters in key\n * names. Each value must be a simple string. If you do not need to log metadata, you can simply pass an empty JSON\n * ( `{}` ).\n * @param result The result that was clicked.\n */\nexport function logClickEvent(\n element: HTMLElement,\n clickEventCause: IAnalyticsActionCause,\n metadata: IStringMap,\n result: IQueryResult\n) {\n var client = getCoveoAnalyticsClient(element);\n if (client) {\n client.logClickEvent(clickEventCause, metadata, result, element);\n }\n}\n\nInitialization.registerNamedMethod(\n 'logClickEvent',\n (element: HTMLElement, clickEventCause: IAnalyticsActionCause, metadata: IStringMap, result: IQueryResult) => {\n logClickEvent(element, clickEventCause, metadata, result);\n }\n);\n\n/**\n * Pass options to the framework, before it is initialized ({@link init}).
\n * All the options passed with this calls will be merged together on initialization.\n * @param element The root of the interface for which you wish to set options.\n * @param optionsToSet JSON options for the framework (e.g.: {Searchbox : {enableSearchAsYouType: true}}).\n */\nexport function options(element: HTMLElement, optionsToSet: any = {}) {\n Initialization.registerDefaultOptions(element, optionsToSet);\n}\n\nInitialization.registerNamedMethod('options', (element: HTMLElement, optionsToSet: any = {}) => {\n options(element, optionsToSet);\n});\n\n/**\n * Patch the given `methodName` on an instance of a component bound to an `HTMLElement` with a new handler.\n * @param element\n * @param methodName\n * @param handler\n */\nexport function patch(element: HTMLElement, methodName: string, handler: (...args: any[]) => any) {\n Initialization.monkeyPatchComponentMethod(methodName, element, handler);\n}\n\nInitialization.registerNamedMethod('patch', (element?: HTMLElement, methodName?: string, handler?: (...args: any[]) => any) => {\n patch(element, methodName, handler);\n});\n\nexport function initBox(element: HTMLElement, ...args: any[]) {\n var type,\n options: any = {},\n injectMarkup;\n // This means : initBox, no type (no injection) and no options\n if (args.length == 0) {\n type = 'Standard';\n injectMarkup = false;\n } else if (args.length == 1) {\n // 1 arg, might be options or type\n // This mean a type (with injection) and no options\n if (typeof args[0] == 'string') {\n type = args[0];\n injectMarkup = true;\n } else if (typeof args[0] == 'object') {\n // This means no type(no injection) and with options\n type = 'Standard';\n injectMarkup = false;\n options = args[0];\n } else {\n Assert.fail('Invalid parameters to init a box');\n }\n } else if (args.length == 2) {\n // 2 args means both options and type (with injection);\n type = args[0];\n options = args[1];\n injectMarkup = true;\n }\n var merged: any = {};\n merged[type || 'Container'] = _.extend({}, options.SearchInterface, options[type]);\n options = _.extend({}, options, merged);\n Initialization.initializeFramework(element, options, () => {\n return Initialization.initBoxInterface(element, options, type, injectMarkup);\n });\n}\n\nInitialization.registerNamedMethod('initBox', (element?: HTMLElement, ...args: any[]) => {\n initBox(element, args);\n});\n\nexport function nuke(element: HTMLElement) {\n $$(element).trigger(InitializationEvents.nuke);\n}\n\nInitialization.registerNamedMethod('nuke', (element: HTMLElement) => {\n nuke(element);\n});\n\n/**\n * Sets the path from where the chunks used for lazy loading will be loaded. In some cases, in IE11, we cannot automatically detect it, use this instead.\n * @param path This should be the path of the Coveo script. It should also have a trailing slash.\n */\nexport function configureResourceRoot(path: string) {\n PublicPathUtils.configureResourceRoot(path);\n}\n\nInitialization.registerNamedMethod('configureResourceRoot', (path: string) => {\n configureResourceRoot(path);\n});\n\n/**\n * Asynchronously loads a module, or chunk.\n *\n * This is especially useful when you want to extend a base component, and make sure the lazy component loading process\n * recognizes it (see [Lazy Versus Eager Component Loading](https://developers.coveo.com/x/YBgvAg)).\n *\n * **Example:**\n *\n * ```typescript\n * export function lazyCustomFacet() {\n * return Coveo.load('Facet').then((Facet) => {\n * class CustomFacet extends Facet {\n * [ ... ]\n * };\n * Coveo.Initialization.registerAutoCreateComponent(CustomFacet);\n * return CustomFacet;\n * });\n * };\n *\n * Coveo.LazyInitialization.registerLazyComponent('CustomFacet', lazyCustomFacet);\n * ```\n *\n * You can also use this function to assert a component is fully loaded in your page before executing any code relating\n * to it.\n *\n * **Example:**\n *\n * > You could do `Coveo.load('Searchbox').then((Searchbox) => {})` to load the [`Searchbox`]{@link Searchbox}\n * > component, if it is not already loaded in your search page.\n *\n * @param id The identifier of the module you wish to load. In the case of components, this identifier is the component\n * name (e.g., `Facet`, `Searchbox`).\n * @returns {Promise} A Promise of the module, or chunk.\n */\nexport function load(id: string): Promise {\n if (LazyInitialization.lazyLoadedComponents[id] != null) {\n return >(LazyInitialization.getLazyRegisteredComponent(id));\n } else if (LazyInitialization.lazyLoadedModule[id] != null) {\n return >LazyInitialization.getLazyRegisteredModule(id);\n } else {\n return Promise.reject(`Module ${id} is not available`);\n }\n}\n\nInitialization.registerNamedMethod('require', (modules: string) => {\n return load(modules);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/Base/RegisteredNamedMethods.ts","import { Assert } from '../../misc/Assert';\nimport { $$ } from '../../utils/Dom';\nimport { Logger } from '../../misc/Logger';\n\ndeclare var Coveo;\n\nexport interface IComponentHtmlElement extends HTMLElement {\n CoveoBoundComponents?: BaseComponent[];\n}\n\n/**\n * Every component in the framework ultimately inherits from this base component class.\n */\nexport class BaseComponent {\n /**\n * Allows component to log in the dev console.\n */\n public logger: Logger;\n /**\n * A disabled component will not participate in the query, or listen to {@link ComponentEvents}.\n * @type {boolean}\n */\n public disabled = false;\n /**\n * The static ID that each component need to be identified.
\n * For example, SearchButton -> static ID : SearchButton -> className : CoveoSearchButton\n */\n static ID: string;\n\n constructor(public element: HTMLElement, public type: string) {\n Assert.exists(element);\n Assert.isNonEmptyString(type);\n this.logger = new Logger(this);\n BaseComponent.bindComponentToElement(element, this);\n }\n\n /**\n * Return the debug info about this component.\n * @returns {any}\n */\n public debugInfo() {\n var info: any = {};\n info[this['constructor']['ID']] = this;\n return info;\n }\n\n /**\n * Disable the component.\n * Normally this means that the component will not execute handlers for the framework events (query events, for example).\n * Component are enabled by default on creation.\n */\n public disable() {\n this.disabled = true;\n }\n\n /**\n * Enable the component.\n * Normally this means that the component will execute handlers for the framework events (query events, for example).\n * Components are enabled by default on creation.\n */\n public enable() {\n this.disabled = false;\n }\n\n static bindComponentToElement(element: HTMLElement, component: BaseComponent) {\n Assert.exists(element);\n Assert.exists(component);\n Assert.isNonEmptyString(component.type);\n element[BaseComponent.computeCssClassNameForType(component.type)] = component;\n $$(element).addClass(BaseComponent.computeCssClassNameForType(component.type));\n BaseComponent.getBoundComponentsForElement(element).push(component);\n }\n\n static computeCssClassName(componentClass: any): string {\n return BaseComponent.computeCssClassNameForType(componentClass['ID']);\n }\n\n static computeCssClassNameForType(type: string): string {\n Assert.isNonEmptyString(type);\n return 'Coveo' + type;\n }\n\n static computeSelectorForType(type: string): string {\n Assert.isNonEmptyString(type);\n return '.' + BaseComponent.computeCssClassNameForType(type);\n }\n\n static getBoundComponentsForElement(element: IComponentHtmlElement): BaseComponent[] {\n Assert.exists(element);\n\n if (element.CoveoBoundComponents == null) {\n element.CoveoBoundComponents = [];\n }\n return element.CoveoBoundComponents;\n }\n\n static getComponentRef(component: string): any {\n return Coveo[component];\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/Base/BaseComponent.ts","import * as _ from 'underscore';\n\nexport class Defer {\n private static functions = [];\n\n static defer(code: () => void) {\n Defer.functions.push(code);\n Defer.arm();\n }\n\n static flush() {\n while (Defer.popOne()) {}\n }\n\n private static arm() {\n _.defer(() => {\n if (Defer.popOne()) {\n Defer.arm();\n }\n });\n }\n\n private static popOne() {\n if (Defer.functions.length > 0) {\n var fun = Defer.functions[0];\n Defer.functions = _.rest(Defer.functions);\n fun();\n return Defer.functions.length > 0;\n } else {\n return false;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/misc/Defer.ts","import { Options } from '../misc/Options';\nimport { Utils } from './Utils';\nimport { l } from '../strings/Strings';\nimport * as _ from 'underscore';\nimport * as moment from 'moment';\n/**\n * The `IDateToStringOptions` interface describes a set of options to use when converting a standard Date object to a\n * string using the [ `dateToString` ]{@link DateUtils.dateToString}, or the\n * [ `dateTimeToString` ]{@link DateUtils.dateTimeToString} method from the [ `DateUtils` ]{@link DateUtils} class.\n * The precedence orders for the options are:\n * [ `useTodayYesterdayAndTomorrow` ]{@link IDateToStringOptions.useTodayYesterdayAndTomorrow}\n * -> [ `useWeekdayIfThisWeek` ]{@link IDateToStringOptions.useWeekdayIfThisWeek}\n * -> [ `omitYearIfCurrentOne` ]{@link IDateToStringOptions.omitYearIfCurrentOne}\n * -> [ `useLongDateFormat` ]{@link IDateToStringOptions.useLongDateFormat}\n * and [ `alwaysIncludeTime` ]{@link IDateToStringOptions.alwaysIncludeTime}\n * -> [ `includeTimeIfThisWeek` ]{@link IDateToStringOptions.includeTimeIfThisWeek}\n * -> [ `includeTimeIfToday` ]{@link IDateToStringOptions.includeTimeIfToday}.\n */\nexport interface IDateToStringOptions {\n /**\n * Contains a standard Date object that specifies the current date and time.\n *\n * Default value is `undefined`.\n */\n now?: Date;\n\n /**\n * Specifies whether to convert the Date object to the localized version of `Today`, `Yesterday`, or `Tomorrow`,\n * if possible. This option takes precedence over\n * [ `useWeekdayIfThisWeek` ]{@link IDateToStringOptions.useWeekdayIfThisWeek}.\n *\n * **Examples**\n *\n * If [ `useTodayYesterdayAndTomorrow` ]{@link IDateToStringOptions.useTodayYesterdayAndTomorrow} is `true`,\n * and [ `now` ]{@link IDateToStringOptions.now} contains a Date object equivalent to `March 8, 2017`, then:\n *\n * - If the Date object to convert contains a value equivalent to `March 7, 2017`, the resulting string is the\n * localized version of `Yesterday`.\n *\n * - If the Date object to convert contains a value equivalent to `March 8, 2017`, the resulting string is the\n * localized version of `Today`.\n *\n * - If the Date object to convert contains a value equivalent to `March 9, 2017`, the resulting string is the\n * localized version of `Tomorrow`.\n *\n * Default value is `true`.\n */\n useTodayYesterdayAndTomorrow?: boolean;\n\n /**\n * Specifies whether to convert the Date object to the localized version of the corresponding day of the week,\n * if the date to convert is part of the current week. This option takes precedence over\n * [ `omitYearIfCurrentOne` ]{@link IDateToStringOptions.omitYearIfCurrentOne}.\n *\n * **Examples**\n *\n * If [ `useWeekdayIfThisWeek` ]{@link IDateToStringOptions.useWeekdayIfThisWeek} is `true`\n * and [ `now` ]{@link IDateToStringOptions.now} contains a Date object equivalent to `Monday, March 8, 2017`, then:\n *\n * - If the date to convert is equivalent to `Saturday, March 6, 2017`, the resulting string is the localized\n * version of `Last Saturday`.\n *\n * - If the date to convert is equivalent to `Thursday, March 11, 2017`, the resulting string is the localized\n * version of `Next Thursday`.\n *\n * Default value is `true`.\n */\n useWeekdayIfThisWeek?: boolean;\n\n /**\n * Specifies whether to omit the year from the resulting string when converting the Date object, if the year\n * is the current one. This option takes precedence over\n * [ `useLongDateFormat` ]{@link IDateToStringOptions.useLongDateFormat}.\n *\n * **Examples**\n *\n * - If the Date object to convert is equivalent to `September 22, 2017`, the resulting string does not contain\n * the year (e.g., `September 22`).\n *\n * - If the Date object to convert is equivalent to `September 22, 2016`, the resulting string contains the year\n * (e.g., `September 22, 2016`).\n *\n * Default value is `true`.\n */\n omitYearIfCurrentOne?: boolean;\n\n /**\n * Specifies whether to format the resulting string in the long date format (e.g., `Friday, August 04, 2017`).\n *\n * Default value is `false`.\n */\n useLongDateFormat?: boolean;\n\n /**\n * Specifies whether to include the time in the resulting string when converting the Date object (e.g. `May 15, 4:17 PM`)\n * if the date to convert is equivalent to [ `now` ]{@link IDateToStringOptions.now}.\n *\n * **Examples**\n *\n * If [ `includeTimeIfToday` ]{@link IDateToStringOptions.includeTimeIfToday} is `true`\n * and [ `now` ]{@link IDateToStringOptions.now} contains a Date object equivalent to `Monday, March 8, 2017`, then:\n *\n * - If the Date object to convert is equivalent to `2017/03/08 17:23:11`, the resulting string is `3/8/2017, 5:23 PM`.\n *\n * - If the Date object to convert is equivalent to `2017/03/09 17:23:11`, the resulting string is `3/9/2017`.\n *\n * Default value is `true`.\n */\n includeTimeIfToday?: boolean;\n\n /**\n * Specifies whether to include the time in the resulting string when converting the Date object (e.g. `May 15, 4:17 PM`)\n * if the date to convert within a week from [ `now` ]{@link IDateToStringOptions.now}. This option takes precedence over\n * [ `includeTimeIfToday` ]{@link IDateToStringOptions.includeTimeIfToday}.\n *\n * **Examples**\n *\n * If [ `includeTimeIfToday` ]{@link IDateToStringOptions.includeTimeIfToday} is `true`\n * and [ `now` ]{@link IDateToStringOptions.now} contains a Date object equivalent to `Monday, March 8, 2017`, then:\n *\n * - If the Date object to convert is equivalent to `2017/03/08 17:23:11`, the resulting string is `3/8/2017, 5:23 PM`.\n *\n * - If the Date object to convert is equivalent to `2017/03/09 17:23:11`, the resulting string is `3/9/2017 ,5:23 PM`.\n *\n * Default value is `true`.\n */\n includeTimeIfThisWeek?: boolean;\n\n /**\n * Specifies whether to always include the time in the resulting string when converting the Date object (e.g. `May 15, 4:17 PM`)\n * This option takes precedence over [ `includeTimeIfThisWeek` ]{@link IDateToStringOptions.includeTimeIfThisWeek}.\n *\n * **Example**\n *\n * If [ `includeTimeIfToday` ]{@link IDateToStringOptions.includeTimeIfToday} is `true`\n * and [ `now` ]{@link IDateToStringOptions.now} contains a Date object equivalent to `Monday, March 8, 2017`, then:\n *\n * - If the Date object to convert is equivalent to `2010/03/08 17:23:11`, the resulting string is `3/8/2010, 5:23 PM`.\n *\n * Default value is `false`.\n */\n alwaysIncludeTime?: boolean;\n predefinedFormat?: string;\n}\n\nclass DefaultDateToStringOptions extends Options implements IDateToStringOptions {\n now: Date = moment().toDate();\n useTodayYesterdayAndTomorrow = true;\n useWeekdayIfThisWeek = true;\n omitYearIfCurrentOne = true;\n useLongDateFormat = false;\n includeTimeIfToday = true;\n includeTimeIfThisWeek = true;\n alwaysIncludeTime = false;\n predefinedFormat: string = undefined;\n}\n\n/**\n * The `DateUtils` class exposes methods to convert strings, numbers and date objects to standard ISO 8601 Date objects,\n * using the correct culture, language and format. It also offers methods to convert date objects to strings.\n */\nexport class DateUtils {\n // This function is used to call convertToStandardDate for legacy reasons. convertFromJsonDateIfNeeded was refactored to\n // convertToStandardDate, which would be a breaking change otherwise.\n static convertFromJsonDateIfNeeded(date: any): Date {\n return DateUtils.convertToStandardDate(date);\n }\n\n /**\n * Tries to parse an argument of any type to a standard Date object.\n * @param date The value to parse. Can be of any type (string, number, Date, etc.).\n * @returns {any} The parsed Date object, or `Invalid Date` if the `date` argument was not recognized as a valid date.\n */\n static convertToStandardDate(date: any): Date {\n if (_.isDate(date)) {\n return moment(date).toDate();\n } else if (date !== null && !isNaN(Number(date))) {\n return moment(Number(date)).toDate();\n } else if (_.isString(date)) {\n const formats = ['YYYY/MM/DD@HH:mm:ssZ', moment.ISO_8601];\n const dateMoment = moment(date, formats);\n return dateMoment.toDate();\n }\n }\n\n public static setLocale(): void {\n let currentLocale = String['locale'];\n\n // Our cultures.js directory contains 'no' which is the equivalent to 'nn' for momentJS\n if (currentLocale.toLowerCase() == 'no') {\n currentLocale = 'nn';\n } else if (currentLocale.toLowerCase() == 'es-es') {\n // Our cultures.js directory contains 'es-es' which is the equivalent to 'es' for momentJS\n currentLocale = 'es';\n }\n\n moment.locale(currentLocale);\n\n moment.updateLocale(currentLocale, {\n calendar: {\n lastDay: `[${l('Yesterday')}]`,\n sameDay: `[${l('Today')}]`,\n nextDay: `[${l('Tomorrow')}]`\n }\n });\n }\n\n /**\n * Creates a string from a Date object. The resulting string is in the format required for queries.\n * @param date The Date object to create a string from.\n * @returns {string} A string corresponding to the `date` argument value, in the `YYYY/MM/DD` format.\n */\n static dateForQuery(date: Date): string {\n DateUtils.setLocale();\n const dateMoment = moment(date).format('YYYY/MM/DD');\n return dateMoment;\n }\n\n /**\n * Creates a cropped version of a Date object. The resulting object contains no time information.\n * @param date The original Date object to create a cropped Date object from.\n * @returns {Date} A cropped Date object corresponding to the `date` argument value, excluding its time information.\n */\n static keepOnlyDatePart(date: Date): Date {\n DateUtils.setLocale();\n const dateMoment = moment(date);\n return new Date(dateMoment.year(), dateMoment.month(), dateMoment.date());\n }\n\n /**\n * Creates an offset version of a Date object. The offset is counted in days.\n * @param date The original Date object to create an offset Date object from.\n * @param offset The number of days to add to (or subtract from) the `date` argument.\n * @returns {Date} An offset Date object corresponding to the `date` argument value plus the `offset` value.\n */\n static offsetDateByDays(date: Date, offset: number): Date {\n return moment(date)\n .add(offset, 'days')\n .toDate();\n }\n\n private static isTodayYesterdayOrTomorrow(d: Date, options?: IDateToStringOptions): boolean {\n const dateOnly = moment(DateUtils.keepOnlyDatePart(d));\n const today = moment(DateUtils.keepOnlyDatePart(options.now));\n const daysDifference = dateOnly.diff(today, 'days');\n return daysDifference == 0 || daysDifference == 1 || daysDifference == -1;\n }\n\n /**\n * Creates a string from a Date object. The resulting string is formatted according to a set of options.\n * This method calls [ `keepOnlyDatePart` ]{@link DateUtils.keepOnlyDatePart} to remove time information from the date.\n * If you need to create a timestamp, use the [ `dateTimeToString` ]{@link DateUtils.dateTimeToString} method instead.\n * @param date The Date object to create a string from.\n * @param options The set of options to apply when formatting the resulting string. If you do not specify a value for\n * this parameter, the method uses a default set of options.\n * @returns {string} A date string corresponding to the `date` argument value, formatted according to the specified `options`.\n */\n static dateToString(date: Date, options?: IDateToStringOptions): string {\n DateUtils.setLocale();\n\n if (Utils.isNullOrUndefined(date)) {\n return '';\n }\n\n options = new DefaultDateToStringOptions().merge(options);\n\n const dateOnly = moment(DateUtils.keepOnlyDatePart(date));\n const today = moment(DateUtils.keepOnlyDatePart(options.now));\n\n if (options.predefinedFormat) {\n // yyyy was used to format dates before implementing moment.js, which only recognizes YYYY.\n return dateOnly.format(options.predefinedFormat.replace(/yyyy/g, 'YYYY'));\n }\n\n if (options.useTodayYesterdayAndTomorrow) {\n if (DateUtils.isTodayYesterdayOrTomorrow(date, options)) {\n return moment(dateOnly).calendar(moment(today));\n }\n }\n\n const isThisWeek = dateOnly.diff(moment(today), 'weeks') == 0;\n\n if (options.useWeekdayIfThisWeek && isThisWeek) {\n if (dateOnly.valueOf() > today.valueOf()) {\n return l('NextDay', dateOnly.format('dddd'));\n } else if (dateOnly.valueOf() < today.valueOf()) {\n return l('LastDay', dateOnly.format('dddd'));\n } else {\n return dateOnly.format('dddd');\n }\n }\n\n if (options.omitYearIfCurrentOne && dateOnly.year() === today.year()) {\n return dateOnly.format('MMMM DD');\n }\n\n if (options.useLongDateFormat) {\n return dateOnly.format('dddd, MMMM DD, YYYY');\n }\n\n return dateOnly.format('M/D/YYYY');\n }\n\n /**\n * Creates a string from a Date object. The string corresponds to the time information of the Date object.\n * @param date The Date object to create a string from.\n * @param options The set of options to apply when formatting the resulting string. If you do not specify a\n * value for this parameter, the method uses a default set of options.\n * @returns {string} A string containing the time information of the `date` argument, and formatted according to the specified `options`.\n */\n static timeToString(date: Date, options?: IDateToStringOptions): string {\n if (Utils.isNullOrUndefined(date)) {\n return '';\n }\n return moment(date).format('h:mm A');\n }\n\n /**\n * Creates a string from a Date object. The resulting string is formatted according to a set of options.\n * This method calls [ `timeToString` ]{@link DateUtils.timeToString} to add time information to the date.\n * If you need to create a date string without a timestamp, use the [ `dateToString` ]{@link DateUtils.dateToString} method instead.\n * @param date The date object to create a string from.\n * @param options The set of options to apply when formatting the resulting string. If you do not specify a value for\n * this parameter, the method uses a default set of options.\n * @returns {string} A date string corresponding to the `date` argument value, formatted according to the specified `options`.\n */\n static dateTimeToString(date: Date, options?: IDateToStringOptions): string {\n DateUtils.setLocale();\n\n if (Utils.isNullOrUndefined(date)) {\n return '';\n }\n\n options = new DefaultDateToStringOptions().merge(options);\n const today = DateUtils.keepOnlyDatePart(options.now);\n const isThisWeek = moment(date).diff(moment(today), 'weeks') == 0;\n const datePart = DateUtils.dateToString(date, options);\n const dateWithoutTime = DateUtils.keepOnlyDatePart(date);\n\n if (\n moment(date).isValid() &&\n (options.alwaysIncludeTime == true ||\n (options.includeTimeIfThisWeek == true && isThisWeek) ||\n (options.includeTimeIfToday == true && dateWithoutTime.valueOf() == today.valueOf()))\n ) {\n return datePart + ', ' + DateUtils.timeToString(date);\n } else {\n return datePart;\n }\n }\n\n /**\n * Creates a string from a number. The resulting string is the localized name of the month that corresponds\n * to this number (e.g., `0` results in the localized version of `January`).\n * @param month The number to create a string from. Minimum value is `0` (which corresponds to `January`). Maximum\n * value is `11` (which corresponds to `December`).\n * @returns {string} A string whose value is the localized name of the corresponding `month`.\n */\n static monthToString(month: number): string {\n DateUtils.setLocale();\n const date = moment(new Date(1980, month)).toDate();\n return moment(date).format('MMMM');\n }\n\n /**\n * Validates whether a value is an instance of Date.\n * @param date The value to verify.\n * @returns {boolean} `true` if the `date` argument is an instance of Date; `false` otherwise.\n */\n static isValid(date: any) {\n DateUtils.setLocale();\n\n if (date instanceof Date) {\n return !isNaN(date.getTime());\n }\n return false;\n }\n\n /**\n * Creates a string from two Date objects. The resulting string corresponds to the amount of time between those two dates.\n * @param from The Date object which contains the \"oldest\" value.\n * @param to The Date object which contains the \"newest\" value.\n * @returns {any} A string whose value corresponds to the amount of time between `from` and `to`,\n * or an empty string if either argument was undefined.\n */\n static timeBetween(from: Date, to: Date) {\n if (Utils.isNullOrUndefined(from) || Utils.isNullOrUndefined(to)) {\n return '';\n }\n\n return (\n ('0' + ((moment(to).valueOf() - moment(from).valueOf()) / (1000 * 60 * 60)).toFixed()).slice(-2) +\n ':' +\n ('0' + (((moment(to).valueOf() - moment(from).valueOf()) % (1000 * 60 * 60)) / (1000 * 60)).toFixed()).slice(-2) +\n ':' +\n ('0' + (((moment(to).valueOf() - moment(from).valueOf()) % (1000 * 60)) / 1000).toFixed()).slice(-2)\n );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DateUtils.ts","/// \n\n// The reference to magic-box with the triple slash is needed for dts-generator\n\nimport { IOmniboxData, IOmniboxDataRow } from '../ui/Omnibox/OmniboxInterface';\nimport { Omnibox } from '../ui/Omnibox/Omnibox';\n\n/**\n * The `IPopulateOmniboxSuggestionsEventArgs` interface describes the object that all\n * [`populateOmniboxSuggestions`]{@link OmniboxEvents.populateOmniboxSuggestions} event handlers receive as an argument.\n */\nexport interface IPopulateOmniboxSuggestionsEventArgs {\n /**\n * The [`Omnibox`]{@link Omnibox} component instance.\n */\n omnibox: Omnibox;\n\n /**\n * The list of resolved query completion suggestions, and/or query completion suggestion promises.\n */\n suggestions: Array>;\n}\n\nexport interface IPopulateOmniboxEventArgs extends IOmniboxData {}\n\nexport interface IPopulateOmniboxEventRow extends IOmniboxDataRow {}\n\nexport interface IOmniboxPreprocessResultForQueryEventArgs {\n result: Coveo.MagicBox.Result;\n}\n\n/**\n * The `OmniboxEvents` static class contains the string definitions of all events that strongly relate to the\n * [`Omnibox`]{@link Omnibox} component.\n */\nexport class OmniboxEvents {\n public static populateOmnibox = 'populateOmnibox';\n\n /**\n * Triggered by the [`Omnibox`]{@link Omnibox} component before query completion suggestions are rendered.\n *\n * The out-of-the-box Coveo JavaScript Search Framework query completion suggestion addons (see the\n * [`enableFieldAddon`]{@link Omnibox.options.enableFieldAddon},\n * [`enableQueryExtensionAddon`]{@link Omnibox.options.enableQueryExtensionAddon}, and\n * [`enableQuerySuggestAddon`]{@link Omnibox.options.enableQuerySuggestAddon} options of the `Omnibox`) push their\n * respective suggestions in the argument object which is passed along with this event.\n *\n * All `populateOmniboxSuggestions` event handlers receive a\n * [`PopulateOmniboxSuggestionsEventArgs`]{@link IPopulateOmniboxSuggestionsEventArgs} object as an argument.\n *\n * @type {string} The string value is `populateOmniboxSuggestions`.\n */\n public static populateOmniboxSuggestions = 'populateOmniboxSuggestions';\n\n public static omniboxPreprocessResultForQuery = 'omniboxPreprocessResultForQuery';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/events/OmniboxEvents.ts","import { IQueryResult } from '../rest/QueryResult';\nimport { IQueryResults } from '../rest/QueryResults';\nimport { ValidLayout } from '../ui/ResultLayoutSelector/ValidLayout';\n\n/**\n * The `IDisplayedNewResultEventArgs` interface describes the object that all\n * [`newResultDisplayed`]{@link ResultListEvents.newResultDisplayed} event handlers receive as an argument.\n */\nexport interface IDisplayedNewResultEventArgs {\n /**\n * The query result that was just displayed by the [`ResultList`]{@link ResultList} component.\n */\n result: IQueryResult;\n\n /**\n * The HTML element which was rendered by the the displayed result.\n */\n item: HTMLElement;\n}\n\n/**\n * The `IOpenQuickviewEventArgs` interface describes the object that all\n * [`openQuickview`]{@link ResultList.openQuickview} event handlers receive as an argument.\n */\nexport interface IOpenQuickviewEventArgs {\n /**\n * The array of query expression terms to highlight in the quickview modal window.\n */\n termsToHighlight: any;\n}\n\n/**\n * The `IChangeLayoutEventArgs` interface describes the object that all\n * [`ChangeLayout`]{@link ResultListEvents.changeLayout} event handlers receive as an argument.\n */\nexport interface IChangeLayoutEventArgs {\n /**\n * The name of the new layout.\n *\n */\n layout: ValidLayout;\n\n /**\n * The current page of results.\n */\n results?: IQueryResults;\n}\n\n/**\n * The `ResultListEvents` static class contains the string definitions of all events that strongly relate to the result\n * list.\n *\n * See [Events](https://developers.coveo.com/x/bYGfAQ).\n */\nexport class ResultListEvents {\n /**\n * Triggered when the result list has just finished rendering the current page of results.\n *\n * @type {string} The string value is `newResultsDisplayed`.\n */\n public static newResultsDisplayed = 'newResultsDisplayed';\n\n /**\n * Triggered each time the result list has just finished rendering a single result.\n *\n * All `newResultDisplayed` event handlers receive a\n * [`DisplayedNewResultEventArgs`]{@link IDisplayedNewResultEventArgs} object as an argument.\n *\n * @type {string} The string value is `newResultDisplayed`.\n */\n public static newResultDisplayed = 'newResultDisplayed';\n\n /**\n * Triggered by the [`ResultLink`]{@link ResultLink} result template component when its\n * [`openQuickview`]{@link ResultLink.options.openQuickview} option is set to `true` and the end user clicks the\n * result link. The [`Quickview`]{@link Quickview} component listens to this event to be able to open the quickview\n * modal window in reaction.\n *\n * See also the [`openQuickview`]{@link QuickviewEvents.openQuickview} event (which is identical to this one, except\n * that it is triggered by the [`QuickviewDocument`] result template component instead).\n *\n * All `openQuickview` event handlers receive an [`OpenQuickviewEventArgs`]{@link IOpenQuickviewEventArgs} object as\n * an argument\n *\n * @type {string} The string value is `openQuickview`.\n */\n public static openQuickview = 'openQuickview';\n\n /**\n * Triggered by the [`ResultLayout`]{@link ResultLayout} component whenever the current result layout changes (see\n * [Result Layouts](https://developers.coveo.com/x/yQUvAg)).\n *\n * All `changeLayout` event handlers receive a [`ChangeLayoutEventArgs`]{@link IChangeLayoutEventArgs} object as an\n * argument.\n *\n * @type {string} The string value is `changeLayout`.\n */\n public static changeLayout = 'changeLayout';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/events/ResultListEvents.ts","import { RootComponent } from '../ui/Base/RootComponent';\nimport { IQueryResults } from '../rest/QueryResults';\nimport { QueryBuilder } from '../ui/Base/QueryBuilder';\nimport { IQuery } from '../rest/Query';\nimport { ISearchEndpoint, IEndpointCallOptions } from '../rest/SearchEndpointInterface';\nimport { SearchEndpoint } from '../rest/SearchEndpoint';\nimport { LocalStorageUtils } from '../utils/LocalStorageUtils';\nimport { ISearchInterfaceOptions } from '../ui/SearchInterface/SearchInterface';\nimport { Assert } from '../misc/Assert';\nimport { SearchEndpointWithDefaultCallOptions } from '../rest/SearchEndpointWithDefaultCallOptions';\nimport {\n INewQueryEventArgs,\n IPreprocessResultsEventArgs,\n INoResultsEventArgs,\n IQuerySuccessEventArgs,\n IQueryErrorEventArgs,\n IDuringQueryEventArgs,\n QueryEvents,\n IFetchMoreSuccessEventArgs,\n IDoneBuildingQueryEventArgs,\n IBuildingQueryEventArgs,\n IBuildingCallOptionsEventArgs\n} from '../events/QueryEvents';\nimport { QueryUtils } from '../utils/QueryUtils';\nimport { Defer } from '../misc/Defer';\nimport { $$, Dom } from '../utils/Dom';\nimport { Utils } from '../utils/Utils';\nimport { BaseComponent } from '../ui/Base/BaseComponent';\nimport { ModalBox } from '../ExternalModulesShim';\nimport { history } from 'coveo.analytics';\nimport * as _ from 'underscore';\nimport { UrlUtils } from '../utils/UrlUtils';\n\n/**\n * Possible options when performing a query with the query controller\n */\nexport interface IQueryOptions {\n /**\n * If the analytics component is enabled in the interface, it will look for any query executed by the query controller for which no analytics event was associated.
\n * By setting this property to true, this will cancel this check when the query is performed\n */\n ignoreWarningSearchEvent?: boolean;\n /**\n * Specify that the query to execute is a search as you type. This information will be passed down in the query events for component and external code to determine their behavior\n */\n searchAsYouType?: boolean;\n /**\n * Specify a function that you wish to execute just before the query is executed\n */\n beforeExecuteQuery?: () => void;\n /**\n * Cancel the query\n */\n cancel?: boolean;\n /**\n * The component from which the query originated. For example the pager will set the property to tweak it's behaviour\n */\n origin?: any;\n\n /**\n * Whether or not to log the query in the user actions history when using the page view script: https://github.com/coveo/coveo.analytics.js.\n * Only the 'q' part of the query will be logged.\n * This option is useful, because it prevents the query to be logged twice when a {@link Recommendation} component is present.\n * It also makes sure that only relevant queries are logged. For exemple, the 'empty' interface load query isn't logged.\n */\n logInActionsHistory?: boolean;\n isFirstQuery?: boolean;\n keepLastSearchUid?: boolean;\n closeModalBox?: boolean;\n shouldRedirectStandaloneSearchbox?: boolean;\n}\n\ninterface ILastQueryLocalStorage {\n hash: string;\n uid: string;\n expire: number;\n}\n\nclass DefaultQueryOptions implements IQueryOptions {\n searchAsYouType = false;\n beforeExecuteQuery: () => void;\n closeModalBox = true;\n cancel = false;\n logInActionsHistory = false;\n shouldRedirectStandaloneSearchbox = true;\n}\n\n/**\n * This class is automatically instantiated and bound to the root of your search interface when you initialize the framework.
\n * It is essentially a singleton that wraps the access to the {@link SearchEndpoint} endpoint to execute query, and is in charge of triggering the different query events.
\n * This is what every component of the framework uses internally to execute query or access the endpoint.
\n * When calling Coveo.executeQuery this class is used.\n */\nexport class QueryController extends RootComponent {\n static ID = 'QueryController';\n public historyStore: CoveoAnalytics.HistoryStore;\n public firstQuery: boolean;\n\n private currentPendingQuery: Promise;\n private lastQueryBuilder: QueryBuilder;\n private lastQueryHash: string;\n private lastQuery: IQuery;\n private lastSearchUid: string;\n private lastQueryResults: IQueryResults;\n private currentError: any;\n private createdOneQueryBuilder: boolean;\n private showingExecutingQueryAnimation = false;\n private overrideEndpoint: SearchEndpoint;\n\n private localStorage = new LocalStorageUtils('lastQueryHash');\n\n /**\n * Create a new query controller\n * @param element\n * @param options\n */\n constructor(element: HTMLElement, public options: ISearchInterfaceOptions, public usageAnalytics, public searchInterface) {\n super(element, QueryController.ID);\n Assert.exists(element);\n Assert.exists(options);\n this.firstQuery = true;\n this.historyStore = new history.HistoryStore();\n }\n\n /**\n * Set the {@link SearchEndpoint} that the query controller should use to execute query\n * @param endpoint\n */\n public setEndpoint(endpoint: SearchEndpoint) {\n this.overrideEndpoint = endpoint;\n this.logger.debug('Endpoint set', endpoint);\n }\n\n /**\n * Get the {@link SearchEndpoint} that is currently used by the query controller to execute query\n * @returns {SearchEndpoint}\n */\n public getEndpoint(): ISearchEndpoint {\n let endpoint = this.overrideEndpoint || this.options.endpoint;\n\n // We must wrap the endpoint in a decorator that'll add the call options\n // we obtain by firing the proper event. Those are used for authentication\n // providers, and I guess other stuff later on.\n return new SearchEndpointWithDefaultCallOptions(endpoint, this.getCallOptions());\n }\n\n /**\n * Return the last query that was performed by the query controller\n * @returns {IQuery|Query}\n */\n public getLastQuery() {\n return this.lastQuery || new QueryBuilder().build();\n }\n\n /**\n * Return the last query results set.\n * @returns {IQueryResults}\n */\n public getLastResults() {\n return this.lastQueryResults;\n }\n\n /**\n * Execute a query and return a Promise of IQueryResults.
\n * This will execute the normal query flow, triggering all the necessary query events (newQuery
\n * All components present in the interface will act accordingly (modify the query and render results if needed).\n * @param options\n * @returns {Promise}\n */\n public executeQuery(options?: IQueryOptions): Promise {\n options = _.extend(new DefaultQueryOptions(), options);\n\n if (options.closeModalBox) {\n ModalBox.close(true);\n }\n\n this.logger.debug('Executing new query');\n\n this.cancelAnyCurrentPendingQuery();\n\n if (options.beforeExecuteQuery != null) {\n options.beforeExecuteQuery();\n }\n\n if (!options.ignoreWarningSearchEvent) {\n this.usageAnalytics.warnAboutSearchEvent();\n }\n\n this.showExecutingQueryAnimation();\n\n let dataToSendOnNewQuery: INewQueryEventArgs = {\n searchAsYouType: options.searchAsYouType,\n cancel: options.cancel,\n origin: options.origin,\n shouldRedirectStandaloneSearchbox: options.shouldRedirectStandaloneSearchbox\n };\n\n this.newQueryEvent(dataToSendOnNewQuery);\n\n if (dataToSendOnNewQuery.cancel) {\n this.cancelQuery();\n return;\n }\n\n let queryBuilder = this.createQueryBuilder(options);\n\n // The query was canceled\n if (!queryBuilder) {\n return;\n }\n\n let query = queryBuilder.build();\n if (options.logInActionsHistory) {\n this.logQueryInActionsHistory(query, options.isFirstQuery);\n }\n\n let endpointToUse = this.getEndpoint();\n\n let promise = (this.currentPendingQuery = endpointToUse.search(query));\n promise\n .then(queryResults => {\n Assert.exists(queryResults);\n let firstQuery = this.firstQuery;\n if (this.firstQuery) {\n this.firstQuery = false;\n }\n // If our promise is no longer the current one, then the query\n // has been cancel. We should do nothing here.\n if (promise !== this.currentPendingQuery) {\n return;\n }\n\n this.logger.debug('Query results received', query, queryResults);\n let enableHistory = this.searchInterface && this.searchInterface.options && this.searchInterface.options.enableHistory;\n\n if ((!firstQuery || enableHistory) && this.keepLastSearchUid(query, queryResults)) {\n queryResults.searchUid = this.getLastSearchUid();\n queryResults._reusedSearchUid = true;\n QueryUtils.setPropertyOnResults(queryResults, 'queryUid', this.getLastSearchUid());\n } else {\n this.lastQueryHash = this.queryHash(query, queryResults);\n this.lastSearchUid = queryResults.searchUid;\n }\n\n this.lastQuery = query;\n this.lastQueryResults = queryResults;\n this.currentError = null;\n\n let dataToSendOnPreprocessResult: IPreprocessResultsEventArgs = {\n queryBuilder: queryBuilder,\n query: query,\n results: queryResults,\n searchAsYouType: options.searchAsYouType\n };\n this.preprocessResultsEvent(dataToSendOnPreprocessResult);\n\n let dataToSendOnNoResult: INoResultsEventArgs = {\n queryBuilder: queryBuilder,\n query: query,\n results: queryResults,\n searchAsYouType: options.searchAsYouType,\n retryTheQuery: false\n };\n if (queryResults.results.length == 0) {\n this.noResultEvent(dataToSendOnNoResult);\n }\n\n if (dataToSendOnNoResult.retryTheQuery) {\n // When retrying the query, we must forward the results to the deferred we\n // initially returned, in case someone is listening on it.\n return this.executeQuery();\n } else {\n this.lastQueryBuilder = queryBuilder;\n this.currentPendingQuery = undefined;\n\n let dataToSendOnSuccess: IQuerySuccessEventArgs = {\n queryBuilder: queryBuilder,\n query: query,\n results: queryResults,\n searchAsYouType: options.searchAsYouType\n };\n this.querySuccessEvent(dataToSendOnSuccess);\n\n Defer.defer(() => {\n this.deferredQuerySuccessEvent(dataToSendOnSuccess);\n this.hideExecutingQueryAnimation();\n });\n return queryResults;\n }\n })\n .catch((error?: any) => {\n // If our deferred is no longer the current one, then the query\n // has been cancel. We should do nothing here.\n if (promise !== this.currentPendingQuery) {\n return;\n }\n\n this.logger.error('Query triggered an error', query, error);\n\n // this.currentPendingQuery.reject(error);\n this.currentPendingQuery = undefined;\n let dataToSendOnError: IQueryErrorEventArgs = {\n queryBuilder: queryBuilder,\n endpoint: endpointToUse,\n query: query,\n error: error,\n searchAsYouType: options.searchAsYouType\n };\n\n this.lastQuery = query;\n this.lastQueryResults = null;\n this.currentError = error;\n this.queryError(dataToSendOnError);\n\n this.hideExecutingQueryAnimation();\n });\n\n let dataToSendDuringQuery: IDuringQueryEventArgs = {\n queryBuilder: queryBuilder,\n query: query,\n searchAsYouType: options.searchAsYouType,\n promise: promise\n };\n this.duringQueryEvent(dataToSendDuringQuery);\n\n return this.currentPendingQuery;\n }\n\n /**\n * Using the same parameters as the last successful query, fetch another batch of results. Particularly useful for infinite scrolling, for example.\n * @param count\n * @returns {any}\n */\n public fetchMore(count: number): Promise {\n if (this.currentPendingQuery != undefined) {\n return undefined;\n }\n // Send all pending events (think : search as you type)\n // This allows us to get the real search id for the results when the query returns\n this.usageAnalytics.sendAllPendingEvents();\n\n let queryBuilder = new QueryBuilder();\n this.continueLastQueryBuilder(queryBuilder, count);\n let query = queryBuilder.build();\n let endpointToUse = this.getEndpoint();\n let promise: any = (this.currentPendingQuery = endpointToUse.search(query));\n let dataToSendDuringQuery: IDuringQueryEventArgs = {\n queryBuilder: queryBuilder,\n query: query,\n searchAsYouType: false,\n promise: promise\n };\n $$(this.element).trigger(QueryEvents.duringFetchMoreQuery, dataToSendDuringQuery);\n this.lastQueryBuilder = queryBuilder;\n this.lastQuery = query;\n promise.then((results?: IQueryResults) => {\n // We re-use the search id from the initial search here, even though the\n // server provided us with a new one. 'Fetch mores' are considered to be\n // the same query from an analytics point of view.\n\n this.currentPendingQuery = undefined;\n\n if (this.lastQueryResults == null) {\n this.lastQueryResults = results;\n } else {\n _.forEach(results.results, result => {\n this.lastQueryResults.results.push(result);\n });\n }\n\n let dataToSendOnPreprocessResult: IPreprocessResultsEventArgs = {\n queryBuilder: queryBuilder,\n query: query,\n results: results,\n searchAsYouType: false\n };\n this.preprocessResultsEvent(dataToSendOnPreprocessResult);\n QueryUtils.setIndexAndUidOnQueryResults(query, results, this.getLastSearchUid(), results.pipeline, results.splitTestRun);\n let dataToSendOnFetchMoreSuccess: IFetchMoreSuccessEventArgs = {\n query: query,\n results: results,\n queryBuilder: queryBuilder,\n searchAsYouType: false\n };\n this.fetchMoreSuccessEvent(dataToSendOnFetchMoreSuccess);\n });\n return this.currentPendingQuery;\n }\n\n /**\n * Cancel any pending query\n */\n public cancelQuery(): void {\n this.cancelAnyCurrentPendingQuery();\n this.hideExecutingQueryAnimation();\n }\n\n public deferExecuteQuery(options?: IQueryOptions) {\n this.showExecutingQueryAnimation();\n Defer.defer(() => this.executeQuery(options));\n }\n\n public ensureCreatedQueryBuilder() {\n if (!this.createdOneQueryBuilder) {\n this.createQueryBuilder(new DefaultQueryOptions());\n }\n }\n\n public createQueryBuilder(options: IQueryOptions): QueryBuilder {\n Assert.exists(options);\n\n this.createdOneQueryBuilder = true;\n\n let queryBuilder = new QueryBuilder();\n\n // Default values, components will probably override them if they exists\n queryBuilder.locale = String['locale'];\n queryBuilder.firstResult = queryBuilder.firstResult || 0;\n\n // Allow outside code to customize the query builder. We provide two events,\n // to allow someone to have a peep at the query builder after the first phase\n // and add some stuff depending on what was put in there. The facets are using\n // this mechanism to generate query overrides.\n let dataToSendDuringBuildingQuery: IBuildingQueryEventArgs = {\n queryBuilder: queryBuilder,\n searchAsYouType: options.searchAsYouType,\n cancel: options.cancel\n };\n this.buildingQueryEvent(dataToSendDuringBuildingQuery);\n\n let dataToSendDuringDoneBuildingQuery: IDoneBuildingQueryEventArgs = {\n queryBuilder: queryBuilder,\n searchAsYouType: options.searchAsYouType,\n cancel: options.cancel\n };\n this.doneBuildingQueryEvent(dataToSendDuringDoneBuildingQuery);\n\n if (dataToSendDuringBuildingQuery.cancel || dataToSendDuringDoneBuildingQuery.cancel) {\n this.cancelQuery();\n return;\n }\n\n let pipeline = this.getPipelineInUrl();\n if (pipeline) {\n queryBuilder.pipeline = pipeline;\n }\n\n return queryBuilder;\n }\n\n public isStandaloneSearchbox(): boolean {\n return Utils.isNonEmptyString(this.options.searchPageUri);\n }\n\n public saveLastQuery() {\n this.localStorage.save({\n expire: new Date().getTime() + 1000 * 60 * 30, // Psoucy rolled dice and said 30 mins was the magic number\n hash: this.lastQueryHash,\n uid: this.lastSearchUid\n });\n }\n\n // This field is exposed for components rendered in the results or on-demand which\n // need access to the entire query. For example, the QuickviewDocument need to pass\n // the entire query to the Search API. For other components, QueryStateModel or\n // listening to events like 'doneBuildingQuery' is the way to go.\n public getLastQueryHash(): string {\n if (this.lastQueryHash != null) {\n return this.lastQueryHash;\n }\n this.loadLastQueryHash();\n return this.lastQueryHash || this.queryHash(new QueryBuilder().build());\n }\n\n private getLastSearchUid(): string {\n if (this.lastSearchUid != null) {\n return this.lastSearchUid;\n }\n this.loadLastQueryHash();\n return this.lastSearchUid;\n }\n\n private loadLastQueryHash() {\n let lastQuery = this.localStorage.load();\n if (lastQuery != null && new Date().getTime() <= lastQuery.expire) {\n this.lastQueryHash = lastQuery.hash;\n this.lastSearchUid = lastQuery.uid;\n this.localStorage.remove();\n }\n }\n\n private continueLastQueryBuilder(queryBuilder: QueryBuilder, count: number) {\n _.extend(queryBuilder, this.lastQueryBuilder);\n queryBuilder.firstResult = queryBuilder.firstResult + queryBuilder.numberOfResults;\n queryBuilder.numberOfResults = count;\n }\n\n private getPipelineInUrl() {\n return UrlUtils.getUrlParameter('pipeline');\n }\n\n private cancelAnyCurrentPendingQuery() {\n if (Utils.exists(this.currentPendingQuery)) {\n this.logger.debug('Cancelling current pending query');\n Promise.reject('Cancelling current pending query');\n this.currentPendingQuery = undefined;\n return true;\n }\n return false;\n }\n\n private showExecutingQueryAnimation() {\n if (!this.showingExecutingQueryAnimation) {\n $$(this.element).addClass('coveo-executing-query');\n this.showingExecutingQueryAnimation = true;\n }\n }\n\n private hideExecutingQueryAnimation() {\n if (this.showingExecutingQueryAnimation) {\n $$(this.element).removeClass('coveo-executing-query');\n this.showingExecutingQueryAnimation = false;\n }\n }\n\n private keepLastSearchUid(query: IQuery, queryResults: IQueryResults) {\n return this.getLastQueryHash() == this.queryHash(query, queryResults);\n }\n\n private queryHash(query: IQuery, queryResults?: IQueryResults): string {\n let queryHash = JSON.stringify(_.omit(query, 'firstResult', 'groupBy', 'debug'));\n if (queryResults != null) {\n queryHash += queryResults.pipeline;\n }\n return queryHash;\n }\n\n private getCallOptions(): IEndpointCallOptions {\n let args: IBuildingCallOptionsEventArgs = {\n options: {\n authentication: []\n }\n };\n\n $$(this.element).trigger(QueryEvents.buildingCallOptions, args);\n return args.options;\n }\n\n private newQueryEvent(args) {\n $$(this.element).trigger(QueryEvents.newQuery, args);\n }\n\n private buildingQueryEvent(args) {\n $$(this.element).trigger(QueryEvents.buildingQuery, args);\n }\n\n private doneBuildingQueryEvent(args) {\n $$(this.element).trigger(QueryEvents.doneBuildingQuery, args);\n }\n\n private duringQueryEvent(args) {\n $$(this.element).trigger(QueryEvents.duringQuery, args);\n }\n\n private querySuccessEvent(args) {\n $$(this.element).trigger(QueryEvents.querySuccess, args);\n }\n\n private fetchMoreSuccessEvent(args) {\n $$(this.element).trigger(QueryEvents.fetchMoreSuccess, args);\n }\n\n private deferredQuerySuccessEvent(args) {\n $$(this.element).trigger(QueryEvents.deferredQuerySuccess, args);\n }\n\n private queryError(args) {\n $$(this.element).trigger(QueryEvents.queryError, args);\n }\n\n private preprocessResultsEvent(args) {\n $$(this.element).trigger(QueryEvents.preprocessResults, args);\n }\n\n private noResultEvent(args) {\n $$(this.element).trigger(QueryEvents.noResults, args);\n }\n\n public debugInfo() {\n let info: any = {\n query: this.lastQuery\n };\n\n if (this.lastQueryResults != null) {\n info.queryDuration = () => this.buildQueryDurationSection(this.lastQueryResults);\n info.results = () => _.omit(this.lastQueryResults, 'results');\n }\n\n if (this.currentError != null) {\n info.error = () => this.currentError;\n }\n\n return info;\n }\n\n private buildQueryDurationSection(queryResults: IQueryResults) {\n let dom = Dom.createElement('div', { className: 'coveo-debug-queryDuration' });\n let graph = Dom.createElement('div', { className: 'coveo-debug-durations' });\n let debugRef = BaseComponent.getComponentRef('Debug');\n dom.appendChild(graph);\n _.forEach(debugRef.durationKeys, (key: string) => {\n let duration = queryResults[key];\n if (duration != null) {\n graph.appendChild(\n Dom.createElement('div', {\n className: 'coveo-debug-duration',\n style: `width:${duration}px`,\n 'data-id': key\n })\n );\n let legend = Dom.createElement('div', { className: 'coveo-debug-duration-legend', 'data-id': key });\n dom.appendChild(legend);\n let keyDom = Dom.createElement('span', { className: 'coveo-debug-duration-label' });\n keyDom.appendChild(document.createTextNode(key));\n legend.appendChild(keyDom);\n let durationDom = Dom.createElement('span', { className: 'coveo-debug-duration-value' });\n durationDom.appendChild(document.createTextNode(duration));\n legend.appendChild(durationDom);\n }\n });\n return dom;\n }\n\n private logQueryInActionsHistory(query: IQuery, isFirstQuery: boolean) {\n let queryElement: CoveoAnalytics.HistoryQueryElement = {\n name: 'Query',\n value: query.q,\n time: JSON.stringify(new Date())\n };\n this.historyStore.addElement(queryElement);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/controllers/QueryController.ts","import { BaseComponent } from './BaseComponent';\n\nexport class RootComponent extends BaseComponent {\n constructor(public element: HTMLElement, public type: string) {\n super(element, type);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/Base/RootComponent.ts","var localStorage = window.localStorage;\nexport class LocalStorageUtils {\n constructor(public id: string) {}\n\n public save(data: T) {\n try {\n if (localStorage != null) {\n localStorage.setItem(this.getLocalStorageKey(), JSON.stringify(data));\n }\n } catch (error) {}\n }\n\n public load(): T {\n try {\n if (localStorage == null) {\n return null;\n }\n var value = localStorage.getItem(this.getLocalStorageKey());\n return value && JSON.parse(value);\n } catch (error) {\n return null;\n }\n }\n\n public remove(key?: string) {\n try {\n if (localStorage != null) {\n if (key == undefined) {\n localStorage.removeItem(this.getLocalStorageKey());\n } else {\n var oldObj = this.load();\n delete oldObj[key];\n this.save(oldObj);\n }\n }\n } catch (error) {}\n }\n\n private getLocalStorageKey() {\n return 'coveo-' + this.id;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/LocalStorageUtils.ts","import { Assert } from '../misc/Assert';\nimport { Utils } from '../utils/Utils';\nimport * as _ from 'underscore';\nimport { Logger } from '../MiscModules';\n\nexport class HashUtils {\n private static DELIMITER = {\n objectStart: '{',\n objectEnd: '}',\n arrayStart: '[',\n arrayEnd: ']',\n objectStartRegExp: '^{',\n objectEndRegExp: '}+$',\n arrayStartRegExp: '^[',\n arrayEndRegExp: ']+$'\n };\n\n public static getHash(w = window): string {\n Assert.exists(w);\n\n // window.location.hash returns the DECODED hash on Firefox (it's a well known bug),\n // so any & in values will be already unescaped. This breaks our value splitting.\n // The following trick works on all browsers.\n const ret = '#' + (w.location.href.split('#')[1] || '');\n return HashUtils.getAjaxcrawlableHash(ret);\n }\n\n public static getValue(key: string, toParse: string): any {\n Assert.isNonEmptyString(key);\n Assert.exists(toParse);\n toParse = HashUtils.getAjaxcrawlableHash(toParse);\n let paramValue = HashUtils.getRawValue(key, toParse);\n if (paramValue != undefined) {\n paramValue = HashUtils.getValueDependingOnType(key, paramValue);\n }\n return paramValue;\n }\n\n public static encodeValues(values: {}): string {\n const hash: String[] = [];\n _.each(<_.Dictionary>values, (valueToEncode, key, obj?) => {\n let encodedValue = '';\n if (Utils.isNonEmptyArray(valueToEncode)) {\n encodedValue = HashUtils.encodeArray(valueToEncode);\n } else if (_.isObject(valueToEncode) && Utils.isNonEmptyArray(_.keys(valueToEncode))) {\n encodedValue = HashUtils.encodeObject(valueToEncode);\n } else if (!Utils.isNullOrUndefined(valueToEncode)) {\n encodedValue = Utils.safeEncodeURIComponent(valueToEncode.toString());\n }\n if (encodedValue != '') {\n hash.push(key + '=' + encodedValue);\n }\n });\n\n return hash.join('&');\n }\n\n private static getAjaxcrawlableHash(hash: string) {\n if (hash[1] != undefined && hash[1] == '!') {\n return hash.substring(0, 1) + hash.substring(2);\n } else {\n return hash;\n }\n }\n\n private static getRawValue(key: string, toParse: string): string {\n Assert.exists(key);\n Assert.exists(toParse);\n Assert.check(toParse.indexOf('#') == 0 || toParse == '');\n\n const toParseArray = toParse.substr(1).split('&');\n let paramPos = 0;\n let loop = true;\n let paramValue: string = undefined;\n while (loop) {\n const paramValuePair = toParseArray[paramPos].split('=');\n if (paramValuePair[0] == key) {\n loop = false;\n paramValue = paramValuePair[1];\n } else {\n paramPos++;\n if (paramPos >= toParseArray.length) {\n paramPos = undefined;\n loop = false;\n }\n }\n }\n return paramValue;\n }\n\n private static getValueDependingOnType(key: string, paramValue: string): any {\n const type = HashUtils.getValueType(key, paramValue);\n let returnValue;\n\n if (type == 'object') {\n returnValue = HashUtils.decodeObject(paramValue);\n } else if (type == 'array') {\n returnValue = HashUtils.decodeArray(paramValue);\n } else {\n try {\n returnValue = decodeURIComponent(paramValue);\n } catch (e) {\n new Logger(HashUtils).warn('Error while decoding a value from the URL as a standard value', e, key, paramValue);\n }\n }\n return returnValue;\n }\n\n private static getValueType(key: string, paramValue: string): string {\n if (key == 'q') {\n return 'other';\n } else if (HashUtils.isObject(paramValue)) {\n return 'object';\n } else if (HashUtils.isArray(paramValue)) {\n return 'array';\n } else {\n return 'other';\n }\n }\n\n private static isArrayStartNotEncoded(value: string) {\n return value.substr(0, 1) == HashUtils.DELIMITER.arrayStart;\n }\n\n private static isArrayStartEncoded(value: string) {\n return value.indexOf(Utils.safeEncodeURIComponent(HashUtils.DELIMITER.arrayStart)) == 0;\n }\n\n private static isArrayEndNotEncoded(value: string) {\n return value.substr(value.length - 1);\n }\n\n private static isArrayEndEncoded(value: string) {\n return (\n value.indexOf(Utils.safeEncodeURIComponent(HashUtils.DELIMITER.arrayEnd)) ==\n value.length - Utils.safeEncodeURIComponent(HashUtils.DELIMITER.arrayEnd).length\n );\n }\n\n private static isObjectStartNotEncoded(value: string) {\n return value.substr(0, 1) == HashUtils.DELIMITER.objectStart;\n }\n\n private static isObjectStartEncoded(value: string) {\n return value.indexOf(Utils.safeEncodeURIComponent(HashUtils.DELIMITER.objectStart)) == 0;\n }\n\n private static isObjectEndNotEncoded(value: string) {\n return value.substr(value.length - 1) == HashUtils.DELIMITER.objectEnd;\n }\n\n private static isObjectEndEncoded(value: string) {\n return (\n value.indexOf(Utils.safeEncodeURIComponent(HashUtils.DELIMITER.objectEnd)) ==\n value.length - Utils.safeEncodeURIComponent(HashUtils.DELIMITER.objectEnd).length\n );\n }\n\n private static isObject(value: string) {\n const isObjectStart = HashUtils.isObjectStartNotEncoded(value) || HashUtils.isObjectStartEncoded(value);\n const isObjectEnd = HashUtils.isObjectEndNotEncoded(value) || HashUtils.isObjectEndEncoded(value);\n return isObjectStart && isObjectEnd;\n }\n\n private static isArray(value: string) {\n const isArrayStart = HashUtils.isArrayStartNotEncoded(value) || HashUtils.isArrayStartEncoded(value);\n const isArrayEnd = HashUtils.isArrayEndNotEncoded(value) || HashUtils.isArrayEndEncoded(value);\n return isArrayStart && isArrayEnd;\n }\n\n public static encodeArray(array: string[]): string {\n const arrayReturn = _.map(array, value => {\n return Utils.safeEncodeURIComponent(value);\n });\n return HashUtils.DELIMITER.arrayStart + arrayReturn.join(',') + HashUtils.DELIMITER.arrayEnd;\n }\n\n public static encodeObject(obj: Object): string {\n const retArray = _.map(<_.Dictionary>obj, (val, key?, obj?) => {\n return `\"${Utils.safeEncodeURIComponent(key)}\":${this.encodeValue(val)}`;\n });\n return HashUtils.DELIMITER.objectStart + retArray.join(' , ') + HashUtils.DELIMITER.objectEnd;\n }\n\n private static encodeValue(val: any) {\n let encodedValue = '';\n if (_.isArray(val)) {\n encodedValue = HashUtils.encodeArray(val);\n } else if (_.isObject(val)) {\n encodedValue = JSON.stringify(val);\n } else if (_.isNumber(val) || _.isBoolean(val)) {\n encodedValue = Utils.safeEncodeURIComponent(val.toString());\n } else {\n encodedValue = '\"' + Utils.safeEncodeURIComponent(val) + '\"';\n }\n return encodedValue;\n }\n\n private static decodeObject(obj: string): Object {\n if (HashUtils.isObjectStartEncoded(obj) && HashUtils.isObjectEndEncoded(obj)) {\n obj = obj.replace(/encodeURIComponent(HashUtils.Delimiter.objectStart)/, HashUtils.DELIMITER.objectStart);\n obj = obj.replace(Utils.safeEncodeURIComponent(HashUtils.DELIMITER.objectEnd), HashUtils.DELIMITER.objectEnd);\n }\n try {\n const containsArray = /(\\[.*\\])/.exec(obj);\n\n if (containsArray) {\n obj = obj.replace(\n /(\\[.*\\])/,\n `[${this.decodeArray(containsArray[1])\n .map(val => `\"${val}\"`)\n .join(',')}]`\n );\n }\n\n const decoded = decodeURIComponent(obj);\n return JSON.parse(decoded);\n } catch (e) {\n new Logger(HashUtils).warn('Error while decoding a value from the URL as an object', e, obj);\n return {};\n }\n }\n\n private static decodeArray(value: string): any[] {\n if (HashUtils.isArrayStartEncoded(value) && HashUtils.isArrayEndEncoded(value)) {\n value = value.replace(Utils.safeEncodeURIComponent(HashUtils.DELIMITER.arrayStart), HashUtils.DELIMITER.arrayStart);\n value = value.replace(Utils.safeEncodeURIComponent(HashUtils.DELIMITER.arrayEnd), HashUtils.DELIMITER.arrayEnd);\n }\n value = value.substr(1);\n value = value.substr(0, value.length - 1);\n const array = value.split(',');\n return _.chain(array)\n .map(val => {\n try {\n return decodeURIComponent(val);\n } catch (e) {\n new Logger(HashUtils).warn('Error while decoding a value from the URL as an array', e, val, value);\n return null;\n }\n })\n .compact()\n .value();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/HashUtils.ts","/**\n * Represent an item to insert in the breadcrumb\n */\nexport interface IBreadcrumbItem {\n /**\n * The HTMLElement to insert in the breadcrumb\n */\n element: HTMLElement;\n}\n\n/**\n * Event triggered when populating the breadcrumb\n */\nexport interface IPopulateBreadcrumbEventArgs {\n breadcrumbs: IBreadcrumbItem[];\n}\n\nexport interface IClearBreadcrumbEventArgs {}\n\n/**\n * This static class is there to contains the different string definition for all the events related to {@link Breadcrumb}.\n */\nexport class BreadcrumbEvents {\n /**\n * Triggered when the breadcrumb needs to update its content. External code can use this event to provide bits of HTML that should be included in the breadcrumb.\n *\n * All handlers bound to this event will receive a {@link IPopulateBreadcrumbEventArgs} as an argument.\n */\n public static populateBreadcrumb = 'populateBreadcrumb';\n /**\n * Triggered when the user clicks the Clear All button in the breadcrumb. When this event is raised, every filter that is included in the breadcrumb should be removed.\n *\n * This event does not provide custom event data.\n */\n public static clearBreadcrumb = 'clearBreadcrumb';\n public static redrawBreadcrumb = 'redrawBreadcrumb';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/events/BreadcrumbEvents.ts","export class SettingsEvents {\n public static settingsPopulateMenu = 'settingsPopulateMenu';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/events/SettingsEvents.ts","import { Assert } from '../../misc/Assert';\nimport 'styling/_ResponsiveComponents';\n\nexport const MEDIUM_SCREEN_WIDTH = 800;\nexport const SMALL_SCREEN_WIDTH = 480;\n\n/**\n * This class serves as a way to get and set the different screen size breakpoints for the interface.\n *\n * By setting those, you can impact, amongst others, the {@link Facet}'s, {@link Tab}'s or the {@link ResultList}'s behaviour.\n *\n * For example, the {@link Facet} components of your interface will switch to a dropdown menu when the screen size reaches 800px or less.\n *\n * You could modify this value using `this` calls\n *\n * Normally, you would interact with this class using the instance bound to {@link SearchInterface.responsiveComponents}\n */\nexport class ResponsiveComponents {\n private smallScreenWidth: number;\n private mediumScreenWidth: number;\n\n constructor(public windoh: Window = window) {}\n\n /**\n * Set the breakpoint for small screen size.\n * @param width\n */\n public setSmallScreenWidth(width: number) {\n Assert.check(\n width < this.getMediumScreenWidth(),\n `Cannot set small screen width (${width}) larger or equal to the current medium screen width (${this.getMediumScreenWidth()})`\n );\n this.smallScreenWidth = width;\n }\n\n /**\n * Set the breakpoint for medium screen size\n * @param width\n */\n public setMediumScreenWidth(width: number) {\n Assert.check(\n width > this.getSmallScreenWidth(),\n `Cannot set medium screen width (${width}) smaller or equal to the current small screen width (${this.getSmallScreenWidth()})`\n );\n this.mediumScreenWidth = width;\n }\n\n /**\n * Get the current breakpoint for small screen size.\n *\n * If it was not explicitly set by {@link ResponsiveComponents.setSmallScreenWidth}, the default value is `480`.\n * @returns {number}\n */\n public getSmallScreenWidth() {\n if (this.smallScreenWidth == null) {\n return SMALL_SCREEN_WIDTH;\n }\n return this.smallScreenWidth;\n }\n\n /**\n * Get the current breakpoint for medium screen size.\n *\n * If it was not explicitly set by {@link ResponsiveComponents.setMediumScreenWidth}, the default value is `800`.\n * @returns {number}\n */\n public getMediumScreenWidth() {\n if (this.mediumScreenWidth == null) {\n return MEDIUM_SCREEN_WIDTH;\n }\n return this.mediumScreenWidth;\n }\n\n /**\n * Return true if the current screen size is smaller than the current breakpoint set for small screen width.\n * @returns {boolean}\n */\n public isSmallScreenWidth() {\n if (this.windoh['clientWidth'] != null) {\n return this.windoh['clientWidth'] <= this.getSmallScreenWidth();\n } else {\n return document.body.clientWidth <= this.getSmallScreenWidth();\n }\n }\n\n /**\n * Return true if the current screen size is smaller than the current breakpoint set for medium screen width.\n * @returns {boolean}\n */\n public isMediumScreenWidth() {\n if (this.isSmallScreenWidth()) {\n return false;\n }\n if (this.windoh['clientWidth'] != null) {\n return this.windoh['clientWidth'] <= this.getMediumScreenWidth();\n }\n return document.body.clientWidth <= this.getMediumScreenWidth();\n }\n\n /**\n * Return true if the current screen size is larger than the current breakpoint set for medium and small.\n * @returns {boolean}\n */\n public isLargeScreenWidth() {\n return !this.isSmallScreenWidth() && !this.isMediumScreenWidth();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/ResponsiveComponents/ResponsiveComponents.ts","import { ISearchEndpointOptions, ISearchEndpoint, IViewAsHtmlOptions } from './SearchEndpointInterface';\nimport { EndpointCaller, IEndpointCallParameters, IErrorResponse, IRequestInfo, IEndpointCallerOptions } from '../rest/EndpointCaller';\nimport { IEndpointCallOptions } from '../rest/SearchEndpointInterface';\nimport { IStringMap } from './GenericParam';\nimport { Logger } from '../misc/Logger';\nimport { Assert } from '../misc/Assert';\nimport { IQuery } from '../rest/Query';\nimport { IQueryResults } from '../rest/QueryResults';\nimport { IQueryResult } from '../rest/QueryResult';\nimport { version } from '../misc/Version';\nimport { IListFieldValuesRequest, IListFieldValuesBatchRequest, IFieldValueBatchResponse } from '../rest/ListFieldValuesRequest';\nimport { IIndexFieldValue } from '../rest/FieldValue';\nimport { IFieldDescription } from '../rest/FieldDescription';\nimport { IListFieldsResult } from '../rest/ListFieldsResult';\nimport { IExtension } from '../rest/Extension';\nimport { IRatingRequest } from '../rest/RatingRequest';\nimport { ITaggingRequest } from '../rest/TaggingRequest';\nimport { IQuerySuggestRequest, IQuerySuggestResponse } from '../rest/QuerySuggest';\nimport { ISentryLog } from './SentryLog';\nimport { ISubscriptionRequest, ISubscription } from '../rest/Subscription';\nimport { AjaxError } from '../rest/AjaxError';\nimport { MissingAuthenticationError } from '../rest/MissingAuthenticationError';\nimport { QueryUtils } from '../utils/QueryUtils';\nimport { QueryError } from '../rest/QueryError';\nimport { Utils } from '../utils/Utils';\nimport * as _ from 'underscore';\nimport { history } from 'coveo.analytics';\nimport { Cookie } from '../utils/CookieUtils';\nimport { TimeSpan } from '../utils/TimeSpanUtils';\nimport { UrlUtils } from '../utils/UrlUtils';\nimport { IGroupByResult } from './GroupByResult';\nimport { AccessToken } from './AccessToken';\n\nexport class DefaultSearchEndpointOptions implements ISearchEndpointOptions {\n restUri: string;\n version: string = 'v2';\n queryStringArguments: IStringMap = {};\n anonymous: boolean = false;\n accessToken: string;\n renewAccessToken: () => Promise;\n username: string;\n password: string;\n searchAlertsUri: string;\n isGuestUser: boolean = false;\n}\n\n/**\n * The `SearchEndpoint` class allows you to execute various actions against the Coveo Search API and a Coveo index\n * (e.g., searching, listing field values, getting the quickview content of an item, etc.).\n *\n * This class does trigger any query events directly. Consequently, executing an action with this class does not trigger\n * a full query cycle for the Coveo components.\n *\n * If you wish to have all Coveo components \"react\" to a query, (and trigger the corresponding query events), use the\n * [`QueryController`]{@link QueryController} class instead.\n */\nexport class SearchEndpoint implements ISearchEndpoint {\n /**\n * Contains a map of all initialized `SearchEndpoint` instances.\n *\n * **Example:**\n * > `Coveo.SearchEndpoint.endpoints['default']` returns the default endpoint that was created at initialization.\n * @type {{}}\n */\n static endpoints: { [endpoint: string]: SearchEndpoint } = {};\n\n /**\n * Configures a sample search endpoint on a Coveo Cloud index containing a set of public sources with no secured\n * content.\n *\n * **Note:**\n * > This method mainly exists for demo purposes and ease of setup.\n *\n * @param otherOptions A set of additional options to use when configuring this endpoint.\n */\n static configureSampleEndpoint(otherOptions?: ISearchEndpointOptions) {\n if (SearchEndpoint.isUseLocalArgumentPresent()) {\n // This is a handy flag to quickly test a local search API and alerts\n SearchEndpoint.endpoints['default'] = new SearchEndpoint(\n _.extend(\n {\n restUri: 'http://localhost:8100/rest/search',\n searchAlertsUri: 'http://localhost:8088/rest/search/alerts/'\n },\n otherOptions\n )\n );\n } else {\n // This OAuth token points to the organization used for samples.\n // It contains a set of harmless content sources.\n SearchEndpoint.endpoints['default'] = new SearchEndpoint(\n _.extend(\n {\n restUri: 'https://cloudplatform.coveo.com/rest/search',\n accessToken: '52d806a2-0f64-4390-a3f2-e0f41a4a73ec'\n },\n otherOptions\n )\n );\n }\n }\n\n /**\n * Configures a sample search endpoint on a Coveo Cloud V2 index containing a set of public sources with no secured\n * content.\n *\n * **Note:**\n * > This method mainly exists for demo purposes and ease of setup.\n *\n * @param otherOptions A set of additional options to use when configuring this endpoint.\n */\n static configureSampleEndpointV2(optionsOPtions?: ISearchEndpointOptions) {\n SearchEndpoint.endpoints['default'] = new SearchEndpoint(\n _.extend({\n restUri: 'https://platform.cloud.coveo.com/rest/search',\n accessToken: 'xx564559b1-0045-48e1-953c-3addd1ee4457',\n queryStringArguments: {\n organizationId: 'searchuisamples',\n viewAllContent: 1\n }\n })\n );\n }\n\n /**\n * Configures a search endpoint on a Coveo Cloud index.\n * @param organization The organization ID of your Coveo Cloud index.\n * @param token The token to use to execute query. If not specified, you will likely need to login when querying.\n * @param uri The URI of the Coveo Cloud REST Search API. By default, this points to the production environment.\n * @param otherOptions A set of additional options to use when configuring this endpoint.\n */\n static configureCloudEndpoint(\n organization?: string,\n token?: string,\n uri: string = 'https://cloudplatform.coveo.com/rest/search',\n otherOptions?: ISearchEndpointOptions\n ) {\n let options: ISearchEndpointOptions = {\n restUri: uri,\n accessToken: token,\n queryStringArguments: { organizationId: organization }\n };\n\n let merged = SearchEndpoint.mergeConfigOptions(options, otherOptions);\n\n SearchEndpoint.endpoints['default'] = new SearchEndpoint(SearchEndpoint.removeUndefinedConfigOption(merged));\n }\n\n /**\n * Configures a search endpoint on a Coveo Cloud V2 index.\n * @param organization The organization ID of your Coveo Cloud V2 index.\n * @param token The token to use to execute query. If not specified, you will likely need to login when querying.\n * @param uri The URI of the Coveo Cloud REST Search API. By default, this points to the production environment.\n * @param otherOptions A set of additional options to use when configuring this endpoint.\n */\n static configureCloudV2Endpoint(\n organization?: string,\n token?: string,\n uri: string = 'https://platform.cloud.coveo.com/rest/search',\n otherOptions?: ISearchEndpointOptions\n ) {\n return SearchEndpoint.configureCloudEndpoint(organization, token, uri, otherOptions);\n }\n\n /**\n * Configures a search endpoint on a Coveo on-premise index.\n * @param uri The URI of your Coveo Search API endpoint (e.g., `http://myserver:8080/rest/search`)\n * @param token The token to use to execute query. If not specified, you will likely need to login when querying\n * (unless your Coveo Search API endpoint is configured using advanced auth options, such as Windows auth or claims).\n * @param otherOptions A set of additional options to use when configuring this endpoint.\n */\n static configureOnPremiseEndpoint(uri: string, token?: string, otherOptions?: ISearchEndpointOptions) {\n let merged = SearchEndpoint.mergeConfigOptions(\n {\n restUri: uri,\n accessToken: token\n },\n otherOptions\n );\n\n SearchEndpoint.endpoints['default'] = new SearchEndpoint(SearchEndpoint.removeUndefinedConfigOption(merged));\n }\n\n static removeUndefinedConfigOption(config: ISearchEndpointOptions) {\n _.each(_.keys(config), key => {\n if (config[key] == undefined) {\n delete config[key];\n }\n });\n return config;\n }\n\n static mergeConfigOptions(first: ISearchEndpointOptions, second: ISearchEndpointOptions): ISearchEndpointOptions {\n first = SearchEndpoint.removeUndefinedConfigOption(first);\n second = SearchEndpoint.removeUndefinedConfigOption(second);\n return _.extend({}, first, second);\n }\n\n public logger: Logger;\n public isRedirecting: boolean;\n public accessToken: AccessToken;\n\n protected caller: EndpointCaller;\n private onUnload: (...args: any[]) => void;\n\n /**\n * Creates a new `SearchEndpoint` instance.\n * Uses a set of adequate default options, and merges these with the `options` parameter.\n * Also creates an [`EndpointCaller`]{@link EndpointCaller} instance and uses it to communicate with the endpoint\n * internally.\n * @param options The custom options to apply to the new `SearchEndpoint`.\n */\n constructor(public options?: ISearchEndpointOptions) {\n Assert.exists(options);\n Assert.exists(options.restUri);\n\n // For backward compatibility, we set anonymous to true when an access token\n // is specified on a page loaded through the filesystem. This causes withCredentials\n // to NOT be set, allowing those pages to work with non Windows/Basic/Cookie\n // authentication. If anonymous is explicitly set to false, we'll use withCredentials.\n let defaultOptions = new DefaultSearchEndpointOptions();\n defaultOptions.anonymous = window.location.href.indexOf('file://') == 0 && Utils.isNonEmptyString(options.accessToken);\n this.options = _.extend({}, defaultOptions, options);\n\n this.accessToken = new AccessToken(this.options.accessToken, this.options.renewAccessToken);\n this.accessToken.subscribeToRenewal(() => this.createEndpointCaller());\n\n // Forward any debug=1 query argument to the REST API to ease debugging\n if (SearchEndpoint.isDebugArgumentPresent()) {\n this.options.queryStringArguments['debug'] = 1;\n }\n this.onUnload = () => {\n this.handleUnload();\n };\n window.addEventListener('beforeunload', this.onUnload);\n this.logger = new Logger(this);\n this.createEndpointCaller();\n }\n\n public reset() {\n this.createEndpointCaller();\n }\n\n /**\n * Sets a function which allows external code to modify all endpoint call parameters before the browser sends them.\n *\n * **Note:**\n * > This is useful in very specific scenarios where the network infrastructure requires special request headers to be\n * > added or removed, for example.\n * @param requestModifier The function.\n */\n public setRequestModifier(requestModifier: (params: IRequestInfo) => IRequestInfo) {\n this.caller.options.requestModifier = requestModifier;\n }\n\n /**\n * Gets the base URI of the Search API endpoint.\n * @returns {string} The base URI of the Search API endpoint.\n */\n public getBaseUri(): string {\n return this.buildBaseUri('');\n }\n\n /**\n * Gets the base URI of the search alerts endpoint.\n * @returns {string} The base URI of the search alerts endpoint.\n */\n public getBaseAlertsUri(): string {\n return this.buildSearchAlertsUri('');\n }\n\n /**\n * Gets the URI that can be used to authenticate against the given provider.\n * @param provider The provider name.\n * @param returnUri The URI to return to after the authentication is completed.\n * @param message The authentication message.\n * @param callOptions Additional set of options to use for this call.\n * @param callParams Options injected by the applied decorators.\n * @returns {string} The authentication provider URI.\n */\n @path('/login/')\n @accessTokenInUrl()\n public getAuthenticationProviderUri(\n provider: string,\n returnUri?: string,\n message?: string,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): string {\n return UrlUtils.normalizeAsString({\n paths: [callParams.url, provider],\n queryAsString: callParams.queryString,\n query: {\n redirectUri: returnUri,\n message: message,\n ...this.buildBaseQueryString(callOptions)\n }\n });\n }\n\n /**\n * Indicates whether the search endpoint is using JSONP internally to communicate with the Search API.\n * @returns {boolean} `true` in the search enpoint is using JSONP; `false` otherwise.\n */\n public isJsonp(): boolean {\n return this.caller.useJsonp;\n }\n\n /**\n * Performs a search on the index and returns a Promise of [`IQueryResults`]{@link IQueryResults}.\n *\n * This method slightly modifies the query results by adding additional information to each result (id, state object,\n * etc.).\n * @param query The query to execute. Typically, the query object is built using a\n * [`QueryBuilder`]{@link QueryBuilder}.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise} A Promise of query results.\n */\n @path('/')\n @method('POST')\n @responseType('text')\n @includeActionsHistory()\n @includeReferrer()\n @includeVisitorId()\n @includeIsGuestUser()\n public search(query: IQuery, callOptions?: IEndpointCallOptions, callParams?: IEndpointCallParameters): Promise {\n Assert.exists(query);\n callParams = {\n ...callParams,\n requestData: {\n ...callParams.requestData,\n ..._.omit(query, queryParam => Utils.isNullOrUndefined(queryParam))\n }\n };\n\n this.logger.info('Performing REST query', query);\n\n const start = new Date();\n\n return this.performOneCall(callParams, callOptions).then(results => {\n this.logger.info('REST query successful', results, query);\n\n // Version check\n // If the SearchAPI doesn't give us any apiVersion info, we assume version 1 (before apiVersion was implemented)\n if (results.apiVersion == null) {\n results.apiVersion = 1;\n }\n if (results.apiVersion < version.supportedApiVersion) {\n this.logger.error('Please update your REST Search API');\n }\n\n // Transform the duration compared to what the search API returns\n // We want to have the \"duration\" to be the time as seen by the browser\n results.searchAPIDuration = results.duration;\n results.duration = TimeSpan.fromDates(start, new Date()).getMilliseconds();\n\n // If the server specified no search ID generated one using the client-side\n // GUID generator. We prefer server generated guids to allow tracking a query\n // all the way from the analytics to the logs.\n if (Utils.isNullOrEmptyString(results.searchUid)) {\n results.searchUid = QueryUtils.createGuid();\n }\n QueryUtils.setIndexAndUidOnQueryResults(query, results, results.searchUid, results.pipeline, results.splitTestRun);\n QueryUtils.setTermsToHighlightOnQueryResults(query, results);\n return results;\n });\n }\n /**\n * Gets a link / URI to download a query result set to the XLSX format.\n *\n * **Note:**\n * > This method does not automatically download the query result set, but rather provides an URI from which to\n * > download it.\n * @param query The query for which to get the XLSX result set.\n * @param numberOfResults The number of results to download.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {string} The download URI.\n */\n @path('/')\n @accessTokenInUrl()\n public getExportToExcelLink(\n query: IQuery,\n numberOfResults: number,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): string {\n return UrlUtils.normalizeAsString({\n paths: callParams.url,\n queryAsString: callParams.queryString,\n query: {\n numberOfResults: numberOfResults ? numberOfResults.toString() : null,\n format: 'xlsx',\n ...this.buildQueryAsQueryString(null, query),\n ...this.buildBaseQueryString(callOptions)\n }\n });\n }\n\n /**\n * Gets the raw datastream for an item. This is typically used to get a thumbnail for an item.\n *\n * Returns an array buffer.\n *\n * **Example:**\n * ```\n * let rawBinary = String.fromCharCode.apply(null, new Uint8Array(response));\n * img.setAttribute('src', 'data:image/png;base64,' + btoa(rawBinary));\n * ```\n * @param documentUniqueId Typically, the {@link IQueryResult.uniqueId} on each result.\n * @param dataStreamType Normally, `$Thumbnail`.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise|Promise}\n */\n @path('/datastream')\n @accessTokenInUrl()\n @method('GET')\n @responseType('arraybuffer')\n public getRawDataStream(\n documentUniqueId: string,\n dataStreamType: string,\n callOptions?: IViewAsHtmlOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n Assert.exists(documentUniqueId);\n\n callParams = UrlUtils.merge(callParams, {\n paths: callParams.url,\n query: {\n dataStream: dataStreamType,\n ...this.buildViewAsHtmlQueryString(documentUniqueId, callOptions)\n }\n });\n\n this.logger.info('Performing REST query for datastream ' + dataStreamType + ' on item uniqueID ' + documentUniqueId);\n\n return this.performOneCall(callParams, callOptions).then((results: ArrayBuffer) => {\n this.logger.info('REST query successful', results, documentUniqueId);\n return results;\n });\n }\n\n /**\n * Gets an URL from which it is possible to see the datastream for an item. This is typically used to get a\n * thumbnail for an item.\n * @param documentUniqueID Typically, the {@link IQueryResult.uniqueId} on each result.\n * @param dataStreamType Normally, `$Thumbnail`.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {string} The datastream URL.\n */\n @path('/datastream')\n @accessTokenInUrl()\n public getViewAsDatastreamUri(\n documentUniqueID: string,\n dataStreamType: string,\n callOptions: IViewAsHtmlOptions = {},\n callParams?: IEndpointCallParameters\n ): string {\n return UrlUtils.normalizeAsString({\n paths: callParams.url,\n queryAsString: callParams.queryString,\n query: {\n dataStream: dataStreamType,\n ...this.buildViewAsHtmlQueryString(documentUniqueID, callOptions),\n ...this.buildQueryAsQueryString(callOptions.query, callOptions.queryObject),\n ...this.buildBaseQueryString(callOptions)\n }\n });\n }\n\n /**\n * Gets a single item, using its `uniqueId`.\n * @param documentUniqueID Typically, the {@link IQueryResult.uniqueId} on each result.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise} A Promise of the item.\n */\n @path('/document')\n @method('GET')\n @responseType('text')\n public getDocument(\n documentUniqueID: string,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n callParams = UrlUtils.merge(callParams, {\n paths: callParams.url,\n queryAsString: callParams.queryString,\n query: {\n ...this.buildViewAsHtmlQueryString(documentUniqueID, callOptions)\n }\n });\n\n this.logger.info('Performing REST query to retrieve document', documentUniqueID);\n\n return this.performOneCall(callParams, callOptions).then(result => {\n this.logger.info('REST query successful', result, documentUniqueID);\n return result;\n });\n }\n\n /**\n * Gets the content of a single item, as text (think: quickview).\n * @param documentUniqueID Typically, the {@link IQueryResult.uniqueId} on each result.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise} A Promise of the item content.\n */\n @path('/text')\n @method('GET')\n @responseType('text')\n public getDocumentText(\n documentUniqueID: string,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n callParams = UrlUtils.merge(callParams, {\n paths: callParams.url,\n queryAsString: callParams.queryString,\n query: {\n ...this.buildViewAsHtmlQueryString(documentUniqueID, callOptions)\n }\n });\n this.logger.info('Performing REST query to retrieve \"TEXT\" version of document', documentUniqueID);\n\n return this.performOneCall<{ content: string; duration: number }>(callParams, callOptions).then(data => {\n this.logger.info('REST query successful', data, documentUniqueID);\n return data.content;\n });\n }\n\n /**\n * Gets the content for a single item, as an HTMLDocument (think: quickview).\n * @param documentUniqueID Typically, the {@link IQueryResult.uniqueId} on each result.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise} A Promise of the item content.\n */\n @path('/html')\n @method('POST')\n @responseType('document')\n public getDocumentHtml(\n documentUniqueID: string,\n callOptions?: IViewAsHtmlOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n callOptions = { ...callOptions };\n callParams = UrlUtils.merge(\n {\n ...callParams,\n requestData: callOptions.queryObject || { q: callOptions.query }\n },\n {\n paths: callParams.url,\n queryAsString: callParams.queryString,\n query: {\n ...this.buildViewAsHtmlQueryString(documentUniqueID, callOptions)\n }\n }\n );\n\n this.logger.info('Performing REST query to retrieve \"HTML\" version of document', documentUniqueID);\n\n return this.performOneCall(callParams, callOptions).then(result => {\n this.logger.info('REST query successful', result, documentUniqueID);\n return result;\n });\n }\n\n /**\n * Gets an URL from which it is possible to see a single item content, as HTML (think: quickview).\n * @param documentUniqueID Typically, the {@link IQueryResult.uniqueId} on each result.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {string} The URL.\n */\n @path('/html')\n @accessTokenInUrl()\n public getViewAsHtmlUri(documentUniqueID: string, callOptions?: IViewAsHtmlOptions, callParams?: IEndpointCallParameters): string {\n return UrlUtils.normalizeAsString({\n paths: callParams.url,\n queryAsString: callParams.queryString,\n query: {\n ...this.buildViewAsHtmlQueryString(documentUniqueID, callOptions),\n ...this.buildBaseQueryString(callOptions)\n }\n });\n }\n\n /**\n * Lists the possible field values for a request.\n * @param request The request for which to list the possible field values.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise|Promise} A Promise of the field values.\n */\n @path('/values')\n @method('POST')\n @responseType('text')\n public listFieldValues(\n request: IListFieldValuesRequest,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n Assert.exists(request);\n\n callParams = {\n ...callParams,\n requestData: {\n ...callParams.requestData,\n ...request\n }\n };\n\n this.logger.info('Listing field values', request);\n\n return this.performOneCall(callParams, callOptions).then(data => {\n this.logger.info('REST list field values successful', data.values, request);\n return data.values;\n });\n }\n\n /**\n * Lists the possible field values for a request.\n * @param request The request for which to list the possible field values.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise|Promise} A Promise of the field values.\n */\n @path('/values/batch')\n @method('POST')\n @responseType('text')\n public listFieldValuesBatch(\n request: IListFieldValuesBatchRequest,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n Assert.exists(request);\n\n callParams = {\n ...callParams,\n requestData: {\n ...callParams.requestData,\n ...request\n }\n };\n\n this.logger.info('Listing field batch values', request);\n\n return this.performOneCall(callParams, callOptions).then(data => {\n this.logger.info('REST list field batch values successful', data.batch, request);\n return data.batch;\n });\n }\n\n /**\n * Lists all fields for the index, and returns an array of their descriptions.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise|Promise} A Promise of the index fields and descriptions.\n */\n @path('/fields')\n @method('GET')\n @responseType('text')\n public listFields(callOptions?: IEndpointCallOptions, callParams?: IEndpointCallParameters): Promise {\n this.logger.info('Listing fields');\n\n return this.performOneCall(callParams, callOptions).then(data => {\n this.logger.info('REST list fields successful', data.fields);\n return data.fields;\n });\n }\n\n /**\n * Lists all available query extensions for the search endpoint.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise} A Promise of the extensions.\n */\n @path('/extensions')\n @method('GET')\n @responseType('text')\n public extensions(callOptions?: IEndpointCallOptions, callParams?: IEndpointCallParameters): Promise {\n this.logger.info('Performing REST query to list extensions');\n\n return this.performOneCall(callParams, callOptions).then(extensions => {\n this.logger.info('REST query successful', extensions);\n return extensions;\n });\n }\n\n /**\n * Rates a single item in the index (granted that collaborative rating is enabled on your index)\n * @param ratingRequest The item id, and the rating to add.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise|Promise}\n */\n @path('/rating')\n @method('POST')\n @responseType('text')\n public rateDocument(\n ratingRequest: IRatingRequest,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n this.logger.info('Performing REST query to rate a document', ratingRequest);\n\n callParams = {\n ...callParams,\n requestData: {\n ...callParams.requestData,\n ...ratingRequest\n }\n };\n return this.performOneCall(callParams, callOptions).then(() => {\n this.logger.info('REST query successful', ratingRequest);\n return true;\n });\n }\n\n /**\n * Tags a single item.\n * @param taggingRequest The item id, and the tag action to perform.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise|Promise}\n */\n @path('/tag')\n @method('POST')\n @responseType('text')\n public tagDocument(\n taggingRequest: ITaggingRequest,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n this.logger.info('Performing REST query to tag an item', taggingRequest);\n\n callParams = {\n ...callParams,\n requestData: {\n ...callParams.requestData,\n ...taggingRequest\n }\n };\n\n return this.performOneCall(callParams, callOptions).then(() => {\n this.logger.info('REST query successful', taggingRequest);\n return true;\n });\n }\n\n /**\n * Gets a list of query suggestions for a request.\n * @param request The query, and the number of suggestions to return.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise} A Promise of query suggestions.\n */\n @path('/querySuggest')\n @method('POST')\n @responseType('text')\n @includeActionsHistory()\n @includeReferrer()\n @includeVisitorId()\n @includeIsGuestUser()\n public getQuerySuggest(\n request: IQuerySuggestRequest,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n callParams = {\n ...callParams,\n requestData: {\n ...callParams.requestData,\n ..._.omit(request, parameter => Utils.isNullOrUndefined(parameter))\n }\n };\n\n this.logger.info('Performing REST query to get query suggest', request);\n\n return this.performOneCall(callParams, callOptions).then(response => {\n this.logger.info('REST query successful', response);\n return response;\n });\n }\n\n // This is a non documented method to ensure backward compatibility for the old query suggest call.\n // It simply calls the \"real\" official and documented method.\n public getRevealQuerySuggest(\n request: IQuerySuggestRequest,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n return this.getQuerySuggest(request, callOptions, callParams);\n }\n\n /**\n * Follows an item, or a query result, using the search alerts service.\n * @param request The subscription details.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise}\n */\n @alertsPath('/subscriptions')\n @accessTokenInUrl('accessToken')\n @method('POST')\n @requestDataType('application/json')\n @responseType('text')\n public follow(\n request: ISubscriptionRequest,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n callParams.requestData = request;\n\n this.logger.info('Performing REST query to follow an item or a query', request);\n\n return this.performOneCall(callParams, callOptions).then(subscription => {\n this.logger.info('REST query successful', subscription);\n return subscription;\n });\n }\n\n private currentListSubscriptions: Promise;\n\n /**\n * Gets a Promise of an array of the current subscriptions.\n * @param page The page of the subscriptions.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {any}\n */\n @alertsPath('/subscriptions')\n @accessTokenInUrl('accessToken')\n @method('GET')\n @requestDataType('application/json')\n @responseType('text')\n public listSubscriptions(\n page?: number,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n if (this.options.isGuestUser) {\n return new Promise((resolve, reject) => {\n reject();\n });\n }\n\n if (this.currentListSubscriptions == null) {\n callParams = UrlUtils.merge(callParams, {\n paths: callParams.url,\n query: {\n page: page || 0\n }\n });\n\n this.logger.info('Performing REST query to list subscriptions');\n this.currentListSubscriptions = this.performOneCall(callParams, callOptions);\n this.currentListSubscriptions\n .then((data: any) => {\n this.currentListSubscriptions = null;\n this.logger.info('REST query successful', data);\n return data;\n })\n .catch((e: AjaxError) => {\n // Trap 403 error, as the listSubscription call is called on every page initialization\n // to check for current subscriptions. By default, the search alert service is not enabled for most organization\n // Don't want to pollute the console with un-needed noise and confusion\n if (e.status != 403) {\n throw e;\n }\n });\n }\n return this.currentListSubscriptions;\n }\n\n /**\n * Updates a subscription with new parameters.\n * @param subscription The subscription to update with new parameters.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise}\n */\n @alertsPath('/subscriptions/')\n @accessTokenInUrl('accessToken')\n @method('PUT')\n @requestDataType('application/json')\n @responseType('text')\n public updateSubscription(\n subscription: ISubscription,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n callParams = UrlUtils.merge(\n {\n ...callParams,\n requestData: {\n ...callParams.requestData,\n ...subscription\n }\n },\n {\n paths: [callParams.url, subscription.id]\n }\n );\n\n this.logger.info('Performing REST query to update a subscription', subscription);\n return this.performOneCall(callParams, callOptions).then(subscription => {\n this.logger.info('REST query successful', subscription);\n return subscription;\n });\n }\n\n /**\n * Deletes a subscription.\n * @param subscription The subscription to delete.\n * @param callOptions An additional set of options to use for this call.\n * @param callParams The options injected by the applied decorators.\n * @returns {Promise}\n */\n @alertsPath('/subscriptions/')\n @accessTokenInUrl('accessToken')\n @method('DELETE')\n @requestDataType('application/json')\n @responseType('text')\n public deleteSubscription(\n subscription: ISubscription,\n callOptions?: IEndpointCallOptions,\n callParams?: IEndpointCallParameters\n ): Promise {\n callParams = UrlUtils.merge(callParams, {\n paths: [callParams.url, subscription.id]\n });\n\n this.logger.info('Performing REST query to delete a subscription', subscription);\n return this.performOneCall(callParams, callOptions).then(subscription => {\n this.logger.info('REST query successful', subscription);\n return subscription;\n });\n }\n\n @path('/log')\n @method('POST')\n public logError(sentryLog: ISentryLog, callOptions?: IEndpointCallOptions, callParams?: IEndpointCallParameters) {\n callParams = {\n ...callParams,\n requestData: {\n ...callParams.requestData,\n ...sentryLog\n }\n };\n\n return this.performOneCall(callParams, callOptions)\n .then(() => {\n return true;\n })\n .catch(() => {\n return false;\n });\n }\n\n public nuke() {\n window.removeEventListener('beforeunload', this.onUnload);\n }\n\n protected createEndpointCaller() {\n this.caller = new EndpointCaller({\n ...this.options,\n accessToken: this.accessToken.token\n } as IEndpointCallerOptions);\n }\n\n private static isDebugArgumentPresent(): boolean {\n return /[?&]debug=1([&]|$)/.test(window.location.search);\n }\n\n private static isUseLocalArgumentPresent(): boolean {\n return /[?&]useLocal=1([&]|$)/.test(window.location.search);\n }\n\n private handleUnload() {\n this.isRedirecting = true;\n }\n\n private buildBaseUri(path: string): string {\n Assert.isString(path);\n\n return UrlUtils.normalizeAsString({\n paths: [this.options.restUri, this.options.version, path]\n });\n }\n\n public buildSearchAlertsUri(path: string): string {\n Assert.isString(path);\n\n const baseUrl =\n this.options.searchAlertsUri ||\n UrlUtils.normalizeAsString({\n paths: [this.options.restUri, '/alerts']\n });\n\n const url = UrlUtils.normalizeAsString({\n paths: [baseUrl, path]\n });\n\n return url;\n }\n\n private buildBaseQueryString(callOptions?: IEndpointCallOptions) {\n callOptions = { ...callOptions };\n return {\n ...this.options.queryStringArguments,\n authentication: _.isArray(callOptions.authentication) ? callOptions.authentication.join(',') : null\n };\n }\n\n private buildQueryAsQueryString(query: string, queryObject: IQuery): Record {\n queryObject = { ...queryObject };\n\n // In an ideal parallel reality, the entire query used in the 'search' call is used here.\n // In this reality however, we must support GET calls (ex: GET /html) for CORS/JSONP/IE reasons.\n // Therefore, we cherry-pick parts of the query to include in a 'query string' instead of a body payload.\n const queryParameters: Record = {};\n ['q', 'aq', 'cq', 'dq', 'searchHub', 'tab', 'locale', 'pipeline', 'lowercaseOperators'].forEach(key => {\n queryParameters[key] = queryObject[key];\n });\n\n const context: Record = {};\n _.pairs(queryObject.context).forEach(pair => {\n const [key, value] = pair;\n context[`context[${Utils.safeEncodeURIComponent(key)}]`] = value;\n });\n\n if (queryObject.fieldsToInclude) {\n const fieldsToInclude = queryObject.fieldsToInclude.map(field => {\n const uri = Utils.safeEncodeURIComponent(field.replace('@', ''));\n return `\"${uri}\"`;\n });\n queryParameters.fieldsToInclude = `[${fieldsToInclude.join(',')}]`;\n }\n\n return {\n q: query,\n ...context,\n ...queryParameters\n };\n }\n\n private buildViewAsHtmlQueryString(uniqueId: string, callOptions?: IViewAsHtmlOptions) {\n callOptions = _.extend({}, callOptions);\n\n return {\n uniqueId,\n enableNavigation: 'true',\n requestedOutputSize: callOptions.requestedOutputSize ? callOptions.requestedOutputSize.toString() : null,\n contentType: callOptions.contentType\n };\n }\n\n private async performOneCall(params: IEndpointCallParameters, callOptions?: IEndpointCallOptions, autoRenewToken = true): Promise {\n params = UrlUtils.merge(params, {\n paths: params.url,\n queryAsString: params.queryString,\n query: {\n ...this.buildBaseQueryString(callOptions)\n }\n });\n\n try {\n const response = await this.caller.call(params);\n return response.data as T;\n } catch (error) {\n if (autoRenewToken && this.accessToken.isExpired(error)) {\n const renewSuccess = await this.accessToken.doRenew();\n if (renewSuccess) {\n return this.performOneCall(params, callOptions, autoRenewToken) as Promise;\n }\n } else if (error.statusCode == 0 && this.isRedirecting) {\n // The page is getting redirected\n // Set timeout on return with empty string, since it does not really matter\n _.defer(function() {\n return '';\n });\n }\n throw this.handleErrorResponse(error) as any;\n }\n }\n\n private handleErrorResponse(errorResponse: IErrorResponse): Error {\n if (this.isMissingAuthenticationProviderStatus(errorResponse.statusCode)) {\n return new MissingAuthenticationError(errorResponse.data['provider']);\n } else if (errorResponse.data && errorResponse.data.message && errorResponse.data.type) {\n return new QueryError(errorResponse);\n } else if (errorResponse.data && errorResponse.data.message) {\n return new AjaxError(`Request Error : ${errorResponse.data.message}`, errorResponse.statusCode);\n } else {\n return new AjaxError('Request Error', errorResponse.statusCode);\n }\n }\n\n private isMissingAuthenticationProviderStatus(status: number): boolean {\n return status == 402;\n }\n}\n\n// It's taken for granted that methods using decorators have :\n// IEndpointCallOptions as their second to last parameter\n// IEndpointCallParameters as their last parameter\n// The default parameters for each member of the injected {@link IEndpointCallParameters} are the following:\n// url: '',\n// queryString: [],\n// requestData: {},\n// requestDataType: undefined,\n// method: '',\n// responseType: '',\n// errorsAsSuccess: false\n\nfunction decoratorSetup(target: Object, key: string, descriptor: TypedPropertyDescriptor) {\n return {\n originalMethod: descriptor.value,\n nbParams: target[key].prototype.constructor.length\n };\n}\n\nfunction defaultDecoratorEndpointCallParameters() {\n const params: IEndpointCallParameters = {\n url: '',\n queryString: [],\n requestData: {},\n method: '',\n responseType: '',\n errorsAsSuccess: false\n };\n return params;\n}\n\nfunction path(path: string) {\n return function(target: Object, key: string, descriptor: TypedPropertyDescriptor) {\n const { originalMethod, nbParams } = decoratorSetup(target, key, descriptor);\n\n descriptor.value = function(...args: any[]) {\n const url = this.buildBaseUri(path);\n if (args[nbParams - 1]) {\n args[nbParams - 1].url = url;\n } else {\n const endpointCallParams = _.extend(defaultDecoratorEndpointCallParameters(), { url: url });\n args[nbParams - 1] = endpointCallParams;\n }\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n };\n}\n\nfunction alertsPath(path: string) {\n return function(target: Object, key: string, descriptor: TypedPropertyDescriptor) {\n const { originalMethod, nbParams } = decoratorSetup(target, key, descriptor);\n\n descriptor.value = function(...args: any[]) {\n const url = this.buildSearchAlertsUri(path);\n if (args[nbParams - 1]) {\n args[nbParams - 1].url = url;\n } else {\n const endpointCallParams = _.extend(defaultDecoratorEndpointCallParameters(), { url: url });\n args[nbParams - 1] = endpointCallParams;\n }\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n };\n}\n\nfunction requestDataType(type: string) {\n return function(target: Object, key: string, descriptor: TypedPropertyDescriptor) {\n const { originalMethod, nbParams } = decoratorSetup(target, key, descriptor);\n\n descriptor.value = function(...args: any[]) {\n if (args[nbParams - 1]) {\n args[nbParams - 1].requestDataType = type;\n } else {\n const endpointCallParams = _.extend(defaultDecoratorEndpointCallParameters(), { requestDataType: type });\n args[nbParams - 1] = endpointCallParams;\n }\n return originalMethod.apply(this, args);\n };\n return descriptor;\n };\n}\n\nfunction method(met: string) {\n return function(target: Object, key: string, descriptor: TypedPropertyDescriptor) {\n const { originalMethod, nbParams } = decoratorSetup(target, key, descriptor);\n\n descriptor.value = function(...args: any[]) {\n if (args[nbParams - 1]) {\n args[nbParams - 1].method = met;\n } else {\n const endpointCallParams = _.extend(defaultDecoratorEndpointCallParameters(), { method: met });\n args[nbParams - 1] = endpointCallParams;\n }\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n };\n}\n\nfunction responseType(resp: string) {\n return function(target: Object, key: string, descriptor: TypedPropertyDescriptor) {\n const { originalMethod, nbParams } = decoratorSetup(target, key, descriptor);\n\n descriptor.value = function(...args: any[]) {\n if (args[nbParams - 1]) {\n args[nbParams - 1].responseType = resp;\n } else {\n const endpointCallParams = _.extend(defaultDecoratorEndpointCallParameters(), { responseType: resp });\n args[nbParams - 1] = endpointCallParams;\n }\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n };\n}\n\nfunction accessTokenInUrl(tokenKey: string = 'access_token') {\n return function(target: Object, key: string, descriptor: TypedPropertyDescriptor) {\n const { originalMethod, nbParams } = decoratorSetup(target, key, descriptor);\n const buildAccessToken = (tokenKey: string, endpointInstance: SearchEndpoint): string[] => {\n let queryString: string[] = [];\n\n if (Utils.isNonEmptyString(endpointInstance.accessToken.token)) {\n queryString.push(tokenKey + '=' + Utils.safeEncodeURIComponent(endpointInstance.accessToken.token));\n }\n\n return queryString;\n };\n\n descriptor.value = function(...args: any[]) {\n const queryString = buildAccessToken(tokenKey, this);\n if (args[nbParams - 1]) {\n args[nbParams - 1].queryString = args[nbParams - 1].queryString.concat(queryString);\n } else {\n const endpointCallParams = _.extend(defaultDecoratorEndpointCallParameters(), { queryString: queryString });\n args[nbParams - 1] = endpointCallParams;\n }\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n };\n}\n\nfunction includeActionsHistory(historyStore: CoveoAnalytics.HistoryStore = new history.HistoryStore()) {\n return function(target: Object, key: string, descriptor: TypedPropertyDescriptor) {\n const { originalMethod, nbParams } = decoratorSetup(target, key, descriptor);\n\n descriptor.value = function(...args: any[]) {\n let historyFromStore = historyStore.getHistory();\n if (historyFromStore == null) {\n historyFromStore = [];\n }\n\n if (args[nbParams - 1]) {\n args[nbParams - 1].requestData.actionsHistory = historyFromStore;\n } else {\n const endpointCallParams = _.extend(defaultDecoratorEndpointCallParameters(), {\n requestData: { actionsHistory: historyFromStore }\n });\n args[nbParams - 1] = endpointCallParams;\n }\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n };\n}\n\nfunction includeReferrer() {\n return function(target: Object, key: string, descriptor: TypedPropertyDescriptor) {\n const { originalMethod, nbParams } = decoratorSetup(target, key, descriptor);\n descriptor.value = function(...args: any[]) {\n let referrer = document.referrer;\n if (referrer == null) {\n referrer = '';\n }\n\n if (args[nbParams - 1]) {\n args[nbParams - 1].requestData.referrer = referrer;\n } else {\n const endpointCallParams = _.extend(defaultDecoratorEndpointCallParameters(), {\n requestData: { referrer: referrer }\n });\n args[nbParams - 1] = endpointCallParams;\n }\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n };\n}\n\nfunction includeVisitorId() {\n return function(target: Object, key: string, descriptor: TypedPropertyDescriptor) {\n const { originalMethod, nbParams } = decoratorSetup(target, key, descriptor);\n descriptor.value = function(...args: any[]) {\n let visitorId = Cookie.get('visitorId');\n if (visitorId == null) {\n visitorId = '';\n }\n\n if (args[nbParams - 1]) {\n args[nbParams - 1].requestData.visitorId = visitorId;\n } else {\n const endpointCallParams = _.extend(defaultDecoratorEndpointCallParameters(), {\n requestData: { visitorId: visitorId }\n });\n args[nbParams - 1] = endpointCallParams;\n }\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n };\n}\n\nfunction includeIsGuestUser() {\n return function(target: Object, key: string, descriptor: TypedPropertyDescriptor) {\n const { originalMethod, nbParams } = decoratorSetup(target, key, descriptor);\n descriptor.value = function(...args: any[]) {\n let isGuestUser = this.options.isGuestUser;\n\n if (args[nbParams - 1]) {\n args[nbParams - 1].requestData.isGuestUser = isGuestUser;\n } else {\n const endpointCallParams = _.extend(defaultDecoratorEndpointCallParameters(), {\n requestData: { isGuestUser: isGuestUser }\n });\n args[nbParams - 1] = endpointCallParams;\n }\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/SearchEndpoint.ts","import { isArray, pairs, compact, uniq, rest, first } from 'underscore';\nimport { Utils } from './Utils';\nimport { IEndpointCallParameters } from '../rest/EndpointCaller';\n\nexport interface IUrlNormalize {\n paths: string[] | string;\n queryAsString?: string[] | string;\n query?: Record;\n}\n\nexport interface IUrlNormalizedParts {\n pathsNormalized: string[];\n queryNormalized: string[];\n path: string;\n}\n\nexport class UrlUtils {\n public static getUrlParameter(name: string): string {\n return (\n decodeURIComponent(\n (new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [, ''])[1].replace(/\\+/g, '%20')\n ) || null\n );\n }\n\n public static merge(endpointParameters: IEndpointCallParameters, ...parts: IUrlNormalize[]) {\n parts.forEach(part => {\n const { path, queryNormalized } = UrlUtils.normalizeAsParts(part);\n\n if (Utils.isNonEmptyString(path)) {\n endpointParameters = { ...endpointParameters, url: path };\n }\n\n if (Utils.isNonEmptyArray(queryNormalized)) {\n const queryStringExists = Utils.isNonEmptyArray(endpointParameters.queryString);\n const queryString = queryStringExists\n ? Utils.concatWithoutDuplicate(endpointParameters.queryString, queryNormalized)\n : queryNormalized;\n endpointParameters = { ...endpointParameters, queryString };\n }\n });\n return endpointParameters;\n }\n\n public static normalizeAsString(toNormalize: IUrlNormalize): string {\n const { queryNormalized, path } = this.normalizeAsParts(toNormalize);\n\n return `${path}${this.addToUrlIfNotEmpty(queryNormalized, '&', '?')}`;\n }\n\n public static normalizeAsParts(toNormalize: IUrlNormalize): IUrlNormalizedParts {\n const pathsNormalized = this.normalizePaths(toNormalize);\n const queryNormalized = this.normalizeQueryString(toNormalize);\n\n return {\n pathsNormalized,\n queryNormalized,\n path: this.addToUrlIfNotEmpty(pathsNormalized, '/', UrlUtils.getRelativePathLeadingCharacters(toNormalize))\n };\n }\n\n private static getRelativePathLeadingCharacters(toNormalize: IUrlNormalize) {\n let leadingRelativeUrlCharacters = '';\n\n const relativeUrlLeadingCharactersRegex = /^(([\\/])+)/;\n const firstPath = first(this.toArray(toNormalize.paths));\n\n if (firstPath) {\n const match = relativeUrlLeadingCharactersRegex.exec(firstPath);\n if (match) {\n leadingRelativeUrlCharacters = match[0];\n }\n }\n\n return leadingRelativeUrlCharacters;\n }\n\n private static normalizePaths(toNormalize: IUrlNormalize) {\n return this.toArray(toNormalize.paths).map(path => {\n if (Utils.isNonEmptyString(path)) {\n return this.removeProblematicChars(path);\n }\n return '';\n });\n }\n\n private static normalizeQueryString(toNormalize: IUrlNormalize) {\n let queryNormalized: string[] = [];\n\n if (toNormalize.queryAsString) {\n const cleanedUp = this.toArray(toNormalize.queryAsString).map(query => {\n query = this.removeProblematicChars(query);\n query = this.encodeKeyValuePair(query);\n return query;\n });\n queryNormalized = queryNormalized.concat(cleanedUp);\n }\n\n if (toNormalize.query) {\n const paired: string[][] = pairs(toNormalize.query);\n const mapped = paired.map(pair => {\n const [key, value] = pair;\n\n if (Utils.isNullOrUndefined(value) || Utils.isNullOrUndefined(key)) {\n return '';\n }\n\n if (!this.isEncoded(value)) {\n return [this.removeProblematicChars(key), Utils.safeEncodeURIComponent(value)].join('=');\n } else {\n return [this.removeProblematicChars(key), value].join('=');\n }\n });\n queryNormalized = queryNormalized.concat(mapped);\n }\n\n return uniq(queryNormalized);\n }\n\n private static addToUrlIfNotEmpty(toAdd: string[], joinWith: string, leadWith: string) {\n if (Utils.isNonEmptyArray(toAdd)) {\n return `${leadWith}${compact(toAdd).join(joinWith)}`;\n }\n return '';\n }\n\n private static startsWith(searchString: string, targetString: string) {\n return targetString.substr(0, searchString.length) === searchString;\n }\n\n private static endsWith(searchString: string, targetString: string) {\n return targetString.substring(targetString.length - searchString.length, targetString.length) === searchString;\n }\n\n private static removeAtEnd(searchString: string, targetString: string) {\n while (this.endsWith(searchString, targetString)) {\n targetString = targetString.slice(0, targetString.length - searchString.length);\n }\n\n return targetString;\n }\n\n private static removeAtStart(searchString: string, targetString: string) {\n while (this.startsWith(searchString, targetString)) {\n targetString = targetString.slice(searchString.length);\n }\n return targetString;\n }\n\n private static toArray(parameter: string | string[]): string[] {\n return isArray(parameter) ? parameter : [parameter];\n }\n\n private static encodeKeyValuePair(pair: string) {\n const split = pair.split('=');\n if (split.length == 0) {\n return pair;\n }\n\n let key = split[0];\n let value = rest(split, 1).join('');\n\n if (!key) {\n return pair;\n }\n if (!value) {\n return pair;\n }\n\n key = this.removeProblematicChars(key);\n if (!this.isEncoded(value)) {\n value = Utils.safeEncodeURIComponent(value);\n }\n\n return `${key}=${value}`;\n }\n\n private static removeProblematicChars(value: string) {\n ['?', '/', '#', '='].forEach(problematicChar => {\n value = this.removeAtStart(problematicChar, value);\n value = this.removeAtEnd(problematicChar, value);\n });\n\n return value;\n }\n\n private static isEncoded(value: string) {\n return value != decodeURIComponent(value);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/UrlUtils.ts","import { Template } from './Template';\nimport { ITemplateHelperFunction } from './TemplateHelpers';\nimport { Assert } from '../../misc/Assert';\nimport { Utils } from '../../utils/Utils';\nimport { Logger } from '../../misc/Logger';\nimport { TemplateFromAScriptTag, ITemplateFromStringProperties } from './TemplateFromAScriptTag';\nimport { DefaultResultTemplate } from './DefaultResultTemplate';\nimport * as _ from 'underscore';\nimport { $$ } from '../../utils/Dom';\n\nexport class UnderscoreTemplate extends Template {\n private template: (data: any) => string;\n private templateFromAScriptTag: TemplateFromAScriptTag;\n public static templateHelpers: { [templateName: string]: ITemplateHelperFunction } = {};\n\n public static mimeTypes = ['text/underscore', 'text/underscore-template', 'text/x-underscore', 'text/x-underscore-template'];\n\n constructor(public element: HTMLElement) {\n super();\n Assert.exists(element);\n var templateString = element.innerHTML;\n try {\n this.template = _.template(templateString);\n } catch (e) {\n new Logger(this).error(\n 'Cannot instantiate underscore template. Might be caused by strict Content-Security-Policy. Will fallback on a default template...',\n e\n );\n }\n this.templateFromAScriptTag = new TemplateFromAScriptTag(this, this.element);\n this.dataToString = object => {\n var extended = _.extend({}, object, UnderscoreTemplate.templateHelpers);\n if (this.template) {\n try {\n return this.template(extended);\n } catch (e) {\n new Logger(this).error('Cannot instantiate template', e.message, this.getTemplateInfo());\n new Logger(this).warn('A default template was used');\n return new DefaultResultTemplate().getFallbackTemplate();\n }\n } else {\n return new DefaultResultTemplate().getFallbackTemplate();\n }\n };\n }\n\n toHtmlElement(): HTMLElement {\n const script = this.templateFromAScriptTag.toHtmlElement($$('script'));\n script.setAttribute('type', _.first(UnderscoreTemplate.mimeTypes));\n return script;\n }\n\n getType() {\n return 'UnderscoreTemplate';\n }\n\n protected getTemplateInfo() {\n return this.element;\n }\n\n static registerTemplateHelper(helperName: string, helper: ITemplateHelperFunction) {\n UnderscoreTemplate.templateHelpers[helperName] = helper;\n }\n\n static isLibraryAvailable(): boolean {\n return Utils.exists(window['_']);\n }\n\n static fromString(template: string, properties: ITemplateFromStringProperties): UnderscoreTemplate {\n const script = TemplateFromAScriptTag.fromString(template, properties, document.createElement('script'));\n script.setAttribute('type', UnderscoreTemplate.mimeTypes[0]);\n\n return new UnderscoreTemplate(script);\n }\n\n static create(element: HTMLElement): UnderscoreTemplate {\n Assert.exists(element);\n return new UnderscoreTemplate(element);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/Templates/UnderscoreTemplate.ts","import { ExpressionBuilder } from './ExpressionBuilder';\nimport { IRankingFunction } from '../../rest/RankingFunction';\nimport { IQueryFunction } from '../../rest/QueryFunction';\nimport { IGroupByRequest } from '../../rest/GroupByRequest';\nimport { IQuery } from '../../rest/Query';\nimport { QueryBuilderExpression } from './QueryBuilderExpression';\nimport * as _ from 'underscore';\nimport { Utils } from '../../utils/Utils';\n\n/**\n * The QueryBuilder is used to build a {@link IQuery} that will be able to be executed using the Search API.\n *\n * The class exposes several members and methods that help components and external code to build up the final query that is sent to the Search API.\n *\n */\nexport class QueryBuilder {\n /**\n * Used to build the basic part of the query expression.\n *\n * This part typically consists of user-entered content such as query keywords, etc.\n * @type {Coveo.ExpressionBuilder}\n */\n public expression: ExpressionBuilder = new ExpressionBuilder();\n /**\n * Used to build the advanced part of the query expression.\n *\n * This part is typically formed of filter expressions generated by components such as facets, external code, etc.\n * @type {Coveo.ExpressionBuilder}\n */\n public advancedExpression: ExpressionBuilder = new ExpressionBuilder();\n /**\n * Used to build the advanced part of the query expression.\n *\n * This part is similar to `advancedExpression`, but its content is interpreted as a constant expression by the index and it takes advantage of special caching features.\n * @type {Coveo.ExpressionBuilder}\n */\n public constantExpression: ExpressionBuilder = new ExpressionBuilder();\n /**\n * The contextual text.\n *\n * This is the contextual text part of the query. It uses the Coveo Machine Learning service to pick key keywords from the text and add them to the basic expression.\n * This field is mainly used to pass context such a case description, long textual query or any other form of text that might help in\n * refining the query.\n */\n public longQueryExpression: ExpressionBuilder = new ExpressionBuilder();\n /**\n * Used to build the disjunctive part of the query expression.\n *\n * When present, this part is evaluated separately from the other expressions and the matching results are merged to those matching expressions, `advancedExpression` and `constantExpression`.\n *\n * The final boolean expression for the query is thus (basic advanced constant) OR (disjunction).\n * @type {Coveo.ExpressionBuilder}\n */\n public disjunctionExpression: ExpressionBuilder = new ExpressionBuilder();\n /**\n * The hub value set from the {@link Analytics} component.\n *\n * Used for analytics reporting in the Coveo platform.\n */\n public searchHub: string;\n /**\n * The tab value set from the {@link Tab} component.\n */\n public tab: string;\n public locale: string;\n /**\n * Name of the query pipeline to use.\n *\n * This specifies the name of the query pipeline to use for the query. If not specified, the default value is default, which means the default query pipeline will be used.\n */\n public pipeline: string;\n /**\n * The maximum age for cached query results, in milliseconds.\n *\n * If results for the exact same request (including user identities) are available in the in-memory cache, they will be used if they are not older than the specified value.\n *\n * Otherwise, the query will be sent to the index.\n */\n public maximumAge: number;\n\n /**\n * Whether to interpret wildcard characters (`*`) in the basic [`expression`]{@link QueryBuilder.expression} keywords.\n *\n * Setting this attribute to `true` enables the wildcards features of the index, effectively expanding keywords\n * containing wildcard characters (`*`) to the possible matching keywords in order to broaden the query (see\n * [Using Wildcards in Queries](http://www.coveo.com/go?dest=cloudhelp&lcid=9&context=359)).\n *\n * See also [`enableQuestionMarks`]{@link QueryBuilder.enableQuestionMarks}.\n *\n * **Note:**\n * > Normally, the [`enableWildcards`]{@link Querybox.options.enableWildcards} option of the\n * > [`Querybox`]{@link Querybox} component determines the value of this attribute during the initialization of the\n * > search page.\n */\n public enableWildcards: boolean;\n\n /**\n * Whether to interpret question mark characters (`?`) in the basic [`expression`]{@link QueryBuilder.expression}\n * keywords (see [Using Wildcards in Queries](http://www.coveo.com/go?dest=cloudhelp&lcid=9&context=359).\n *\n * Setting this attribute to `true` has no effect unless [`enableWildcards`]{@link QueryBuilder.enableWildcards} is\n * also `true`.\n *\n * **Note:**\n * > Normally, the [`enableQuestionMarks`]{@link Querybox.options.enableQuestionMarks} option of the\n * > [`Querybox`]{@link Querybox} component determines the value of this attribute during the initialization of the\n * > search page.\n */\n public enableQuestionMarks: boolean;\n\n /**\n * Whether to interpret special query syntax (e.g., `@objecttype=message`) in the basic\n * [`expression`]{@link QueryBuilder.expression} (see\n * [Coveo Query Syntax Reference](http://www.coveo.com/go?dest=adminhelp70&lcid=9&context=10005)).\n *\n * See also [`enableLowercaseOperators`]{@link QueryBuilder.enableLowercaseOperators}.\n *\n * **Note:**\n * > Normally, the [`enableQuerySyntax`]{@link Querybox.options.enableQuerySyntax} option of the\n * > [`Querybox`]{@link Querybox} component determines the value of this attribute during the initialization of the\n * search page. End user preferences can also modify the value of this attribute.\n *\n * Default value is `false`\n */\n public enableQuerySyntax: boolean = false;\n\n /**\n * Whether to interpret the `AND`, `NOT`, `OR`, and `NEAR` keywords in the basic\n * [`expression`]{@link QueryBuilder.expression} as query operators, even if those keywords are in lowercase.\n *\n * Setting this attribute to `true` has no effect unless [`enableQuerySyntax`]{@link QueryBuilder.enableQuerySyntax}\n * is also `true`.\n *\n * **Note:**\n * > Normally, the [`enableLowercaseOperators`]{@link Querybox.options.enableLowercaseOperators} option of the\n * > [`Querybox`]{@link Querybox} component determines the value of this attribute during the initialization of the\n * > search page.\n */\n public enableLowercaseOperators: boolean;\n\n /**\n * Whether to automatically convert the basic [`expression`]{@link QueryBuilder.expression} to a partial match\n * expression if it contains at least a certain number of keywords (see\n * [`partialMatchKeywords`]{@link QueryBuilder.partialMatchKeywords}), so that items containing at least a certain\n * subset of those keywords (see [`partialMatchThreshold`]{@link QueryBuilder.partialMatchThreshold}) will match the\n * query.\n *\n * **Note:**\n * > Normally, the [`enablePartialMatch`]{@link Querybox.options.enablePartialMatch} option of the\n * > [`Querybox`]{@link Querybox} component determines the value of this attribute during the initialization of the\n * > search page.\n */\n public enablePartialMatch: boolean;\n\n /**\n * The minimum number of keywords that need to be present in the basic [`expression`]{@link QueryBuilder.expression}\n * to convert it to a partial match expression.\n *\n * The value of this attribute has no meaning unless [`enablePartialMatch`]{@link QueryBuilder.enablePartialMatch} is\n * `true`.\n *\n * See also [`partialMatchThreshold`]{@link QueryBuilder.partialMatchThreshold}.\n *\n * **Note:**\n * > Normally, the [`partialMatchKeywords`]{@link Querybox.options.partialMatchKeywords} option of the\n * > [`Querybox`]{@link Querybox} component determines the value of this attribute during the initialization of the\n * > search page.\n */\n public partialMatchKeywords: number;\n\n /**\n * An absolute or relative (percentage) value indicating the minimum number of partial match expression keywords an\n * item must contain to match the query.\n *\n * The value of this attribute has no meaning unless [`enablePartialMatch`]{@link QueryBuilder.enablePartialMatch} is\n * `true`.\n *\n * See also [`partialMatchKeywords`]{@link QueryBuilder.partialMatchKeywords}.\n *\n * **Note:**\n * > Normally, the [`partialMatchThreshold`]{@link Querybox.options.partialMatchThreshold} option of the\n * > [`Querybox`]{@link Querybox} component determines the value of this attribute during the initialization of the\n * > search page.\n */\n public partialMatchThreshold: string;\n /**\n * This is the 0-based index of the first result to return.\n *\n * If not specified, this parameter defaults to 0.\n */\n public firstResult: number = 0;\n /**\n * This is the number of results to return, starting from {@link IQuery.firstResult}.\n *\n * If not specified, this parameter defaults to 10.\n */\n public numberOfResults: number = 10;\n /**\n * This specifies the length (in number of characters) of the excerpts generated by the indexer based on the keywords present in the query.\n *\n * The index includes the top most interesting sentences (in the order they appear in the item) that fit in the specified number of characters.\n *\n * When not specified, the default value is 200.\n */\n public excerptLength: number;\n /**\n * This specifies a field on which {@link Folding} should be performed.\n *\n * Folding is a kind of duplicate filtering where only the first result with any given value of the field is included in the result set.\n *\n * It's typically used to return only one result in a conversation, for example when forum posts in a thread are indexed as separate items.\n */\n public filterField: string;\n /**\n * Number of results that should be folded, using the {@link IQuery.filterField}.\n */\n public filterFieldRange: number;\n /**\n * Specifies the `parentField` when doing parent-child loading (See : {@link Folding}).\n */\n public parentField: string;\n /**\n * Specifies the childField when doing parent-child loading (See : {@link Folding}).\n */\n public childField: string;\n public fieldsToInclude: string[];\n public requiredFields: string[] = [];\n public includeRequiredFields: boolean = false;\n public fieldsToExclude: string[];\n /**\n * Whether to enable query corrections on this query (see {@link DidYouMean}).\n */\n public enableDidYouMean: boolean = false;\n /**\n * Whether to enable debug info on the query.\n *\n * This will return additional information on the resulting JSON response from the Search API.\n *\n * Mostly: execution report (a detailed breakdown of the parsed and executed query).\n */\n public enableDebug: boolean = false;\n /**\n * Whether the index should take collaborative rating in account when ranking result (see : {@link ResultRating}).\n */\n public enableCollaborativeRating: boolean;\n /**\n * This specifies the sort criterion(s) to use to sort results. If not specified, this parameter defaults to relevancy.\n *\n * Possible values are :
\n * -- relevancy : This uses all the configured ranking weights as well as any specified ranking expressions to rank results.
\n * -- dateascending / datedescending Sort using the value of the `@date` field, which is typically the last modification date of an item in the index.
\n * -- qre : Sort using only the weights applied through ranking expressions. This is much like using `relevancy` except that automatic weights based on keyword proximity etc, are not computed.
\n * -- nosort : Do not sort the results. The order in which items are returned is essentially random.
\n * -- @field ascending / @field descending Sort using the value of a custom field.\n */\n public sortCriteria: string = 'relevancy';\n public sortField: string;\n public retrieveFirstSentences: boolean = true;\n public timezone: string;\n public queryUid: string;\n /**\n * This specifies an array of Query Function operation that will be executed on the results.\n */\n public queryFunctions: IQueryFunction[] = [];\n /**\n * This specifies an array of Ranking Function operations that will be executed on the results.\n */\n public rankingFunctions: IRankingFunction[] = [];\n /**\n * This specifies an array of Group By operations that can be performed on the query results to extract facets.\n */\n public groupByRequests: IGroupByRequest[] = [];\n public enableDuplicateFiltering: boolean = false;\n /**\n * The custom context information to send along with the query. Each value should be a string or an array of strings.\n *\n * Custom context information can influence the output of Coveo Machine Learning models and can also be used in query pipeline conditions.\n */\n public context: { [key: string]: any };\n /**\n * The actions history represents the past actions a user made and is used by the Coveo Machine Learning service to suggest recommendations.\n * It is generated by the page view script (https://github.com/coveo/coveo.analytics.js).\n */\n public actionsHistory: string;\n /**\n * This is the ID of the recommendation interface that generated the query.\n */\n public recommendation: string;\n /**\n * Specifies if the Search API should perform queries even when no keywords were entered by the end user.\n *\n * End user keywords are present in either the {@link IQuery.q} or {@link IQuery.lq} part of the query.\n *\n * This parameter is normally controlled by {@link SearchInterface.options.allowEmptyQuery} option.\n */\n public allowQueriesWithoutKeywords: boolean;\n /**\n * Build the current content or state of the query builder and return a {@link IQuery}.\n *\n * build can be called multiple times on the same QueryBuilder.\n * @returns {IQuery}\n */\n public build(): IQuery {\n const query: IQuery = {\n q: this.expression.build(),\n aq: this.advancedExpression.build(),\n cq: this.constantExpression.build(),\n lq: this.longQueryExpression.build(),\n dq: this.disjunctionExpression.build(),\n\n searchHub: this.searchHub,\n tab: this.tab,\n locale: this.locale,\n pipeline: this.pipeline,\n maximumAge: this.maximumAge,\n\n wildcards: this.enableWildcards,\n questionMark: this.enableQuestionMarks,\n lowercaseOperators: this.enableLowercaseOperators,\n partialMatch: this.enablePartialMatch,\n partialMatchKeywords: this.partialMatchKeywords,\n partialMatchThreshold: this.partialMatchThreshold,\n\n firstResult: this.firstResult,\n numberOfResults: this.numberOfResults,\n excerptLength: this.excerptLength,\n filterField: this.filterField,\n filterFieldRange: this.filterFieldRange,\n parentField: this.parentField,\n childField: this.childField,\n fieldsToInclude: this.computeFieldsToInclude(),\n fieldsToExclude: this.fieldsToExclude,\n enableDidYouMean: this.enableDidYouMean,\n sortCriteria: this.sortCriteria,\n sortField: this.sortField,\n queryFunctions: this.queryFunctions,\n rankingFunctions: this.rankingFunctions,\n groupBy: this.groupByRequests,\n retrieveFirstSentences: this.retrieveFirstSentences,\n timezone: this.timezone,\n enableQuerySyntax: this.enableQuerySyntax,\n enableDuplicateFiltering: this.enableDuplicateFiltering,\n enableCollaborativeRating: this.enableCollaborativeRating,\n debug: this.enableDebug,\n context: this.context,\n actionsHistory: this.actionsHistory,\n recommendation: this.recommendation,\n allowQueriesWithoutKeywords: this.allowQueriesWithoutKeywords\n };\n return query;\n }\n\n /**\n * Return only the expression(s) part(s) of the query, as a string.\n *\n * This means the basic, advanced and constant part in a complete expression {@link IQuery.q}, {@link IQuery.aq}, {@link IQuery.cq}.\n * @returns {string}\n */\n public computeCompleteExpression(): string {\n return this.computeCompleteExpressionParts().full;\n }\n\n /**\n * Return only the expression(s) part(s) of the query, as an object.\n * @returns {{full: string, withoutConstant: string, constant: string}}\n */\n public computeCompleteExpressionParts(): any {\n return new QueryBuilderExpression(\n this.expression.build(),\n this.advancedExpression.build(),\n this.constantExpression.build(),\n this.disjunctionExpression.build()\n );\n }\n\n /**\n * Return only the expression(s) part(s) of the query, as a string, except the given expression.\n *\n * This is used by {@link Facet}, to build their group by request with query override.\n * @param except\n * @returns {string}\n */\n public computeCompleteExpressionExcept(except: string): string {\n return this.computeCompleteExpressionPartsExcept(except).full;\n }\n\n /**\n * Return only the expression(s) part(s) of the query, as an object, except the given expression.\n *\n * This is used by {@link Facet}, to build their group by request with query override.\n * @param except\n * @returns {{full: string, withoutConstant: string, constant: string}}\n */\n public computeCompleteExpressionPartsExcept(except: string): QueryBuilderExpression {\n const withoutConstantAndExcept = ExpressionBuilder.merge(this.expression, this.advancedExpression);\n withoutConstantAndExcept.remove(except);\n\n const basicWithoutException = new ExpressionBuilder();\n basicWithoutException.fromExpressionBuilder(this.expression);\n basicWithoutException.remove(except);\n\n const advancedWithoutException = new ExpressionBuilder();\n advancedWithoutException.fromExpressionBuilder(this.advancedExpression);\n advancedWithoutException.remove(except);\n\n const constantWithoutException = new ExpressionBuilder();\n constantWithoutException.fromExpressionBuilder(this.constantExpression);\n constantWithoutException.remove(except);\n\n const disjunctionWithoutException = new ExpressionBuilder();\n disjunctionWithoutException.fromExpressionBuilder(this.disjunctionExpression);\n disjunctionWithoutException.remove(except);\n\n return new QueryBuilderExpression(\n basicWithoutException.build(),\n advancedWithoutException.build(),\n constantWithoutException.build(),\n disjunctionWithoutException.build()\n );\n }\n\n /**\n * Add fields to specifically include when the results return.\n *\n * This can be used to accelerate the execution time of every query, as there is much less data to process if you whitelist specific fields.\n * @param fields\n */\n public addFieldsToInclude(fields: string[]) {\n this.fieldsToInclude = _.uniq((this.fieldsToInclude || []).concat(fields));\n }\n\n public addRequiredFields(fields: string[]) {\n this.requiredFields = _.uniq(this.requiredFields.concat(fields));\n }\n\n /**\n * Add fields to specifically exclude when the results return.\n *\n * This can be used to accelerate the execution time of every query, as there is much less data to process if you blacklist specific fields.\n * @param fields\n */\n public addFieldsToExclude(fields: string[]) {\n this.fieldsToExclude = _.uniq((this.fieldsToInclude || []).concat(fields));\n }\n\n public computeFieldsToInclude() {\n if (this.includeRequiredFields || this.fieldsToInclude != null) {\n return this.requiredFields.concat(this.fieldsToInclude || []);\n } else {\n return null;\n }\n }\n\n /**\n * Adds or updates a single context key-value pair in the `context` object.\n *\n * @param key The context key. If this key is already present in the `context` object, its value is updated.\n * @param value The context value. This should be a string or an array of strings.\n */\n public addContextValue(key: string, value: any) {\n if (this.context == null) {\n this.context = {};\n }\n this.context[key] = value;\n }\n\n /**\n * Merges the specified `values` into the `context` object.\n *\n * @param values The object to merge into the `context` object. Can contain multiple key-value pairs, where each value should be a string or an array of strings. If some keys are already present in the `context` object, their values are updated.\n */\n public addContext(values: { [key: string]: any }) {\n if (this.context == null) {\n this.context = {};\n }\n _.extend(this.context, values);\n }\n\n /**\n * Returns true if the current query contains any expression that are considered \"end user input\".\n *\n * This usually means anything entered in the basic (see [q]{@link IQuery.options.q}) or long (see [lq]{@link IQuery.options.lq}) part of the query.\n */\n public containsEndUserKeywords(): boolean {\n const query = this.build();\n return Utils.isNonEmptyString(query.q) || Utils.isNonEmptyString(query.lq);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/Base/QueryBuilder.ts","import { $$ } from '../../utils/Dom';\nimport { KEYBOARD } from '../../utils/KeyboardUtils';\nimport { IFormWidget, IFormWidgetSettable } from './FormWidgets';\nimport { exportGlobally } from '../../GlobalExports';\n\n/**\n * A text input widget with standard styling.\n */\nexport class TextInput implements IFormWidget, IFormWidgetSettable {\n private element: HTMLElement;\n private lastQueryText: string = '';\n\n static doExport() {\n exportGlobally({\n TextInput: TextInput\n });\n }\n\n /**\n * Creates a new `TextInput`.\n * @param onChange The function to call when the value entered in the text input changes. This function takes the\n * current `TextInput` instance as an argument.\n * @param name The text to display in the text input label.\n */\n constructor(public onChange: (textInput: TextInput) => void = (textInput: TextInput) => {}, public name?: string) {\n this.buildContent();\n }\n\n /**\n * Gets the element on which the text input is bound.\n * @returns {HTMLElement} The text input element.\n */\n public getElement(): HTMLElement {\n return this.element;\n }\n\n /**\n * Gets the value currently entered in the text input.\n * @returns {string} The text input current value.\n */\n public getValue(): string {\n return ($$(this.element).find('input')).value;\n }\n\n /**\n * Sets the value in the text input.\n * @param value The value to set the text input to.\n */\n public setValue(value: string) {\n const currentValue = this.getValue();\n ($$(this.element).find('input')).value = value;\n if (currentValue != value) {\n this.onChange(this);\n }\n }\n\n /**\n * Resets the text input.\n */\n public reset() {\n const currentValue = this.getValue();\n ($$(this.element).find('input')).value = '';\n if (currentValue != '') {\n this.onChange(this);\n }\n }\n\n /**\n * Gets the element on which the text input is bound.\n * @returns {HTMLElement} The text input element.\n */\n public build() {\n return this.element;\n }\n\n /**\n * Gets the `input` element (the text input itself).\n * @returns {HTMLElement} The `input` element.\n */\n public getInput(): HTMLInputElement {\n return $$(this.element).find('input');\n }\n\n private buildContent() {\n let container = $$('div', { className: 'coveo-input' });\n let input = $$('input', { type: 'text' });\n input.on(['keydown', 'blur'], (e: Event) => {\n if (e.type == 'blur' || (e).keyCode == KEYBOARD.ENTER) {\n this.triggerChange();\n }\n });\n (input.el).required = true;\n container.append(input.el);\n if (this.name) {\n let label = $$('label');\n label.text(this.name);\n container.append(label.el);\n }\n this.element = container.el;\n }\n\n private triggerChange() {\n if (this.lastQueryText != this.getInput().value) {\n this.onChange(this);\n this.lastQueryText = this.getInput().value;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/FormWidgets/TextInput.ts","import { $$, IOffset } from './Dom';\n\nexport interface IPopupPosition {\n vertical: PopupVerticalAlignment;\n horizontal: PopupHorizontalAlignment;\n verticalOffset?: number;\n horizontalOffset?: number;\n horizontalClip?: boolean;\n}\n\nexport enum PopupVerticalAlignment {\n TOP,\n MIDDLE,\n BOTTOM,\n INNERTOP,\n INNERBOTTOM\n}\n\nexport enum PopupHorizontalAlignment {\n LEFT,\n CENTER,\n RIGHT,\n INNERLEFT,\n INNERRIGHT\n}\n\ninterface IPopupElementBoundary {\n top: number;\n left: number;\n right: number;\n bottom: number;\n}\n\nexport class PopupUtils {\n static positionPopup(\n popUp: HTMLElement,\n nextTo: HTMLElement,\n boundary: HTMLElement,\n desiredPosition: IPopupPosition,\n appendTo?: HTMLElement,\n checkForBoundary = 0\n ) {\n popUp.style.position = 'absolute';\n if (appendTo) {\n $$(appendTo).append(popUp);\n }\n desiredPosition.verticalOffset = desiredPosition.verticalOffset ? desiredPosition.verticalOffset : 0;\n desiredPosition.horizontalOffset = desiredPosition.horizontalOffset ? desiredPosition.horizontalOffset : 0;\n\n let popUpPosition = $$(nextTo).offset();\n PopupUtils.basicVerticalAlignment(popUpPosition, popUp, nextTo, desiredPosition);\n PopupUtils.basicHorizontalAlignment(popUpPosition, popUp, nextTo, desiredPosition);\n PopupUtils.finalAdjustement($$(popUp).offset(), popUpPosition, popUp, desiredPosition);\n\n let popUpBoundary = PopupUtils.getBoundary(popUp);\n let boundaryPosition = PopupUtils.getBoundary(boundary);\n if (checkForBoundary < 2) {\n let checkBoundary = PopupUtils.checkForOutOfBoundary(popUpBoundary, boundaryPosition);\n if (checkBoundary.horizontal != 'ok' && desiredPosition.horizontalClip === true) {\n let width = popUp.offsetWidth;\n if (popUpBoundary.left < boundaryPosition.left) {\n width -= boundaryPosition.left - popUpBoundary.left;\n }\n if (popUpBoundary.right > boundaryPosition.right) {\n width -= popUpBoundary.right - boundaryPosition.right;\n }\n popUp.style.width = width + 'px';\n checkBoundary.horizontal = 'ok';\n }\n if (checkBoundary.vertical != 'ok' || checkBoundary.horizontal != 'ok') {\n let newDesiredPosition = PopupUtils.alignInsideBoundary(desiredPosition, checkBoundary);\n PopupUtils.positionPopup(popUp, nextTo, boundary, newDesiredPosition, appendTo, checkForBoundary + 1);\n }\n }\n }\n\n private static finalAdjustement(popUpOffSet: IOffset, popUpPosition: IOffset, popUp: HTMLElement, desiredPosition: IPopupPosition) {\n let position = $$(popUp).position();\n popUp.style.top = position.top + desiredPosition.verticalOffset - (popUpOffSet.top - popUpPosition.top) + 'px';\n popUp.style.left = position.left + desiredPosition.horizontalOffset - (popUpOffSet.left - popUpPosition.left) + 'px';\n }\n\n private static basicVerticalAlignment(popUpPosition: IOffset, popUp: HTMLElement, nextTo: HTMLElement, desiredPosition: IPopupPosition) {\n switch (desiredPosition.vertical) {\n case PopupVerticalAlignment.TOP:\n popUpPosition.top -= popUp.offsetHeight;\n break;\n case PopupVerticalAlignment.BOTTOM:\n popUpPosition.top += nextTo.offsetHeight;\n break;\n case PopupVerticalAlignment.MIDDLE:\n popUpPosition.top -= popUp.offsetHeight / 3;\n case PopupVerticalAlignment.INNERTOP:\n break; // Nothing to do, it's the default alignment normally\n case PopupVerticalAlignment.INNERBOTTOM:\n popUpPosition.top -= popUp.offsetHeight - nextTo.offsetHeight;\n break;\n default:\n break;\n }\n }\n\n private static basicHorizontalAlignment(\n popUpPosition: IOffset,\n popUp: HTMLElement,\n nextTo: HTMLElement,\n desiredPosition: IPopupPosition\n ) {\n switch (desiredPosition.horizontal) {\n case PopupHorizontalAlignment.LEFT:\n popUpPosition.left -= popUp.offsetWidth;\n break;\n case PopupHorizontalAlignment.RIGHT:\n popUpPosition.left += nextTo.offsetWidth;\n break;\n case PopupHorizontalAlignment.CENTER:\n popUpPosition.left += PopupUtils.offSetToAlignCenter(popUp, nextTo);\n break;\n case PopupHorizontalAlignment.INNERLEFT:\n break; // Nothing to do, it's the default alignment normally\n case PopupHorizontalAlignment.INNERRIGHT:\n popUpPosition.left -= popUp.offsetWidth - nextTo.offsetWidth;\n break;\n default:\n break;\n }\n }\n\n private static alignInsideBoundary(oldPosition: IPopupPosition, checkBoundary) {\n let newDesiredPosition = oldPosition;\n if (checkBoundary.horizontal == 'left') {\n newDesiredPosition.horizontal = PopupHorizontalAlignment.RIGHT;\n }\n if (checkBoundary.horizontal == 'right') {\n newDesiredPosition.horizontal = PopupHorizontalAlignment.LEFT;\n }\n if (checkBoundary.vertical == 'top') {\n newDesiredPosition.vertical = PopupVerticalAlignment.BOTTOM;\n }\n if (checkBoundary.vertical == 'bottom') {\n newDesiredPosition.vertical = PopupVerticalAlignment.TOP;\n }\n return newDesiredPosition;\n }\n\n private static offSetToAlignCenter(popUp: HTMLElement, nextTo: HTMLElement) {\n return (nextTo.offsetWidth - popUp.offsetWidth) / 2;\n }\n\n private static getBoundary(element: HTMLElement) {\n let boundaryOffset = $$(element).offset();\n let toAddVertically;\n if (element.tagName.toLowerCase() == 'body') {\n toAddVertically = Math.max(element.scrollHeight, element.offsetHeight);\n } else if (element.tagName.toLowerCase() == 'html') {\n toAddVertically = Math.max(element.clientHeight, element.scrollHeight, element.offsetHeight);\n } else {\n toAddVertically = element.offsetHeight;\n }\n return {\n top: boundaryOffset.top,\n left: boundaryOffset.left,\n right: boundaryOffset.left + element.offsetWidth,\n bottom: boundaryOffset.top + toAddVertically\n };\n }\n\n private static checkForOutOfBoundary(popUpBoundary: IPopupElementBoundary, boundary: IPopupElementBoundary) {\n let ret = {\n vertical: 'ok',\n horizontal: 'ok'\n };\n if (popUpBoundary.top < boundary.top) {\n ret.vertical = 'top';\n }\n if (popUpBoundary.bottom > boundary.bottom) {\n ret.vertical = 'bottom';\n }\n if (popUpBoundary.left < boundary.left) {\n ret.horizontal = 'left';\n }\n if (popUpBoundary.right > boundary.right) {\n ret.horizontal = 'right';\n }\n return ret;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/PopupUtils.ts","import { Utils } from './Utils';\nimport { IHighlight } from '../rest/Highlight';\nimport { Assert } from '../misc/Assert';\nimport * as _ from 'underscore';\n\nexport interface IStringHole {\n begin: number;\n size: number;\n replacementSize: number;\n}\n\nexport class StringAndHoles {\n value: string;\n holes: IStringHole[];\n\n static SHORTEN_END: string = '...';\n static WORD_SHORTER: number = 10;\n\n static replace(str: string, find: string, replace: string): StringAndHoles {\n const strAndHoles = new StringAndHoles();\n\n if (Utils.isNullOrEmptyString(str)) {\n return strAndHoles;\n }\n\n let index = str.lastIndexOf(find);\n if (index == -1) {\n strAndHoles.value = str;\n return strAndHoles;\n }\n\n const holes: IStringHole[] = [];\n while (index >= 0) {\n const hole = {\n begin: index,\n size: find.length,\n replacementSize: replace.length\n };\n holes.push(hole);\n str = str.slice(0, index) + replace + str.slice(index + find.length);\n index = str.lastIndexOf(find);\n }\n\n strAndHoles.holes = holes;\n strAndHoles.value = str;\n return strAndHoles;\n }\n\n /**\n * Shorten the passed path intelligently (path-aware).\n * Works with *local paths* and *network paths*\n * @param uriOrig The path to shorten\n * @param length The length to which the path will be shortened.\n */\n static shortenPath(uriOrig: string, length: number): StringAndHoles {\n const strAndHoles = new StringAndHoles();\n let uri = uriOrig;\n if (Utils.isNullOrEmptyString(uri) || uri.length <= length) {\n strAndHoles.value = uri;\n return strAndHoles;\n }\n\n const holes: IStringHole[] = [];\n\n let first = -1;\n if (Utils.stringStartsWith(uri, '\\\\\\\\')) {\n first = uri.indexOf('\\\\', first + 2);\n } else {\n first = uri.indexOf('\\\\');\n }\n\n if (first !== -1) {\n let removed = 0;\n let next = uri.indexOf('\\\\', first + 1);\n while (next !== -1 && uri.length - removed + StringAndHoles.SHORTEN_END.length > length) {\n removed = next - first - 1;\n next = uri.indexOf('\\\\', next + 1);\n }\n\n if (removed > 0) {\n uri = uri.slice(0, first + 1) + StringAndHoles.SHORTEN_END + uri.slice(removed);\n const hole = {\n begin: first + 1,\n size: removed - StringAndHoles.SHORTEN_END.length,\n replacementSize: StringAndHoles.SHORTEN_END.length\n };\n holes.push(hole);\n }\n }\n\n if (uri.length > length) {\n const over = uri.length - length + StringAndHoles.SHORTEN_END.length;\n const start = uri.length - over;\n uri = uri.slice(0, start) + StringAndHoles.SHORTEN_END;\n const hole = {\n begin: start,\n size: over,\n replacementSize: StringAndHoles.SHORTEN_END.length\n };\n holes.push(hole);\n }\n\n strAndHoles.holes = holes;\n strAndHoles.value = uri;\n return strAndHoles;\n }\n\n /**\n * Shorten the passed string.\n * @param toShortenOrig The string to shorten\n * @param length The length to which the string will be shortened.\n * @param toAppend The string to append at the end (usually, it is set to '...')\n */\n static shortenString(toShortenOrig: string, length: number = 200, toAppend?: string): StringAndHoles {\n const toShorten = toShortenOrig;\n toAppend = Utils.toNotNullString(toAppend);\n const strAndHoles = new StringAndHoles();\n if (Utils.isNullOrEmptyString(toShorten) || length <= toAppend.length) {\n strAndHoles.value = toShorten;\n return strAndHoles;\n }\n\n if (toShorten.length <= length) {\n strAndHoles.value = toShorten;\n return strAndHoles;\n }\n\n let str = toShorten;\n\n length = length - toAppend.length;\n str = str.slice(0, length);\n\n if (toShorten.charAt(str.length) !== ' ') {\n const pos = str.lastIndexOf(' ');\n if (pos !== -1 && str.length - pos < StringAndHoles.WORD_SHORTER) {\n str = str.slice(0, pos);\n }\n }\n const holes: IStringHole[] = [];\n holes[0] = {\n begin: str.length,\n size: toShorten.length - str.length,\n replacementSize: toAppend.length\n };\n str += toAppend;\n strAndHoles.value = str;\n strAndHoles.holes = holes;\n return strAndHoles;\n }\n\n /**\n * Shorten the passed URI intelligently (path-aware).\n * @param toShortenOrig The URI to shorten\n * @param length The length to which the URI will be shortened.\n */\n static shortenUri(uri: string, length: number): StringAndHoles {\n const strAndHoles = new StringAndHoles();\n if (Utils.isNullOrEmptyString(uri) || uri.length <= length) {\n strAndHoles.value = uri;\n return strAndHoles;\n }\n\n const holes: IStringHole[] = [];\n\n let first = uri.indexOf('//');\n if (first !== -1) {\n first = uri.indexOf('/', first + 2);\n }\n\n if (first !== -1) {\n let removed = 0;\n let next = uri.indexOf('/', first + 1);\n while (next !== -1 && uri.length - removed + StringAndHoles.SHORTEN_END.length > length) {\n removed = next - first - 1;\n next = uri.indexOf('/', next + 1);\n }\n\n if (removed > 0) {\n uri = uri.slice(0, first + 1) + StringAndHoles.SHORTEN_END + uri.slice(first + 1 + removed);\n const hole = {\n begin: first + 1,\n size: removed,\n replacementSize: StringAndHoles.SHORTEN_END.length\n };\n holes.push(hole);\n }\n }\n\n if (uri.length > length) {\n const over = uri.length - length + StringAndHoles.SHORTEN_END.length;\n const start = uri.length - over;\n uri = uri.slice(0, start) + StringAndHoles.SHORTEN_END;\n const hole = {\n begin: start,\n size: over,\n replacementSize: StringAndHoles.SHORTEN_END.length\n };\n holes.push(hole);\n }\n\n strAndHoles.holes = holes;\n strAndHoles.value = uri;\n return strAndHoles;\n }\n}\n\nexport class HighlightUtils {\n /**\n * Highlight the passed string using specified highlights and holes.\n * @param content The string to highlight items in.\n * @param highlights The highlighted positions to highlight in the string.\n * @param holes Possible holes which are used to skip highlighting.\n * @param cssClass The css class to use on the highlighting `span`.\n */\n static highlightString(content: string, highlights: IHighlight[], holes: IStringHole[], cssClass: string): string {\n Assert.isNotUndefined(highlights);\n Assert.isNotNull(highlights);\n Assert.isNonEmptyString(cssClass);\n if (Utils.isNullOrEmptyString(content)) {\n return content;\n }\n const maxIndex = content.length;\n let highlighted = '';\n let last = 0;\n for (let i = 0; i < highlights.length; i++) {\n const highlight = highlights[i];\n let start: number = highlight.offset;\n let end: number = start + highlight.length;\n\n if (holes !== null) {\n let skip = false;\n for (let j = 0; j < holes.length; j++) {\n const hole = holes[j];\n const holeBegin = hole.begin;\n const holeEnd = holeBegin + hole.size;\n if (start < holeBegin && end >= holeBegin && end < holeEnd) {\n end = holeBegin;\n } else if (start >= holeBegin && end < holeEnd) {\n skip = true;\n break;\n } else if (start >= holeBegin && start < holeEnd && end >= holeEnd) {\n start = holeBegin + hole.replacementSize;\n end -= hole.size - hole.replacementSize;\n } else if (start < holeBegin && end >= holeEnd) {\n end -= hole.size - hole.replacementSize;\n } else if (start >= holeEnd) {\n const offset = hole.size - hole.replacementSize;\n start -= offset;\n end -= offset;\n }\n }\n if (skip || start === end) {\n continue;\n }\n }\n\n if (end > maxIndex) {\n break;\n }\n\n highlighted += _.escape(content.slice(last, start));\n highlighted += ` {\n /**\n * Specifies the CSS selector the template must match. The first matching element in the page is used as the template\n * option value, if this element is a valid template.\n *\n * If specified, this parameter takes precedence over [`idAttr`]{@link IComponentOptionsTemplateOptionArgs.idAttr}.\n */\n selectorAttr?: string;\n\n /**\n * Specifies the CSS selector the templates must match. The list of all matching, valid elements in the page is used\n * as the template option value.\n *\n * Default value is `.`, followed by the hyphened name of the template option being configured (e.g.,\n * `.content-template`, `.result-template`, `.sub-result-template`, `.preview-template`, etc.).\n */\n childSelector?: string;\n\n /**\n * Specifies the HTML `id` attribute the template must match. The corresponding template must be registered in\n * the [`TemplateCache`]{@link TemplateCache} to be usable as the template option value.\n *\n * If specified, this parameter takes precedence over\n * [`childSelector`]{@link IComponentOptionsTemplateOptionArgs.childSelector}.\n */\n idAttr?: string;\n}\n\nexport interface IComponentOptionsTemplateOption extends IComponentOptionsOption