{"version":3,"file":"8660.4839fd3480fc5839.js","mappings":"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ACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,SAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,I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","names":["i0","e","$implicit","t","unselect","toggleItem","onItemHover","itemsList","selectTag","viewPortItems","scroll","scrollToEnd","close","unescapedHTMLExp","hasUnescapedHTMLExp","RegExp","source","htmlEscapes","value","isDefined","Function","NgItemLabelDirective","constructor","element","this","escape","ngOnChanges","changes","nativeElement","innerHTML","test","replace","chr","escapeHTML","ngItemLabel","ɵfac","ɵdir","selectors","NgOptionTemplateDirective","template","NgOptgroupTemplateDirective","NgLabelTemplateDirective","NgMultiLabelTemplateDirective","NgHeaderTemplateDirective","NgFooterTemplateDirective","NgNotFoundTemplateDirective","NgTypeToSearchTemplateDirective","NgLoadingTextTemplateDirective","NgTagTemplateDirective","NgLoadingSpinnerTemplateDirective","Math","random","toString","diacritics","text","a","match","_ngSelect","_selectionModel","_items","_filteredItems","_markedIndex","items","filteredItems","markedIndex","selectedItems","markedItem","noItemsToSelect","hideSelected","length","maxItemsSelected","multiple","maxSelectedItems","lastSelectedItem","i","item","disabled","setItems","map","index","mapItem","groupBy","_groups","_groupBy","_flatten","Map","set","undefined","select","selected","clearSelected","selectableGroupAsModel","_hideSelected","_showSelected","findItem","findBy","compareWith","bindValue","children","resolveNested","label","bindLabel","find","addItem","option","push","keepDisabled","clear","forEach","marked","resetFilteredItems","findByLabel","term","stripSpecialChars","toLocaleLowerCase","substr","filter","searchFn","_defaultSearchFn","key","Array","from","keys","matchedItems","get","parent","last","slice","head","x","unmarkItem","markNextItem","_stepToItem","markPreviousItem","markItem","indexOf","markSelectedOrDefault","markDefault","lastMarkedIndex","_getLastMarkedIndex","findIndex","isObject","split","len","$ngOptionLabel","$ngOptionValue","htmlId","dropdownId","mapSelectedItems","parentExists","child","sort","b","s","every","search","opt","_getNextItemIndex","steps","selectedIndex","max","prop","groups","isArray","isFnKey","isFunction","keyFn","group","isGroupByFn","withoutGroup","isObjectKey","String","selectableGroup","newId","groupKey","groupValue","KeyCode","Tab","Enter","Esc","Space","ArrowUp","ArrowDown","Backspace","NgDropdownPanelService","_dimensions","itemHeight","panelHeight","itemsPerViewport","dimensions","calculateItems","scrollPos","itemsLength","buffer","d","scrollHeight","indexByScrollTop","scrollTop","end","min","ceil","maxStart","maxStartEnd","start","floor","topPadding","isNaN","setDimensions","getScrollTo","itemTop","lastScroll","itemBottom","bottom","ɵprov","factory","CSS_POSITIONS","SCROLL_SCHEDULER","requestAnimationFrame","animationFrameScheduler","asapScheduler","NgDropdownPanelComponent","_renderer","_zone","_panelService","_elementRef","_document","position","virtualScroll","filterValue","update","EventEmitter","outsideClick","_destroy$","Subject","_scrollToEndFired","_updateScrollHeight","_lastScrollPosition","_dropdown","currentPosition","_currentPosition","_itemsLength","_onItemsLengthChanged","_startOffset","offset","ngOnInit","_select","parentElement","_virtualPadding","paddingElementRef","_scrollablePanel","scrollElementRef","_contentPanel","contentElementRef","_handleScroll","_handleOutsideClick","_appendDropdown","_setupMousedownListener","change","_onItemsChange","currentValue","firstChange","ngOnDestroy","next","complete","unsubscribe","appendTo","removeChild","parentNode","scrollTo","startFromOption","querySelector","offsetTop","clientHeight","scrollToTag","panel","adjustPosition","_updateYPosition","_handleDropdownPosition","_calculateCurrentPosition","k","includes","_updateDropdownClass","style","opacity","REMOVE_CSS_CLASS","removeClass","ADD_CSS_CLASS","addClass","runOutsideAngular","fromEvent","pipe","takeUntil","auditTime","subscribe","path","composedPath","_onContentScrolled","target","merge","capture","$event","_checkToClose","contains","shadowRoot","run","emit","_updateItemsRange","_setVirtualHeight","_updateItems","Promise","resolve","then","_measureDimensions","_renderItemsRange","_fireScrollToEnd","_updateVirtualHeight","height","range","bufferAmount","transform","first","optionHeight","dropdownEl","selectRect","getBoundingClientRect","document","documentElement","body","top","window","pageYOffset","_parent","Error","_updateXPosition","appendChild","left","width","minWidth","delta","event","tagName","preventDefault","DOCUMENT","ɵcmp","Q","ElementRef","z","J","l","n","ngContentSelectors","directives","i4","encapsulation","NgOptionComponent","elementRef","stateChange$","_disabled","_isDisabled","textContent","trim","ngAfterViewChecked","_previousLabel","NgSelectConfig","notFoundText","typeToSearchText","addTagText","loadingText","clearAllText","disableVirtualScroll","openOnEnter","appearance","ConsoleService","warn","message","console","SELECTION_MODEL_FACTORY","InjectionToken","NgSelectComponent","classes","autoFocus","config","newSelectionModel","_cd","_console","markFirst","dropdownPosition","loading","closeOnSelect","selectOnTab","trackByFn","clearOnBackspace","labelForId","inputAttrs","readonly","searchWhileComposing","minTermLength","editableSearchTerm","keyDownFn","_","addTag","searchable","clearable","isOpen","blurEvent","focusEvent","changeEvent","openEvent","closeEvent","searchEvent","clearEvent","addEvent","removeEvent","useDefaultClass","searchTerm","_defaultLabel","_pressedKeys","_isComposing","_keyPress$","_onChange","_onTouched","clearItem","trackByOption","_mergeGlobalConfig","ItemsList","_itemsAreUsed","_compareWith","fn","clearSearchOnAdd","_clearSearchOnAdd","filtered","single","_editableSearchTerm","selectedValues","hasValue","currentPanelPosition","dropdownPanel","_handleKeyPresses","_setInputAttributes","_setItems","_manualOpen","ngAfterViewInit","_setItemsFromNgOptions","focus","handleKeyDown","which","handleKeyCode","_handleArrowDown","_handleArrowUp","_handleSpace","_handleEnter","_handleTab","_handleBackspace","handleMousedown","classList","handleClearClick","handleArrowClick","focused","open","toggle","_updateNgModel","_clearSearch","_onSelectionChanged","clearModel","writeValue","_handleWriteValue","markForCheck","registerOnChange","registerOnTouched","setDisabledState","state","_isTypeahead","detectChanges","_setSearchTermFromItems","searchInput","blur","tag","_primitive","handleTag","isPromise","catch","showClear","showAddTag","_validTerm","toLowerCase","some","showNoItemsFound","empty","showTypeToSearch","onCompositionStart","onCompositionEnd","typeahead","onInputFocus","add","onInputBlur","remove","destroyed","firstItem","mapNgOptions","options","handleOptionChange","changedOrDestroyed","ngOptions","startWith","_isValidWriteValue","validateBinding","JSON","stringify","ngModel","val","isValObject","isPrimitive","tap","letter","debounceTime","join","_scrollToMarked","input","attributes","Object","assign","type","autocorrect","autocapitalize","autocomplete","setAttribute","model","_changeSearch","_scrollToTag","_nextItemIsTag","nextStep","nextIndex","observers","placeholder","TemplateRef","o","$","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","decls","r","styles","DefaultSelectionModel","_selected","groupAsModel","childrenCount","selectedCount","_setChildrenSelectedState","_removeChildren","_activeChildren","_removeParent","NgSelectModule","ɵmod","ɵinj","useValue","DefaultSelectionModelFactory","imports","CommonModule"],"sourceRoot":"webpack:///","sources":["./node_modules/@ng-select/ng-select/fesm2015/ng-select-ng-select.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Directive, Input, Injectable, EventEmitter, ElementRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Optional, Inject, Output, ViewChild, InjectionToken, forwardRef, TemplateRef, Attribute, HostBinding, ContentChild, ContentChildren, HostListener, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { takeUntil, auditTime, startWith, tap, debounceTime, filter, map } from 'rxjs/operators';\nimport { animationFrameScheduler, asapScheduler, Subject, fromEvent, merge } from 'rxjs';\nimport * as i4 from '@angular/common';\nimport { DOCUMENT, CommonModule } from '@angular/common';\n\nconst unescapedHTMLExp = /[&<>\"']/g;\nconst hasUnescapedHTMLExp = RegExp(unescapedHTMLExp.source);\nconst htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n};\nfunction escapeHTML(value) {\n return (value && hasUnescapedHTMLExp.test(value)) ?\n value.replace(unescapedHTMLExp, chr => htmlEscapes[chr]) :\n value;\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isObject(value) {\n return typeof value === 'object' && isDefined(value);\n}\nfunction isPromise(value) {\n return value instanceof Promise;\n}\nfunction isFunction(value) {\n return value instanceof Function;\n}\n\nclass NgItemLabelDirective {\n constructor(element) {\n this.element = element;\n this.escape = true;\n }\n ngOnChanges(changes) {\n this.element.nativeElement.innerHTML = this.escape ?\n escapeHTML(this.ngItemLabel) :\n this.ngItemLabel;\n }\n}\nNgItemLabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgItemLabelDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgItemLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgItemLabelDirective, selector: \"[ngItemLabel]\", inputs: { ngItemLabel: \"ngItemLabel\", escape: \"escape\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgItemLabelDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ngItemLabel]' }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { ngItemLabel: [{\n type: Input\n }], escape: [{\n type: Input\n }] } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgOptionTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgOptionTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgOptionTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgOptionTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgOptionTemplateDirective, selector: \"[ng-option-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgOptionTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-option-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgOptgroupTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgOptgroupTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgOptgroupTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgOptgroupTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgOptgroupTemplateDirective, selector: \"[ng-optgroup-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgOptgroupTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-optgroup-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgLabelTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgLabelTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgLabelTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgLabelTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgLabelTemplateDirective, selector: \"[ng-label-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgLabelTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-label-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgMultiLabelTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgMultiLabelTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgMultiLabelTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgMultiLabelTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgMultiLabelTemplateDirective, selector: \"[ng-multi-label-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgMultiLabelTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-multi-label-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgHeaderTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgHeaderTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgHeaderTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgHeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgHeaderTemplateDirective, selector: \"[ng-header-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgHeaderTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-header-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgFooterTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgFooterTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgFooterTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgFooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgFooterTemplateDirective, selector: \"[ng-footer-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgFooterTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-footer-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgNotFoundTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgNotFoundTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgNotFoundTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgNotFoundTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgNotFoundTemplateDirective, selector: \"[ng-notfound-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgNotFoundTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-notfound-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgTypeToSearchTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgTypeToSearchTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgTypeToSearchTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTypeToSearchTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgTypeToSearchTemplateDirective, selector: \"[ng-typetosearch-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgTypeToSearchTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-typetosearch-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgLoadingTextTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgLoadingTextTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgLoadingTextTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgLoadingTextTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgLoadingTextTemplateDirective, selector: \"[ng-loadingtext-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgLoadingTextTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-loadingtext-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgTagTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgTagTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgTagTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTagTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgTagTemplateDirective, selector: \"[ng-tag-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgTagTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-tag-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgLoadingSpinnerTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgLoadingSpinnerTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgLoadingSpinnerTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgLoadingSpinnerTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgLoadingSpinnerTemplateDirective, selector: \"[ng-loadingspinner-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgLoadingSpinnerTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-loadingspinner-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n\nfunction newId() {\n // First character is an 'a', it's good practice to tag id to begin with a letter\n return 'axxxxxxxxxxx'.replace(/[x]/g, () => {\n // eslint-disable-next-line no-bitwise\n const val = Math.random() * 16 | 0;\n return val.toString(16);\n });\n}\n\nconst diacritics = {\n '\\u24B6': 'A',\n '\\uFF21': 'A',\n '\\u00C0': 'A',\n '\\u00C1': 'A',\n '\\u00C2': 'A',\n '\\u1EA6': 'A',\n '\\u1EA4': 'A',\n '\\u1EAA': 'A',\n '\\u1EA8': 'A',\n '\\u00C3': 'A',\n '\\u0100': 'A',\n '\\u0102': 'A',\n '\\u1EB0': 'A',\n '\\u1EAE': 'A',\n '\\u1EB4': 'A',\n '\\u1EB2': 'A',\n '\\u0226': 'A',\n '\\u01E0': 'A',\n '\\u00C4': 'A',\n '\\u01DE': 'A',\n '\\u1EA2': 'A',\n '\\u00C5': 'A',\n '\\u01FA': 'A',\n '\\u01CD': 'A',\n '\\u0200': 'A',\n '\\u0202': 'A',\n '\\u1EA0': 'A',\n '\\u1EAC': 'A',\n '\\u1EB6': 'A',\n '\\u1E00': 'A',\n '\\u0104': 'A',\n '\\u023A': 'A',\n '\\u2C6F': 'A',\n '\\uA732': 'AA',\n '\\u00C6': 'AE',\n '\\u01FC': 'AE',\n '\\u01E2': 'AE',\n '\\uA734': 'AO',\n '\\uA736': 'AU',\n '\\uA738': 'AV',\n '\\uA73A': 'AV',\n '\\uA73C': 'AY',\n '\\u24B7': 'B',\n '\\uFF22': 'B',\n '\\u1E02': 'B',\n '\\u1E04': 'B',\n '\\u1E06': 'B',\n '\\u0243': 'B',\n '\\u0182': 'B',\n '\\u0181': 'B',\n '\\u24B8': 'C',\n '\\uFF23': 'C',\n '\\u0106': 'C',\n '\\u0108': 'C',\n '\\u010A': 'C',\n '\\u010C': 'C',\n '\\u00C7': 'C',\n '\\u1E08': 'C',\n '\\u0187': 'C',\n '\\u023B': 'C',\n '\\uA73E': 'C',\n '\\u24B9': 'D',\n '\\uFF24': 'D',\n '\\u1E0A': 'D',\n '\\u010E': 'D',\n '\\u1E0C': 'D',\n '\\u1E10': 'D',\n '\\u1E12': 'D',\n '\\u1E0E': 'D',\n '\\u0110': 'D',\n '\\u018B': 'D',\n '\\u018A': 'D',\n '\\u0189': 'D',\n '\\uA779': 'D',\n '\\u01F1': 'DZ',\n '\\u01C4': 'DZ',\n '\\u01F2': 'Dz',\n '\\u01C5': 'Dz',\n '\\u24BA': 'E',\n '\\uFF25': 'E',\n '\\u00C8': 'E',\n '\\u00C9': 'E',\n '\\u00CA': 'E',\n '\\u1EC0': 'E',\n '\\u1EBE': 'E',\n '\\u1EC4': 'E',\n '\\u1EC2': 'E',\n '\\u1EBC': 'E',\n '\\u0112': 'E',\n '\\u1E14': 'E',\n '\\u1E16': 'E',\n '\\u0114': 'E',\n '\\u0116': 'E',\n '\\u00CB': 'E',\n '\\u1EBA': 'E',\n '\\u011A': 'E',\n '\\u0204': 'E',\n '\\u0206': 'E',\n '\\u1EB8': 'E',\n '\\u1EC6': 'E',\n '\\u0228': 'E',\n '\\u1E1C': 'E',\n '\\u0118': 'E',\n '\\u1E18': 'E',\n '\\u1E1A': 'E',\n '\\u0190': 'E',\n '\\u018E': 'E',\n '\\u24BB': 'F',\n '\\uFF26': 'F',\n '\\u1E1E': 'F',\n '\\u0191': 'F',\n '\\uA77B': 'F',\n '\\u24BC': 'G',\n '\\uFF27': 'G',\n '\\u01F4': 'G',\n '\\u011C': 'G',\n '\\u1E20': 'G',\n '\\u011E': 'G',\n '\\u0120': 'G',\n '\\u01E6': 'G',\n '\\u0122': 'G',\n '\\u01E4': 'G',\n '\\u0193': 'G',\n '\\uA7A0': 'G',\n '\\uA77D': 'G',\n '\\uA77E': 'G',\n '\\u24BD': 'H',\n '\\uFF28': 'H',\n '\\u0124': 'H',\n '\\u1E22': 'H',\n '\\u1E26': 'H',\n '\\u021E': 'H',\n '\\u1E24': 'H',\n '\\u1E28': 'H',\n '\\u1E2A': 'H',\n '\\u0126': 'H',\n '\\u2C67': 'H',\n '\\u2C75': 'H',\n '\\uA78D': 'H',\n '\\u24BE': 'I',\n '\\uFF29': 'I',\n '\\u00CC': 'I',\n '\\u00CD': 'I',\n '\\u00CE': 'I',\n '\\u0128': 'I',\n '\\u012A': 'I',\n '\\u012C': 'I',\n '\\u0130': 'I',\n '\\u00CF': 'I',\n '\\u1E2E': 'I',\n '\\u1EC8': 'I',\n '\\u01CF': 'I',\n '\\u0208': 'I',\n '\\u020A': 'I',\n '\\u1ECA': 'I',\n '\\u012E': 'I',\n '\\u1E2C': 'I',\n '\\u0197': 'I',\n '\\u24BF': 'J',\n '\\uFF2A': 'J',\n '\\u0134': 'J',\n '\\u0248': 'J',\n '\\u24C0': 'K',\n '\\uFF2B': 'K',\n '\\u1E30': 'K',\n '\\u01E8': 'K',\n '\\u1E32': 'K',\n '\\u0136': 'K',\n '\\u1E34': 'K',\n '\\u0198': 'K',\n '\\u2C69': 'K',\n '\\uA740': 'K',\n '\\uA742': 'K',\n '\\uA744': 'K',\n '\\uA7A2': 'K',\n '\\u24C1': 'L',\n '\\uFF2C': 'L',\n '\\u013F': 'L',\n '\\u0139': 'L',\n '\\u013D': 'L',\n '\\u1E36': 'L',\n '\\u1E38': 'L',\n '\\u013B': 'L',\n '\\u1E3C': 'L',\n '\\u1E3A': 'L',\n '\\u0141': 'L',\n '\\u023D': 'L',\n '\\u2C62': 'L',\n '\\u2C60': 'L',\n '\\uA748': 'L',\n '\\uA746': 'L',\n '\\uA780': 'L',\n '\\u01C7': 'LJ',\n '\\u01C8': 'Lj',\n '\\u24C2': 'M',\n '\\uFF2D': 'M',\n '\\u1E3E': 'M',\n '\\u1E40': 'M',\n '\\u1E42': 'M',\n '\\u2C6E': 'M',\n '\\u019C': 'M',\n '\\u24C3': 'N',\n '\\uFF2E': 'N',\n '\\u01F8': 'N',\n '\\u0143': 'N',\n '\\u00D1': 'N',\n '\\u1E44': 'N',\n '\\u0147': 'N',\n '\\u1E46': 'N',\n '\\u0145': 'N',\n '\\u1E4A': 'N',\n '\\u1E48': 'N',\n '\\u0220': 'N',\n '\\u019D': 'N',\n '\\uA790': 'N',\n '\\uA7A4': 'N',\n '\\u01CA': 'NJ',\n '\\u01CB': 'Nj',\n '\\u24C4': 'O',\n '\\uFF2F': 'O',\n '\\u00D2': 'O',\n '\\u00D3': 'O',\n '\\u00D4': 'O',\n '\\u1ED2': 'O',\n '\\u1ED0': 'O',\n '\\u1ED6': 'O',\n '\\u1ED4': 'O',\n '\\u00D5': 'O',\n '\\u1E4C': 'O',\n '\\u022C': 'O',\n '\\u1E4E': 'O',\n '\\u014C': 'O',\n '\\u1E50': 'O',\n '\\u1E52': 'O',\n '\\u014E': 'O',\n '\\u022E': 'O',\n '\\u0230': 'O',\n '\\u00D6': 'O',\n '\\u022A': 'O',\n '\\u1ECE': 'O',\n '\\u0150': 'O',\n '\\u01D1': 'O',\n '\\u020C': 'O',\n '\\u020E': 'O',\n '\\u01A0': 'O',\n '\\u1EDC': 'O',\n '\\u1EDA': 'O',\n '\\u1EE0': 'O',\n '\\u1EDE': 'O',\n '\\u1EE2': 'O',\n '\\u1ECC': 'O',\n '\\u1ED8': 'O',\n '\\u01EA': 'O',\n '\\u01EC': 'O',\n '\\u00D8': 'O',\n '\\u01FE': 'O',\n '\\u0186': 'O',\n '\\u019F': 'O',\n '\\uA74A': 'O',\n '\\uA74C': 'O',\n '\\u01A2': 'OI',\n '\\uA74E': 'OO',\n '\\u0222': 'OU',\n '\\u24C5': 'P',\n '\\uFF30': 'P',\n '\\u1E54': 'P',\n '\\u1E56': 'P',\n '\\u01A4': 'P',\n '\\u2C63': 'P',\n '\\uA750': 'P',\n '\\uA752': 'P',\n '\\uA754': 'P',\n '\\u24C6': 'Q',\n '\\uFF31': 'Q',\n '\\uA756': 'Q',\n '\\uA758': 'Q',\n '\\u024A': 'Q',\n '\\u24C7': 'R',\n '\\uFF32': 'R',\n '\\u0154': 'R',\n '\\u1E58': 'R',\n '\\u0158': 'R',\n '\\u0210': 'R',\n '\\u0212': 'R',\n '\\u1E5A': 'R',\n '\\u1E5C': 'R',\n '\\u0156': 'R',\n '\\u1E5E': 'R',\n '\\u024C': 'R',\n '\\u2C64': 'R',\n '\\uA75A': 'R',\n '\\uA7A6': 'R',\n '\\uA782': 'R',\n '\\u24C8': 'S',\n '\\uFF33': 'S',\n '\\u1E9E': 'S',\n '\\u015A': 'S',\n '\\u1E64': 'S',\n '\\u015C': 'S',\n '\\u1E60': 'S',\n '\\u0160': 'S',\n '\\u1E66': 'S',\n '\\u1E62': 'S',\n '\\u1E68': 'S',\n '\\u0218': 'S',\n '\\u015E': 'S',\n '\\u2C7E': 'S',\n '\\uA7A8': 'S',\n '\\uA784': 'S',\n '\\u24C9': 'T',\n '\\uFF34': 'T',\n '\\u1E6A': 'T',\n '\\u0164': 'T',\n '\\u1E6C': 'T',\n '\\u021A': 'T',\n '\\u0162': 'T',\n '\\u1E70': 'T',\n '\\u1E6E': 'T',\n '\\u0166': 'T',\n '\\u01AC': 'T',\n '\\u01AE': 'T',\n '\\u023E': 'T',\n '\\uA786': 'T',\n '\\uA728': 'TZ',\n '\\u24CA': 'U',\n '\\uFF35': 'U',\n '\\u00D9': 'U',\n '\\u00DA': 'U',\n '\\u00DB': 'U',\n '\\u0168': 'U',\n '\\u1E78': 'U',\n '\\u016A': 'U',\n '\\u1E7A': 'U',\n '\\u016C': 'U',\n '\\u00DC': 'U',\n '\\u01DB': 'U',\n '\\u01D7': 'U',\n '\\u01D5': 'U',\n '\\u01D9': 'U',\n '\\u1EE6': 'U',\n '\\u016E': 'U',\n '\\u0170': 'U',\n '\\u01D3': 'U',\n '\\u0214': 'U',\n '\\u0216': 'U',\n '\\u01AF': 'U',\n '\\u1EEA': 'U',\n '\\u1EE8': 'U',\n '\\u1EEE': 'U',\n '\\u1EEC': 'U',\n '\\u1EF0': 'U',\n '\\u1EE4': 'U',\n '\\u1E72': 'U',\n '\\u0172': 'U',\n '\\u1E76': 'U',\n '\\u1E74': 'U',\n '\\u0244': 'U',\n '\\u24CB': 'V',\n '\\uFF36': 'V',\n '\\u1E7C': 'V',\n '\\u1E7E': 'V',\n '\\u01B2': 'V',\n '\\uA75E': 'V',\n '\\u0245': 'V',\n '\\uA760': 'VY',\n '\\u24CC': 'W',\n '\\uFF37': 'W',\n '\\u1E80': 'W',\n '\\u1E82': 'W',\n '\\u0174': 'W',\n '\\u1E86': 'W',\n '\\u1E84': 'W',\n '\\u1E88': 'W',\n '\\u2C72': 'W',\n '\\u24CD': 'X',\n '\\uFF38': 'X',\n '\\u1E8A': 'X',\n '\\u1E8C': 'X',\n '\\u24CE': 'Y',\n '\\uFF39': 'Y',\n '\\u1EF2': 'Y',\n '\\u00DD': 'Y',\n '\\u0176': 'Y',\n '\\u1EF8': 'Y',\n '\\u0232': 'Y',\n '\\u1E8E': 'Y',\n '\\u0178': 'Y',\n '\\u1EF6': 'Y',\n '\\u1EF4': 'Y',\n '\\u01B3': 'Y',\n '\\u024E': 'Y',\n '\\u1EFE': 'Y',\n '\\u24CF': 'Z',\n '\\uFF3A': 'Z',\n '\\u0179': 'Z',\n '\\u1E90': 'Z',\n '\\u017B': 'Z',\n '\\u017D': 'Z',\n '\\u1E92': 'Z',\n '\\u1E94': 'Z',\n '\\u01B5': 'Z',\n '\\u0224': 'Z',\n '\\u2C7F': 'Z',\n '\\u2C6B': 'Z',\n '\\uA762': 'Z',\n '\\u24D0': 'a',\n '\\uFF41': 'a',\n '\\u1E9A': 'a',\n '\\u00E0': 'a',\n '\\u00E1': 'a',\n '\\u00E2': 'a',\n '\\u1EA7': 'a',\n '\\u1EA5': 'a',\n '\\u1EAB': 'a',\n '\\u1EA9': 'a',\n '\\u00E3': 'a',\n '\\u0101': 'a',\n '\\u0103': 'a',\n '\\u1EB1': 'a',\n '\\u1EAF': 'a',\n '\\u1EB5': 'a',\n '\\u1EB3': 'a',\n '\\u0227': 'a',\n '\\u01E1': 'a',\n '\\u00E4': 'a',\n '\\u01DF': 'a',\n '\\u1EA3': 'a',\n '\\u00E5': 'a',\n '\\u01FB': 'a',\n '\\u01CE': 'a',\n '\\u0201': 'a',\n '\\u0203': 'a',\n '\\u1EA1': 'a',\n '\\u1EAD': 'a',\n '\\u1EB7': 'a',\n '\\u1E01': 'a',\n '\\u0105': 'a',\n '\\u2C65': 'a',\n '\\u0250': 'a',\n '\\uA733': 'aa',\n '\\u00E6': 'ae',\n '\\u01FD': 'ae',\n '\\u01E3': 'ae',\n '\\uA735': 'ao',\n '\\uA737': 'au',\n '\\uA739': 'av',\n '\\uA73B': 'av',\n '\\uA73D': 'ay',\n '\\u24D1': 'b',\n '\\uFF42': 'b',\n '\\u1E03': 'b',\n '\\u1E05': 'b',\n '\\u1E07': 'b',\n '\\u0180': 'b',\n '\\u0183': 'b',\n '\\u0253': 'b',\n '\\u24D2': 'c',\n '\\uFF43': 'c',\n '\\u0107': 'c',\n '\\u0109': 'c',\n '\\u010B': 'c',\n '\\u010D': 'c',\n '\\u00E7': 'c',\n '\\u1E09': 'c',\n '\\u0188': 'c',\n '\\u023C': 'c',\n '\\uA73F': 'c',\n '\\u2184': 'c',\n '\\u24D3': 'd',\n '\\uFF44': 'd',\n '\\u1E0B': 'd',\n '\\u010F': 'd',\n '\\u1E0D': 'd',\n '\\u1E11': 'd',\n '\\u1E13': 'd',\n '\\u1E0F': 'd',\n '\\u0111': 'd',\n '\\u018C': 'd',\n '\\u0256': 'd',\n '\\u0257': 'd',\n '\\uA77A': 'd',\n '\\u01F3': 'dz',\n '\\u01C6': 'dz',\n '\\u24D4': 'e',\n '\\uFF45': 'e',\n '\\u00E8': 'e',\n '\\u00E9': 'e',\n '\\u00EA': 'e',\n '\\u1EC1': 'e',\n '\\u1EBF': 'e',\n '\\u1EC5': 'e',\n '\\u1EC3': 'e',\n '\\u1EBD': 'e',\n '\\u0113': 'e',\n '\\u1E15': 'e',\n '\\u1E17': 'e',\n '\\u0115': 'e',\n '\\u0117': 'e',\n '\\u00EB': 'e',\n '\\u1EBB': 'e',\n '\\u011B': 'e',\n '\\u0205': 'e',\n '\\u0207': 'e',\n '\\u1EB9': 'e',\n '\\u1EC7': 'e',\n '\\u0229': 'e',\n '\\u1E1D': 'e',\n '\\u0119': 'e',\n '\\u1E19': 'e',\n '\\u1E1B': 'e',\n '\\u0247': 'e',\n '\\u025B': 'e',\n '\\u01DD': 'e',\n '\\u24D5': 'f',\n '\\uFF46': 'f',\n '\\u1E1F': 'f',\n '\\u0192': 'f',\n '\\uA77C': 'f',\n '\\u24D6': 'g',\n '\\uFF47': 'g',\n '\\u01F5': 'g',\n '\\u011D': 'g',\n '\\u1E21': 'g',\n '\\u011F': 'g',\n '\\u0121': 'g',\n '\\u01E7': 'g',\n '\\u0123': 'g',\n '\\u01E5': 'g',\n '\\u0260': 'g',\n '\\uA7A1': 'g',\n '\\u1D79': 'g',\n '\\uA77F': 'g',\n '\\u24D7': 'h',\n '\\uFF48': 'h',\n '\\u0125': 'h',\n '\\u1E23': 'h',\n '\\u1E27': 'h',\n '\\u021F': 'h',\n '\\u1E25': 'h',\n '\\u1E29': 'h',\n '\\u1E2B': 'h',\n '\\u1E96': 'h',\n '\\u0127': 'h',\n '\\u2C68': 'h',\n '\\u2C76': 'h',\n '\\u0265': 'h',\n '\\u0195': 'hv',\n '\\u24D8': 'i',\n '\\uFF49': 'i',\n '\\u00EC': 'i',\n '\\u00ED': 'i',\n '\\u00EE': 'i',\n '\\u0129': 'i',\n '\\u012B': 'i',\n '\\u012D': 'i',\n '\\u00EF': 'i',\n '\\u1E2F': 'i',\n '\\u1EC9': 'i',\n '\\u01D0': 'i',\n '\\u0209': 'i',\n '\\u020B': 'i',\n '\\u1ECB': 'i',\n '\\u012F': 'i',\n '\\u1E2D': 'i',\n '\\u0268': 'i',\n '\\u0131': 'i',\n '\\u24D9': 'j',\n '\\uFF4A': 'j',\n '\\u0135': 'j',\n '\\u01F0': 'j',\n '\\u0249': 'j',\n '\\u24DA': 'k',\n '\\uFF4B': 'k',\n '\\u1E31': 'k',\n '\\u01E9': 'k',\n '\\u1E33': 'k',\n '\\u0137': 'k',\n '\\u1E35': 'k',\n '\\u0199': 'k',\n '\\u2C6A': 'k',\n '\\uA741': 'k',\n '\\uA743': 'k',\n '\\uA745': 'k',\n '\\uA7A3': 'k',\n '\\u24DB': 'l',\n '\\uFF4C': 'l',\n '\\u0140': 'l',\n '\\u013A': 'l',\n '\\u013E': 'l',\n '\\u1E37': 'l',\n '\\u1E39': 'l',\n '\\u013C': 'l',\n '\\u1E3D': 'l',\n '\\u1E3B': 'l',\n '\\u017F': 'l',\n '\\u0142': 'l',\n '\\u019A': 'l',\n '\\u026B': 'l',\n '\\u2C61': 'l',\n '\\uA749': 'l',\n '\\uA781': 'l',\n '\\uA747': 'l',\n '\\u01C9': 'lj',\n '\\u24DC': 'm',\n '\\uFF4D': 'm',\n '\\u1E3F': 'm',\n '\\u1E41': 'm',\n '\\u1E43': 'm',\n '\\u0271': 'm',\n '\\u026F': 'm',\n '\\u24DD': 'n',\n '\\uFF4E': 'n',\n '\\u01F9': 'n',\n '\\u0144': 'n',\n '\\u00F1': 'n',\n '\\u1E45': 'n',\n '\\u0148': 'n',\n '\\u1E47': 'n',\n '\\u0146': 'n',\n '\\u1E4B': 'n',\n '\\u1E49': 'n',\n '\\u019E': 'n',\n '\\u0272': 'n',\n '\\u0149': 'n',\n '\\uA791': 'n',\n '\\uA7A5': 'n',\n '\\u01CC': 'nj',\n '\\u24DE': 'o',\n '\\uFF4F': 'o',\n '\\u00F2': 'o',\n '\\u00F3': 'o',\n '\\u00F4': 'o',\n '\\u1ED3': 'o',\n '\\u1ED1': 'o',\n '\\u1ED7': 'o',\n '\\u1ED5': 'o',\n '\\u00F5': 'o',\n '\\u1E4D': 'o',\n '\\u022D': 'o',\n '\\u1E4F': 'o',\n '\\u014D': 'o',\n '\\u1E51': 'o',\n '\\u1E53': 'o',\n '\\u014F': 'o',\n '\\u022F': 'o',\n '\\u0231': 'o',\n '\\u00F6': 'o',\n '\\u022B': 'o',\n '\\u1ECF': 'o',\n '\\u0151': 'o',\n '\\u01D2': 'o',\n '\\u020D': 'o',\n '\\u020F': 'o',\n '\\u01A1': 'o',\n '\\u1EDD': 'o',\n '\\u1EDB': 'o',\n '\\u1EE1': 'o',\n '\\u1EDF': 'o',\n '\\u1EE3': 'o',\n '\\u1ECD': 'o',\n '\\u1ED9': 'o',\n '\\u01EB': 'o',\n '\\u01ED': 'o',\n '\\u00F8': 'o',\n '\\u01FF': 'o',\n '\\u0254': 'o',\n '\\uA74B': 'o',\n '\\uA74D': 'o',\n '\\u0275': 'o',\n '\\u01A3': 'oi',\n '\\u0223': 'ou',\n '\\uA74F': 'oo',\n '\\u24DF': 'p',\n '\\uFF50': 'p',\n '\\u1E55': 'p',\n '\\u1E57': 'p',\n '\\u01A5': 'p',\n '\\u1D7D': 'p',\n '\\uA751': 'p',\n '\\uA753': 'p',\n '\\uA755': 'p',\n '\\u24E0': 'q',\n '\\uFF51': 'q',\n '\\u024B': 'q',\n '\\uA757': 'q',\n '\\uA759': 'q',\n '\\u24E1': 'r',\n '\\uFF52': 'r',\n '\\u0155': 'r',\n '\\u1E59': 'r',\n '\\u0159': 'r',\n '\\u0211': 'r',\n '\\u0213': 'r',\n '\\u1E5B': 'r',\n '\\u1E5D': 'r',\n '\\u0157': 'r',\n '\\u1E5F': 'r',\n '\\u024D': 'r',\n '\\u027D': 'r',\n '\\uA75B': 'r',\n '\\uA7A7': 'r',\n '\\uA783': 'r',\n '\\u24E2': 's',\n '\\uFF53': 's',\n '\\u00DF': 's',\n '\\u015B': 's',\n '\\u1E65': 's',\n '\\u015D': 's',\n '\\u1E61': 's',\n '\\u0161': 's',\n '\\u1E67': 's',\n '\\u1E63': 's',\n '\\u1E69': 's',\n '\\u0219': 's',\n '\\u015F': 's',\n '\\u023F': 's',\n '\\uA7A9': 's',\n '\\uA785': 's',\n '\\u1E9B': 's',\n '\\u24E3': 't',\n '\\uFF54': 't',\n '\\u1E6B': 't',\n '\\u1E97': 't',\n '\\u0165': 't',\n '\\u1E6D': 't',\n '\\u021B': 't',\n '\\u0163': 't',\n '\\u1E71': 't',\n '\\u1E6F': 't',\n '\\u0167': 't',\n '\\u01AD': 't',\n '\\u0288': 't',\n '\\u2C66': 't',\n '\\uA787': 't',\n '\\uA729': 'tz',\n '\\u24E4': 'u',\n '\\uFF55': 'u',\n '\\u00F9': 'u',\n '\\u00FA': 'u',\n '\\u00FB': 'u',\n '\\u0169': 'u',\n '\\u1E79': 'u',\n '\\u016B': 'u',\n '\\u1E7B': 'u',\n '\\u016D': 'u',\n '\\u00FC': 'u',\n '\\u01DC': 'u',\n '\\u01D8': 'u',\n '\\u01D6': 'u',\n '\\u01DA': 'u',\n '\\u1EE7': 'u',\n '\\u016F': 'u',\n '\\u0171': 'u',\n '\\u01D4': 'u',\n '\\u0215': 'u',\n '\\u0217': 'u',\n '\\u01B0': 'u',\n '\\u1EEB': 'u',\n '\\u1EE9': 'u',\n '\\u1EEF': 'u',\n '\\u1EED': 'u',\n '\\u1EF1': 'u',\n '\\u1EE5': 'u',\n '\\u1E73': 'u',\n '\\u0173': 'u',\n '\\u1E77': 'u',\n '\\u1E75': 'u',\n '\\u0289': 'u',\n '\\u24E5': 'v',\n '\\uFF56': 'v',\n '\\u1E7D': 'v',\n '\\u1E7F': 'v',\n '\\u028B': 'v',\n '\\uA75F': 'v',\n '\\u028C': 'v',\n '\\uA761': 'vy',\n '\\u24E6': 'w',\n '\\uFF57': 'w',\n '\\u1E81': 'w',\n '\\u1E83': 'w',\n '\\u0175': 'w',\n '\\u1E87': 'w',\n '\\u1E85': 'w',\n '\\u1E98': 'w',\n '\\u1E89': 'w',\n '\\u2C73': 'w',\n '\\u24E7': 'x',\n '\\uFF58': 'x',\n '\\u1E8B': 'x',\n '\\u1E8D': 'x',\n '\\u24E8': 'y',\n '\\uFF59': 'y',\n '\\u1EF3': 'y',\n '\\u00FD': 'y',\n '\\u0177': 'y',\n '\\u1EF9': 'y',\n '\\u0233': 'y',\n '\\u1E8F': 'y',\n '\\u00FF': 'y',\n '\\u1EF7': 'y',\n '\\u1E99': 'y',\n '\\u1EF5': 'y',\n '\\u01B4': 'y',\n '\\u024F': 'y',\n '\\u1EFF': 'y',\n '\\u24E9': 'z',\n '\\uFF5A': 'z',\n '\\u017A': 'z',\n '\\u1E91': 'z',\n '\\u017C': 'z',\n '\\u017E': 'z',\n '\\u1E93': 'z',\n '\\u1E95': 'z',\n '\\u01B6': 'z',\n '\\u0225': 'z',\n '\\u0240': 'z',\n '\\u2C6C': 'z',\n '\\uA763': 'z',\n '\\u0386': '\\u0391',\n '\\u0388': '\\u0395',\n '\\u0389': '\\u0397',\n '\\u038A': '\\u0399',\n '\\u03AA': '\\u0399',\n '\\u038C': '\\u039F',\n '\\u038E': '\\u03A5',\n '\\u03AB': '\\u03A5',\n '\\u038F': '\\u03A9',\n '\\u03AC': '\\u03B1',\n '\\u03AD': '\\u03B5',\n '\\u03AE': '\\u03B7',\n '\\u03AF': '\\u03B9',\n '\\u03CA': '\\u03B9',\n '\\u0390': '\\u03B9',\n '\\u03CC': '\\u03BF',\n '\\u03CD': '\\u03C5',\n '\\u03CB': '\\u03C5',\n '\\u03B0': '\\u03C5',\n '\\u03C9': '\\u03C9',\n '\\u03C2': '\\u03C3'\n};\nfunction stripSpecialChars(text) {\n const match = (a) => diacritics[a] || a;\n return text.replace(/[^\\u0000-\\u007E]/g, match);\n}\n\nclass ItemsList {\n constructor(_ngSelect, _selectionModel) {\n this._ngSelect = _ngSelect;\n this._selectionModel = _selectionModel;\n this._items = [];\n this._filteredItems = [];\n this._markedIndex = -1;\n }\n get items() {\n return this._items;\n }\n get filteredItems() {\n return this._filteredItems;\n }\n get markedIndex() {\n return this._markedIndex;\n }\n get selectedItems() {\n return this._selectionModel.value;\n }\n get markedItem() {\n return this._filteredItems[this._markedIndex];\n }\n get noItemsToSelect() {\n return this._ngSelect.hideSelected && this._items.length === this.selectedItems.length;\n }\n get maxItemsSelected() {\n return this._ngSelect.multiple && this._ngSelect.maxSelectedItems <= this.selectedItems.length;\n }\n get lastSelectedItem() {\n let i = this.selectedItems.length - 1;\n for (; i >= 0; i--) {\n const item = this.selectedItems[i];\n if (!item.disabled) {\n return item;\n }\n }\n return null;\n }\n setItems(items) {\n this._items = items.map((item, index) => this.mapItem(item, index));\n if (this._ngSelect.groupBy) {\n this._groups = this._groupBy(this._items, this._ngSelect.groupBy);\n this._items = this._flatten(this._groups);\n }\n else {\n this._groups = new Map();\n this._groups.set(undefined, this._items);\n }\n this._filteredItems = [...this._items];\n }\n select(item) {\n if (item.selected || this.maxItemsSelected) {\n return;\n }\n const multiple = this._ngSelect.multiple;\n if (!multiple) {\n this.clearSelected();\n }\n this._selectionModel.select(item, multiple, this._ngSelect.selectableGroupAsModel);\n if (this._ngSelect.hideSelected) {\n this._hideSelected(item);\n }\n }\n unselect(item) {\n if (!item.selected) {\n return;\n }\n this._selectionModel.unselect(item, this._ngSelect.multiple);\n if (this._ngSelect.hideSelected && isDefined(item.index) && this._ngSelect.multiple) {\n this._showSelected(item);\n }\n }\n findItem(value) {\n let findBy;\n if (this._ngSelect.compareWith) {\n findBy = item => this._ngSelect.compareWith(item.value, value);\n }\n else if (this._ngSelect.bindValue) {\n findBy = item => !item.children && this.resolveNested(item.value, this._ngSelect.bindValue) === value;\n }\n else {\n findBy = item => item.value === value ||\n !item.children && item.label && item.label === this.resolveNested(value, this._ngSelect.bindLabel);\n }\n return this._items.find(item => findBy(item));\n }\n addItem(item) {\n const option = this.mapItem(item, this._items.length);\n this._items.push(option);\n this._filteredItems.push(option);\n return option;\n }\n clearSelected(keepDisabled = false) {\n this._selectionModel.clear(keepDisabled);\n this._items.forEach(item => {\n item.selected = keepDisabled && item.selected && item.disabled;\n item.marked = false;\n });\n if (this._ngSelect.hideSelected) {\n this.resetFilteredItems();\n }\n }\n findByLabel(term) {\n term = stripSpecialChars(term).toLocaleLowerCase();\n return this.filteredItems.find(item => {\n const label = stripSpecialChars(item.label).toLocaleLowerCase();\n return label.substr(0, term.length) === term;\n });\n }\n filter(term) {\n if (!term) {\n this.resetFilteredItems();\n return;\n }\n this._filteredItems = [];\n term = this._ngSelect.searchFn ? term : stripSpecialChars(term).toLocaleLowerCase();\n const match = this._ngSelect.searchFn || this._defaultSearchFn;\n const hideSelected = this._ngSelect.hideSelected;\n for (const key of Array.from(this._groups.keys())) {\n const matchedItems = [];\n for (const item of this._groups.get(key)) {\n if (hideSelected && (item.parent && item.parent.selected || item.selected)) {\n continue;\n }\n const searchItem = this._ngSelect.searchFn ? item.value : item;\n if (match(term, searchItem)) {\n matchedItems.push(item);\n }\n }\n if (matchedItems.length > 0) {\n const [last] = matchedItems.slice(-1);\n if (last.parent) {\n const head = this._items.find(x => x === last.parent);\n this._filteredItems.push(head);\n }\n this._filteredItems.push(...matchedItems);\n }\n }\n }\n resetFilteredItems() {\n if (this._filteredItems.length === this._items.length) {\n return;\n }\n if (this._ngSelect.hideSelected && this.selectedItems.length > 0) {\n this._filteredItems = this._items.filter(x => !x.selected);\n }\n else {\n this._filteredItems = this._items;\n }\n }\n unmarkItem() {\n this._markedIndex = -1;\n }\n markNextItem() {\n this._stepToItem(+1);\n }\n markPreviousItem() {\n this._stepToItem(-1);\n }\n markItem(item) {\n this._markedIndex = this._filteredItems.indexOf(item);\n }\n markSelectedOrDefault(markDefault) {\n if (this._filteredItems.length === 0) {\n return;\n }\n const lastMarkedIndex = this._getLastMarkedIndex();\n if (lastMarkedIndex > -1) {\n this._markedIndex = lastMarkedIndex;\n }\n else {\n this._markedIndex = markDefault ? this.filteredItems.findIndex(x => !x.disabled) : -1;\n }\n }\n resolveNested(option, key) {\n if (!isObject(option)) {\n return option;\n }\n if (key.indexOf('.') === -1) {\n return option[key];\n }\n else {\n const keys = key.split('.');\n let value = option;\n for (let i = 0, len = keys.length; i < len; ++i) {\n if (value == null) {\n return null;\n }\n value = value[keys[i]];\n }\n return value;\n }\n }\n mapItem(item, index) {\n const label = isDefined(item.$ngOptionLabel) ? item.$ngOptionLabel : this.resolveNested(item, this._ngSelect.bindLabel);\n const value = isDefined(item.$ngOptionValue) ? item.$ngOptionValue : item;\n return {\n index,\n label: isDefined(label) ? label.toString() : '',\n value,\n disabled: item.disabled,\n htmlId: `${this._ngSelect.dropdownId}-${index}`,\n };\n }\n mapSelectedItems() {\n const multiple = this._ngSelect.multiple;\n for (const selected of this.selectedItems) {\n const value = this._ngSelect.bindValue ? this.resolveNested(selected.value, this._ngSelect.bindValue) : selected.value;\n const item = isDefined(value) ? this.findItem(value) : null;\n this._selectionModel.unselect(selected, multiple);\n this._selectionModel.select(item || selected, multiple, this._ngSelect.selectableGroupAsModel);\n }\n if (this._ngSelect.hideSelected) {\n this._filteredItems = this.filteredItems.filter(x => this.selectedItems.indexOf(x) === -1);\n }\n }\n _showSelected(item) {\n this._filteredItems.push(item);\n if (item.parent) {\n const parent = item.parent;\n const parentExists = this._filteredItems.find(x => x === parent);\n if (!parentExists) {\n this._filteredItems.push(parent);\n }\n }\n else if (item.children) {\n for (const child of item.children) {\n child.selected = false;\n this._filteredItems.push(child);\n }\n }\n this._filteredItems = [...this._filteredItems.sort((a, b) => (a.index - b.index))];\n }\n _hideSelected(item) {\n this._filteredItems = this._filteredItems.filter(x => x !== item);\n if (item.parent) {\n const children = item.parent.children;\n if (children.every(x => x.selected)) {\n this._filteredItems = this._filteredItems.filter(x => x !== item.parent);\n }\n }\n else if (item.children) {\n this._filteredItems = this.filteredItems.filter(x => x.parent !== item);\n }\n }\n _defaultSearchFn(search, opt) {\n const label = stripSpecialChars(opt.label).toLocaleLowerCase();\n return label.indexOf(search) > -1;\n }\n _getNextItemIndex(steps) {\n if (steps > 0) {\n return (this._markedIndex >= this._filteredItems.length - 1) ? 0 : (this._markedIndex + 1);\n }\n return (this._markedIndex <= 0) ? (this._filteredItems.length - 1) : (this._markedIndex - 1);\n }\n _stepToItem(steps) {\n if (this._filteredItems.length === 0 || this._filteredItems.every(x => x.disabled)) {\n return;\n }\n this._markedIndex = this._getNextItemIndex(steps);\n if (this.markedItem.disabled) {\n this._stepToItem(steps);\n }\n }\n _getLastMarkedIndex() {\n if (this._ngSelect.hideSelected) {\n return -1;\n }\n if (this._markedIndex > -1 && this.markedItem === undefined) {\n return -1;\n }\n const selectedIndex = this._filteredItems.indexOf(this.lastSelectedItem);\n if (this.lastSelectedItem && selectedIndex < 0) {\n return -1;\n }\n return Math.max(this.markedIndex, selectedIndex);\n }\n _groupBy(items, prop) {\n const groups = new Map();\n if (items.length === 0) {\n return groups;\n }\n // Check if items are already grouped by given key.\n if (Array.isArray(items[0].value[prop])) {\n for (const item of items) {\n const children = (item.value[prop] || []).map((x, index) => this.mapItem(x, index));\n groups.set(item, children);\n }\n return groups;\n }\n const isFnKey = isFunction(this._ngSelect.groupBy);\n const keyFn = (item) => {\n const key = isFnKey ? prop(item.value) : item.value[prop];\n return isDefined(key) ? key : undefined;\n };\n // Group items by key.\n for (const item of items) {\n const key = keyFn(item);\n const group = groups.get(key);\n if (group) {\n group.push(item);\n }\n else {\n groups.set(key, [item]);\n }\n }\n return groups;\n }\n _flatten(groups) {\n const isGroupByFn = isFunction(this._ngSelect.groupBy);\n const items = [];\n for (const key of Array.from(groups.keys())) {\n let i = items.length;\n if (key === undefined) {\n const withoutGroup = groups.get(undefined) || [];\n items.push(...withoutGroup.map(x => {\n x.index = i++;\n return x;\n }));\n continue;\n }\n const isObjectKey = isObject(key);\n const parent = {\n label: isObjectKey ? '' : String(key),\n children: undefined,\n parent: null,\n index: i++,\n disabled: !this._ngSelect.selectableGroup,\n htmlId: newId(),\n };\n const groupKey = isGroupByFn ? this._ngSelect.bindLabel : this._ngSelect.groupBy;\n const groupValue = this._ngSelect.groupValue || (() => {\n if (isObjectKey) {\n return key.value;\n }\n return { [groupKey]: key };\n });\n const children = groups.get(key).map(x => {\n x.parent = parent;\n x.children = undefined;\n x.index = i++;\n return x;\n });\n parent.children = children;\n parent.value = groupValue(key, children.map(x => x.value));\n items.push(parent);\n items.push(...children);\n }\n return items;\n }\n}\n\nvar KeyCode;\n(function (KeyCode) {\n KeyCode[KeyCode[\"Tab\"] = 9] = \"Tab\";\n KeyCode[KeyCode[\"Enter\"] = 13] = \"Enter\";\n KeyCode[KeyCode[\"Esc\"] = 27] = \"Esc\";\n KeyCode[KeyCode[\"Space\"] = 32] = \"Space\";\n KeyCode[KeyCode[\"ArrowUp\"] = 38] = \"ArrowUp\";\n KeyCode[KeyCode[\"ArrowDown\"] = 40] = \"ArrowDown\";\n KeyCode[KeyCode[\"Backspace\"] = 8] = \"Backspace\";\n})(KeyCode || (KeyCode = {}));\n\nclass NgDropdownPanelService {\n constructor() {\n this._dimensions = {\n itemHeight: 0,\n panelHeight: 0,\n itemsPerViewport: 0\n };\n }\n get dimensions() {\n return this._dimensions;\n }\n calculateItems(scrollPos, itemsLength, buffer) {\n const d = this._dimensions;\n const scrollHeight = d.itemHeight * itemsLength;\n const scrollTop = Math.max(0, scrollPos);\n const indexByScrollTop = scrollTop / scrollHeight * itemsLength;\n let end = Math.min(itemsLength, Math.ceil(indexByScrollTop) + (d.itemsPerViewport + 1));\n const maxStartEnd = end;\n const maxStart = Math.max(0, maxStartEnd - d.itemsPerViewport);\n let start = Math.min(maxStart, Math.floor(indexByScrollTop));\n let topPadding = d.itemHeight * Math.ceil(start) - (d.itemHeight * Math.min(start, buffer));\n topPadding = !isNaN(topPadding) ? topPadding : 0;\n start = !isNaN(start) ? start : -1;\n end = !isNaN(end) ? end : -1;\n start -= buffer;\n start = Math.max(0, start);\n end += buffer;\n end = Math.min(itemsLength, end);\n return {\n topPadding,\n scrollHeight,\n start,\n end\n };\n }\n setDimensions(itemHeight, panelHeight) {\n const itemsPerViewport = Math.max(1, Math.floor(panelHeight / itemHeight));\n this._dimensions = {\n itemHeight,\n panelHeight,\n itemsPerViewport\n };\n }\n getScrollTo(itemTop, itemHeight, lastScroll) {\n const { panelHeight } = this.dimensions;\n const itemBottom = itemTop + itemHeight;\n const top = lastScroll;\n const bottom = top + panelHeight;\n if (panelHeight >= itemBottom && lastScroll === itemTop) {\n return null;\n }\n if (itemBottom > bottom) {\n return top + itemBottom - bottom;\n }\n else if (itemTop <= top) {\n return itemTop;\n }\n return null;\n }\n}\nNgDropdownPanelService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgDropdownPanelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgDropdownPanelService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgDropdownPanelService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgDropdownPanelService, decorators: [{\n type: Injectable\n }] });\n\nconst CSS_POSITIONS = ['top', 'right', 'bottom', 'left'];\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\nclass NgDropdownPanelComponent {\n constructor(_renderer, _zone, _panelService, _elementRef, _document) {\n this._renderer = _renderer;\n this._zone = _zone;\n this._panelService = _panelService;\n this._document = _document;\n this.items = [];\n this.position = 'auto';\n this.virtualScroll = false;\n this.filterValue = null;\n this.update = new EventEmitter();\n this.scroll = new EventEmitter();\n this.scrollToEnd = new EventEmitter();\n this.outsideClick = new EventEmitter();\n this._destroy$ = new Subject();\n this._scrollToEndFired = false;\n this._updateScrollHeight = false;\n this._lastScrollPosition = 0;\n this._dropdown = _elementRef.nativeElement;\n }\n get currentPosition() {\n return this._currentPosition;\n }\n get itemsLength() {\n return this._itemsLength;\n }\n set itemsLength(value) {\n if (value !== this._itemsLength) {\n this._itemsLength = value;\n this._onItemsLengthChanged();\n }\n }\n get _startOffset() {\n if (this.markedItem) {\n const { itemHeight, panelHeight } = this._panelService.dimensions;\n const offset = this.markedItem.index * itemHeight;\n return panelHeight > offset ? 0 : offset;\n }\n return 0;\n }\n ngOnInit() {\n this._select = this._dropdown.parentElement;\n this._virtualPadding = this.paddingElementRef.nativeElement;\n this._scrollablePanel = this.scrollElementRef.nativeElement;\n this._contentPanel = this.contentElementRef.nativeElement;\n this._handleScroll();\n this._handleOutsideClick();\n this._appendDropdown();\n this._setupMousedownListener();\n }\n ngOnChanges(changes) {\n if (changes.items) {\n const change = changes.items;\n this._onItemsChange(change.currentValue, change.firstChange);\n }\n }\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n this._destroy$.unsubscribe();\n if (this.appendTo) {\n this._renderer.removeChild(this._dropdown.parentNode, this._dropdown);\n }\n }\n scrollTo(option, startFromOption = false) {\n if (!option) {\n return;\n }\n const index = this.items.indexOf(option);\n if (index < 0 || index >= this.itemsLength) {\n return;\n }\n let scrollTo;\n if (this.virtualScroll) {\n const itemHeight = this._panelService.dimensions.itemHeight;\n scrollTo = this._panelService.getScrollTo(index * itemHeight, itemHeight, this._lastScrollPosition);\n }\n else {\n const item = this._dropdown.querySelector(`#${option.htmlId}`);\n const lastScroll = startFromOption ? item.offsetTop : this._lastScrollPosition;\n scrollTo = this._panelService.getScrollTo(item.offsetTop, item.clientHeight, lastScroll);\n }\n if (isDefined(scrollTo)) {\n this._scrollablePanel.scrollTop = scrollTo;\n }\n }\n scrollToTag() {\n const panel = this._scrollablePanel;\n panel.scrollTop = panel.scrollHeight - panel.clientHeight;\n }\n adjustPosition() {\n this._updateYPosition();\n }\n _handleDropdownPosition() {\n this._currentPosition = this._calculateCurrentPosition(this._dropdown);\n if (CSS_POSITIONS.includes(this._currentPosition)) {\n this._updateDropdownClass(this._currentPosition);\n }\n else {\n this._updateDropdownClass('bottom');\n }\n if (this.appendTo) {\n this._updateYPosition();\n }\n this._dropdown.style.opacity = '1';\n }\n _updateDropdownClass(currentPosition) {\n CSS_POSITIONS.forEach((position) => {\n const REMOVE_CSS_CLASS = `ng-select-${position}`;\n this._renderer.removeClass(this._dropdown, REMOVE_CSS_CLASS);\n this._renderer.removeClass(this._select, REMOVE_CSS_CLASS);\n });\n const ADD_CSS_CLASS = `ng-select-${currentPosition}`;\n this._renderer.addClass(this._dropdown, ADD_CSS_CLASS);\n this._renderer.addClass(this._select, ADD_CSS_CLASS);\n }\n _handleScroll() {\n this._zone.runOutsideAngular(() => {\n fromEvent(this.scrollElementRef.nativeElement, 'scroll')\n .pipe(takeUntil(this._destroy$), auditTime(0, SCROLL_SCHEDULER))\n .subscribe((e) => {\n const path = e.path || (e.composedPath && e.composedPath());\n const scrollTop = !path || path.length === 0 ? e.target.scrollTop : path[0].scrollTop;\n this._onContentScrolled(scrollTop);\n });\n });\n }\n _handleOutsideClick() {\n if (!this._document) {\n return;\n }\n this._zone.runOutsideAngular(() => {\n merge(fromEvent(this._document, 'touchstart', { capture: true }), fromEvent(this._document, 'mousedown', { capture: true })).pipe(takeUntil(this._destroy$))\n .subscribe($event => this._checkToClose($event));\n });\n }\n _checkToClose($event) {\n if (this._select.contains($event.target) || this._dropdown.contains($event.target)) {\n return;\n }\n const path = $event.path || ($event.composedPath && $event.composedPath());\n if ($event.target && $event.target.shadowRoot && path && path[0] && this._select.contains(path[0])) {\n return;\n }\n this._zone.run(() => this.outsideClick.emit());\n }\n _onItemsChange(items, firstChange) {\n this.items = items || [];\n this._scrollToEndFired = false;\n this.itemsLength = items.length;\n if (this.virtualScroll) {\n this._updateItemsRange(firstChange);\n }\n else {\n this._setVirtualHeight();\n this._updateItems(firstChange);\n }\n }\n _updateItems(firstChange) {\n this.update.emit(this.items);\n if (firstChange === false) {\n return;\n }\n this._zone.runOutsideAngular(() => {\n Promise.resolve().then(() => {\n const panelHeight = this._scrollablePanel.clientHeight;\n this._panelService.setDimensions(0, panelHeight);\n this._handleDropdownPosition();\n this.scrollTo(this.markedItem, firstChange);\n });\n });\n }\n _updateItemsRange(firstChange) {\n this._zone.runOutsideAngular(() => {\n this._measureDimensions().then(() => {\n if (firstChange) {\n this._renderItemsRange(this._startOffset);\n this._handleDropdownPosition();\n }\n else {\n this._renderItemsRange();\n }\n });\n });\n }\n _onContentScrolled(scrollTop) {\n if (this.virtualScroll) {\n this._renderItemsRange(scrollTop);\n }\n this._lastScrollPosition = scrollTop;\n this._fireScrollToEnd(scrollTop);\n }\n _updateVirtualHeight(height) {\n if (this._updateScrollHeight) {\n this._virtualPadding.style.height = `${height}px`;\n this._updateScrollHeight = false;\n }\n }\n _setVirtualHeight() {\n if (!this._virtualPadding) {\n return;\n }\n this._virtualPadding.style.height = `0px`;\n }\n _onItemsLengthChanged() {\n this._updateScrollHeight = true;\n }\n _renderItemsRange(scrollTop = null) {\n if (scrollTop && this._lastScrollPosition === scrollTop) {\n return;\n }\n scrollTop = scrollTop || this._scrollablePanel.scrollTop;\n const range = this._panelService.calculateItems(scrollTop, this.itemsLength, this.bufferAmount);\n this._updateVirtualHeight(range.scrollHeight);\n this._contentPanel.style.transform = `translateY(${range.topPadding}px)`;\n this._zone.run(() => {\n this.update.emit(this.items.slice(range.start, range.end));\n this.scroll.emit({ start: range.start, end: range.end });\n });\n if (isDefined(scrollTop) && this._lastScrollPosition === 0) {\n this._scrollablePanel.scrollTop = scrollTop;\n this._lastScrollPosition = scrollTop;\n }\n }\n _measureDimensions() {\n if (this._panelService.dimensions.itemHeight > 0 || this.itemsLength === 0) {\n return Promise.resolve(this._panelService.dimensions);\n }\n const [first] = this.items;\n this.update.emit([first]);\n return Promise.resolve().then(() => {\n const option = this._dropdown.querySelector(`#${first.htmlId}`);\n const optionHeight = option.clientHeight;\n this._virtualPadding.style.height = `${optionHeight * this.itemsLength}px`;\n const panelHeight = this._scrollablePanel.clientHeight;\n this._panelService.setDimensions(optionHeight, panelHeight);\n return this._panelService.dimensions;\n });\n }\n _fireScrollToEnd(scrollTop) {\n if (this._scrollToEndFired || scrollTop === 0) {\n return;\n }\n const padding = this.virtualScroll ?\n this._virtualPadding :\n this._contentPanel;\n if (scrollTop + this._dropdown.clientHeight >= padding.clientHeight - 1) {\n this._zone.run(() => this.scrollToEnd.emit());\n this._scrollToEndFired = true;\n }\n }\n _calculateCurrentPosition(dropdownEl) {\n if (this.position !== 'auto') {\n return this.position;\n }\n const selectRect = this._select.getBoundingClientRect();\n const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n const offsetTop = selectRect.top + window.pageYOffset;\n const height = selectRect.height;\n const dropdownHeight = dropdownEl.getBoundingClientRect().height;\n if (offsetTop + height + dropdownHeight > scrollTop + document.documentElement.clientHeight) {\n return 'top';\n }\n else {\n return 'bottom';\n }\n }\n _appendDropdown() {\n if (!this.appendTo) {\n return;\n }\n this._parent = document.querySelector(this.appendTo);\n if (!this._parent) {\n throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);\n }\n this._updateXPosition();\n this._parent.appendChild(this._dropdown);\n }\n _updateXPosition() {\n const select = this._select.getBoundingClientRect();\n const parent = this._parent.getBoundingClientRect();\n const offsetLeft = select.left - parent.left;\n this._dropdown.style.left = offsetLeft + 'px';\n this._dropdown.style.width = select.width + 'px';\n this._dropdown.style.minWidth = select.width + 'px';\n }\n _updateYPosition() {\n const select = this._select.getBoundingClientRect();\n const parent = this._parent.getBoundingClientRect();\n const delta = select.height;\n if (this._currentPosition === 'top') {\n const offsetBottom = parent.bottom - select.bottom;\n this._dropdown.style.bottom = offsetBottom + delta + 'px';\n this._dropdown.style.top = 'auto';\n }\n else if (this._currentPosition === 'bottom') {\n const offsetTop = select.top - parent.top;\n this._dropdown.style.top = offsetTop + delta + 'px';\n this._dropdown.style.bottom = 'auto';\n }\n }\n _setupMousedownListener() {\n this._zone.runOutsideAngular(() => {\n fromEvent(this._dropdown, 'mousedown')\n .pipe(takeUntil(this._destroy$))\n .subscribe((event) => {\n const target = event.target;\n if (target.tagName === 'INPUT') {\n return;\n }\n event.preventDefault();\n });\n });\n }\n}\nNgDropdownPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgDropdownPanelComponent, deps: [{ token: i0.Renderer2 }, { token: i0.NgZone }, { token: NgDropdownPanelService }, { token: i0.ElementRef }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nNgDropdownPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgDropdownPanelComponent, selector: \"ng-dropdown-panel\", inputs: { items: \"items\", markedItem: \"markedItem\", position: \"position\", appendTo: \"appendTo\", bufferAmount: \"bufferAmount\", virtualScroll: \"virtualScroll\", headerTemplate: \"headerTemplate\", footerTemplate: \"footerTemplate\", filterValue: \"filterValue\" }, outputs: { update: \"update\", scroll: \"scroll\", scrollToEnd: \"scrollToEnd\", outsideClick: \"outsideClick\" }, viewQueries: [{ propertyName: \"contentElementRef\", first: true, predicate: [\"content\"], descendants: true, read: ElementRef, static: true }, { propertyName: \"scrollElementRef\", first: true, predicate: [\"scroll\"], descendants: true, read: ElementRef, static: true }, { propertyName: \"paddingElementRef\", first: true, predicate: [\"padding\"], descendants: true, read: ElementRef, static: true }], usesOnChanges: true, ngImport: i0, template: `\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n `, isInline: true, directives: [{ type: i4.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i4.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgDropdownPanelComponent, decorators: [{\n type: Component,\n args: [{\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'ng-dropdown-panel',\n template: `\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n `\n }]\n }], ctorParameters: function () {\n return [{ type: i0.Renderer2 }, { type: i0.NgZone }, { type: NgDropdownPanelService }, { type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }];\n }, propDecorators: { items: [{\n type: Input\n }], markedItem: [{\n type: Input\n }], position: [{\n type: Input\n }], appendTo: [{\n type: Input\n }], bufferAmount: [{\n type: Input\n }], virtualScroll: [{\n type: Input\n }], headerTemplate: [{\n type: Input\n }], footerTemplate: [{\n type: Input\n }], filterValue: [{\n type: Input\n }], update: [{\n type: Output\n }], scroll: [{\n type: Output\n }], scrollToEnd: [{\n type: Output\n }], outsideClick: [{\n type: Output\n }], contentElementRef: [{\n type: ViewChild,\n args: ['content', { read: ElementRef, static: true }]\n }], scrollElementRef: [{\n type: ViewChild,\n args: ['scroll', { read: ElementRef, static: true }]\n }], paddingElementRef: [{\n type: ViewChild,\n args: ['padding', { read: ElementRef, static: true }]\n }] } });\n\nclass NgOptionComponent {\n constructor(elementRef) {\n this.elementRef = elementRef;\n this.stateChange$ = new Subject();\n this._disabled = false;\n }\n get disabled() { return this._disabled; }\n set disabled(value) { this._disabled = this._isDisabled(value); }\n get label() {\n return (this.elementRef.nativeElement.textContent || '').trim();\n }\n ngOnChanges(changes) {\n if (changes.disabled) {\n this.stateChange$.next({\n value: this.value,\n disabled: this._disabled\n });\n }\n }\n ngAfterViewChecked() {\n if (this.label !== this._previousLabel) {\n this._previousLabel = this.label;\n this.stateChange$.next({\n value: this.value,\n disabled: this._disabled,\n label: this.elementRef.nativeElement.innerHTML\n });\n }\n }\n ngOnDestroy() {\n this.stateChange$.complete();\n }\n _isDisabled(value) {\n return value != null && `${value}` !== 'false';\n }\n}\nNgOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgOptionComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });\nNgOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgOptionComponent, selector: \"ng-option\", inputs: { value: \"value\", disabled: \"disabled\" }, usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgOptionComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'ng-option',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ``\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { value: [{\n type: Input\n }], disabled: [{\n type: Input\n }] } });\n\nclass NgSelectConfig {\n constructor() {\n this.notFoundText = 'No items found';\n this.typeToSearchText = 'Type to search';\n this.addTagText = 'Add item';\n this.loadingText = 'Loading...';\n this.clearAllText = 'Clear all';\n this.disableVirtualScroll = true;\n this.openOnEnter = true;\n this.appearance = 'underline';\n }\n}\nNgSelectConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgSelectConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgSelectConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgSelectConfig, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgSelectConfig, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\nclass ConsoleService {\n warn(message) {\n console.warn(message);\n }\n}\nConsoleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: ConsoleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nConsoleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: ConsoleService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: ConsoleService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\nconst SELECTION_MODEL_FACTORY = new InjectionToken('ng-select-selection-model');\nclass NgSelectComponent {\n constructor(classes, autoFocus, config, newSelectionModel, _elementRef, _cd, _console) {\n this.classes = classes;\n this.autoFocus = autoFocus;\n this.config = config;\n this._cd = _cd;\n this._console = _console;\n this.markFirst = true;\n this.dropdownPosition = 'auto';\n this.loading = false;\n this.closeOnSelect = true;\n this.hideSelected = false;\n this.selectOnTab = false;\n this.bufferAmount = 4;\n this.selectableGroup = false;\n this.selectableGroupAsModel = true;\n this.searchFn = null;\n this.trackByFn = null;\n this.clearOnBackspace = true;\n this.labelForId = null;\n this.inputAttrs = {};\n this.readonly = false;\n this.searchWhileComposing = true;\n this.minTermLength = 0;\n this.editableSearchTerm = false;\n this.keyDownFn = (_) => true;\n this.multiple = false;\n this.addTag = false;\n this.searchable = true;\n this.clearable = true;\n this.isOpen = false;\n // output events\n this.blurEvent = new EventEmitter();\n this.focusEvent = new EventEmitter();\n this.changeEvent = new EventEmitter();\n this.openEvent = new EventEmitter();\n this.closeEvent = new EventEmitter();\n this.searchEvent = new EventEmitter();\n this.clearEvent = new EventEmitter();\n this.addEvent = new EventEmitter();\n this.removeEvent = new EventEmitter();\n this.scroll = new EventEmitter();\n this.scrollToEnd = new EventEmitter();\n this.useDefaultClass = true;\n this.viewPortItems = [];\n this.searchTerm = null;\n this.dropdownId = newId();\n this.escapeHTML = true;\n this._items = [];\n this._defaultLabel = 'label';\n this._pressedKeys = [];\n this._isComposing = false;\n this._destroy$ = new Subject();\n this._keyPress$ = new Subject();\n this._onChange = (_) => { };\n this._onTouched = () => { };\n this.clearItem = (item) => {\n const option = this.selectedItems.find(x => x.value === item);\n this.unselect(option);\n };\n this.trackByOption = (_, item) => {\n if (this.trackByFn) {\n return this.trackByFn(item.value);\n }\n return item;\n };\n this._mergeGlobalConfig(config);\n this.itemsList = new ItemsList(this, newSelectionModel());\n this.element = _elementRef.nativeElement;\n }\n get items() { return this._items; }\n ;\n set items(value) {\n if (value === null) {\n value = [];\n }\n this._itemsAreUsed = true;\n this._items = value;\n }\n ;\n get compareWith() { return this._compareWith; }\n set compareWith(fn) {\n if (fn !== undefined && fn !== null && !isFunction(fn)) {\n throw Error('`compareWith` must be a function.');\n }\n this._compareWith = fn;\n }\n get clearSearchOnAdd() {\n if (isDefined(this._clearSearchOnAdd)) {\n return this._clearSearchOnAdd;\n }\n else if (isDefined(this.config.clearSearchOnAdd)) {\n return this.config.clearSearchOnAdd;\n }\n return this.closeOnSelect;\n }\n ;\n set clearSearchOnAdd(value) {\n this._clearSearchOnAdd = value;\n }\n ;\n get disabled() { return this.readonly || this._disabled; }\n ;\n get filtered() { return (!!this.searchTerm && this.searchable || this._isComposing); }\n ;\n get single() { return !this.multiple; }\n ;\n get _editableSearchTerm() {\n return this.editableSearchTerm && !this.multiple;\n }\n get selectedItems() {\n return this.itemsList.selectedItems;\n }\n get selectedValues() {\n return this.selectedItems.map(x => x.value);\n }\n get hasValue() {\n return this.selectedItems.length > 0;\n }\n get currentPanelPosition() {\n if (this.dropdownPanel) {\n return this.dropdownPanel.currentPosition;\n }\n return undefined;\n }\n ngOnInit() {\n this._handleKeyPresses();\n this._setInputAttributes();\n }\n ngOnChanges(changes) {\n if (changes.multiple) {\n this.itemsList.clearSelected();\n }\n if (changes.items) {\n this._setItems(changes.items.currentValue || []);\n }\n if (changes.isOpen) {\n this._manualOpen = isDefined(changes.isOpen.currentValue);\n }\n }\n ngAfterViewInit() {\n if (!this._itemsAreUsed) {\n this.escapeHTML = false;\n this._setItemsFromNgOptions();\n }\n if (isDefined(this.autoFocus)) {\n this.focus();\n }\n }\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n handleKeyDown($event) {\n const keyCode = KeyCode[$event.which];\n if (keyCode) {\n if (this.keyDownFn($event) === false) {\n return;\n }\n this.handleKeyCode($event);\n }\n else if ($event.key && $event.key.length === 1) {\n this._keyPress$.next($event.key.toLocaleLowerCase());\n }\n }\n handleKeyCode($event) {\n switch ($event.which) {\n case KeyCode.ArrowDown:\n this._handleArrowDown($event);\n break;\n case KeyCode.ArrowUp:\n this._handleArrowUp($event);\n break;\n case KeyCode.Space:\n this._handleSpace($event);\n break;\n case KeyCode.Enter:\n this._handleEnter($event);\n break;\n case KeyCode.Tab:\n this._handleTab($event);\n break;\n case KeyCode.Esc:\n this.close();\n $event.preventDefault();\n break;\n case KeyCode.Backspace:\n this._handleBackspace();\n break;\n }\n }\n handleMousedown($event) {\n const target = $event.target;\n if (target.tagName !== 'INPUT') {\n $event.preventDefault();\n }\n if (target.classList.contains('ng-clear-wrapper')) {\n this.handleClearClick();\n return;\n }\n if (target.classList.contains('ng-arrow-wrapper')) {\n this.handleArrowClick();\n return;\n }\n if (target.classList.contains('ng-value-icon')) {\n return;\n }\n if (!this.focused) {\n this.focus();\n }\n if (this.searchable) {\n this.open();\n }\n else {\n this.toggle();\n }\n }\n handleArrowClick() {\n if (this.isOpen) {\n this.close();\n }\n else {\n this.open();\n }\n }\n handleClearClick() {\n if (this.hasValue) {\n this.itemsList.clearSelected(true);\n this._updateNgModel();\n }\n this._clearSearch();\n this.focus();\n this.clearEvent.emit();\n this._onSelectionChanged();\n }\n clearModel() {\n if (!this.clearable) {\n return;\n }\n this.itemsList.clearSelected();\n this._updateNgModel();\n }\n writeValue(value) {\n this.itemsList.clearSelected();\n this._handleWriteValue(value);\n this._cd.markForCheck();\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n setDisabledState(state) {\n this._disabled = state;\n this._cd.markForCheck();\n }\n toggle() {\n if (!this.isOpen) {\n this.open();\n }\n else {\n this.close();\n }\n }\n open() {\n if (this.disabled || this.isOpen || this._manualOpen) {\n return;\n }\n if (!this._isTypeahead && !this.addTag && this.itemsList.noItemsToSelect) {\n return;\n }\n this.isOpen = true;\n this.itemsList.markSelectedOrDefault(this.markFirst);\n this.openEvent.emit();\n if (!this.searchTerm) {\n this.focus();\n }\n this.detectChanges();\n }\n close() {\n if (!this.isOpen || this._manualOpen) {\n return;\n }\n this.isOpen = false;\n this._isComposing = false;\n if (!this._editableSearchTerm) {\n this._clearSearch();\n }\n else {\n this.itemsList.resetFilteredItems();\n }\n this.itemsList.unmarkItem();\n this._onTouched();\n this.closeEvent.emit();\n this._cd.markForCheck();\n }\n toggleItem(item) {\n if (!item || item.disabled || this.disabled) {\n return;\n }\n if (this.multiple && item.selected) {\n this.unselect(item);\n }\n else {\n this.select(item);\n }\n if (this._editableSearchTerm) {\n this._setSearchTermFromItems();\n }\n this._onSelectionChanged();\n }\n select(item) {\n if (!item.selected) {\n this.itemsList.select(item);\n if (this.clearSearchOnAdd && !this._editableSearchTerm) {\n this._clearSearch();\n }\n this._updateNgModel();\n if (this.multiple) {\n this.addEvent.emit(item.value);\n }\n }\n if (this.closeOnSelect || this.itemsList.noItemsToSelect) {\n this.close();\n }\n }\n focus() {\n this.searchInput.nativeElement.focus();\n }\n blur() {\n this.searchInput.nativeElement.blur();\n }\n unselect(item) {\n if (!item) {\n return;\n }\n this.itemsList.unselect(item);\n this.focus();\n this._updateNgModel();\n this.removeEvent.emit(item);\n }\n selectTag() {\n let tag;\n if (isFunction(this.addTag)) {\n tag = this.addTag(this.searchTerm);\n }\n else {\n tag = this._primitive ? this.searchTerm : { [this.bindLabel]: this.searchTerm };\n }\n const handleTag = (item) => this._isTypeahead || !this.isOpen ? this.itemsList.mapItem(item, null) : this.itemsList.addItem(item);\n if (isPromise(tag)) {\n tag.then(item => this.select(handleTag(item))).catch(() => { });\n }\n else if (tag) {\n this.select(handleTag(tag));\n }\n }\n showClear() {\n return this.clearable && (this.hasValue || this.searchTerm) && !this.disabled;\n }\n get showAddTag() {\n if (!this._validTerm) {\n return false;\n }\n const term = this.searchTerm.toLowerCase().trim();\n return this.addTag &&\n (!this.itemsList.filteredItems.some(x => x.label.toLowerCase() === term) &&\n (!this.hideSelected && this.isOpen || !this.selectedItems.some(x => x.label.toLowerCase() === term))) &&\n !this.loading;\n }\n showNoItemsFound() {\n const empty = this.itemsList.filteredItems.length === 0;\n return ((empty && !this._isTypeahead && !this.loading) ||\n (empty && this._isTypeahead && this._validTerm && !this.loading)) &&\n !this.showAddTag;\n }\n showTypeToSearch() {\n const empty = this.itemsList.filteredItems.length === 0;\n return empty && this._isTypeahead && !this._validTerm && !this.loading;\n }\n onCompositionStart() {\n this._isComposing = true;\n }\n onCompositionEnd(term) {\n this._isComposing = false;\n if (this.searchWhileComposing) {\n return;\n }\n this.filter(term);\n }\n filter(term) {\n if (this._isComposing && !this.searchWhileComposing) {\n return;\n }\n this.searchTerm = term;\n if (this._isTypeahead && (this._validTerm || this.minTermLength === 0)) {\n this.typeahead.next(term);\n }\n if (!this._isTypeahead) {\n this.itemsList.filter(this.searchTerm);\n if (this.isOpen) {\n this.itemsList.markSelectedOrDefault(this.markFirst);\n }\n }\n this.searchEvent.emit({ term, items: this.itemsList.filteredItems.map(x => x.value) });\n this.open();\n }\n onInputFocus($event) {\n if (this.focused) {\n return;\n }\n if (this._editableSearchTerm) {\n this._setSearchTermFromItems();\n }\n this.element.classList.add('ng-select-focused');\n this.focusEvent.emit($event);\n this.focused = true;\n }\n onInputBlur($event) {\n this.element.classList.remove('ng-select-focused');\n this.blurEvent.emit($event);\n if (!this.isOpen && !this.disabled) {\n this._onTouched();\n }\n if (this._editableSearchTerm) {\n this._setSearchTermFromItems();\n }\n this.focused = false;\n }\n onItemHover(item) {\n if (item.disabled) {\n return;\n }\n this.itemsList.markItem(item);\n }\n detectChanges() {\n if (!this._cd.destroyed) {\n this._cd.detectChanges();\n }\n }\n _setSearchTermFromItems() {\n const selected = this.selectedItems && this.selectedItems[0];\n this.searchTerm = (selected && selected.label) || null;\n }\n _setItems(items) {\n const firstItem = items[0];\n this.bindLabel = this.bindLabel || this._defaultLabel;\n this._primitive = isDefined(firstItem) ? !isObject(firstItem) : this._primitive || this.bindLabel === this._defaultLabel;\n this.itemsList.setItems(items);\n if (items.length > 0 && this.hasValue) {\n this.itemsList.mapSelectedItems();\n }\n if (this.isOpen && isDefined(this.searchTerm) && !this._isTypeahead) {\n this.itemsList.filter(this.searchTerm);\n }\n if (this._isTypeahead || this.isOpen) {\n this.itemsList.markSelectedOrDefault(this.markFirst);\n }\n }\n _setItemsFromNgOptions() {\n const mapNgOptions = (options) => {\n this.items = options.map(option => ({\n $ngOptionValue: option.value,\n $ngOptionLabel: option.elementRef.nativeElement.innerHTML,\n disabled: option.disabled\n }));\n this.itemsList.setItems(this.items);\n if (this.hasValue) {\n this.itemsList.mapSelectedItems();\n }\n this.detectChanges();\n };\n const handleOptionChange = () => {\n const changedOrDestroyed = merge(this.ngOptions.changes, this._destroy$);\n merge(...this.ngOptions.map(option => option.stateChange$))\n .pipe(takeUntil(changedOrDestroyed))\n .subscribe(option => {\n const item = this.itemsList.findItem(option.value);\n item.disabled = option.disabled;\n item.label = option.label || item.label;\n this._cd.detectChanges();\n });\n };\n this.ngOptions.changes\n .pipe(startWith(this.ngOptions), takeUntil(this._destroy$))\n .subscribe(options => {\n this.bindLabel = this._defaultLabel;\n mapNgOptions(options);\n handleOptionChange();\n });\n }\n _isValidWriteValue(value) {\n if (!isDefined(value) || (this.multiple && value === '') || Array.isArray(value) && value.length === 0) {\n return false;\n }\n const validateBinding = (item) => {\n if (!isDefined(this.compareWith) && isObject(item) && this.bindValue) {\n this._console.warn(`Setting object(${JSON.stringify(item)}) as your model with bindValue is not allowed unless [compareWith] is used.`);\n return false;\n }\n return true;\n };\n if (this.multiple) {\n if (!Array.isArray(value)) {\n this._console.warn('Multiple select ngModel should be array.');\n return false;\n }\n return value.every(item => validateBinding(item));\n }\n else {\n return validateBinding(value);\n }\n }\n _handleWriteValue(ngModel) {\n if (!this._isValidWriteValue(ngModel)) {\n return;\n }\n const select = (val) => {\n let item = this.itemsList.findItem(val);\n if (item) {\n this.itemsList.select(item);\n }\n else {\n const isValObject = isObject(val);\n const isPrimitive = !isValObject && !this.bindValue;\n if ((isValObject || isPrimitive)) {\n this.itemsList.select(this.itemsList.mapItem(val, null));\n }\n else if (this.bindValue) {\n item = {\n [this.bindLabel]: null,\n [this.bindValue]: val\n };\n this.itemsList.select(this.itemsList.mapItem(item, null));\n }\n }\n };\n if (this.multiple) {\n ngModel.forEach(item => select(item));\n }\n else {\n select(ngModel);\n }\n }\n _handleKeyPresses() {\n if (this.searchable) {\n return;\n }\n this._keyPress$\n .pipe(takeUntil(this._destroy$), tap(letter => this._pressedKeys.push(letter)), debounceTime(200), filter(() => this._pressedKeys.length > 0), map(() => this._pressedKeys.join('')))\n .subscribe(term => {\n const item = this.itemsList.findByLabel(term);\n if (item) {\n if (this.isOpen) {\n this.itemsList.markItem(item);\n this._scrollToMarked();\n this._cd.markForCheck();\n }\n else {\n this.select(item);\n }\n }\n this._pressedKeys = [];\n });\n }\n _setInputAttributes() {\n const input = this.searchInput.nativeElement;\n const attributes = Object.assign({ type: 'text', autocorrect: 'off', autocapitalize: 'off', autocomplete: this.labelForId ? 'off' : this.dropdownId }, this.inputAttrs);\n for (const key of Object.keys(attributes)) {\n input.setAttribute(key, attributes[key]);\n }\n }\n _updateNgModel() {\n const model = [];\n for (const item of this.selectedItems) {\n if (this.bindValue) {\n let value = null;\n if (item.children) {\n const groupKey = this.groupValue ? this.bindValue : this.groupBy;\n value = item.value[groupKey || this.groupBy];\n }\n else {\n value = this.itemsList.resolveNested(item.value, this.bindValue);\n }\n model.push(value);\n }\n else {\n model.push(item.value);\n }\n }\n const selected = this.selectedItems.map(x => x.value);\n if (this.multiple) {\n this._onChange(model);\n this.changeEvent.emit(selected);\n }\n else {\n this._onChange(isDefined(model[0]) ? model[0] : null);\n this.changeEvent.emit(selected[0]);\n }\n this._cd.markForCheck();\n }\n _clearSearch() {\n if (!this.searchTerm) {\n return;\n }\n this._changeSearch(null);\n this.itemsList.resetFilteredItems();\n }\n _changeSearch(searchTerm) {\n this.searchTerm = searchTerm;\n if (this._isTypeahead) {\n this.typeahead.next(searchTerm);\n }\n }\n _scrollToMarked() {\n if (!this.isOpen || !this.dropdownPanel) {\n return;\n }\n this.dropdownPanel.scrollTo(this.itemsList.markedItem);\n }\n _scrollToTag() {\n if (!this.isOpen || !this.dropdownPanel) {\n return;\n }\n this.dropdownPanel.scrollToTag();\n }\n _onSelectionChanged() {\n if (this.isOpen && this.multiple && this.appendTo) {\n // Make sure items are rendered.\n this._cd.detectChanges();\n this.dropdownPanel.adjustPosition();\n }\n }\n _handleTab($event) {\n if (this.isOpen === false && !this.addTag) {\n return;\n }\n if (this.selectOnTab) {\n if (this.itemsList.markedItem) {\n this.toggleItem(this.itemsList.markedItem);\n $event.preventDefault();\n }\n else if (this.showAddTag) {\n this.selectTag();\n $event.preventDefault();\n }\n else {\n this.close();\n }\n }\n else {\n this.close();\n }\n }\n _handleEnter($event) {\n if (this.isOpen || this._manualOpen) {\n if (this.itemsList.markedItem) {\n this.toggleItem(this.itemsList.markedItem);\n }\n else if (this.showAddTag) {\n this.selectTag();\n }\n }\n else if (this.openOnEnter) {\n this.open();\n }\n else {\n return;\n }\n $event.preventDefault();\n }\n _handleSpace($event) {\n if (this.isOpen || this._manualOpen) {\n return;\n }\n this.open();\n $event.preventDefault();\n }\n _handleArrowDown($event) {\n if (this._nextItemIsTag(+1)) {\n this.itemsList.unmarkItem();\n this._scrollToTag();\n }\n else {\n this.itemsList.markNextItem();\n this._scrollToMarked();\n }\n this.open();\n $event.preventDefault();\n }\n _handleArrowUp($event) {\n if (!this.isOpen) {\n return;\n }\n if (this._nextItemIsTag(-1)) {\n this.itemsList.unmarkItem();\n this._scrollToTag();\n }\n else {\n this.itemsList.markPreviousItem();\n this._scrollToMarked();\n }\n $event.preventDefault();\n }\n _nextItemIsTag(nextStep) {\n const nextIndex = this.itemsList.markedIndex + nextStep;\n return this.addTag && this.searchTerm\n && this.itemsList.markedItem\n && (nextIndex < 0 || nextIndex === this.itemsList.filteredItems.length);\n }\n _handleBackspace() {\n if (this.searchTerm || !this.clearable || !this.clearOnBackspace || !this.hasValue) {\n return;\n }\n if (this.multiple) {\n this.unselect(this.itemsList.lastSelectedItem);\n }\n else {\n this.clearModel();\n }\n }\n get _isTypeahead() {\n return this.typeahead && this.typeahead.observers.length > 0;\n }\n get _validTerm() {\n const term = this.searchTerm && this.searchTerm.trim();\n return term && term.length >= this.minTermLength;\n }\n _mergeGlobalConfig(config) {\n this.placeholder = this.placeholder || config.placeholder;\n this.notFoundText = this.notFoundText || config.notFoundText;\n this.typeToSearchText = this.typeToSearchText || config.typeToSearchText;\n this.addTagText = this.addTagText || config.addTagText;\n this.loadingText = this.loadingText || config.loadingText;\n this.clearAllText = this.clearAllText || config.clearAllText;\n this.virtualScroll = isDefined(this.virtualScroll)\n ? this.virtualScroll\n : isDefined(config.disableVirtualScroll) ? !config.disableVirtualScroll : false;\n this.openOnEnter = isDefined(this.openOnEnter) ? this.openOnEnter : config.openOnEnter;\n this.appendTo = this.appendTo || config.appendTo;\n this.bindValue = this.bindValue || config.bindValue;\n this.bindLabel = this.bindLabel || config.bindLabel;\n this.appearance = this.appearance || config.appearance;\n }\n}\nNgSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgSelectComponent, deps: [{ token: 'class', attribute: true }, { token: 'autofocus', attribute: true }, { token: NgSelectConfig }, { token: SELECTION_MODEL_FACTORY }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: ConsoleService }], target: i0.ɵɵFactoryTarget.Component });\nNgSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.0.3\", type: NgSelectComponent, selector: \"ng-select\", inputs: { bindLabel: \"bindLabel\", bindValue: \"bindValue\", markFirst: \"markFirst\", placeholder: \"placeholder\", notFoundText: \"notFoundText\", typeToSearchText: \"typeToSearchText\", addTagText: \"addTagText\", loadingText: \"loadingText\", clearAllText: \"clearAllText\", appearance: \"appearance\", dropdownPosition: \"dropdownPosition\", appendTo: \"appendTo\", loading: \"loading\", closeOnSelect: \"closeOnSelect\", hideSelected: \"hideSelected\", selectOnTab: \"selectOnTab\", openOnEnter: \"openOnEnter\", maxSelectedItems: \"maxSelectedItems\", groupBy: \"groupBy\", groupValue: \"groupValue\", bufferAmount: \"bufferAmount\", virtualScroll: \"virtualScroll\", selectableGroup: \"selectableGroup\", selectableGroupAsModel: \"selectableGroupAsModel\", searchFn: \"searchFn\", trackByFn: \"trackByFn\", clearOnBackspace: \"clearOnBackspace\", labelForId: \"labelForId\", inputAttrs: \"inputAttrs\", tabIndex: \"tabIndex\", readonly: \"readonly\", searchWhileComposing: \"searchWhileComposing\", minTermLength: \"minTermLength\", editableSearchTerm: \"editableSearchTerm\", keyDownFn: \"keyDownFn\", typeahead: \"typeahead\", multiple: \"multiple\", addTag: \"addTag\", searchable: \"searchable\", clearable: \"clearable\", isOpen: \"isOpen\", items: \"items\", compareWith: \"compareWith\", clearSearchOnAdd: \"clearSearchOnAdd\" }, outputs: { blurEvent: \"blur\", focusEvent: \"focus\", changeEvent: \"change\", openEvent: \"open\", closeEvent: \"close\", searchEvent: \"search\", clearEvent: \"clear\", addEvent: \"add\", removeEvent: \"remove\", scroll: \"scroll\", scrollToEnd: \"scrollToEnd\" }, host: { listeners: { \"keydown\": \"handleKeyDown($event)\" }, properties: { \"class.ng-select-typeahead\": \"this.typeahead\", \"class.ng-select-multiple\": \"this.multiple\", \"class.ng-select-taggable\": \"this.addTag\", \"class.ng-select-searchable\": \"this.searchable\", \"class.ng-select-clearable\": \"this.clearable\", \"class.ng-select-opened\": \"this.isOpen\", \"class.ng-select\": \"this.useDefaultClass\", \"class.ng-select-disabled\": \"this.disabled\", \"class.ng-select-filtered\": \"this.filtered\", \"class.ng-select-single\": \"this.single\" } }, providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgSelectComponent),\n multi: true\n }, NgDropdownPanelService], queries: [{ propertyName: \"optionTemplate\", first: true, predicate: NgOptionTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"optgroupTemplate\", first: true, predicate: NgOptgroupTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"labelTemplate\", first: true, predicate: NgLabelTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"multiLabelTemplate\", first: true, predicate: NgMultiLabelTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"headerTemplate\", first: true, predicate: NgHeaderTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"footerTemplate\", first: true, predicate: NgFooterTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"notFoundTemplate\", first: true, predicate: NgNotFoundTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"typeToSearchTemplate\", first: true, predicate: NgTypeToSearchTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"loadingTextTemplate\", first: true, predicate: NgLoadingTextTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"tagTemplate\", first: true, predicate: NgTagTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"loadingSpinnerTemplate\", first: true, predicate: NgLoadingSpinnerTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"ngOptions\", predicate: NgOptionComponent, descendants: true }], viewQueries: [{ propertyName: \"dropdownPanel\", first: true, predicate: i0.forwardRef(function () { return NgDropdownPanelComponent; }), descendants: true }, { propertyName: \"searchInput\", first: true, predicate: [\"searchInput\"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: \"\\n\\n
\\n
{{placeholder}}
\\n\\n 0\\\">\\n
\\n \\n \\u00D7\\n \\n \\n\\n \\n \\n
\\n
\\n\\n 0\\\"\\n [ngTemplateOutlet]=\\\"multiLabelTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ items: selectedValues, clear: clearItem }\\\">\\n \\n\\n
\\n\\n \\n
\\n
\\n\\n \\n \\n
\\n
\\n\\n \\n \\n
\\n\\n \\n \\u00D7\\n \\n\\n \\n \\n \\n\\n\\n\\n\\n \\n
\\n\\n \\n \\n \\n\\n \\n \\n
\\n\\n
\\n \\n {{addTagText}}\\\"{{searchTerm}}\\\"\\n \\n\\n \\n \\n
\\n
\\n\\n \\n \\n
{{notFoundText}}
\\n
\\n\\n \\n \\n
\\n\\n \\n \\n
{{typeToSearchText}}
\\n
\\n\\n \\n \\n
\\n\\n \\n \\n
{{loadingText}}
\\n
\\n\\n \\n \\n
\\n\\n
\\n\", styles: [\"@charset \\\"UTF-8\\\";.ng-select{position:relative;display:block;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:flex;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none transparent;border:0 none;box-shadow:none;outline:none;padding:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:none;user-select:none;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;transform:translateZ(0);animation:load8 .8s infinite linear}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@keyframes load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label:empty:before{content:\\\"\\\\200b\\\"}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0}\\n\"], components: [{ type: NgDropdownPanelComponent, selector: \"ng-dropdown-panel\", inputs: [\"items\", \"markedItem\", \"position\", \"appendTo\", \"bufferAmount\", \"virtualScroll\", \"headerTemplate\", \"footerTemplate\", \"filterValue\"], outputs: [\"update\", \"scroll\", \"scrollToEnd\", \"outsideClick\"] }], directives: [{ type: i4.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i4.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { type: NgItemLabelDirective, selector: \"[ngItemLabel]\", inputs: [\"ngItemLabel\", \"escape\"] }, { type: i4.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\"] }, { type: i4.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgSelectComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ng-select', providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgSelectComponent),\n multi: true\n }, NgDropdownPanelService], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: \"\\n\\n
\\n
{{placeholder}}
\\n\\n 0\\\">\\n
\\n \\n \\u00D7\\n \\n \\n\\n \\n \\n
\\n
\\n\\n 0\\\"\\n [ngTemplateOutlet]=\\\"multiLabelTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ items: selectedValues, clear: clearItem }\\\">\\n \\n\\n
\\n\\n \\n
\\n
\\n\\n \\n \\n
\\n
\\n\\n \\n \\n
\\n\\n \\n \\u00D7\\n \\n\\n \\n \\n \\n\\n\\n\\n\\n \\n
\\n\\n \\n \\n \\n\\n \\n \\n
\\n\\n
\\n \\n {{addTagText}}\\\"{{searchTerm}}\\\"\\n \\n\\n \\n \\n
\\n
\\n\\n \\n \\n
{{notFoundText}}
\\n
\\n\\n \\n \\n
\\n\\n \\n \\n
{{typeToSearchText}}
\\n
\\n\\n \\n \\n
\\n\\n \\n \\n
{{loadingText}}
\\n
\\n\\n \\n \\n
\\n\\n
\\n\", styles: [\"@charset \\\"UTF-8\\\";.ng-select{position:relative;display:block;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:flex;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none transparent;border:0 none;box-shadow:none;outline:none;padding:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:none;user-select:none;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;transform:translateZ(0);animation:load8 .8s infinite linear}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@keyframes load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label:empty:before{content:\\\"\\\\200b\\\"}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0}\\n\"] }]\n }], ctorParameters: function () {\n return [{ type: undefined, decorators: [{\n type: Attribute,\n args: ['class']\n }] }, { type: undefined, decorators: [{\n type: Attribute,\n args: ['autofocus']\n }] }, { type: NgSelectConfig }, { type: undefined, decorators: [{\n type: Inject,\n args: [SELECTION_MODEL_FACTORY]\n }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: ConsoleService }];\n }, propDecorators: { bindLabel: [{\n type: Input\n }], bindValue: [{\n type: Input\n }], markFirst: [{\n type: Input\n }], placeholder: [{\n type: Input\n }], notFoundText: [{\n type: Input\n }], typeToSearchText: [{\n type: Input\n }], addTagText: [{\n type: Input\n }], loadingText: [{\n type: Input\n }], clearAllText: [{\n type: Input\n }], appearance: [{\n type: Input\n }], dropdownPosition: [{\n type: Input\n }], appendTo: [{\n type: Input\n }], loading: [{\n type: Input\n }], closeOnSelect: [{\n type: Input\n }], hideSelected: [{\n type: Input\n }], selectOnTab: [{\n type: Input\n }], openOnEnter: [{\n type: Input\n }], maxSelectedItems: [{\n type: Input\n }], groupBy: [{\n type: Input\n }], groupValue: [{\n type: Input\n }], bufferAmount: [{\n type: Input\n }], virtualScroll: [{\n type: Input\n }], selectableGroup: [{\n type: Input\n }], selectableGroupAsModel: [{\n type: Input\n }], searchFn: [{\n type: Input\n }], trackByFn: [{\n type: Input\n }], clearOnBackspace: [{\n type: Input\n }], labelForId: [{\n type: Input\n }], inputAttrs: [{\n type: Input\n }], tabIndex: [{\n type: Input\n }], readonly: [{\n type: Input\n }], searchWhileComposing: [{\n type: Input\n }], minTermLength: [{\n type: Input\n }], editableSearchTerm: [{\n type: Input\n }], keyDownFn: [{\n type: Input\n }], typeahead: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-typeahead']\n }], multiple: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-multiple']\n }], addTag: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-taggable']\n }], searchable: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-searchable']\n }], clearable: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-clearable']\n }], isOpen: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-opened']\n }], items: [{\n type: Input\n }], compareWith: [{\n type: Input\n }], clearSearchOnAdd: [{\n type: Input\n }], blurEvent: [{\n type: Output,\n args: ['blur']\n }], focusEvent: [{\n type: Output,\n args: ['focus']\n }], changeEvent: [{\n type: Output,\n args: ['change']\n }], openEvent: [{\n type: Output,\n args: ['open']\n }], closeEvent: [{\n type: Output,\n args: ['close']\n }], searchEvent: [{\n type: Output,\n args: ['search']\n }], clearEvent: [{\n type: Output,\n args: ['clear']\n }], addEvent: [{\n type: Output,\n args: ['add']\n }], removeEvent: [{\n type: Output,\n args: ['remove']\n }], scroll: [{\n type: Output,\n args: ['scroll']\n }], scrollToEnd: [{\n type: Output,\n args: ['scrollToEnd']\n }], optionTemplate: [{\n type: ContentChild,\n args: [NgOptionTemplateDirective, { read: TemplateRef }]\n }], optgroupTemplate: [{\n type: ContentChild,\n args: [NgOptgroupTemplateDirective, { read: TemplateRef }]\n }], labelTemplate: [{\n type: ContentChild,\n args: [NgLabelTemplateDirective, { read: TemplateRef }]\n }], multiLabelTemplate: [{\n type: ContentChild,\n args: [NgMultiLabelTemplateDirective, { read: TemplateRef }]\n }], headerTemplate: [{\n type: ContentChild,\n args: [NgHeaderTemplateDirective, { read: TemplateRef }]\n }], footerTemplate: [{\n type: ContentChild,\n args: [NgFooterTemplateDirective, { read: TemplateRef }]\n }], notFoundTemplate: [{\n type: ContentChild,\n args: [NgNotFoundTemplateDirective, { read: TemplateRef }]\n }], typeToSearchTemplate: [{\n type: ContentChild,\n args: [NgTypeToSearchTemplateDirective, { read: TemplateRef }]\n }], loadingTextTemplate: [{\n type: ContentChild,\n args: [NgLoadingTextTemplateDirective, { read: TemplateRef }]\n }], tagTemplate: [{\n type: ContentChild,\n args: [NgTagTemplateDirective, { read: TemplateRef }]\n }], loadingSpinnerTemplate: [{\n type: ContentChild,\n args: [NgLoadingSpinnerTemplateDirective, { read: TemplateRef }]\n }], dropdownPanel: [{\n type: ViewChild,\n args: [forwardRef(() => NgDropdownPanelComponent)]\n }], searchInput: [{\n type: ViewChild,\n args: ['searchInput', { static: true }]\n }], ngOptions: [{\n type: ContentChildren,\n args: [NgOptionComponent, { descendants: true }]\n }], useDefaultClass: [{\n type: HostBinding,\n args: ['class.ng-select']\n }], disabled: [{\n type: HostBinding,\n args: ['class.ng-select-disabled']\n }], filtered: [{\n type: HostBinding,\n args: ['class.ng-select-filtered']\n }], single: [{\n type: HostBinding,\n args: ['class.ng-select-single']\n }], handleKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n\nfunction DefaultSelectionModelFactory() {\n return new DefaultSelectionModel();\n}\nclass DefaultSelectionModel {\n constructor() {\n this._selected = [];\n }\n get value() {\n return this._selected;\n }\n select(item, multiple, groupAsModel) {\n item.selected = true;\n if (!item.children || (!multiple && groupAsModel)) {\n this._selected.push(item);\n }\n if (multiple) {\n if (item.parent) {\n const childrenCount = item.parent.children.length;\n const selectedCount = item.parent.children.filter(x => x.selected).length;\n item.parent.selected = childrenCount === selectedCount;\n }\n else if (item.children) {\n this._setChildrenSelectedState(item.children, true);\n this._removeChildren(item);\n if (groupAsModel && this._activeChildren(item)) {\n this._selected = [...this._selected.filter(x => x.parent !== item), item];\n }\n else {\n this._selected = [...this._selected, ...item.children.filter(x => !x.disabled)];\n }\n }\n }\n }\n unselect(item, multiple) {\n this._selected = this._selected.filter(x => x !== item);\n item.selected = false;\n if (multiple) {\n if (item.parent && item.parent.selected) {\n const children = item.parent.children;\n this._removeParent(item.parent);\n this._removeChildren(item.parent);\n this._selected.push(...children.filter(x => x !== item && !x.disabled));\n item.parent.selected = false;\n }\n else if (item.children) {\n this._setChildrenSelectedState(item.children, false);\n this._removeChildren(item);\n }\n }\n }\n clear(keepDisabled) {\n this._selected = keepDisabled ? this._selected.filter(x => x.disabled) : [];\n }\n _setChildrenSelectedState(children, selected) {\n for (const child of children) {\n if (child.disabled) {\n continue;\n }\n child.selected = selected;\n }\n }\n _removeChildren(parent) {\n this._selected = [\n ...this._selected.filter(x => x.parent !== parent),\n ...parent.children.filter(x => x.parent === parent && x.disabled && x.selected)\n ];\n }\n _removeParent(parent) {\n this._selected = this._selected.filter(x => x !== parent);\n }\n _activeChildren(item) {\n return item.children.every(x => !x.disabled || x.selected);\n }\n}\n\nclass NgSelectModule {\n}\nNgSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nNgSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgSelectModule, declarations: [NgDropdownPanelComponent,\n NgOptionComponent,\n NgSelectComponent,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective,\n NgItemLabelDirective], imports: [CommonModule], exports: [NgSelectComponent,\n NgOptionComponent,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective] });\nNgSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgSelectModule, providers: [\n { provide: SELECTION_MODEL_FACTORY, useValue: DefaultSelectionModelFactory }\n ], imports: [[\n CommonModule\n ]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.3\", ngImport: i0, type: NgSelectModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n NgDropdownPanelComponent,\n NgOptionComponent,\n NgSelectComponent,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective,\n NgItemLabelDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n NgSelectComponent,\n NgOptionComponent,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective\n ],\n providers: [\n { provide: SELECTION_MODEL_FACTORY, useValue: DefaultSelectionModelFactory }\n ]\n }]\n }] });\n\n/*\n * Public API Surface of ng-select\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NgFooterTemplateDirective, NgHeaderTemplateDirective, NgItemLabelDirective, NgLabelTemplateDirective, NgLoadingSpinnerTemplateDirective, NgLoadingTextTemplateDirective, NgMultiLabelTemplateDirective, NgNotFoundTemplateDirective, NgOptgroupTemplateDirective, NgOptionComponent, NgOptionTemplateDirective, NgSelectComponent, NgSelectConfig, NgSelectModule, NgTagTemplateDirective, NgTypeToSearchTemplateDirective, SELECTION_MODEL_FACTORY };\n"]}