{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/article.service.ts","webpack:///./src/app/articles-panel/articles-panel.component.html","webpack:///./src/app/articles-panel/articles-panel.component.scss","webpack:///./src/app/articles-panel/articles-panel.component.ts","webpack:///./src/app/breadcrumb/breadcrumb.component.html","webpack:///./src/app/breadcrumb/breadcrumb.component.scss","webpack:///./src/app/breadcrumb/breadcrumb.component.ts","webpack:///./src/app/empty/empty.component.html","webpack:///./src/app/empty/empty.component.scss","webpack:///./src/app/empty/empty.component.ts","webpack:///./src/app/filter.pipe.ts","webpack:///./src/app/filters-panel/filters-panel.component.html","webpack:///./src/app/filters-panel/filters-panel.component.scss","webpack:///./src/app/filters-panel/filters-panel.component.ts","webpack:///./src/app/filters-panel/group-one/group-one.component.html","webpack:///./src/app/filters-panel/group-one/group-one.component.scss","webpack:///./src/app/filters-panel/group-one/group-one.component.ts","webpack:///./src/app/filters-panel/group-selected/group-selected.component.html","webpack:///./src/app/filters-panel/group-selected/group-selected.component.scss","webpack:///./src/app/filters-panel/group-selected/group-selected.component.ts","webpack:///./src/app/filters-panel/group-three/group-three.component.html","webpack:///./src/app/filters-panel/group-three/group-three.component.scss","webpack:///./src/app/filters-panel/group-three/group-three.component.ts","webpack:///./src/app/filters-panel/group-two/group-two.component.html","webpack:///./src/app/filters-panel/group-two/group-two.component.scss","webpack:///./src/app/filters-panel/group-two/group-two.component.ts","webpack:///./src/app/filters-panel/make-filter/make-filter.component.html","webpack:///./src/app/filters-panel/make-filter/make-filter.component.scss","webpack:///./src/app/filters-panel/make-filter/make-filter.component.ts","webpack:///./src/app/filters-panel/model-filter/model-filter.component.html","webpack:///./src/app/filters-panel/model-filter/model-filter.component.scss","webpack:///./src/app/filters-panel/model-filter/model-filter.component.ts","webpack:///./src/app/filters-panel/selected-filter/selected-filter.component.html","webpack:///./src/app/filters-panel/selected-filter/selected-filter.component.scss","webpack:///./src/app/filters-panel/selected-filter/selected-filter.component.ts","webpack:///./src/app/filters-panel/type-filter/type-filter.component.html","webpack:///./src/app/filters-panel/type-filter/type-filter.component.scss","webpack:///./src/app/filters-panel/type-filter/type-filter.component.ts","webpack:///./src/app/footer-mobile/footer-mobile.component.html","webpack:///./src/app/footer-mobile/footer-mobile.component.scss","webpack:///./src/app/footer-mobile/footer-mobile.component.ts","webpack:///./src/app/footer/footer.component.html","webpack:///./src/app/footer/footer.component.scss","webpack:///./src/app/footer/footer.component.ts","webpack:///./src/app/header/header.component.html","webpack:///./src/app/header/header.component.scss","webpack:///./src/app/header/header.component.ts","webpack:///./src/app/language/language.component.html","webpack:///./src/app/language/language.component.scss","webpack:///./src/app/language/language.component.ts","webpack:///./src/app/loading-spinner/loading-spinner.component.html","webpack:///./src/app/loading-spinner/loading-spinner.component.scss","webpack:///./src/app/loading-spinner/loading-spinner.component.ts","webpack:///./src/app/main-panel/main-panel.component.html","webpack:///./src/app/main-panel/main-panel.component.scss","webpack:///./src/app/main-panel/main-panel.component.ts","webpack:///./src/app/material.ts","webpack:///./src/app/models/filter.model.ts","webpack:///./src/app/route-resolver.service.ts","webpack:///./src/app/searchbar/searchbar.component.html","webpack:///./src/app/searchbar/searchbar.component.scss","webpack:///./src/app/searchbar/searchbar.component.ts","webpack:///./src/app/shared.service.ts","webpack:///./src/app/store/actions.ts","webpack:///./src/app/store/reducer.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","// moduł do routingu, nie wiem jeszcze jak działa\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { MainPanelComponent } from './main-panel/main-panel.component';\r\nimport { EmptyComponent } from './empty/empty.component';\r\nimport { MakeFilterComponent } from './filters-panel/make-filter/make-filter.component';\r\nimport { ModelFilterComponent } from './filters-panel/model-filter/model-filter.component';\r\nimport { TypeFilterComponent } from './filters-panel/type-filter/type-filter.component';\r\nimport { SelectedFilterComponent } from './filters-panel/selected-filter/selected-filter.component';\r\nimport { RouteResolverService } from './route-resolver.service';\r\nimport { GroupOneComponent } from './filters-panel/group-one/group-one.component';\r\nimport { GroupTwoComponent } from './filters-panel/group-two/group-two.component';\r\nimport { GroupThreeComponent } from './filters-panel/group-three/group-three.component';\r\nimport { GroupSelectedComponent } from './filters-panel/group-selected/group-selected.component';\r\nimport { FiltersPanelComponent } from './filters-panel/filters-panel.component';\r\n\r\nconst searchRoutes: Routes = [\r\n{\r\n path: ':app/:appId/:group/:groupId',\r\n component: FiltersPanelComponent,\r\n resolve: {\r\n route: RouteResolverService\r\n }\r\n}, {\r\n path: ':query/:app/:appId/:group/:groupId',\r\n component: FiltersPanelComponent,\r\n resolve: {\r\n route: RouteResolverService\r\n }\r\n}];\r\n\r\nconst routes: Routes =\r\n[\r\n {\r\n path: '',\r\n redirectTo: '/en/1/0/1/0',\r\n pathMatch: 'full'\r\n }, {\r\n path: '',\r\n component: EmptyComponent\r\n }, {\r\n path: ':lang',\r\n component: MainPanelComponent,\r\n children: searchRoutes,\r\n resolve: {\r\n route: RouteResolverService\r\n }\r\n }, {\r\n path: '**',\r\n redirectTo: '/en/1/0/1/0',\r\n pathMatch: 'full'\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { useHash: true })],\r\n exports: [RouterModule],\r\n providers: [RouteResolverService]\r\n})\r\nexport class AppRoutingModule { }\r\n","module.exports = \"
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","module.exports = \".catalog-background {\\n background-color: #f5f5f5; }\\n\\ndiv {\\n display: flex;\\n flex-direction: column;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0; }\\n\\ndiv .top-header, div .bottom-header {\\n min-width: 150px;\\n width: 100%;\\n padding: 0;\\n background-color: white; }\\n\\ndiv .top-header {\\n height: auto;\\n background: #000000; }\\n\\ndiv .top-header app-header {\\n height: 80px;\\n width: 100%;\\n background: #000000; }\\n\\ndiv .top-header .app_header__mobile {\\n height: 64px; }\\n\\ndiv .bottom-header {\\n height: 56px;\\n font-size: 15px;\\n line-height: 25px;\\n border-bottom: 2px solid;\\n border-color: #00F890;\\n position: relative; }\\n\\ndiv .bottom-header app-searchbar {\\n width: 100%;\\n height: 54px; }\\n\\ndiv .is-mobile mat-toolbar {\\n position: fixed;\\n /* Make sure the toolbar will stay on top of the content as it scrolls past. */\\n z-index: 2; }\\n\\n.blur {\\n filter: blur(3px) !important;\\n -webkit-filter: blur(3px) !important; }\\n\\n.loading-spinner {\\n position: absolute;\\n z-index: 3;\\n width: 100%;\\n height: 100%; }\\n\\n.menu-button {\\n width: 50px;\\n color: black; }\\n\\n.menu-button:hover {\\n color: #5E616A; }\\n\\n.shadow-button {\\n position: absolute;\\n top: 0;\\n right: 0;\\n width: 50px;\\n height: 56px;\\n background-color: rgba(0, 0, 0, 0);\\n box-shadow: 0px 0px 16px 0px #00000033;\\n pointer-events: none; }\\n\\n.shadow-list {\\n position: absolute;\\n top: 54px;\\n left: 50px;\\n width: 250px;\\n height: 48px;\\n box-shadow: 0px 0px 16px 0px #00000033;\\n pointer-events: none; }\\n\\n.vertical-line {\\n position: absolute;\\n top: 13px;\\n left: 49px;\\n width: 1px;\\n height: 30px;\\n background-color: #00000033;\\n pointer-events: none; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQzpcXGk0QlxcUmVwb3NpdG9yaWVzXFx3ZWItY2F0YWxvZ1xcV2ViQ2F0YWxvZy5BUElcXGFwcC9zcmNcXGFwcFxcYXBwLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9DOlxcaTRCXFxSZXBvc2l0b3JpZXNcXHdlYi1jYXRhbG9nXFxXZWJDYXRhbG9nLkFQSVxcYXBwL3NyY1xcYXBwXFxfdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSx5QkNFd0IsRUFBQTs7QURDMUI7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sU0FBUztFQUNULE9BQU87RUFDUCxRQUFRLEVBQUE7O0FBUFY7SUFVSSxnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLFVBQVU7SUFDVix1QkFBdUIsRUFBQTs7QUFiM0I7SUFpQkksWUFBWTtJQUNaLG1CQ2xCb0MsRUFBQTs7QURBeEM7TUFxQk0sWUFBWTtNQUNaLFdBQVc7TUFDWCxtQkN2QmtDLEVBQUE7O0FEQXhDO01BMkJNLFlBQVksRUFBQTs7QUEzQmxCO0lBZ0NJLFlBQVk7SUFDWixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLHdCQUF1QjtJQUN2QixxQkNuQ2tCO0lEb0NsQixrQkFBaUIsRUFBQTs7QUFyQ3JCO01BdUNNLFdBQVc7TUFDWCxZQUFZLEVBQUE7O0FBeENsQjtJQTZDSSxlQUFlO0lBQ2YsOEVBQUE7SUFDQSxVQUFVLEVBQUE7O0FBSWQ7RUFDRSw0QkFBNEI7RUFDNUIsb0NBQW9DLEVBQUE7O0FBR3RDO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixXQUFXO0VBQ1gsWUFBWSxFQUFBOztBQUdkO0VBQ0UsV0FBVztFQUNYLFlBQVksRUFBQTs7QUFHZDtFQUNFLGNBQWMsRUFBQTs7QUFJaEI7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixXQUFXO0VBQ1gsWUFBWTtFQUNaLGtDQUFrQztFQUNsQyxzQ0FBc0M7RUFDdEMsb0JBQW9CLEVBQUE7O0FBR3RCO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsWUFBWTtFQUNaLFlBQVk7RUFDWixzQ0FBc0M7RUFDdEMsb0JBQW9CLEVBQUE7O0FBR3RCO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsVUFBVTtFQUNWLFlBQVk7RUFDWiwyQkFBMkI7RUFDM0Isb0JBQW9CLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdfdmFyaWFibGVzLnNjc3MnO1xyXG5cclxuLmNhdGFsb2ctYmFja2dyb3VuZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XHJcbn1cclxuXHJcbmRpdiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcblxyXG4gIC50b3AtaGVhZGVyLCAuYm90dG9tLWhlYWRlciB7XHJcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgfVxyXG5cclxuICAudG9wLWhlYWRlciB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG5cclxuICAgIGFwcC1oZWFkZXIge1xyXG4gICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC5hcHBfaGVhZGVyX19tb2JpbGUge1xyXG4gICAgICBoZWlnaHQ6IDY0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYm90dG9tLWhlYWRlciB7XHJcbiAgICBoZWlnaHQ6IDU2cHg7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgIGJvcmRlci1ib3R0b206MnB4IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkbW90aXZlLWNvbG9yO1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICBhcHAtc2VhcmNoYmFyIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogNTRweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pcy1tb2JpbGUgbWF0LXRvb2xiYXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgLyogTWFrZSBzdXJlIHRoZSB0b29sYmFyIHdpbGwgc3RheSBvbiB0b3Agb2YgdGhlIGNvbnRlbnQgYXMgaXQgc2Nyb2xscyBwYXN0LiAqL1xyXG4gICAgei1pbmRleDogMjtcclxuICB9XHJcbn1cclxuXHJcbi5ibHVyIHtcclxuICBmaWx0ZXI6IGJsdXIoM3B4KSAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDNweCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmxvYWRpbmctc3Bpbm5lciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IDM7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ubWVudS1idXR0b24ge1xyXG4gIHdpZHRoOiA1MHB4O1xyXG4gIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLm1lbnUtYnV0dG9uOmhvdmVyIHtcclxuICBjb2xvcjogIzVFNjE2QTtcclxufVxyXG5cclxuXHJcbi5zaGFkb3ctYnV0dG9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHdpZHRoOiA1MHB4O1xyXG4gIGhlaWdodDogNTZweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIGJveC1zaGFkb3c6IDBweCAwcHggMTZweCAwcHggIzAwMDAwMDMzO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uc2hhZG93LWxpc3Qge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDU0cHg7XHJcbiAgbGVmdDogNTBweDtcclxuICB3aWR0aDogMjUwcHg7XHJcbiAgaGVpZ2h0OiA0OHB4O1xyXG4gIGJveC1zaGFkb3c6IDBweCAwcHggMTZweCAwcHggIzAwMDAwMDMzO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyBcclxufVxyXG5cclxuLnZlcnRpY2FsLWxpbmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDEzcHg7XHJcbiAgbGVmdDogNDlweDtcclxuICB3aWR0aDogMXB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwMzM7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbiIsIiRib3gtc2hhZG93LWRlZmF1bHQ6IG5vbmUgIWRlZmF1bHQ7XHJcbiRwYW5lbC1tYXJnaW4tZGVmYXVsdDogMTBweCAxMHB4IDEwcHggMTBweDtcclxuJGZpbHRlcnMtcGFuZWwtbWF4LXdpZHRoOiAzMDBweDtcclxuJG9wZW4tc2Fucy1mb250OiAnRW1vdGl2ZSBTYW5zIFRUJywgSGVsdmV0aWNhO1xyXG4kb3B0aW1hbC1jb2xvcjogcmdiKDI2LCA1MSwgODgpO1xyXG4kYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuJGhlYWRlci1mb290ZXItYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuJG1vdGl2ZS1jb2xvcjogIzAwRjg5MDtcclxuIl19 */\"","import { Component,\r\n OnDestroy,\r\n ChangeDetectorRef,\r\n NgZone\r\n} from '@angular/core';\r\n\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from './store/reducer';\r\nimport * as SidenavActions from './store/actions';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Router, RoutesRecognized } from '@angular/router';\r\nimport { SharedService } from './shared.service'\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnDestroy {\r\n mobileQuery: MediaQueryList;\r\n private _mobileQueryListener: () => void;\r\n title = 'Web Catalog';\r\n public toggle = true;\r\n loadingArticles = true;\r\n icon = 'menu';\r\n constructor(private store: Store,\r\n changeDetectorRef: ChangeDetectorRef,\r\n private zone: NgZone,\r\n media: MediaMatcher,\r\n translate: TranslateService,\r\n private router: Router,\r\n private sharedService: SharedService) {\r\n\r\n this.store.select('articles').subscribe((state: any) => {\r\n this.zone.run(() => {\r\n this.loadingArticles = state.loadingArticles;\r\n });\r\n });\r\n\r\n translate.addLangs(['en', 'de']);\r\n\r\n this.router.events.subscribe((value) => {\r\n if (value instanceof RoutesRecognized) {\r\n if (value.state.root.firstChild.params.lang !== translate.currentLang) {\r\n translate.use(value.state.root.firstChild.params.lang);\r\n }\r\n }\r\n });\r\n translate.setDefaultLang('en');\r\n\r\n this.mobileQuery = media.matchMedia('(max-width: 959px)');\r\n this._mobileQueryListener = () => {\r\n changeDetectorRef.detectChanges();\r\n };\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n\r\n this.sharedService.sidebarClosed$.subscribe(isClosed => {\r\n this.icon = isClosed ? 'menu' : 'close';\r\n });\r\n }\r\n\r\n\r\n\r\n toggleSideNav(): void {\r\n const isClosed = this.icon === 'menu';\r\n this.store.dispatch({ type: SidenavActions.ActionTypes.TOGGLE_SIDENAV, payload: { sidenav: !isClosed } });\r\n this.sharedService.setSidebarClosed(!isClosed);\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.mobileQuery.removeListener(this._mobileQueryListener);\r\n }\r\n}\r\n","// główny moduł aplikacji, tutaj się importuje customowe moduły i podpina w imports\r\n\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule,\r\n FormsModule\r\n} from '@angular/forms';\r\nimport { HttpModule } from '@angular/http';\r\nimport { ScrollDispatchModule } from '@angular/cdk/scrolling';\r\nimport { HttpClientModule,\r\n HttpClient\r\n} from '@angular/common/http';\r\n\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { TranslateModule,\r\n TranslateLoader\r\n} from '@ngx-translate/core';\r\nimport { TranslateHttpLoader} from '@ngx-translate/http-loader';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\n\r\n// wymagane dla material design\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\n\r\n// customowy moduł\r\nimport { MaterialModule } from './material';\r\n\r\n// nasze komponenty\r\nimport { SearchbarComponent } from './searchbar/searchbar.component';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { FiltersPanelComponent } from './filters-panel/filters-panel.component';\r\nimport { ArticlesPanelComponent } from './articles-panel/articles-panel.component';\r\nimport { MainPanelComponent } from './main-panel/main-panel.component';\r\nimport { EmptyComponent } from './empty/empty.component';\r\n\r\nimport { reducer, filtersReducer } from './store/reducer';\r\nimport { ModelFilterComponent } from './filters-panel/model-filter/model-filter.component';\r\nimport { TypeFilterComponent } from './filters-panel/type-filter/type-filter.component';\r\nimport { MakeFilterComponent } from './filters-panel/make-filter/make-filter.component';\r\nimport { SelectedFilterComponent } from './filters-panel/selected-filter/selected-filter.component';\r\nimport { LoadingSpinnerComponent } from './loading-spinner/loading-spinner.component';\r\nimport { GroupOneComponent } from './filters-panel/group-one/group-one.component';\r\nimport { GroupTwoComponent } from './filters-panel/group-two/group-two.component';\r\nimport { GroupThreeComponent } from './filters-panel/group-three/group-three.component';\r\nimport { GroupSelectedComponent } from './filters-panel/group-selected/group-selected.component';\r\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { FooterMobileComponent } from './footer-mobile/footer-mobile.component';\r\nimport { LanguageComponent } from './language/language.component';\r\n\r\nimport { FilterPipe } from './filter.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n SearchbarComponent,\r\n HeaderComponent,\r\n FiltersPanelComponent,\r\n ArticlesPanelComponent,\r\n MainPanelComponent,\r\n EmptyComponent,\r\n ModelFilterComponent,\r\n TypeFilterComponent,\r\n MakeFilterComponent,\r\n SelectedFilterComponent,\r\n LoadingSpinnerComponent,\r\n GroupOneComponent,\r\n GroupTwoComponent,\r\n GroupThreeComponent,\r\n GroupSelectedComponent,\r\n BreadcrumbComponent,\r\n FooterComponent,\r\n FooterMobileComponent,\r\n LanguageComponent,\r\n FilterPipe\r\n ],\r\n imports: [\r\n BrowserModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n MaterialModule,\r\n FlexLayoutModule,\r\n HttpModule,\r\n HttpClientModule,\r\n ScrollDispatchModule,\r\n StoreModule.forRoot({ articles: reducer, filters: filtersReducer }),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n })\r\n ],\r\n exports: [TranslateModule],\r\n providers: [],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, './assets/i18n/', '.txt');\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http } from '@angular/http';\r\nimport { Store } from '@ngrx/store';\r\nimport { Response } from '@angular/http';\r\n\r\nimport { State } from './store/reducer';\r\nimport * as ArticlesActions from './store/actions';\r\nimport { Filter } from './models/filter.model';\r\nimport { environment } from '../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ArticleService {\r\n constructor(private http: Http,\r\n private store: Store) {\r\n\r\n const me = this;\r\n\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (state.loadingArticles) {\r\n me.getArticles().subscribe({\r\n next(res: Response) {\r\n me.store.dispatch({type: ArticlesActions.ActionTypes.ARTICLES_LOADED, payload: { result: res.json() }});\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n getArticles() {\r\n return this.http.get(environment.url + 'Article?' + this.prepareParameters());\r\n }\r\n\r\n getAutoComplete(value) {\r\n return this.http.get(environment.url + 'AutoComplete?' + this.prepareAutoCompleteParameters(value));\r\n }\r\n\r\n private prepareAutoCompleteParameters(value: string) {\r\n return 'query=' + encodeURIComponent(value) + '&language=' + Filter.Language;\r\n }\r\n\r\n private prepareParameters() {\r\n const parameters = [];\r\n if (Filter.Query && Filter.Query.length !== 0 && Filter.Query[0] !== '') {\r\n parameters.push('query=' + encodeURIComponent(Filter.Query.join(' ')));\r\n }\r\n if (Filter.Make && Filter.Make.Id) {\r\n parameters.push('make=' + Filter.Make.Id);\r\n }\r\n if (Filter.Model && Filter.Model.Id) {\r\n parameters.push('model=' + Filter.Model.Id);\r\n }\r\n if (Filter.Type && Filter.Type.Id) {\r\n parameters.push('type=' + Filter.Type.Id);\r\n }\r\n if (Filter.Group1 && Filter.Group1.Id) {\r\n parameters.push('group1=' + Filter.Group1.Id);\r\n }\r\n if (Filter.Group2 && Filter.Group2.Id) {\r\n parameters.push('group2=' + Filter.Group2.Id);\r\n }\r\n if (Filter.Group3 && Filter.Group3.Id) {\r\n parameters.push('group3=' + Filter.Group3.Id);\r\n }\r\n if (Filter.Offset) {\r\n parameters.push('offset=' + Filter.Offset);\r\n }\r\n if (Filter.Limit) {\r\n parameters.push('limit=' + Filter.Limit);\r\n }\r\n if (Filter.Language) {\r\n parameters.push('language=' + Filter.Language);\r\n }\r\n return parameters.join('&');\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n 0\\\"\\r\\n class=\\\"article-list-card\\\">\\r\\n \\r\\n

{{'Results.title' | translate}}

\\r\\n \\r\\n \\r\\n
\\r\\n

\\r\\n \\r\\n {{article.MainIndex}} - {{article.Description}}\\r\\n \\r\\n

\\r\\n \\r\\n {{article.MainIndex}} - {{article.Description}}\\r\\n \\r\\n

\\r\\n {{'Fitting.title' | translate}}: {{article.FittingPosition}}\\r\\n

\\r\\n

0\\\"\\r\\n matLine>\\r\\n {{article.Oems[0].Producer}}: {{article.Oems[0].MainIndex}}\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n

{{parameter.Name}}: {{parameter.Value}}

\\r\\n
\\r\\n
4\\\">\\r\\n

{{parameter.Name}}: {{parameter.Value}}

\\r\\n
\\r\\n
4\\\">\\r\\n

{{parameter.Name}}: {{parameter.Value}}

\\r\\n
\\r\\n \\r\\n \\r\\n info\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n {{ 'StartOver.title' | translate }}\\r\\n \\r\\n {{ 'StartOver.content' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ 'GoBack.title' | translate }}\\r\\n \\r\\n {{ 'GoBack.content' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","module.exports = \".article-list-card {\\n padding: 0 16px 24px 16px;\\n background: none;\\n box-shadow: none !important; }\\n .article-list-card .articles-list__article {\\n background: white;\\n height: auto;\\n margin-top: 10px;\\n box-shadow: none !important;\\n font-size: 12px; }\\n .article-list-card .articles-list__article__article-name--desktop {\\n max-width: 44%;\\n width: 44%; }\\n .article-list-card .articles-list__article__article-name--desktop a {\\n color: #000;\\n text-decoration: none; }\\n .article-list-card .articles-list__article__article-name--desktop a:hover {\\n text-decoration: underline; }\\n .article-list-card .articles-list__article__article-name--mobile {\\n max-width: 66%;\\n width: 66%; }\\n .article-list-card .articles-list__article__image {\\n width: 200px;\\n padding-right: 15px;\\n flex: 1 1 100%;\\n box-sizing: border-box; }\\n .article-list-card .articles-list__article__image--mobile {\\n max-width: 30%; }\\n .article-list-card .articles-list__article__image--desktop {\\n max-width: 12%; }\\n .article-list-card .articles-list__article__parameters__parameter {\\n font-size: 10px !important; }\\n .article-list-card .articles-list__article__parameters--mobile {\\n max-width: 66%; }\\n .article-list-card .articles-list__article__parameters--desktop {\\n max-width: 40%; }\\n .article-list-card .articles-list__article__more-info {\\n color: #00F890;\\n text-decoration: none;\\n max-width: 25px !important;\\n margin-left: auto; }\\n .article-list-card .articles-list__article__more-info__icon {\\n height: 24px;\\n width: 24px;\\n position: relative;\\n background-color: black;\\n border-radius: 50%;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center; }\\n .article-list-card .articles-list__article__more-info__icon--mobile {\\n font-size: 28px; }\\n .article-list-card .articles-list__article__more-info__icon--desktop {\\n font-size: 30px; }\\n .article-list-card .articles-list__article__more-info__icon.mat-icon:hover {\\n color: #24BE85; }\\n .article-list-card .articles-list__article__overlay {\\n width: 100%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n background-color: transparent; }\\n .back-buttons {\\n display: block;\\n text-align: center; }\\n .back-buttons__button {\\n cursor: pointer;\\n height: auto;\\n font-size: 12px;\\n display: inline-block;\\n margin: 20px;\\n vertical-align: top;\\n width: 260px; }\\n .back-buttons__button__content {\\n border-radius: 0;\\n background-color: #000000 !important;\\n color: #f5f5f5 !important; }\\n .article-info-oem {\\n font-size: 14px;\\n color: #5E616A; }\\n .article-info-oem b {\\n font-weight: 700; }\\n .article-info-main-index {\\n font-weight: 700;\\n font-size: 14px; }\\n .article-info-main-index__mobile {\\n color: #5E616A; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXJ0aWNsZXMtcGFuZWwvQzpcXGk0QlxcUmVwb3NpdG9yaWVzXFx3ZWItY2F0YWxvZ1xcV2ViQ2F0YWxvZy5BUElcXGFwcC9zcmNcXGFwcFxcYXJ0aWNsZXMtcGFuZWxcXGFydGljbGVzLXBhbmVsLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9hcnRpY2xlcy1wYW5lbC9DOlxcaTRCXFxSZXBvc2l0b3JpZXNcXHdlYi1jYXRhbG9nXFxXZWJDYXRhbG9nLkFQSVxcYXBwL3NyY1xcYXBwXFxfdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSx5QkFBeUI7RUFDekIsZ0JBQWdCO0VBQ2hCLDJCQUEyQixFQUFBO0VBSDdCO0lBT00saUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsMkJBQTBDO0lBQzFDLGVBQWUsRUFBQTtFQVhyQjtNQWVVLGNBQWM7TUFDZCxVQUFVLEVBQUE7RUFoQnBCO1FBbUJZLFdBQVc7UUFDWCxxQkFBcUIsRUFBQTtFQXBCakM7UUF3QlksMEJBQTBCLEVBQUE7RUF4QnRDO01BNkJVLGNBQWM7TUFDZCxVQUFVLEVBQUE7RUE5QnBCO01BbUNRLFlBQVk7TUFDWixtQkFBbUI7TUFDbkIsY0FBYztNQUNkLHNCQUFzQixFQUFBO0VBdEM5QjtRQXlDVSxjQUFjLEVBQUE7RUF6Q3hCO1FBNkNVLGNBQWMsRUFBQTtFQTdDeEI7TUFtRFUsMEJBQTBCLEVBQUE7RUFuRHBDO01BdURVLGNBQWMsRUFBQTtFQXZEeEI7TUEyRFUsY0FBYyxFQUFBO0VBM0R4QjtNQWdFUSxjQzNEYztNRDREZCxxQkFBcUI7TUFDckIsMEJBQTBCO01BQzFCLGlCQUFpQixFQUFBO0VBbkV6QjtRQXNFVSxZQUFZO1FBQ1osV0FBVztRQUNYLGtCQUFrQjtRQUNsQix1QkFBdUI7UUFDdkIsa0JBQWtCO1FBQ2xCLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsdUJBQXVCLEVBQUE7RUE3RWpDO1VBZ0ZZLGVBQWUsRUFBQTtFQWhGM0I7VUFvRlksZUFBZSxFQUFBO0VBcEYzQjtRQXlGVSxjQUFjLEVBQUE7RUF6RnhCO01BOEZRLFdBQVc7TUFDWCxZQUFZO01BQ1osa0JBQWtCO01BQ2xCLE1BQU07TUFDTixPQUFPO01BQ1AsNkJBQTZCLEVBQUE7RUFNckM7RUFDRSxjQUFjO0VBQ2Qsa0JBQWtCLEVBQUE7RUFFbEI7SUFDRSxlQUFlO0lBQ2YsWUFBWTtJQUNaLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixZQUFZLEVBQUE7RUFFWjtNQUNFLGdCQUFnQjtNQUNoQixvQ0FBNEQ7TUFDNUQseUJBQW1DLEVBQUE7RUFLekM7RUFDRSxlQUFlO0VBQ2YsY0FBYyxFQUFBO0VBR2hCO0VBQ0UsZ0JBQWdCLEVBQUE7RUFHbEI7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZSxFQUFBO0VBRWY7SUFDRSxjQUFjLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcnRpY2xlcy1wYW5lbC9hcnRpY2xlcy1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4uL3ZhcmlhYmxlcyc7XHJcblxyXG4uYXJ0aWNsZS1saXN0LWNhcmQge1xyXG4gIHBhZGRpbmc6IDAgMTZweCAyNHB4IDE2cHg7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gIC5hcnRpY2xlcy1saXN0IHtcclxuICAgICZfX2FydGljbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1kZWZhdWx0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuXHJcbiAgICAgICZfX2FydGljbGUtbmFtZSB7XHJcbiAgICAgICAgJi0tZGVza3RvcCB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDQ0JTtcclxuICAgICAgICAgIHdpZHRoOiA0NCU7XHJcblxyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYTpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tbW9iaWxlIHtcclxuICAgICAgICAgIG1heC13aWR0aDogNjYlO1xyXG4gICAgICAgICAgd2lkdGg6IDY2JTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfX2ltYWdlIHtcclxuICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgICAgICAmLS1tb2JpbGUge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAzMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1kZXNrdG9wIHtcclxuICAgICAgICAgIG1heC13aWR0aDogMTIlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJl9fcGFyYW1ldGVycyB7XHJcbiAgICAgICAgJl9fcGFyYW1ldGVyIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tbW9iaWxlIHtcclxuICAgICAgICAgIG1heC13aWR0aDogNjYlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tZGVza3RvcCB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDQwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfX21vcmUtaW5mbyB7XHJcbiAgICAgICAgY29sb3I6ICRtb3RpdmUtY29sb3I7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIG1heC13aWR0aDogMjVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cclxuICAgICAgICAmX19pY29uIHtcclxuICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAmLS1tb2JpbGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi0tZGVza3RvcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2ljb24ubWF0LWljb246aG92ZXIge1xyXG4gICAgICAgICAgY29sb3I6ICMyNEJFODU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19vdmVybGF5IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYmFjay1idXR0b25zIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICZfX2J1dHRvbiB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDIwcHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgd2lkdGg6IDI2MHB4O1xyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmFydGljbGUtaW5mby1vZW0ge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBjb2xvcjogIzVFNjE2QTtcclxufVxyXG5cclxuLmFydGljbGUtaW5mby1vZW0gYiB7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuLmFydGljbGUtaW5mby1tYWluLWluZGV4IHtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuXHJcbiAgJl9fbW9iaWxlIHtcclxuICAgIGNvbG9yOiAjNUU2MTZBO1xyXG4gIH1cclxufVxyXG4iLCIkYm94LXNoYWRvdy1kZWZhdWx0OiBub25lICFkZWZhdWx0O1xyXG4kcGFuZWwtbWFyZ2luLWRlZmF1bHQ6IDEwcHggMTBweCAxMHB4IDEwcHg7XHJcbiRmaWx0ZXJzLXBhbmVsLW1heC13aWR0aDogMzAwcHg7XHJcbiRvcGVuLXNhbnMtZm9udDogJ0Vtb3RpdmUgU2FucyBUVCcsIEhlbHZldGljYTtcclxuJG9wdGltYWwtY29sb3I6IHJnYigyNiwgNTEsIDg4KTtcclxuJGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiRoZWFkZXItZm9vdGVyLWJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XHJcbiRtb3RpdmUtY29sb3I6ICMwMEY4OTA7XHJcbiJdfQ== */\"","import { Component,\r\n OnInit,\r\n Injectable,\r\n NgZone,\r\n ChangeDetectorRef\r\n} from '@angular/core';\r\n\r\n// importy do store i reducera\r\nimport { Store } from '@ngrx/store';\r\nimport { State } from '../store/reducer';\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Filter } from '../models/filter.model';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n@Component({\r\n selector: 'app-articles-panel',\r\n templateUrl: './articles-panel.component.html',\r\n styleUrls: ['./articles-panel.component.scss']\r\n})\r\n\r\nexport class ArticlesPanelComponent implements OnInit {\r\n\r\n articles$: Array = [];\r\n loadingArticles = true;\r\n noPhotoUrl: string;\r\n mobileQuery: MediaQueryList;\r\n showBackButtons = false;\r\n private _mobileQueryListener: () => void;\r\n\r\n constructor(\r\n private store: Store,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private zone: NgZone,\r\n changeDetectorRef: ChangeDetectorRef,\r\n media: MediaMatcher) {\r\n\r\n this.mobileQuery = media.matchMedia(environment.mediaMatcher);\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n\r\n this.noPhotoUrl = 'assets/nophoto_opaque.png';\r\n }\r\n\r\n ngOnInit(): void {\r\n this.store.select('articles').subscribe((state: any) => {\r\n this.loadingArticles = state.loadingArticles;\r\n if (state.loadedArticles\r\n && !state.togglingSidenav) {\r\n if (state.filters.Offset === 0) {\r\n this.articles$ = [];\r\n Object.assign(this.articles$, state.result.Articles);\r\n } else {\r\n this.zone.run(() => {\r\n this.articles$.push(...state.result.Articles);\r\n setTimeout(() => {}, 0);\r\n });\r\n }\r\n if (state.result.Articles.length === 0\r\n && state.result.Aggregations.ArticleGroupAggregationItem.BaseItems.length === 0\r\n && state.result.Aggregations.ApplicationsAggregationItem.BaseItems.length === 0) {\r\n this.showBackButtons = true;\r\n } else {\r\n this.showBackButtons = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n backButton(fullBack: boolean): void {\r\n if (fullBack) {\r\n Filter.resetFilters(false);\r\n this.router.navigate(['/' + Filter.Language + '/1/0/1/0']);\r\n } else {\r\n const params = '/' + Filter.getLastSuccessfulSearch().join('/');\r\n this.router.navigate([params], { relativeTo: this.route.firstChild });\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{'ApplicationsFilter.title' | translate}}: \\r\\n
\\r\\n \\r\\n {{filter.Name}}\\r\\n close\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{'GroupsFilter.title' | translate}}: \\r\\n
\\r\\n \\r\\n {{groupfilter.Name}}\\r\\n close\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{'QueryFilter.title' | translate}}: \\r\\n
\\r\\n \\r\\n {{queryfilter}}\\r\\n close\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n cancel\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\"","module.exports = \".filters-breadcrumb {\\n padding: 0 18px 0 22px;\\n position: -webkit-sticky;\\n position: sticky;\\n font-family: \\\"Emotive Sans TT\\\", Helvetica !important;\\n box-shadow: none !important;\\n margin: 10px 16px 10px 16px; }\\n .filters-breadcrumb__container {\\n flex: 1 1 100%;\\n padding: 5px 0 5px 0;\\n box-sizing: border-box;\\n flex-direction: column;\\n display: flex; }\\n .filters-breadcrumb--mobile {\\n margin: 10px 16px 10px 16px; }\\n .filters-breadcrumb__header {\\n font-size: 14px;\\n font-weight: 500;\\n color: rgba(0, 0, 0, 0.54);\\n margin: 0;\\n display: flex;\\n box-sizing: border-box;\\n padding: 16px;\\n align-items: center; }\\n .filters-breadcrumb__clear-button {\\n font-size: 16px;\\n color: black;\\n height: 26px;\\n width: 26px;\\n margin-top: 12px; }\\n .filters-breadcrumb__clear-button .clear-button__icon {\\n vertical-align: unset;\\n font-size: 30px; }\\n .filters-breadcrumb__clear-button:hover {\\n color: #5E616A; }\\n .filters-breadcrumb__filters-list {\\n flex-direction: row;\\n margin: 5px; }\\n .filters-breadcrumb__filters-list .filters-list__filter-chip {\\n background-color: #00F890;\\n color: black;\\n border-radius: 0; }\\n .filters-breadcrumb__filters-list .filters-list__filter-chip .filter-chip__icon {\\n color: black;\\n opacity: 1; }\\n .filters-breadcrumb__filters-list .filters-list__filter-chip .filter-chip__icon:hover {\\n color: #478279; }\\n .filter-mat-chip {\\n border-radius: 0; }\\n .filters-container {\\n display: flex;\\n flex-wrap: wrap;\\n align-items: flex-start; }\\n .filter-label {\\n min-width: 90px;\\n flex-shrink: 0; }\\n .chips-wrapper {\\n flex: 1;\\n display: flex;\\n flex-wrap: wrap;\\n box-sizing: border-box; }\\n .filters-container span {\\n color: #5E616A;\\n font-size: 12px;\\n padding-top: 13px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYnJlYWRjcnVtYi9DOlxcaTRCXFxSZXBvc2l0b3JpZXNcXHdlYi1jYXRhbG9nXFxXZWJDYXRhbG9nLkFQSVxcYXBwL3NyY1xcYXBwXFxicmVhZGNydW1iXFxicmVhZGNydW1iLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9icmVhZGNydW1iL0M6XFxpNEJcXFJlcG9zaXRvcmllc1xcd2ViLWNhdGFsb2dcXFdlYkNhdGFsb2cuQVBJXFxhcHAvc3JjXFxhcHBcXF92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNFLHNCQUFzQjtFQUN0Qix3QkFBZ0I7RUFBaEIsZ0JBQWdCO0VBQ2hCLG9EQUF1QztFQUN2QywyQkFBMEM7RUFDMUMsMkJBQTJCLEVBQUE7RUFFM0I7SUFDRSxjQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsYUFBYSxFQUFBO0VBR2Y7SUFFRSwyQkFBMkIsRUFBQTtFQUc3QjtJQUNFLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsMEJBQXNCO0lBQ3RCLFNBQVM7SUFDVCxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGFBQWE7SUFDYixtQkFBbUIsRUFBQTtFQUdyQjtJQUNFLGVBQWU7SUFDZixZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7SUFDWCxnQkFBZ0IsRUFBQTtFQUxqQjtNQVFHLHFCQUFxQjtNQUNyQixlQUFlLEVBQUE7RUFJbkI7SUFDRSxjQUFjLEVBQUE7RUFHaEI7SUFDRSxtQkFBbUI7SUFDbkIsV0FBVyxFQUFBO0VBRlo7TUFLRyx5QkNoRGdCO01EaURoQixZQUFZO01BQ1osZ0JBQWdCLEVBQUE7RUFQbkI7UUFVSyxZQUFZO1FBQ1osVUFBVSxFQUFBO0VBWGY7UUFlSyxjQUFjLEVBQUE7RUFRdEI7RUFDSSxnQkFBZ0IsRUFBQTtFQUtwQjtFQUNFLGFBQWE7RUFDYixlQUFlO0VBQ2YsdUJBQXVCLEVBQUE7RUFHekI7RUFDRSxlQUFlO0VBQ2YsY0FBYyxFQUFBO0VBR2hCO0VBQ0UsT0FBTztFQUNQLGFBQWE7RUFDYixlQUFlO0VBQ2Ysc0JBQXNCLEVBQUE7RUFJeEI7RUFDRSxjQUFjO0VBQ2QsZUFBZTtFQUNmLGlCQUFpQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vdmFyaWFibGVzJztcclxuXHJcbi5maWx0ZXJzLWJyZWFkY3J1bWIge1xyXG4gIHBhZGRpbmc6IDAgMThweCAwIDIycHg7XHJcbiAgcG9zaXRpb246IHN0aWNreTtcclxuICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1mb250ICFpbXBvcnRhbnQ7XHJcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctZGVmYXVsdCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjogMTBweCAxNnB4IDEwcHggMTZweDtcclxuXHJcbiAgJl9fY29udGFpbmVyIHtcclxuICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gICAgcGFkZGluZzogNXB4IDAgNXB4IDA7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgfVxyXG5cclxuICAmLS1tb2JpbGUge1xyXG4gICAgLy8gZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMTBweCAxNnB4IDEwcHggMTZweDtcclxuICB9XHJcblxyXG4gICZfX2hlYWRlciB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgY29sb3I6IHJnYmEoMCwwLDAsLjU0KTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogMTZweDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAmX19jbGVhci1idXR0b24ge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgd2lkdGg6IDI2cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG5cclxuICAgIC5jbGVhci1idXR0b25fX2ljb24ge1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdW5zZXQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2NsZWFyLWJ1dHRvbjpob3ZlciB7XHJcbiAgICBjb2xvcjogIzVFNjE2QTtcclxuICB9XHJcblxyXG4gICZfX2ZpbHRlcnMtbGlzdCB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgbWFyZ2luOiA1cHg7XHJcblxyXG4gICAgLmZpbHRlcnMtbGlzdF9fZmlsdGVyLWNoaXAge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW90aXZlLWNvbG9yO1xyXG4gICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gICAgICAuZmlsdGVyLWNoaXBfX2ljb24ge1xyXG4gICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZmlsdGVyLWNoaXBfX2ljb246aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAjNDc4Mjc5O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcbi5maWx0ZXItbWF0LWNoaXAge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxufVxyXG5cclxuXHJcblxyXG4uZmlsdGVycy1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG59XHJcblxyXG4uZmlsdGVyLWxhYmVsIHtcclxuICBtaW4td2lkdGg6IDkwcHg7XHJcbiAgZmxleC1zaHJpbms6IDA7IFxyXG59XHJcblxyXG4uY2hpcHMtd3JhcHBlciB7XHJcbiAgZmxleDogMTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5cclxuLmZpbHRlcnMtY29udGFpbmVyIHNwYW4ge1xyXG4gIGNvbG9yOiAjNUU2MTZBO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBwYWRkaW5nLXRvcDogMTNweDtcclxufVxyXG5cclxuIiwiJGJveC1zaGFkb3ctZGVmYXVsdDogbm9uZSAhZGVmYXVsdDtcclxuJHBhbmVsLW1hcmdpbi1kZWZhdWx0OiAxMHB4IDEwcHggMTBweCAxMHB4O1xyXG4kZmlsdGVycy1wYW5lbC1tYXgtd2lkdGg6IDMwMHB4O1xyXG4kb3Blbi1zYW5zLWZvbnQ6ICdFbW90aXZlIFNhbnMgVFQnLCBIZWx2ZXRpY2E7XHJcbiRvcHRpbWFsLWNvbG9yOiByZ2IoMjYsIDUxLCA4OCk7XHJcbiRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4kaGVhZGVyLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xyXG4kbW90aXZlLWNvbG9yOiAjMDBGODkwO1xyXG4iXX0= */\"","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../store/reducer';\r\n\r\nimport * as ArticlesActions from '../store/actions';\r\nimport { Filter, BaseType } from '../models/filter.model';\r\nimport { environment } from 'src/environments/environment';\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\n\r\nexport interface BreadcrumbFilter extends BaseType {\r\n Type: number; // 1 - make, 2 - model, 3 - type\r\n}\r\n\r\n@Component({\r\n selector: 'app-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.scss']\r\n})\r\nexport class BreadcrumbComponent implements OnInit {\r\n removable = true;\r\n\r\n filters: BreadcrumbFilter[] = [];\r\n groupfilters: BreadcrumbFilter[] = [];\r\n queryfilters: string[] = [];\r\n\r\n mobileQuery: MediaQueryList;\r\n private _mobileQueryListener: () => void;\r\n\r\n constructor(private store: Store,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n changeDetectorRef: ChangeDetectorRef,\r\n media: MediaMatcher) {\r\n\r\n this.mobileQuery = media.matchMedia(environment.mediaMatcher);\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n\r\n const me = this;\r\n\r\n this.store.select('filters').subscribe((state: any) => {\r\n if (state.changeFilters) {\r\n me.addApplicationsFilters();\r\n me.addGroupsFilters();\r\n me.addQueryFilters();\r\n\r\n this.store.dispatch({type: ArticlesActions.ActionTypes.FILTERS_CHANGED, payload: {\r\n filters: Filter\r\n }});\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n addGroupsFilters(): void {\r\n if (Filter.Group1.Name && Filter.Group1.Id) {\r\n this.pushFilterItem(this.groupfilters, 'Group1', 1);\r\n } else {\r\n this.groupfilters.splice(0);\r\n }\r\n if (Filter.Group2.Name && Filter.Group2.Id) {\r\n this.pushFilterItem(this.groupfilters, 'Group2', 2);\r\n } else {\r\n this.groupfilters.splice(1);\r\n }\r\n if (Filter.Group3.Name && Filter.Group3.Id) {\r\n this.pushFilterItem(this.groupfilters, 'Group3', 3);\r\n } else {\r\n this.groupfilters.splice(2);\r\n }\r\n }\r\n\r\n addApplicationsFilters(): void {\r\n if (Filter.Make.Name && Filter.Make.Id) {\r\n this.pushFilterItem(this.filters, 'Make', 1);\r\n } else {\r\n this.filters.splice(0);\r\n }\r\n if (Filter.Model.Name && Filter.Model.Id) {\r\n this.pushFilterItem(this.filters, 'Model', 2);\r\n } else {\r\n this.filters.splice(1);\r\n }\r\n if (Filter.Type.Name && Filter.Type.Id) {\r\n this.pushFilterItem(this.filters, 'Type', 3);\r\n } else {\r\n this.filters.splice(2);\r\n }\r\n }\r\n\r\n addQueryFilters(): void {\r\n this.queryfilters.splice(0);\r\n if (Filter.Query.length) {\r\n if (JSON.stringify(Filter.Query) !== JSON.stringify(this.queryfilters)) {\r\n for (let i = 0; i < Filter.Query.length; ++i) {\r\n decodeURIComponent(Filter.Query[i]);\r\n }\r\n this.queryfilters.push(...Filter.Query);\r\n }\r\n }\r\n }\r\n\r\n clearFilters(): void {\r\n Filter.resetFilters(false);\r\n this.navigate(true);\r\n }\r\n\r\n private pushFilterItem(table: BreadcrumbFilter[], type: string, level: number) {\r\n let it: BreadcrumbFilter;\r\n it = {\r\n Id: Filter[type].Id,\r\n Name: Filter[type].Name,\r\n Type: level\r\n };\r\n\r\n let exist = false;\r\n for (let i = 0; i < table.length; ++i) {\r\n if (table[i].Type === level) {\r\n exist = true;\r\n break;\r\n }\r\n }\r\n if (!exist) {\r\n table.push(it);\r\n }\r\n }\r\n\r\n remove(filter: BreadcrumbFilter): void {\r\n this.filters.splice(filter.Type - 1);\r\n this.navigate(false);\r\n }\r\n\r\n removeGroup(filter: BreadcrumbFilter): void {\r\n this.groupfilters.splice(filter.Type - 1);\r\n this.navigate(false);\r\n }\r\n\r\n removeWord(filter: string): void {\r\n this.queryfilters.splice(this.queryfilters.indexOf(filter), 1);\r\n this.navigate(false);\r\n }\r\n\r\n private navigate(clear: boolean): void {\r\n if (!clear) {\r\n if (this.queryfilters.length) {\r\n this.router.navigate([\r\n Filter.Language,\r\n this.queryfilters.join(' '),\r\n this.filters.length + 1,\r\n this.filters.length > 0 ? this.filters[(this.filters.length - 1)].Id : 0,\r\n this.groupfilters.length + 1,\r\n this.groupfilters.length > 0 ? this.groupfilters[(this.groupfilters.length - 1)].Id : 0\r\n ]);\r\n } else {\r\n this.router.navigate([\r\n Filter.Language,\r\n this.filters.length + 1,\r\n this.filters.length > 0 ? this.filters[(this.filters.length - 1)].Id : 0,\r\n this.groupfilters.length + 1,\r\n this.groupfilters.length > 0 ? this.groupfilters[(this.groupfilters.length - 1)].Id : 0\r\n ]);\r\n }\r\n } else {\r\n this.router.navigate(['/' + Filter.Language + '/1/0/1/0']);\r\n }\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \":host {\\n display: flex;\\n height: calc(100% - 110px); }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZW1wdHkvQzpcXGk0QlxcUmVwb3NpdG9yaWVzXFx3ZWItY2F0YWxvZ1xcV2ViQ2F0YWxvZy5BUElcXGFwcC9zcmNcXGFwcFxcZW1wdHlcXGVtcHR5LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksYUFBYTtFQUNiLDBCQUEwQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvZW1wdHkvZW1wdHkuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMTBweCk7XHJcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router,\r\n ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-empty',\r\n templateUrl: './empty.component.html',\r\n styleUrls: ['./empty.component.scss']\r\n})\r\nexport class EmptyComponent implements OnInit {\r\n\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute) {\r\n }\r\n\r\n ngOnInit() {\r\n this.router.navigate(['/en/1/0/1/0'], {relativeTo: this.route});\r\n }\r\n\r\n}\r\n","import {\r\nPipe,\r\nPipeTransform\r\n} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter'\r\n})\r\n\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: any[], searchText: string): any[] {\r\n if (!items) {\r\n return [];\r\n }\r\n if (!searchText) {\r\n return items;\r\n }\r\n searchText = searchText.toLowerCase();\r\n\r\n return items.filter( it => {\r\n return it.Name.toLowerCase().includes(searchText);\r\n });\r\n }\r\n}\r\n","module.exports = \"\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".mat-list-item {\\n height: 40px;\\n font-size: 14px;\\n color: #000; }\\n\\n.mat-list-item:hover {\\n background-color: #24BE85; }\\n\\n.mat-icon.highlight-on-hover:hover {\\n color: #B5B9C7; }\\n\\n.section-space {\\n margin: 11px 0;\\n background-color: transparent; }\\n\\n.input-filter {\\n background-color: black;\\n padding: 0;\\n max-width: 100%;\\n height: 48px; }\\n\\n.input-filter__field {\\n color: white;\\n font-size: 18px;\\n width: 100%;\\n padding: 0 16px; }\\n\\n.item-list-container {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.item-list-container-mobile {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.mat-subheader {\\n height: 48px;\\n width: 300px;\\n background-color: black;\\n color: white;\\n font-family: \\\"Emotive Sans TT\\\", Helvetica;\\n font-size: 18px;\\n padding: 12px 16px 12px 16px; }\\n\\n.nav-list {\\n display: flex;\\n flex-direction: column;\\n height: 100vh; }\\n\\n.nav-list > * {\\n flex-shrink: 0; }\\n\\n.fill-space {\\n background-color: #00F890;\\n flex-grow: 1; }\\n\\n::ng-deep .mat-nav-list .mat-subheader:first-child {\\n margin-top: 0 !important; }\\n\\n.mat-icon-small {\\n height: 16px;\\n width: 16px;\\n margin-left: 4px;\\n line-height: 16px; }\\n\\n.last-list-item {\\n font-size: 12px;\\n font-weight: 600;\\n height: 35px;\\n padding-top: 10px; }\\n\\n.box-cut-end {\\n width: 300px;\\n height: 24px;\\n background-color: #00F890;\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);\\n clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%); }\\n\\n.small-icon-prefix {\\n height: 16px;\\n width: 16px;\\n margin-right: 10px; }\\n\\n.small-icon-suffix {\\n height: 16px;\\n width: 16px;\\n margin-left: 10px; }\\n\\n.bold-selection {\\n font-weight: 600; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmlsdGVycy1wYW5lbC9DOlxcaTRCXFxSZXBvc2l0b3JpZXNcXHdlYi1jYXRhbG9nXFxXZWJDYXRhbG9nLkFQSVxcYXBwL3NyY1xcYXBwXFxmaWx0ZXJzLXBhbmVsXFxmaWx0ZXJzLXBhbmVsLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9maWx0ZXJzLXBhbmVsL0M6XFxpNEJcXFJlcG9zaXRvcmllc1xcd2ViLWNhdGFsb2dcXFdlYkNhdGFsb2cuQVBJXFxhcHAvc3JjXFxhcHBcXF92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2YsV0FBVyxFQUFBOztBQUdiO0VBQ0UseUJBQXlCLEVBQUE7O0FBRzNCO0VBQ0UsY0FBYyxFQUFBOztBQUVoQjtFQUNFLGNBQWM7RUFDZCw2QkFBNkIsRUFBQTs7QUFHL0I7RUFDRSx1QkFBdUI7RUFDdkIsVUFBVTtFQUNWLGVBQWU7RUFDZixZQUFZLEVBQUE7O0FBRVo7SUFDRSxZQUFZO0lBQ1osZUFBZTtJQUNmLFdBQVc7SUFDWCxlQUFlLEVBQUE7O0FBS25CO0VBQ0UseUJBQXlCO0VBQ3pCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLHNCQUFzQixFQUFBOztBQUl4QjtFQUNFLHlCQUF5QjtFQUN6QixVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxzQkFBc0IsRUFBQTs7QUFJeEI7RUFDSSxZQUFZO0VBQ1osWUFBWTtFQUNaLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1oseUNDdkR5QztFRHdEekMsZUFBZTtFQUNmLDRCQUE0QixFQUFBOztBQU1oQztFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsYUFBYSxFQUFBOztBQUdmO0VBQ0UsY0FBYyxFQUFBOztBQUdoQjtFQUNFLHlCQ3RFb0I7RUR1RXBCLFlBQVksRUFBQTs7QUFHZDtFQUNFLHdCQUF3QixFQUFBOztBQUcxQjtFQUNJLFlBQVk7RUFDWixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUFBOztBQUdyQjtFQUNJLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGlCQUFpQixFQUFBOztBQUdyQjtFQUNFLFlBQVk7RUFDWixZQUFZO0VBQ1oseUJDL0ZvQjtFRGdHcEIsK0ZBQXVGO1VBQXZGLHVGQUF1RixFQUFBOztBQUd6RjtFQUNFLFlBQVk7RUFDWixXQUFXO0VBQ1gsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxpQkFBaUIsRUFBQTs7QUFHbkI7RUFDSSxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2ZpbHRlcnMtcGFuZWwvZmlsdGVycy1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4uL192YXJpYWJsZXMuc2Nzcyc7XHJcblxyXG4ubWF0LWxpc3QtaXRlbSB7XHJcbiAgaGVpZ2h0OiA0MHB4O1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLm1hdC1saXN0LWl0ZW06aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyNEJFODU7XHJcbn1cclxuXHJcbi5tYXQtaWNvbi5oaWdobGlnaHQtb24taG92ZXI6aG92ZXIge1xyXG4gIGNvbG9yOiAjQjVCOUM3O1xyXG59XHJcbi5zZWN0aW9uLXNwYWNlIHtcclxuICBtYXJnaW46IDExcHggMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmlucHV0LWZpbHRlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA0OHB4O1xyXG5cclxuICAmX19maWVsZCB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDAgMTZweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4uaXRlbS1saXN0LWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwRjg5MDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5cclxuLml0ZW0tbGlzdC1jb250YWluZXItbW9iaWxlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBGODkwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcblxyXG4ubWF0LXN1YmhlYWRlciB7XHJcbiAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zLWZvbnQ7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHggMTJweCAxNnB4O1xyXG5cclxufVxyXG5cclxuXHJcblxyXG4ubmF2LWxpc3Qge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBoZWlnaHQ6IDEwMHZoOyBcclxufVxyXG5cclxuLm5hdi1saXN0ID4gKiB7XHJcbiAgZmxleC1zaHJpbms6IDA7IFxyXG59XHJcblxyXG4uZmlsbC1zcGFjZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vdGl2ZS1jb2xvcjsgXHJcbiAgZmxleC1ncm93OiAxOyBcclxufVxyXG5cclxuOjpuZy1kZWVwIC5tYXQtbmF2LWxpc3QgLm1hdC1zdWJoZWFkZXI6Zmlyc3QtY2hpbGQge1xyXG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1hdC1pY29uLXNtYWxse1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi5sYXN0LWxpc3QtaXRlbSB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5ib3gtY3V0LWVuZCB7XHJcbiAgd2lkdGg6IDMwMHB4O1xyXG4gIGhlaWdodDogMjRweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW90aXZlLWNvbG9yO1xyXG4gIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSBjYWxjKDEwMCUgLSAyNHB4KSwgY2FsYygxMDAlIC0gMjRweCkgMTAwJSwgMCAxMDAlKTtcclxufVxyXG5cclxuLnNtYWxsLWljb24tcHJlZml4IHtcclxuICBoZWlnaHQ6IDE2cHg7XHJcbiAgd2lkdGg6IDE2cHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uc21hbGwtaWNvbi1zdWZmaXgge1xyXG4gIGhlaWdodDogMTZweDtcclxuICB3aWR0aDogMTZweDtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLmJvbGQtc2VsZWN0aW9ue1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4iLCIkYm94LXNoYWRvdy1kZWZhdWx0OiBub25lICFkZWZhdWx0O1xyXG4kcGFuZWwtbWFyZ2luLWRlZmF1bHQ6IDEwcHggMTBweCAxMHB4IDEwcHg7XHJcbiRmaWx0ZXJzLXBhbmVsLW1heC13aWR0aDogMzAwcHg7XHJcbiRvcGVuLXNhbnMtZm9udDogJ0Vtb3RpdmUgU2FucyBUVCcsIEhlbHZldGljYTtcclxuJG9wdGltYWwtY29sb3I6IHJnYigyNiwgNTEsIDg4KTtcclxuJGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiRoZWFkZXItZm9vdGVyLWJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XHJcbiRtb3RpdmUtY29sb3I6ICMwMEY4OTA7XHJcbiJdfQ== */\"","import { Component,\r\n OnInit,\r\n OnDestroy,\r\n ChangeDetectorRef\r\n} from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../store/reducer';\r\nimport { ActivatedRoute,\r\n Router\r\n} from '@angular/router';\r\nimport { Filter } from '../models/filter.model';\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-filters-panel',\r\n templateUrl: './filters-panel.component.html',\r\n styleUrls: ['./filters-panel.component.scss']\r\n})\r\nexport class FiltersPanelComponent implements OnInit, OnDestroy {\r\n\r\n appLevel = 1;\r\n groupLevel = 1;\r\n showApps = false;\r\n showGroups = false;\r\n\r\n mobileQuery: MediaQueryList;\r\n private _mobileQueryListener: () => void;\r\n constructor(private store: Store,\r\n changeDetectorRef: ChangeDetectorRef,\r\n media: MediaMatcher) {\r\n this.mobileQuery = media.matchMedia(environment.mediaMatcher);\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (state.loadedArticles) {\r\n this.appLevel = state.result.Aggregations.ApplicationsAggregationItem.AggregationLevel;\r\n this.groupLevel = state.result.Aggregations.ArticleGroupAggregationItem.AggregationLevel;\r\n if (state.result.Aggregations.ApplicationsAggregationItem.BaseItems.length !== 0) {\r\n this.showApps = true;\r\n } else {\r\n this.showApps = false;\r\n }\r\n if (state.result.Aggregations.ArticleGroupAggregationItem.BaseItems.length !== 0) {\r\n this.showGroups = true;\r\n } else {\r\n this.showGroups = false;\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.mobileQuery.removeListener(this._mobileQueryListener);\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \".mat-list-item {\\n height: 40px;\\n font-size: 14px;\\n color: #000; }\\n\\n.mat-list-item:hover {\\n background-color: #24BE85; }\\n\\n.mat-icon.highlight-on-hover:hover {\\n color: #B5B9C7; }\\n\\n.section-space {\\n margin: 11px 0;\\n background-color: transparent; }\\n\\n.input-filter {\\n background-color: black;\\n padding: 0;\\n max-width: 100%;\\n height: 48px; }\\n\\n.input-filter__field {\\n color: white;\\n font-size: 18px;\\n width: 100%;\\n padding: 0 16px; }\\n\\n.item-list-container {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.item-list-container-mobile {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.mat-subheader {\\n height: 48px;\\n width: 300px;\\n background-color: black;\\n color: white;\\n font-family: \\\"Emotive Sans TT\\\", Helvetica;\\n font-size: 18px;\\n padding: 12px 16px 12px 16px; }\\n\\n.nav-list {\\n display: flex;\\n flex-direction: column;\\n height: 100vh; }\\n\\n.nav-list > * {\\n flex-shrink: 0; }\\n\\n.fill-space {\\n background-color: #00F890;\\n flex-grow: 1; }\\n\\n::ng-deep .mat-nav-list .mat-subheader:first-child {\\n margin-top: 0 !important; }\\n\\n.mat-icon-small {\\n height: 16px;\\n width: 16px;\\n margin-left: 4px;\\n line-height: 16px; }\\n\\n.last-list-item {\\n font-size: 12px;\\n font-weight: 600;\\n height: 35px;\\n padding-top: 10px; }\\n\\n.box-cut-end {\\n width: 300px;\\n height: 24px;\\n background-color: #00F890;\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);\\n clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%); }\\n\\n.small-icon-prefix {\\n height: 16px;\\n width: 16px;\\n margin-right: 10px; }\\n\\n.small-icon-suffix {\\n height: 16px;\\n width: 16px;\\n margin-left: 10px; }\\n\\n.bold-selection {\\n font-weight: 600; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmlsdGVycy1wYW5lbC9ncm91cC1vbmUvQzpcXGk0QlxcUmVwb3NpdG9yaWVzXFx3ZWItY2F0YWxvZ1xcV2ViQ2F0YWxvZy5BUElcXGFwcC9zcmNcXGFwcFxcZmlsdGVycy1wYW5lbFxcZmlsdGVycy1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvZmlsdGVycy1wYW5lbC9ncm91cC1vbmUvQzpcXGk0QlxcUmVwb3NpdG9yaWVzXFx3ZWItY2F0YWxvZ1xcV2ViQ2F0YWxvZy5BUElcXGFwcC9zcmNcXGFwcFxcX3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0UsWUFBWTtFQUNaLGVBQWU7RUFDZixXQUFXLEVBQUE7O0FBR2I7RUFDRSx5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSxjQUFjLEVBQUE7O0FBRWhCO0VBQ0UsY0FBYztFQUNkLDZCQUE2QixFQUFBOztBQUcvQjtFQUNFLHVCQUF1QjtFQUN2QixVQUFVO0VBQ1YsZUFBZTtFQUNmLFlBQVksRUFBQTs7QUFFWjtJQUNFLFlBQVk7SUFDWixlQUFlO0lBQ2YsV0FBVztJQUNYLGVBQWUsRUFBQTs7QUFLbkI7RUFDRSx5QkFBeUI7RUFDekIsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsc0JBQXNCLEVBQUE7O0FBSXhCO0VBQ0UseUJBQXlCO0VBQ3pCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLHNCQUFzQixFQUFBOztBQUl4QjtFQUNJLFlBQVk7RUFDWixZQUFZO0VBQ1osdUJBQXVCO0VBQ3ZCLFlBQVk7RUFDWix5Q0N2RHlDO0VEd0R6QyxlQUFlO0VBQ2YsNEJBQTRCLEVBQUE7O0FBTWhDO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixhQUFhLEVBQUE7O0FBR2Y7RUFDRSxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UseUJDdEVvQjtFRHVFcEIsWUFBWSxFQUFBOztBQUdkO0VBQ0Usd0JBQXdCLEVBQUE7O0FBRzFCO0VBQ0ksWUFBWTtFQUNaLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0ksZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0UsWUFBWTtFQUNaLFlBQVk7RUFDWix5QkMvRm9CO0VEZ0dwQiwrRkFBdUY7VUFBdkYsdUZBQXVGLEVBQUE7O0FBR3pGO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxZQUFZO0VBQ1osV0FBVztFQUNYLGlCQUFpQixFQUFBOztBQUduQjtFQUNJLGdCQUFnQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvZmlsdGVycy1wYW5lbC9ncm91cC1vbmUvZ3JvdXAtb25lLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vX3ZhcmlhYmxlcy5zY3NzJztcclxuXHJcbi5tYXQtbGlzdC1pdGVtIHtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG4ubWF0LWxpc3QtaXRlbTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0QkU4NTtcclxufVxyXG5cclxuLm1hdC1pY29uLmhpZ2hsaWdodC1vbi1ob3Zlcjpob3ZlciB7XHJcbiAgY29sb3I6ICNCNUI5Qzc7XHJcbn1cclxuLnNlY3Rpb24tc3BhY2Uge1xyXG4gIG1hcmdpbjogMTFweCAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uaW5wdXQtZmlsdGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDQ4cHg7XHJcblxyXG4gICZfX2ZpZWxkIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMCAxNnB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5pdGVtLWxpc3QtY29udGFpbmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBGODkwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcblxyXG4uaXRlbS1saXN0LWNvbnRhaW5lci1tb2JpbGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEY4OTA7XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbi5tYXQtc3ViaGVhZGVyIHtcclxuICAgIGhlaWdodDogNDhweDtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtZm9udDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHBhZGRpbmc6IDEycHggMTZweCAxMnB4IDE2cHg7XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi5uYXYtbGlzdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGhlaWdodDogMTAwdmg7IFxyXG59XHJcblxyXG4ubmF2LWxpc3QgPiAqIHtcclxuICBmbGV4LXNocmluazogMDsgXHJcbn1cclxuXHJcbi5maWxsLXNwYWNlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW90aXZlLWNvbG9yOyBcclxuICBmbGV4LWdyb3c6IDE7IFxyXG59XHJcblxyXG46Om5nLWRlZXAgLm1hdC1uYXYtbGlzdCAubWF0LXN1YmhlYWRlcjpmaXJzdC1jaGlsZCB7XHJcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWF0LWljb24tc21hbGx7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxufVxyXG5cclxuLmxhc3QtbGlzdC1pdGVtIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG5cclxuLmJveC1jdXQtZW5kIHtcclxuICB3aWR0aDogMzAwcHg7XHJcbiAgaGVpZ2h0OiAyNHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRtb3RpdmUtY29sb3I7XHJcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDI0cHgpLCBjYWxjKDEwMCUgLSAyNHB4KSAxMDAlLCAwIDEwMCUpO1xyXG59XHJcblxyXG4uc21hbGwtaWNvbi1wcmVmaXgge1xyXG4gIGhlaWdodDogMTZweDtcclxuICB3aWR0aDogMTZweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5zbWFsbC1pY29uLXN1ZmZpeCB7XHJcbiAgaGVpZ2h0OiAxNnB4O1xyXG4gIHdpZHRoOiAxNnB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uYm9sZC1zZWxlY3Rpb257XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcbiIsIiRib3gtc2hhZG93LWRlZmF1bHQ6IG5vbmUgIWRlZmF1bHQ7XHJcbiRwYW5lbC1tYXJnaW4tZGVmYXVsdDogMTBweCAxMHB4IDEwcHggMTBweDtcclxuJGZpbHRlcnMtcGFuZWwtbWF4LXdpZHRoOiAzMDBweDtcclxuJG9wZW4tc2Fucy1mb250OiAnRW1vdGl2ZSBTYW5zIFRUJywgSGVsdmV0aWNhO1xyXG4kb3B0aW1hbC1jb2xvcjogcmdiKDI2LCA1MSwgODgpO1xyXG4kYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuJGhlYWRlci1mb290ZXItYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuJG1vdGl2ZS1jb2xvcjogIzAwRjg5MDtcclxuIl19 */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ActivatedRoute,\r\n Router\r\n} from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../../store/reducer';\r\n\r\nimport * as ArticlesActions from '../../store/actions';\r\nimport { Filter } from '../../models/filter.model';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-group-one',\r\n templateUrl: './group-one.component.html',\r\n styleUrls: ['./group-one.component.scss']\r\n})\r\nexport class GroupOneComponent implements OnInit {\r\n\r\n allGroups = [];\r\n query = '';\r\n private app = Filter.getAggregationAndId('app');\r\n maxNumber = environment.defaultItemsNumber;\r\n private defaultMaxNumber = environment.defaultItemsNumber;\r\n showMoreButton = true;\r\n showLessButton = false;\r\n @Input() isMobile: boolean;\r\n\r\n constructor(private store: Store,\r\n private route: ActivatedRoute,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (state.loadedArticles) {\r\n if (!state.togglingSidenav\r\n && state.result.Aggregations.ArticleGroupAggregationItem.BaseItems.length !== 0\r\n && state.result.Aggregations.ArticleGroupAggregationItem.AggregationLevel === 1) {\r\n\r\n this.app = Filter.getAggregationAndId('app');\r\n\r\n Filter.resetValue('Group1');\r\n\r\n if (Filter.Offset === 0) {\r\n this.allGroups = [];\r\n\r\n Object.assign(this.allGroups, state.result.Aggregations.ArticleGroupAggregationItem.BaseItems);\r\n\r\n this.maxNumber = this.defaultMaxNumber;\r\n if (this.allGroups.length < this.maxNumber) {\r\n this.maxNumber = this.allGroups.length;\r\n }\r\n }\r\n this.showMoreButton = true;\r\n\r\n this.hideExtensionButtons();\r\n\r\n this.store.dispatch({type: ArticlesActions.ActionTypes.CHANGE_FILTERS, payload: {\r\n filters: Filter\r\n }});\r\n } else if (!state.togglingSidenav\r\n && state.result.Aggregations.ArticleGroupAggregationItem.BaseItems.length === 0\r\n && state.result.Aggregations.ArticleGroupAggregationItem.AggregationLevel === 1) {\r\n this.allGroups = [];\r\n\r\n this.store.dispatch({type: ArticlesActions.ActionTypes.CHANGE_FILTERS, payload: {\r\n filters: Filter\r\n }});\r\n }\r\n }\r\n });\r\n }\r\n\r\n navigateDown(item: any) {\r\n if (Filter.Query.length) {\r\n this.router.navigate([Filter.Query.join(' '), this.app.lvl, this.app.id, '2', item.Id], {relativeTo: this.route.parent});\r\n } else {\r\n this.router.navigate([this.app.lvl, this.app.id, '2', item.Id], {relativeTo: this.route.parent});\r\n }\r\n }\r\n\r\n showMore(show: boolean) {\r\n if (show) {\r\n this.maxNumber = this.allGroups.length;\r\n } else {\r\n this.maxNumber = this.defaultMaxNumber;\r\n }\r\n this.showLessButton = show;\r\n this.showMoreButton = !show;\r\n this.hideExtensionButtons();\r\n }\r\n\r\n hideExtensionButtons() {\r\n if (this.allGroups.length <= this.maxNumber) {\r\n this.maxNumber = this.allGroups.length;\r\n this.showMoreButton = false;\r\n this.showLessButton = false;\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"

\\r\\n {{'GroupAggregation.subgroup' | translate}}\\r\\n

\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".mat-list-item {\\n height: 40px;\\n font-size: 14px;\\n color: #000; }\\n\\n.mat-list-item:hover {\\n background-color: #24BE85; }\\n\\n.mat-icon.highlight-on-hover:hover {\\n color: #B5B9C7; }\\n\\n.section-space {\\n margin: 11px 0;\\n background-color: transparent; }\\n\\n.input-filter {\\n background-color: black;\\n padding: 0;\\n max-width: 100%;\\n height: 48px; }\\n\\n.input-filter__field {\\n color: white;\\n font-size: 18px;\\n width: 100%;\\n padding: 0 16px; }\\n\\n.item-list-container {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.item-list-container-mobile {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.mat-subheader {\\n height: 48px;\\n width: 300px;\\n background-color: black;\\n color: white;\\n font-family: \\\"Emotive Sans TT\\\", Helvetica;\\n font-size: 18px;\\n padding: 12px 16px 12px 16px; }\\n\\n.nav-list {\\n display: flex;\\n flex-direction: column;\\n height: 100vh; }\\n\\n.nav-list > * {\\n flex-shrink: 0; }\\n\\n.fill-space {\\n background-color: #00F890;\\n flex-grow: 1; }\\n\\n::ng-deep .mat-nav-list .mat-subheader:first-child {\\n margin-top: 0 !important; }\\n\\n.mat-icon-small {\\n height: 16px;\\n width: 16px;\\n margin-left: 4px;\\n line-height: 16px; }\\n\\n.last-list-item {\\n font-size: 12px;\\n font-weight: 600;\\n height: 35px;\\n padding-top: 10px; }\\n\\n.box-cut-end {\\n width: 300px;\\n height: 24px;\\n background-color: #00F890;\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);\\n clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%); }\\n\\n.small-icon-prefix {\\n height: 16px;\\n width: 16px;\\n margin-right: 10px; }\\n\\n.small-icon-suffix {\\n height: 16px;\\n width: 16px;\\n margin-left: 10px; }\\n\\n.bold-selection {\\n font-weight: 600; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmlsdGVycy1wYW5lbC9ncm91cC1zZWxlY3RlZC9DOlxcaTRCXFxSZXBvc2l0b3JpZXNcXHdlYi1jYXRhbG9nXFxXZWJDYXRhbG9nLkFQSVxcYXBwL3NyY1xcYXBwXFxmaWx0ZXJzLXBhbmVsXFxmaWx0ZXJzLXBhbmVsLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9maWx0ZXJzLXBhbmVsL2dyb3VwLXNlbGVjdGVkL0M6XFxpNEJcXFJlcG9zaXRvcmllc1xcd2ViLWNhdGFsb2dcXFdlYkNhdGFsb2cuQVBJXFxhcHAvc3JjXFxhcHBcXF92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2YsV0FBVyxFQUFBOztBQUdiO0VBQ0UseUJBQXlCLEVBQUE7O0FBRzNCO0VBQ0UsY0FBYyxFQUFBOztBQUVoQjtFQUNFLGNBQWM7RUFDZCw2QkFBNkIsRUFBQTs7QUFHL0I7RUFDRSx1QkFBdUI7RUFDdkIsVUFBVTtFQUNWLGVBQWU7RUFDZixZQUFZLEVBQUE7O0FBRVo7SUFDRSxZQUFZO0lBQ1osZUFBZTtJQUNmLFdBQVc7SUFDWCxlQUFlLEVBQUE7O0FBS25CO0VBQ0UseUJBQXlCO0VBQ3pCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLHNCQUFzQixFQUFBOztBQUl4QjtFQUNFLHlCQUF5QjtFQUN6QixVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxzQkFBc0IsRUFBQTs7QUFJeEI7RUFDSSxZQUFZO0VBQ1osWUFBWTtFQUNaLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1oseUNDdkR5QztFRHdEekMsZUFBZTtFQUNmLDRCQUE0QixFQUFBOztBQU1oQztFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsYUFBYSxFQUFBOztBQUdmO0VBQ0UsY0FBYyxFQUFBOztBQUdoQjtFQUNFLHlCQ3RFb0I7RUR1RXBCLFlBQVksRUFBQTs7QUFHZDtFQUNFLHdCQUF3QixFQUFBOztBQUcxQjtFQUNJLFlBQVk7RUFDWixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUFBOztBQUdyQjtFQUNJLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGlCQUFpQixFQUFBOztBQUdyQjtFQUNFLFlBQVk7RUFDWixZQUFZO0VBQ1oseUJDL0ZvQjtFRGdHcEIsK0ZBQXVGO1VBQXZGLHVGQUF1RixFQUFBOztBQUd6RjtFQUNFLFlBQVk7RUFDWixXQUFXO0VBQ1gsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxpQkFBaUIsRUFBQTs7QUFHbkI7RUFDSSxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2ZpbHRlcnMtcGFuZWwvZ3JvdXAtc2VsZWN0ZWQvZ3JvdXAtc2VsZWN0ZWQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi9fdmFyaWFibGVzLnNjc3MnO1xyXG5cclxuLm1hdC1saXN0LWl0ZW0ge1xyXG4gIGhlaWdodDogNDBweDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5tYXQtbGlzdC1pdGVtOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjRCRTg1O1xyXG59XHJcblxyXG4ubWF0LWljb24uaGlnaGxpZ2h0LW9uLWhvdmVyOmhvdmVyIHtcclxuICBjb2xvcjogI0I1QjlDNztcclxufVxyXG4uc2VjdGlvbi1zcGFjZSB7XHJcbiAgbWFyZ2luOiAxMXB4IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5pbnB1dC1maWx0ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogNDhweDtcclxuXHJcbiAgJl9fZmllbGQge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwIDE2cHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLml0ZW0tbGlzdC1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEY4OTA7XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbi5pdGVtLWxpc3QtY29udGFpbmVyLW1vYmlsZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwRjg5MDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5cclxuLm1hdC1zdWJoZWFkZXIge1xyXG4gICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1mb250O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgcGFkZGluZzogMTJweCAxNnB4IDEycHggMTZweDtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuLm5hdi1saXN0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgaGVpZ2h0OiAxMDB2aDsgXHJcbn1cclxuXHJcbi5uYXYtbGlzdCA+ICoge1xyXG4gIGZsZXgtc2hyaW5rOiAwOyBcclxufVxyXG5cclxuLmZpbGwtc3BhY2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRtb3RpdmUtY29sb3I7IFxyXG4gIGZsZXgtZ3JvdzogMTsgXHJcbn1cclxuXHJcbjo6bmctZGVlcCAubWF0LW5hdi1saXN0IC5tYXQtc3ViaGVhZGVyOmZpcnN0LWNoaWxkIHtcclxuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXQtaWNvbi1zbWFsbHtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4ubGFzdC1saXN0LWl0ZW0ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uYm94LWN1dC1lbmQge1xyXG4gIHdpZHRoOiAzMDBweDtcclxuICBoZWlnaHQ6IDI0cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vdGl2ZS1jb2xvcjtcclxuICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gMjRweCksIGNhbGMoMTAwJSAtIDI0cHgpIDEwMCUsIDAgMTAwJSk7XHJcbn1cclxuXHJcbi5zbWFsbC1pY29uLXByZWZpeCB7XHJcbiAgaGVpZ2h0OiAxNnB4O1xyXG4gIHdpZHRoOiAxNnB4O1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLnNtYWxsLWljb24tc3VmZml4IHtcclxuICBoZWlnaHQ6IDE2cHg7XHJcbiAgd2lkdGg6IDE2cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5ib2xkLXNlbGVjdGlvbntcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuIiwiJGJveC1zaGFkb3ctZGVmYXVsdDogbm9uZSAhZGVmYXVsdDtcclxuJHBhbmVsLW1hcmdpbi1kZWZhdWx0OiAxMHB4IDEwcHggMTBweCAxMHB4O1xyXG4kZmlsdGVycy1wYW5lbC1tYXgtd2lkdGg6IDMwMHB4O1xyXG4kb3Blbi1zYW5zLWZvbnQ6ICdFbW90aXZlIFNhbnMgVFQnLCBIZWx2ZXRpY2E7XHJcbiRvcHRpbWFsLWNvbG9yOiByZ2IoMjYsIDUxLCA4OCk7XHJcbiRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4kaGVhZGVyLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xyXG4kbW90aXZlLWNvbG9yOiAjMDBGODkwO1xyXG4iXX0= */\"","import { Component,\r\n OnInit,\r\n Input\r\n} from '@angular/core';\r\nimport { ActivatedRoute,\r\n Router,\r\n ParamMap\r\n} from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../../store/reducer';\r\n\r\nimport * as ArticlesActions from '../../store/actions';\r\nimport { Filter } from '../../models/filter.model';\r\n\r\n@Component({\r\n selector: 'app-group-selected',\r\n templateUrl: './group-selected.component.html',\r\n styleUrls: ['./group-selected.component.scss']\r\n})\r\nexport class GroupSelectedComponent implements OnInit {\r\n parent = {\r\n Name: '',\r\n Id: 0\r\n };\r\n viewValue = {\r\n Name: '',\r\n Id: 0\r\n };\r\n private app = Filter.getAggregationAndId('app');\r\n @Input() isMobile: boolean;\r\n\r\n constructor(private store: Store,\r\n private route: ActivatedRoute,\r\n private router: Router) {\r\n }\r\n\r\n ngOnInit() {\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (state.loadedArticles) {\r\n if (!state.togglingSidenav\r\n && state.result.Aggregations.ArticleGroupAggregationItem.BaseItems.length !== 0\r\n && state.result.Aggregations.ArticleGroupAggregationItem.AggregationLevel === 4) {\r\n this.app = Filter.getAggregationAndId('app');\r\n if (!state.filters.Group1.Name) {\r\n Filter.setFilterFromItemGrandParent(state, 'Group1', 'groups');\r\n }\r\n if (!state.filters.Group2.Name) {\r\n Filter.setFilterFromItemParent(state, 'Group2', 'groups');\r\n }\r\n if (!state.filters.Group3.Name) {\r\n Filter.setFilterFromItemProper(state, 'Group3', 'groups');\r\n }\r\n\r\n this.parent = Filter.getValue('Group2');\r\n this.viewValue = Filter.getValue('Group3');\r\n\r\n this.store.dispatch({type: ArticlesActions.ActionTypes.CHANGE_FILTERS, payload: {\r\n filters: Filter\r\n }});\r\n }\r\n }\r\n });\r\n }\r\n\r\n navigateUp() {\r\n if (Filter.Query.length) {\r\n this.router.navigate([Filter.Query.join(' '), this.app.lvl, this.app.id, '3', this.parent.Id], {relativeTo: this.route.parent});\r\n } else {\r\n this.router.navigate([this.app.lvl, this.app.id, '3', this.parent.Id], {relativeTo: this.route.parent});\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".mat-list-item {\\n height: 40px;\\n font-size: 14px;\\n color: #000; }\\n\\n.mat-list-item:hover {\\n background-color: #24BE85; }\\n\\n.mat-icon.highlight-on-hover:hover {\\n color: #B5B9C7; }\\n\\n.section-space {\\n margin: 11px 0;\\n background-color: transparent; }\\n\\n.input-filter {\\n background-color: black;\\n padding: 0;\\n max-width: 100%;\\n height: 48px; }\\n\\n.input-filter__field {\\n color: white;\\n font-size: 18px;\\n width: 100%;\\n padding: 0 16px; }\\n\\n.item-list-container {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.item-list-container-mobile {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.mat-subheader {\\n height: 48px;\\n width: 300px;\\n background-color: black;\\n color: white;\\n font-family: \\\"Emotive Sans TT\\\", Helvetica;\\n font-size: 18px;\\n padding: 12px 16px 12px 16px; }\\n\\n.nav-list {\\n display: flex;\\n flex-direction: column;\\n height: 100vh; }\\n\\n.nav-list > * {\\n flex-shrink: 0; }\\n\\n.fill-space {\\n background-color: #00F890;\\n flex-grow: 1; }\\n\\n::ng-deep .mat-nav-list .mat-subheader:first-child {\\n margin-top: 0 !important; }\\n\\n.mat-icon-small {\\n height: 16px;\\n width: 16px;\\n margin-left: 4px;\\n line-height: 16px; }\\n\\n.last-list-item {\\n font-size: 12px;\\n font-weight: 600;\\n height: 35px;\\n padding-top: 10px; }\\n\\n.box-cut-end {\\n width: 300px;\\n height: 24px;\\n background-color: #00F890;\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);\\n clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%); }\\n\\n.small-icon-prefix {\\n height: 16px;\\n width: 16px;\\n margin-right: 10px; }\\n\\n.small-icon-suffix {\\n height: 16px;\\n width: 16px;\\n margin-left: 10px; }\\n\\n.bold-selection {\\n font-weight: 600; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmlsdGVycy1wYW5lbC9ncm91cC10aHJlZS9DOlxcaTRCXFxSZXBvc2l0b3JpZXNcXHdlYi1jYXRhbG9nXFxXZWJDYXRhbG9nLkFQSVxcYXBwL3NyY1xcYXBwXFxmaWx0ZXJzLXBhbmVsXFxmaWx0ZXJzLXBhbmVsLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9maWx0ZXJzLXBhbmVsL2dyb3VwLXRocmVlL0M6XFxpNEJcXFJlcG9zaXRvcmllc1xcd2ViLWNhdGFsb2dcXFdlYkNhdGFsb2cuQVBJXFxhcHAvc3JjXFxhcHBcXF92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2YsV0FBVyxFQUFBOztBQUdiO0VBQ0UseUJBQXlCLEVBQUE7O0FBRzNCO0VBQ0UsY0FBYyxFQUFBOztBQUVoQjtFQUNFLGNBQWM7RUFDZCw2QkFBNkIsRUFBQTs7QUFHL0I7RUFDRSx1QkFBdUI7RUFDdkIsVUFBVTtFQUNWLGVBQWU7RUFDZixZQUFZLEVBQUE7O0FBRVo7SUFDRSxZQUFZO0lBQ1osZUFBZTtJQUNmLFdBQVc7SUFDWCxlQUFlLEVBQUE7O0FBS25CO0VBQ0UseUJBQXlCO0VBQ3pCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLHNCQUFzQixFQUFBOztBQUl4QjtFQUNFLHlCQUF5QjtFQUN6QixVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxzQkFBc0IsRUFBQTs7QUFJeEI7RUFDSSxZQUFZO0VBQ1osWUFBWTtFQUNaLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1oseUNDdkR5QztFRHdEekMsZUFBZTtFQUNmLDRCQUE0QixFQUFBOztBQU1oQztFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsYUFBYSxFQUFBOztBQUdmO0VBQ0UsY0FBYyxFQUFBOztBQUdoQjtFQUNFLHlCQ3RFb0I7RUR1RXBCLFlBQVksRUFBQTs7QUFHZDtFQUNFLHdCQUF3QixFQUFBOztBQUcxQjtFQUNJLFlBQVk7RUFDWixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUFBOztBQUdyQjtFQUNJLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGlCQUFpQixFQUFBOztBQUdyQjtFQUNFLFlBQVk7RUFDWixZQUFZO0VBQ1oseUJDL0ZvQjtFRGdHcEIsK0ZBQXVGO1VBQXZGLHVGQUF1RixFQUFBOztBQUd6RjtFQUNFLFlBQVk7RUFDWixXQUFXO0VBQ1gsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxpQkFBaUIsRUFBQTs7QUFHbkI7RUFDSSxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2ZpbHRlcnMtcGFuZWwvZ3JvdXAtdGhyZWUvZ3JvdXAtdGhyZWUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi9fdmFyaWFibGVzLnNjc3MnO1xyXG5cclxuLm1hdC1saXN0LWl0ZW0ge1xyXG4gIGhlaWdodDogNDBweDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5tYXQtbGlzdC1pdGVtOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjRCRTg1O1xyXG59XHJcblxyXG4ubWF0LWljb24uaGlnaGxpZ2h0LW9uLWhvdmVyOmhvdmVyIHtcclxuICBjb2xvcjogI0I1QjlDNztcclxufVxyXG4uc2VjdGlvbi1zcGFjZSB7XHJcbiAgbWFyZ2luOiAxMXB4IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5pbnB1dC1maWx0ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogNDhweDtcclxuXHJcbiAgJl9fZmllbGQge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwIDE2cHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLml0ZW0tbGlzdC1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEY4OTA7XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbi5pdGVtLWxpc3QtY29udGFpbmVyLW1vYmlsZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwRjg5MDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5cclxuLm1hdC1zdWJoZWFkZXIge1xyXG4gICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1mb250O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgcGFkZGluZzogMTJweCAxNnB4IDEycHggMTZweDtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuLm5hdi1saXN0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgaGVpZ2h0OiAxMDB2aDsgXHJcbn1cclxuXHJcbi5uYXYtbGlzdCA+ICoge1xyXG4gIGZsZXgtc2hyaW5rOiAwOyBcclxufVxyXG5cclxuLmZpbGwtc3BhY2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRtb3RpdmUtY29sb3I7IFxyXG4gIGZsZXgtZ3JvdzogMTsgXHJcbn1cclxuXHJcbjo6bmctZGVlcCAubWF0LW5hdi1saXN0IC5tYXQtc3ViaGVhZGVyOmZpcnN0LWNoaWxkIHtcclxuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXQtaWNvbi1zbWFsbHtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4ubGFzdC1saXN0LWl0ZW0ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uYm94LWN1dC1lbmQge1xyXG4gIHdpZHRoOiAzMDBweDtcclxuICBoZWlnaHQ6IDI0cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vdGl2ZS1jb2xvcjtcclxuICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gMjRweCksIGNhbGMoMTAwJSAtIDI0cHgpIDEwMCUsIDAgMTAwJSk7XHJcbn1cclxuXHJcbi5zbWFsbC1pY29uLXByZWZpeCB7XHJcbiAgaGVpZ2h0OiAxNnB4O1xyXG4gIHdpZHRoOiAxNnB4O1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLnNtYWxsLWljb24tc3VmZml4IHtcclxuICBoZWlnaHQ6IDE2cHg7XHJcbiAgd2lkdGg6IDE2cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5ib2xkLXNlbGVjdGlvbntcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuIiwiJGJveC1zaGFkb3ctZGVmYXVsdDogbm9uZSAhZGVmYXVsdDtcclxuJHBhbmVsLW1hcmdpbi1kZWZhdWx0OiAxMHB4IDEwcHggMTBweCAxMHB4O1xyXG4kZmlsdGVycy1wYW5lbC1tYXgtd2lkdGg6IDMwMHB4O1xyXG4kb3Blbi1zYW5zLWZvbnQ6ICdFbW90aXZlIFNhbnMgVFQnLCBIZWx2ZXRpY2E7XHJcbiRvcHRpbWFsLWNvbG9yOiByZ2IoMjYsIDUxLCA4OCk7XHJcbiRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4kaGVhZGVyLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xyXG4kbW90aXZlLWNvbG9yOiAjMDBGODkwO1xyXG4iXX0= */\"","import { Component,\r\n OnInit,\r\n Input\r\n} from '@angular/core';\r\nimport { ActivatedRoute,\r\n Router,\r\n ParamMap\r\n} from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../../store/reducer';\r\n\r\nimport * as ArticlesActions from '../../store/actions';\r\nimport { Filter } from '../../models/filter.model';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-group-three',\r\n templateUrl: './group-three.component.html',\r\n styleUrls: ['./group-three.component.scss']\r\n})\r\nexport class GroupThreeComponent implements OnInit {\r\n\r\n allGroups = [];\r\n query = '';\r\n parent = {\r\n Name: '',\r\n Id: 0\r\n };\r\n viewValue = {\r\n Name: '',\r\n Id: 0\r\n };\r\n @Input() isMobile: boolean;\r\n\r\n private app = Filter.getAggregationAndId('app');\r\n maxNumber = environment.defaultItemsNumber;\r\n private defaultMaxNumber = environment.defaultItemsNumber;\r\n showMoreButton = true;\r\n showLessButton = false;\r\n\r\n constructor(private store: Store,\r\n private route: ActivatedRoute,\r\n private router: Router) {\r\n }\r\n\r\n ngOnInit() {\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (state.loadedArticles) {\r\n if (!state.togglingSidenav\r\n && state.result.Aggregations.ArticleGroupAggregationItem.BaseItems.length !== 0\r\n && state.result.Aggregations.ArticleGroupAggregationItem.AggregationLevel === 3) {\r\n\r\n this.app = Filter.getAggregationAndId('app');\r\n\r\n if (state.result.Aggregations.ArticleGroupAggregationItem.BaseItems[0].Parent.Parent) {\r\n if (!state.filters.Group2.Name) {\r\n Filter.setFilterFromItemParent(state, 'Group2', 'groups');\r\n Filter.setFilterFromItemGrandParent(state, 'Group1', 'groups');\r\n }\r\n\r\n this.parent = Filter.getValue('Group1');\r\n this.viewValue = Filter.getValue('Group2');\r\n\r\n if (Filter.Offset === 0) {\r\n this.allGroups = [];\r\n\r\n Object.assign(this.allGroups, state.result.Aggregations.ArticleGroupAggregationItem.BaseItems);\r\n\r\n this.maxNumber = this.defaultMaxNumber;\r\n if (this.allGroups.length < this.maxNumber) {\r\n this.maxNumber = this.allGroups.length;\r\n }\r\n }\r\n }\r\n\r\n if (!state.result.Aggregations.ArticleGroupAggregationItem.BaseItems[0].Parent.Parent) {\r\n if (!state.filters.Group2.Name) {\r\n Filter.setFilterFromItemProper(state, 'Group2', 'groups');\r\n Filter.setFilterFromItemParent(state, 'Group1', 'groups');\r\n }\r\n this.parent = Filter.getValue('Group1');\r\n this.viewValue = Filter.getValue('Group2');\r\n }\r\n\r\n this.showMoreButton = true;\r\n\r\n this.hideExtensionButtons();\r\n\r\n Filter.resetValue('Group3');\r\n\r\n this.store.dispatch({type: ArticlesActions.ActionTypes.CHANGE_FILTERS, payload: {\r\n filters: Filter\r\n }});\r\n }\r\n }\r\n });\r\n }\r\n\r\n navigateUp() {\r\n if (Filter.Query.length) {\r\n this.router.navigate([Filter.Query.join(' '), this.app.lvl, this.app.id, '2', this.parent.Id], {relativeTo: this.route.parent});\r\n } else {\r\n this.router.navigate([this.app.lvl, this.app.id, '2', this.parent.Id], {relativeTo: this.route.parent});\r\n }\r\n }\r\n\r\n navigateDown(item: any) {\r\n if (Filter.Query.length) {\r\n this.router.navigate([Filter.Query.join(' '), this.app.lvl, this.app.id, '4', item.Id], {relativeTo: this.route.parent});\r\n } else {\r\n this.router.navigate([this.app.lvl, this.app.id, '4', item.Id], {relativeTo: this.route.parent});\r\n }\r\n }\r\n\r\n showMore(show: boolean) {\r\n if (show) {\r\n this.maxNumber = this.allGroups.length;\r\n } else {\r\n this.maxNumber = this.defaultMaxNumber;\r\n }\r\n this.showLessButton = show;\r\n this.showMoreButton = !show;\r\n this.hideExtensionButtons();\r\n }\r\n\r\n hideExtensionButtons() {\r\n if (this.allGroups.length <= this.maxNumber) {\r\n this.maxNumber = this.allGroups.length;\r\n this.showMoreButton = false;\r\n this.showLessButton = false;\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".mat-list-item {\\n height: 40px;\\n font-size: 14px;\\n color: #000; }\\n\\n.mat-list-item:hover {\\n background-color: #24BE85; }\\n\\n.mat-icon.highlight-on-hover:hover {\\n color: #B5B9C7; }\\n\\n.section-space {\\n margin: 11px 0;\\n background-color: transparent; }\\n\\n.input-filter {\\n background-color: black;\\n padding: 0;\\n max-width: 100%;\\n height: 48px; }\\n\\n.input-filter__field {\\n color: white;\\n font-size: 18px;\\n width: 100%;\\n padding: 0 16px; }\\n\\n.item-list-container {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.item-list-container-mobile {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.mat-subheader {\\n height: 48px;\\n width: 300px;\\n background-color: black;\\n color: white;\\n font-family: \\\"Emotive Sans TT\\\", Helvetica;\\n font-size: 18px;\\n padding: 12px 16px 12px 16px; }\\n\\n.nav-list {\\n display: flex;\\n flex-direction: column;\\n height: 100vh; }\\n\\n.nav-list > * {\\n flex-shrink: 0; }\\n\\n.fill-space {\\n background-color: #00F890;\\n flex-grow: 1; }\\n\\n::ng-deep .mat-nav-list .mat-subheader:first-child {\\n margin-top: 0 !important; }\\n\\n.mat-icon-small {\\n height: 16px;\\n width: 16px;\\n margin-left: 4px;\\n line-height: 16px; }\\n\\n.last-list-item {\\n font-size: 12px;\\n font-weight: 600;\\n height: 35px;\\n padding-top: 10px; }\\n\\n.box-cut-end {\\n width: 300px;\\n height: 24px;\\n background-color: #00F890;\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);\\n clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%); }\\n\\n.small-icon-prefix {\\n height: 16px;\\n width: 16px;\\n margin-right: 10px; }\\n\\n.small-icon-suffix {\\n height: 16px;\\n width: 16px;\\n margin-left: 10px; }\\n\\n.bold-selection {\\n font-weight: 600; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmlsdGVycy1wYW5lbC9ncm91cC10d28vQzpcXGk0QlxcUmVwb3NpdG9yaWVzXFx3ZWItY2F0YWxvZ1xcV2ViQ2F0YWxvZy5BUElcXGFwcC9zcmNcXGFwcFxcZmlsdGVycy1wYW5lbFxcZmlsdGVycy1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvZmlsdGVycy1wYW5lbC9ncm91cC10d28vQzpcXGk0QlxcUmVwb3NpdG9yaWVzXFx3ZWItY2F0YWxvZ1xcV2ViQ2F0YWxvZy5BUElcXGFwcC9zcmNcXGFwcFxcX3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0UsWUFBWTtFQUNaLGVBQWU7RUFDZixXQUFXLEVBQUE7O0FBR2I7RUFDRSx5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSxjQUFjLEVBQUE7O0FBRWhCO0VBQ0UsY0FBYztFQUNkLDZCQUE2QixFQUFBOztBQUcvQjtFQUNFLHVCQUF1QjtFQUN2QixVQUFVO0VBQ1YsZUFBZTtFQUNmLFlBQVksRUFBQTs7QUFFWjtJQUNFLFlBQVk7SUFDWixlQUFlO0lBQ2YsV0FBVztJQUNYLGVBQWUsRUFBQTs7QUFLbkI7RUFDRSx5QkFBeUI7RUFDekIsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsc0JBQXNCLEVBQUE7O0FBSXhCO0VBQ0UseUJBQXlCO0VBQ3pCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLHNCQUFzQixFQUFBOztBQUl4QjtFQUNJLFlBQVk7RUFDWixZQUFZO0VBQ1osdUJBQXVCO0VBQ3ZCLFlBQVk7RUFDWix5Q0N2RHlDO0VEd0R6QyxlQUFlO0VBQ2YsNEJBQTRCLEVBQUE7O0FBTWhDO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixhQUFhLEVBQUE7O0FBR2Y7RUFDRSxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UseUJDdEVvQjtFRHVFcEIsWUFBWSxFQUFBOztBQUdkO0VBQ0Usd0JBQXdCLEVBQUE7O0FBRzFCO0VBQ0ksWUFBWTtFQUNaLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0ksZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0UsWUFBWTtFQUNaLFlBQVk7RUFDWix5QkMvRm9CO0VEZ0dwQiwrRkFBdUY7VUFBdkYsdUZBQXVGLEVBQUE7O0FBR3pGO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxZQUFZO0VBQ1osV0FBVztFQUNYLGlCQUFpQixFQUFBOztBQUduQjtFQUNJLGdCQUFnQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvZmlsdGVycy1wYW5lbC9ncm91cC10d28vZ3JvdXAtdHdvLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vX3ZhcmlhYmxlcy5zY3NzJztcclxuXHJcbi5tYXQtbGlzdC1pdGVtIHtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG4ubWF0LWxpc3QtaXRlbTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0QkU4NTtcclxufVxyXG5cclxuLm1hdC1pY29uLmhpZ2hsaWdodC1vbi1ob3Zlcjpob3ZlciB7XHJcbiAgY29sb3I6ICNCNUI5Qzc7XHJcbn1cclxuLnNlY3Rpb24tc3BhY2Uge1xyXG4gIG1hcmdpbjogMTFweCAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uaW5wdXQtZmlsdGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDQ4cHg7XHJcblxyXG4gICZfX2ZpZWxkIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMCAxNnB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5pdGVtLWxpc3QtY29udGFpbmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBGODkwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcblxyXG4uaXRlbS1saXN0LWNvbnRhaW5lci1tb2JpbGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEY4OTA7XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbi5tYXQtc3ViaGVhZGVyIHtcclxuICAgIGhlaWdodDogNDhweDtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtZm9udDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHBhZGRpbmc6IDEycHggMTZweCAxMnB4IDE2cHg7XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi5uYXYtbGlzdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGhlaWdodDogMTAwdmg7IFxyXG59XHJcblxyXG4ubmF2LWxpc3QgPiAqIHtcclxuICBmbGV4LXNocmluazogMDsgXHJcbn1cclxuXHJcbi5maWxsLXNwYWNlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW90aXZlLWNvbG9yOyBcclxuICBmbGV4LWdyb3c6IDE7IFxyXG59XHJcblxyXG46Om5nLWRlZXAgLm1hdC1uYXYtbGlzdCAubWF0LXN1YmhlYWRlcjpmaXJzdC1jaGlsZCB7XHJcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWF0LWljb24tc21hbGx7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxufVxyXG5cclxuLmxhc3QtbGlzdC1pdGVtIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG5cclxuLmJveC1jdXQtZW5kIHtcclxuICB3aWR0aDogMzAwcHg7XHJcbiAgaGVpZ2h0OiAyNHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRtb3RpdmUtY29sb3I7XHJcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDI0cHgpLCBjYWxjKDEwMCUgLSAyNHB4KSAxMDAlLCAwIDEwMCUpO1xyXG59XHJcblxyXG4uc21hbGwtaWNvbi1wcmVmaXgge1xyXG4gIGhlaWdodDogMTZweDtcclxuICB3aWR0aDogMTZweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5zbWFsbC1pY29uLXN1ZmZpeCB7XHJcbiAgaGVpZ2h0OiAxNnB4O1xyXG4gIHdpZHRoOiAxNnB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uYm9sZC1zZWxlY3Rpb257XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcbiIsIiRib3gtc2hhZG93LWRlZmF1bHQ6IG5vbmUgIWRlZmF1bHQ7XHJcbiRwYW5lbC1tYXJnaW4tZGVmYXVsdDogMTBweCAxMHB4IDEwcHggMTBweDtcclxuJGZpbHRlcnMtcGFuZWwtbWF4LXdpZHRoOiAzMDBweDtcclxuJG9wZW4tc2Fucy1mb250OiAnRW1vdGl2ZSBTYW5zIFRUJywgSGVsdmV0aWNhO1xyXG4kb3B0aW1hbC1jb2xvcjogcmdiKDI2LCA1MSwgODgpO1xyXG4kYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuJGhlYWRlci1mb290ZXItYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuJG1vdGl2ZS1jb2xvcjogIzAwRjg5MDtcclxuIl19 */\"","import { Component,\r\n OnInit,\r\n Input\r\n} from '@angular/core';\r\nimport { ActivatedRoute,\r\n Router,\r\n ParamMap\r\n} from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../../store/reducer';\r\n\r\nimport * as ArticlesActions from '../../store/actions';\r\nimport { Filter } from '../../models/filter.model';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-group-two',\r\n templateUrl: './group-two.component.html',\r\n styleUrls: ['./group-two.component.scss']\r\n})\r\nexport class GroupTwoComponent implements OnInit {\r\n allGroups = [];\r\n query = '';\r\n group1 = {\r\n Name: '',\r\n Id: 0\r\n };\r\n @Input() isMobile: boolean;\r\n\r\n private app = Filter.getAggregationAndId('app');\r\n maxNumber = environment.defaultItemsNumber;\r\n private defaultMaxNumber = environment.defaultItemsNumber;\r\n showMoreButton = true;\r\n showLessButton = false;\r\n\r\n constructor(private store: Store,\r\n private route: ActivatedRoute,\r\n private router: Router) {\r\n }\r\n\r\n ngOnInit() {\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (state.loadedArticles) {\r\n if (!state.togglingSidenav\r\n && state.result.Aggregations.ArticleGroupAggregationItem.BaseItems.length !== 0\r\n && state.result.Aggregations.ArticleGroupAggregationItem.AggregationLevel === 2) {\r\n this.app = Filter.getAggregationAndId('app');\r\n\r\n if (state.result.Aggregations.ArticleGroupAggregationItem.BaseItems[0].Parent) {\r\n if (!state.filters.Group1.Name) {\r\n Filter.setFilterFromItemParent(state, 'Group1', 'groups');\r\n }\r\n\r\n if (Filter.Offset === 0) {\r\n this.allGroups = [];\r\n\r\n Object.assign(this.allGroups, state.result.Aggregations.ArticleGroupAggregationItem.BaseItems);\r\n\r\n this.maxNumber = this.defaultMaxNumber;\r\n if (this.allGroups.length < this.maxNumber) {\r\n this.maxNumber = this.allGroups.length;\r\n }\r\n }\r\n }\r\n\r\n if (!state.result.Aggregations.ArticleGroupAggregationItem.BaseItems[0].Parent\r\n && !state.filters.Group1.Name) {\r\n Filter.setFilterFromItemProper(state, 'Group1', 'groups');\r\n }\r\n\r\n this.showMoreButton = true;\r\n this.hideExtensionButtons();\r\n\r\n this.group1 = Filter.getValue('Group1');\r\n\r\n Filter.resetValue('Group2');\r\n\r\n this.store.dispatch({type: ArticlesActions.ActionTypes.CHANGE_FILTERS, payload: {\r\n filters: Filter\r\n }});\r\n }\r\n }\r\n });\r\n }\r\n\r\n navigateUp() {\r\n if (Filter.Query.length) {\r\n this.router.navigate([Filter.Query.join(' '), this.app.lvl, this.app.id, '1', 0], {relativeTo: this.route.parent});\r\n } else {\r\n this.router.navigate([this.app.lvl, this.app.id, '1', 0], {relativeTo: this.route.parent});\r\n }\r\n }\r\n\r\n navigateDown(item: any) {\r\n if (Filter.Query.length) {\r\n this.router.navigate([Filter.Query.join(' '), this.app.lvl, this.app.id, '3', item.Id], {relativeTo: this.route.parent});\r\n } else {\r\n this.router.navigate([this.app.lvl, this.app.id, '3', item.Id], {relativeTo: this.route.parent});\r\n }\r\n }\r\n\r\n showMore(show: boolean) {\r\n if (show) {\r\n this.maxNumber = this.allGroups.length;\r\n } else {\r\n this.maxNumber = this.defaultMaxNumber;\r\n }\r\n this.showLessButton = show;\r\n this.showMoreButton = !show;\r\n this.hideExtensionButtons();\r\n }\r\n\r\n hideExtensionButtons() {\r\n if (this.allGroups.length <= this.maxNumber) {\r\n this.maxNumber = this.allGroups.length;\r\n this.showMoreButton = false;\r\n this.showLessButton = false;\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".mat-list-item {\\n height: 40px;\\n font-size: 14px;\\n color: #000; }\\n\\n.mat-list-item:hover {\\n background-color: #24BE85; }\\n\\n.mat-icon.highlight-on-hover:hover {\\n color: #B5B9C7; }\\n\\n.section-space {\\n margin: 11px 0;\\n background-color: transparent; }\\n\\n.input-filter {\\n background-color: black;\\n padding: 0;\\n max-width: 100%;\\n height: 48px; }\\n\\n.input-filter__field {\\n color: white;\\n font-size: 18px;\\n width: 100%;\\n padding: 0 16px; }\\n\\n.item-list-container {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.item-list-container-mobile {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.mat-subheader {\\n height: 48px;\\n width: 300px;\\n background-color: black;\\n color: white;\\n font-family: \\\"Emotive Sans TT\\\", Helvetica;\\n font-size: 18px;\\n padding: 12px 16px 12px 16px; }\\n\\n.nav-list {\\n display: flex;\\n flex-direction: column;\\n height: 100vh; }\\n\\n.nav-list > * {\\n flex-shrink: 0; }\\n\\n.fill-space {\\n background-color: #00F890;\\n flex-grow: 1; }\\n\\n::ng-deep .mat-nav-list .mat-subheader:first-child {\\n margin-top: 0 !important; }\\n\\n.mat-icon-small {\\n height: 16px;\\n width: 16px;\\n margin-left: 4px;\\n line-height: 16px; }\\n\\n.last-list-item {\\n font-size: 12px;\\n font-weight: 600;\\n height: 35px;\\n padding-top: 10px; }\\n\\n.box-cut-end {\\n width: 300px;\\n height: 24px;\\n background-color: #00F890;\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);\\n clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%); }\\n\\n.small-icon-prefix {\\n height: 16px;\\n width: 16px;\\n margin-right: 10px; }\\n\\n.small-icon-suffix {\\n height: 16px;\\n width: 16px;\\n margin-left: 10px; }\\n\\n.bold-selection {\\n font-weight: 600; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmlsdGVycy1wYW5lbC9tYWtlLWZpbHRlci9DOlxcaTRCXFxSZXBvc2l0b3JpZXNcXHdlYi1jYXRhbG9nXFxXZWJDYXRhbG9nLkFQSVxcYXBwL3NyY1xcYXBwXFxmaWx0ZXJzLXBhbmVsXFxmaWx0ZXJzLXBhbmVsLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9maWx0ZXJzLXBhbmVsL21ha2UtZmlsdGVyL0M6XFxpNEJcXFJlcG9zaXRvcmllc1xcd2ViLWNhdGFsb2dcXFdlYkNhdGFsb2cuQVBJXFxhcHAvc3JjXFxhcHBcXF92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2YsV0FBVyxFQUFBOztBQUdiO0VBQ0UseUJBQXlCLEVBQUE7O0FBRzNCO0VBQ0UsY0FBYyxFQUFBOztBQUVoQjtFQUNFLGNBQWM7RUFDZCw2QkFBNkIsRUFBQTs7QUFHL0I7RUFDRSx1QkFBdUI7RUFDdkIsVUFBVTtFQUNWLGVBQWU7RUFDZixZQUFZLEVBQUE7O0FBRVo7SUFDRSxZQUFZO0lBQ1osZUFBZTtJQUNmLFdBQVc7SUFDWCxlQUFlLEVBQUE7O0FBS25CO0VBQ0UseUJBQXlCO0VBQ3pCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLHNCQUFzQixFQUFBOztBQUl4QjtFQUNFLHlCQUF5QjtFQUN6QixVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxzQkFBc0IsRUFBQTs7QUFJeEI7RUFDSSxZQUFZO0VBQ1osWUFBWTtFQUNaLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1oseUNDdkR5QztFRHdEekMsZUFBZTtFQUNmLDRCQUE0QixFQUFBOztBQU1oQztFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsYUFBYSxFQUFBOztBQUdmO0VBQ0UsY0FBYyxFQUFBOztBQUdoQjtFQUNFLHlCQ3RFb0I7RUR1RXBCLFlBQVksRUFBQTs7QUFHZDtFQUNFLHdCQUF3QixFQUFBOztBQUcxQjtFQUNJLFlBQVk7RUFDWixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUFBOztBQUdyQjtFQUNJLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGlCQUFpQixFQUFBOztBQUdyQjtFQUNFLFlBQVk7RUFDWixZQUFZO0VBQ1oseUJDL0ZvQjtFRGdHcEIsK0ZBQXVGO1VBQXZGLHVGQUF1RixFQUFBOztBQUd6RjtFQUNFLFlBQVk7RUFDWixXQUFXO0VBQ1gsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxpQkFBaUIsRUFBQTs7QUFHbkI7RUFDSSxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2ZpbHRlcnMtcGFuZWwvbWFrZS1maWx0ZXIvbWFrZS1maWx0ZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi9fdmFyaWFibGVzLnNjc3MnO1xyXG5cclxuLm1hdC1saXN0LWl0ZW0ge1xyXG4gIGhlaWdodDogNDBweDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5tYXQtbGlzdC1pdGVtOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjRCRTg1O1xyXG59XHJcblxyXG4ubWF0LWljb24uaGlnaGxpZ2h0LW9uLWhvdmVyOmhvdmVyIHtcclxuICBjb2xvcjogI0I1QjlDNztcclxufVxyXG4uc2VjdGlvbi1zcGFjZSB7XHJcbiAgbWFyZ2luOiAxMXB4IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5pbnB1dC1maWx0ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogNDhweDtcclxuXHJcbiAgJl9fZmllbGQge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwIDE2cHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLml0ZW0tbGlzdC1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEY4OTA7XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbi5pdGVtLWxpc3QtY29udGFpbmVyLW1vYmlsZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwRjg5MDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5cclxuLm1hdC1zdWJoZWFkZXIge1xyXG4gICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1mb250O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgcGFkZGluZzogMTJweCAxNnB4IDEycHggMTZweDtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuLm5hdi1saXN0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgaGVpZ2h0OiAxMDB2aDsgXHJcbn1cclxuXHJcbi5uYXYtbGlzdCA+ICoge1xyXG4gIGZsZXgtc2hyaW5rOiAwOyBcclxufVxyXG5cclxuLmZpbGwtc3BhY2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRtb3RpdmUtY29sb3I7IFxyXG4gIGZsZXgtZ3JvdzogMTsgXHJcbn1cclxuXHJcbjo6bmctZGVlcCAubWF0LW5hdi1saXN0IC5tYXQtc3ViaGVhZGVyOmZpcnN0LWNoaWxkIHtcclxuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXQtaWNvbi1zbWFsbHtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4ubGFzdC1saXN0LWl0ZW0ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uYm94LWN1dC1lbmQge1xyXG4gIHdpZHRoOiAzMDBweDtcclxuICBoZWlnaHQ6IDI0cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vdGl2ZS1jb2xvcjtcclxuICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gMjRweCksIGNhbGMoMTAwJSAtIDI0cHgpIDEwMCUsIDAgMTAwJSk7XHJcbn1cclxuXHJcbi5zbWFsbC1pY29uLXByZWZpeCB7XHJcbiAgaGVpZ2h0OiAxNnB4O1xyXG4gIHdpZHRoOiAxNnB4O1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLnNtYWxsLWljb24tc3VmZml4IHtcclxuICBoZWlnaHQ6IDE2cHg7XHJcbiAgd2lkdGg6IDE2cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5ib2xkLXNlbGVjdGlvbntcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuIiwiJGJveC1zaGFkb3ctZGVmYXVsdDogbm9uZSAhZGVmYXVsdDtcclxuJHBhbmVsLW1hcmdpbi1kZWZhdWx0OiAxMHB4IDEwcHggMTBweCAxMHB4O1xyXG4kZmlsdGVycy1wYW5lbC1tYXgtd2lkdGg6IDMwMHB4O1xyXG4kb3Blbi1zYW5zLWZvbnQ6ICdFbW90aXZlIFNhbnMgVFQnLCBIZWx2ZXRpY2E7XHJcbiRvcHRpbWFsLWNvbG9yOiByZ2IoMjYsIDUxLCA4OCk7XHJcbiRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4kaGVhZGVyLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xyXG4kbW90aXZlLWNvbG9yOiAjMDBGODkwO1xyXG4iXX0= */\"","import { Component,\r\n OnInit,\r\n NgZone,\r\n Input\r\n} from '@angular/core';\r\nimport { ActivatedRoute,\r\n Router\r\n} from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../../store/reducer';\r\n\r\nimport * as ArticlesActions from '../../store/actions';\r\nimport { Filter } from '../../models/filter.model';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-make-filter',\r\n templateUrl: './make-filter.component.html',\r\n styleUrls: ['./make-filter.component.scss']\r\n})\r\nexport class MakeFilterComponent implements OnInit {\r\n allMakes = [];\r\n query = '';\r\n private group = Filter.getAggregationAndId('group');\r\n maxNumber = environment.defaultItemsNumber;\r\n private defaultMaxNumber = environment.defaultItemsNumber;\r\n showMoreButton = true;\r\n showLessButton = false;\r\n @Input() isMobile: boolean;\r\n\r\n constructor(private store: Store,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private zone: NgZone) {\r\n }\r\n\r\n ngOnInit() {\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (state.loadedArticles) {\r\n if (!state.togglingSidenav\r\n && state.result.Aggregations.ApplicationsAggregationItem.BaseItems.length !== 0\r\n && state.result.Aggregations.ApplicationsAggregationItem.AggregationLevel === 1) {\r\n this.zone.run(() => {\r\n this.group = Filter.getAggregationAndId('group');\r\n\r\n Filter.resetValue('Make');\r\n\r\n if (Filter.Offset === 0) {\r\n this.allMakes = [];\r\n\r\n Object.assign(this.allMakes, state.result.Aggregations.ApplicationsAggregationItem.BaseItems);\r\n\r\n this.maxNumber = this.defaultMaxNumber;\r\n this.hideExtensionButtons();\r\n }\r\n\r\n this.store.dispatch({type: ArticlesActions.ActionTypes.CHANGE_FILTERS, payload: {\r\n filters: Filter\r\n }});\r\n });\r\n } else if (!state.togglingSidenav\r\n && state.result.Aggregations.ApplicationsAggregationItem.BaseItems.length === 0\r\n && state.result.Aggregations.ApplicationsAggregationItem.AggregationLevel === 1) {\r\n this.allMakes = [];\r\n\r\n this.store.dispatch({type: ArticlesActions.ActionTypes.CHANGE_FILTERS, payload: {\r\n filters: Filter\r\n }});\r\n }\r\n }\r\n });\r\n }\r\n\r\n navigateDown(item: any) {\r\n if (Filter.Query.length) {\r\n this.router.navigate([Filter.Query.join(' '), '2', item.Id, this.group.lvl, this.group.id], {relativeTo: this.route.parent});\r\n } else {\r\n this.router.navigate(['2', item.Id, this.group.lvl, this.group.id], {relativeTo: this.route.parent});\r\n }\r\n }\r\n\r\n showMore(show: boolean) {\r\n if (show) {\r\n this.maxNumber = this.allMakes.length;\r\n } else {\r\n this.maxNumber = this.defaultMaxNumber;\r\n }\r\n this.showLessButton = show;\r\n this.showMoreButton = !show;\r\n this.hideExtensionButtons();\r\n }\r\n\r\n hideExtensionButtons() {\r\n if (this.allMakes.length <= this.maxNumber) {\r\n this.maxNumber = this.allMakes.length;\r\n this.showMoreButton = false;\r\n this.showLessButton = false;\r\n }\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".mat-list-item {\\n height: 40px;\\n font-size: 14px;\\n color: #000; }\\n\\n.mat-list-item:hover {\\n background-color: #24BE85; }\\n\\n.mat-icon.highlight-on-hover:hover {\\n color: #B5B9C7; }\\n\\n.section-space {\\n margin: 11px 0;\\n background-color: transparent; }\\n\\n.input-filter {\\n background-color: black;\\n padding: 0;\\n max-width: 100%;\\n height: 48px; }\\n\\n.input-filter__field {\\n color: white;\\n font-size: 18px;\\n width: 100%;\\n padding: 0 16px; }\\n\\n.item-list-container {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.item-list-container-mobile {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.mat-subheader {\\n height: 48px;\\n width: 300px;\\n background-color: black;\\n color: white;\\n font-family: \\\"Emotive Sans TT\\\", Helvetica;\\n font-size: 18px;\\n padding: 12px 16px 12px 16px; }\\n\\n.nav-list {\\n display: flex;\\n flex-direction: column;\\n height: 100vh; }\\n\\n.nav-list > * {\\n flex-shrink: 0; }\\n\\n.fill-space {\\n background-color: #00F890;\\n flex-grow: 1; }\\n\\n::ng-deep .mat-nav-list .mat-subheader:first-child {\\n margin-top: 0 !important; }\\n\\n.mat-icon-small {\\n height: 16px;\\n width: 16px;\\n margin-left: 4px;\\n line-height: 16px; }\\n\\n.last-list-item {\\n font-size: 12px;\\n font-weight: 600;\\n height: 35px;\\n padding-top: 10px; }\\n\\n.box-cut-end {\\n width: 300px;\\n height: 24px;\\n background-color: #00F890;\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);\\n clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%); }\\n\\n.small-icon-prefix {\\n height: 16px;\\n width: 16px;\\n margin-right: 10px; }\\n\\n.small-icon-suffix {\\n height: 16px;\\n width: 16px;\\n margin-left: 10px; }\\n\\n.bold-selection {\\n font-weight: 600; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmlsdGVycy1wYW5lbC9tb2RlbC1maWx0ZXIvQzpcXGk0QlxcUmVwb3NpdG9yaWVzXFx3ZWItY2F0YWxvZ1xcV2ViQ2F0YWxvZy5BUElcXGFwcC9zcmNcXGFwcFxcZmlsdGVycy1wYW5lbFxcZmlsdGVycy1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvZmlsdGVycy1wYW5lbC9tb2RlbC1maWx0ZXIvQzpcXGk0QlxcUmVwb3NpdG9yaWVzXFx3ZWItY2F0YWxvZ1xcV2ViQ2F0YWxvZy5BUElcXGFwcC9zcmNcXGFwcFxcX3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0UsWUFBWTtFQUNaLGVBQWU7RUFDZixXQUFXLEVBQUE7O0FBR2I7RUFDRSx5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSxjQUFjLEVBQUE7O0FBRWhCO0VBQ0UsY0FBYztFQUNkLDZCQUE2QixFQUFBOztBQUcvQjtFQUNFLHVCQUF1QjtFQUN2QixVQUFVO0VBQ1YsZUFBZTtFQUNmLFlBQVksRUFBQTs7QUFFWjtJQUNFLFlBQVk7SUFDWixlQUFlO0lBQ2YsV0FBVztJQUNYLGVBQWUsRUFBQTs7QUFLbkI7RUFDRSx5QkFBeUI7RUFDekIsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsc0JBQXNCLEVBQUE7O0FBSXhCO0VBQ0UseUJBQXlCO0VBQ3pCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLHNCQUFzQixFQUFBOztBQUl4QjtFQUNJLFlBQVk7RUFDWixZQUFZO0VBQ1osdUJBQXVCO0VBQ3ZCLFlBQVk7RUFDWix5Q0N2RHlDO0VEd0R6QyxlQUFlO0VBQ2YsNEJBQTRCLEVBQUE7O0FBTWhDO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixhQUFhLEVBQUE7O0FBR2Y7RUFDRSxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UseUJDdEVvQjtFRHVFcEIsWUFBWSxFQUFBOztBQUdkO0VBQ0Usd0JBQXdCLEVBQUE7O0FBRzFCO0VBQ0ksWUFBWTtFQUNaLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0ksZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0UsWUFBWTtFQUNaLFlBQVk7RUFDWix5QkMvRm9CO0VEZ0dwQiwrRkFBdUY7VUFBdkYsdUZBQXVGLEVBQUE7O0FBR3pGO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxZQUFZO0VBQ1osV0FBVztFQUNYLGlCQUFpQixFQUFBOztBQUduQjtFQUNJLGdCQUFnQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvZmlsdGVycy1wYW5lbC9tb2RlbC1maWx0ZXIvbW9kZWwtZmlsdGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vX3ZhcmlhYmxlcy5zY3NzJztcclxuXHJcbi5tYXQtbGlzdC1pdGVtIHtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG4ubWF0LWxpc3QtaXRlbTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0QkU4NTtcclxufVxyXG5cclxuLm1hdC1pY29uLmhpZ2hsaWdodC1vbi1ob3Zlcjpob3ZlciB7XHJcbiAgY29sb3I6ICNCNUI5Qzc7XHJcbn1cclxuLnNlY3Rpb24tc3BhY2Uge1xyXG4gIG1hcmdpbjogMTFweCAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uaW5wdXQtZmlsdGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDQ4cHg7XHJcblxyXG4gICZfX2ZpZWxkIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMCAxNnB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5pdGVtLWxpc3QtY29udGFpbmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBGODkwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcblxyXG4uaXRlbS1saXN0LWNvbnRhaW5lci1tb2JpbGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEY4OTA7XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbi5tYXQtc3ViaGVhZGVyIHtcclxuICAgIGhlaWdodDogNDhweDtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtZm9udDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHBhZGRpbmc6IDEycHggMTZweCAxMnB4IDE2cHg7XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi5uYXYtbGlzdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGhlaWdodDogMTAwdmg7IFxyXG59XHJcblxyXG4ubmF2LWxpc3QgPiAqIHtcclxuICBmbGV4LXNocmluazogMDsgXHJcbn1cclxuXHJcbi5maWxsLXNwYWNlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW90aXZlLWNvbG9yOyBcclxuICBmbGV4LWdyb3c6IDE7IFxyXG59XHJcblxyXG46Om5nLWRlZXAgLm1hdC1uYXYtbGlzdCAubWF0LXN1YmhlYWRlcjpmaXJzdC1jaGlsZCB7XHJcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWF0LWljb24tc21hbGx7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxufVxyXG5cclxuLmxhc3QtbGlzdC1pdGVtIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG5cclxuLmJveC1jdXQtZW5kIHtcclxuICB3aWR0aDogMzAwcHg7XHJcbiAgaGVpZ2h0OiAyNHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRtb3RpdmUtY29sb3I7XHJcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDI0cHgpLCBjYWxjKDEwMCUgLSAyNHB4KSAxMDAlLCAwIDEwMCUpO1xyXG59XHJcblxyXG4uc21hbGwtaWNvbi1wcmVmaXgge1xyXG4gIGhlaWdodDogMTZweDtcclxuICB3aWR0aDogMTZweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5zbWFsbC1pY29uLXN1ZmZpeCB7XHJcbiAgaGVpZ2h0OiAxNnB4O1xyXG4gIHdpZHRoOiAxNnB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uYm9sZC1zZWxlY3Rpb257XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcbiIsIiRib3gtc2hhZG93LWRlZmF1bHQ6IG5vbmUgIWRlZmF1bHQ7XHJcbiRwYW5lbC1tYXJnaW4tZGVmYXVsdDogMTBweCAxMHB4IDEwcHggMTBweDtcclxuJGZpbHRlcnMtcGFuZWwtbWF4LXdpZHRoOiAzMDBweDtcclxuJG9wZW4tc2Fucy1mb250OiAnRW1vdGl2ZSBTYW5zIFRUJywgSGVsdmV0aWNhO1xyXG4kb3B0aW1hbC1jb2xvcjogcmdiKDI2LCA1MSwgODgpO1xyXG4kYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuJGhlYWRlci1mb290ZXItYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuJG1vdGl2ZS1jb2xvcjogIzAwRjg5MDtcclxuIl19 */\"","import { Component,\r\n OnInit,\r\n Input\r\n} from '@angular/core';\r\nimport { ActivatedRoute,\r\n Router,\r\n ParamMap\r\n} from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../../store/reducer';\r\n\r\nimport * as ArticlesActions from '../../store/actions';\r\nimport { Filter } from '../../models/filter.model';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-model-filter',\r\n templateUrl: './model-filter.component.html',\r\n styleUrls: ['./model-filter.component.scss']\r\n})\r\nexport class ModelFilterComponent implements OnInit {\r\n allModels = [];\r\n query = '';\r\n make = {\r\n Name: '',\r\n Id: 0\r\n };\r\n @Input() isMobile: boolean;\r\n\r\n private group = Filter.getAggregationAndId('group');\r\n maxNumber = environment.defaultItemsNumber;\r\n private defaultMaxNumber = environment.defaultItemsNumber;\r\n showMoreButton = true;\r\n showLessButton = false;\r\n\r\n constructor(private store: Store,\r\n private route: ActivatedRoute,\r\n private router: Router) {\r\n }\r\n\r\n ngOnInit() {\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (state.loadedArticles) {\r\n if (!state.togglingSidenav\r\n && state.result.Aggregations.ApplicationsAggregationItem.BaseItems.length !== 0\r\n && state.result.Aggregations.ApplicationsAggregationItem.AggregationLevel === 2) {\r\n this.group = Filter.getAggregationAndId('group');\r\n\r\n if (!state.filters.Make.Name) {\r\n Filter.setFilterFromItemParent(state, 'Make', 'applications');\r\n }\r\n\r\n this.make = Filter.getValue('Make');\r\n\r\n Filter.resetValue('Model');\r\n\r\n if (Filter.Offset === 0) {\r\n this.allModels = [];\r\n\r\n Object.assign(this.allModels, state.result.Aggregations.ApplicationsAggregationItem.BaseItems);\r\n\r\n this.maxNumber = this.defaultMaxNumber;\r\n this.hideExtensionButtons();\r\n }\r\n\r\n this.store.dispatch({type: ArticlesActions.ActionTypes.CHANGE_FILTERS, payload: {\r\n filters: Filter\r\n }});\r\n }\r\n }\r\n });\r\n }\r\n\r\n navigateUp() {\r\n if (Filter.Query.length) {\r\n this.router.navigate([Filter.Query.join(' '), '1', 0, this.group.lvl, this.group.id], {relativeTo: this.route.parent});\r\n } else {\r\n this.router.navigate(['1', 0, this.group.lvl, this.group.id], {relativeTo: this.route.parent});\r\n }\r\n }\r\n\r\n navigateDown(item: any) {\r\n if (Filter.Query.length) {\r\n this.router.navigate([Filter.Query.join(' '), '3', item.Id, this.group.lvl, this.group.id], {relativeTo: this.route.parent});\r\n } else {\r\n this.router.navigate(['3', item.Id, this.group.lvl, this.group.id], {relativeTo: this.route.parent});\r\n }\r\n }\r\n\r\n showMore(show: boolean) {\r\n if (show) {\r\n this.maxNumber = this.allModels.length;\r\n } else {\r\n this.maxNumber = this.defaultMaxNumber;\r\n }\r\n this.showLessButton = show;\r\n this.showMoreButton = !show;\r\n this.hideExtensionButtons();\r\n }\r\n\r\n hideExtensionButtons() {\r\n if (this.allModels.length <= this.maxNumber) {\r\n this.maxNumber = this.allModels.length;\r\n this.showMoreButton = false;\r\n this.showLessButton = false;\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"

\\r\\n {{'CarAggregation.type' | translate}}\\r\\n

\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".mat-list-item {\\n height: 40px;\\n font-size: 14px;\\n color: #000; }\\n\\n.mat-list-item:hover {\\n background-color: #24BE85; }\\n\\n.mat-icon.highlight-on-hover:hover {\\n color: #B5B9C7; }\\n\\n.section-space {\\n margin: 11px 0;\\n background-color: transparent; }\\n\\n.input-filter {\\n background-color: black;\\n padding: 0;\\n max-width: 100%;\\n height: 48px; }\\n\\n.input-filter__field {\\n color: white;\\n font-size: 18px;\\n width: 100%;\\n padding: 0 16px; }\\n\\n.item-list-container {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.item-list-container-mobile {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.mat-subheader {\\n height: 48px;\\n width: 300px;\\n background-color: black;\\n color: white;\\n font-family: \\\"Emotive Sans TT\\\", Helvetica;\\n font-size: 18px;\\n padding: 12px 16px 12px 16px; }\\n\\n.nav-list {\\n display: flex;\\n flex-direction: column;\\n height: 100vh; }\\n\\n.nav-list > * {\\n flex-shrink: 0; }\\n\\n.fill-space {\\n background-color: #00F890;\\n flex-grow: 1; }\\n\\n::ng-deep .mat-nav-list .mat-subheader:first-child {\\n margin-top: 0 !important; }\\n\\n.mat-icon-small {\\n height: 16px;\\n width: 16px;\\n margin-left: 4px;\\n line-height: 16px; }\\n\\n.last-list-item {\\n font-size: 12px;\\n font-weight: 600;\\n height: 35px;\\n padding-top: 10px; }\\n\\n.box-cut-end {\\n width: 300px;\\n height: 24px;\\n background-color: #00F890;\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);\\n clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%); }\\n\\n.small-icon-prefix {\\n height: 16px;\\n width: 16px;\\n margin-right: 10px; }\\n\\n.small-icon-suffix {\\n height: 16px;\\n width: 16px;\\n margin-left: 10px; }\\n\\n.bold-selection {\\n font-weight: 600; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmlsdGVycy1wYW5lbC9zZWxlY3RlZC1maWx0ZXIvQzpcXGk0QlxcUmVwb3NpdG9yaWVzXFx3ZWItY2F0YWxvZ1xcV2ViQ2F0YWxvZy5BUElcXGFwcC9zcmNcXGFwcFxcZmlsdGVycy1wYW5lbFxcZmlsdGVycy1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvZmlsdGVycy1wYW5lbC9zZWxlY3RlZC1maWx0ZXIvQzpcXGk0QlxcUmVwb3NpdG9yaWVzXFx3ZWItY2F0YWxvZ1xcV2ViQ2F0YWxvZy5BUElcXGFwcC9zcmNcXGFwcFxcX3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0UsWUFBWTtFQUNaLGVBQWU7RUFDZixXQUFXLEVBQUE7O0FBR2I7RUFDRSx5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSxjQUFjLEVBQUE7O0FBRWhCO0VBQ0UsY0FBYztFQUNkLDZCQUE2QixFQUFBOztBQUcvQjtFQUNFLHVCQUF1QjtFQUN2QixVQUFVO0VBQ1YsZUFBZTtFQUNmLFlBQVksRUFBQTs7QUFFWjtJQUNFLFlBQVk7SUFDWixlQUFlO0lBQ2YsV0FBVztJQUNYLGVBQWUsRUFBQTs7QUFLbkI7RUFDRSx5QkFBeUI7RUFDekIsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsc0JBQXNCLEVBQUE7O0FBSXhCO0VBQ0UseUJBQXlCO0VBQ3pCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLHNCQUFzQixFQUFBOztBQUl4QjtFQUNJLFlBQVk7RUFDWixZQUFZO0VBQ1osdUJBQXVCO0VBQ3ZCLFlBQVk7RUFDWix5Q0N2RHlDO0VEd0R6QyxlQUFlO0VBQ2YsNEJBQTRCLEVBQUE7O0FBTWhDO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixhQUFhLEVBQUE7O0FBR2Y7RUFDRSxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UseUJDdEVvQjtFRHVFcEIsWUFBWSxFQUFBOztBQUdkO0VBQ0Usd0JBQXdCLEVBQUE7O0FBRzFCO0VBQ0ksWUFBWTtFQUNaLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0ksZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osaUJBQWlCLEVBQUE7O0FBR3JCO0VBQ0UsWUFBWTtFQUNaLFlBQVk7RUFDWix5QkMvRm9CO0VEZ0dwQiwrRkFBdUY7VUFBdkYsdUZBQXVGLEVBQUE7O0FBR3pGO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxZQUFZO0VBQ1osV0FBVztFQUNYLGlCQUFpQixFQUFBOztBQUduQjtFQUNJLGdCQUFnQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvZmlsdGVycy1wYW5lbC9zZWxlY3RlZC1maWx0ZXIvc2VsZWN0ZWQtZmlsdGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vX3ZhcmlhYmxlcy5zY3NzJztcclxuXHJcbi5tYXQtbGlzdC1pdGVtIHtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG4ubWF0LWxpc3QtaXRlbTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0QkU4NTtcclxufVxyXG5cclxuLm1hdC1pY29uLmhpZ2hsaWdodC1vbi1ob3Zlcjpob3ZlciB7XHJcbiAgY29sb3I6ICNCNUI5Qzc7XHJcbn1cclxuLnNlY3Rpb24tc3BhY2Uge1xyXG4gIG1hcmdpbjogMTFweCAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uaW5wdXQtZmlsdGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDQ4cHg7XHJcblxyXG4gICZfX2ZpZWxkIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMCAxNnB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5pdGVtLWxpc3QtY29udGFpbmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBGODkwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcblxyXG4uaXRlbS1saXN0LWNvbnRhaW5lci1tb2JpbGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEY4OTA7XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbi5tYXQtc3ViaGVhZGVyIHtcclxuICAgIGhlaWdodDogNDhweDtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtZm9udDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHBhZGRpbmc6IDEycHggMTZweCAxMnB4IDE2cHg7XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi5uYXYtbGlzdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGhlaWdodDogMTAwdmg7IFxyXG59XHJcblxyXG4ubmF2LWxpc3QgPiAqIHtcclxuICBmbGV4LXNocmluazogMDsgXHJcbn1cclxuXHJcbi5maWxsLXNwYWNlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW90aXZlLWNvbG9yOyBcclxuICBmbGV4LWdyb3c6IDE7IFxyXG59XHJcblxyXG46Om5nLWRlZXAgLm1hdC1uYXYtbGlzdCAubWF0LXN1YmhlYWRlcjpmaXJzdC1jaGlsZCB7XHJcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWF0LWljb24tc21hbGx7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxufVxyXG5cclxuLmxhc3QtbGlzdC1pdGVtIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG5cclxuLmJveC1jdXQtZW5kIHtcclxuICB3aWR0aDogMzAwcHg7XHJcbiAgaGVpZ2h0OiAyNHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRtb3RpdmUtY29sb3I7XHJcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDI0cHgpLCBjYWxjKDEwMCUgLSAyNHB4KSAxMDAlLCAwIDEwMCUpO1xyXG59XHJcblxyXG4uc21hbGwtaWNvbi1wcmVmaXgge1xyXG4gIGhlaWdodDogMTZweDtcclxuICB3aWR0aDogMTZweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5zbWFsbC1pY29uLXN1ZmZpeCB7XHJcbiAgaGVpZ2h0OiAxNnB4O1xyXG4gIHdpZHRoOiAxNnB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uYm9sZC1zZWxlY3Rpb257XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcbiIsIiRib3gtc2hhZG93LWRlZmF1bHQ6IG5vbmUgIWRlZmF1bHQ7XHJcbiRwYW5lbC1tYXJnaW4tZGVmYXVsdDogMTBweCAxMHB4IDEwcHggMTBweDtcclxuJGZpbHRlcnMtcGFuZWwtbWF4LXdpZHRoOiAzMDBweDtcclxuJG9wZW4tc2Fucy1mb250OiAnRW1vdGl2ZSBTYW5zIFRUJywgSGVsdmV0aWNhO1xyXG4kb3B0aW1hbC1jb2xvcjogcmdiKDI2LCA1MSwgODgpO1xyXG4kYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuJGhlYWRlci1mb290ZXItYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuJG1vdGl2ZS1jb2xvcjogIzAwRjg5MDtcclxuIl19 */\"","import { Component,\r\n OnInit,\r\n Input\r\n} from '@angular/core';\r\nimport { ActivatedRoute,\r\n Router,\r\n ParamMap\r\n} from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../../store/reducer';\r\n\r\nimport * as ArticlesActions from '../../store/actions';\r\nimport { Filter } from '../../models/filter.model';\r\n\r\n@Component({\r\n selector: 'app-selected-filter',\r\n templateUrl: './selected-filter.component.html',\r\n styleUrls: ['./selected-filter.component.scss']\r\n})\r\nexport class SelectedFilterComponent implements OnInit {\r\n model = {\r\n Name: '',\r\n Id: 0\r\n };\r\n type = {\r\n Name: '',\r\n Id: 0\r\n };\r\n @Input() isMobile: boolean;\r\n\r\n private group = Filter.getAggregationAndId('group');\r\n\r\n constructor(private store: Store,\r\n private route: ActivatedRoute,\r\n private router: Router) {\r\n }\r\n\r\n ngOnInit() {\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (state.loadedArticles) {\r\n if (!state.togglingSidenav\r\n && state.result.Aggregations.ApplicationsAggregationItem.BaseItems.length !== 0\r\n && state.result.Aggregations.ApplicationsAggregationItem.AggregationLevel === 4) {\r\n this.group = Filter.getAggregationAndId('group');\r\n\r\n if (!state.filters.Make.Name) {\r\n Filter.setFilterFromItemGrandParent(state, 'Make', 'applications');\r\n }\r\n if (!state.filters.Model.Name) {\r\n Filter.setFilterFromItemParent(state, 'Model', 'applications');\r\n }\r\n if (!state.filters.Type.Name) {\r\n Filter.setFilterFromItemProper(state, 'Type', 'applications');\r\n }\r\n this.model = Filter.getValue('Model');\r\n this.type = Filter.getValue('Type');\r\n\r\n this.store.dispatch({type: ArticlesActions.ActionTypes.CHANGE_FILTERS, payload: {\r\n filters: Filter\r\n }});\r\n }\r\n }\r\n });\r\n }\r\n\r\n navigateUp() {\r\n if (Filter.Query.length) {\r\n this.router.navigate([Filter.Query.join(' '), '3', this.model.Id, this.group.lvl, this.group.id], {relativeTo: this.route.parent});\r\n } else {\r\n this.router.navigate(['3', this.model.Id, this.group.lvl, this.group.id], {relativeTo: this.route.parent});\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \".mat-list-item {\\n height: 40px;\\n font-size: 14px;\\n color: #000; }\\n\\n.mat-list-item:hover {\\n background-color: #24BE85; }\\n\\n.mat-icon.highlight-on-hover:hover {\\n color: #B5B9C7; }\\n\\n.section-space {\\n margin: 11px 0;\\n background-color: transparent; }\\n\\n.input-filter {\\n background-color: black;\\n padding: 0;\\n max-width: 100%;\\n height: 48px; }\\n\\n.input-filter__field {\\n color: white;\\n font-size: 18px;\\n width: 100%;\\n padding: 0 16px; }\\n\\n.item-list-container {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.item-list-container-mobile {\\n background-color: #00F890;\\n padding: 0;\\n position: relative;\\n width: 100%;\\n box-sizing: border-box; }\\n\\n.mat-subheader {\\n height: 48px;\\n width: 300px;\\n background-color: black;\\n color: white;\\n font-family: \\\"Emotive Sans TT\\\", Helvetica;\\n font-size: 18px;\\n padding: 12px 16px 12px 16px; }\\n\\n.nav-list {\\n display: flex;\\n flex-direction: column;\\n height: 100vh; }\\n\\n.nav-list > * {\\n flex-shrink: 0; }\\n\\n.fill-space {\\n background-color: #00F890;\\n flex-grow: 1; }\\n\\n::ng-deep .mat-nav-list .mat-subheader:first-child {\\n margin-top: 0 !important; }\\n\\n.mat-icon-small {\\n height: 16px;\\n width: 16px;\\n margin-left: 4px;\\n line-height: 16px; }\\n\\n.last-list-item {\\n font-size: 12px;\\n font-weight: 600;\\n height: 35px;\\n padding-top: 10px; }\\n\\n.box-cut-end {\\n width: 300px;\\n height: 24px;\\n background-color: #00F890;\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);\\n clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%); }\\n\\n.small-icon-prefix {\\n height: 16px;\\n width: 16px;\\n margin-right: 10px; }\\n\\n.small-icon-suffix {\\n height: 16px;\\n width: 16px;\\n margin-left: 10px; }\\n\\n.bold-selection {\\n font-weight: 600; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZmlsdGVycy1wYW5lbC90eXBlLWZpbHRlci9DOlxcaTRCXFxSZXBvc2l0b3JpZXNcXHdlYi1jYXRhbG9nXFxXZWJDYXRhbG9nLkFQSVxcYXBwL3NyY1xcYXBwXFxmaWx0ZXJzLXBhbmVsXFxmaWx0ZXJzLXBhbmVsLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9maWx0ZXJzLXBhbmVsL3R5cGUtZmlsdGVyL0M6XFxpNEJcXFJlcG9zaXRvcmllc1xcd2ViLWNhdGFsb2dcXFdlYkNhdGFsb2cuQVBJXFxhcHAvc3JjXFxhcHBcXF92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2YsV0FBVyxFQUFBOztBQUdiO0VBQ0UseUJBQXlCLEVBQUE7O0FBRzNCO0VBQ0UsY0FBYyxFQUFBOztBQUVoQjtFQUNFLGNBQWM7RUFDZCw2QkFBNkIsRUFBQTs7QUFHL0I7RUFDRSx1QkFBdUI7RUFDdkIsVUFBVTtFQUNWLGVBQWU7RUFDZixZQUFZLEVBQUE7O0FBRVo7SUFDRSxZQUFZO0lBQ1osZUFBZTtJQUNmLFdBQVc7SUFDWCxlQUFlLEVBQUE7O0FBS25CO0VBQ0UseUJBQXlCO0VBQ3pCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLHNCQUFzQixFQUFBOztBQUl4QjtFQUNFLHlCQUF5QjtFQUN6QixVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxzQkFBc0IsRUFBQTs7QUFJeEI7RUFDSSxZQUFZO0VBQ1osWUFBWTtFQUNaLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1oseUNDdkR5QztFRHdEekMsZUFBZTtFQUNmLDRCQUE0QixFQUFBOztBQU1oQztFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsYUFBYSxFQUFBOztBQUdmO0VBQ0UsY0FBYyxFQUFBOztBQUdoQjtFQUNFLHlCQ3RFb0I7RUR1RXBCLFlBQVksRUFBQTs7QUFHZDtFQUNFLHdCQUF3QixFQUFBOztBQUcxQjtFQUNJLFlBQVk7RUFDWixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUFBOztBQUdyQjtFQUNJLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGlCQUFpQixFQUFBOztBQUdyQjtFQUNFLFlBQVk7RUFDWixZQUFZO0VBQ1oseUJDL0ZvQjtFRGdHcEIsK0ZBQXVGO1VBQXZGLHVGQUF1RixFQUFBOztBQUd6RjtFQUNFLFlBQVk7RUFDWixXQUFXO0VBQ1gsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxpQkFBaUIsRUFBQTs7QUFHbkI7RUFDSSxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2ZpbHRlcnMtcGFuZWwvdHlwZS1maWx0ZXIvdHlwZS1maWx0ZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi9fdmFyaWFibGVzLnNjc3MnO1xyXG5cclxuLm1hdC1saXN0LWl0ZW0ge1xyXG4gIGhlaWdodDogNDBweDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi5tYXQtbGlzdC1pdGVtOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjRCRTg1O1xyXG59XHJcblxyXG4ubWF0LWljb24uaGlnaGxpZ2h0LW9uLWhvdmVyOmhvdmVyIHtcclxuICBjb2xvcjogI0I1QjlDNztcclxufVxyXG4uc2VjdGlvbi1zcGFjZSB7XHJcbiAgbWFyZ2luOiAxMXB4IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5pbnB1dC1maWx0ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogNDhweDtcclxuXHJcbiAgJl9fZmllbGQge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwIDE2cHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLml0ZW0tbGlzdC1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEY4OTA7XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbi5pdGVtLWxpc3QtY29udGFpbmVyLW1vYmlsZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwRjg5MDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5cclxuLm1hdC1zdWJoZWFkZXIge1xyXG4gICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBmb250LWZhbWlseTogJG9wZW4tc2Fucy1mb250O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgcGFkZGluZzogMTJweCAxNnB4IDEycHggMTZweDtcclxuXHJcbn1cclxuXHJcblxyXG5cclxuLm5hdi1saXN0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgaGVpZ2h0OiAxMDB2aDsgXHJcbn1cclxuXHJcbi5uYXYtbGlzdCA+ICoge1xyXG4gIGZsZXgtc2hyaW5rOiAwOyBcclxufVxyXG5cclxuLmZpbGwtc3BhY2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRtb3RpdmUtY29sb3I7IFxyXG4gIGZsZXgtZ3JvdzogMTsgXHJcbn1cclxuXHJcbjo6bmctZGVlcCAubWF0LW5hdi1saXN0IC5tYXQtc3ViaGVhZGVyOmZpcnN0LWNoaWxkIHtcclxuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXQtaWNvbi1zbWFsbHtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4ubGFzdC1saXN0LWl0ZW0ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uYm94LWN1dC1lbmQge1xyXG4gIHdpZHRoOiAzMDBweDtcclxuICBoZWlnaHQ6IDI0cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vdGl2ZS1jb2xvcjtcclxuICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gMjRweCksIGNhbGMoMTAwJSAtIDI0cHgpIDEwMCUsIDAgMTAwJSk7XHJcbn1cclxuXHJcbi5zbWFsbC1pY29uLXByZWZpeCB7XHJcbiAgaGVpZ2h0OiAxNnB4O1xyXG4gIHdpZHRoOiAxNnB4O1xyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLnNtYWxsLWljb24tc3VmZml4IHtcclxuICBoZWlnaHQ6IDE2cHg7XHJcbiAgd2lkdGg6IDE2cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5ib2xkLXNlbGVjdGlvbntcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuIiwiJGJveC1zaGFkb3ctZGVmYXVsdDogbm9uZSAhZGVmYXVsdDtcclxuJHBhbmVsLW1hcmdpbi1kZWZhdWx0OiAxMHB4IDEwcHggMTBweCAxMHB4O1xyXG4kZmlsdGVycy1wYW5lbC1tYXgtd2lkdGg6IDMwMHB4O1xyXG4kb3Blbi1zYW5zLWZvbnQ6ICdFbW90aXZlIFNhbnMgVFQnLCBIZWx2ZXRpY2E7XHJcbiRvcHRpbWFsLWNvbG9yOiByZ2IoMjYsIDUxLCA4OCk7XHJcbiRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4kaGVhZGVyLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xyXG4kbW90aXZlLWNvbG9yOiAjMDBGODkwO1xyXG4iXX0= */\"","import { Component,\r\n OnInit,\r\n Input\r\n} from '@angular/core';\r\nimport { ActivatedRoute,\r\n Router,\r\n ParamMap\r\n} from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../../store/reducer';\r\n\r\nimport * as ArticlesActions from '../../store/actions';\r\nimport { Filter } from '../../models/filter.model';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-type-filter',\r\n templateUrl: './type-filter.component.html',\r\n styleUrls: ['./type-filter.component.scss']\r\n})\r\nexport class TypeFilterComponent implements OnInit {\r\n allTypes = [];\r\n query = '';\r\n make = {\r\n Name: '',\r\n Id: 0\r\n };\r\n model = {\r\n Name: '',\r\n Id: 0\r\n };\r\n @Input() isMobile: boolean;\r\n\r\n private group = Filter.getAggregationAndId('group');\r\n maxNumber = environment.defaultItemsNumber;\r\n private defaultMaxNumber = environment.defaultItemsNumber;\r\n showMoreButton = true;\r\n showLessButton = false;\r\n\r\n constructor(private store: Store,\r\n private route: ActivatedRoute,\r\n private router: Router) {\r\n }\r\n\r\n ngOnInit() {\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (state.loadedArticles && !state.changeFilters) {\r\n if (!state.togglingSidenav\r\n && state.result.Aggregations.ApplicationsAggregationItem.BaseItems.length !== 0\r\n && state.result.Aggregations.ApplicationsAggregationItem.AggregationLevel === 3) {\r\n this.group = Filter.getAggregationAndId('group');\r\n\r\n if (!state.filters.Make.Name) {\r\n Filter.setFilterFromItemGrandParent(state, 'Make', 'applications');\r\n }\r\n if (!state.filters.Model.Name) {\r\n Filter.setFilterFromItemParent(state, 'Model', 'applications');\r\n }\r\n\r\n this.make = Filter.getValue('Make');\r\n this.model = Filter.getValue('Model');\r\n\r\n Filter.resetValue('Type');\r\n if (Filter.Offset === 0) {\r\n this.allTypes = [];\r\n\r\n Object.assign(this.allTypes, state.result.Aggregations.ApplicationsAggregationItem.BaseItems);\r\n\r\n this.maxNumber = this.defaultMaxNumber;\r\n\r\n this.hideExtensionButtons();\r\n }\r\n\r\n this.store.dispatch({type: ArticlesActions.ActionTypes.CHANGE_FILTERS, payload: {\r\n filters: Filter\r\n }});\r\n }\r\n }\r\n });\r\n }\r\n\r\n navigateUp() {\r\n if (Filter.Query.length) {\r\n this.router.navigate([Filter.Query.join(' '), '2', this.make.Id, this.group.lvl, this.group.id], {relativeTo: this.route.parent});\r\n } else {\r\n this.router.navigate(['2', this.make.Id, this.group.lvl, this.group.id], {relativeTo: this.route.parent});\r\n }\r\n }\r\n\r\n navigateDown(item: any) {\r\n if (Filter.Query.length) {\r\n this.router.navigate([Filter.Query.join(' '), '4', item.Id, this.group.lvl, this.group.id], {relativeTo: this.route.parent});\r\n } else {\r\n this.router.navigate(['4', item.Id, this.group.lvl, this.group.id], {relativeTo: this.route.parent});\r\n }\r\n }\r\n\r\n showMore(show: boolean) {\r\n if (show) {\r\n this.maxNumber = this.allTypes.length;\r\n } else {\r\n this.maxNumber = this.defaultMaxNumber;\r\n }\r\n this.showLessButton = show;\r\n this.showMoreButton = !show;\r\n this.hideExtensionButtons();\r\n }\r\n\r\n hideExtensionButtons() {\r\n if (this.allTypes.length <= this.maxNumber) {\r\n this.maxNumber = this.allTypes.length;\r\n this.showMoreButton = false;\r\n this.showLessButton = false;\r\n }\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n\\r\\n
\\r\\n

OPTIMAL Automotive GmbH

\\r\\n

Alfred-Kühne-Straße 3

\\r\\n

85416 Langebach / Germany

\\r\\n

Munich Airport Logistics Park

\\r\\n

Tel.: +49 (0) 8761 7206-0

\\r\\n

Fax.: +49 (0) 8761 7206-121

\\r\\n

optimal-germany.com

\\r\\n

info@optimal-germany.com

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\"","module.exports = \".footer {\\n width: calc(100% - 64px);\\n height: 482px;\\n color: white;\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n padding: 32px;\\n font-family: \\\"Emotive Sans TT\\\", Helvetica; }\\n .footer__contact {\\n display: flex;\\n flex-direction: column;\\n height: 164px;\\n width: 100%;\\n font-size: 12px;\\n font-weight: 400;\\n line-height: 17px; }\\n .footer__contact p {\\n margin: 0;\\n margin-bottom: 4px; }\\n .footer__contact p:last-child {\\n margin-bottom: 0px; }\\n .footer__logo {\\n display: flex;\\n align-items: center;\\n height: 72px; }\\n .footer__logo__tecdoc-image {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-right: 40px; }\\n .footer__logo__tecdoc-image img {\\n /* width: 100px;*/\\n height: 50px; }\\n .footer__logo__tuv-image {\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .footer__logo__tuv-image img {\\n width: 72px;\\n height: 72px; }\\n .footer__external-links {\\n display: flex;\\n flex-direction: column;\\n height: 50px;\\n font-size: 14px;\\n font-weight: 600;\\n line-height: 19.6;\\n width: 182px; }\\n .footer__external-links p {\\n margin: 0 4px 0 0;\\n line-height: 20px;\\n width: auto; }\\n .footer__external-links__link {\\n text-decoration: none;\\n color: inherit; }\\n .footer__external-links__b2b-shop {\\n display: flex;\\n align-items: center;\\n height: 20px;\\n margin-bottom: 10px; }\\n .footer__external-links__emotive {\\n display: flex;\\n align-items: center;\\n height: 20px;\\n width: 130px; }\\n .footer__social {\\n display: flex;\\n align-items: center;\\n height: 20px; }\\n .footer__social a {\\n height: 100%;\\n margin-right: 16px; }\\n .footer__social__media-icon {\\n height: 20px;\\n width: 20px; }\\n .footer__line {\\n height: 1px;\\n background-color: #5E616A;\\n width: 100%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZm9vdGVyLW1vYmlsZS9DOlxcaTRCXFxSZXBvc2l0b3JpZXNcXHdlYi1jYXRhbG9nXFxXZWJDYXRhbG9nLkFQSVxcYXBwL3NyY1xcYXBwXFxmb290ZXItbW9iaWxlXFxmb290ZXItbW9iaWxlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9mb290ZXItbW9iaWxlL0M6XFxpNEJcXFJlcG9zaXRvcmllc1xcd2ViLWNhdGFsb2dcXFdlYkNhdGFsb2cuQVBJXFxhcHAvc3JjXFxhcHBcXF92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNFLHdCQUF3QjtFQUN4QixhQUFhO0VBQ2IsWUFBWTtFQUNaLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsOEJBQThCO0VBQzlCLGFBQWE7RUFDYix5Q0NQMkMsRUFBQTtFRFczQztJQUNFLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsYUFBYTtJQUNiLFdBQVc7SUFDWCxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFBO0VBUGxCO01BVUcsU0FBUztNQUNULGtCQUFrQixFQUFBO0VBWHJCO01BZUcsa0JBQWtCLEVBQUE7RUFJdEI7SUFDRSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFlBQVksRUFBQTtFQUVaO01BQ0UsYUFBYTtNQUNiLHVCQUF1QjtNQUN2QixtQkFBbUI7TUFDbkIsa0JBQWtCLEVBQUE7RUFKbkI7UUFRTCx3QkFBQTtRQUNRLFlBQVksRUFBQTtFQUloQjtNQUNFLGFBQWE7TUFDYix1QkFBdUI7TUFDdkIsbUJBQW1CLEVBQUE7RUFIcEI7UUFPRyxXQUFXO1FBQ1gsWUFBWSxFQUFBO0VBS2xCO0lBQ0UsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsWUFBWSxFQUFBO0VBUGI7TUFVRyxpQkFBaUI7TUFDakIsaUJBQWlCO01BQ2pCLFdBQVcsRUFBQTtFQUdiO01BQ0UscUJBQXFCO01BQ3JCLGNBQWMsRUFBQTtFQUdoQjtNQUNFLGFBQWE7TUFDYixtQkFBbUI7TUFDbkIsWUFBWTtNQUNaLG1CQUFtQixFQUFBO0VBR3JCO01BQ0UsYUFBYTtNQUNiLG1CQUFtQjtNQUNuQixZQUFZO01BQ1osWUFBWSxFQUFBO0VBSWhCO0lBQ0UsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixZQUFZLEVBQUE7RUFIYjtNQU1HLFlBQVk7TUFDWixrQkFBa0IsRUFBQTtFQUlwQjtNQUNFLFlBQVk7TUFDWixXQUFXLEVBQUE7RUFLZjtJQUNFLFdBQVc7SUFDWCx5QkFBeUI7SUFDekIsV0FBVyxFQUFBIiwiZmlsZSI6InNyYy9hcHAvZm9vdGVyLW1vYmlsZS9mb290ZXItbW9iaWxlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vdmFyaWFibGVzJztcclxuXHJcbi5mb290ZXIge1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA2NHB4KTtcclxuICBoZWlnaHQ6IDQ4MnB4O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIHBhZGRpbmc6IDMycHg7XHJcbiAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnMtZm9udDtcclxuXHJcblxyXG5cclxuICAmX19jb250YWN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgaGVpZ2h0OiAxNjRweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xyXG5cclxuICAgICYgcCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHA6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2xvZ28ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDcycHg7XHJcblxyXG4gICAgJl9fdGVjZG9jLWltYWdlIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcclxuXHJcblxyXG4gICAgICAmIGltZyB7XHJcbi8qICAgICAgICB3aWR0aDogMTAwcHg7Ki9cclxuICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX190dXYtaW1hZ2Uge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblxyXG4gICAgICAmIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDcycHg7XHJcbiAgICAgICAgaGVpZ2h0OiA3MnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19leHRlcm5hbC1saW5rcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMTkuNjtcclxuICAgIHdpZHRoOiAxODJweDtcclxuXHJcbiAgICAmIHAge1xyXG4gICAgICBtYXJnaW46IDAgNHB4IDAgMDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2xpbmsge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2IyYi1zaG9wIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2Vtb3RpdmUge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgIHdpZHRoOiAxMzBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3NvY2lhbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMjBweDtcclxuXHJcbiAgICAmIGEge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgJl9fbWVkaWEtaWNvbiB7XHJcbiAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgJl9fbGluZSB7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RTYxNkE7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuIiwiJGJveC1zaGFkb3ctZGVmYXVsdDogbm9uZSAhZGVmYXVsdDtcclxuJHBhbmVsLW1hcmdpbi1kZWZhdWx0OiAxMHB4IDEwcHggMTBweCAxMHB4O1xyXG4kZmlsdGVycy1wYW5lbC1tYXgtd2lkdGg6IDMwMHB4O1xyXG4kb3Blbi1zYW5zLWZvbnQ6ICdFbW90aXZlIFNhbnMgVFQnLCBIZWx2ZXRpY2E7XHJcbiRvcHRpbWFsLWNvbG9yOiByZ2IoMjYsIDUxLCA4OCk7XHJcbiRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4kaGVhZGVyLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xyXG4kbW90aXZlLWNvbG9yOiAjMDBGODkwO1xyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer-mobile',\r\n templateUrl: './footer-mobile.component.html',\r\n styleUrls: ['./footer-mobile.component.scss']\r\n})\r\nexport class FooterMobileComponent implements OnInit {\r\n\r\n b2bPhoto = 'assets/b2b.png';\r\n tecdocPhoto = 'assets/tecdoc.svg';\r\n tuvPhoto = 'assets/tuv.svg';\r\n arrowUpRightPhoto = 'assets/arrow-up-right.svg';\r\n facebookPhoto = 'assets/facebook.svg';\r\n instagramPhoto = 'assets/instagram.svg';\r\n linkedinPhoto = 'assets/linkedin.svg';\r\n youtubePhoto = 'assets/youtube.svg';\r\n year = new Date().getFullYear();\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

OPTIMAL Automotive GmbH

\\r\\n

Alfred-Kühne-Straße 3

\\r\\n

85416 Langebach / Germany

\\r\\n

Munich Airport Logistics Park

\\r\\n
\\r\\n
\\r\\n

Tel.: +49 (0) 8761 7206-0

\\r\\n

Fax.: +49 (0) 8761 7206-121

\\r\\n

optimal-germany.com

\\r\\n

info@optimal-germany.com

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\"","module.exports = \".footer {\\n width: 100%;\\n height: 100%;\\n color: white;\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between; }\\n .footer__top {\\n display: flex;\\n justify-content: space-between;\\n align-items: flex-start;\\n height: 100px;\\n width: 100%;\\n box-sizing: border-box;\\n font-size: 12px;\\n font-weight: 400; }\\n .footer__top__left {\\n justify-content: flex-start;\\n display: flex;\\n align-items: center;\\n height: 100%; }\\n .footer__top__left__company-info {\\n height: 76px;\\n width: 180px;\\n display: inline-block;\\n line-height: 19px; }\\n .footer__top__left__company-info p {\\n margin: 0; }\\n .footer__top__left__contact {\\n height: 76px;\\n width: 180px;\\n display: inline-block;\\n line-height: 19px;\\n margin-left: 24px; }\\n .footer__top__left__contact p {\\n margin: 0; }\\n .footer__top__right {\\n justify-content: flex-end;\\n display: flex;\\n align-items: center;\\n height: 100%; }\\n .footer__top__right__tecdoc-image {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-right: 40px; }\\n .footer__top__right__tecdoc-image img {\\n /*width: 100px;*/\\n height: 50px; }\\n .footer__top__right__tuv-image {\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .footer__top__right__tuv-image img {\\n width: 72px;\\n height: 72px; }\\n .footer__bottom {\\n display: flex;\\n justify-content: space-between;\\n align-items: flex-start;\\n height: 20px;\\n width: 100%;\\n box-sizing: border-box;\\n font-size: 14px;\\n font-weight: 600; }\\n .footer__bottom__left {\\n justify-content: flex-start;\\n display: flex;\\n align-items: center;\\n height: 100%; }\\n .footer__bottom__left p {\\n margin: 0 4px 0 0;\\n line-height: 20px; }\\n .footer__bottom__left__link {\\n text-decoration: none;\\n color: inherit; }\\n .footer__bottom__left__b2b-shop {\\n display: flex;\\n align-items: center; }\\n .footer__bottom__left__emotive {\\n display: flex;\\n align-items: center;\\n margin-left: 78px; }\\n .footer__bottom__right {\\n justify-content: flex-end;\\n display: flex;\\n align-items: center;\\n height: 100%; }\\n .footer__bottom__right a {\\n height: 100%;\\n margin-left: 16px; }\\n .footer__bottom__right__social-media-icon {\\n height: 20px;\\n width: 20px; }\\n .footer__line {\\n height: 1px;\\n background-color: #5E616A;\\n width: 100%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZm9vdGVyL0M6XFxpNEJcXFJlcG9zaXRvcmllc1xcd2ViLWNhdGFsb2dcXFdlYkNhdGFsb2cuQVBJXFxhcHAvc3JjXFxhcHBcXGZvb3RlclxcZm9vdGVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixZQUFZO0VBQ1osYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qiw4QkFBOEIsRUFBQTtFQUU5QjtJQUNFLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsdUJBQXVCO0lBQ3ZCLGFBQWE7SUFDYixXQUFXO0lBQ1gsc0JBQXNCO0lBQ3RCLGVBQWU7SUFDZixnQkFBZ0IsRUFBQTtFQUVoQjtNQUNFLDJCQUEyQjtNQUMzQixhQUFhO01BQ2IsbUJBQW1CO01BQ25CLFlBQVksRUFBQTtFQUVaO1FBQ0UsWUFBWTtRQUNaLFlBQVk7UUFDWixxQkFBcUI7UUFDckIsaUJBQWlCLEVBQUE7RUFKbEI7VUFPRyxTQUFTLEVBQUE7RUFJYjtRQUNFLFlBQVk7UUFDWixZQUFZO1FBQ1oscUJBQXFCO1FBQ3JCLGlCQUFpQjtRQUNqQixpQkFBaUIsRUFBQTtFQUxsQjtVQVFHLFNBQVMsRUFBQTtFQUtmO01BQ0UseUJBQXlCO01BQ3pCLGFBQWE7TUFDYixtQkFBbUI7TUFDbkIsWUFBWSxFQUFBO0VBR1o7UUFDRSxhQUFhO1FBQ2IsdUJBQXVCO1FBQ3ZCLG1CQUFtQjtRQUNuQixrQkFBa0IsRUFBQTtFQUpuQjtVQVFHLGdCQUFBO1VBQ0EsWUFBWSxFQUFBO0VBSWhCO1FBQ0UsYUFBYTtRQUNiLHVCQUF1QjtRQUN2QixtQkFBbUIsRUFBQTtFQUhwQjtVQU9HLFdBQVc7VUFDWCxZQUFZLEVBQUE7RUFNcEI7SUFDRSxhQUFhO0lBQ2IsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osV0FBVztJQUNYLHNCQUFzQjtJQUN0QixlQUFlO0lBQ2YsZ0JBQWdCLEVBQUE7RUFFaEI7TUFDRSwyQkFBMkI7TUFDM0IsYUFBYTtNQUNiLG1CQUFtQjtNQUNuQixZQUFZLEVBQUE7RUFKYjtRQU9HLGlCQUFpQjtRQUNqQixpQkFBaUIsRUFBQTtFQUduQjtRQUNFLHFCQUFxQjtRQUNyQixjQUFjLEVBQUE7RUFHaEI7UUFDRSxhQUFhO1FBQ2IsbUJBQW1CLEVBQUE7RUFHckI7UUFDRSxhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLGlCQUFpQixFQUFBO0VBSXJCO01BQ0UseUJBQXlCO01BQ3pCLGFBQWE7TUFDYixtQkFBbUI7TUFDbkIsWUFBWSxFQUFBO0VBSmI7UUFPRyxZQUFZO1FBQ1osaUJBQWlCLEVBQUE7RUFJbkI7UUFDRSxZQUFZO1FBQ1osV0FBVyxFQUFBO0VBS2pCO0lBQ0UsV0FBVztJQUNYLHlCQUF5QjtJQUN6QixXQUFXLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZvb3RlciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAmX190b3Age1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcblxyXG4gICAgJl9fbGVmdCB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgJl9fY29tcGFueS1pbmZvIHtcclxuICAgICAgICBoZWlnaHQ6IDc2cHg7XHJcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcclxuXHJcbiAgICAgICAgJiBwIHtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfX2NvbnRhY3Qge1xyXG4gICAgICAgIGhlaWdodDogNzZweDtcclxuICAgICAgICB3aWR0aDogMTgwcHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xyXG5cclxuICAgICAgICAmIHAge1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3JpZ2h0IHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuXHJcbiAgICAgICZfX3RlY2RvYy1pbWFnZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcclxuXHJcblxyXG4gICAgICAgICYgaW1nIHtcclxuICAgICAgICAgIC8qd2lkdGg6IDEwMHB4OyovXHJcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmX190dXYtaW1hZ2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblxyXG4gICAgICAgICYgaW1nIHtcclxuICAgICAgICAgIHdpZHRoOiA3MnB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiA3MnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fYm90dG9tIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG4gICAgJl9fbGVmdCB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgJiBwIHtcclxuICAgICAgICBtYXJnaW46IDAgNHB4IDAgMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJl9fbGluayB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19iMmItc2hvcCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19lbW90aXZlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDc4cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19yaWdodCB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICYgYSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgICAgJl9fc29jaWFsLW1lZGlhLWljb24ge1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbGluZSB7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RTYxNkE7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n b2bPhoto = 'assets/b2b.png';\r\n tecdocPhoto = 'assets/tecdoc.svg';\r\n tuvPhoto = 'assets/tuv.svg';\r\n arrowUpRightPhoto = 'assets/arrow-up-right.svg';\r\n facebookPhoto = 'assets/facebook.svg';\r\n instagramPhoto = 'assets/instagram.svg';\r\n linkedinPhoto = 'assets/linkedin.svg';\r\n youtubePhoto = 'assets/youtube.svg';\r\n year = new Date().getFullYear();\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n Product catalogue\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \".header {\\n display: flex;\\n justify-content: space-between;\\n align-items: flex-start;\\n height: 80px;\\n width: 100%;\\n box-sizing: border-box; }\\n .header__mobile {\\n height: 64px; }\\n .header__left {\\n display: flex;\\n align-items: center;\\n justify-content: flex-start;\\n margin-left: 26px;\\n margin-top: 23px;\\n padding: 0;\\n height: auto; }\\n .header__left__mobile {\\n margin-left: 15px;\\n margin-top: 16px; }\\n .header__left__div-logo-optimal {\\n display: inline-block;\\n height: 36px; }\\n .header__left__div-logo-optimal__mobile {\\n height: 32px; }\\n .header__left__product-catalogue-text {\\n font-size: 16px;\\n font-weight: 400;\\n color: white;\\n font-family: 'Emotive Sans TT', Helvetica;\\n padding-left: 28px;\\n padding-top: 8px;\\n line-height: 16px; }\\n .header__left__product-catalogue-text__mobile {\\n font-size: 12px;\\n padding-left: 11px;\\n line-height: 12px;\\n padding-top: 8px; }\\n .header__left__logo-optimal {\\n height: 36px; }\\n .header__left__logo-optimal__mobile {\\n height: 32px; }\\n .header__right {\\n justify-content: flex-end;\\n height: 24px;\\n width: auto;\\n padding: 0;\\n margin-top: 32px;\\n margin-right: 26px;\\n display: flex;\\n align-items: center; }\\n .header__right__mobile {\\n margin-right: 15px;\\n margin-top: 26px;\\n height: 14px; }\\n .header__right__div-language {\\n display: flex;\\n align-items: center; }\\n .header__right__div-language__language-app {\\n color: white; }\\n .header__right__div-logo-emotive {\\n display: flex;\\n align-items: center;\\n padding-left: 32px; }\\n .header__right__div-logo-emotive__mobile {\\n padding-left: 0; }\\n .header__right__logo-emotive {\\n height: 15px; }\\n .header__right__logo-emotive__mobile {\\n height: 14px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVhZGVyL0M6XFxpNEJcXFJlcG9zaXRvcmllc1xcd2ViLWNhdGFsb2dcXFdlYkNhdGFsb2cuQVBJXFxhcHAvc3JjXFxhcHBcXGhlYWRlclxcaGVhZGVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBO0VBQ0UsYUFBYTtFQUNiLDhCQUE4QjtFQUM5Qix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLFdBQVc7RUFDWCxzQkFBc0IsRUFBQTtFQUV0QjtJQUNFLFlBQVksRUFBQTtFQUlkO0lBQ0UsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0IsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsWUFBWSxFQUFBO0VBRVo7TUFDRSxpQkFBaUI7TUFDakIsZ0JBQWdCLEVBQUE7RUFHbEI7TUFDRSxxQkFBcUI7TUFDckIsWUFBWSxFQUFBO0VBRVo7UUFDRSxZQUFZLEVBQUE7RUFNaEI7TUFDRSxlQUFlO01BQ2YsZ0JBQWdCO01BQ2hCLFlBQVk7TUFDWix5Q0FBeUM7TUFDekMsa0JBQWtCO01BQ2xCLGdCQUFnQjtNQUNoQixpQkFBaUIsRUFBQTtFQUVqQjtRQUNFLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLGdCQUFnQixFQUFBO0VBSXBCO01BQ0UsWUFBWSxFQUFBO0VBRVo7UUFDRSxZQUFZLEVBQUE7RUFLbEI7SUFDRSx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLFdBQVc7SUFDWCxVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsbUJBQW1CLEVBQUE7RUFFbkI7TUFDRSxrQkFBa0I7TUFDbEIsZ0JBQWdCO01BQ2hCLFlBQVksRUFBQTtFQUdkO01BQ0UsYUFBYTtNQUNiLG1CQUFtQixFQUFBO0VBRW5CO1FBQ0UsWUFBWSxFQUFBO0VBT2hCO01BQ0UsYUFBYTtNQUNiLG1CQUFtQjtNQUNuQixrQkFBa0IsRUFBQTtFQUVsQjtRQUNFLGVBQWUsRUFBQTtFQU9uQjtNQUNFLFlBQVksRUFBQTtFQUVaO1FBQ0UsWUFBWSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4uaGVhZGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICBoZWlnaHQ6IDgwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgJl9fbW9iaWxlIHtcclxuICAgIGhlaWdodDogNjRweDtcclxuICB9XHJcblxyXG5cclxuICAmX19sZWZ0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI2cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAyM3B4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAmX19tb2JpbGUge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19kaXYtbG9nby1vcHRpbWFsIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IDM2cHg7XHJcblxyXG4gICAgICAmX19tb2JpbGUge1xyXG4gICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgJl9fcHJvZHVjdC1jYXRhbG9ndWUtdGV4dCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICBmb250LWZhbWlseTogJ0Vtb3RpdmUgU2FucyBUVCcsIEhlbHZldGljYTtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyOHB4O1xyXG4gICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuXHJcbiAgICAgICZfX21vYmlsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTFweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbG9nby1vcHRpbWFsIHtcclxuICAgICAgaGVpZ2h0OiAzNnB4O1xyXG5cclxuICAgICAgJl9fbW9iaWxlIHtcclxuICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3JpZ2h0IHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyNnB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgJl9fbW9iaWxlIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAyNnB4O1xyXG4gICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGl2LWxhbmd1YWdlIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICZfX2xhbmd1YWdlLWFwcCB7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgJl9fZGl2LWxvZ28tZW1vdGl2ZSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMzJweDtcclxuXHJcbiAgICAgICZfX21vYmlsZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgJl9fbG9nby1lbW90aXZlIHtcclxuICAgICAgaGVpZ2h0OiAxNXB4O1xyXG5cclxuICAgICAgJl9fbW9iaWxlIHtcclxuICAgICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\"","import {\r\n Component,\r\n ChangeDetectorRef,\r\n OnDestroy,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {\r\n FormGroup,\r\n FormBuilder\r\n} from '@angular/forms';\r\nimport {\r\n Router,\r\n ActivatedRoute,\r\n ResolveEnd\r\n} from '@angular/router';\r\nimport { MatAutocompleteTrigger } from '@angular/material';\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../store/reducer';\r\n\r\nimport { Filter } from '../models/filter.model';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n})\r\nexport class HeaderComponent implements OnDestroy {\r\n @ViewChild(MatAutocompleteTrigger) autocomplete: MatAutocompleteTrigger;\r\n\r\n fg: FormGroup;\r\n mobileQuery: MediaQueryList;\r\n private _mobileQueryListener: () => void;\r\n private group = Filter.getAggregationAndId('group');\r\n private app = Filter.getAggregationAndId('app');\r\n options: string[];\r\n\r\n constructor(private fb: FormBuilder,\r\n private router: Router,\r\n private store: Store,\r\n private route: ActivatedRoute,\r\n changeDetectorRef: ChangeDetectorRef,\r\n media: MediaMatcher) {\r\n this.mobileQuery = media.matchMedia(environment.mediaMatcher);\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n\r\n this.router.events.subscribe((value) => {\r\n if (value instanceof ResolveEnd) {\r\n const val = value.state.root.children[0].children[0].params.query;\r\n if (val) {\r\n const query = this.fg.get('query').value;\r\n if (!query || query !== val) {\r\n this.fg.get('query').setValue(Filter.removeWhitespace(decodeURIComponent(val)).join(' '));\r\n }\r\n } else {\r\n this.fg.get('query').setValue('');\r\n }\r\n }\r\n });\r\n\r\n this.createForm();\r\n\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (state.loadedArticles && !state.filtersChanged) {\r\n this.group = Filter.getAggregationAndId('group');\r\n this.app = Filter.getAggregationAndId('app');\r\n }\r\n });\r\n }\r\n\r\n homeButton() {\r\n Filter.resetFilters(false);\r\n\r\n this.router.navigate(['/' + Filter.Language + '/1/0/1/0'], { relativeTo: this.route });\r\n }\r\n\r\n createForm() {\r\n this.fg = this.fb.group({\r\n query: ['']\r\n });\r\n }\r\n\r\n getErrorMessage() {\r\n return this.fg.get('query').hasError('required') ? 'This field is required.' : '';\r\n }\r\n\r\n search() {\r\n if (this.autocomplete.panelOpen) {\r\n this.autocomplete.closePanel();\r\n }\r\n if (this.fg.get('query').value !== '') {\r\n Filter.setValue('Query', this.fg.get('query').value.split(' '));\r\n } else {\r\n Filter.setValue('Query', []);\r\n }\r\n this.navigate();\r\n }\r\n\r\n\r\n navigate() {\r\n let parameters = [];\r\n if (Filter.Query.length) {\r\n parameters = [\r\n Filter.Language,\r\n Filter.Query.join(' '),\r\n this.app.lvl,\r\n this.app.id,\r\n this.group.lvl,\r\n this.group.id\r\n ];\r\n } else {\r\n parameters = [\r\n Filter.Language,\r\n this.app.lvl,\r\n this.app.id,\r\n this.group.lvl,\r\n this.group.id\r\n ];\r\n }\r\n this.router.navigate(parameters, { relativeTo: this.route });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.mobileQuery.removeListener(this._mobileQueryListener);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n {{language.name}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n {{language.name}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \".language {\\n padding: 12px 16px 12px 16px;\\n height: 24px;\\n background-color: white;\\n font-size: 16px;\\n font-weight: 400;\\n display: flex;\\n align-items: center;\\n position: relative; }\\n\\n.language-header {\\n display: flex;\\n align-items: center;\\n padding: 0;\\n position: relative; }\\n\\n.language-header mat-select {\\n width: 85px;\\n flex-grow: 1;\\n position: relative; }\\n\\n.logo-language {\\n position: absolute;\\n top: 50%;\\n left: 55px;\\n transform: translateY(-50%);\\n height: 24px;\\n width: 24px;\\n pointer-events: none; }\\n\\n.language-header ::ng-deep .mat-select-value-text {\\n font-family: 'Emotive Sans TT', Helvetica;\\n font-size: 13px;\\n font-weight: 400; }\\n\\n.language-header ::ng-deep .mat-select-value {\\n padding-bottom: 2px; }\\n\\n.language-header ::ng-deep .mat-select-arrow {\\n visibility: hidden;\\n opacity: 0; }\\n\\n::ng-deep .cdk-overlay-container .cdk-overlay-pane .mat-select-panel.header-enabled-panel {\\n font-family: 'Emotive Sans TT', Helvetica;\\n font-size: 13px;\\n font-weight: 400;\\n margin-top: 50px; }\\n\\n::ng-deep .cdk-overlay-container .cdk-overlay-pane .mat-select-panel.header-enabled-panel .mat-option {\\n font-family: 'Emotive Sans TT', Helvetica;\\n font-size: 13px;\\n font-weight: 400; }\\n\\n/*::ng-deep .cdk-overlay-container .cdk-overlay-pane .mat-select-panel.header-enabled-panel .mat-option.mat-selected:not(.mat-option-multiple) {\\r\\n background: #00F890 !important;\\r\\n}\\r\\n*/\\n\\n.language ::ng-deep .mat-select-arrow {\\n visibility: hidden;\\n opacity: 0; }\\n\\n.language ::ng-deep .mat-select-value {\\n color: #5E616A; }\\n\\n.language-arrow-selection {\\n position: absolute;\\n top: 50%;\\n right: 15px;\\n transform: translateY(-50%);\\n height: 16px;\\n width: 16px;\\n pointer-events: none;\\n color: #000; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGFuZ3VhZ2UvQzpcXGk0QlxcUmVwb3NpdG9yaWVzXFx3ZWItY2F0YWxvZ1xcV2ViQ2F0YWxvZy5BUElcXGFwcC9zcmNcXGFwcFxcbGFuZ3VhZ2VcXGxhbmd1YWdlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9sYW5ndWFnZS9sYW5ndWFnZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDRCQUE0QjtFQUM1QixZQUFZO0VBQ1osdUJBQXVCO0VBQ3ZCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLFVBQVU7RUFDVixrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsVUFBVTtFQUNWLDJCQUEyQjtFQUMzQixZQUFZO0VBQ1osV0FBVztFQUNYLG9CQUFvQixFQUFBOztBQUt0QjtFQUNFLHlDQUF5QztFQUN6QyxlQUFlO0VBQ2YsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVUsRUFBQTs7QUFHWjtFQUNFLHlDQUF5QztFQUN6QyxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLHlDQUF5QztFQUN6QyxlQUFlO0VBQ2YsZ0JBQWdCLEVBQUE7O0FBR2xCOzs7Q0NSQzs7QURhRDtFQUNFLGtCQUFrQjtFQUNsQixVQUFVLEVBQUE7O0FBR1o7RUFDRSxjQUFjLEVBQUE7O0FBR2hCO0VBQ0Usa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixXQUFXO0VBQ1gsMkJBQTJCO0VBQzNCLFlBQVk7RUFDWixXQUFXO0VBQ1gsb0JBQW9CO0VBQ3BCLFdBQVcsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2xhbmd1YWdlL2xhbmd1YWdlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxhbmd1YWdlIHtcclxuICBwYWRkaW5nOiAxMnB4IDE2cHggMTJweCAxNnB4O1xyXG4gIGhlaWdodDogMjRweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ubGFuZ3VhZ2UtaGVhZGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5sYW5ndWFnZS1oZWFkZXIgbWF0LXNlbGVjdCB7XHJcbiAgd2lkdGg6IDg1cHg7XHJcbiAgZmxleC1ncm93OiAxO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmxvZ28tbGFuZ3VhZ2Uge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1NXB4O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICBoZWlnaHQ6IDI0cHg7XHJcbiAgd2lkdGg6IDI0cHg7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcblxyXG5cclxuLmxhbmd1YWdlLWhlYWRlciA6Om5nLWRlZXAgLm1hdC1zZWxlY3QtdmFsdWUtdGV4dCB7XHJcbiAgZm9udC1mYW1pbHk6ICdFbW90aXZlIFNhbnMgVFQnLCBIZWx2ZXRpY2E7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbi5sYW5ndWFnZS1oZWFkZXIgOjpuZy1kZWVwIC5tYXQtc2VsZWN0LXZhbHVlIHtcclxuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xyXG59XHJcblxyXG4ubGFuZ3VhZ2UtaGVhZGVyIDo6bmctZGVlcCAubWF0LXNlbGVjdC1hcnJvdyB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAuY2RrLW92ZXJsYXktY29udGFpbmVyIC5jZGstb3ZlcmxheS1wYW5lIC5tYXQtc2VsZWN0LXBhbmVsLmhlYWRlci1lbmFibGVkLXBhbmVsIHtcclxuICBmb250LWZhbWlseTogJ0Vtb3RpdmUgU2FucyBUVCcsIEhlbHZldGljYTtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBtYXJnaW4tdG9wOiA1MHB4O1xyXG59XHJcblxyXG46Om5nLWRlZXAgLmNkay1vdmVybGF5LWNvbnRhaW5lciAuY2RrLW92ZXJsYXktcGFuZSAubWF0LXNlbGVjdC1wYW5lbC5oZWFkZXItZW5hYmxlZC1wYW5lbCAubWF0LW9wdGlvbiB7XHJcbiAgZm9udC1mYW1pbHk6ICdFbW90aXZlIFNhbnMgVFQnLCBIZWx2ZXRpY2E7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbi8qOjpuZy1kZWVwIC5jZGstb3ZlcmxheS1jb250YWluZXIgLmNkay1vdmVybGF5LXBhbmUgLm1hdC1zZWxlY3QtcGFuZWwuaGVhZGVyLWVuYWJsZWQtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSkge1xyXG4gIGJhY2tncm91bmQ6ICMwMEY4OTAgIWltcG9ydGFudDtcclxufVxyXG4qL1xyXG5cclxuLmxhbmd1YWdlIDo6bmctZGVlcCAubWF0LXNlbGVjdC1hcnJvdyB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5sYW5ndWFnZSA6Om5nLWRlZXAgLm1hdC1zZWxlY3QtdmFsdWUge1xyXG4gIGNvbG9yOiAjNUU2MTZBO1xyXG59XHJcblxyXG4ubGFuZ3VhZ2UtYXJyb3ctc2VsZWN0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgcmlnaHQ6IDE1cHg7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIGhlaWdodDogMTZweDtcclxuICB3aWR0aDogMTZweDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICBjb2xvcjogIzAwMDtcclxufVxyXG4iLCIubGFuZ3VhZ2Uge1xuICBwYWRkaW5nOiAxMnB4IDE2cHggMTJweCAxNnB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubGFuZ3VhZ2UtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5sYW5ndWFnZS1oZWFkZXIgbWF0LXNlbGVjdCB7XG4gIHdpZHRoOiA4NXB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubG9nby1sYW5ndWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDU1cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMjRweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmxhbmd1YWdlLWhlYWRlciA6Om5nLWRlZXAgLm1hdC1zZWxlY3QtdmFsdWUtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAnRW1vdGl2ZSBTYW5zIFRUJywgSGVsdmV0aWNhO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmxhbmd1YWdlLWhlYWRlciA6Om5nLWRlZXAgLm1hdC1zZWxlY3QtdmFsdWUge1xuICBwYWRkaW5nLWJvdHRvbTogMnB4OyB9XG5cbi5sYW5ndWFnZS1oZWFkZXIgOjpuZy1kZWVwIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwOyB9XG5cbjo6bmctZGVlcCAuY2RrLW92ZXJsYXktY29udGFpbmVyIC5jZGstb3ZlcmxheS1wYW5lIC5tYXQtc2VsZWN0LXBhbmVsLmhlYWRlci1lbmFibGVkLXBhbmVsIHtcbiAgZm9udC1mYW1pbHk6ICdFbW90aXZlIFNhbnMgVFQnLCBIZWx2ZXRpY2E7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuXG46Om5nLWRlZXAgLmNkay1vdmVybGF5LWNvbnRhaW5lciAuY2RrLW92ZXJsYXktcGFuZSAubWF0LXNlbGVjdC1wYW5lbC5oZWFkZXItZW5hYmxlZC1wYW5lbCAubWF0LW9wdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiAnRW1vdGl2ZSBTYW5zIFRUJywgSGVsdmV0aWNhO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLyo6Om5nLWRlZXAgLmNkay1vdmVybGF5LWNvbnRhaW5lciAuY2RrLW92ZXJsYXktcGFuZSAubWF0LXNlbGVjdC1wYW5lbC5oZWFkZXItZW5hYmxlZC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKSB7XHJcbiAgYmFja2dyb3VuZDogIzAwRjg5MCAhaW1wb3J0YW50O1xyXG59XHJcbiovXG4ubGFuZ3VhZ2UgOjpuZy1kZWVwIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5sYW5ndWFnZSA6Om5nLWRlZXAgLm1hdC1zZWxlY3QtdmFsdWUge1xuICBjb2xvcjogIzVFNjE2QTsgfVxuXG4ubGFuZ3VhZ2UtYXJyb3ctc2VsZWN0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDE1cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiAjMDAwOyB9XG4iXX0= */\"","import {\r\n Component,\r\n OnInit,\r\n Input\r\n} from '@angular/core';\r\nimport { Router,\r\n ActivatedRoute\r\n} from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../store/reducer';\r\nimport { Filter } from '../models/filter.model';\r\n\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-language',\r\n templateUrl: './language.component.html',\r\n styleUrls: ['./language.component.scss']\r\n})\r\nexport class LanguageComponent implements OnInit {\r\n\r\n languages = environment.languages;\r\n selected;\r\n group: any;\r\n app: any;\r\n @Input() isHeader: boolean = false;\r\n\r\n constructor(\r\n private router: Router,\r\n private store: Store,\r\n private route: ActivatedRoute) {\r\n\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (state.loadedArticles && !state.filtersChanged) {\r\n this.selected = Filter.Language;\r\n this.group = Filter.getAggregationAndId('group');\r\n this.app = Filter.getAggregationAndId('app');\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n changeLanguage(event: any) {\r\n Filter.setValue('Language', event.value);\r\n this.navigate();\r\n }\r\n\r\n navigate() {\r\n let parameters = [];\r\n if (Filter.Query.length > 0) {\r\n parameters = [\r\n Filter.Language,\r\n Filter.Query.join(' '),\r\n this.app.lvl,\r\n this.app.id,\r\n this.group.lvl,\r\n this.group.id\r\n ];\r\n } else {\r\n parameters = [\r\n Filter.Language,\r\n this.app.lvl,\r\n this.app.id,\r\n this.group.lvl,\r\n this.group.id\r\n ];\r\n }\r\n this.router.navigate(parameters);\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \".sk-cube-grid {\\n width: 40px;\\n height: 40px;\\n margin: 0 auto;\\n z-index: 5; }\\n\\n.sk-cube-grid .sk-cube {\\n width: 33%;\\n height: 33%;\\n background-color: #333;\\n float: left;\\n -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;\\n animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; }\\n\\n.sk-cube-grid .sk-cube1 {\\n -webkit-animation-delay: 0.2s;\\n animation-delay: 0.2s; }\\n\\n.sk-cube-grid .sk-cube2 {\\n -webkit-animation-delay: 0.3s;\\n animation-delay: 0.3s; }\\n\\n.sk-cube-grid .sk-cube3 {\\n -webkit-animation-delay: 0.4s;\\n animation-delay: 0.4s; }\\n\\n.sk-cube-grid .sk-cube4 {\\n -webkit-animation-delay: 0.1s;\\n animation-delay: 0.1s; }\\n\\n.sk-cube-grid .sk-cube5 {\\n -webkit-animation-delay: 0.2s;\\n animation-delay: 0.2s; }\\n\\n.sk-cube-grid .sk-cube6 {\\n -webkit-animation-delay: 0.3s;\\n animation-delay: 0.3s; }\\n\\n.sk-cube-grid .sk-cube7 {\\n -webkit-animation-delay: 0s;\\n animation-delay: 0s; }\\n\\n.sk-cube-grid .sk-cube8 {\\n -webkit-animation-delay: 0.1s;\\n animation-delay: 0.1s; }\\n\\n.sk-cube-grid .sk-cube9 {\\n -webkit-animation-delay: 0.2s;\\n animation-delay: 0.2s; }\\n\\n@-webkit-keyframes sk-cubeGridScaleDelay {\\n 0%, 70%, 100% {\\n transform: scale3D(1, 1, 1); }\\n 35% {\\n transform: scale3D(0, 0, 1); } }\\n\\n@keyframes sk-cubeGridScaleDelay {\\n 0%, 70%, 100% {\\n transform: scale3D(1, 1, 1); }\\n 35% {\\n transform: scale3D(0, 0, 1); } }\\n\\n.loading-spinner__offset {\\n height: calc(50vh - 40px); }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9hZGluZy1zcGlubmVyL0M6XFxpNEJcXFJlcG9zaXRvcmllc1xcd2ViLWNhdGFsb2dcXFdlYkNhdGFsb2cuQVBJXFxhcHAvc3JjXFxhcHBcXGxvYWRpbmctc3Bpbm5lclxcbG9hZGluZy1zcGlubmVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixjQUFjO0VBQ2QsVUFBVSxFQUFBOztBQUdaO0VBQ0UsVUFBVTtFQUNWLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsV0FBVztFQUNYLGtFQUFrRTtFQUMxRCwwREFBMEQsRUFBQTs7QUFFcEU7RUFDRSw2QkFBNkI7RUFDckIscUJBQXFCLEVBQUE7O0FBQy9CO0VBQ0UsNkJBQTZCO0VBQ3JCLHFCQUFxQixFQUFBOztBQUMvQjtFQUNFLDZCQUE2QjtFQUNyQixxQkFBcUIsRUFBQTs7QUFDL0I7RUFDRSw2QkFBNkI7RUFDckIscUJBQXFCLEVBQUE7O0FBQy9CO0VBQ0UsNkJBQTZCO0VBQ3JCLHFCQUFxQixFQUFBOztBQUMvQjtFQUNFLDZCQUE2QjtFQUNyQixxQkFBcUIsRUFBQTs7QUFDL0I7RUFDRSwyQkFBMkI7RUFDbkIsbUJBQW1CLEVBQUE7O0FBQzdCO0VBQ0UsNkJBQTZCO0VBQ3JCLHFCQUFxQixFQUFBOztBQUMvQjtFQUNFLDZCQUE2QjtFQUNyQixxQkFBcUIsRUFBQTs7QUFFL0I7RUFDRTtJQUVVLDJCQUEyQixFQUFBO0VBQ25DO0lBRVEsMkJBQTJCLEVBQUEsRUFBQTs7QUFJdkM7RUFDRTtJQUVVLDJCQUEyQixFQUFBO0VBQ25DO0lBRVEsMkJBQTJCLEVBQUEsRUFBQTs7QUFJdkM7RUFDRSx5QkFBeUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2xvYWRpbmctc3Bpbm5lci9sb2FkaW5nLXNwaW5uZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc2stY3ViZS1ncmlkIHtcclxuICB3aWR0aDogNDBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgei1pbmRleDogNTtcclxufVxyXG5cclxuLnNrLWN1YmUtZ3JpZCAuc2stY3ViZSB7XHJcbiAgd2lkdGg6IDMzJTtcclxuICBoZWlnaHQ6IDMzJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzay1jdWJlR3JpZFNjYWxlRGVsYXkgMS4zcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcclxuICAgICAgICAgIGFuaW1hdGlvbjogc2stY3ViZUdyaWRTY2FsZURlbGF5IDEuM3MgaW5maW5pdGUgZWFzZS1pbi1vdXQ7IFxyXG59XHJcbi5zay1jdWJlLWdyaWQgLnNrLWN1YmUxIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4ycztcclxuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4yczsgfVxyXG4uc2stY3ViZS1ncmlkIC5zay1jdWJlMiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuM3M7XHJcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuM3M7IH1cclxuLnNrLWN1YmUtZ3JpZCAuc2stY3ViZTMge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjRzO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjRzOyB9XHJcbi5zay1jdWJlLWdyaWQgLnNrLWN1YmU0IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4xcztcclxuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4xczsgfVxyXG4uc2stY3ViZS1ncmlkIC5zay1jdWJlNSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuMnM7XHJcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7IH1cclxuLnNrLWN1YmUtZ3JpZCAuc2stY3ViZTYge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xyXG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9XHJcbi5zay1jdWJlLWdyaWQgLnNrLWN1YmU3IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMHM7XHJcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDBzOyB9XHJcbi5zay1jdWJlLWdyaWQgLnNrLWN1YmU4IHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4xcztcclxuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4xczsgfVxyXG4uc2stY3ViZS1ncmlkIC5zay1jdWJlOSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuMnM7XHJcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7IH1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzay1jdWJlR3JpZFNjYWxlRGVsYXkge1xyXG4gIDAlLCA3MCUsIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM0QoMSwgMSwgMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzRCgxLCAxLCAxKTtcclxuICB9IDM1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzRCgwLCAwLCAxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNEKDAsIDAsIDEpOyBcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2stY3ViZUdyaWRTY2FsZURlbGF5IHtcclxuICAwJSwgNzAlLCAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNEKDEsIDEsIDEpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM0QoMSwgMSwgMSk7XHJcbiAgfSAzNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM0QoMCwgMCwgMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzRCgwLCAwLCAxKTtcclxuICB9IFxyXG59XHJcblxyXG4ubG9hZGluZy1zcGlubmVyX19vZmZzZXQge1xyXG4gIGhlaWdodDogY2FsYyg1MHZoIC0gNDBweCk7XHJcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loading-spinner',\r\n templateUrl: './loading-spinner.component.html',\r\n styleUrls: ['./loading-spinner.component.scss']\r\n})\r\nexport class LoadingSpinnerComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \":host {\\n display: block;\\n height: calc(100% - 135px); }\\n :host.is-mobile {\\n height: calc(100% - 117px); }\\n .main-panel {\\n height: 100%; }\\n .is-mobile .main-panel {\\n height: inherit;\\n margin-top: 0; }\\n .main-panel {\\n width: 100%;\\n height: 100%;\\n flex: 1;\\n background: none;\\n background-color: #f5f5f5; }\\n .main-panel__desktop {\\n height: auto;\\n min-height: calc(-136px + 100vh); }\\n .main-panel__container__desktop {\\n display: flex; }\\n .main-panel__filters {\\n max-width: 300px;\\n width: 100%; }\\n .main-panel__filters--mobile {\\n max-width: 300px; }\\n .main-panel__filters--desktop {\\n margin: 10px 10px 22px 23px;\\n position: unset; }\\n .main-panel__results {\\n display: flex;\\n flex-direction: column; }\\n .main-panel__results--desktop {\\n background: none;\\n width: 100%; }\\n .main-panel__results--desktop--initial {\\n margin-left: initial; }\\n .main-panel__results--desktop--not-empty {\\n margin-left: 0 !important; }\\n .main-panel__results--mobile {\\n background: none;\\n margin-left: initial; }\\n .main-panel__results__breadcrumb {\\n flex: 0 0 auto; }\\n .main-panel__results__articles {\\n flex: 1 0 auto; }\\n .main-panel__results__footer {\\n flex-shrink: 0;\\n background-color: #000000; }\\n .main-panel__results__footer__toolbar {\\n padding: 36px 85px;\\n height: 264px;\\n background-color: #000000; }\\n .main-panel__results__footer__toolbar app-footer {\\n width: 100%;\\n height: 100%; }\\n .main-panel__results__footer--mobile {\\n display: none; }\\n app-footer-mobile {\\n background-color: #000000;\\n height: 546px;\\n width: 100%; }\\n .is-mobile .sidenav-container {\\n flex: 1 0 auto; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFpbi1wYW5lbC9DOlxcaTRCXFxSZXBvc2l0b3JpZXNcXHdlYi1jYXRhbG9nXFxXZWJDYXRhbG9nLkFQSVxcYXBwL3NyY1xcYXBwXFxtYWluLXBhbmVsXFxtYWluLXBhbmVsLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9tYWluLXBhbmVsL0M6XFxpNEJcXFJlcG9zaXRvcmllc1xcd2ViLWNhdGFsb2dcXFdlYkNhdGFsb2cuQVBJXFxhcHAvc3JjXFxhcHBcXF92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNFLGNBQWM7RUFDZCwwQkFBMEIsRUFBQTtFQUY1QjtJQUtJLDBCQUEwQixFQUFBO0VBSzlCO0VBQ0ksWUFBWSxFQUFBO0VBR2hCO0VBQ0ksZUFBZTtFQUNmLGFBQWEsRUFBQTtFQUVqQjtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osT0FBTztFQUNQLGdCQUFnQjtFQUNoQix5QkFBeUIsRUFBQTtFQUV6QjtJQUNFLFlBQVk7SUFDWixnQ0FBZ0MsRUFBQTtFQUdsQztJQUNFLGFBQWEsRUFBQTtFQUdmO0lBQ0UsZ0JDbkMyQjtJRG9DM0IsV0FBVyxFQUFBO0VBR1g7TUFDRSxnQkFBZ0IsRUFBQTtFQUdsQjtNQUVFLDJCQUEyQjtNQUMzQixlQUFlLEVBQUE7RUFJbkI7SUFDRSxhQUFhO0lBQ2Isc0JBQXNCLEVBQUE7RUFFdEI7TUFDRSxnQkFBZ0I7TUFDaEIsV0FBVyxFQUFBO0VBRVg7UUFDRSxvQkFBb0IsRUFBQTtFQUd0QjtRQUNFLHlCQUF5QixFQUFBO0VBSTdCO01BQ0UsZ0JBQWdCO01BQ2hCLG9CQUFvQixFQUFBO0VBR3RCO01BQ0UsY0FBYyxFQUFBO0VBSWhCO01BQ0UsY0FBYyxFQUFBO0VBR2hCO01BQ0UsY0FBYztNQUNkLHlCQy9Fa0MsRUFBQTtFRGlGbEM7UUFDRSxrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLHlCQ3BGZ0MsRUFBQTtFRGlGakM7VUFNRyxXQUFXO1VBQ1gsWUFBWSxFQUFBO0VBSWhCO1FBQ0UsYUFBYSxFQUFBO0VBTXJCO0VBQ0UseUJDcEdzQztFRHFHdEMsYUFBYTtFQUNiLFdBQVcsRUFBQTtFQUdiO0VBQ0ksY0FBYyxFQUFBIiwiZmlsZSI6InNyYy9hcHAvbWFpbi1wYW5lbC9tYWluLXBhbmVsLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vdmFyaWFibGVzJztcclxuXHJcbjpob3N0IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEzNXB4KTtcclxuXHJcbiAgJi5pcy1tb2JpbGUge1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMTdweCk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLm1haW4tcGFuZWwge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uaXMtbW9iaWxlIC5tYWluLXBhbmVsIHtcclxuICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuLm1haW4tcGFuZWwge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBmbGV4OiAxO1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuXHJcbiAgJl9fZGVza3RvcCB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiBjYWxjKC0xMzZweCArIDEwMHZoKTtcclxuICB9XHJcblxyXG4gICZfX2NvbnRhaW5lcl9fZGVza3RvcCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxuXHJcbiAgJl9fZmlsdGVycyB7XHJcbiAgICBtYXgtd2lkdGg6ICRmaWx0ZXJzLXBhbmVsLW1heC13aWR0aDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuXHJcbiAgICAmLS1tb2JpbGUge1xyXG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYtLWRlc2t0b3Age1xyXG4gICAgICAvL2JveC1zaGFkb3c6ICRib3gtc2hhZG93LWRlZmF1bHQ7XHJcbiAgICAgIG1hcmdpbjogMTBweCAxMHB4IDIycHggMjNweDtcclxuICAgICAgcG9zaXRpb246IHVuc2V0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fcmVzdWx0cyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAmLS1kZXNrdG9wIHtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAmLS1pbml0aWFsIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi0tbm90LWVtcHR5IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tbW9iaWxlIHtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYnJlYWRjcnVtYiB7XHJcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAvL3BhZGRpbmctdG9wOiA4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYXJ0aWNsZXMge1xyXG4gICAgICBmbGV4OiAxIDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmX19mb290ZXIge1xyXG4gICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1mb290ZXItYmFja2dyb3VuZC1jb2xvcjtcclxuXHJcbiAgICAgICZfX3Rvb2xiYXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDM2cHggODVweDtcclxuICAgICAgICBoZWlnaHQ6IDI2NHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItZm9vdGVyLWJhY2tncm91bmQtY29sb3I7XHJcblxyXG4gICAgICAgIGFwcC1mb290ZXIge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLS1tb2JpbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1mb290ZXItbW9iaWxlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gIGhlaWdodDogNTQ2cHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5pcy1tb2JpbGUgLnNpZGVuYXYtY29udGFpbmVyIHtcclxuICAgIGZsZXg6IDEgMCBhdXRvO1xyXG59XHJcbiIsIiRib3gtc2hhZG93LWRlZmF1bHQ6IG5vbmUgIWRlZmF1bHQ7XHJcbiRwYW5lbC1tYXJnaW4tZGVmYXVsdDogMTBweCAxMHB4IDEwcHggMTBweDtcclxuJGZpbHRlcnMtcGFuZWwtbWF4LXdpZHRoOiAzMDBweDtcclxuJG9wZW4tc2Fucy1mb250OiAnRW1vdGl2ZSBTYW5zIFRUJywgSGVsdmV0aWNhO1xyXG4kb3B0aW1hbC1jb2xvcjogcmdiKDI2LCA1MSwgODgpO1xyXG4kYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuJGhlYWRlci1mb290ZXItYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuJG1vdGl2ZS1jb2xvcjogIzAwRjg5MDtcclxuIl19 */\"","import { Component,\r\n OnInit,\r\n OnDestroy,\r\n ChangeDetectorRef,\r\n ViewChild,\r\n AfterViewInit,\r\n NgZone,\r\n HostBinding,\r\n HostListener\r\n} from '@angular/core';\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport { MatSidenav,\r\n MatSidenavContainer\r\n} from '@angular/material';\r\nimport { CdkScrollable } from '@angular/cdk/scrolling';\r\nimport { Router,\r\n ActivatedRoute,\r\n ParamMap\r\n} from '@angular/router';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../store/reducer';\r\n\r\nimport * as ArticlesActions from '../store/actions';\r\nimport { Filter } from '../models/filter.model';\r\nimport { environment } from '../../environments/environment';\r\nimport { SharedService } from '../shared.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-main-panel',\r\n templateUrl: './main-panel.component.html',\r\n styleUrls: ['./main-panel.component.scss']\r\n})\r\nexport class MainPanelComponent implements OnInit, OnDestroy, AfterViewInit {\r\n @ViewChild('snav', {read: MatSidenav}) sidenav: MatSidenav;\r\n @ViewChild(MatSidenavContainer) sidenavContainer: MatSidenavContainer;\r\n @ViewChild(CdkScrollable) scrollable: CdkScrollable;\r\n\r\n mobileQuery: MediaQueryList;\r\n private _mobileQueryListener: () => void;\r\n hideFiltersPanel = false;\r\n private articlesNumber;\r\n\r\n @HostBinding('class.is-mobile') get isMobile() {\r\n return this.mobileQuery.matches;\r\n }\r\n\r\n constructor(private store: Store,\r\n private zone: NgZone,\r\n changeDetectorRef: ChangeDetectorRef,\r\n media: MediaMatcher,\r\n private sharedService: SharedService) {\r\n\r\n this.mobileQuery = media.matchMedia(environment.mediaMatcher);\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n @HostListener('window:scroll', ['$event'])\r\n onWindowScroll(event: Event) {\r\n if (!this.mobileQuery.matches) {\r\n const target = event.target as Document;\r\n const { documentElement } = target;\r\n\r\n if (documentElement.scrollHeight - documentElement.scrollTop === documentElement.clientHeight) {\r\n this.loadMoreArticles();\r\n }\r\n }\r\n }\r\n\r\n loadMoreArticles() {\r\n if (this.articlesNumber > 0 && this.articlesNumber % environment.defaultOffset === 0) {\r\n Filter.Offset += environment.defaultOffset;\r\n this.store.dispatch({ type: ArticlesActions.ActionTypes.LOAD_ARTICLES, payload: { filters: Filter } });\r\n }\r\n }\r\n\r\n ngAfterViewInit () {\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (this.mobileQuery.matches\r\n && state.togglingSidenav) {\r\n this.zone.run(() => {\r\n this.sidenav.toggle();\r\n setTimeout(() => {}, 0);\r\n });\r\n }\r\n if (state.loadedArticles) {\r\n this.articlesNumber = state.result.Articles.length;\r\n this.hideFiltersPanel = false;\r\n if (state.result.Articles.length === 0\r\n && (state.result.Aggregations.ArticleGroupAggregationItem.BaseItems.length === 0\r\n || state.result.Aggregations.ApplicationsAggregationItem.BaseItems.length === 0)) {\r\n this.zone.run(() => {\r\n this.hideFiltersPanel = true;\r\n this.sidenav.toggle(false);\r\n setTimeout(() => {}, 0);\r\n });\r\n } else if (Filter.Offset === 0) {\r\n Filter.setSuccessfulSearch();\r\n this.zone.run(() => {\r\n this.sidenav.toggle(true);\r\n setTimeout(() => {}, 0);\r\n });\r\n }\r\n }\r\n });\r\n this.scrollable.elementScrolled().subscribe((e: any) => {\r\n if (e.srcElement.scrollTop > e.srcElement.scrollHeight - e.srcElement.offsetHeight - 1\r\n && this.articlesNumber > 0\r\n && this.articlesNumber % environment.defaultOffset === 0) {\r\n Filter.Offset += environment.defaultOffset;\r\n this.store.dispatch({type: ArticlesActions.ActionTypes.LOAD_ARTICLES, payload: {\r\n filters: Filter\r\n }});\r\n }\r\n });\r\n }\r\n\r\n onSidenavClosedStart(): void {\r\n this.zone.run(() => {\r\n this.sharedService.setSidebarClosed(true); \r\n });\r\n }\r\n\r\n onSidenavOpenedStart(): void {\r\n this.zone.run(() => {\r\n this.sharedService.setSidebarClosed(false); \r\n });\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.mobileQuery.removeListener(this._mobileQueryListener);\r\n }\r\n\r\n}\r\n","// plik do importowania modułów material design do aplikacji głównej\r\n\r\nimport { MatButtonModule,\r\n MatInputModule,\r\n MatCardModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatSelectModule,\r\n MatAutocompleteModule,\r\n MatAutocompleteTrigger,\r\n MatIconRegistry\r\n} from '@angular/material';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { NgModule } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@NgModule({\r\n imports: [\r\n MatButtonModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatCardModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatSelectModule,\r\n MatAutocompleteModule\r\n ],\r\n exports: [\r\n MatButtonModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatCardModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatToolbarModule,\r\n MatChipsModule,\r\n MatSelectModule,\r\n MatAutocompleteModule\r\n ]\r\n})\r\nexport class MaterialModule {\r\n constructor(private matIconRegistry: MatIconRegistry, private domSanitizer: DomSanitizer) {\r\n this.matIconRegistry.addSvgIcon(\r\n 'chevron-down',\r\n this.domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/chevron-down.svg')\r\n );\r\n this.matIconRegistry.addSvgIcon(\r\n 'chevron-up',\r\n this.domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/chevron-up.svg')\r\n );\r\n this.matIconRegistry.addSvgIcon(\r\n 'arrow-left',\r\n this.domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/arrow-left.svg')\r\n );\r\n }\r\n}\r\n","import { ParamMap } from '@angular/router';\r\n\r\nexport class BaseType {\r\n Id?: number;\r\n Name?: string;\r\n}\r\n\r\n\r\nclass Filters {\r\n Query?: string[];\r\n Make?: BaseType;\r\n Model?: BaseType;\r\n Type?: BaseType;\r\n Group1?: BaseType;\r\n Group2?: BaseType;\r\n Group3?: BaseType;\r\n Offset?: number;\r\n Limit?: number;\r\n Language?: string;\r\n private __default: any;\r\n private __lastSuccess: any;\r\n\r\n constructor() {\r\n this.Query = [];\r\n this.Make = {};\r\n this.Model = {};\r\n this.Type = {};\r\n this.Group1 = {};\r\n this.Group2 = {};\r\n this.Group3 = {};\r\n this.Offset = 0;\r\n this.Limit = 10;\r\n this.Language = 'en';\r\n this.__default = {\r\n Query : [],\r\n Make : {},\r\n Model : {},\r\n Type : {},\r\n Group1 : {},\r\n Group2 : {},\r\n Group3 : {},\r\n Offset : 0,\r\n Limit : 10,\r\n Language : 'en'\r\n };\r\n this.__lastSuccess = {\r\n Query : [],\r\n Make : {},\r\n Model : {},\r\n Type : {},\r\n Group1 : {},\r\n Group2 : {},\r\n Group3 : {},\r\n Offset : 0,\r\n Limit : 10,\r\n Language : 'en'\r\n };\r\n }\r\n\r\n get(): any {\r\n return this;\r\n }\r\n\r\n getValue(key: string): any {\r\n return this[key];\r\n }\r\n\r\n getAggregationAndId(key: string): any {\r\n switch (key) {\r\n case 'group':\r\n if (this.Group3.Id) {\r\n return {id: this.Group3.Id, lvl: 4};\r\n }\r\n if (this.Group2.Id) {\r\n return {id: this.Group2.Id, lvl: 3};\r\n }\r\n if (this.Group1.Id) {\r\n return {id: this.Group1.Id, lvl: 2};\r\n }\r\n return {id: 0, lvl: 1};\r\n case 'app':\r\n if (this.Type.Id) {\r\n return {id: this.Type.Id, lvl: 4};\r\n }\r\n if (this.Model.Id) {\r\n return {id: this.Model.Id, lvl: 3};\r\n }\r\n if (this.Make.Id) {\r\n return {id: this.Make.Id, lvl: 2};\r\n }\r\n return {id: 0, lvl: 1};\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n setSuccessfulSearch(): void {\r\n this.__lastSuccess = {\r\n Query: this.Query,\r\n Make: this.Make,\r\n Model: this.Model,\r\n Type: this.Type,\r\n Group1: this.Group1,\r\n Group2: this.Group2,\r\n Group3: this.Group3,\r\n Offset: 0,\r\n Limit: 10,\r\n Language: this.Language\r\n };\r\n }\r\n\r\n getLastSuccessfulSearch(): any[] {\r\n let successful = [this.Language];\r\n // if (this.__lastSuccess.Query) {\r\n this.setValue('Query', this.__lastSuccess.Query);\r\n successful.push(this.__lastSuccess.Query.join(' ').replace('/', '%2F'));\r\n // }\r\n if (this.__lastSuccess.Type.Id) {\r\n this.setValue('Type', this.__lastSuccess.Type);\r\n successful.push('4', this.__lastSuccess.Type.Id);\r\n } else if (this.__lastSuccess.Model.Id) {\r\n this.setValue('Model', this.__lastSuccess.Model);\r\n successful.push('3', this.__lastSuccess.Model.Id);\r\n } else if (this.__lastSuccess.Make.Id) {\r\n this.setValue('Make', this.__lastSuccess.Make);\r\n successful.push('2', this.__lastSuccess.Make.Id);\r\n } else {\r\n successful.push('1', '0');\r\n }\r\n if (this.__lastSuccess.Group3.Id) {\r\n this.setValue('Group3', this.__lastSuccess.Group3);\r\n successful.push('4', this.__lastSuccess.Group3.Id);\r\n } else if (this.__lastSuccess.Group2.Id) {\r\n this.setValue('Group2', this.__lastSuccess.Group2);\r\n successful.push('3', this.__lastSuccess.Group2.Id);\r\n } else if (this.__lastSuccess.Group1.Id) {\r\n this.setValue('Group1', this.__lastSuccess.Group1);\r\n successful.push('2', this.__lastSuccess.Group1.Id);\r\n } else {\r\n successful.push('1', '0');\r\n }\r\n return successful;\r\n }\r\n\r\n setValue(key: string, value: any): any {\r\n if (this.hasOwnProperty(key)) {\r\n this[key] = value;\r\n return this;\r\n }\r\n }\r\n\r\n resetFilters(resetLanguage: boolean): any {\r\n this.Query = [];\r\n this.Make = {};\r\n this.Model = {};\r\n this.Type = {};\r\n this.Group1 = {};\r\n this.Group2 = {};\r\n this.Group3 = {};\r\n this.Offset = 0;\r\n this.Limit = 10;\r\n if (resetLanguage) {\r\n this.Language = 'en';\r\n }\r\n }\r\n\r\n resetValue(key: string): any {\r\n if (this.hasOwnProperty(key)) {\r\n this[key] = this.__default[key];\r\n return this;\r\n }\r\n }\r\n\r\n setFilterFromItemProper(state: any, key: string, aggregationType: string): void {\r\n if (aggregationType === 'applications') {\r\n this[key] = {\r\n Id: state.result.Aggregations.ApplicationsAggregationItem.BaseItems[0].Id,\r\n Name: state.result.Aggregations.ApplicationsAggregationItem.BaseItems[0].Name\r\n };\r\n }\r\n if (aggregationType === 'groups') {\r\n this[key] = {\r\n Id: state.result.Aggregations.ArticleGroupAggregationItem.BaseItems[0].Id,\r\n Name: state.result.Aggregations.ArticleGroupAggregationItem.BaseItems[0].Name\r\n };\r\n }\r\n }\r\n\r\n setFilterFromItemParent(state: any, key: string, aggregationType: string): void {\r\n if (aggregationType === 'applications') {\r\n this[key] = {\r\n Id: state.result.Aggregations.ApplicationsAggregationItem.BaseItems[0].Parent.Id,\r\n Name: state.result.Aggregations.ApplicationsAggregationItem.BaseItems[0].Parent.Name\r\n };\r\n }\r\n if (aggregationType === 'groups') {\r\n this[key] = {\r\n Id: state.result.Aggregations.ArticleGroupAggregationItem.BaseItems[0].Parent.Id,\r\n Name: state.result.Aggregations.ArticleGroupAggregationItem.BaseItems[0].Parent.Name\r\n };\r\n }\r\n }\r\n\r\n setFilterFromItemGrandParent(state: any, key: string, aggregationType: string): void {\r\n if (aggregationType === 'applications') {\r\n this[key] = {\r\n Id: state.result.Aggregations.ApplicationsAggregationItem.BaseItems[0].Parent.Parent.Id,\r\n Name: state.result.Aggregations.ApplicationsAggregationItem.BaseItems[0].Parent.Parent.Name\r\n };\r\n }\r\n if (aggregationType === 'groups') {\r\n this[key] = {\r\n Id: state.result.Aggregations.ArticleGroupAggregationItem.BaseItems[0].Parent.Parent.Id,\r\n Name: state.result.Aggregations.ArticleGroupAggregationItem.BaseItems[0].Parent.Parent.Name\r\n };\r\n }\r\n }\r\n\r\n setValuesBasedOnParamMap(paramMap: ParamMap): void {\r\n if (paramMap.has('lang')) {\r\n this.setValue('Language', paramMap.get('lang'));\r\n }\r\n if (paramMap.has('query')) {\r\n this.setValue('Query', this.removeWhitespace(paramMap.get('query').split(' ')));\r\n }\r\n if (paramMap.has('app') && paramMap.get('app') === '4') {\r\n this.resetValue('Offset');\r\n this.setValue('Type', {\r\n Id: paramMap.get('appId')\r\n });\r\n }\r\n if (paramMap.has('app') && paramMap.get('app') === '3') {\r\n this.resetValue('Offset');\r\n this.resetValue('Type');\r\n this.setValue('Model', {\r\n Id: paramMap.get('appId')\r\n });\r\n }\r\n if (paramMap.has('app') && paramMap.get('app') === '2') {\r\n this.resetValue('Offset');\r\n this.resetValue('Type');\r\n this.resetValue('Model');\r\n this.setValue('Make', {\r\n Id: paramMap.get('appId')\r\n });\r\n }\r\n if (paramMap.has('group') && paramMap.get('group') === '4') {\r\n this.resetValue('Offset');\r\n this.setValue('Group3', {\r\n Id: paramMap.get('groupId')\r\n });\r\n }\r\n if (paramMap.has('group') && paramMap.get('group') === '3') {\r\n this.resetValue('Offset');\r\n this.resetValue('Group3');\r\n this.setValue('Group2', {\r\n Id: paramMap.get('groupId')\r\n });\r\n }\r\n if (paramMap.has('group') && paramMap.get('group') === '2') {\r\n this.resetValue('Offset');\r\n this.resetValue('Group3');\r\n this.resetValue('Group2');\r\n this.setValue('Group1', {\r\n Id: paramMap.get('groupId')\r\n });\r\n }\r\n }\r\n\r\n removeWhitespace(value) {\r\n if (typeof(value) === 'string') {\r\n value = value.split(' ');\r\n }\r\n for (let i = 0; i < value.length; ++i) {\r\n if (value[i] === '') {\r\n value.splice(i, 1);\r\n --i;\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n\r\nexport let Filter = new Filters();\r\n","import { Injectable } from '@angular/core';\r\nimport { Router,\r\n Resolve,\r\n RouterStateSnapshot,\r\n ActivatedRouteSnapshot,\r\n ActivatedRoute\r\n} from '@angular/router';\r\n\r\nimport { map,\r\n take\r\n} from 'rxjs/operators';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from './store/reducer';\r\nimport * as ArticlesActions from './store/actions';\r\n\r\nimport { Filter } from './models/filter.model';\r\n\r\n\r\n@Injectable()\r\nexport class RouteResolverService implements Resolve {\r\n constructor(private store: Store\r\n ) {}\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): void {\r\n\r\n Filter.setValuesBasedOnParamMap(route.paramMap);\r\n if (!route.firstChild) {\r\n if (route.paramMap.has('app')\r\n && route.paramMap.get('app') === '1'\r\n && route.paramMap.get('appId') === '0') {\r\n Filter.resetValue('Make');\r\n Filter.resetValue('Model');\r\n Filter.resetValue('Type');\r\n Filter.resetValue('Offset');\r\n }\r\n if (route.paramMap.has('group')\r\n && route.paramMap.get('group') === '1'\r\n && route.paramMap.get('groupId') === '0') {\r\n Filter.resetValue('Group1');\r\n Filter.resetValue('Group2');\r\n Filter.resetValue('Group3');\r\n Filter.resetValue('Offset');\r\n }\r\n if (!route.paramMap.has('query')) {\r\n Filter.resetValue('Query');\r\n }\r\n\r\n this.store.dispatch({type: ArticlesActions.ActionTypes.LOAD_ARTICLES, payload: { filters: Filter }});\r\n }\r\n\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n {{ 'EmptySearchBar.title' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{option}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","module.exports = \"/**\\n * Applies styles for users in high contrast mode. Note that this only applies\\n * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`\\n * attribute, however Chrome handles high contrast differently.\\n * @param target Which kind of high contrast setting to target. Defaults to `active`, can be\\n * `white-on-black` or `black-on-white`.\\n */\\n/* Theme for the ripple elements.*/\\n/* stylelint-disable material/no-prefixes */\\n/* stylelint-enable */\\n.header__form {\\n width: 100%;\\n padding: 0; }\\n.header__form-field {\\n width: 100%;\\n background-color: transparent; }\\n.header__form-field__input::-moz-placeholder {\\n color: black; }\\n.header__form-field__input:-ms-input-placeholder {\\n color: black; }\\n.header__form-field__input::placeholder {\\n color: black; }\\n.header__form-field ::ng-deep .mat-form-field-wrapper {\\n padding-bottom: 0 !important;\\n align-items: center; }\\n.header__form-field ::ng-deep .mat-form-field-flex {\\n align-items: center;\\n height: 100%;\\n background-color: white;\\n padding: 10px 15px 0px 30px; }\\n.header__form-field ::ng-deep .mat-form-field-underline {\\n display: none; }\\n.header__form-field ::ng-deep .mat-form-field-appearance-fill .mat-form-field-underline::before {\\n display: none; }\\n.header__form-field ::ng-deep .mat-form-field-ripple {\\n background-color: #00F890 !important; }\\n.header__form-field ::ng-deep .mat-input-element {\\n margin-bottom: 0 !important;\\n background-color: white; }\\n.header__form-field ::ng-deep .mat-icon-button {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n padding-bottom: 5px; }\\n.header__form-field .custom-icon {\\n width: 24px;\\n height: 24px;\\n background-image: url(\\\"/assets/search.svg\\\");\\n background-size: cover;\\n background-position: center; }\\n.header__form-field-mobile ::ng-deep .mat-form-field-flex {\\n padding: 10px 10px 0px 10px;\\n background: none; }\\n::ng-deep .mat-form-field-appearance-fill .mat-form-field-underline::before {\\n background-color: #00F890;\\n display: none; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2VhcmNoYmFyL0M6XFxpNEJcXFJlcG9zaXRvcmllc1xcd2ViLWNhdGFsb2dcXFdlYkNhdGFsb2cuQVBJXFxhcHAvbm9kZV9tb2R1bGVzXFxAYW5ndWxhclxcbWF0ZXJpYWxcXF90aGVtaW5nLnNjc3MiLCJzcmMvYXBwL3NlYXJjaGJhci9zZWFyY2hiYXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NlYXJjaGJhci9DOlxcaTRCXFxSZXBvc2l0b3JpZXNcXHdlYi1jYXRhbG9nXFxXZWJDYXRhbG9nLkFQSVxcYXBwL3NyY1xcYXBwXFxzZWFyY2hiYXJcXHNlYXJjaGJhci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc2VhcmNoYmFyL0M6XFxpNEJcXFJlcG9zaXRvcmllc1xcd2ViLWNhdGFsb2dcXFdlYkNhdGFsb2cuQVBJXFxhcHAvc3JjXFxhcHBcXF92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxS0E7Ozs7OztFQy9KRTtBRGl6Q0Ysa0NBQUE7QUE0MUNBLDJDQUFBO0FBd0NBLHFCQUFBO0FFdnJGRTtFQUNFLFdBQVc7RUFDWCxVQUFVLEVBQUE7QUFFVjtJQUNFLFdBQVc7SUFDWCw2QkFBNkIsRUFBQTtBQUU1QjtNQUVHLFlBQVksRUFBQTtBQUZmO01BRUcsWUFBWSxFQUFBO0FBRmY7TUFFRyxZQUFZLEVBQUE7QUFOakI7TUFXRyw0QkFBNEI7TUFDNUIsbUJBQW1CLEVBQUE7QUFadEI7TUFrQkcsbUJBQW1CO01BQ25CLFlBQVk7TUFDWix1QkFBdUI7TUFDdkIsMkJBQTJCLEVBQUE7QUFyQjlCO01BeUJHLGFBQWEsRUFBQTtBQXpCaEI7TUE2QkcsYUFBYSxFQUFBO0FBN0JoQjtNQWlDRyxvQ0FBb0MsRUFBQTtBQWpDdkM7TUFxQ0csMkJBQTJCO01BQzNCLHVCQUF1QixFQUFBO0FBdEMxQjtNQTRDRyxhQUFhO01BQ2IsbUJBQW1CO01BQ25CLHVCQUF1QjtNQUN2QixtQkFBbUIsRUFBQTtBQS9DdEI7TUFtREcsV0FBVztNQUNYLFlBQVk7TUFDWiwyQ0FBMkM7TUFDM0Msc0JBQXNCO01BQ3RCLDJCQUEyQixFQUFBO0FBRTdCO01BQ0UsMkJBQTJCO01BQzNCLGdCQUFnQixFQUFBO0FBT3hCO0VBQ0UseUJDcEVvQjtFRHFFcEIsYUFBYSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2VhcmNoYmFyL3NlYXJjaGJhci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydCBhbGwgdGhlIHRoZW1pbmcgZnVuY3Rpb25hbGl0eS5cbi8vIFdlIGNhbiB1c2UgcmVsYXRpdmUgaW1wb3J0cyBmb3IgaW1wb3J0cyBmcm9tIHRoZSBjZGsgYmVjYXVzZSB3ZSBidW5kbGUgZXZlcnl0aGluZ1xuLy8gdXAgaW50byBhIHNpbmdsZSBmbGF0IHNjc3MgZmlsZSBmb3IgbWF0ZXJpYWwuXG4vLyBXZSB3YW50IG92ZXJsYXlzIHRvIGFsd2F5cyBhcHBlYXIgb3ZlciB1c2VyIGNvbnRlbnQsIHNvIHNldCBhIGJhc2VsaW5lXG4vLyB2ZXJ5IGhpZ2ggei1pbmRleCBmb3IgdGhlIG92ZXJsYXkgY29udGFpbmVyLCB3aGljaCBpcyB3aGVyZSB3ZSBjcmVhdGUgdGhlIG5ld1xuLy8gc3RhY2tpbmcgY29udGV4dCBmb3IgYWxsIG92ZXJsYXlzLlxuJGNkay16LWluZGV4LW92ZXJsYXktY29udGFpbmVyOiAxMDAwO1xuJGNkay16LWluZGV4LW92ZXJsYXk6IDEwMDA7XG4kY2RrLXotaW5kZXgtb3ZlcmxheS1iYWNrZHJvcDogMTAwMDtcblxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYWxsIG9mIHRoZSBiYWNrZHJvcHNcbiRjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yODgpO1xuXG4vLyBEZWZhdWx0IGJhY2tkcm9wIGFuaW1hdGlvbiBpcyBiYXNlZCBvbiB0aGUgTWF0ZXJpYWwgRGVzaWduIHN3aWZ0LWVhc2Utb3V0LlxuJGJhY2tkcm9wLWFuaW1hdGlvbi1kdXJhdGlvbjogNDAwbXMgIWRlZmF1bHQ7XG4kYmFja2Ryb3AtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSkgIWRlZmF1bHQ7XG5cblxuQG1peGluIGNkay1vdmVybGF5KCkge1xuICAuY2RrLW92ZXJsYXktY29udGFpbmVyLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICAgIC8vIERpc2FibGUgZXZlbnRzIGZyb20gYmVpbmcgY2FwdHVyZWQgb24gdGhlIG92ZXJsYXkgY29udGFpbmVyLlxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgLy8gVGhlIGNvbnRhaW5lciBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlIHZpZXdwb3J0LlxuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFRoZSBvdmVybGF5LWNvbnRhaW5lciBpcyBhbiBpbnZpc2libGUgZWxlbWVudCB3aGljaCBjb250YWlucyBhbGwgaW5kaXZpZHVhbCBvdmVybGF5cy5cbiAgLmNkay1vdmVybGF5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWNvbnRhaW5lcjtcblxuICAgICY6ZW1wdHkge1xuICAgICAgLy8gSGlkZSB0aGUgZWxlbWVudCB3aGVuIGl0IGRvZXNuJ3QgaGF2ZSBhbnkgY2hpbGQgbm9kZXMuIFRoaXMgZG9lc24ndFxuICAgICAgLy8gaW5jbHVkZSBvdmVybGF5cyB0aGF0IGhhdmUgYmVlbiBkZXRhY2hlZCwgcmF0aGVyIHRoYW4gZGlzcG9zZWQuXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIHVzZSBhbiBleHRyYSB3cmFwcGVyIGVsZW1lbnQgaW4gb3JkZXIgdG8gdXNlIG1ha2UgdGhlIG92ZXJsYXkgaXRzZWxmIGEgZmxleCBpdGVtLlxuICAvLyBUaGlzIG1ha2VzIGNlbnRlcmluZyB0aGUgb3ZlcmxheSBlYXN5IHdpdGhvdXQgcnVubmluZyBpbnRvIHRoZSBzdWJwaXhlbCByZW5kZXJpbmdcbiAgLy8gcHJvYmxlbXMgdGllZCB0byB1c2luZyBgdHJhbnNmb3JtYCBhbmQgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIHRoZSBvdGhlciBwb3NpdGlvblxuICAvLyBzdHJhdGVnaWVzLlxuICAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xuICB9XG5cbiAgLy8gQSBzaW5nbGUgb3ZlcmxheSBwYW5lLlxuICAuY2RrLW92ZXJsYXktcGFuZSB7XG4gICAgLy8gTm90ZTogaXQncyBpbXBvcnRhbnQgZm9yIHRoaXMgb25lIHRvIHN0YXJ0IG9mZiBgYWJzb2x1dGVgLFxuICAgIC8vIGluIG9yZGVyIGZvciB1cyB0byBiZSBhYmxlIHRvIG1lYXN1cmUgaXQgY29ycmVjdGx5LlxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xuXG4gICAgLy8gRm9yIGNvbm5lY3RlZC1wb3NpdGlvbiBvdmVybGF5cywgd2Ugc2V0IGBkaXNwbGF5OiBmbGV4YCBpblxuICAgIC8vIG9yZGVyIHRvIGZvcmNlIGBtYXgtd2lkdGhgIGFuZCBgbWF4LWhlaWdodGAgdG8gdGFrZSBlZmZlY3QuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5jZGstb3ZlcmxheS1iYWNrZHJvcCB7XG4gICAgLy8gVE9ETyhqZWxib3Vybik6IHJldXNlIHNpZGVuYXYgZnVsbHNjcmVlbiBtaXhpbi5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXktYmFja2Ryb3A7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb24gJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb247XG4gICAgb3BhY2l0eTogMDtcblxuICAgICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAvLyBJbiBoaWdoIGNvbnRyYXN0IG1vZGUgdGhlIHJnYmEgYmFja2dyb3VuZCB3aWxsIGJlY29tZSBzb2xpZCBzbyB3ZSBuZWVkIHRvIGZhbGwgYmFja1xuICAgICAgLy8gdG8gbWFraW5nIGl0IG9wYXF1ZSB1c2luZyBgb3BhY2l0eWAuIE5vdGUgdGhhdCB3ZSBjYW4ndCB1c2UgdGhlIGBjZGstaGlnaC1jb250cmFzdGBcbiAgICAgIC8vIG1peGluLCBiZWNhdXNlIHdlIGNhbid0IG5vcm1hbGl6ZSB0aGUgaW1wb3J0IHBhdGggdG8gdGhlIF9hMTF5LnNjc3MgYm90aCBmb3IgdGhlXG4gICAgICAvLyBzb3VyY2UgYW5kIHdoZW4gdGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkLiBTZWUgIzEwOTA4LlxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIHtcbiAgICBiYWNrZ3JvdW5kOiAkY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcC1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wIHtcbiAgICAvLyBOb3RlOiBhcyBvZiBGaXJlZm94IDU3LCBoYXZpbmcgdGhlIGJhY2tkcm9wIGJlIGBiYWNrZ3JvdW5kOiBub25lYCB3aWxsIHByZXZlbnQgaXQgZnJvbVxuICAgIC8vIGNhcHR1cmluZyB0aGUgdXNlcidzIG1vdXNlIHNjcm9sbCBldmVudHMuIFNpbmNlIHdlIGFsc28gY2FuJ3QgdXNlIHNvbWV0aGluZyBsaWtlXG4gICAgLy8gYHJnYmEoMCwgMCwgMCwgMClgLCB3ZSB3b3JrIGFyb3VuZCB0aGUgaW5jb25zaXN0ZW5jeSBieSBub3Qgc2V0dGluZyB0aGUgYmFja2dyb3VuZCBhdFxuICAgIC8vIGFsbCBhbmQgdXNpbmcgYG9wYWNpdHlgIHRvIG1ha2UgdGhlIGVsZW1lbnQgdHJhbnNwYXJlbnQuXG4gICAgJiwgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheSBwYXJlbnQgZWxlbWVudCB1c2VkIHdpdGggdGhlIGNvbm5lY3RlZCBwb3NpdGlvbiBzdHJhdGVneS4gVXNlZCB0byBjb25zdHJhaW4gdGhlXG4gIC8vIG92ZXJsYXkgZWxlbWVudCdzIHNpemUgdG8gZml0IHdpdGhpbiB0aGUgdmlld3BvcnQuXG4gIC5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XG5cbiAgICAvLyBXZSB1c2UgYGRpc3BsYXk6IGZsZXhgIG9uIHRoaXMgZWxlbWVudCBleGNsdXNpdmVseSBmb3IgY2VudGVyaW5nIGNvbm5lY3RlZCBvdmVybGF5cy5cbiAgICAvLyBXaGVuICpub3QqIGNlbnRlcmluZywgYSB0b3AvbGVmdC9ib3R0b20vcmlnaHQgd2lsbCBiZSBzZXQgd2hpY2ggb3ZlcnJpZGVzIHRoZSBub3JtYWxcbiAgICAvLyBmbGV4IGxheW91dC5cbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLy8gV2UgdXNlIHRoZSBgY29sdW1uYCBkaXJlY3Rpb24gaGVyZSB0byBhdm9pZCBzb21lIGZsZXhib3ggaXNzdWVzIGluIEVkZ2VcbiAgICAvLyB3aGVuIHVzaW5nIHRoZSBcImdyb3cgYWZ0ZXIgb3BlblwiIG9wdGlvbnMuXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC8vIEFkZCBzb21lIGRpbWVuc2lvbnMgc28gdGhlIGVsZW1lbnQgaGFzIGFuIGBpbm5lclRleHRgIHdoaWNoIHNvbWUgcGVvcGxlIGRlcGVuZCBvbiBpbiB0ZXN0cy5cbiAgICBtaW4td2lkdGg6IDFweDtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cblxuICAvLyBVc2VkIHdoZW4gZGlzYWJsaW5nIGdsb2JhbCBzY3JvbGxpbmcuXG4gIC5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgICAvLyBOZWNlc3NhcnkgZm9yIHRoZSBjb250ZW50IG5vdCB0byBsb3NlIGl0cyB3aWR0aC4gTm90ZSB0aGF0IHdlJ3JlIHVzaW5nIDEwMCUsIGluc3RlYWQgb2ZcbiAgICAvLyAxMDB2dywgYmVjYXVzZSAxMDB2dyBpbmNsdWRlcyB0aGUgd2lkdGggcGx1cyB0aGUgc2Nyb2xsYmFyLCB3aGVyZWFzIDEwMCUgaXMgdGhlIHdpZHRoXG4gICAgLy8gdGhhdCB0aGUgZWxlbWVudCBoYWQgYmVmb3JlIHdlIG1hZGUgaXQgYGZpeGVkYC5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC8vIE5vdGU6IHRoaXMgd2lsbCBhbHdheXMgYWRkIGEgc2Nyb2xsYmFyIHRvIHdoYXRldmVyIGVsZW1lbnQgaXQgaXMgb24sIHdoaWNoIGNhblxuICAgIC8vIHBvdGVudGlhbGx5IHJlc3VsdCBpbiBkb3VibGUgc2Nyb2xsYmFycy4gSXQgc2hvdWxkbid0IGJlIGFuIGlzc3VlLCBiZWNhdXNlIHdlIHdvbid0XG4gICAgLy8gYmxvY2sgc2Nyb2xsaW5nIG9uIGEgcGFnZSB0aGF0IGRvZXNuJ3QgaGF2ZSBhIHNjcm9sbGJhciBpbiB0aGUgZmlyc3QgcGxhY2UuXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB9XG59XG5cbkBtaXhpbiBjZGstYTExeSB7XG4gIC5jZGstdmlzdWFsbHktaGlkZGVuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuXG4gICAgLy8gQXZvaWQgYnJvd3NlcnMgcmVuZGVyaW5nIHRoZSBmb2N1cyByaW5nIGluIHNvbWUgY2FzZXMuXG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vIEF2b2lkIHNvbWUgY2FzZXMgd2hlcmUgdGhlIGJyb3dzZXIgd2lsbCBzdGlsbCByZW5kZXIgdGhlIG5hdGl2ZSBjb250cm9scyAoc2VlICM5MDQ5KS5cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG59XG5cbi8qKlxuICogQXBwbGllcyBzdHlsZXMgZm9yIHVzZXJzIGluIGhpZ2ggY29udHJhc3QgbW9kZS4gTm90ZSB0aGF0IHRoaXMgb25seSBhcHBsaWVzXG4gKiB0byBNaWNyb3NvZnQgYnJvd3NlcnMuIENocm9tZSBjYW4gYmUgaW5jbHVkZWQgYnkgY2hlY2tpbmcgZm9yIHRoZSBgaHRtbFtoY11gXG4gKiBhdHRyaWJ1dGUsIGhvd2V2ZXIgQ2hyb21lIGhhbmRsZXMgaGlnaCBjb250cmFzdCBkaWZmZXJlbnRseS5cbiAqIEBwYXJhbSB0YXJnZXQgV2hpY2gga2luZCBvZiBoaWdoIGNvbnRyYXN0IHNldHRpbmcgdG8gdGFyZ2V0LiBEZWZhdWx0cyB0byBgYWN0aXZlYCwgY2FuIGJlXG4gKiAgICBgd2hpdGUtb24tYmxhY2tgIG9yIGBibGFjay1vbi13aGl0ZWAuXG4gKi9cbkBtaXhpbiBjZGstaGlnaC1jb250cmFzdCgkdGFyZ2V0OiBhY3RpdmUpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiAkdGFyZ2V0KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gQ29yZSBzdHlsZXMgdGhhdCBlbmFibGUgbW9uaXRvcmluZyBhdXRvZmlsbCBzdGF0ZSBvZiB0ZXh0IGZpZWxkcy5cbkBtaXhpbiBjZGstdGV4dC1maWVsZCB7XG4gIC8vIEtleWZyYW1lcyB0aGF0IGFwcGx5IG5vIHN0eWxlcywgYnV0IGFsbG93IHVzIHRvIG1vbml0b3Igd2hlbiBhbiB0ZXh0IGZpZWxkIGJlY29tZXMgYXV0b2ZpbGxlZFxuICAvLyBieSB3YXRjaGluZyBmb3IgdGhlIGFuaW1hdGlvbiBldmVudHMgdGhhdCBhcmUgZmlyZWQgd2hlbiB0aGV5IHN0YXJ0LiBOb3RlOiB0aGUgLyohKi8gY29tbWVudCBpc1xuICAvLyBuZWVkZWQgdG8gcHJldmVudCBMaWJTYXNzIGZyb20gc3RyaXBwaW5nIHRoZSBrZXlmcmFtZXMgb3V0LlxuICAvLyBCYXNlZCBvbjogaHR0cHM6Ly9tZWRpdW0uY29tL0BicnVubi9kZXRlY3RpbmctYXV0b2ZpbGxlZC1maWVsZHMtaW4tamF2YXNjcmlwdC1hZWQ1OThkMjVkYTdcbiAgQGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCB7LyohKi99XG4gIEBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIHsvKiEqL31cblxuICAuY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydDtcbiAgfVxuXG4gIC5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6bm90KDotd2Via2l0LWF1dG9maWxsKSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZDtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgcmVzaXplIGhhbmRsZSBvbiBhdXRvc2l6aW5nIHRleHRhcmVhcywgYmVjYXVzZSB3aGF0ZXZlciBoZWlnaHRcbiAgLy8gdGhlIHVzZXIgcmVzaXplZCB0byB3aWxsIGJlIG92ZXJ3cml0dGVuIG9uY2UgdGhleSBzdGFydCB0eXBpbmcgYWdhaW4uXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZSB7XG4gICAgcmVzaXplOiBub25lO1xuICB9XG5cbiAgLy8gVGhpcyBjbGFzcyBpcyB0ZW1wb3JhcmlseSBhcHBsaWVkIHRvIHRoZSB0ZXh0YXJlYSB3aGVuIGl0IGlzIGJlaW5nIG1lYXN1cmVkLiBJdCBpcyBpbW1lZGlhdGVseVxuICAvLyByZW1vdmVkIHdoZW4gbWVhc3VyaW5nIGlzIGNvbXBsZXRlLiBXZSB1c2UgYCFpbXBvcnRhbnRgIHJ1bGVzIGhlcmUgdG8gbWFrZSBzdXJlIHVzZXItc3BlY2lmaWVkXG4gIC8vIHJ1bGVzIGRvIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgbWVhc3VyZW1lbnQuXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmcge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAvLyBIYXZpbmcgMnB4IHRvcCBhbmQgYm90dG9tIHBhZGRpbmcgc2VlbXMgdG8gZml4IGEgYnVnIHdoZXJlIENocm9tZSBnZXRzIGFuIGluY29ycmVjdFxuICAgIC8vIG1lYXN1cmVtZW50LiBXZSBqdXN0IGhhdmUgdG8gYWNjb3VudCBmb3IgaXQgbGF0ZXIgYW5kIHN1YnRyYWN0IGl0IG9mZiB0aGUgZmluYWwgcmVzdWx0LlxuICAgIHBhZGRpbmc6IDJweCAwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3ggIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBVc2VkIHRvIGdlbmVyYXRlIFVJRHMgZm9yIGtleWZyYW1lcyB1c2VkIHRvIGNoYW5nZSB0aGUgdGV4dCBmaWVsZCBhdXRvZmlsbCBzdHlsZXMuXG4kY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnQ6IDA7XG5cbi8vIE1peGluIHVzZWQgdG8gYXBwbHkgY3VzdG9tIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgY29sb3JzIHRvIGFuIGF1dG9maWxsZWQgdGV4dCBmaWVsZC5cbi8vIEJhc2VkIG9uOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yNzgxNTQ5L1xuLy8gcmVtb3ZpbmctaW5wdXQtYmFja2dyb3VuZC1jb2xvdXItZm9yLWNocm9tZS1hdXRvY29tcGxldGUjYW5zd2VyLTM3NDMyMjYwXG5AbWl4aW4gY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3IoJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kOicnKSB7XG4gIEBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItI3skY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnR9IHtcbiAgICB0byB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIEBpZiAkZm9yZWdyb3VuZCAhPSAnJyB7IGNvbG9yOiAkZm9yZWdyb3VuZDsgfVxuICAgIH1cbiAgfVxuXG4gICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLSN7JGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50fTtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICB9XG5cbiAgJi5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci0jeyRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudH07XG4gIH1cblxuICAkY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnQ6XG4gICAgICAkY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnQgKyAxICFnbG9iYWw7XG59XG5cblxuLy8gQ29yZSBzdHlsZXMgdGhhdCBjYW4gYmUgdXNlZCB0byBhcHBseSBtYXRlcmlhbCBkZXNpZ24gdHJlYXRtZW50cyB0byBhbnkgZWxlbWVudC5cbi8vIE1lZGlhIHF1ZXJpZXNcbi8vIFRPRE8oam9zZXBocGVycm90dCk6IENoYW5nZSAkbWF0LXhzbWFsbCBhbmQgJG1hdC1zbWFsbCB1c2FnZXMgdG8gcmVseSBvbiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4kbWF0LXhzbWFsbDogJ21heC13aWR0aDogNTk5cHgnO1xuJG1hdC1zbWFsbDogJ21heC13aWR0aDogOTU5cHgnO1xuXG4vLyBUT0RPOiBSZXZpc2l0IGFsbCB6LWluZGljZXMgYmVmb3JlIGJldGFcbi8vIHotaW5kZXggbWFzdGVyIGxpc3RcblxuJHotaW5kZXgtZmFiOiAyMCAhZGVmYXVsdDtcbiR6LWluZGV4LWRyYXdlcjogMTAwICFkZWZhdWx0O1xuXG4vLyBHbG9iYWwgY29uc3RhbnRzXG4kcGk6IDMuMTQxNTkyNjU7XG5cbi8vIFBhZGRpbmcgYmV0d2VlbiBpbnB1dCB0b2dnbGVzIGFuZCB0aGVpciBsYWJlbHNcbiRtYXQtdG9nZ2xlLXBhZGRpbmc6IDhweCAhZGVmYXVsdDtcbi8vIFdpZHRoIGFuZCBoZWlnaHQgb2YgaW5wdXQgdG9nZ2xlc1xuJG1hdC10b2dnbGUtc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8gRWFzaW5nIEN1cnZlc1xuLy8gVE9ETyhqZWxib3Vybik6IGFsbCBvZiB0aGVzZSBuZWVkIHRvIGJlIHJldmlzaXRlZFxuXG4vLyBUaGUgZGVmYXVsdCBhbmltYXRpb24gY3VydmVzIHVzZWQgYnkgbWF0ZXJpYWwgZGVzaWduLlxuJG1hdC1saW5lYXItb3V0LXNsb3ctaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpICFkZWZhdWx0O1xuJG1hdC1mYXN0LW91dC1zbG93LWluLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSAhZGVmYXVsdDtcbiRtYXQtZmFzdC1vdXQtbGluZWFyLWluLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSkgIWRlZmF1bHQ7XG5cbiRlYXNlLWluLW91dC1jdXJ2ZS1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpICFkZWZhdWx0O1xuXG4kc3dpZnQtZWFzZS1vdXQtZHVyYXRpb246IDQwMG1zICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2Utb3V0LXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSkgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1vdXQ6IGFsbCAkc3dpZnQtZWFzZS1vdXQtZHVyYXRpb24gJHN3aWZ0LWVhc2Utb3V0LXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuJHN3aWZ0LWVhc2UtaW4tZHVyYXRpb246IDMwMG1zICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2UtaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC41NSwgMC4yKSAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLWluOiBhbGwgJHN3aWZ0LWVhc2UtaW4tZHVyYXRpb24gJHN3aWZ0LWVhc2UtaW4tdGltaW5nLWZ1bmN0aW9uICFkZWZhdWx0O1xuXG4kc3dpZnQtZWFzZS1pbi1vdXQtZHVyYXRpb246IDUwMG1zICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2UtaW4tb3V0LXRpbWluZy1mdW5jdGlvbjogJGVhc2UtaW4tb3V0LWN1cnZlLWZ1bmN0aW9uICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2UtaW4tb3V0OiBhbGwgJHN3aWZ0LWVhc2UtaW4tb3V0LWR1cmF0aW9uICRzd2lmdC1lYXNlLWluLW91dC10aW1pbmctZnVuY3Rpb24gIWRlZmF1bHQ7XG5cbiRzd2lmdC1saW5lYXItZHVyYXRpb246IDgwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtbGluZWFyLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xuJHN3aWZ0LWxpbmVhcjogYWxsICRzd2lmdC1saW5lYXItZHVyYXRpb24gJHN3aWZ0LWxpbmVhci10aW1pbmctZnVuY3Rpb24gIWRlZmF1bHQ7XG5cblxuXG4vLyBBIGNvbGxlY3Rpb24gb2YgbWl4aW5zIGFuZCBDU1MgY2xhc3NlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGFwcGx5IGVsZXZhdGlvbiB0byBhIG1hdGVyaWFsXG4vLyBlbGVtZW50LlxuLy8gU2VlOiBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9lbnZpcm9ubWVudC9lbGV2YXRpb24uaHRtbFxuLy8gRXhhbXBsZXM6XG4vL1xuLy9cbi8vIC5tYXQtZm9vIHtcbi8vICAgQGluY2x1ZGUgJG1hdC1lbGV2YXRpb24oMik7XG4vL1xuLy8gICAmOmFjdGl2ZSB7XG4vLyAgICAgQGluY2x1ZGUgJG1hdC1lbGV2YXRpb24oOCk7XG4vLyAgIH1cbi8vIH1cbi8vXG4vLyA8ZGl2IGlkPVwiZXh0ZXJuYWwtY2FyZFwiIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16MlwiPjxwPlNvbWUgY29udGVudDwvcD48L2Rpdj5cbi8vXG4vLyBGb3IgYW4gZXhwbGFuYXRpb24gb2YgdGhlIGRlc2lnbiBiZWhpbmQgaG93IGVsZXZhdGlvbiBpcyBpbXBsZW1lbnRlZCwgc2VlIHRoZSBkZXNpZ24gZG9jIGF0XG4vLyBodHRwczovL2dvby5nbC9LcTBrOVouXG5cbi8vIENvbG9ycyBmb3IgdW1icmEsIHBlbnVtYnJhLCBhbmQgYW1iaWVudCBzaGFkb3dzLiBBcyBkZXNjcmliZWQgaW4gdGhlIGRlc2lnbiBkb2MsIGVhY2ggZWxldmF0aW9uXG4vLyBsZXZlbCBpcyBjcmVhdGVkIHVzaW5nIGEgc2V0IG9mIDMgc2hhZG93IHZhbHVlcywgb25lIGZvciB1bWJyYSAodGhlIHNoYWRvdyByZXByZXNlbnRpbmcgdGhlXG4vLyBzcGFjZSBjb21wbGV0ZWx5IG9ic2N1cmVkIGJ5IGFuIG9iamVjdCByZWxhdGl2ZSB0byBpdHMgbGlnaHQgc291cmNlKSwgb25lIGZvciBwZW51bWJyYSAodGhlXG4vLyBzcGFjZSBwYXJ0aWFsbHkgb2JzY3VyZWQgYnkgYW4gb2JqZWN0KSwgYW5kIG9uZSBmb3IgYW1iaWVudCAodGhlIHNwYWNlIHdoaWNoIGNvbnRhaW5zIHRoZSBvYmplY3Rcbi8vIGl0c2VsZikuIEZvciBhIGZ1cnRoZXIgZXhwbGFuYXRpb24gb2YgdGhlc2UgdGVybXMgYW5kIHRoZWlyIG1lYW5pbmdzLCBzZWVcbi8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VtYnJhLF9wZW51bWJyYV9hbmRfYW50dW1icmEuXG5cbi8vIE1hcHMgZm9yIHRoZSBkaWZmZXJlbnQgc2hhZG93IHNldHMgYW5kIHRoZWlyIHZhbHVlcyB3aXRoaW4gZWFjaCB6LXNwYWNlLiBUaGVzZSB2YWx1ZXMgd2VyZVxuLy8gY3JlYXRlZCBieSB0YWtpbmcgYSBmZXcgcmVmZXJlbmNlIHNoYWRvdyBzZXRzIGNyZWF0ZWQgYnkgR29vZ2xlJ3MgRGVzaWduZXJzIGFuZCBpbnRlcnBvbGF0aW5nXG4vLyBhbGwgb2YgdGhlIHZhbHVlcyBiZXR3ZWVuIHRoZW0uXG5cbkBmdW5jdGlvbiBfZ2V0LXVtYnJhLW1hcCgkY29sb3IsICRvcGFjaXR5KSB7XG4gIEByZXR1cm4gKFxuICAgIDA6ICcwcHggMHB4IDBweCAwcHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpfScsXG4gICAgMTogJzBweCAycHggMXB4IC0xcHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpfScsXG4gICAgMjogJzBweCAzcHggMXB4IC0ycHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpfScsXG4gICAgMzogJzBweCAzcHggM3B4IC0ycHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpfScsXG4gICAgNDogJzBweCAycHggNHB4IC0xcHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpfScsXG4gICAgNTogJzBweCAzcHggNXB4IC0xcHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpfScsXG4gICAgNjogJzBweCAzcHggNXB4IC0xcHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpfScsXG4gICAgNzogJzBweCA0cHggNXB4IC0ycHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpfScsXG4gICAgODogJzBweCA1cHggNXB4IC0zcHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpfScsXG4gICAgOTogJzBweCA1cHggNnB4IC0zcHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpfScsXG4gICAgMTA6ICcwcHggNnB4IDZweCAtM3B4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4yKX0nLFxuICAgIDExOiAnMHB4IDZweCA3cHggLTRweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMil9JyxcbiAgICAxMjogJzBweCA3cHggOHB4IC00cHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpfScsXG4gICAgMTM6ICcwcHggN3B4IDhweCAtNHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4yKX0nLFxuICAgIDE0OiAnMHB4IDdweCA5cHggLTRweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMil9JyxcbiAgICAxNTogJzBweCA4cHggOXB4IC01cHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpfScsXG4gICAgMTY6ICcwcHggOHB4IDEwcHggLTVweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMil9JyxcbiAgICAxNzogJzBweCA4cHggMTFweCAtNXB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4yKX0nLFxuICAgIDE4OiAnMHB4IDlweCAxMXB4IC01cHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpfScsXG4gICAgMTk6ICcwcHggOXB4IDEycHggLTZweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMil9JyxcbiAgICAyMDogJzBweCAxMHB4IDEzcHggLTZweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMil9JyxcbiAgICAyMTogJzBweCAxMHB4IDEzcHggLTZweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMil9JyxcbiAgICAyMjogJzBweCAxMHB4IDE0cHggLTZweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMil9JyxcbiAgICAyMzogJzBweCAxMXB4IDE0cHggLTdweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMil9JyxcbiAgICAyNDogJzBweCAxMXB4IDE1cHggLTdweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMil9J1xuICApO1xufVxuXG5AZnVuY3Rpb24gX2dldC1wZW51bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSkge1xuICBAcmV0dXJuIChcbiAgICAwOiAnMHB4IDBweCAwcHggMHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xNCl9JyxcbiAgICAxOiAnMHB4IDFweCAxcHggMHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xNCl9JyxcbiAgICAyOiAnMHB4IDJweCAycHggMHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xNCl9JyxcbiAgICAzOiAnMHB4IDNweCA0cHggMHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xNCl9JyxcbiAgICA0OiAnMHB4IDRweCA1cHggMHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xNCl9JyxcbiAgICA1OiAnMHB4IDVweCA4cHggMHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xNCl9JyxcbiAgICA2OiAnMHB4IDZweCAxMHB4IDBweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgNzogJzBweCA3cHggMTBweCAxcHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjE0KX0nLFxuICAgIDg6ICcwcHggOHB4IDEwcHggMXB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xNCl9JyxcbiAgICA5OiAnMHB4IDlweCAxMnB4IDFweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMTA6ICcwcHggMTBweCAxNHB4IDFweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMTE6ICcwcHggMTFweCAxNXB4IDFweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMTI6ICcwcHggMTJweCAxN3B4IDJweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMTM6ICcwcHggMTNweCAxOXB4IDJweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMTQ6ICcwcHggMTRweCAyMXB4IDJweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMTU6ICcwcHggMTVweCAyMnB4IDJweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMTY6ICcwcHggMTZweCAyNHB4IDJweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMTc6ICcwcHggMTdweCAyNnB4IDJweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMTg6ICcwcHggMThweCAyOHB4IDJweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMTk6ICcwcHggMTlweCAyOXB4IDJweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMjA6ICcwcHggMjBweCAzMXB4IDNweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMjE6ICcwcHggMjFweCAzM3B4IDNweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMjI6ICcwcHggMjJweCAzNXB4IDNweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMjM6ICcwcHggMjNweCAzNnB4IDNweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfScsXG4gICAgMjQ6ICcwcHggMjRweCAzOHB4IDNweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpfSdcbiAgKTtcbn1cblxuQGZ1bmN0aW9uIF9nZXQtYW1iaWVudC1tYXAoJGNvbG9yLCAkb3BhY2l0eSkge1xuICBAcmV0dXJuIChcbiAgICAwOiAnMHB4IDBweCAwcHggMHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xMil9JyxcbiAgICAxOiAnMHB4IDFweCAzcHggMHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xMil9JyxcbiAgICAyOiAnMHB4IDFweCA1cHggMHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xMil9JyxcbiAgICAzOiAnMHB4IDFweCA4cHggMHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xMil9JyxcbiAgICA0OiAnMHB4IDFweCAxMHB4IDBweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTIpfScsXG4gICAgNTogJzBweCAxcHggMTRweCAwcHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjEyKX0nLFxuICAgIDY6ICcwcHggMXB4IDE4cHggMHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xMil9JyxcbiAgICA3OiAnMHB4IDJweCAxNnB4IDFweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTIpfScsXG4gICAgODogJzBweCAzcHggMTRweCAycHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjEyKX0nLFxuICAgIDk6ICcwcHggM3B4IDE2cHggMnB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xMil9JyxcbiAgICAxMDogJzBweCA0cHggMThweCAzcHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjEyKX0nLFxuICAgIDExOiAnMHB4IDRweCAyMHB4IDNweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTIpfScsXG4gICAgMTI6ICcwcHggNXB4IDIycHggNHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xMil9JyxcbiAgICAxMzogJzBweCA1cHggMjRweCA0cHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjEyKX0nLFxuICAgIDE0OiAnMHB4IDVweCAyNnB4IDRweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTIpfScsXG4gICAgMTU6ICcwcHggNnB4IDI4cHggNXB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xMil9JyxcbiAgICAxNjogJzBweCA2cHggMzBweCA1cHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjEyKX0nLFxuICAgIDE3OiAnMHB4IDZweCAzMnB4IDVweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTIpfScsXG4gICAgMTg6ICcwcHggN3B4IDM0cHggNnB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xMil9JyxcbiAgICAxOTogJzBweCA3cHggMzZweCA2cHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjEyKX0nLFxuICAgIDIwOiAnMHB4IDhweCAzOHB4IDdweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTIpfScsXG4gICAgMjE6ICcwcHggOHB4IDQwcHggN3B4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xMil9JyxcbiAgICAyMjogJzBweCA4cHggNDJweCA3cHggI3tyZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjEyKX0nLFxuICAgIDIzOiAnMHB4IDlweCA0NHB4IDhweCAje3JnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTIpfScsXG4gICAgMjQ6ICcwcHggOXB4IDQ2cHggOHB4ICN7cmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xMil9J1xuICApO1xufVxuXG4vLyBUaGUgZGVmYXVsdCBkdXJhdGlvbiB2YWx1ZSBmb3IgZWxldmF0aW9uIHRyYW5zaXRpb25zLlxuJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1kdXJhdGlvbjogMjgwbXMgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGVhc2luZyB2YWx1ZSBmb3IgZWxldmF0aW9uIHRyYW5zaXRpb25zLlxuJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRtYXQtZmFzdC1vdXQtc2xvdy1pbi10aW1pbmctZnVuY3Rpb247XG5cbi8vIFRoZSBkZWZhdWx0IGNvbG9yIGZvciBlbGV2YXRpb24gc2hhZG93cy5cbiRtYXQtZWxldmF0aW9uLWNvbG9yOiBibGFjayAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgb3BhY2l0eSBzY2FsaW5nIHZhbHVlIGZvciBlbGV2YXRpb24gc2hhZG93cy5cbiRtYXQtZWxldmF0aW9uLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XG5cbi8vIFByZWZpeCBmb3IgZWxldmF0aW9uLXJlbGF0ZWQgc2VsZWN0b3JzLlxuJF9tYXQtZWxldmF0aW9uLXByZWZpeDogJ21hdC1lbGV2YXRpb24teic7XG5cbi8vIEFwcGxpZXMgdGhlIGNvcnJlY3QgY3NzIHJ1bGVzIHRvIGFuIGVsZW1lbnQgdG8gZ2l2ZSBpdCB0aGUgZWxldmF0aW9uIHNwZWNpZmllZCBieSAkelZhbHVlLlxuLy8gVGhlICR6VmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0LlxuQG1peGluIG1hdC1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbG9yOiAkbWF0LWVsZXZhdGlvbi1jb2xvciwgJG9wYWNpdHk6ICRtYXQtZWxldmF0aW9uLW9wYWNpdHkpIHtcbiAgQGlmIHR5cGUtb2YoJHpWYWx1ZSkgIT0gbnVtYmVyIG9yIG5vdCB1bml0bGVzcygkelZhbHVlKSB7XG4gICAgQGVycm9yICckelZhbHVlIG11c3QgYmUgYSB1bml0bGVzcyBudW1iZXInO1xuICB9XG4gIEBpZiAkelZhbHVlIDwgMCBvciAkelZhbHVlID4gMjQge1xuICAgIEBlcnJvciAnJHpWYWx1ZSBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjQnO1xuICB9XG5cbiAgYm94LXNoYWRvdzogI3ttYXAtZ2V0KF9nZXQtdW1icmEtbWFwKCRjb2xvciwgJG9wYWNpdHkpLCAkelZhbHVlKX0sXG4gICAgICAgICAgICAgICN7bWFwLWdldChfZ2V0LXBlbnVtYnJhLW1hcCgkY29sb3IsICRvcGFjaXR5KSwgJHpWYWx1ZSl9LFxuICAgICAgICAgICAgICAje21hcC1nZXQoX2dldC1hbWJpZW50LW1hcCgkY29sb3IsICRvcGFjaXR5KSwgJHpWYWx1ZSl9O1xufVxuXG4vLyBBcHBsaWVzIHRoZSBlbGV2YXRpb24gdG8gYW4gZWxlbWVudCBpbiBhIG1hbm5lciB0aGF0IGFsbG93c1xuLy8gY29uc3VtZXJzIHRvIG92ZXJyaWRlIGl0IHZpYSB0aGUgTWF0ZXJpYWwgZWxldmF0aW9uIGNsYXNzZXMuXG5AbWl4aW4gbWF0LW92ZXJyaWRhYmxlLWVsZXZhdGlvbihcbiAgICAkelZhbHVlLFxuICAgICRjb2xvcjogJG1hdC1lbGV2YXRpb24tY29sb3IsXG4gICAgJG9wYWNpdHk6ICRtYXQtZWxldmF0aW9uLW9wYWNpdHkpIHtcbiAgJjpub3QoW2NsYXNzKj0nI3skX21hdC1lbGV2YXRpb24tcHJlZml4fSddKSB7XG4gICAgQGluY2x1ZGUgbWF0LWVsZXZhdGlvbigkelZhbHVlLCAkY29sb3IsICRvcGFjaXR5KTtcbiAgfVxufVxuXG4vLyBSZXR1cm5zIGEgc3RyaW5nIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIHZhbHVlIGZvciBhIHRyYW5zaXRpb24gcHJvcGVydHkgZm9yIGVsZXZhdGlvbi5cbi8vIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBkaXJlY3RseSBpcyB1c2VmdWwgaW4gc2l0dWF0aW9ucyB3aGVyZSBhIGNvbXBvbmVudCBuZWVkcyB0byB0cmFuc2l0aW9uXG4vLyBtb3JlIHRoYW4gb25lIHByb3BlcnR5LlxuLy9cbi8vIC5mb28ge1xuLy8gICB0cmFuc2l0aW9uOiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tcHJvcGVydHktdmFsdWUoKSwgb3BhY2l0eSAxMDBtcyBlYXNlO1xuLy8gfVxuQGZ1bmN0aW9uIG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1wcm9wZXJ0eS12YWx1ZShcbiAgICAkZHVyYXRpb246ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICAgJGVhc2luZzogJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pIHtcbiAgQHJldHVybiBib3gtc2hhZG93ICN7JGR1cmF0aW9ufSAjeyRlYXNpbmd9O1xufVxuXG4vLyBBcHBsaWVzIHRoZSBjb3JyZWN0IGNzcyBydWxlcyBuZWVkZWQgdG8gaGF2ZSBhbiBlbGVtZW50IHRyYW5zaXRpb24gYmV0d2VlbiBlbGV2YXRpb25zLlxuLy8gVGhpcyBtaXhpbiBzaG91bGQgYmUgYXBwbGllZCB0byBlbGVtZW50cyB3aG9zZSBlbGV2YXRpb24gdmFsdWVzIHdpbGwgY2hhbmdlIGRlcGVuZGluZyBvbiB0aGVpclxuLy8gY29udGV4dCAoZS5nLiB3aGVuIGFjdGl2ZSBvciBkaXNhYmxlZCkuXG4vL1xuLy8gTk9URSh0cmF2aXNrYXVmbWFuKTogQm90aCB0aGlzIG1peGluIGFuZCB0aGUgYWJvdmUgZnVuY3Rpb24gdXNlIGRlZmF1bHQgcGFyYW1ldGVycyBzbyB0aGV5IGNhblxuLy8gYmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkgYnkgY2xpZW50cy5cbkBtaXhpbiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24oXG4gICAgJGR1cmF0aW9uOiAkbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAgICRlYXNpbmc6ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSB7XG4gIHRyYW5zaXRpb246IG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1wcm9wZXJ0eS12YWx1ZSgkZHVyYXRpb24sICRlYXNpbmcpO1xufVxuXG4vLyBDb2xvciBwYWxldHRlcyBmcm9tIHRoZSBNYXRlcmlhbCBEZXNpZ24gc3BlYy5cbi8vIFNlZSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb2xvci9cbi8vXG4vLyBDb250cmFzdCBjb2xvcnMgYXJlIGhhcmQtY29kZWQgYmVjYXVzZSBpdCBpcyB0b28gZGlmZmljdWx0IChwcm9iYWJseSBpbXBvc3NpYmxlKSB0b1xuLy8gY2FsY3VsYXRlIHRoZW0uIFRoZXNlIGNvbnRyYXN0IGNvbG9ycyBhcmUgcHVsbGVkIGZyb20gdGhlIHB1YmxpYyBNYXRlcmlhbCBEZXNpZ24gc3BlYyBzd2F0Y2hlcy5cbi8vIFdoaWxlIHRoZSBjb250cmFzdCBjb2xvcnMgaW4gdGhlIHNwZWMgYXJlIG5vdCBwcmVzY3JpcHRpdmUsIHdlIHVzZSB0aGVtIGZvciBjb252ZW5pZW5jZS5cblxuXG4vLyBAZGVwcmVjYXRlZCByZW5hbWVkIHRvICRkYXJrLXByaW1hcnktdGV4dC5cbi8vIEBicmVha2luZy1jaGFuZ2UgNy4wLjBcbiRibGFjay04Ny1vcGFjaXR5OiByZ2JhKGJsYWNrLCAwLjg3KTtcbi8vIEBkZXByZWNhdGVkIHJlbmFtZWQgdG8gJGxpZ2h0LXByaW1hcnktdGV4dC5cbi8vIEBicmVha2luZy1jaGFuZ2UgNy4wLjBcbiR3aGl0ZS04Ny1vcGFjaXR5OiByZ2JhKHdoaXRlLCAwLjg3KTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkZGFyay1bc2Vjb25kYXJ5LXRleHQsZGlzYWJsZWQtdGV4dCxkaXZpZGVycyxmb2N1c2VkXSBpbnN0ZWFkLlxuLy8gQGJyZWFraW5nLWNoYW5nZSA3LjAuMFxuJGJsYWNrLTEyLW9wYWNpdHk6IHJnYmEoYmxhY2ssIDAuMTIpO1xuLy8gQGRlcHJlY2F0ZWQgdXNlICRsaWdodC1bc2Vjb25kYXJ5LXRleHQsZGlzYWJsZWQtdGV4dCxkaXZpZGVycyxmb2N1c2VkXSBpbnN0ZWFkLlxuLy8gQGJyZWFraW5nLWNoYW5nZSA3LjAuMFxuJHdoaXRlLTEyLW9wYWNpdHk6IHJnYmEod2hpdGUsIDAuMTIpO1xuLy8gQGRlcHJlY2F0ZWQgdXNlICRkYXJrLVtzZWNvbmRhcnktdGV4dCxkaXNhYmxlZC10ZXh0LGRpdmlkZXJzLGZvY3VzZWRdIGluc3RlYWQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDcuMC4wXG4kYmxhY2stNi1vcGFjaXR5OiByZ2JhKGJsYWNrLCAwLjA2KTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkbGlnaHQtW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgNy4wLjBcbiR3aGl0ZS02LW9wYWNpdHk6IHJnYmEod2hpdGUsIDAuMDYpO1xuXG4kZGFyay1wcmltYXJ5LXRleHQ6IHJnYmEoYmxhY2ssIDAuODcpO1xuJGRhcmstc2Vjb25kYXJ5LXRleHQ6IHJnYmEoYmxhY2ssIDAuNTQpO1xuJGRhcmstZGlzYWJsZWQtdGV4dDogcmdiYShibGFjaywgMC4zOCk7XG4kZGFyay1kaXZpZGVyczogcmdiYShibGFjaywgMC4xMik7XG4kZGFyay1mb2N1c2VkOiByZ2JhKGJsYWNrLCAwLjEyKTtcbiRsaWdodC1wcmltYXJ5LXRleHQ6IHdoaXRlO1xuJGxpZ2h0LXNlY29uZGFyeS10ZXh0OiByZ2JhKHdoaXRlLCAwLjcpO1xuJGxpZ2h0LWRpc2FibGVkLXRleHQ6IHJnYmEod2hpdGUsIDAuNSk7XG4kbGlnaHQtZGl2aWRlcnM6IHJnYmEod2hpdGUsIDAuMTIpO1xuJGxpZ2h0LWZvY3VzZWQ6IHJnYmEod2hpdGUsIDAuMTIpO1xuXG4kbWF0LXJlZDogKFxuICA1MDogI2ZmZWJlZSxcbiAgMTAwOiAjZmZjZGQyLFxuICAyMDA6ICNlZjlhOWEsXG4gIDMwMDogI2U1NzM3MyxcbiAgNDAwOiAjZWY1MzUwLFxuICA1MDA6ICNmNDQzMzYsXG4gIDYwMDogI2U1MzkzNSxcbiAgNzAwOiAjZDMyZjJmLFxuICA4MDA6ICNjNjI4MjgsXG4gIDkwMDogI2I3MWMxYyxcbiAgQTEwMDogI2ZmOGE4MCxcbiAgQTIwMDogI2ZmNTI1MixcbiAgQTQwMDogI2ZmMTc0NCxcbiAgQTcwMDogI2Q1MDAwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LXBpbms6IChcbiAgNTA6ICNmY2U0ZWMsXG4gIDEwMDogI2Y4YmJkMCxcbiAgMjAwOiAjZjQ4ZmIxLFxuICAzMDA6ICNmMDYyOTIsXG4gIDQwMDogI2VjNDA3YSxcbiAgNTAwOiAjZTkxZTYzLFxuICA2MDA6ICNkODFiNjAsXG4gIDcwMDogI2MyMTg1YixcbiAgODAwOiAjYWQxNDU3LFxuICA5MDA6ICM4ODBlNGYsXG4gIEExMDA6ICNmZjgwYWIsXG4gIEEyMDA6ICNmZjQwODEsXG4gIEE0MDA6ICNmNTAwNTcsXG4gIEE3MDA6ICNjNTExNjIsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1wdXJwbGU6IChcbiAgNTA6ICNmM2U1ZjUsXG4gIDEwMDogI2UxYmVlNyxcbiAgMjAwOiAjY2U5M2Q4LFxuICAzMDA6ICNiYTY4YzgsXG4gIDQwMDogI2FiNDdiYyxcbiAgNTAwOiAjOWMyN2IwLFxuICA2MDA6ICM4ZTI0YWEsXG4gIDcwMDogIzdiMWZhMixcbiAgODAwOiAjNmExYjlhLFxuICA5MDA6ICM0YTE0OGMsXG4gIEExMDA6ICNlYTgwZmMsXG4gIEEyMDA6ICNlMDQwZmIsXG4gIEE0MDA6ICNkNTAwZjksXG4gIEE3MDA6ICNhYTAwZmYsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWRlZXAtcHVycGxlOiAoXG4gIDUwOiAjZWRlN2Y2LFxuICAxMDA6ICNkMWM0ZTksXG4gIDIwMDogI2IzOWRkYixcbiAgMzAwOiAjOTU3NWNkLFxuICA0MDA6ICM3ZTU3YzIsXG4gIDUwMDogIzY3M2FiNyxcbiAgNjAwOiAjNWUzNWIxLFxuICA3MDA6ICM1MTJkYTgsXG4gIDgwMDogIzQ1MjdhMCxcbiAgOTAwOiAjMzExYjkyLFxuICBBMTAwOiAjYjM4OGZmLFxuICBBMjAwOiAjN2M0ZGZmLFxuICBBNDAwOiAjNjUxZmZmLFxuICBBNzAwOiAjNjIwMGVhLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1pbmRpZ286IChcbiAgNTA6ICNlOGVhZjYsXG4gIDEwMDogI2M1Y2FlOSxcbiAgMjAwOiAjOWZhOGRhLFxuICAzMDA6ICM3OTg2Y2IsXG4gIDQwMDogIzVjNmJjMCxcbiAgNTAwOiAjM2Y1MWI1LFxuICA2MDA6ICMzOTQ5YWIsXG4gIDcwMDogIzMwM2Y5ZixcbiAgODAwOiAjMjgzNTkzLFxuICA5MDA6ICMxYTIzN2UsXG4gIEExMDA6ICM4YzllZmYsXG4gIEEyMDA6ICM1MzZkZmUsXG4gIEE0MDA6ICMzZDVhZmUsXG4gIEE3MDA6ICMzMDRmZmUsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWJsdWU6IChcbiAgNTA6ICNlM2YyZmQsXG4gIDEwMDogI2JiZGVmYixcbiAgMjAwOiAjOTBjYWY5LFxuICAzMDA6ICM2NGI1ZjYsXG4gIDQwMDogIzQyYTVmNSxcbiAgNTAwOiAjMjE5NmYzLFxuICA2MDA6ICMxZTg4ZTUsXG4gIDcwMDogIzE5NzZkMixcbiAgODAwOiAjMTU2NWMwLFxuICA5MDA6ICMwZDQ3YTEsXG4gIEExMDA6ICM4MmIxZmYsXG4gIEEyMDA6ICM0NDhhZmYsXG4gIEE0MDA6ICMyOTc5ZmYsXG4gIEE3MDA6ICMyOTYyZmYsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1saWdodC1ibHVlOiAoXG4gIDUwOiAjZTFmNWZlLFxuICAxMDA6ICNiM2U1ZmMsXG4gIDIwMDogIzgxZDRmYSxcbiAgMzAwOiAjNGZjM2Y3LFxuICA0MDA6ICMyOWI2ZjYsXG4gIDUwMDogIzAzYTlmNCxcbiAgNjAwOiAjMDM5YmU1LFxuICA3MDA6ICMwMjg4ZDEsXG4gIDgwMDogIzAyNzdiZCxcbiAgOTAwOiAjMDE1NzliLFxuICBBMTAwOiAjODBkOGZmLFxuICBBMjAwOiAjNDBjNGZmLFxuICBBNDAwOiAjMDBiMGZmLFxuICBBNzAwOiAjMDA5MWVhLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWN5YW46IChcbiAgNTA6ICNlMGY3ZmEsXG4gIDEwMDogI2IyZWJmMixcbiAgMjAwOiAjODBkZWVhLFxuICAzMDA6ICM0ZGQwZTEsXG4gIDQwMDogIzI2YzZkYSxcbiAgNTAwOiAjMDBiY2Q0LFxuICA2MDA6ICMwMGFjYzEsXG4gIDcwMDogIzAwOTdhNyxcbiAgODAwOiAjMDA4MzhmLFxuICA5MDA6ICMwMDYwNjQsXG4gIEExMDA6ICM4NGZmZmYsXG4gIEEyMDA6ICMxOGZmZmYsXG4gIEE0MDA6ICMwMGU1ZmYsXG4gIEE3MDA6ICMwMGI4ZDQsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC10ZWFsOiAoXG4gIDUwOiAjZTBmMmYxLFxuICAxMDA6ICNiMmRmZGIsXG4gIDIwMDogIzgwY2JjNCxcbiAgMzAwOiAjNGRiNmFjLFxuICA0MDA6ICMyNmE2OWEsXG4gIDUwMDogIzAwOTY4OCxcbiAgNjAwOiAjMDA4OTdiLFxuICA3MDA6ICMwMDc5NmIsXG4gIDgwMDogIzAwNjk1YyxcbiAgOTAwOiAjMDA0ZDQwLFxuICBBMTAwOiAjYTdmZmViLFxuICBBMjAwOiAjNjRmZmRhLFxuICBBNDAwOiAjMWRlOWI2LFxuICBBNzAwOiAjMDBiZmE1LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtZ3JlZW46IChcbiAgNTA6ICNlOGY1ZTksXG4gIDEwMDogI2M4ZTZjOSxcbiAgMjAwOiAjYTVkNmE3LFxuICAzMDA6ICM4MWM3ODQsXG4gIDQwMDogIzY2YmI2YSxcbiAgNTAwOiAjNGNhZjUwLFxuICA2MDA6ICM0M2EwNDcsXG4gIDcwMDogIzM4OGUzYyxcbiAgODAwOiAjMmU3ZDMyLFxuICA5MDA6ICMxYjVlMjAsXG4gIEExMDA6ICNiOWY2Y2EsXG4gIEEyMDA6ICM2OWYwYWUsXG4gIEE0MDA6ICMwMGU2NzYsXG4gIEE3MDA6ICMwMGM4NTMsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWxpZ2h0LWdyZWVuOiAoXG4gIDUwOiAjZjFmOGU5LFxuICAxMDA6ICNkY2VkYzgsXG4gIDIwMDogI2M1ZTFhNSxcbiAgMzAwOiAjYWVkNTgxLFxuICA0MDA6ICM5Y2NjNjUsXG4gIDUwMDogIzhiYzM0YSxcbiAgNjAwOiAjN2NiMzQyLFxuICA3MDA6ICM2ODlmMzgsXG4gIDgwMDogIzU1OGIyZixcbiAgOTAwOiAjMzM2OTFlLFxuICBBMTAwOiAjY2NmZjkwLFxuICBBMjAwOiAjYjJmZjU5LFxuICBBNDAwOiAjNzZmZjAzLFxuICBBNzAwOiAjNjRkZDE3LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWxpbWU6IChcbiAgNTA6ICNmOWZiZTcsXG4gIDEwMDogI2YwZjRjMyxcbiAgMjAwOiAjZTZlZTljLFxuICAzMDA6ICNkY2U3NzUsXG4gIDQwMDogI2Q0ZTE1NyxcbiAgNTAwOiAjY2RkYzM5LFxuICA2MDA6ICNjMGNhMzMsXG4gIDcwMDogI2FmYjQyYixcbiAgODAwOiAjOWU5ZDI0LFxuICA5MDA6ICM4Mjc3MTcsXG4gIEExMDA6ICNmNGZmODEsXG4gIEEyMDA6ICNlZWZmNDEsXG4gIEE0MDA6ICNjNmZmMDAsXG4gIEE3MDA6ICNhZWVhMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LXllbGxvdzogKFxuICA1MDogI2ZmZmRlNyxcbiAgMTAwOiAjZmZmOWM0LFxuICAyMDA6ICNmZmY1OWQsXG4gIDMwMDogI2ZmZjE3NixcbiAgNDAwOiAjZmZlZTU4LFxuICA1MDA6ICNmZmViM2IsXG4gIDYwMDogI2ZkZDgzNSxcbiAgNzAwOiAjZmJjMDJkLFxuICA4MDA6ICNmOWE4MjUsXG4gIDkwMDogI2Y1N2YxNyxcbiAgQTEwMDogI2ZmZmY4ZCxcbiAgQTIwMDogI2ZmZmYwMCxcbiAgQTQwMDogI2ZmZWEwMCxcbiAgQTcwMDogI2ZmZDYwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1hbWJlcjogKFxuICA1MDogI2ZmZjhlMSxcbiAgMTAwOiAjZmZlY2IzLFxuICAyMDA6ICNmZmUwODIsXG4gIDMwMDogI2ZmZDU0ZixcbiAgNDAwOiAjZmZjYTI4LFxuICA1MDA6ICNmZmMxMDcsXG4gIDYwMDogI2ZmYjMwMCxcbiAgNzAwOiAjZmZhMDAwLFxuICA4MDA6ICNmZjhmMDAsXG4gIDkwMDogI2ZmNmYwMCxcbiAgQTEwMDogI2ZmZTU3ZixcbiAgQTIwMDogI2ZmZDc0MCxcbiAgQTQwMDogI2ZmYzQwMCxcbiAgQTcwMDogI2ZmYWIwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1vcmFuZ2U6IChcbiAgNTA6ICNmZmYzZTAsXG4gIDEwMDogI2ZmZTBiMixcbiAgMjAwOiAjZmZjYzgwLFxuICAzMDA6ICNmZmI3NGQsXG4gIDQwMDogI2ZmYTcyNixcbiAgNTAwOiAjZmY5ODAwLFxuICA2MDA6ICNmYjhjMDAsXG4gIDcwMDogI2Y1N2MwMCxcbiAgODAwOiAjZWY2YzAwLFxuICA5MDA6ICNlNjUxMDAsXG4gIEExMDA6ICNmZmQxODAsXG4gIEEyMDA6ICNmZmFiNDAsXG4gIEE0MDA6ICNmZjkxMDAsXG4gIEE3MDA6ICNmZjZkMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6IGJsYWNrLFxuICApXG4pO1xuXG4kbWF0LWRlZXAtb3JhbmdlOiAoXG4gIDUwOiAjZmJlOWU3LFxuICAxMDA6ICNmZmNjYmMsXG4gIDIwMDogI2ZmYWI5MSxcbiAgMzAwOiAjZmY4YTY1LFxuICA0MDA6ICNmZjcwNDMsXG4gIDUwMDogI2ZmNTcyMixcbiAgNjAwOiAjZjQ1MTFlLFxuICA3MDA6ICNlNjRhMTksXG4gIDgwMDogI2Q4NDMxNSxcbiAgOTAwOiAjYmYzNjBjLFxuICBBMTAwOiAjZmY5ZTgwLFxuICBBMjAwOiAjZmY2ZTQwLFxuICBBNDAwOiAjZmYzZDAwLFxuICBBNzAwOiAjZGQyYzAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1icm93bjogKFxuICA1MDogI2VmZWJlOSxcbiAgMTAwOiAjZDdjY2M4LFxuICAyMDA6ICNiY2FhYTQsXG4gIDMwMDogI2ExODg3ZixcbiAgNDAwOiAjOGQ2ZTYzLFxuICA1MDA6ICM3OTU1NDgsXG4gIDYwMDogIzZkNGM0MSxcbiAgNzAwOiAjNWQ0MDM3LFxuICA4MDA6ICM0ZTM0MmUsXG4gIDkwMDogIzNlMjcyMyxcbiAgQTEwMDogI2Q3Y2NjOCxcbiAgQTIwMDogI2JjYWFhNCxcbiAgQTQwMDogIzhkNmU2MyxcbiAgQTcwMDogIzVkNDAzNyxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1ncmV5OiAoXG4gIDUwOiAjZmFmYWZhLFxuICAxMDA6ICNmNWY1ZjUsXG4gIDIwMDogI2VlZWVlZSxcbiAgMzAwOiAjZTBlMGUwLFxuICA0MDA6ICNiZGJkYmQsXG4gIDUwMDogIzllOWU5ZSxcbiAgNjAwOiAjNzU3NTc1LFxuICA3MDA6ICM2MTYxNjEsXG4gIDgwMDogIzQyNDI0MixcbiAgOTAwOiAjMjEyMTIxLFxuICBBMTAwOiAjZmZmZmZmLFxuICBBMjAwOiAjZWVlZWVlLFxuICBBNDAwOiAjYmRiZGJkLFxuICBBNzAwOiAjNjE2MTYxLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbi8vIEFsaWFzIGZvciBhbHRlcm5hdGUgc3BlbGxpbmcuXG4kbWF0LWdyYXk6ICRtYXQtZ3JleTtcblxuJG1hdC1ibHVlLWdyZXk6IChcbiAgNTA6ICNlY2VmZjEsXG4gIDEwMDogI2NmZDhkYyxcbiAgMjAwOiAjYjBiZWM1LFxuICAzMDA6ICM5MGE0YWUsXG4gIDQwMDogIzc4OTA5YyxcbiAgNTAwOiAjNjA3ZDhiLFxuICA2MDA6ICM1NDZlN2EsXG4gIDcwMDogIzQ1NWE2NCxcbiAgODAwOiAjMzc0NzRmLFxuICA5MDA6ICMyNjMyMzgsXG4gIEExMDA6ICNjZmQ4ZGMsXG4gIEEyMDA6ICNiMGJlYzUsXG4gIEE0MDA6ICM3ODkwOWMsXG4gIEE3MDA6ICM0NTVhNjQsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuLy8gQWxpYXMgZm9yIGFsdGVybmF0ZSBzcGVsbGluZy5cbiRtYXQtYmx1ZS1ncmF5OiAkbWF0LWJsdWUtZ3JleTtcblxuXG4vLyBCYWNrZ3JvdW5kIHBhbGV0dGUgZm9yIGxpZ2h0IHRoZW1lcy5cbiRtYXQtbGlnaHQtdGhlbWUtYmFja2dyb3VuZDogKFxuICBzdGF0dXMtYmFyOiBtYXBfZ2V0KCRtYXQtZ3JleSwgMzAwKSxcbiAgYXBwLWJhcjogICAgbWFwX2dldCgkbWF0LWdyZXksIDEwMCksXG4gIGJhY2tncm91bmQ6IG1hcF9nZXQoJG1hdC1ncmV5LCA1MCksXG4gIGhvdmVyOiAgICAgIHJnYmEoYmxhY2ssIDAuMDQpLCAvLyBUT0RPKGthcmEpOiBjaGVjayBzdHlsZSB3aXRoIE1hdGVyaWFsIERlc2lnbiBVWFxuICBjYXJkOiAgICAgICB3aGl0ZSxcbiAgZGlhbG9nOiAgICAgd2hpdGUsXG4gIGRpc2FibGVkLWJ1dHRvbjogcmdiYShibGFjaywgMC4xMiksXG4gIHJhaXNlZC1idXR0b246IHdoaXRlLFxuICBmb2N1c2VkLWJ1dHRvbjogJGRhcmstZm9jdXNlZCxcbiAgc2VsZWN0ZWQtYnV0dG9uOiBtYXBfZ2V0KCRtYXQtZ3JleSwgMzAwKSxcbiAgc2VsZWN0ZWQtZGlzYWJsZWQtYnV0dG9uOiBtYXBfZ2V0KCRtYXQtZ3JleSwgNDAwKSxcbiAgZGlzYWJsZWQtYnV0dG9uLXRvZ2dsZTogbWFwX2dldCgkbWF0LWdyZXksIDIwMCksXG4gIHVuc2VsZWN0ZWQtY2hpcDogbWFwX2dldCgkbWF0LWdyZXksIDMwMCksXG4gIGRpc2FibGVkLWxpc3Qtb3B0aW9uOiBtYXBfZ2V0KCRtYXQtZ3JleSwgMjAwKSxcbik7XG5cbi8vIEJhY2tncm91bmQgcGFsZXR0ZSBmb3IgZGFyayB0aGVtZXMuXG4kbWF0LWRhcmstdGhlbWUtYmFja2dyb3VuZDogKFxuICBzdGF0dXMtYmFyOiBibGFjayxcbiAgYXBwLWJhcjogICAgbWFwX2dldCgkbWF0LWdyZXksIDkwMCksXG4gIGJhY2tncm91bmQ6ICMzMDMwMzAsXG4gIGhvdmVyOiAgICAgIHJnYmEod2hpdGUsIDAuMDQpLCAvLyBUT0RPKGthcmEpOiBjaGVjayBzdHlsZSB3aXRoIE1hdGVyaWFsIERlc2lnbiBVWFxuICBjYXJkOiAgICAgICBtYXBfZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZGlhbG9nOiAgICAgbWFwX2dldCgkbWF0LWdyZXksIDgwMCksXG4gIGRpc2FibGVkLWJ1dHRvbjogcmdiYSh3aGl0ZSwgMC4xMiksXG4gIHJhaXNlZC1idXR0b246IG1hcC1nZXQoJG1hdC1ncmV5LCA4MDApLFxuICBmb2N1c2VkLWJ1dHRvbjogJGxpZ2h0LWZvY3VzZWQsXG4gIHNlbGVjdGVkLWJ1dHRvbjogbWFwX2dldCgkbWF0LWdyZXksIDkwMCksXG4gIHNlbGVjdGVkLWRpc2FibGVkLWJ1dHRvbjogbWFwX2dldCgkbWF0LWdyZXksIDgwMCksXG4gIGRpc2FibGVkLWJ1dHRvbi10b2dnbGU6IGJsYWNrLFxuICB1bnNlbGVjdGVkLWNoaXA6IG1hcF9nZXQoJG1hdC1ncmV5LCA3MDApLFxuICBkaXNhYmxlZC1saXN0LW9wdGlvbjogYmxhY2ssXG4pO1xuXG4vLyBGb3JlZ3JvdW5kIHBhbGV0dGUgZm9yIGxpZ2h0IHRoZW1lcy5cbiRtYXQtbGlnaHQtdGhlbWUtZm9yZWdyb3VuZDogKFxuICBiYXNlOiAgICAgICAgICAgICAgYmxhY2ssXG4gIGRpdmlkZXI6ICAgICAgICAgICAkZGFyay1kaXZpZGVycyxcbiAgZGl2aWRlcnM6ICAgICAgICAgICRkYXJrLWRpdmlkZXJzLFxuICBkaXNhYmxlZDogICAgICAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgZGlzYWJsZWQtYnV0dG9uOiAgIHJnYmEoYmxhY2ssIDAuMjYpLFxuICBkaXNhYmxlZC10ZXh0OiAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgaGludC10ZXh0OiAgICAgICAgICRkYXJrLWRpc2FibGVkLXRleHQsXG4gIHNlY29uZGFyeS10ZXh0OiAgICAkZGFyay1zZWNvbmRhcnktdGV4dCxcbiAgaWNvbjogICAgICAgICAgICAgIHJnYmEoYmxhY2ssIDAuNTQpLFxuICBpY29uczogICAgICAgICAgICAgcmdiYShibGFjaywgMC41NCksXG4gIHRleHQ6ICAgICAgICAgICAgICByZ2JhKGJsYWNrLCAwLjg3KSxcbiAgc2xpZGVyLW1pbjogICAgICAgIHJnYmEoYmxhY2ssIDAuODcpLFxuICBzbGlkZXItb2ZmOiAgICAgICAgcmdiYShibGFjaywgMC4yNiksXG4gIHNsaWRlci1vZmYtYWN0aXZlOiByZ2JhKGJsYWNrLCAwLjM4KSxcbik7XG5cbi8vIEZvcmVncm91bmQgcGFsZXR0ZSBmb3IgZGFyayB0aGVtZXMuXG4kbWF0LWRhcmstdGhlbWUtZm9yZWdyb3VuZDogKFxuICBiYXNlOiAgICAgICAgICAgICAgd2hpdGUsXG4gIGRpdmlkZXI6ICAgICAgICAgICAkbGlnaHQtZGl2aWRlcnMsXG4gIGRpdmlkZXJzOiAgICAgICAgICAkbGlnaHQtZGl2aWRlcnMsXG4gIGRpc2FibGVkOiAgICAgICAgICAkbGlnaHQtZGlzYWJsZWQtdGV4dCxcbiAgZGlzYWJsZWQtYnV0dG9uOiAgIHJnYmEod2hpdGUsIDAuMyksXG4gIGRpc2FibGVkLXRleHQ6ICAgICAkbGlnaHQtZGlzYWJsZWQtdGV4dCxcbiAgaGludC10ZXh0OiAgICAgICAgICRsaWdodC1kaXNhYmxlZC10ZXh0LFxuICBzZWNvbmRhcnktdGV4dDogICAgJGxpZ2h0LXNlY29uZGFyeS10ZXh0LFxuICBpY29uOiAgICAgICAgICAgICAgd2hpdGUsXG4gIGljb25zOiAgICAgICAgICAgICB3aGl0ZSxcbiAgdGV4dDogICAgICAgICAgICAgIHdoaXRlLFxuICBzbGlkZXItbWluOiAgICAgICAgd2hpdGUsXG4gIHNsaWRlci1vZmY6ICAgICAgICByZ2JhKHdoaXRlLCAwLjMpLFxuICBzbGlkZXItb2ZmLWFjdGl2ZTogcmdiYSh3aGl0ZSwgMC4zKSxcbik7XG5cblxuXG4vLyBGb3IgYSBnaXZlbiBodWUgaW4gYSBwYWxldHRlLCByZXR1cm4gdGhlIGNvbnRyYXN0IGNvbG9yIGZyb20gdGhlIG1hcCBvZiBjb250cmFzdCBwYWxldHRlcy5cbi8vIEBwYXJhbSAkY29sb3ItbWFwXG4vLyBAcGFyYW0gJGh1ZVxuQGZ1bmN0aW9uIG1hdC1jb250cmFzdCgkcGFsZXR0ZSwgJGh1ZSkge1xuICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkcGFsZXR0ZSwgY29udHJhc3QpLCAkaHVlKTtcbn1cblxuXG4vLyBDcmVhdGVzIGEgbWFwIG9mIGh1ZXMgdG8gY29sb3JzIGZvciBhIHRoZW1lLiBUaGlzIGlzIHVzZWQgdG8gZGVmaW5lIGEgdGhlbWUgcGFsZXR0ZSBpbiB0ZXJtc1xuLy8gb2YgdGhlIE1hdGVyaWFsIERlc2lnbiBodWVzLlxuLy8gQHBhcmFtICRjb2xvci1tYXBcbi8vIEBwYXJhbSAkcHJpbWFyeVxuLy8gQHBhcmFtICRsaWdodGVyXG5AZnVuY3Rpb24gbWF0LXBhbGV0dGUoJGJhc2UtcGFsZXR0ZSwgJGRlZmF1bHQ6IDUwMCwgJGxpZ2h0ZXI6IDEwMCwgJGRhcmtlcjogNzAwKSB7XG4gICRyZXN1bHQ6IG1hcF9tZXJnZSgkYmFzZS1wYWxldHRlLCAoXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYmFzZS1wYWxldHRlLCAkZGVmYXVsdCksXG4gICAgbGlnaHRlcjogbWFwLWdldCgkYmFzZS1wYWxldHRlLCAkbGlnaHRlciksXG4gICAgZGFya2VyOiBtYXAtZ2V0KCRiYXNlLXBhbGV0dGUsICRkYXJrZXIpLFxuXG4gICAgZGVmYXVsdC1jb250cmFzdDogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRkZWZhdWx0KSxcbiAgICBsaWdodGVyLWNvbnRyYXN0OiBtYXQtY29udHJhc3QoJGJhc2UtcGFsZXR0ZSwgJGxpZ2h0ZXIpLFxuICAgIGRhcmtlci1jb250cmFzdDogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRkYXJrZXIpXG4gICkpO1xuXG4gIC8vIEZvciBlYWNoIGh1ZSBpbiB0aGUgcGFsZXR0ZSwgYWRkIGEgXCItY29udHJhc3RcIiBjb2xvciB0byB0aGUgbWFwLlxuICBAZWFjaCAkaHVlLCAkY29sb3IgaW4gJGJhc2UtcGFsZXR0ZSB7XG4gICAgJHJlc3VsdDogbWFwX21lcmdlKCRyZXN1bHQsIChcbiAgICAgICcjeyRodWV9LWNvbnRyYXN0JzogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRodWUpXG4gICAgKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cblxuLy8gR2V0cyBhIGNvbG9yIGZyb20gYSB0aGVtZSBwYWxldHRlICh0aGUgb3V0cHV0IG9mIG1hdC1wYWxldHRlKS5cbi8vIFRoZSBodWUgY2FuIGJlIG9uZSBvZiB0aGUgc3RhbmRhcmQgdmFsdWVzICg1MDAsIEE0MDAsIGV0Yy4pLCBvbmUgb2YgdGhlIHRocmVlIHByZWNvbmZpZ3VyZWRcbi8vIGh1ZXMgKGRlZmF1bHQsIGxpZ2h0ZXIsIGRhcmtlciksIG9yIGFueSBvZiB0aGUgYWZvcmVtZW50aW9uZWQgcHJlZml4ZWQgd2l0aCBcIi1jb250cmFzdFwiLlxuLy9cbi8vIEBwYXJhbSAkY29sb3ItbWFwIFRoZSB0aGVtZSBwYWxldHRlIChvdXRwdXQgb2YgbWF0LXBhbGV0dGUpLlxuLy8gQHBhcmFtICRodWUgVGhlIGh1ZSBmcm9tIHRoZSBwYWxldHRlIHRvIHVzZS4gSWYgdGhpcyBpcyBhIHZhbHVlIGJldHdlZW4gMCBhbmQgMSwgaXQgd2lsbFxuLy8gICAgIGJlIHRyZWF0ZWQgYXMgb3BhY2l0eS5cbi8vIEBwYXJhbSAkb3BhY2l0eSBUaGUgYWxwaGEgY2hhbm5lbCB2YWx1ZSBmb3IgdGhlIGNvbG9yLlxuQGZ1bmN0aW9uIG1hdC1jb2xvcigkcGFsZXR0ZSwgJGh1ZTogZGVmYXVsdCwgJG9wYWNpdHk6IG51bGwpIHtcbiAgLy8gSWYgaHVlS2V5IGlzIGEgbnVtYmVyIGJldHdlZW4gemVybyBhbmQgb25lLCB0aGVuIGl0IGFjdHVhbGx5IGNvbnRhaW5zIGFuXG4gIC8vIG9wYWNpdHkgdmFsdWUsIHNvIHJlY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggdGhlIGRlZmF1bHQgaHVlIGFuZCB0aGF0IGdpdmVuIG9wYWNpdHkuXG4gIEBpZiB0eXBlLW9mKCRodWUpID09IG51bWJlciBhbmQgJGh1ZSA+PSAwIGFuZCAkaHVlIDw9IDEge1xuICAgIEByZXR1cm4gbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LCAkaHVlKTtcbiAgfVxuXG4gICRjb2xvcjogbWFwLWdldCgkcGFsZXR0ZSwgJGh1ZSk7XG4gICRvcGFjaXR5OiBpZigkb3BhY2l0eSA9PSBudWxsLCBvcGFjaXR5KCRjb2xvciksICRvcGFjaXR5KTtcblxuICBAcmV0dXJuIHJnYmEoJGNvbG9yLCAkb3BhY2l0eSk7XG59XG5cblxuLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBvYmplY3QgZm9yIGEgbGlnaHQgdGhlbWUgdG8gYmUgZ2l2ZW4gdG8gaW5kaXZpZHVhbCBjb21wb25lbnQgdGhlbWUgbWl4aW5zLlxuQGZ1bmN0aW9uIG1hdC1saWdodC10aGVtZSgkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm46IG1hdC1wYWxldHRlKCRtYXQtcmVkKSkge1xuICBAcmV0dXJuIChcbiAgICBwcmltYXJ5OiAkcHJpbWFyeSxcbiAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgd2FybjogJHdhcm4sXG4gICAgaXMtZGFyazogZmFsc2UsXG4gICAgZm9yZWdyb3VuZDogJG1hdC1saWdodC10aGVtZS1mb3JlZ3JvdW5kLFxuICAgIGJhY2tncm91bmQ6ICRtYXQtbGlnaHQtdGhlbWUtYmFja2dyb3VuZCxcbiAgKTtcbn1cblxuXG4vLyBDcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgYSBkYXJrIHRoZW1lIHRvIGJlIGdpdmVuIHRvIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy5cbkBmdW5jdGlvbiBtYXQtZGFyay10aGVtZSgkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm46IG1hdC1wYWxldHRlKCRtYXQtcmVkKSkge1xuICBAcmV0dXJuIChcbiAgICBwcmltYXJ5OiAkcHJpbWFyeSxcbiAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgd2FybjogJHdhcm4sXG4gICAgaXMtZGFyazogdHJ1ZSxcbiAgICBmb3JlZ3JvdW5kOiAkbWF0LWRhcmstdGhlbWUtZm9yZWdyb3VuZCxcbiAgICBiYWNrZ3JvdW5kOiAkbWF0LWRhcmstdGhlbWUtYmFja2dyb3VuZCxcbiAgKTtcbn1cblxuXG5cbiRtYXQtcmlwcGxlLWNvbG9yLW9wYWNpdHk6IDAuMTtcblxuQG1peGluIG1hdC1yaXBwbGUoKSB7XG4gIC8vIFRoZSBob3N0IGVsZW1lbnQgb2YgYW4gbWF0LXJpcHBsZSBkaXJlY3RpdmUgc2hvdWxkIGFsd2F5cyBoYXZlIGEgcG9zaXRpb24gb2YgXCJhYnNvbHV0ZVwiIG9yXG4gIC8vIFwicmVsYXRpdmVcIiBzbyB0aGF0IHRoZSByaXBwbGUgZGl2cyBpdCBjcmVhdGVzIGluc2lkZSBpdHNlbGYgYXJlIGNvcnJlY3RseSBwb3NpdGlvbmVkLlxuICAubWF0LXJpcHBsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCB0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG5cbiAgICAvLyBJbiBoaWdoIGNvbnRyYXN0IG1vZGUgdGhlIHJpcHBsZSBpcyBvcGFxdWUsIGNhdXNpbmcgaXQgdG8gb2JzdHJ1Y3QgdGhlIGNvbnRlbnQuXG4gICAgQGluY2x1ZGUgY2RrLWhpZ2gtY29udHJhc3Qge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyogVGhlbWUgZm9yIHRoZSByaXBwbGUgZWxlbWVudHMuKi9cbkBtaXhpbiBtYXQtcmlwcGxlLXRoZW1lKCR0aGVtZSkge1xuICAkZm9yZWdyb3VuZDogbWFwX2dldCgkdGhlbWUsIGZvcmVncm91bmQpO1xuICAkZm9yZWdyb3VuZC1iYXNlOiBtYXBfZ2V0KCRmb3JlZ3JvdW5kLCBiYXNlKTtcblxuICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRmb3JlZ3JvdW5kLWJhc2UsICRtYXQtcmlwcGxlLWNvbG9yLW9wYWNpdHkpO1xuICB9XG59XG5cblxuXG4vLyBVdGlsaXR5IGZvciBmZXRjaGluZyBhIG5lc3RlZCB2YWx1ZSBmcm9tIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsICRuYW1lKSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb25maWcsICRsZXZlbCksICRuYW1lKTtcbn1cblxuLy8gR2V0cyB0aGUgZm9udCBzaXplIGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1mb250LXNpemUoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGZvbnQtc2l6ZSk7XG59XG5cbi8vIEdldHMgdGhlIGxpbmUgaGVpZ2h0IGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCAkbGV2ZWwpIHtcbiAgQHJldHVybiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgbGluZS1oZWlnaHQpO1xufVxuXG4vLyBHZXRzIHRoZSBmb250IHdlaWdodCBmb3IgYSBsZXZlbCBpbnNpZGUgYSB0eXBvZ3JhcGh5IGNvbmZpZy5cbkBmdW5jdGlvbiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGZvbnQtd2VpZ2h0KTtcbn1cblxuLy8gR2V0cyB0aGUgbGV0dGVyIHNwYWNpbmcgZm9yIGEgbGV2ZWwgaW5zaWRlIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gbWF0LWxldHRlci1zcGFjaW5nKCRjb25maWcsICRsZXZlbCkge1xuICBAcmV0dXJuIF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBsZXR0ZXItc3BhY2luZyk7XG59XG5cbi8vIEdldHMgdGhlIGZvbnQtZmFtaWx5IGZyb20gYSB0eXBvZ3JhcGh5IGNvbmZpZyBhbmQgcmVtb3ZlcyB0aGUgcXVvdGVzIGFyb3VuZCBpdC5cbkBmdW5jdGlvbiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgJGxldmVsOiBudWxsKSB7XG4gICRmb250LWZhbWlseTogbWFwLWdldCgkY29uZmlnLCBmb250LWZhbWlseSk7XG5cbiAgQGlmICRsZXZlbCAhPSBudWxsIHtcbiAgICAkZm9udC1mYW1pbHk6IF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBmb250LWZhbWlseSk7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRmb250LWZhbWlseSA9PSBudWxsLCAkZm9udC1mYW1pbHksIHVucXVvdGUoJGZvbnQtZmFtaWx5KSk7XG59XG5cbi8vIE91dHB1dHMgdGhlIHNob3J0aGFuZCBgZm9udGAgQ1NTIHByb3BlcnR5LCBiYXNlZCBvbiBhIHNldCBvZiB0eXBvZ3JhcGh5IHZhbHVlcy4gRmFsbHMgYmFjayB0b1xuLy8gdGhlIGluZGl2aWR1YWwgcHJvcGVydGllcyBpZiBhIHZhbHVlIHRoYXQgaXNuJ3QgYWxsb3dlZCBpbiB0aGUgc2hvcnRoYW5kIGlzIHBhc3NlZCBpbi5cbkBtaXhpbiBtYXQtdHlwb2dyYXBoeS1mb250LXNob3J0aGFuZCgkZm9udC1zaXplLCAkZm9udC13ZWlnaHQsICRsaW5lLWhlaWdodCwgJGZvbnQtZmFtaWx5KSB7XG4gIC8vIElmIGFueSBvZiB0aGUgdmFsdWVzIGFyZSBzZXQgdG8gYGluaGVyaXRgLCB3ZSBjYW4ndCB1c2UgdGhlIHNob3J0aGFuZFxuICAvLyBzbyB3ZSBmYWxsIGJhY2sgdG8gcGFzc2luZyBpbiB0aGUgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzLlxuICBAaWYgKCRmb250LXNpemUgPT0gaW5oZXJpdCBvclxuICAgICAgICRmb250LXdlaWdodCA9PSBpbmhlcml0IG9yXG4gICAgICAgJGxpbmUtaGVpZ2h0ID09IGluaGVyaXQgb3JcbiAgICAgICAkZm9udC1mYW1pbHkgPT0gaW5oZXJpdCBvclxuICAgICAgICRmb250LXNpemUgPT0gbnVsbCBvclxuICAgICAgICRmb250LXdlaWdodCA9PSBudWxsIG9yXG4gICAgICAgJGxpbmUtaGVpZ2h0ID09IG51bGwgb3JcbiAgICAgICAkZm9udC1mYW1pbHkgPT0gbnVsbCkge1xuXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UgdXNlIHRoZSBzaG9ydGhhbmQgYGZvbnRgLCBiZWNhdXNlIGl0J3MgdGhlIGxlYXN0IGFtb3VudCBvZiBieXRlcy4gTm90ZVxuICAgIC8vIHRoYXQgd2UgbmVlZCB0byB1c2UgaW50ZXJwb2xhdGlvbiBmb3IgYGZvbnQtc2l6ZS9saW5lLWhlaWdodGAgaW4gb3JkZXIgdG8gcHJldmVudFxuICAgIC8vIFNhc3MgZnJvbSBkaXZpZGluZyB0aGUgdHdvIHZhbHVlcy5cbiAgICBmb250OiAkZm9udC13ZWlnaHQgI3skZm9udC1zaXplfS8jeyRsaW5lLWhlaWdodH0gJGZvbnQtZmFtaWx5O1xuICB9XG59XG5cbi8vIENvbnZlcnRzIGEgdHlwb2dyYXBoeSBsZXZlbCBpbnRvIENTUyBzdHlsZXMuXG5AbWl4aW4gbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsICRsZXZlbCkge1xuICAkZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsICRsZXZlbCk7XG4gICRmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsICRsZXZlbCk7XG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsICRsZXZlbCk7XG4gICRmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsICRsZXZlbCk7XG5cbiAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoJGZvbnQtc2l6ZSwgJGZvbnQtd2VpZ2h0LCAkbGluZS1oZWlnaHQsICRmb250LWZhbWlseSk7XG4gIGxldHRlci1zcGFjaW5nOiBtYXQtbGV0dGVyLXNwYWNpbmcoJGNvbmZpZywgJGxldmVsKTtcbn1cblxuXG5AbWl4aW4gbWF0LW9wdGlvbi10aGVtZSgkdGhlbWUpIHtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBiYWNrZ3JvdW5kKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG5cbiAgLm1hdC1vcHRpb24ge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuICAgICY6Zm9jdXM6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyKTtcbiAgICB9XG5cbiAgICAvLyBJbiBtdWx0aXBsZSBtb2RlIHRoZXJlIGlzIGEgY2hlY2tib3ggdG8gc2hvdyB0aGF0IHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQuXG4gICAgJi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKTpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICAgIH1cblxuICAgICYubWF0LWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyKTtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIH1cblxuICAgICYubWF0LW9wdGlvbi1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcHJpbWFyeSAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gIH1cblxuICAubWF0LWFjY2VudCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgfVxuXG4gIC5tYXQtd2FybiAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gIH1cbn1cblxuQG1peGluIG1hdC1vcHRpb24tdHlwb2dyYXBoeSgkY29uZmlnKSB7XG4gIC5tYXQtb3B0aW9uIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBzdWJoZWFkaW5nLTIpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBzdWJoZWFkaW5nLTIpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtb3B0Z3JvdXAtdGhlbWUoJHRoZW1lKSB7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1vcHRncm91cC1sYWJlbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1vcHRncm91cC1kaXNhYmxlZCAubWF0LW9wdGdyb3VwLWxhYmVsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtb3B0Z3JvdXAtdHlwb2dyYXBoeSgkY29uZmlnKSB7XG4gIC5tYXQtb3B0Z3JvdXAtbGFiZWwge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTIpO1xuICB9XG59XG5cblxuXG5AbWl4aW4gbWF0LXBzZXVkby1jaGVja2JveC10aGVtZSgkdGhlbWUpIHtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJHRoZW1lLCBpcy1kYXJrKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG5cbiAgLy8gTk9URSh0cmF2aXNrYXVmbWFuKTogV2hpbGUgdGhlIHNwZWMgY2FsbHMgZm9yIHRyYW5zbHVjZW50IGJsYWNrcy93aGl0ZXMgZm9yIGRpc2FibGVkIGNvbG9ycyxcbiAgLy8gdGhpcyBkb2VzIG5vdCB3b3JrIHdlbGwgd2l0aCBlbGVtZW50cyBsYXllcmVkIG9uIHRvcCBvZiBvbmUgYW5vdGhlci4gVG8gZ2V0IGFyb3VuZCB0aGlzIHdlXG4gIC8vIGJsZW5kIHRoZSBjb2xvcnMgdG9nZXRoZXIgYmFzZWQgb24gdGhlIGJhc2UgY29sb3IgYW5kIHRoZSB0aGVtZSBiYWNrZ3JvdW5kLlxuICAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrOiAjNjg2ODY4O1xuICAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodDogI2IwYjBiMDtcbiAgJGRpc2FibGVkLWNvbG9yOiBpZigkaXMtZGFyay10aGVtZSwgJHdoaXRlLTMwcGN0LW9wYWNpdHktb24tZGFyaywgJGJsYWNrLTI2cGN0LW9wYWNpdHktb24tbGlnaHQpO1xuICAkY29sb3JlZC1ib3gtc2VsZWN0b3I6ICcubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLCAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlJztcblxuICAubWF0LXBzZXVkby1jaGVja2JveCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCksIHNlY29uZGFyeS10ZXh0KTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGJhY2tncm91bmQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmF1bHQgdG8gdGhlIGFjY2VudCBjb2xvci4gTm90ZSB0aGF0IHRoZSBwc2V1ZG8gY2hlY2tib3hlcyBhcmUgbWVhbnQgdG8gaW5oZXJpdCB0aGVcbiAgLy8gdGhlbWUgZnJvbSB0aGVpciBwYXJlbnQsIHJhdGhlciB0aGFuIGltcGxlbWVudGluZyB0aGVpciBvd24gdGhlbWluZywgd2hpY2ggaXMgd2h5IHdlXG4gIC8vIGRvbid0IGF0dGFjaCB0byB0aGUgYG1hdC0qYCBjbGFzc2VzLlxuICAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlLFxuICAubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IobWFwLWdldCgkdGhlbWUsIGFjY2VudCkpO1xuICB9XG5cbiAgLm1hdC1wcmltYXJ5IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IobWFwLWdldCgkdGhlbWUsIHByaW1hcnkpKTtcbiAgfVxuXG4gIC5tYXQtd2FybiAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKG1hcC1nZXQoJHRoZW1lLCB3YXJuKSk7XG4gIH1cblxuICAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICAmLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZDogJGRpc2FibGVkLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gUmVwcmVzZW50cyBhIHR5cG9ncmFwaHkgbGV2ZWwgZnJvbSB0aGUgTWF0ZXJpYWwgZGVzaWduIHNwZWMuXG5AZnVuY3Rpb24gbWF0LXR5cG9ncmFwaHktbGV2ZWwoXG4gICRmb250LXNpemUsXG4gICRsaW5lLWhlaWdodDogJGZvbnQtc2l6ZSxcbiAgJGZvbnQtd2VpZ2h0OiA0MDAsXG4gICRmb250LWZhbWlseTogbnVsbCxcbiAgJGxldHRlci1zcGFjaW5nOiBudWxsKSB7XG5cbiAgQHJldHVybiAoXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLFxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQsXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodCxcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LFxuICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmdcbiAgKTtcbn1cblxuLy8gUmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2YgdHlwb2dyYXBoeSBsZXZlbHMuXG4vLyBEZWZhdWx0cyBjb21lIGZyb20gaHR0cHM6Ly9tYXRlcmlhbC5pby9ndWlkZWxpbmVzL3N0eWxlL3R5cG9ncmFwaHkuaHRtbFxuQGZ1bmN0aW9uIG1hdC10eXBvZ3JhcGh5LWNvbmZpZyhcbiAgJGZvbnQtZmFtaWx5OiAgICdSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZicsXG4gICRkaXNwbGF5LTQ6ICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxMTJweCwgMTEycHgsIDMwMCksXG4gICRkaXNwbGF5LTM6ICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCg1NnB4LCA1NnB4LCA0MDApLFxuICAkZGlzcGxheS0yOiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoNDVweCwgNDhweCwgNDAwKSxcbiAgJGRpc3BsYXktMTogICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDM0cHgsIDQwcHgsIDQwMCksXG4gICRoZWFkbGluZTogICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgyNHB4LCAzMnB4LCA0MDApLFxuICAkdGl0bGU6ICAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMjBweCwgMzJweCwgNTAwKSxcbiAgJHN1YmhlYWRpbmctMjogIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE2cHgsIDI4cHgsIDQwMCksXG4gICRzdWJoZWFkaW5nLTE6ICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxNXB4LCAyNHB4LCA0MDApLFxuICAkYm9keS0yOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMjRweCwgNTAwKSxcbiAgJGJvZHktMTogICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE0cHgsIDIwcHgsIDQwMCksXG4gICRjYXB0aW9uOiAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxMnB4LCAyMHB4LCA0MDApLFxuICAkYnV0dG9uOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMTRweCwgNTAwKSxcbiAgLy8gTGluZS1oZWlnaHQgbXVzdCBiZSB1bml0LWxlc3MgZnJhY3Rpb24gb2YgdGhlIGZvbnQtc2l6ZS5cbiAgJGlucHV0OiAgICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKGluaGVyaXQsIDEuMTI1LCA0MDApXG4pIHtcblxuICAvLyBEZWNsYXJlIGFuIGluaXRpYWwgbWFwIHdpdGggYWxsIG9mIHRoZSBsZXZlbHMuXG4gICRjb25maWc6IChcbiAgICBkaXNwbGF5LTQ6ICAgICAgJGRpc3BsYXktNCxcbiAgICBkaXNwbGF5LTM6ICAgICAgJGRpc3BsYXktMyxcbiAgICBkaXNwbGF5LTI6ICAgICAgJGRpc3BsYXktMixcbiAgICBkaXNwbGF5LTE6ICAgICAgJGRpc3BsYXktMSxcbiAgICBoZWFkbGluZTogICAgICAgJGhlYWRsaW5lLFxuICAgIHRpdGxlOiAgICAgICAgICAkdGl0bGUsXG4gICAgc3ViaGVhZGluZy0yOiAgICRzdWJoZWFkaW5nLTIsXG4gICAgc3ViaGVhZGluZy0xOiAgICRzdWJoZWFkaW5nLTEsXG4gICAgYm9keS0yOiAgICAgICAgICRib2R5LTIsXG4gICAgYm9keS0xOiAgICAgICAgICRib2R5LTEsXG4gICAgY2FwdGlvbjogICAgICAgICRjYXB0aW9uLFxuICAgIGJ1dHRvbjogICAgICAgICAkYnV0dG9uLFxuICAgIGlucHV0OiAgICAgICAgICAkaW5wdXQsXG4gICk7XG5cbiAgLy8gTG9vcCB0aHJvdWdoIHRoZSBsZXZlbHMgYW5kIHNldCB0aGUgYGZvbnQtZmFtaWx5YCBvZiB0aGUgb25lcyB0aGF0IGRvbid0IGhhdmUgb25lIHRvIHRoZSBiYXNlLlxuICAvLyBOb3RlIHRoYXQgU2FzcyBjYW4ndCBtb2RpZnkgbWFwcyBpbiBwbGFjZSwgd2hpY2ggbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIG1lcmdlIGFuZCByZS1hc3NpZ24uXG4gIEBlYWNoICRrZXksICRsZXZlbCBpbiAkY29uZmlnIHtcbiAgICBAaWYgbWFwLWdldCgkbGV2ZWwsIGZvbnQtZmFtaWx5KSA9PSBudWxsIHtcbiAgICAgICRuZXctbGV2ZWw6IG1hcC1tZXJnZSgkbGV2ZWwsIChmb250LWZhbWlseTogJGZvbnQtZmFtaWx5KSk7XG4gICAgICAkY29uZmlnOiBtYXAtbWVyZ2UoJGNvbmZpZywgKCRrZXk6ICRuZXctbGV2ZWwpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBZGQgdGhlIGJhc2UgZm9udCBmYW1pbHkgdG8gdGhlIGNvbmZpZy5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJGNvbmZpZywgKGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHkpKTtcbn1cblxuLy8gQWRkcyB0aGUgYmFzZSB0eXBvZ3JhcGh5IHN0eWxlcywgYmFzZWQgb24gYSBjb25maWcuXG5AbWl4aW4gbWF0LWJhc2UtdHlwb2dyYXBoeSgkY29uZmlnLCAkc2VsZWN0b3I6ICcubWF0LXR5cG9ncmFwaHknKSB7XG4gIC5tYXQtaDEsIC5tYXQtaGVhZGxpbmUsICN7JHNlbGVjdG9yfSBoMSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGhlYWRsaW5lKTtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICB9XG5cbiAgLm1hdC1oMiwgLm1hdC10aXRsZSwgI3skc2VsZWN0b3J9IGgyIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgdGl0bGUpO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gIH1cblxuICAubWF0LWgzLCAubWF0LXN1YmhlYWRpbmctMiwgI3skc2VsZWN0b3J9IGgzIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICB9XG5cbiAgLm1hdC1oNCwgLm1hdC1zdWJoZWFkaW5nLTEsICN7JHNlbGVjdG9yfSBoNCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHN1YmhlYWRpbmctMSk7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC8vIE5vdGU6IHRoZSBzcGVjIGRvZXNuJ3QgaGF2ZSBhbnl0aGluZyB0aGF0IHdvdWxkIGNvcnJlc3BvbmQgdG8gaDUgYW5kIGg2LCBidXQgd2UgYWRkIHRoZXNlIGZvclxuICAvLyBjb25zaXN0ZW5jeS4gVGhlIGZvbnQgc2l6ZXMgY29tZSBmcm9tIHRoZSBDaHJvbWUgdXNlciBhZ2VudCBzdHlsZXMgd2hpY2ggaGF2ZSBoNSBhdCAwLjgzZW1cbiAgLy8gYW5kIGg2IGF0IDAuNjdlbS5cbiAgLm1hdC1oNSwgI3skc2VsZWN0b3J9IGg1IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1mb250LXNob3J0aGFuZChcbiAgICAgIG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKSAqIDAuODMsXG4gICAgICBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgIG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJvZHktMSlcbiAgICApO1xuXG4gICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgfVxuXG4gIC5tYXQtaDYsICN7JHNlbGVjdG9yfSBoNiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoXG4gICAgICBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSkgKiAwLjY3LFxuICAgICAgbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgIG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpXG4gICAgKTtcblxuICAgIG1hcmdpbjogMCAwIDEycHg7XG4gIH1cblxuICAubWF0LWJvZHktc3Ryb25nLCAubWF0LWJvZHktMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGJvZHktMik7XG4gIH1cblxuICAubWF0LWJvZHksIC5tYXQtYm9keS0xLCAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTEpO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc21hbGwsIC5tYXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGNhcHRpb24pO1xuICB9XG5cbiAgLy8gTm90ZTogVGhlIHNwZWMgZG9lc24ndCBtZW50aW9uIGxldHRlciBzcGFjaW5nLiBUaGUgdmFsdWUgY29tZXMgZnJvbVxuICAvLyBleWViYWxsaW5nIGl0IHVudGlsIGl0IGxvb2tlZCBleGFjdGx5IGxpa2UgdGhlIHNwZWMgZXhhbXBsZXMuXG4gIC5tYXQtZGlzcGxheS00LCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTQpO1xuICAgIG1hcmdpbjogMCAwIDU2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW07XG4gIH1cblxuICAubWF0LWRpc3BsYXktMywgI3skc2VsZWN0b3J9IC5tYXQtZGlzcGxheS0zIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgZGlzcGxheS0zKTtcbiAgICBtYXJnaW46IDAgMCA2NHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICB9XG5cbiAgLm1hdC1kaXNwbGF5LTIsICN7JHNlbGVjdG9yfSAubWF0LWRpc3BsYXktMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGRpc3BsYXktMik7XG4gICAgbWFyZ2luOiAwIDAgNjRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA1ZW07XG4gIH1cblxuICAubWF0LWRpc3BsYXktMSwgI3skc2VsZWN0b3J9IC5tYXQtZGlzcGxheS0xIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgZGlzcGxheS0xKTtcbiAgICBtYXJnaW46IDAgMCA2NHB4O1xuICB9XG59XG5cblxuXG5AbWl4aW4gbWF0LWF1dG9jb21wbGV0ZS10aGVtZSgkdGhlbWUpIHtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBiYWNrZ3JvdW5kKTtcblxuICAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgIC8vIFNlbGVjdGVkIG9wdGlvbnMgaW4gYXV0b2NvbXBsZXRlcyBzaG91bGQgbm90IGJlIGdyYXksIGJ1dCB3ZVxuICAgIC8vIG9ubHkgd2FudCB0byBvdmVycmlkZSB0aGUgYmFja2dyb3VuZCBmb3Igc2VsZWN0ZWQgb3B0aW9ucyBpZlxuICAgIC8vIHRoZXkgYXJlICpub3QqIGluIGhvdmVyIG9yIGZvY3VzIHN0YXRlLiBUaGlzIGNoYW5nZSBoYXMgdG8gYmVcbiAgICAvLyBtYWRlIGhlcmUgYmVjYXVzZSBiYXNlIG9wdGlvbiBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZVxuICAgIC8vIGF1dG9jb21wbGV0ZSBhbmQgdGhlIHNlbGVjdC5cbiAgICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuXG4gICAgICAmOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG5AbWl4aW4gbWF0LWF1dG9jb21wbGV0ZS10eXBvZ3JhcGh5KCRjb25maWcpIHsgfVxuXG4vLyBUaGlzIGNvbnRhaW5zIGFsbCBvZiB0aGUgc3R5bGVzIGZvciB0aGUgYmFkZ2Vcbi8vIHJhdGhlciB0aGFuIGp1c3QgdGhlIGNvbG9yL3RoZW1lIGJlY2F1c2Ugb2Zcbi8vIG5vIHN0eWxlIHNoZWV0IHN1cHBvcnQgZm9yIGRpcmVjdGl2ZXMuXG5cblxuXG5cblxuJG1hdC1iYWRnZS1mb250LXNpemU6IDEycHg7XG4kbWF0LWJhZGdlLWZvbnQtd2VpZ2h0OiA2MDA7XG4kbWF0LWJhZGdlLWRlZmF1bHQtc2l6ZTogMjJweCAhZGVmYXVsdDtcbiRtYXQtYmFkZ2Utc21hbGwtc2l6ZTogJG1hdC1iYWRnZS1kZWZhdWx0LXNpemUgLSA2O1xuJG1hdC1iYWRnZS1sYXJnZS1zaXplOiAkbWF0LWJhZGdlLWRlZmF1bHQtc2l6ZSArIDY7XG5cbi8vIE1peGluIGZvciBidWlsZGluZyBvZmZzZXQgZ2l2ZW4gZGlmZmVyZW50IHNpemVzXG5AbWl4aW4gX21hdC1iYWRnZS1zaXplKCRzaXplKSB7XG4gIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRzaXplO1xuXG4gICAgQGluY2x1ZGUgY2RrLWhpZ2gtY29udHJhc3Qge1xuICAgICAgb3V0bGluZTogc29saWQgMXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1hYm92ZSB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIHRvcDogLSRzaXplIC8gMjtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1iZWxvdyB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGJvdHRvbTogLSRzaXplIC8gMjtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBsZWZ0OiAtJHNpemU7XG4gICAgfVxuICB9XG5cbiAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYmVmb3JlIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgfVxuICB9XG5cbiAgJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICByaWdodDogLSRzaXplO1xuICAgIH1cbiAgfVxuXG4gIFtkaXI9J3J0bCddICYubWF0LWJhZGdlLWFmdGVyIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAtJHNpemU7XG4gICAgfVxuICB9XG5cbiAgJi5tYXQtYmFkZ2Utb3ZlcmxhcCB7XG4gICAgJi5tYXQtYmFkZ2UtYmVmb3JlIHtcbiAgICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAgIGxlZnQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYmVmb3JlIHtcbiAgICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtJHNpemUgLyAyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LWJhZGdlLWFmdGVyIHtcbiAgICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAgIHJpZ2h0OiAtJHNpemUgLyAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtkaXI9J3J0bCddICYubWF0LWJhZGdlLWFmdGVyIHtcbiAgICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAtJHNpemUgLyAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJhZGdlLXRoZW1lKCR0aGVtZSkge1xuICAkYWNjZW50OiBtYXAtZ2V0KCR0aGVtZSwgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJHRoZW1lLCB3YXJuKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcblxuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIGRlZmF1bHQtY29udHJhc3QpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gIH1cblxuICAubWF0LWJhZGdlLWFjY2VudCB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1iYWRnZS13YXJuIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5tYXQtYmFkZ2UtaGlkZGVuIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIFRoZSBhY3RpdmUgY2xhc3MgaXMgYWRkZWQgYWZ0ZXIgdGhlIGVsZW1lbnQgaXMgYWRkZWRcbiAgLy8gc28gaXQgY2FuIGFuaW1hdGUgc2NhbGUgdG8gZGVmYXVsdFxuICAubWF0LWJhZGdlLWNvbnRlbnQubWF0LWJhZGdlLWFjdGl2ZSB7XG4gICAgLy8gU2NhbGUgdG8gYG5vbmVgIGluc3RlYWQgb2YgYDFgIHRvIGF2b2lkIGJsdXJyeSB0ZXh0IGluIHNvbWUgYnJvd3NlcnMuXG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLm1hdC1iYWRnZS1zbWFsbCB7XG4gICAgQGluY2x1ZGUgX21hdC1iYWRnZS1zaXplKCRtYXQtYmFkZ2Utc21hbGwtc2l6ZSk7XG4gIH1cbiAgLm1hdC1iYWRnZS1tZWRpdW0ge1xuICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2Utc2l6ZSgkbWF0LWJhZGdlLWRlZmF1bHQtc2l6ZSk7XG4gIH1cbiAgLm1hdC1iYWRnZS1sYXJnZSB7XG4gICAgQGluY2x1ZGUgX21hdC1iYWRnZS1zaXplKCRtYXQtYmFkZ2UtbGFyZ2Utc2l6ZSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1iYWRnZS10eXBvZ3JhcGh5KCRjb25maWcpIHtcbiAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICBmb250LXdlaWdodDogJG1hdC1iYWRnZS1mb250LXdlaWdodDtcbiAgICBmb250LXNpemU6ICRtYXQtYmFkZ2UtZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWJhZGdlLXNtYWxsIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZSAvIDI7XG4gIH1cblxuICAubWF0LWJhZGdlLWxhcmdlIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZSAqIDI7XG4gIH1cbn1cblxuXG5cblxuQG1peGluIG1hdC1ib3R0b20tc2hlZXQtdGhlbWUoJHRoZW1lKSB7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGRpYWxvZyk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1ib3R0b20tc2hlZXQtdHlwb2dyYXBoeSgkY29uZmlnKSB7XG4gIC5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lciB7XG4gICAgLy8gTm90ZTogd2UgZG9uJ3QgdXNlIHRoZSBsaW5lLWhlaWdodCwgYmVjYXVzZSBpdCdzIHdheSB0b28gYmlnLlxuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBzdWJoZWFkaW5nLTIpO1xuICB9XG59XG5cblxuXG5cbi8vIEFwcGxpZXMgYSBmb2N1cyBzdHlsZSB0byBhbiBtYXQtYnV0dG9uIGVsZW1lbnQgZm9yIGVhY2ggb2YgdGhlIHN1cHBvcnRlZCBwYWxldHRlcy5cbkBtaXhpbiBfbWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LWNvbG9yKCR0aGVtZSkge1xuICAkcHJpbWFyeTogbWFwLWdldCgkdGhlbWUsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCR0aGVtZSwgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJHRoZW1lLCB3YXJuKTtcblxuICAmLm1hdC1wcmltYXJ5IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgMC4xMik7XG4gIH1cblxuICAmLm1hdC1hY2NlbnQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIDAuMTIpO1xuICB9XG5cbiAgJi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIDAuMTIpO1xuICB9XG5cbiAgJltkaXNhYmxlZF0gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtYnV0dG9uLXJpcHBsZS1jb2xvcigkdGhlbWUsICRodWUsICRvcGFjaXR5OiAwLjEpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG5cbiAgJi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksICRodWUsICRvcGFjaXR5KTtcbiAgfVxuXG4gICYubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgJGh1ZSwgJG9wYWNpdHkpO1xuICB9XG5cbiAgJi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHdhcm4sICRodWUsICRvcGFjaXR5KTtcbiAgfVxufVxuXG4vLyBBcHBsaWVzIGEgcHJvcGVydHkgdG8gYW4gbWF0LWJ1dHRvbiBlbGVtZW50IGZvciBlYWNoIG9mIHRoZSBzdXBwb3J0ZWQgcGFsZXR0ZXMuXG5AbWl4aW4gX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJHRoZW1lLCAkcHJvcGVydHksICRodWUpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG5cbiAgJi5tYXQtcHJpbWFyeSB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHByaW1hcnksICRodWUpO1xuICB9XG4gICYubWF0LWFjY2VudCB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJGFjY2VudCwgJGh1ZSk7XG4gIH1cbiAgJi5tYXQtd2FybiB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHdhcm4sICRodWUpO1xuICB9XG5cbiAgJi5tYXQtcHJpbWFyeSwgJi5tYXQtYWNjZW50LCAmLm1hdC13YXJuLCAmW2Rpc2FibGVkXSB7XG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgJHBhbGV0dGU6IGlmKCRwcm9wZXJ0eSA9PSAnY29sb3InLCAkZm9yZWdyb3VuZCwgJGJhY2tncm91bmQpO1xuICAgICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHBhbGV0dGUsIGRpc2FibGVkLWJ1dHRvbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRoZW1lKCR0aGVtZSkge1xuICAkcHJpbWFyeTogbWFwLWdldCgkdGhlbWUsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCR0aGVtZSwgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJHRoZW1lLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWJ1dHRvbiwgLm1hdC1pY29uLWJ1dHRvbiwgLm1hdC1zdHJva2VkLWJ1dHRvbiB7XG4gICAgLy8gQnV0dG9ucyB3aXRob3V0IGEgYmFja2dyb3VuZCBjb2xvciBzaG91bGQgaW5oZXJpdCB0aGUgZm9udCBjb2xvci4gVGhpcyBpcyBuZWNlc3NhcnkgdG9cbiAgICAvLyBlbnN1cmUgdGhhdCB0aGUgYnV0dG9uIGlzIHJlYWRhYmxlIG9uIGN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9ycy4gSXQncyB3cm9uZyB0byBhbHdheXMgYXNzdW1lXG4gICAgLy8gdGhhdCB0aG9zZSBidXR0b25zIGFyZSBhbHdheXMgcGxhY2VkIGluc2lkZSBvZiBjb250YWluZXJzIHdpdGggdGhlIGRlZmF1bHQgYmFja2dyb3VuZFxuICAgIC8vIGNvbG9yIG9mIHRoZSB0aGVtZSAoZS5nLiB0aGVtZWQgdG9vbGJhcnMpLlxuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJHRoZW1lLCAnY29sb3InLCBkZWZhdWx0KTtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LWNvbG9yKCR0aGVtZSk7XG5cbiAgICAvLyBTZXR1cCB0aGUgcmlwcGxlIGNvbG9yIHRvIGJlIGJhc2VkIG9uIHRoZSBjb2xvciBwYWxldHRlLiBUaGUgb3BhY2l0eSBjYW4gYmUgYSBiaXQgd2Vha2VyXG4gICAgLy8gdGhhbiBmb3IgaWNvbi1idXR0b25zLCBiZWNhdXNlIG5vcm1hbCBhbmQgc3Ryb2tlZCBidXR0b25zIGhhdmUgYSBmb2N1cyBvdmVybGF5LlxuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXJpcHBsZS1jb2xvcigkdGhlbWUsIGRlZmF1bHQpO1xuICB9XG5cbiAgLm1hdC1mbGF0LWJ1dHRvbiwgLm1hdC1yYWlzZWQtYnV0dG9uLCAubWF0LWZhYiwgLm1hdC1taW5pLWZhYiB7XG4gICAgLy8gRGVmYXVsdCBmb250IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIHdoZW4gbm90IHVzaW5nIGFueSBjb2xvciBwYWxldHRlLlxuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgcmFpc2VkLWJ1dHRvbik7XG5cbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi10aGVtZS1wcm9wZXJ0eSgkdGhlbWUsICdjb2xvcicsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXRoZW1lLXByb3BlcnR5KCR0aGVtZSwgJ2JhY2tncm91bmQtY29sb3InLCBkZWZhdWx0KTtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtY29sb3IoJHRoZW1lLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC8vIFNpbmNlIGljb24gYnV0dG9ucyBkb24ndCBoYXZlIGEgZm9jdXMgb3ZlcmxheSwgdGhlIHJpcHBsZSBvcGFjaXR5IHNob3VsZCBiZSB0aGUgaGlnaGVyXG4gIC8vIHRoYW4gdGhlIGRlZmF1bHQgdmFsdWUuXG4gIC5tYXQtaWNvbi1idXR0b24ge1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXJpcHBsZS1jb2xvcigkdGhlbWUsIGRlZmF1bHQsIDAuMik7XG4gIH1cbn1cblxuQG1peGluIG1hdC1idXR0b24tdHlwb2dyYXBoeSgkY29uZmlnKSB7XG4gIC5tYXQtYnV0dG9uLCAubWF0LXJhaXNlZC1idXR0b24sIC5tYXQtaWNvbi1idXR0b24sIC5tYXQtc3Ryb2tlZC1idXR0b24sXG4gIC5tYXQtZmxhdC1idXR0b24sIC5tYXQtZmFiLCAubWF0LW1pbmktZmFiIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBidXR0b24pO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBidXR0b24pO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYnV0dG9uKTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtdGhlbWUoJHRoZW1lKSB7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuXG4gICAgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBmb2N1c2VkLWJ1dHRvbik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgc2VsZWN0ZWQtYnV0dG9uKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlzYWJsZWQtYnV0dG9uLXRvZ2dsZSk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtYnV0dG9uKTtcblxuICAgICYubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHNlbGVjdGVkLWRpc2FibGVkLWJ1dHRvbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWcpIHtcbiAgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG59XG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWNhcmQtdGhlbWUoJHRoZW1lKSB7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1jYXJkLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1jYXJkLXR5cG9ncmFwaHkoJGNvbmZpZykge1xuICAubWF0LWNhcmQge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWNhcmQtdGl0bGUge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgaGVhZGxpbmUpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgaGVhZGxpbmUpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FyZC1zdWJ0aXRsZSxcbiAgLm1hdC1jYXJkLWNvbnRlbnQsXG4gIC5tYXQtY2FyZC1oZWFkZXIgLm1hdC1jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIG1hdC1jaGVja2JveC10aGVtZSgkdGhlbWUpIHtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJHRoZW1lLCBpcy1kYXJrKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG5cblxuICAvLyBUaGUgY29sb3Igb2YgdGhlIGNoZWNrYm94J3MgY2hlY2ttYXJrIC8gbWl4ZWRtYXJrLlxuICAkY2hlY2tib3gtbWFyay1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcblxuICAvLyBOT1RFKHRyYXZpc2thdWZtYW4pOiBXaGlsZSB0aGUgc3BlYyBjYWxscyBmb3IgdHJhbnNsdWNlbnQgYmxhY2tzL3doaXRlcyBmb3IgZGlzYWJsZWQgY29sb3JzLFxuICAvLyB0aGlzIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGVsZW1lbnRzIGxheWVyZWQgb24gdG9wIG9mIG9uZSBhbm90aGVyLiBUbyBnZXQgYXJvdW5kIHRoaXMgd2VcbiAgLy8gYmxlbmQgdGhlIGNvbG9ycyB0b2dldGhlciBiYXNlZCBvbiB0aGUgYmFzZSBjb2xvciBhbmQgdGhlIHRoZW1lIGJhY2tncm91bmQuXG4gICR3aGl0ZS0zMHBjdC1vcGFjaXR5LW9uLWRhcms6ICM2ODY4Njg7XG4gICRibGFjay0yNnBjdC1vcGFjaXR5LW9uLWxpZ2h0OiAjYjBiMGIwO1xuICAkZGlzYWJsZWQtY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrLCAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodCk7XG5cbiAgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IobWFwLWdldCgkdGhlbWUsIGZvcmVncm91bmQpLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWNoZWNrYm94LWNoZWNrbWFyayB7XG4gICAgZmlsbDogJGNoZWNrYm94LW1hcmstY29sb3I7XG4gIH1cblxuICAubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoIHtcbiAgICAvLyAhaW1wb3J0YW50IGlzIG5lZWRlZCBoZXJlIGJlY2F1c2UgYSBzdHJva2UgbXVzdCBiZSBzZXQgYXMgYW5cbiAgICAvLyBhdHRyaWJ1dGUgb24gdGhlIFNWRyBpbiBvcmRlciBmb3IgbGluZSBhbmltYXRpb24gdG8gd29yayBwcm9wZXJseS5cbiAgICBzdHJva2U6ICRjaGVja2JveC1tYXJrLWNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBjZGstaGlnaC1jb250cmFzdChibGFjay1vbi13aGl0ZSkge1xuICAgICAgLy8gSGF2aW5nIHRoZSBvbmUgYWJvdmUgYmUgIWltcG9ydGFudCBlbmRzIHVwIG92ZXJyaWRpbmcgdGhlIGJyb3dzZXIncyBhdXRvbWF0aWNcbiAgICAgIC8vIGNvbG9yIGludmVyc2lvbiBzbyB3ZSBuZWVkIHRvIHJlLWludmVydCBpdCBvdXJzZWx2ZXMgZm9yIGJsYWNrLW9uLXdoaXRlLlxuICAgICAgc3Ryb2tlOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jaGVja2JveC1taXhlZG1hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjaGVja2JveC1tYXJrLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLCAubWF0LWNoZWNrYm94LWNoZWNrZWQge1xuICAgICYubWF0LXByaW1hcnkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNoZWNrYm94LWRpc2FibGVkIHtcbiAgICAmLm1hdC1jaGVja2JveC1jaGVja2VkLCAmLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICAgIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LWNoZWNrYm94LWNoZWNrZWQpIHtcbiAgICAgIC5tYXQtY2hlY2tib3gtZnJhbWUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LWNoZWNrYm94LWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY2RrLWhpZ2gtY29udHJhc3Qge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgb25lIGlzIG1vdmVkIGRvd24gaGVyZSBzbyBpdCBjYW4gdGFyZ2V0IGJvdGhcbiAgLy8gdGhlIHRoZW1lIGNvbG9ycyBhbmQgdGhlIGRpc2FibGVkIHN0YXRlLlxuICBAaW5jbHVkZSBjZGstaGlnaC1jb250cmFzdCB7XG4gICAgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICAgIC8vIE5lZWRzIHRvIGJlIHJlbW92ZWQgYmVjYXVzZSBpdCBoaWRlcyB0aGUgY2hlY2tib3ggb3V0bGluZS5cbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jaGVja2JveDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkge1xuICAgICYubWF0LXByaW1hcnkgLm1hdC1jaGVja2JveC1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIDAuMjYpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCAwLjI2KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIC5tYXQtY2hlY2tib3gtcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuLCAwLjI2KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1jaGVja2JveC10eXBvZ3JhcGh5KCRjb25maWcpIHtcbiAgLm1hdC1jaGVja2JveCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC8vIFRPRE8oa2FyYSk6IFJlbW92ZSB0aGlzIHN0eWxlIHdoZW4gZml4aW5nIHZlcnRpY2FsIGJhc2VsaW5lXG4gIC5tYXQtY2hlY2tib3gtbGF5b3V0IC5tYXQtY2hlY2tib3gtbGFiZWwge1xuICAgIGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxufVxuXG5cblxuXG5cbi8vIFRPRE8oY3Jpc2JldG8pOiB0aGVzZSB2YWx1ZXMgZG9uJ3QgY29ycmVzcG9uZCB0byBhbnkgb2YgdGhlIHR5cG9ncmFwaHkgYnJlYWtwb2ludHMuXG4kbWF0LWNoaXAtZm9udC1zaXplOiAxM3B4O1xuJG1hdC1jaGlwLWxpbmUtaGVpZ2h0OiAxOHB4O1xuJG1hdC1jaGlwLXJlbW92ZS1mb250LXNpemU6IDE4cHg7XG5cbkBtaXhpbiBtYXQtY2hpcHMtdGhlbWUtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIG1hdC1jaGlwcy1jb2xvcihtYXQtY29sb3IoJGNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0KSwgbWF0LWNvbG9yKCRjb2xvcikpO1xufVxuXG5AbWl4aW4gbWF0LWNoaXBzLWNvbG9yKCRmb3JlZ3JvdW5kLCAkYmFja2dyb3VuZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRmb3JlZ3JvdW5kO1xuXG4gIC5tYXQtY2hpcC1yZW1vdmUge1xuICAgIGNvbG9yOiAkZm9yZWdyb3VuZDtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gIH1cblxuICAubWF0LWNoaXAtcmVtb3ZlOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjU0O1xuICB9XG59XG5cbkBtaXhpbiBtYXQtY2hpcHMtdGhlbWUoJHRoZW1lKSB7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCR0aGVtZSwgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCR0aGVtZSwgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJHRoZW1lLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkdGhlbWUsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkdGhlbWUsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkdGhlbWUsIGZvcmVncm91bmQpO1xuXG4gICR1bnNlbGVjdGVkLWJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgdW5zZWxlY3RlZC1jaGlwKTtcbiAgJHVuc2VsZWN0ZWQtZm9yZWdyb3VuZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuXG4gIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcCB7XG4gICAgQGluY2x1ZGUgbWF0LWNoaXBzLWNvbG9yKCR1bnNlbGVjdGVkLWZvcmVncm91bmQsICR1bnNlbGVjdGVkLWJhY2tncm91bmQpO1xuICB9XG5cbiAgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkIHtcblxuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgbWF0LWNoaXBzLXRoZW1lLWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jaGlwcy10aGVtZS1jb2xvcigkd2Fybik7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jaGlwcy10aGVtZS1jb2xvcigkYWNjZW50KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1jaGlwcy10eXBvZ3JhcGh5KCRjb25maWcpIHtcbiAgLm1hdC1jaGlwIHtcbiAgICBmb250LXNpemU6ICRtYXQtY2hpcC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRtYXQtY2hpcC1saW5lLWhlaWdodDtcblxuICAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uLFxuICAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb24ge1xuICAgICAgZm9udC1zaXplOiAkbWF0LWNoaXAtcmVtb3ZlLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LXRhYmxlLXRoZW1lKCR0aGVtZSkge1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkdGhlbWUsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkdGhlbWUsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtdGFibGUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtdGFibGUgdGhlYWQsIC5tYXQtdGFibGUgdGJvZHksIC5tYXQtdGFibGUgdGZvb3QsXG4gIG1hdC1oZWFkZXItcm93LCBtYXQtcm93LCBtYXQtZm9vdGVyLXJvdyxcbiAgW21hdC1oZWFkZXItcm93XSwgW21hdC1yb3ddLCBbbWF0LWZvb3Rlci1yb3ddLFxuICAubWF0LXRhYmxlLXN0aWNreSB7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgfVxuXG4gIG1hdC1yb3csIG1hdC1oZWFkZXItcm93LCBtYXQtZm9vdGVyLXJvdyxcbiAgdGgubWF0LWhlYWRlci1jZWxsLCB0ZC5tYXQtY2VsbCwgdGQubWF0LWZvb3Rlci1jZWxsIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jZWxsLCAubWF0LWZvb3Rlci1jZWxsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRhYmxlLXR5cG9ncmFwaHkoJGNvbmZpZykge1xuICAubWF0LXRhYmxlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxuXG4gIC5tYXQtY2VsbCwgLm1hdC1mb290ZXItY2VsbCB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuXG5cblxuXG5cbiRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC10b2RheS1ib3gtc2hhZG93LXdpZHRoOiAxcHg7XG4kbWF0LWRhdGVwaWNrZXItc2VsZWN0ZWQtZmFkZS1hbW91bnQ6IDAuNjtcbiRtYXQtZGF0ZXBpY2tlci10b2RheS1mYWRlLWFtb3VudDogMC4yO1xuJG1hdC1jYWxlbmRhci1ib2R5LWZvbnQtc2l6ZTogMTNweCAhZGVmYXVsdDtcbiRtYXQtY2FsZW5kYXItd2Vla2RheS10YWJsZS1mb250LXNpemU6IDExcHggIWRlZmF1bHQ7XG5cbkBtaXhpbiBfbWF0LWRhdGVwaWNrZXItY29sb3IoJHBhbGV0dGUpIHtcbiAgLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkID4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlLW91dChtYXQtY29sb3IoJHBhbGV0dGUpLCAkbWF0LWRhdGVwaWNrZXItc2VsZWN0ZWQtZmFkZS1hbW91bnQpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAkbWF0LWRhdGVwaWNrZXItc2VsZWN0ZWQtdG9kYXktYm94LXNoYWRvdy13aWR0aFxuICAgICAgICAgICAgICAgIG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1kYXRlcGlja2VyLXRoZW1lKCR0aGVtZSkge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkdGhlbWUsIGZvcmVncm91bmQpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkdGhlbWUsIGJhY2tncm91bmQpO1xuXG4gIC5tYXQtY2FsZW5kYXItYXJyb3cge1xuICAgIGJvcmRlci10b3AtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaWNvbik7XG4gIH1cblxuICAvLyBUaGUgcHJldi9uZXh0IGJ1dHRvbnMgbmVlZCBhIGJpdCBtb3JlIHNwZWNpZmljaXR5IHRvXG4gIC8vIGF2b2lkIGJlaW5nIG92ZXJ3cml0dGVuIGJ5IHRoZSAubWF0LWljb24tYnV0dG9uLlxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLFxuICAubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uLFxuICAubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbiB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaWNvbik7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3ZlcixcbiAgLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmUsXG4gIC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmUge1xuICAgICYgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS10b2RheTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKSB7XG4gICAgLy8gTm90ZTogdGhvdWdoIGl0J3Mgbm90IHRleHQsIHRoZSBib3JkZXIgaXMgYSBoaW50IGFib3V0IHRoZSBmYWN0IHRoYXQgdGhpcyBpcyB0b2RheSdzIGRhdGUsXG4gICAgLy8gc28gd2UgdXNlIHRoZSBoaW50IGNvbG9yLlxuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkID4gLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpIHtcbiAgICBib3JkZXItY29sb3I6IGZhZGUtb3V0KG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KSwgJG1hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50KTtcbiAgfVxuXG4gIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci1jb2xvcihtYXAtZ2V0KCR0aGVtZSwgcHJpbWFyeSkpO1xuXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci1jb2xvcihtYXAtZ2V0KCR0aGVtZSwgYWNjZW50KSk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItY29sb3IobWFwLWdldCgkdGhlbWUsIHdhcm4pKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCR0aGVtZSwgcHJpbWFyeSkpO1xuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IobWFwLWdldCgkdGhlbWUsIGFjY2VudCkpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCR0aGVtZSwgd2FybikpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRhdGVwaWNrZXItdHlwb2dyYXBoeSgkY29uZmlnKSB7XG4gIC5tYXQtY2FsZW5kYXIge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHkge1xuICAgIGZvbnQtc2l6ZTogJG1hdC1jYWxlbmRhci1ib2R5LWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1sYWJlbCxcbiAgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJ1dHRvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHRoIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiAkbWF0LWNhbGVuZGFyLXdlZWtkYXktdGFibGUtZm9udC1zaXplO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0xKTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtZGlhbG9nLXRoZW1lKCR0aGVtZSkge1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkdGhlbWUsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkdGhlbWUsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaWFsb2cpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGlhbG9nLXR5cG9ncmFwaHkoJGNvbmZpZykge1xuICAubWF0LWRpYWxvZy10aXRsZSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHRpdGxlKTtcbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtZXhwYW5zaW9uLXBhbmVsLXRoZW1lKCR0aGVtZSkge1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkdGhlbWUsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkdGhlbWUsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1hY3Rpb24tcm93IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWw6bm90KC5tYXQtZXhwYW5kZWQpIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgJjpub3QoW2FyaWEtZGlzYWJsZWQ9J3RydWUnXSkge1xuICAgICAgJi5jZGsta2V5Ym9hcmQtZm9jdXNlZCxcbiAgICAgICYuY2RrLXByb2dyYW0tZm9jdXNlZCxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlIHRoZSBob3ZlciBvbiB0b3VjaCBkZXZpY2VzIHNpbmNlIGl0IGNhbiBhcHBlYXIgbGlrZSBpdCBpcyBzdHVjay4gV2UgY2FuJ3QgdXNlXG4gIC8vIGBAbWVkaWEgKGhvdmVyKWAgYWJvdmUsIGJlY2F1c2UgdGhlIGRlc2t0b3Agc3VwcG9ydCBicm93c2VyIHN1cHBvcnQgaXNuJ3QgZ3JlYXQuXG4gIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCk6bm90KFthcmlhLWRpc2FibGVkPSd0cnVlJ10pXG4gICAgICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uLFxuICAubWF0LWV4cGFuc2lvbi1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24pO1xuXG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxlLFxuICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtdHlwb2dyYXBoeSgkY29uZmlnKSB7XG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIHN1YmhlYWRpbmctMSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuXG5cblxuLy8gVGhpcyBtaXhpbiB3aWxsIGVuc3VyZSB0aGF0IGxpbmVzIHRoYXQgb3ZlcmZsb3cgdGhlIGNvbnRhaW5lciB3aWxsIGhpZGUgdGhlIG92ZXJmbG93IGFuZFxuLy8gdHJ1bmNhdGUgbmVhdGx5IHdpdGggYW4gZWxsaXBzaXMuXG5AbWl4aW4gbWF0LXRydW5jYXRlLWxpbmUoKSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vLyBNaXhpbiB0byBwcm92aWRlIGFsbCBtYXQtbGluZSBzdHlsZXMsIGNoYW5naW5nIHNlY29uZGFyeSBmb250IHNpemUgYmFzZWQgb24gd2hldGhlciB0aGUgbGlzdFxuLy8gaXMgaW4gZGVuc2UgbW9kZS5cbkBtaXhpbiBtYXQtbGluZS1iYXNlKCRzZWNvbmRhcnktZm9udC1zaXplKSB7XG4gIC5tYXQtbGluZSB7XG4gICAgQGluY2x1ZGUgbWF0LXRydW5jYXRlLWxpbmUoKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLy8gYWxsIGxpbmVzIGJ1dCB0aGUgdG9wIGxpbmUgc2hvdWxkIGhhdmUgc21hbGxlciB0ZXh0XG4gICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICBmb250LXNpemU6ICRzZWNvbmRhcnktZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIG1peGluIG5vcm1hbGl6ZXMgZGVmYXVsdCBlbGVtZW50IHN0eWxlcywgZS5nLiBmb250IHdlaWdodCBmb3IgaGVhZGluZyB0ZXh0LlxuQG1peGluIG1hdC1ub3JtYWxpemUtdGV4dCgpIHtcbiAgJiA+ICoge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFRoaXMgbWl4aW4gcHJvdmlkZXMgYmFzZSBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIGFyb3VuZCBtYXQtbGluZSBlbGVtZW50cyBpbiBhIGxpc3QuXG5AbWl4aW4gbWF0LWxpbmUtd3JhcHBlci1iYXNlKCkge1xuICBAaW5jbHVkZSBtYXQtbm9ybWFsaXplLXRleHQoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBNdXN0IHJlbW92ZSB3cmFwcGVyIHdoZW4gbGluZXMgYXJlIGVtcHR5IG9yIGl0IHRha2VzIHVwIGhvcml6b250YWxcbiAgLy8gc3BhY2UgYW5kIHB1c2hlcyBvdGhlciBlbGVtZW50cyB0byB0aGUgcmlnaHQuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG5cbi8vIEluY2x1ZGUgdGhpcyBlbXB0eSBtaXhpbiBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgb3RoZXIgY29tcG9uZW50cy5cbkBtaXhpbiBtYXQtZ3JpZC1saXN0LXRoZW1lKCR0aGVtZSkgeyB9XG5cbkBtaXhpbiBtYXQtZ3JpZC1saXN0LXR5cG9ncmFwaHkoJGNvbmZpZykge1xuICAubWF0LWdyaWQtdGlsZS1oZWFkZXIsXG4gIC5tYXQtZ3JpZC10aWxlLWZvb3RlciB7XG4gICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pKTtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5cblxuXG4vLyBJbmNsdWRlIHRoaXMgZW1wdHkgbWl4aW4gZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIG90aGVyIGNvbXBvbmVudHMuXG5AbWl4aW4gbWF0LWljb24tdGhlbWUoJHRoZW1lKSB7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCR0aGVtZSwgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJHRoZW1lLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkdGhlbWUsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkdGhlbWUsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkdGhlbWUsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtaWNvbiB7XG4gICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWljb24tdHlwb2dyYXBoeSgkY29uZmlnKSB7IH1cblxuXG5cblxuXG4vLyBSZW5kZXJzIGEgZ3JhZGllbnQgZm9yIHNob3dpbmcgdGhlIGRhc2hlZCBsaW5lIHdoZW4gdGhlIGlucHV0IGlzIGRpc2FibGVkLlxuLy8gVW5saWtlIHVzaW5nIGEgYm9yZGVyLCBhIGdyYWRpZW50IGFsbG93cyB1cyB0byBhZGp1c3QgdGhlIHNwYWNpbmcgb2YgdGhlIGRvdHRlZCBsaW5lXG4vLyB0byBtYXRjaCB0aGUgTWF0ZXJpYWwgRGVzaWduIHNwZWMuXG5AbWl4aW4gbWF0LWNvbnRyb2wtZGlzYWJsZWQtdW5kZXJsaW5lKCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjb2xvciAwJSwgJGNvbG9yIDMzJSwgdHJhbnNwYXJlbnQgMCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDRweCAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIEZpZ3VyZXMgb3V0IHRoZSBjb2xvciBvZiB0aGUgcGxhY2Vob2xkZXIgZm9yIGEgZm9ybSBjb250cm9sLlxuLy8gVXNlZCBwcmltYXJpbHkgdG8gcHJldmVudCB0aGUgdmFyaW91cyBmb3JtIGNvbnRyb2xzIGZyb21cbi8vIGJlY29taW5nIG91dCBvZiBzeW5jIHNpbmNlIHRoZXNlIGNvbG9ycyBhcmVuJ3QgaW4gYSBwYWxldHRlLlxuQGZ1bmN0aW9uIF9tYXQtY29udHJvbC1wbGFjZWhvbGRlci1jb2xvcigkdGhlbWUpIHtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJHRoZW1lLCBpcy1kYXJrKTtcbiAgQHJldHVybiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0LCBpZigkaXMtZGFyay10aGVtZSwgMC41LCAwLjQyKSk7XG59XG5cblxuLyogc3R5bGVsaW50LWRpc2FibGUgbWF0ZXJpYWwvbm8tcHJlZml4ZXMgKi9cbkBtaXhpbiB1c2VyLXNlbGVjdCgkdmFsdWUpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHZhbHVlO1xuICAtbW96LXVzZXItc2VsZWN0OiAkdmFsdWU7XG4gIC1tcy11c2VyLXNlbGVjdDogJHZhbHVlO1xuICB1c2VyLXNlbGVjdDogJHZhbHVlO1xufVxuXG5AbWl4aW4gaW5wdXQtcGxhY2Vob2xkZXIge1xuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBjdXJzb3ItZ3JhYiB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbkBtaXhpbiBjdXJzb3ItZ3JhYmJpbmcge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2YWx1ZSkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2YWx1ZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZhbHVlO1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG5cblxuQG1peGluIG1hdC1pbnB1dC10aGVtZSgkdGhlbWUpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1pbnB1dC1lbGVtZW50OmRpc2FibGVkIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgY2FyZXQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG5cbiAgICBAaW5jbHVkZSBpbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogX21hdC1jb250cm9sLXBsYWNlaG9sZGVyLWNvbG9yKCR0aGVtZSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1hY2NlbnQgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICB9XG5cbiAgLm1hdC13YXJuIC5tYXQtaW5wdXQtZWxlbWVudCxcbiAgLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWlucHV0LXR5cG9ncmFwaHkoJGNvbmZpZykge1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG5cbiAgLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIHRoZSB0b3Agb2YgdGhlIGxpbmUgYW5kIHRoZSB0b3Agb2YgdGhlIGFjdHVhbCB0ZXh0XG4gIC8vIChhcyBhIGZyYWN0aW9uIG9mIHRoZSBmb250LXNpemUpLlxuICAkbGluZS1zcGFjaW5nOiAoJGxpbmUtaGVpZ2h0IC0gMSkgLyAyO1xuXG4gIC8vIDxpbnB1dD4gZWxlbWVudHMgc2VlbSB0byBoYXZlIHRoZWlyIGhlaWdodCBzZXQgc2xpZ2h0bHkgdG9vIGxhcmdlIG9uIFNhZmFyaSBjYXVzaW5nIHRoZSB0ZXh0IHRvXG4gIC8vIGJlIG1pc2FsaWduZWQgdy5yLnQuIHRoZSBwbGFjZWhvbGRlci4gQWRkaW5nIHRoaXMgbWFyZ2luIGNvcnJlY3RzIGl0LlxuICBpbnB1dC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgbWFyZ2luLXRvcDogLSRsaW5lLXNwYWNpbmcgKiAxZW07XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1saXN0LXRoZW1lKCR0aGVtZSkge1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkdGhlbWUsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkdGhlbWUsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtbGlzdCwgLm1hdC1uYXYtbGlzdCwgLm1hdC1zZWxlY3Rpb24tbGlzdCB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN1YmhlYWRlciB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1saXN0LWl0ZW0tZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlzYWJsZWQtbGlzdC1vcHRpb24pO1xuICB9XG5cbiAgLm1hdC1saXN0LW9wdGlvbixcbiAgLm1hdC1uYXYtbGlzdCAubWF0LWxpc3QtaXRlbSB7XG4gICAgJjpob3ZlciwgJi5tYXQtbGlzdC1pdGVtLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2hvdmVyJyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtbGlzdC10eXBvZ3JhcGh5KCRjb25maWcpIHtcbiAgJGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG5cbiAgLm1hdC1saXN0LWl0ZW0ge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIH1cblxuICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBsaXN0XG4gIC5tYXQtbGlzdCwgLm1hdC1uYXYtbGlzdCwgLm1hdC1zZWxlY3Rpb24tbGlzdCB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKSk7XG4gICAgfVxuXG4gICAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpKTtcbiAgICB9XG5cbiAgICAubWF0LXN1YmhlYWRlciB7XG4gICAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJvZHktMik7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9XG4gIH1cblxuICAvLyBEZW5zZSBsaXN0XG4gIC5tYXQtbGlzdFtkZW5zZV0sIC5tYXQtbmF2LWxpc3RbZGVuc2VdLCAubWF0LXNlbGVjdGlvbi1saXN0W2RlbnNlXSB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pKTtcbiAgICB9XG5cbiAgICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKSk7XG4gICAgfVxuXG4gICAgLm1hdC1zdWJoZWFkZXIge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtbWVudS10aGVtZSgkdGhlbWUpIHtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LW1lbnUtcGFuZWwge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtbWVudS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAndGV4dCcpO1xuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgJiwgJjo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnZGlzYWJsZWQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LW1lbnUtaXRlbSAubWF0LWljb246bm90KFtjb2xvcl0pLFxuICAubWF0LW1lbnUtaXRlbS1zdWJtZW51LXRyaWdnZXI6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnaWNvbicpO1xuICB9XG5cbiAgLm1hdC1tZW51LWl0ZW06aG92ZXIsXG4gIC5tYXQtbWVudS1pdGVtLmNkay1wcm9ncmFtLWZvY3VzZWQsXG4gIC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAubWF0LW1lbnUtaXRlbS1oaWdobGlnaHRlZCB7XG4gICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnaG92ZXInKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1tZW51LXR5cG9ncmFwaHkoJGNvbmZpZykge1xuICAubWF0LW1lbnUtaXRlbSB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LXBhZ2luYXRvci10aGVtZSgkdGhlbWUpIHtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBiYWNrZ3JvdW5kKTtcblxuICAubWF0LXBhZ2luYXRvciB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnY2FyZCcpO1xuICB9XG5cbiAgLm1hdC1wYWdpbmF0b3IsXG4gIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LXBhZ2luYXRvci1kZWNyZW1lbnQsXG4gIC5tYXQtcGFnaW5hdG9yLWluY3JlbWVudCB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2ljb24nKTtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBtYXQtY29sb3IoJGZvcmVncm91bmQsICdpY29uJyk7XG4gIH1cblxuICAubWF0LXBhZ2luYXRvci1maXJzdCxcbiAgLm1hdC1wYWdpbmF0b3ItbGFzdCB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2ljb24nKTtcbiAgfVxuXG4gIC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAubWF0LXBhZ2luYXRvci1kZWNyZW1lbnQsXG4gICAgLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50LFxuICAgIC5tYXQtcGFnaW5hdG9yLWZpcnN0LFxuICAgIC5tYXQtcGFnaW5hdG9yLWxhc3Qge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsICdkaXNhYmxlZCcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXBhZ2luYXRvci10eXBvZ3JhcGh5KCRjb25maWcpIHtcbiAgLm1hdC1wYWdpbmF0b3IsXG4gIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuQG1peGluIG1hdC1wcm9ncmVzcy1iYXItdGhlbWUoJHRoZW1lKSB7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCR0aGVtZSwgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJHRoZW1lLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkdGhlbWUsIHdhcm4pO1xuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICAgIGZpbGw6IG1hdC1jb2xvcigkcHJpbWFyeSwgbGlnaHRlcik7XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci1idWZmZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgbGlnaHRlcik7XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC1hY2NlbnQge1xuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICAgICAgZmlsbDogbWF0LWNvbG9yKCRhY2NlbnQsIGxpZ2h0ZXIpO1xuICAgIH1cblxuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC13YXJuIHtcbiAgICAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5kIHtcbiAgICAgIGZpbGw6IG1hdC1jb2xvcigkd2FybiwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2FybiwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wcm9ncmVzcy1iYXItdHlwb2dyYXBoeSgkY29uZmlnKSB7IH1cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10aGVtZSgkdGhlbWUpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG5cbiAgLm1hdC1wcm9ncmVzcy1zcGlubmVyLCAubWF0LXNwaW5uZXIge1xuICAgIGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10eXBvZ3JhcGh5KCRjb25maWcpIHsgfVxuXG5cblxuXG5cbkBtaXhpbiBfbWF0LXJhZGlvLWNvbG9yKCRwYWxldHRlKSB7XG4gICYubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgfVxuXG4gIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuICB9XG5cbiAgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAwLjI2KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXJhZGlvLXRoZW1lKCR0aGVtZSkge1xuICAkcHJpbWFyeTogbWFwLWdldCgkdGhlbWUsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCR0aGVtZSwgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJHRoZW1lLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtcmFkaW8tYnV0dG9uIHtcbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcmFkaW8tY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXJhZGlvLWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1yYWRpby1jb2xvcigkd2Fybik7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBuZWVkcyBleHRyYSBzcGVjaWZpY2l0eSwgYmVjYXVzZSB0aGUgY2xhc3NlcyBhYm92ZSBhcmUgY29tYmluZWRcbiAgICAvLyAoZS5nLiBgLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudGApIHdoaWNoIGluY3JlYXNlcyB0aGVpciBzcGVjaWZpY2l0eSBhIGxvdC5cbiAgICAvLyBUT0RPOiBjb25zaWRlciBtYWtpbmcgdGhlIHNlbGVjdG9ycyBpbnRvIGRlc2NlbmRhbnRzIChgLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8tYnV0dG9uYCkuXG4gICAgJi5tYXQtcmFkaW8tZGlzYWJsZWQge1xuICAgICAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICAgIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudCxcbiAgICAgIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZCk7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudCB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1yYWRpby10eXBvZ3JhcGh5KCRjb25maWcpIHtcbiAgLm1hdC1yYWRpby1idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1zZWxlY3QtdGhlbWUoJHRoZW1lKSB7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCR0aGVtZSwgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJHRoZW1lLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkdGhlbWUsIHdhcm4pO1xuXG4gIC5tYXQtc2VsZWN0LWNvbnRlbnQsIC5tYXQtc2VsZWN0LXBhbmVsLWRvbmUtYW5pbWF0aW5nIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICB9XG5cbiAgLm1hdC1zZWxlY3QtdmFsdWUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1zZWxlY3QtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBfbWF0LWNvbnRyb2wtcGxhY2Vob2xkZXItY29sb3IoJHRoZW1lKTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LXZhbHVlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LXNlbGVjdC1wYW5lbCB7XG4gICAgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSkge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3ZlciwgMC4xMik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkIHtcbiAgICAmLm1hdC1mb2N1c2VkIHtcbiAgICAgICYubWF0LXByaW1hcnkgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgICAgIH1cblxuICAgICAgJi5tYXQtYWNjZW50IC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICAgIH1cblxuICAgICAgJi5tYXQtd2FybiAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtc2VsZWN0Lm1hdC1zZWxlY3QtaW52YWxpZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG5cbiAgICAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNlbGVjdC10eXBvZ3JhcGh5KCRjb25maWcpIHtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuXG4gIC5tYXQtc2VsZWN0IHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1zZWxlY3QtdHJpZ2dlciB7XG4gICAgaGVpZ2h0OiAkbGluZS1oZWlnaHQgKiAxZW07XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LXNpZGVuYXYtdGhlbWUoJHRoZW1lKSB7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCR0aGVtZSwgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJHRoZW1lLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkdGhlbWUsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkdGhlbWUsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkdGhlbWUsIGZvcmVncm91bmQpO1xuXG4gIC8vIFdlIHVzZSBpbnZlcnQoKSBoZXJlIHRvIGhhdmUgdGhlIGRhcmtlbiB0aGUgYmFja2dyb3VuZCBjb2xvciBleHBlY3RlZCB0byBiZSB1c2VkLiBJZiB0aGVcbiAgLy8gYmFja2dyb3VuZCBpcyBsaWdodCwgd2UgdXNlIGEgZGFyayBiYWNrZHJvcC4gSWYgdGhlIGJhY2tncm91bmQgaXMgZGFyayxcbiAgLy8gd2UgdXNlIGEgbGlnaHQgYmFja2Ryb3AuXG4gICRkcmF3ZXItYmFja2Ryb3AtY29sb3I6IGludmVydChtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQsIDAuNikpICFkZWZhdWx0O1xuICAkZHJhd2VyLWJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKSAhZGVmYXVsdDtcbiAgJGRyYXdlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcjogIG1hdC1jb2xvcigkYmFja2dyb3VuZCwgYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG4gICRkcmF3ZXItcHVzaC1iYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGRpYWxvZykgIWRlZmF1bHQ7XG5cbiAgLm1hdC1kcmF3ZXItY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJhd2VyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1kcmF3ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcmF3ZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICYubWF0LWRyYXdlci1wdXNoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcmF3ZXItcHVzaC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZHJhd2VyLWJhY2tkcm9wLm1hdC1kcmF3ZXItc2hvd24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcmF3ZXItYmFja2Ryb3AtY29sb3I7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zaWRlbmF2LXR5cG9ncmFwaHkoJGNvbmZpZykgeyB9XG5cblxuXG5cblxuQG1peGluIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSkge1xuICAvLyBEbyBub3QgYXBwbHkgdGhlIGNoZWNrZWQgY29sb3JzIGlmIHRoZSB0b2dnbGUgaXMgZGlzYWJsZWQsIGJlY2F1c2UgdGhlXG4gIC8vIHNwZWNpZmljaXR5IHdvdWxkIGJlIHRvIGhpZ2ggZm9yIHRoZSBkaXNhYmxlZCBzdHlsZXMuXG4gICYubWF0LWNoZWNrZWQ6bm90KC5tYXQtZGlzYWJsZWQpIHtcbiAgICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgfVxuXG4gICAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgJHRodW1iLWNoZWNrZWQtaHVlLCAwLjUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBcHBsaWVzIHRoZSBzcGVjaWZpZWQgY29sb3JzIHRvIHRoZSBzbGlkZS10b2dnbGUgcmlwcGxlIGVsZW1lbnRzLlxuQG1peGluIF9tYXQtc2xpZGUtdG9nZ2xlLXJpcHBsZSgkcGFsZXR0ZSwgJHJpcHBsZS11bmNoZWNrZWQtY29sb3IsICRyaXBwbGUtY2hlY2tlZC1jb2xvcikge1xuICAmOm5vdCgubWF0LWNoZWNrZWQpIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyaXBwbGUtdW5jaGVja2VkLWNvbG9yO1xuICB9XG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyaXBwbGUtY2hlY2tlZC1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS10aGVtZSgkdGhlbWUpIHtcbiAgJGlzLWRhcms6IG1hcF9nZXQoJHRoZW1lLCBpcy1kYXJrKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG5cbiAgLy8gQ29sb3IgaHVlcyBiYXNlZCBvbiB0aGUgc3BlY3MsIHdoaWNoIHByZXNjcmliZSBkaWZmZXJlbnQgaHVlcyBmb3IgZGFyayBhbmQgbGlnaHQgdGhlbWVzXG4gIC8vIGh0dHBzOi8vbWF0ZXJpYWwuZ29vZ2xlLmNvbS9jb21wb25lbnRzL3NlbGVjdGlvbi1jb250cm9scy5odG1sI3NlbGVjdGlvbi1jb250cm9scy1zd2l0Y2hcbiAgJHRodW1iLW5vcm1hbC1odWU6IGlmKCRpcy1kYXJrLCA0MDAsIDUwKTtcbiAgJHRodW1iLWNoZWNrZWQtaHVlOiBpZigkaXMtZGFyaywgMjAwLCA1MDApO1xuICAkdGh1bWItZGlzYWJsZWQtaHVlOiBpZigkaXMtZGFyaywgODAwLCA0MDApO1xuXG4gICRiYXItbm9ybWFsLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgJGJhci1kaXNhYmxlZC1jb2xvcjogaWYoJGlzLWRhcmssIHJnYmEod2hpdGUsIDAuMTIpLCByZ2JhKGJsYWNrLCAwLjEpKTtcblxuICAvLyBSaXBwbGUgY29sb3JzIGFyZSBiYXNlZCBvbiB0aGUgY3VycmVudCBwYWxldHRlIGFuZCB0aGUgc3RhdGUgb2YgdGhlIHNsaWRlLXRvZ2dsZS5cbiAgLy8gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuZ29vZ2xlLmNvbS9jb21wb25lbnRzL3NlbGVjdGlvbi1jb250cm9scy5odG1sI3NlbGVjdGlvbi1jb250cm9scy1zd2l0Y2hcbiAgJHJpcHBsZS1jaGVja2VkLW9wYWNpdHk6IDAuMTI7XG4gICRyaXBwbGUtdW5jaGVja2VkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGJhc2UsIGlmKCRpcy1kYXJrLCAwLjEyLCAwLjA2KSk7XG4gICRyaXBwbGUtcHJpbWFyeS1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCAkdGh1bWItY2hlY2tlZC1odWUsICRyaXBwbGUtY2hlY2tlZC1vcGFjaXR5KTtcbiAgJHJpcHBsZS1hY2NlbnQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCAkdGh1bWItY2hlY2tlZC1odWUsICRyaXBwbGUtY2hlY2tlZC1vcGFjaXR5KTtcbiAgJHJpcHBsZS13YXJuLWNvbG9yOiBtYXQtY29sb3IoJHdhcm4sICR0aHVtYi1jaGVja2VkLWh1ZSwgJHJpcHBsZS1jaGVja2VkLW9wYWNpdHkpO1xuXG4gIC5tYXQtc2xpZGUtdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlLXRvZ2dsZS1jaGVja2VkKCRhY2NlbnQsICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgQGluY2x1ZGUgX21hdC1zbGlkZS10b2dnbGUtcmlwcGxlKCRhY2NlbnQsICRyaXBwbGUtdW5jaGVja2VkLWNvbG9yLCAkcmlwcGxlLWFjY2VudC1jb2xvcik7XG5cbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJHByaW1hcnksICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlLXRvZ2dsZS1yaXBwbGUoJGFjY2VudCwgJHJpcHBsZS11bmNoZWNrZWQtY29sb3IsICRyaXBwbGUtcHJpbWFyeS1jb2xvcik7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlLXRvZ2dsZS1jaGVja2VkKCR3YXJuLCAkdGh1bWItY2hlY2tlZC1odWUpO1xuICAgICAgQGluY2x1ZGUgX21hdC1zbGlkZS10b2dnbGUtcmlwcGxlKCRhY2NlbnQsICRyaXBwbGUtdW5jaGVja2VkLWNvbG9yLCAkcmlwcGxlLXdhcm4tY29sb3IpO1xuICAgIH1cblxuICB9XG5cbiAgLm1hdC1kaXNhYmxlZCB7XG4gICAgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICAgICAgLy8gVGhlIHRodW1iIG9mIHRoZSBzbGlkZS10b2dnbGUgYWx3YXlzIHVzZXMgdGhlIGh1ZSA0MDAgb2YgdGhlIGdyZXkgcGFsZXR0ZSBpbiBkYXJrXG4gICAgICAvLyBvciBsaWdodCB0aGVtZXMuIFNpbmNlIHRoaXMgaXMgdmVyeSBzcGVjaWZpYyB0byB0aGUgc2xpZGUtdG9nZ2xlIGNvbXBvbmVudCwgd2UncmUgbm90XG4gICAgICAvLyBwcm92aWRpbmcgaXQgaW4gdGhlIGJhY2tncm91bmQgcGFsZXR0ZS5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkbWF0LWdyZXksICR0aHVtYi1kaXNhYmxlZC1odWUpO1xuICAgIH1cbiAgICAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhci1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRtYXQtZ3JleSwgJHRodW1iLW5vcm1hbC1odWUpO1xuICB9XG5cbiAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFyLW5vcm1hbC1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWcpIHtcbiAgLm1hdC1zbGlkZS10b2dnbGUtY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gX21hdC1zbGlkZXItaW5uZXItY29udGVudC10aGVtZSgkcGFsZXR0ZSkge1xuICAubWF0LXNsaWRlci10cmFjay1maWxsLFxuICAubWF0LXNsaWRlci10aHVtYixcbiAgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG4gIH1cblxuICAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlci10aGVtZSgkdGhlbWUpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG5cbiAgJG1hdC1zbGlkZXItb2ZmLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1vZmYpO1xuICAkbWF0LXNsaWRlci1vZmYtZm9jdXNlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzbGlkZXItb2ZmLWFjdGl2ZSk7XG4gICRtYXQtc2xpZGVyLWRpc2FibGVkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1vZmYpO1xuICAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzbGlkZXItbWluKTtcbiAgJG1hdC1zbGlkZXItbGFiZWxlZC1taW4tdmFsdWUtdGh1bWItbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZik7XG4gICRtYXQtc2xpZGVyLWZvY3VzLXJpbmctY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCBkZWZhdWx0LCAwLjIpO1xuICAkbWF0LXNsaWRlci1mb2N1cy1yaW5nLW1pbi12YWx1ZS1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlLCAwLjEyKTtcbiAgJG1hdC1zbGlkZXItdGljay1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlLCAwLjcpO1xuICAkbWF0LXNsaWRlci10aWNrLXNpemU6IDJweDtcblxuICAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1vZmYtY29sb3I7XG4gIH1cblxuICAubWF0LXByaW1hcnkge1xuICAgIEBpbmNsdWRlIF9tYXQtc2xpZGVyLWlubmVyLWNvbnRlbnQtdGhlbWUoJHByaW1hcnkpO1xuICB9XG5cbiAgLm1hdC1hY2NlbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtc2xpZGVyLWlubmVyLWNvbnRlbnQtdGhlbWUoJGFjY2VudCk7XG4gIH1cblxuICAubWF0LXdhcm4ge1xuICAgIEBpbmNsdWRlIF9tYXQtc2xpZGVyLWlubmVyLWNvbnRlbnQtdGhlbWUoJHdhcm4pO1xuICB9XG5cbiAgLm1hdC1zbGlkZXItZm9jdXMtcmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItZm9jdXMtcmluZy1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtc2xpZGVyOmhvdmVyLFxuICAuY2RrLWZvY3VzZWQge1xuICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWZvY3VzZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItZGlzYWJsZWQge1xuICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsXG4gICAgLm1hdC1zbGlkZXItdHJhY2stZmlsbCxcbiAgICAubWF0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1taW4tdmFsdWUge1xuICAgIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItZm9jdXMtcmluZy1taW4tdmFsdWUtY29sb3I7XG4gICAgfVxuXG4gICAgJi5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcge1xuICAgICAgLm1hdC1zbGlkZXItdGh1bWIsXG4gICAgICAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmNkay1mb2N1c2VkIHtcbiAgICAgICAgLm1hdC1zbGlkZXItdGh1bWIsXG4gICAgICAgIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1sYWJlbC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpIHtcbiAgICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWF0LXNsaWRlci1vZmYtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5jZGstZm9jdXNlZCB7XG4gICAgICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLW9mZi1mb2N1c2VkLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLXRpY2stY29sb3I7XG4gIH1cblxuICAubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuICAgIC8vIEZpcmVmb3ggZG9lc24ndCBkcmF3IHRoZSBncmFkaWVudCBjb3JyZWN0bHkgd2l0aCAndG8gcmlnaHQnXG4gICAgLy8gKHNlZSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE0MzE5KS5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMC4wMDAxZGVnLCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuICB9XG5cbiAgLm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc2xpZGVyLXR5cG9ncmFwaHkoJGNvbmZpZykge1xuICAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0IHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtc3RlcHBlci10aGVtZSgkdGhlbWUpIHtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBiYWNrZ3JvdW5kKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcblxuICAubWF0LXN0ZXAtaGVhZGVyIHtcbiAgICAmLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAgICYuY2RrLXByb2dyYW0tZm9jdXNlZCxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICAgIH1cblxuICAgIC5tYXQtc3RlcC1sYWJlbCxcbiAgICAubWF0LXN0ZXAtb3B0aW9uYWwge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIGRlZmF1bHQtY29udHJhc3QpO1xuICAgIH1cblxuICAgIC5tYXQtc3RlcC1pY29uLW5vdC10b3VjaGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtbGFiZWwubWF0LXN0ZXAtbGFiZWwtYWN0aXZlIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLCAubWF0LXN0ZXBwZXItdmVydGljYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG4gIH1cblxuICAubWF0LXN0ZXBwZXItdmVydGljYWwtbGluZTo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zdGVwcGVyLXR5cG9ncmFwaHkoJGNvbmZpZykge1xuICAubWF0LXN0ZXBwZXItdmVydGljYWwsIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1zdGVwLWxhYmVsIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIH07XG4gIH1cblxuICAubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWQge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMik7XG4gICAgfTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNvcnQtdGhlbWUoJHRoZW1lKSB7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1zb3J0LWhlYWRlci1hcnJvdyB7XG4gICAgLy8gQmVjYXVzZSB0aGUgYXJyb3cgaXMgbWFkZSB1cCBvZiBtdWx0aXBsZSBlbGVtZW50cyB0aGF0IGFyZSBzdGFja2VkIG9uIHRvcCBvZiBlYWNoIG90aGVyLFxuICAgIC8vIHdlIGNhbid0IHVzZSB0aGUgc2VtaS10cmFzcGFyZW50IGNvbG9yIGZyb20gdGhlIHRoZW1lIGRpcmVjdGx5LiBXZSBjb252ZXJ0IGl0IGludG8gYSBzb2xpZFxuICAgIC8vIGNvbG9yIGJ5IHRha2luZyB0aGUgb3BhY2l0eSBmcm9tIHRoZSByZ2JhIHZhbHVlIGFuZCB1c2luZyB0aGUgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZVxuICAgIC8vIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgdG8gcHV0IGludG8gZm9yZWdyb3VuZCB3aGVuIG1peGluZyB0aGUgY29sb3JzIHRvZ2V0aGVyLlxuICAgICR0YWJsZS1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gICAgJHRleHQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAgICR0ZXh0LW9wYWNpdHk6IG9wYWNpdHkoJHRleHQtY29sb3IpO1xuICAgIGNvbG9yOiBtaXgoJHRhYmxlLWJhY2tncm91bmQsIHJnYmEoJHRleHQtY29sb3IsIDEpLCAoMSAtICR0ZXh0LW9wYWNpdHkpICogMTAwJSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zb3J0LXR5cG9ncmFwaHkoJGNvbmZpZykgeyB9XG5cblxuXG5cblxuQG1peGluIG1hdC10YWJzLXRoZW1lKCR0aGVtZSkge1xuICAkcHJpbWFyeTogbWFwLWdldCgkdGhlbWUsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCR0aGVtZSwgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJHRoZW1lLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcbiAgJGhlYWRlci1ib3JkZXI6IDFweCBzb2xpZCBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuXG4gIC5tYXQtdGFiLW5hdi1iYXIsXG4gIC5tYXQtdGFiLWhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlYWRlci1ib3JkZXI7XG4gIH1cblxuICAubWF0LXRhYi1ncm91cC1pbnZlcnRlZC1oZWFkZXIge1xuICAgIC5tYXQtdGFiLW5hdi1iYXIsXG4gICAgLm1hdC10YWItaGVhZGVyIHtcbiAgICAgIGJvcmRlci10b3A6ICRoZWFkZXItYm9yZGVyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWF0LXRhYi1sYWJlbCwgLm1hdC10YWItbGluayB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmLm1hdC10YWItZGlzYWJsZWQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIGhlYWRlciBib3JkZXIgd2hlbiB0aGVyZSBpcyBhIGJhY2tncm91bmQgY29sb3JcbiAgLm1hdC10YWItZ3JvdXBbY2xhc3MqPSdtYXQtYmFja2dyb3VuZC0nXSAubWF0LXRhYi1oZWFkZXIsXG4gIC5tYXQtdGFiLW5hdi1iYXJbY2xhc3MqPSdtYXQtYmFja2dyb3VuZC0nXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICB9XG5cbiAgLm1hdC10YWItZ3JvdXAsIC5tYXQtdGFiLW5hdi1iYXIge1xuICAgICR0aGVtZS1jb2xvcnM6IChcbiAgICAgIHByaW1hcnk6ICRwcmltYXJ5LFxuICAgICAgYWNjZW50OiAkYWNjZW50LFxuICAgICAgd2FybjogJHdhcm5cbiAgICApO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAgIC8vIFNldCB0aGUgZm9yZWdyb3VuZCBjb2xvciBvZiB0aGUgdGFic1xuICAgICAgJi5tYXQtI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LXRhYi1sYWJlbC1mb2N1cygkY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWluay1iYXIoJGNvbG9yKTtcblxuICAgICAgICAvLyBPdmVycmlkZSBpbmsgYmFyIHdoZW4gYmFja2dyb3VuZCBjb2xvciBpcyB0aGUgc2FtZVxuICAgICAgICAmLm1hdC1iYWNrZ3JvdW5kLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBfbWF0LWluay1iYXIoJGNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgICAvLyBTZXQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgdGFicyBhbmQgb3ZlcnJpZGUgZm9jdXMgY29sb3JcbiAgICAgICYubWF0LWJhY2tncm91bmQtI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LXRhYi1sYWJlbC1mb2N1cygkY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBfbWF0LXRhYnMtYmFja2dyb3VuZCgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1pbmstYmFyKCRjb2xvciwgJGh1ZTogZGVmYXVsdCkge1xuICAubWF0LWluay1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkY29sb3IsICRodWUpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRhYi1sYWJlbC1mb2N1cygkdGFiLWZvY3VzLWNvbG9yKSB7XG4gIC5tYXQtdGFiLWxhYmVsLFxuICAubWF0LXRhYi1saW5rIHtcbiAgICAmLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAgICYuY2RrLXByb2dyYW0tZm9jdXNlZCB7XG4gICAgICAmOm5vdCgubWF0LXRhYi1kaXNhYmxlZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHRhYi1mb2N1cy1jb2xvciwgbGlnaHRlciwgMC4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFicy1iYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kLWNvbG9yKSB7XG4gIC8vIFNldCBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdGFiIGdyb3VwXG4gIC5tYXQtdGFiLWhlYWRlciwgLm1hdC10YWItbGlua3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvcik7XG4gIH1cblxuICAvLyBTZXQgbGFiZWxzIHRvIGNvbnRyYXN0IGFnYWluc3QgYmFja2dyb3VuZFxuICAubWF0LXRhYi1sYWJlbCwgLm1hdC10YWItbGluayB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCk7XG5cbiAgICAmLm1hdC10YWItZGlzYWJsZWQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCwgMC40KTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgcGFnaW5hdGlvbiBjaGV2cm9ucyB0byBjb250cmFzdCBiYWNrZ3JvdW5kXG4gIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24ge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24ge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjQpO1xuICB9XG5cbiAgLy8gU2V0IHJpcHBsZXMgY29sb3IgdG8gYmUgdGhlIGNvbnRyYXN0IGNvbG9yIG9mIHRoZSBuZXcgYmFja2dyb3VuZC4gT3RoZXJ3aXNlIHRoZSByaXBwbGVcbiAgLy8gY29sb3Igd2lsbCBiZSBiYXNlZCBvbiB0aGUgYXBwIGJhY2tncm91bmQgY29sb3IuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCwgMC4xMik7XG4gIH1cbn1cblxuQG1peGluIG1hdC10YWJzLXR5cG9ncmFwaHkoJGNvbmZpZykge1xuICAubWF0LXRhYi1ncm91cCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtdGFiLWxhYmVsLCAubWF0LXRhYi1saW5rIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBidXR0b24pO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBidXR0b24pO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYnV0dG9uKTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBfbWF0LXRvb2xiYXItY29sb3IoJHBhbGV0dGUpIHtcbiAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG59XG5cbkBtaXhpbiBfbWF0LXRvb2xiYXItZm9ybS1maWVsZC1vdmVycmlkZXMge1xuICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lLFxuICAubWF0LWZvcm0tZmllbGQtcmlwcGxlLFxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAubWF0LXNlbGVjdC12YWx1ZSxcbiAgLm1hdC1zZWxlY3QtYXJyb3csXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIGNhcmV0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLXRoZW1lKCR0aGVtZSkge1xuICAkcHJpbWFyeTogbWFwLWdldCgkdGhlbWUsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCR0aGVtZSwgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJHRoZW1lLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXRvb2xiYXIge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgYXBwLWJhcik7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1jb2xvcigkYWNjZW50KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1jb2xvcigkd2Fybik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWZvcm0tZmllbGQtb3ZlcnJpZGVzO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdG9vbGJhci10eXBvZ3JhcGh5KCRjb25maWcpIHtcbiAgLm1hdC10b29sYmFyLFxuICAubWF0LXRvb2xiYXIgaDEsXG4gIC5tYXQtdG9vbGJhciBoMixcbiAgLm1hdC10b29sYmFyIGgzLFxuICAubWF0LXRvb2xiYXIgaDQsXG4gIC5tYXQtdG9vbGJhciBoNSxcbiAgLm1hdC10b29sYmFyIGg2IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgdGl0bGUpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5cblxuXG5cbiRtYXQtdG9vbHRpcC10YXJnZXQtaGVpZ2h0OiAyMnB4O1xuJG1hdC10b29sdGlwLWZvbnQtc2l6ZTogMTBweDtcbiRtYXQtdG9vbHRpcC12ZXJ0aWNhbC1wYWRkaW5nOiAoJG1hdC10b29sdGlwLXRhcmdldC1oZWlnaHQgLSAkbWF0LXRvb2x0aXAtZm9udC1zaXplKSAvIDI7XG5cbiRtYXQtdG9vbHRpcC1oYW5kc2V0LXRhcmdldC1oZWlnaHQ6IDMycHg7XG4kbWF0LXRvb2x0aXAtaGFuZHNldC1mb250LXNpemU6IDE0cHg7XG4kbWF0LXRvb2x0aXAtaGFuZHNldC12ZXJ0aWNhbC1wYWRkaW5nOlxuICAgICgkbWF0LXRvb2x0aXAtaGFuZHNldC10YXJnZXQtaGVpZ2h0IC0gJG1hdC10b29sdGlwLWhhbmRzZXQtZm9udC1zaXplKSAvIDI7XG5cbkBtaXhpbiBtYXQtdG9vbHRpcC10aGVtZSgkdGhlbWUpIHtcbiAgLm1hdC10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJG1hdC1ncmV5LCA3MDAsIDAuOSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sdGlwLXR5cG9ncmFwaHkoJGNvbmZpZykge1xuICAubWF0LXRvb2x0aXAge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gICAgZm9udC1zaXplOiAkbWF0LXRvb2x0aXAtZm9udC1zaXplO1xuICAgIHBhZGRpbmctdG9wOiAkbWF0LXRvb2x0aXAtdmVydGljYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogJG1hdC10b29sdGlwLXZlcnRpY2FsLXBhZGRpbmc7XG4gIH1cblxuICAubWF0LXRvb2x0aXAtaGFuZHNldCB7XG4gICAgZm9udC1zaXplOiAkbWF0LXRvb2x0aXAtaGFuZHNldC1mb250LXNpemU7XG4gICAgcGFkZGluZy10b3A6ICRtYXQtdG9vbHRpcC1oYW5kc2V0LXZlcnRpY2FsLXBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206ICRtYXQtdG9vbHRpcC1oYW5kc2V0LXZlcnRpY2FsLXBhZGRpbmc7XG4gIH1cbn1cblxuXG5cblxuQG1peGluIG1hdC1zbmFjay1iYXItdGhlbWUoJHRoZW1lKSB7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCR0aGVtZSwgaXMtZGFyayk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJHRoZW1lLCBhY2NlbnQpO1xuXG4gIC5tYXQtc25hY2stYmFyLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogaWYoJGlzLWRhcmstdGhlbWUsIG1hcC1nZXQoJG1hdC1ncmV5LCA1MCksICMzMjMyMzIpO1xuICAgIGNvbG9yOiBpZigkaXMtZGFyay10aGVtZSwgJGRhcmstcHJpbWFyeS10ZXh0LCAkbGlnaHQtcHJpbWFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCBpbmhlcml0LCBtYXQtY29sb3IoJGFjY2VudCkpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc25hY2stYmFyLXR5cG9ncmFwaHkoJGNvbmZpZykge1xuICAubWF0LXNpbXBsZS1zbmFja2JhciB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgICB9XG4gIH1cblxuICAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogaW5oZXJpdDtcbiAgICAgIHNpemU6IGluaGVyaXQ7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vLyBUaGVtZSBzdHlsZXMgdGhhdCBvbmx5IGFwcGx5IHRvIHRoZSBmaWxsIGFwcGVhcmFuY2Ugb2YgdGhlIGZvcm0tZmllbGQuXG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1maWxsLXRoZW1lKCR0aGVtZSkge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkdGhlbWUsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkdGhlbWUsIGlzLWRhcmspO1xuXG4gICRmaWxsLWJhY2tncm91bmQ6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgaWYoJGlzLWRhcmstdGhlbWUsIDAuMSwgMC4wNCkpO1xuICAkZmlsbC1kaXNhYmxlZC1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGJhc2UsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjA1LCAwLjAyKSk7XG4gICR1bmRlcmxpbmUtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNSwgMC40MikpO1xuICAkbGFiZWwtZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpbGwtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWxsLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3I7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCB7XG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGxhYmVsLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlZCB0byBtYWtlIGluc3RhbmNlcyBvZiB0aGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nIG1peGluIG5lZ2xpZ2libHkgZGlmZmVyZW50LFxuLy8gYW5kIHByZXZlbnQgR29vZ2xlJ3MgQ1NTIE9wdGltaXplciBmcm9tIGNvbGxhcHNpbmcgdGhlIGRlY2xhcmF0aW9ucy4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBzb21lXG4vLyBvZiB0aGUgc2VsZWN0b3JzIGNvbnRhaW4gcHNldWRvLWNsYXNzZXMgbm90IHJlY29nbml6ZWQgaW4gYWxsIGJyb3dzZXJzLiBJZiBhIGJyb3dzZXIgZW5jb3VudGVyc1xuLy8gYW4gdW5rbm93biBwc2V1ZG8tY2xhc3MgaXQgd2lsbCBkaXNjYXJkIHRoZSBlbnRpcmUgcnVsZSBzZXQuXG4kbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtZmlsbC1sYWJlbC1mbG9hdGluZygkZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1maWxsLWRlZHVwZSlcbiAgICAgICAgICAgICBzY2FsZSgkZm9udC1zY2FsZSk7XG4gIHdpZHRoOiAxMDAlIC8gJGZvbnQtc2NhbGUgKyAkbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGU7XG5cbiAgJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1maWxsLXR5cG9ncmFwaHkoJGNvbmZpZykge1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG4gIC8vIFRoZSBhbW91bnQgdG8gc2NhbGUgdGhlIGZvbnQgZm9yIHRoZSBmbG9hdGluZyBsYWJlbCBhbmQgc3Vic2NyaXB0LlxuICAkc3Vic2NyaXB0LWZvbnQtc2NhbGU6IDAuNzU7XG4gIC8vIFRoZSBwYWRkaW5nIG9uIHRvcCBvZiB0aGUgaW5maXguXG4gICRpbmZpeC1wYWRkaW5nLXRvcDogMC4yNWVtO1xuICAvLyBUaGUgcGFkZGluZyBiZWxvdyB0aGUgaW5maXguXG4gICRpbmZpeC1wYWRkaW5nLWJvdHRvbTogMC43NWVtO1xuICAvLyBUaGUgbWFyZ2luIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtaW5maXggdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsLlxuICAkaW5maXgtbWFyZ2luLXRvcDogMWVtICogJGxpbmUtaGVpZ2h0ICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgYW1vdW50IHdlIG9mZnNldCB0aGUgbGFiZWwgZnJvbSB0aGUgaW5wdXQgdGV4dCBpbiB0aGUgZmlsbCBhcHBlYXJhbmNlLlxuICAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldDogLTAuNWVtO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwge1xuICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgICBwYWRkaW5nOiAkaW5maXgtcGFkZGluZy10b3AgMCAkaW5maXgtcGFkZGluZy1ib3R0b20gMDtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgdG9wOiAkaW5maXgtbWFyZ2luLXRvcCArICRpbmZpeC1wYWRkaW5nLXRvcDtcbiAgICAgIG1hcmdpbi10b3A6ICRmaWxsLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0O1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IHtcbiAgICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWZpbGwtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZy10b3AgKyAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtZmlsbC1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLXRvcCArICRmaWxsLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgbGVnYWN5IGFwcGVhcmFuY2Ugb2YgdGhlIGZvcm0tZmllbGQuXG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdGhlbWUoJHRoZW1lKSB7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCR0aGVtZSwgaXMtZGFyayk7XG5cbiAgJGxhYmVsLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgJHVuZGVybGluZS1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMC43LCAwLjQyKSk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IHtcbiAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgICB9XG5cbiAgICAubWF0LWhpbnQge1xuICAgICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3I7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jb250cm9sLWRpc2FibGVkLXVuZGVybGluZSgkdW5kZXJsaW5lLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlZCB0byBtYWtlIGluc3RhbmNlcyBvZiB0aGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nIG1peGluIG5lZ2xpZ2libHkgZGlmZmVyZW50LFxuLy8gYW5kIHByZXZlbnQgR29vZ2xlJ3MgQ1NTIE9wdGltaXplciBmcm9tIGNvbGxhcHNpbmcgdGhlIGRlY2xhcmF0aW9ucy4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBzb21lXG4vLyBvZiB0aGUgc2VsZWN0b3JzIGNvbnRhaW4gcHNldWRvLWNsYXNzZXMgbm90IHJlY29nbml6ZWQgaW4gYWxsIGJyb3dzZXJzLiBJZiBhIGJyb3dzZXIgZW5jb3VudGVyc1xuLy8gYW4gdW5rbm93biBwc2V1ZG8tY2xhc3MgaXQgd2lsbCBkaXNjYXJkIHRoZSBlbnRpcmUgcnVsZSBzZXQuXG4kbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZTogMDtcblxuLy8gQXBwbGllcyBhIGZsb2F0aW5nIGxhYmVsIGFib3ZlIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wgaXRzZWxmLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmcoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICAvLyBXZSB1c2UgcGVyc3BlY3RpdmUgdG8gZml4IHRoZSB0ZXh0IGJsdXJyaW5lc3MgYXMgZGVzY3JpYmVkIGhlcmU6XG4gIC8vIGh0dHA6Ly93d3cudXNlcmFnZW50bWFuLmNvbS9ibG9nLzIwMTQvMDUvMDQvZml4aW5nLXR5cG9ncmFwaHktaW5zaWRlLW9mLTItZC1jc3MtdHJhbnNmb3Jtcy9cbiAgLy8gVGhpcyByZXN1bHRzIGluIGEgc21hbGwgaml0dGVyIGFmdGVyIHRoZSBsYWJlbCBmbG9hdHMgb24gRmlyZWZveCwgd2hpY2ggdGhlXG4gIC8vIHRyYW5zbGF0ZVogZml4ZXMuXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZykgc2NhbGUoJGZvbnQtc2NhbGUpIHBlcnNwZWN0aXZlKDEwMHB4KVxuICB0cmFuc2xhdGVaKDAuMDAxcHggKyAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSk7XG4gIC8vIFRoZSB0cmlja3MgYWJvdmUgdXNlZCB0byBzbW9vdGggb3V0IHRoZSBhbmltYXRpb24gb24gY2hyb21lIGFuZCBmaXJlZm94IGFjdHVhbGx5IG1ha2UgdGhpbmdzXG4gIC8vIHdvcnNlIG9uIElFLCBzbyB3ZSBkb24ndCBpbmNsdWRlIHRoZW0gaW4gdGhlIElFIHZlcnNpb24uXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSlcbiAgICAgICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuXG4gIHdpZHRoOiAxMDAlIC8gJGZvbnQtc2NhbGUgKyAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZTtcblxuICAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkY29uZmlnKSB7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIHRoZSB0b3Agb2YgdGhlIGxpbmUgYW5kIHRoZSB0b3Agb2YgdGhlIGFjdHVhbCB0ZXh0XG4gIC8vIChhcyBhIGZyYWN0aW9uIG9mIHRoZSBmb250LXNpemUpLlxuICAkbGluZS1zcGFjaW5nOiAoJGxpbmUtaGVpZ2h0IC0gMSkgLyAyO1xuICAvLyBUaGUgcGFkZGluZyBvbiB0aGUgaW5maXguIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLCBidXQgc2VlbSB0byBtZWFzdXJlIGZyb20gdGhlIGVkZ2VcbiAgLy8gb2YgdGhlIHRleHQgaXRzZWxmLCBub3QgdGhlIGVkZ2Ugb2YgdGhlIGxpbmU7IHRoZXJlZm9yZSB3ZSBzdWJ0cmFjdCBvZmYgdGhlIGxpbmUgc3BhY2luZy5cbiAgJGluZml4LXBhZGRpbmc6IDAuNWVtIC0gJGxpbmUtc3BhY2luZztcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIHNwYWNlIGJldHdlZW4gdGhlIGJvdHRvbSBvZiB0aGUgLm1hdC1mb3JtLWZpZWxkLWZsZXggYXJlYSBhbmQgdGhlIHN1YnNjcmlwdCB3cmFwcGVyLlxuICAvLyBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZSwgYnV0IHRoaXMgbWFyZ2luIGlzIGFwcGxpZWQgdG8gYW4gZWxlbWVudCB3aXRoIHRoZSBzdWJzY3JpcHRcbiAgLy8gdGV4dCBmb250IHNpemUsIHNvIHdlIG5lZWQgdG8gZGl2aWRlIGJ5IHRoZSBzY2FsZSBmYWN0b3IgdG8gbWFrZSBpdCBoYWxmIG9mIHRoZSBvcmlnaW5hbCB0ZXh0XG4gIC8vIHNpemUuIFdlIGFnYWluIG5lZWQgdG8gc3VidHJhY3Qgb2ZmIHRoZSBsaW5lIHNwYWNpbmcgc2luY2UgdGhlIG1vY2tzIG1lYXN1cmUgdG8gdGhlIGVkZ2Ugb2YgdGhlXG4gIC8vIHRleHQsIG5vdCB0aGUgIGVkZ2Ugb2YgdGhlIGxpbmUuXG4gICRzdWJzY3JpcHQtbWFyZ2luLXRvcDogMC41ZW0gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGUgLSAoJGxpbmUtc3BhY2luZyAqIDIpO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IHtcbiAgICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHdyYXBwZXItcGFkZGluZy1ib3R0b207XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAgIHBhZGRpbmc6ICRpbmZpeC1wYWRkaW5nIDA7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gQGJyZWFraW5nLWNoYW5nZSA3LjAuMCB3aWxsIHJlbHkgb24gQXV0b2ZpbGxNb25pdG9yIGluc3RlYWQuXG4gICAgICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbDotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIC8vIFdlIHdhbnQgdGhlIHVuZGVybGluZSB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50LlxuICAgICAgYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogJHN1YnNjcmlwdC1tYXJnaW4tdG9wO1xuXG4gICAgICAvLyBXZSB3YW50IHRoZSBzdWJzY3JpcHQgdG8gc3RhcnQgYXQgdGhlIGVuZCBvZiB0aGUgY29udGVudCBib3gsIG5vdCB0aGUgcGFkZGluZyBib3gsXG4gICAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudCAoYWRqdXN0ZWQgZm9yIHRoZSBzbWFsbGVyIGZvbnQgc2l6ZSk7XG4gICAgICB0b3A6IGNhbGMoMTAwJSAtICN7JHdyYXBwZXItcGFkZGluZy1ib3R0b20gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGV9KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgb3V0bGluZSBhcHBlYXJhbmNlIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGVtZSgkdGhlbWUpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCR0aGVtZSwgaXMtZGFyayk7XG5cbiAgJGxhYmVsLWRpc2FibGVkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICAkb3V0bGluZS1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMC4zLCAwLjEyKSk7XG4gICRvdXRsaW5lLWNvbG9yLWhvdmVyOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAxLCAwLjg3KSk7XG4gICRvdXRsaW5lLWNvbG9yLXByaW1hcnk6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICRvdXRsaW5lLWNvbG9yLWFjY2VudDogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAkb3V0bGluZS1jb2xvci13YXJuOiBtYXQtY29sb3IoJHdhcm4pO1xuICAkb3V0bGluZS1jb2xvci1kaXNhYmxlZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMC4xNSwgMC4wNikpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUge1xuICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHtcbiAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvcjtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICBjb2xvcjogJG91dGxpbmUtY29sb3ItaG92ZXI7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9jdXNlZCB7XG4gICAgICAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1wcmltYXJ5O1xuICAgICAgfVxuXG4gICAgICAmLm1hdC1hY2NlbnQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3ItYWNjZW50O1xuICAgICAgfVxuXG4gICAgICAmLm1hdC13YXJuIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xhc3MgcmVwZWF0ZWQgc28gdGhhdCBydWxlIGlzIHNwZWNpZmljIGVub3VnaCB0byBvdmVycmlkZSBmb2N1c2VkIGFjY2VudCBjb2xvciBjYXNlLlxuICAgICYubWF0LWZvcm0tZmllbGQtaW52YWxpZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIHtcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCB7XG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGxhYmVsLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAubWF0LWZvcm0tZmllbGQtb3V0bGluZSB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlZCB0byBtYWtlIGluc3RhbmNlcyBvZiB0aGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nIG1peGluIG5lZ2xpZ2libHkgZGlmZmVyZW50LFxuLy8gYW5kIHByZXZlbnQgR29vZ2xlJ3MgQ1NTIE9wdGltaXplciBmcm9tIGNvbGxhcHNpbmcgdGhlIGRlY2xhcmF0aW9ucy4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBzb21lXG4vLyBvZiB0aGUgc2VsZWN0b3JzIGNvbnRhaW4gcHNldWRvLWNsYXNzZXMgbm90IHJlY29nbml6ZWQgaW4gYWxsIGJyb3dzZXJzLiBJZiBhIGJyb3dzZXIgZW5jb3VudGVyc1xuLy8gYW4gdW5rbm93biBwc2V1ZG8tY2xhc3MgaXQgd2lsbCBkaXNjYXJkIHRoZSBlbnRpcmUgcnVsZSBzZXQuXG4kbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtb3V0bGluZS1sYWJlbC1mbG9hdGluZygkZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZSlcbiAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICB3aWR0aDogMTAwJSAvICRmb250LXNjYWxlICsgJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlICsgMC4wMDAwMSAhZ2xvYmFsO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtb3V0bGluZS10eXBvZ3JhcGh5KCRjb25maWcpIHtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgZmxvYXRpbmcgbGFiZWwgYW5kIHN1YnNjcmlwdC5cbiAgJHN1YnNjcmlwdC1mb250LXNjYWxlOiAwLjc1O1xuICAvLyBUaGUgcGFkZGluZyBhYm92ZSBhbmQgYmVsb3cgdGhlIGluZml4LlxuICAkaW5maXgtcGFkZGluZzogMWVtO1xuICAvLyBUaGUgbWFyZ2luIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtaW5maXggdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsLlxuICAkaW5maXgtbWFyZ2luLXRvcDogMWVtICogJGxpbmUtaGVpZ2h0ICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgc3BhY2UgYmV0d2VlbiB0aGUgYm90dG9tIG9mIHRoZSAubWF0LWZvcm0tZmllbGQtZmxleCBhcmVhIGFuZCB0aGUgc3Vic2NyaXB0IHdyYXBwZXIuXG4gIC8vIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLCBidXQgdGhpcyBtYXJnaW4gaXMgYXBwbGllZCB0byBhbiBlbGVtZW50IHdpdGggdGhlIHN1YnNjcmlwdFxuICAvLyB0ZXh0IGZvbnQgc2l6ZSwgc28gd2UgbmVlZCB0byBkaXZpZGUgYnkgdGhlIHNjYWxlIGZhY3RvciB0byBtYWtlIGl0IGhhbGYgb2YgdGhlIG9yaWdpbmFsIHRleHRcbiAgLy8gc2l6ZS5cbiAgJHN1YnNjcmlwdC1tYXJnaW4tdG9wOiAwLjVlbSAvICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIHBhZGRpbmcgYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC13cmFwcGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBzdWJzY3JpcHQsIHNpbmNlIGl0J3NcbiAgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkLiBUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgdGhlIHN1YnNjcmlwdCdzIG1hcmdpbiBhbmQgbGluZS1oZWlnaHQsIGJ1dCB3ZVxuICAvLyBuZWVkIHRvIG11bHRpcGx5IGJ5IHRoZSBzdWJzY3JpcHQgZm9udCBzY2FsZSBmYWN0b3Igc2luY2UgdGhlIHdyYXBwZXIgaGFzIGEgbGFyZ2VyIGZvbnQgc2l6ZS5cbiAgJHdyYXBwZXItcGFkZGluZy1ib3R0b206ICgkc3Vic2NyaXB0LW1hcmdpbi10b3AgKyAkbGluZS1oZWlnaHQpICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgYW1vdW50IHdlIG9mZnNldCB0aGUgbGFiZWwgZnJvbSB0aGUgaW5wdXQgdGV4dCBpbiB0aGUgb3V0bGluZSBhcHBlYXJhbmNlLlxuICAkb3V0bGluZS1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldDogLTAuMjVlbTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIHtcbiAgICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgICAgcGFkZGluZzogJGluZml4LXBhZGRpbmcgMCAkaW5maXgtcGFkZGluZyAwO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICB0b3A6ICRpbmZpeC1tYXJnaW4tdG9wICsgJGluZml4LXBhZGRpbmc7XG4gICAgICBtYXJnaW4tdG9wOiAkb3V0bGluZS1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldDtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcgKyAkb3V0bGluZS1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtb3V0bGluZS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nICsgJG91dGxpbmUtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG4vLyBUaGVtZSBzdHlsZXMgdGhhdCBvbmx5IGFwcGx5IHRvIHRoZSBzdGFuZGFyZCBhcHBlYXJhbmNlIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtdGhlbWUoJHRoZW1lKSB7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCR0aGVtZSwgaXMtZGFyayk7XG5cbiAgJHVuZGVybGluZS1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMC43LCAwLjQyKSk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgQGluY2x1ZGUgbWF0LWNvbnRyb2wtZGlzYWJsZWQtdW5kZXJsaW5lKCR1bmRlcmxpbmUtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtdHlwb2dyYXBoeSgkY29uZmlnKSB7fVxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgYXBwbHkgdG8gYWxsIGFwcGVhcmFuY2VzIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtdGhlbWUoJHRoZW1lKSB7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCR0aGVtZSwgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJHRoZW1lLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkdGhlbWUsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkdGhlbWUsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkdGhlbWUsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkdGhlbWUsIGlzLWRhcmspO1xuXG4gIC8vIExhYmVsIGNvbG9ycy4gUmVxdWlyZWQgaXMgdXNlZCBmb3IgdGhlIGAqYCBzdGFyIHNob3duIGluIHRoZSBsYWJlbC5cbiAgJGxhYmVsLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0LCBpZigkaXMtZGFyay10aGVtZSwgMC43LCAwLjYpKTtcbiAgJGZvY3VzZWQtbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICRyZXF1aXJlZC1sYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuXG4gIC8vIFVuZGVybGluZSBjb2xvcnMuXG4gICR1bmRlcmxpbmUtY29sb3ItYmFzZTogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMSwgMC44NykpO1xuICAkdW5kZXJsaW5lLWNvbG9yLWFjY2VudDogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAkdW5kZXJsaW5lLWNvbG9yLXdhcm46IG1hdC1jb2xvcigkd2Fybik7XG4gICR1bmRlcmxpbmUtZm9jdXNlZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5KTtcblxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gIH1cblxuICAubWF0LWhpbnQge1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICBjb2xvcjogJGZvY3VzZWQtbGFiZWwtY29sb3I7XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3ItYWNjZW50O1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICB9XG4gIH1cblxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJlcXVpcmVkLW1hcmtlciB7XG4gICAgY29sb3I6ICRyZXF1aXJlZC1sYWJlbC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3ItYmFzZTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWZvY3VzZWQtY29sb3I7XG5cbiAgICAgICYubWF0LWFjY2VudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3ItYWNjZW50O1xuICAgICAgfVxuXG4gICAgICAmLm1hdC13YXJuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxpbmcgZm9yIHRoZSBlcnJvciBzdGF0ZSBvZiB0aGUgZm9ybSBmaWVsZC4gTm90ZSB0aGF0IHdoaWxlIHRoZSBzYW1lIGNhbiBiZVxuICAvLyBhY2hpZXZlZCB3aXRoIHRoZSBuZy0qIGNsYXNzZXMsIHdlIHVzZSB0aGlzIGFwcHJvYWNoIGluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBzYW1lXG4gIC8vIGxvZ2ljIGlzIHVzZWQgdG8gc3R5bGUgdGhlIGVycm9yIHN0YXRlIGFuZCB0byBzaG93IHRoZSBlcnJvciBtZXNzYWdlcy5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQge1xuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuXG4gICAgICAmLm1hdC1hY2NlbnQsXG4gICAgICAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyIHtcbiAgICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtcmlwcGxlLFxuICAgIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LWFjY2VudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgfVxuICB9XG5cbiAgLm1hdC1lcnJvciB7XG4gICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1maWxsLXRoZW1lKCR0aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhlbWUoJHRoZW1lKTtcbn1cblxuLy8gVXNlZCB0byBtYWtlIGluc3RhbmNlcyBvZiB0aGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nIG1peGluIG5lZ2xpZ2libHkgZGlmZmVyZW50LFxuLy8gYW5kIHByZXZlbnQgR29vZ2xlJ3MgQ1NTIE9wdGltaXplciBmcm9tIGNvbGxhcHNpbmcgdGhlIGRlY2xhcmF0aW9ucy4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBzb21lXG4vLyBvZiB0aGUgc2VsZWN0b3JzIGNvbnRhaW4gcHNldWRvLWNsYXNzZXMgbm90IHJlY29nbml6ZWQgaW4gYWxsIGJyb3dzZXJzLiBJZiBhIGJyb3dzZXIgZW5jb3VudGVyc1xuLy8gYW4gdW5rbm93biBwc2V1ZG8tY2xhc3MgaXQgd2lsbCBkaXNjYXJkIHRoZSBlbnRpcmUgcnVsZSBzZXQuXG4kbWF0LWZvcm0tZmllbGQtZGVkdXBlOiAwO1xuXG4vLyBBcHBsaWVzIGEgZmxvYXRpbmcgbGFiZWwgYWJvdmUgdGhlIGZvcm0gZmllbGQgY29udHJvbCBpdHNlbGYuXG5AbWl4aW4gX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nKCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLWRlZHVwZSlcbiAgICAgICAgICAgICBzY2FsZSgkZm9udC1zY2FsZSk7XG4gIHdpZHRoOiAxMDAlIC8gJGZvbnQtc2NhbGUgKyAkbWF0LWZvcm0tZmllbGQtZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1kZWR1cGU6ICRtYXQtZm9ybS1maWVsZC1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC10eXBvZ3JhcGh5KCRjb25maWcpIHtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuXG4gIC8vIFRoZSBhbW91bnQgdG8gc2NhbGUgdGhlIGZvbnQgZm9yIHRoZSBmbG9hdGluZyBsYWJlbCBhbmQgc3Vic2NyaXB0LlxuICAkc3Vic2NyaXB0LWZvbnQtc2NhbGU6IDAuNzU7XG4gIC8vIFRoZSBhbW91bnQgdG8gc2NhbGUgdGhlIGZvbnQgZm9yIHRoZSBwcmVmaXggYW5kIHN1ZmZpeCBpY29ucy5cbiAgJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNjYWxlOiAxLjU7XG5cbiAgLy8gVGhlIHBhZGRpbmcgb24gdGhlIGluZml4LiBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZS5cbiAgJGluZml4LXBhZGRpbmc6IDAuNWVtO1xuICAvLyBUaGUgbWFyZ2luIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtaW5maXggdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsLlxuICAkaW5maXgtbWFyZ2luLXRvcDogMWVtICogJGxpbmUtaGVpZ2h0ICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBGb250IHNpemUgdG8gdXNlIGZvciB0aGUgbGFiZWwgYW5kIHN1YnNjcmlwdCB0ZXh0LlxuICAkc3Vic2NyaXB0LWZvbnQtc2l6ZTogJHN1YnNjcmlwdC1mb250LXNjYWxlICogMTAwJTtcbiAgLy8gRm9udCBzaXplIHRvIHVzZSBmb3IgdGhlIGZvciB0aGUgcHJlZml4IGFuZCBzdWZmaXggaWNvbnMuXG4gICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zaXplOiAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2NhbGUgKiAxMDAlO1xuICAvLyBUaGUgc3BhY2UgYmV0d2VlbiB0aGUgYm90dG9tIG9mIHRoZSAubWF0LWZvcm0tZmllbGQtZmxleCBhcmVhIGFuZCB0aGUgc3Vic2NyaXB0IHdyYXBwZXIuXG4gIC8vIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLCBidXQgdGhpcyBtYXJnaW4gaXMgYXBwbGllZCB0byBhbiBlbGVtZW50IHdpdGggdGhlIHN1YnNjcmlwdFxuICAvLyB0ZXh0IGZvbnQgc2l6ZSwgc28gd2UgbmVlZCB0byBkaXZpZGUgYnkgdGhlIHNjYWxlIGZhY3RvciB0byBtYWtlIGl0IGhhbGYgb2YgdGhlIG9yaWdpbmFsIHRleHRcbiAgLy8gc2l6ZS5cbiAgJHN1YnNjcmlwdC1tYXJnaW4tdG9wOiAwLjVlbSAvICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIHBhZGRpbmcgYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC13cmFwcGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBzdWJzY3JpcHQsIHNpbmNlIGl0J3NcbiAgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkLiBUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgdGhlIHN1YnNjcmlwdCdzIG1hcmdpbiBhbmQgbGluZS1oZWlnaHQsIGJ1dCB3ZVxuICAvLyBuZWVkIHRvIG11bHRpcGx5IGJ5IHRoZSBzdWJzY3JpcHQgZm9udCBzY2FsZSBmYWN0b3Igc2luY2UgdGhlIHdyYXBwZXIgaGFzIGEgbGFyZ2VyIGZvbnQgc2l6ZS5cbiAgJHdyYXBwZXItcGFkZGluZy1ib3R0b206ICgkc3Vic2NyaXB0LW1hcmdpbi10b3AgKyAkbGluZS1oZWlnaHQpICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuXG4gIC5tYXQtZm9ybS1maWVsZCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGlucHV0KTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHdyYXBwZXItcGFkZGluZy1ib3R0b207XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtcHJlZml4LFxuICAubWF0LWZvcm0tZmllbGQtc3VmZml4IHtcbiAgICAvLyBBbGxvdyBpY29ucyBpbiBhIHByZWZpeCBvciBzdWZmaXggdG8gYWRhcHQgdG8gdGhlIGNvcnJlY3Qgc2l6ZS5cbiAgICAubWF0LWljb24ge1xuICAgICAgZm9udC1zaXplOiAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgaWNvbiBidXR0b25zIGluIGEgcHJlZml4IG9yIHN1ZmZpeCB0byBhZGFwdCB0byB0aGUgY29ycmVjdCBzaXplLlxuICAgIC5tYXQtaWNvbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2NhbGUgKiAxZW07XG4gICAgICB3aWR0aDogJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNjYWxlICogMWVtO1xuXG4gICAgICAubWF0LWljb24ge1xuICAgICAgICBoZWlnaHQ6ICRsaW5lLWhlaWdodCAqIDFlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgIHBhZGRpbmc6ICRpbmZpeC1wYWRkaW5nIDA7XG4gICAgLy8gVGhyb3dzIG9mZiB0aGUgYmFzZWxpbmUgaWYgd2UgZG8gaXQgYXMgYSByZWFsIG1hcmdpbiwgc28gd2UgZG8gaXQgYXMgYSBib3JkZXIgaW5zdGVhZC5cbiAgICBib3JkZXItdG9wOiAkaW5maXgtbWFyZ2luLXRvcCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgICAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICB9XG5cbiAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAvLyAodXNlZCBhcyBhIHB1cmUgQ1NTIHN0YW5kLWluIGZvciBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQpLlxuICAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciB7XG4gICAgdG9wOiAtJGluZml4LW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRpbmZpeC1tYXJnaW4tdG9wO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICB0b3A6ICRpbmZpeC1tYXJnaW4tdG9wICsgJGluZml4LXBhZGRpbmc7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAvLyBXZSB3YW50IHRoZSB1bmRlcmxpbmUgdG8gc3RhcnQgYXQgdGhlIGVuZCBvZiB0aGUgY29udGVudCBib3gsIG5vdCB0aGUgcGFkZGluZyBib3gsXG4gICAgLy8gc28gd2UgbW92ZSBpdCB1cCBieSB0aGUgcGFkZGluZyBhbW91bnQuXG4gICAgYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlciB7XG4gICAgZm9udC1zaXplOiAkc3Vic2NyaXB0LWZvbnQtc2l6ZTtcbiAgICBtYXJnaW4tdG9wOiAkc3Vic2NyaXB0LW1hcmdpbi10b3A7XG5cbiAgICAvLyBXZSB3YW50IHRoZSBzdWJzY3JpcHQgdG8gc3RhcnQgYXQgdGhlIGVuZCBvZiB0aGUgY29udGVudCBib3gsIG5vdCB0aGUgcGFkZGluZyBib3gsXG4gICAgLy8gc28gd2UgbW92ZSBpdCB1cCBieSB0aGUgcGFkZGluZyBhbW91bnQgKGFkanVzdGVkIGZvciB0aGUgc21hbGxlciBmb250IHNpemUpO1xuICAgIHRvcDogY2FsYygxMDAlIC0gI3skd3JhcHBlci1wYWRkaW5nLWJvdHRvbSAvICRzdWJzY3JpcHQtZm9udC1zY2FsZX0pO1xuICB9XG5cbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtbGVnYWN5LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWZpbGwtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtb3V0bGluZS10eXBvZ3JhcGh5KCRjb25maWcpO1xufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtdHJlZS10aGVtZSgkdGhlbWUpIHtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXRyZWUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtdHJlZS1ub2RlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRyZWUtdHlwb2dyYXBoeSgkY29uZmlnKSB7XG4gIC5tYXQtdHJlZSB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtdHJlZS1ub2RlIHtcbiAgICBmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSk7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuXG5cbi8vIEluY2x1ZGVzIGFsbCBvZiB0aGUgdHlwb2dyYXBoaWMgc3R5bGVzLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtdHlwb2dyYXBoeSgkY29uZmlnOiBudWxsKSB7XG4gIEBpZiAkY29uZmlnID09IG51bGwge1xuICAgICRjb25maWc6IG1hdC10eXBvZ3JhcGh5LWNvbmZpZygpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWF0LWJhZGdlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1iYXNlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1hdXRvY29tcGxldGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYnV0dG9uLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1jYXJkLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1jaGVja2JveC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtY2hpcHMtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRhYmxlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1kYXRlcGlja2VyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1kaWFsb2ctdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1pY29uLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1pbnB1dC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtbWVudS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1iYXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLXNwaW5uZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXJhZGlvLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zZWxlY3QtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNpZGVuYXYtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2xpZGVyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zdGVwcGVyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zb3J0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10YWJzLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10b29sYmFyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10b29sdGlwLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1saXN0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1vcHRpb24tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LW9wdGdyb3VwLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zbmFjay1iYXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRyZWUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbn1cblxuXG4vLyBNaXhpbiB0aGF0IHJlbmRlcnMgYWxsIG9mIHRoZSBjb3JlIHN0eWxlcyB0aGF0IGFyZSBub3QgdGhlbWUtZGVwZW5kZW50LlxuQG1peGluIG1hdC1jb3JlKCR0eXBvZ3JhcGh5LWNvbmZpZzogbnVsbCkge1xuICAvLyBQcm92aWRlcyBleHRlcm5hbCBDU1MgY2xhc3NlcyBmb3IgZWFjaCBlbGV2YXRpb24gdmFsdWUuIEVhY2ggQ1NTIGNsYXNzIGlzIGZvcm1hdHRlZCBhc1xuICAvLyBgbWF0LWVsZXZhdGlvbi16JHpWYWx1ZWAgd2hlcmUgYCR6VmFsdWVgIGNvcnJlc3BvbmRzIHRvIHRoZSB6LXNwYWNlIHRvIHdoaWNoIHRoZSBlbGVtZW50IGlzXG4gIC8vIGVsZXZhdGVkLlxuICBAZm9yICR6VmFsdWUgZnJvbSAwIHRocm91Z2ggMjQge1xuICAgIC4jeyRfbWF0LWVsZXZhdGlvbi1wcmVmaXh9I3skelZhbHVlfSB7XG4gICAgICBAaW5jbHVkZSBtYXQtZWxldmF0aW9uKCR6VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeS1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcmlwcGxlKCk7XG4gIEBpbmNsdWRlIGNkay1hMTF5KCk7XG4gIEBpbmNsdWRlIGNkay1vdmVybGF5KCk7XG4gIEBpbmNsdWRlIGNkay10ZXh0LWZpZWxkKCk7XG59XG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgc3R5bGVzIHRoYXQgZGVwZW5kIG9uIHRoZSB0aGVtZS5cbkBtaXhpbiBtYXQtY29yZS10aGVtZSgkdGhlbWUpIHtcbiAgQGluY2x1ZGUgbWF0LXJpcHBsZS10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtb3B0aW9uLXRoZW1lKCR0aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1vcHRncm91cC10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtcHNldWRvLWNoZWNrYm94LXRoZW1lKCR0aGVtZSk7XG5cbiAgLy8gV3JhcHBlciBlbGVtZW50IHRoYXQgcHJvdmlkZXMgdGhlIHRoZW1lIGJhY2tncm91bmQgd2hlbiB0aGUgdXNlcidzIGNvbnRlbnQgaXNuJ3RcbiAgLy8gaW5zaWRlIG9mIGEgYG1hdC1zaWRlbmF2LWNvbnRhaW5lcmAuIE5vdGUgdGhhdCB3ZSBuZWVkIHRvIGV4Y2x1ZGUgdGhlIGFtcGVyc2FuZFxuICAvLyBzZWxlY3RvciBpbiBjYXNlIHRoZSBtaXhpbiBpcyBpbmNsdWRlZCBhdCB0aGUgdG9wIGxldmVsLlxuICAubWF0LWFwcC1iYWNrZ3JvdW5kI3tpZigmLCAnLCAmLm1hdC1hcHAtYmFja2dyb3VuZCcsICcnKX0ge1xuICAgICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG4gICAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAvLyBNYXJrZXIgdGhhdCBpcyB1c2VkIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSB1c2VyIGhhcyBhZGRlZCBhIHRoZW1lIHRvIHRoZWlyIHBhZ2UuXG4gIEBhdC1yb290IHtcbiAgICAubWF0LXRoZW1lLWxvYWRlZC1tYXJrZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1kaXZpZGVyLXRoZW1lKCR0aGVtZSkge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkdGhlbWUsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtZGl2aWRlci12ZXJ0aWNhbCB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vIENyZWF0ZSBhIHRoZW1lLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoJHRoZW1lKSB7XG4gIEBpbmNsdWRlIG1hdC1jb3JlLXRoZW1lKCR0aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1hdXRvY29tcGxldGUtdGhlbWUoJHRoZW1lKTtcbiAgQGluY2x1ZGUgbWF0LWJhZGdlLXRoZW1lKCR0aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1ib3R0b20tc2hlZXQtdGhlbWUoJHRoZW1lKTtcbiAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRvZ2dsZS10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtY2FyZC10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtY2hlY2tib3gtdGhlbWUoJHRoZW1lKTtcbiAgQGluY2x1ZGUgbWF0LWNoaXBzLXRoZW1lKCR0aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC10YWJsZS10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtZGF0ZXBpY2tlci10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtZGlhbG9nLXRoZW1lKCR0aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1kaXZpZGVyLXRoZW1lKCR0aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1leHBhbnNpb24tcGFuZWwtdGhlbWUoJHRoZW1lKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtdGhlbWUoJHRoZW1lKTtcbiAgQGluY2x1ZGUgbWF0LWdyaWQtbGlzdC10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtaWNvbi10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtaW5wdXQtdGhlbWUoJHRoZW1lKTtcbiAgQGluY2x1ZGUgbWF0LWxpc3QtdGhlbWUoJHRoZW1lKTtcbiAgQGluY2x1ZGUgbWF0LW1lbnUtdGhlbWUoJHRoZW1lKTtcbiAgQGluY2x1ZGUgbWF0LXBhZ2luYXRvci10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3MtYmFyLXRoZW1lKCR0aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1zcGlubmVyLXRoZW1lKCR0aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1yYWRpby10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtc2VsZWN0LXRoZW1lKCR0aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1zaWRlbmF2LXRoZW1lKCR0aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1zbGlkZS10b2dnbGUtdGhlbWUoJHRoZW1lKTtcbiAgQGluY2x1ZGUgbWF0LXNsaWRlci10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtc3RlcHBlci10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtc29ydC10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtdGFicy10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtdG9vbGJhci10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtdG9vbHRpcC10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtdHJlZS10aGVtZSgkdGhlbWUpO1xuICBAaW5jbHVkZSBtYXQtc25hY2stYmFyLXRoZW1lKCR0aGVtZSk7XG59XG4iLCIvKipcbiAqIEFwcGxpZXMgc3R5bGVzIGZvciB1c2VycyBpbiBoaWdoIGNvbnRyYXN0IG1vZGUuIE5vdGUgdGhhdCB0aGlzIG9ubHkgYXBwbGllc1xuICogdG8gTWljcm9zb2Z0IGJyb3dzZXJzLiBDaHJvbWUgY2FuIGJlIGluY2x1ZGVkIGJ5IGNoZWNraW5nIGZvciB0aGUgYGh0bWxbaGNdYFxuICogYXR0cmlidXRlLCBob3dldmVyIENocm9tZSBoYW5kbGVzIGhpZ2ggY29udHJhc3QgZGlmZmVyZW50bHkuXG4gKiBAcGFyYW0gdGFyZ2V0IFdoaWNoIGtpbmQgb2YgaGlnaCBjb250cmFzdCBzZXR0aW5nIHRvIHRhcmdldC4gRGVmYXVsdHMgdG8gYGFjdGl2ZWAsIGNhbiBiZVxuICogICAgYHdoaXRlLW9uLWJsYWNrYCBvciBgYmxhY2stb24td2hpdGVgLlxuICovXG4vKiBUaGVtZSBmb3IgdGhlIHJpcHBsZSBlbGVtZW50cy4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgbWF0ZXJpYWwvbm8tcHJlZml4ZXMgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5oZWFkZXJfX2Zvcm0ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDsgfVxuICAuaGVhZGVyX19mb3JtLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5oZWFkZXJfX2Zvcm0tZmllbGRfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAuaGVhZGVyX19mb3JtLWZpZWxkIDo6bmctZGVlcCAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5oZWFkZXJfX2Zvcm0tZmllbGQgOjpuZy1kZWVwIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweCAwcHggMzBweDsgfVxuICAgIC5oZWFkZXJfX2Zvcm0tZmllbGQgOjpuZy1kZWVwIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5oZWFkZXJfX2Zvcm0tZmllbGQgOjpuZy1kZWVwIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuaGVhZGVyX19mb3JtLWZpZWxkIDo6bmctZGVlcCAubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMEY4OTAgIWltcG9ydGFudDsgfVxuICAgIC5oZWFkZXJfX2Zvcm0tZmllbGQgOjpuZy1kZWVwIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAgIC5oZWFkZXJfX2Zvcm0tZmllbGQgOjpuZy1kZWVwIC5tYXQtaWNvbi1idXR0b24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7IH1cbiAgICAuaGVhZGVyX19mb3JtLWZpZWxkIC5jdXN0b20taWNvbiB7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvc2VhcmNoLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgICAuaGVhZGVyX19mb3JtLWZpZWxkLW1vYmlsZSA6Om5nLWRlZXAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDBweCAxMHB4O1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG46Om5nLWRlZXAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBGODkwO1xuICBkaXNwbGF5OiBub25lOyB9XG4iLCJAaW1wb3J0ICd+QGFuZ3VsYXIvbWF0ZXJpYWwvdGhlbWluZyc7XHJcbkBpbXBvcnQgJy4uL192YXJpYWJsZXMuc2Nzcyc7XHJcblxyXG4uaGVhZGVyIHtcclxuICAmX19mb3JtIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAmLWZpZWxkIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgJl9faW5wdXQge1xyXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDo6bmctZGVlcCAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG5cclxuXHJcbiAgICAgIDo6bmctZGVlcCAubWF0LWZvcm0tZmllbGQtZmxleCB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4IDBweCAzMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICA6Om5nLWRlZXAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgOjpuZy1kZWVwIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3JlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA6Om5nLWRlZXAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwRjg5MCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICA6Om5nLWRlZXAgLm1hdC1pbnB1dC1lbGVtZW50IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgOjpuZy1kZWVwIC5tYXQtaWNvbi1idXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY3VzdG9tLWljb24ge1xyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvc2VhcmNoLnN2ZycpO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICAgICYtbW9iaWxlIDo6bmctZGVlcCAubWF0LWZvcm0tZmllbGQtZmxleCB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDBweCAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG46Om5nLWRlZXAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRtb3RpdmUtY29sb3I7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4iLCIkYm94LXNoYWRvdy1kZWZhdWx0OiBub25lICFkZWZhdWx0O1xyXG4kcGFuZWwtbWFyZ2luLWRlZmF1bHQ6IDEwcHggMTBweCAxMHB4IDEwcHg7XHJcbiRmaWx0ZXJzLXBhbmVsLW1heC13aWR0aDogMzAwcHg7XHJcbiRvcGVuLXNhbnMtZm9udDogJ0Vtb3RpdmUgU2FucyBUVCcsIEhlbHZldGljYTtcclxuJG9wdGltYWwtY29sb3I6IHJnYigyNiwgNTEsIDg4KTtcclxuJGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiRoZWFkZXItZm9vdGVyLWJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XHJcbiRtb3RpdmUtY29sb3I6ICMwMEY4OTA7XHJcbiJdfQ== */\"","import {\r\n Component,\r\n ChangeDetectorRef,\r\n OnDestroy,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {\r\n FormGroup,\r\n FormBuilder\r\n} from '@angular/forms';\r\nimport { Router,\r\n ActivatedRoute,\r\n ResolveEnd\r\n} from '@angular/router';\r\nimport { MatAutocompleteTrigger } from '@angular/material';\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport { State } from '../store/reducer';\r\n\r\nimport { Filter } from '../models/filter.model';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ArticleService } from '../article.service';\r\n\r\n@Component({\r\n selector: 'app-searchbar',\r\n templateUrl: './searchbar.component.html',\r\n styleUrls: ['./searchbar.component.scss'],\r\n providers: [ArticleService]\r\n})\r\nexport class SearchbarComponent implements OnDestroy {\r\n @ViewChild(MatAutocompleteTrigger) autocomplete: MatAutocompleteTrigger;\r\n\r\n fg: FormGroup;\r\n mobileQuery: MediaQueryList;\r\n private _mobileQueryListener: () => void;\r\n private group = Filter.getAggregationAndId('group');\r\n private app = Filter.getAggregationAndId('app');\r\n options: string[];\r\n\r\n constructor(private fb: FormBuilder,\r\n private router: Router,\r\n private store: Store,\r\n private route: ActivatedRoute,\r\n changeDetectorRef: ChangeDetectorRef,\r\n media: MediaMatcher,\r\n private articleService: ArticleService) {\r\n this.mobileQuery = media.matchMedia(environment.mediaMatcher);\r\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n\r\n this.router.events.subscribe((value) => {\r\n if (value instanceof ResolveEnd) {\r\n const val = value.state.root.children[0].children[0].params.query;\r\n if (val) {\r\n const query = this.fg.get('query').value;\r\n if (!query || query !== val) {\r\n this.fg.get('query').setValue(Filter.removeWhitespace(decodeURIComponent(val)).join(' '));\r\n }\r\n } else {\r\n this.fg.get('query').setValue('');\r\n }\r\n }\r\n });\r\n\r\n this.createForm();\r\n\r\n this.store.select('articles').subscribe((state: any) => {\r\n if (state.loadedArticles && !state.filtersChanged) {\r\n this.group = Filter.getAggregationAndId('group');\r\n this.app = Filter.getAggregationAndId('app');\r\n }\r\n });\r\n }\r\n\r\n homeButton() {\r\n Filter.resetFilters(false);\r\n\r\n this.router.navigate(['/' + Filter.Language + '/1/0/1/0'], { relativeTo: this.route });\r\n }\r\n\r\n createForm() {\r\n this.fg = this.fb.group({\r\n query: ['']\r\n });\r\n }\r\n\r\n getErrorMessage() {\r\n return this.fg.get('query').hasError('required') ? 'This field is required.' : '';\r\n }\r\n\r\n search() {\r\n if (this.autocomplete.panelOpen) {\r\n this.autocomplete.closePanel();\r\n }\r\n if (this.fg.get('query').value !== '') {\r\n Filter.setValue('Query', this.fg.get('query').value.split(' '));\r\n } else {\r\n Filter.setValue('Query', []);\r\n }\r\n this.navigate();\r\n }\r\n\r\n query(event) {\r\n if (event.target.value !== '' && event.target.value !== ' ') {\r\n this.articleService.getAutoComplete(event.target.value).subscribe(data => {\r\n this.options = data.json();\r\n });\r\n }\r\n }\r\n\r\n navigate() {\r\n let parameters = [];\r\n if (Filter.Query.length) {\r\n parameters = [\r\n Filter.Language,\r\n Filter.Query.join(' '),\r\n this.app.lvl,\r\n this.app.id,\r\n this.group.lvl,\r\n this.group.id\r\n ];\r\n } else {\r\n parameters = [\r\n Filter.Language,\r\n this.app.lvl,\r\n this.app.id,\r\n this.group.lvl,\r\n this.group.id\r\n ];\r\n }\r\n this.router.navigate(parameters, { relativeTo: this.route });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.mobileQuery.removeListener(this._mobileQueryListener);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedService {\r\n private sidebarClosedSource = new BehaviorSubject(true);\r\n sidebarClosed$ = this.sidebarClosedSource.asObservable();\r\n\r\n setSidebarClosed(isClosed: boolean) {\r\n this.sidebarClosedSource.next(isClosed);\r\n }\r\n}\r\n","import { Action } from '@ngrx/store';\r\n\r\nexport enum ActionTypes {\r\n LOAD_ARTICLES = 'LOAD_ARTICLES',\r\n ARTICLES_LOADED = 'ARTICLES_LOADED',\r\n TOGGLE_SIDENAV = 'TOGGLE_SIDENAV',\r\n FILTERS_CHANGED = 'FILTERS_CHANGED',\r\n CHANGE_FILTERS = 'CHANGE_FILTERS'\r\n}\r\n\r\nexport class LoadArticles implements Action {\r\n readonly type: ActionTypes.LOAD_ARTICLES;\r\n constructor(public payload: any) {}\r\n}\r\n\r\nexport class ArticlesLoaded implements Action {\r\n readonly type: ActionTypes.ARTICLES_LOADED;\r\n constructor(public payload: any) {}\r\n}\r\n\r\nexport class ToggleSidenav implements Action {\r\n readonly type: ActionTypes.TOGGLE_SIDENAV;\r\n constructor(public payload: any) {}\r\n}\r\n\r\nexport class FiltersChanged implements Action {\r\n readonly type: ActionTypes.FILTERS_CHANGED;\r\n constructor(public payload: any) {}\r\n}\r\n\r\nexport class ChangeFilters implements Action {\r\n readonly type: ActionTypes.CHANGE_FILTERS;\r\n constructor(public payload: any) {}\r\n}\r\n\r\nexport type Actions = LoadArticles | ArticlesLoaded | ToggleSidenav | FiltersChanged | ChangeFilters;\r\n","// importy\r\nimport { Result } from '../models/result.model';\r\nimport { Filter } from '../models/filter.model';\r\nimport { ActionTypes,\r\n Actions\r\n} from './actions';\r\n\r\n// stan początkowy\r\nconst initState = {\r\n result: [],\r\n filters: Filter.get(),\r\n sidenav: true,\r\n togglingSidenav: true,\r\n loadingArticles: false,\r\n loadedArticles: false\r\n};\r\n\r\nconst initFiltersState = {\r\n filtersChanged: false,\r\n changeFilters: false\r\n};\r\n\r\n// reducer ładowania artykułów\r\n// funkcja(stan początkowy, akcja)\r\nexport function reducer(state: any = initState, action: Actions) {\r\n const s = [];\r\n switch (action.type) {\r\n case ActionTypes.LOAD_ARTICLES:\r\n Object.assign(s, state, {result: [], loadingArticles: true, loadedArticles: false, togglingSidenav: false});\r\n return Object.assign(s, action.payload);\r\n case ActionTypes.ARTICLES_LOADED:\r\n Object.assign(s, state, {loadingArticles: false, loadedArticles: true, togglingSidenav: false});\r\n return Object.assign([], s, action.payload);\r\n case ActionTypes.TOGGLE_SIDENAV:\r\n Object.assign(s, state, {loadingArticles: false, loadedArticles: false, togglingSidenav: true});\r\n return Object.assign([], s, action.payload);\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport function filtersReducer(state: any = initFiltersState, action: Actions) {\r\n const s = [];\r\n switch (action.type) {\r\n case ActionTypes.FILTERS_CHANGED:\r\n Object.assign(s, state, {filtersChanged: true, changeFilters: false});\r\n return Object.assign([], s, action.payload);\r\n case ActionTypes.CHANGE_FILTERS:\r\n Object.assign(s, state, {filtersChanged: false, changeFilters: true});\r\n return Object.assign([], s, action.payload);\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport interface State {\r\n result: Result;\r\n filters: any;\r\n sidenav: boolean;\r\n togglingSidenav: boolean;\r\n loadingArticles: boolean;\r\n loadedArticles: boolean;\r\n}\r\n","export const environment = {\r\n production: true,\r\n url: window.location.origin + '/api/',\r\n defaultItemsNumber: 8,\r\n defaultOffset: 10,\r\n mediaMatcher: '(max-width: 959px)',\r\n languages: [{\r\n value: 'en',\r\n name: 'English'\r\n }, {\r\n value: 'de',\r\n name: 'Deutsch'\r\n }]\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\nimport 'hammerjs';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":""}