1import { injectQuery as __vite__injectQuery } from "/@vite/client";import { createHotContext as __vite__createHotContext } from "/@vite/client";import.meta.hot = __vite__createHotContext("/chunk-C336LEHP.js");import { 2 BuildNrcComponent 3} from "/chunk-ALTFCXHA.js"; 4import { 5 BannerFirstComponent 6} from "/chunk-WM3WEWU7.js"; 7import { 8 LoaderBoxComponent, 9 SeoService, 10 seo_service_exports 11} from "/chunk-AFH6AP46.js"; 12import { 13 DataService, 14 data_service_exports, 15 environment 16} from "/chunk-BRGIGWYZ.js"; 17
18// src/app/pages/products/products.component.ts 19import { CommonModule as CommonModule2 } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_common.js?v=32da3b65"; 20import { Component as Component2 } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_core.js?v=32da3b65"; 21
22// src/app/components/common/search/search.component.ts 23import { CommonModule } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_common.js?v=32da3b65"; 24import { Component, Output, EventEmitter, Input } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_core.js?v=32da3b65"; 25import { FormsModule } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_forms.js?v=32da3b65"; 26import { Subject } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/rxjs.js?v=32da3b65"; 27import { debounceTime } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/rxjs_operators.js?v=32da3b65"; 28import * as i0 from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_core.js?v=32da3b65"; 29import * as i1 from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_common.js?v=32da3b65"; 30import * as i2 from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_forms.js?v=32da3b65"; 31var SearchComponent = class _SearchComponent { 32 sortOrder = ""; 33 inputText = ""; 34 setText; 35 textHover = ""; 36 searchSubject = new Subject(); 37 valueChanged = new EventEmitter(); 38 valueChangedInput = new EventEmitter(); 39 onClick = new EventEmitter(); 40 emitClick() { 41 this.inputText = ""; 42 this.searchSubject.next(this.inputText); 43 this.onClick.emit(); 44 } 45 debounceTimeMs = 350; 46 ngOnInit() { 47 this.searchSubject.pipe(debounceTime(this.debounceTimeMs)).subscribe((searchValue) => { 48 this.performSearch(searchValue); 49 }); 50 } 51 ngOnChanges(changes) { 52 if (changes["setText"] && changes["setText"].currentValue !== void 0) { 53 this.inputText = changes["setText"].currentValue; 54 } 55 if (changes["deleteSort"] && changes["deleteSort"].currentValue !== void 0) { 56 if (changes["deleteSort"].currentValue == true) { 57 this.sortOrder = ""; 58 } 59 } 60 } 61 emitSortOrder() { 62 this.valueChanged.emit({ sortOrder: this.sortOrder }); 63 } 64 onSearch() { 65 this.searchSubject.next(this.inputText); 66 } 67 performSearch(searchValue) { 68 this.valueChangedInput.emit({ inputText: searchValue }); 69 } 70 static \u0275fac = function SearchComponent_Factory(__ngFactoryType__) { 71 return new (__ngFactoryType__ || _SearchComponent)(); 72 }; 73 static \u0275cmp = /* @__PURE__ */ i0.\u0275\u0275defineComponent({ type: _SearchComponent, selectors: [["app-search"]], inputs: { setText: "setText", textHover: "textHover" }
73, outputs: { valueChanged: "valueChanged", valueChangedInput: "valueChangedInput", onClick: "onClick" }, features: [i0.\u0275\u0275NgOnChangesFeature], decls: 22, vars: 3, consts: [[1, "flex", "flex-col", "mt-4", "bg-white", "rounded-full"], [1, "flex", "w-full", "gap-2", "md:gap-4", "border-neutro-50", "border", "rounded-full", "justify-between", "pl-4", "pr-8"], [1, "flex", "items-center", "rounded-full", "w-full"], ["width", "24", "height", "25", "viewBox", "0 0 24 25", "fill", "none", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M11 19.8403C15.4183 19.8403 19 16.2586 19 11.8403C19 7.42205 15.4183 3.84033 11 3.84033C6.58172 3.84033 3 7.42205 3 11.8403C3 16.2586 6.58172 19.8403 11 19.8403Z", "stroke", "#94A3B8", "stroke-width", "1.5", "stroke-linecap", "round", "stroke-linejoin", "round"], ["d", "M21 21.8403L17 17.8403", "stroke", "#94A3B8", "stroke-width", "1.5", "stroke-linecap", "round", "stroke-linejoin", "round"], ["type", "text", 1, "font-nunito-sans", "outline-none", "block", "w-full", "p-2", "rounded-full", "text-black", "h-10", "md:h-12", "rounded-full", "text-neutro-600", "text-sm", "md:text-base", "placeholder-neutro-400", 3, "ngModelChange", "input", "ngModel", "placeholder"], [1, "flex", "w-32", "md:w-fit"], [1, "h-[75%]", "w-[2px]", "my-auto", "bg-light-300"], [1, "flex", "items-center", "bg-transparent", "rounded-full", "w-fit", "relative"], [1, "block", "font-nunito-sans", "z-10", "w-auto", "py-2", "px-2", "w-full", "md:w-auto", "md:px-6", "text-sm", "md:text-base", "rounded-full", "w-fit", "text-neutro-300", "focus:outline-none", "focus:border-black", "h-10", "md:h-12", "custom-select", 3, "ngModelChange", "change", "ngModel"], ["value", "", "disabled", "", "selected", ""], ["value", "asc", 1, ""], ["value", "desc", 1, ""], [1, "pr-4", "md:pr-2", "md:p-2", "absolute", "-right-4"], ["width", "14", "height", "24", "viewBox", "0 0 14 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M3.5 15.25L7 18.75L10.5 15.25", "stroke", "#83909E", "stroke-width", "1.5", "stroke-linecap", "round", "stroke-linejoin", "round"], ["d", "M3.5 8.75L7 5.25L10.5 8.75", "stroke", "#83909E", "stroke-width", "1.5", "stroke-linecap", "round", "stroke-linejoin", "round"]], template: function SearchComponent_Template(rf, ctx) { 74 if (rf & 1) { 75 i0.\u0275\u0275elementStart(0, "div", 0)(1, "div", 1)(2, "div", 2); 76 i0.\u0275\u0275namespaceSVG(); 77 i0.\u0275\u0275elementStart(3, "svg", 3); 78 i0.\u0275\u0275element(4, "path", 4)(5, "path", 5); 79 i0.\u0275\u0275elementEnd(); 80 i0.\u0275\u0275namespaceHTML(); 81 i0.\u0275\u0275elementStart(6, "input", 6); 82 i0.\u0275\u0275twoWayListener("ngModelChange", function SearchComponent_Template_input_ngModelChange_6_listener($event) { 83 i0.\u0275\u0275twoWayBindingSet(ctx.inputText, $event) || (ctx.inputText = $event); 84 return $event; 85 }); 86 i0.\u0275\u0275listener("input", function SearchComponent_Template_input_input_6_listener() { 87 return ctx.onSearch(); 88 }); 89 i0.\u0275\u0275elementEnd()(); 90 i0.\u0275\u0275elementStart(7, "div", 7)(8, "div", 8); 91 i0.\u0275\u0275text(9, "\xA0"); 92 i0.\u0275\u0275elementEnd(); 93 i0.\u0275\u0275elementStart(10, "div", 9)(11, "select", 10); 94 i0.\u0275\u0275twoWayListener("ngModelChange", function SearchComponent_Template_select_ngModelChange_11_listener($event) { 95 i0.\u0275\u0275twoWayBindingSet(ctx.sortOrder, $event) || (ctx.sortOrder = $event); 96 return $event; 97 }); 98 i0.\u0275\u0275listener("change", function SearchComponent_Template_select_change_11_listener() { 99 return ctx.emitSortOrder(); 100 }); 101 i0.\u0275\u0275elementStart(12, "option", 11); 102 i0.\u0275\u0275text(13, "Sort by"); 103 i0.\u0275\u0275elementEnd(); 104 i0.\u0275\u0275elementStart(14, "option", 12); 105 i0.\u0275\u0275text(15, "Order: A-Z"); 106 i0.\u0275\u0275elementEnd(); 107 i0.\u0275\u0275elementStart(16, "option", 13); 108 i0.\u0275\u0275text(17, "Order: Z-A"); 109 i0.\u0275\u0275elementEnd()(); 110 i0.\u0275\u0275elementStart(18, "span", 14); 111 i0.\u0275\u0275namespaceSVG(); 112 i0.\u0275\u0275elementStart(19, "svg", 15);
113 i0.\u0275\u0275element(20, "path", 16)(21, "path", 17); 114 i0.\u0275\u0275elementEnd()()()()()(); 115 } 116 if (rf & 2) { 117 i0.\u0275\u0275advance(6); 118 i0.\u0275\u0275twoWayProperty("ngModel", ctx.inputText); 119 i0.\u0275\u0275property("placeholder", ctx.textHover); 120 i0.\u0275\u0275advance(5); 121 i0.\u0275\u0275twoWayProperty("ngModel", ctx.sortOrder); 122 } 123 }, dependencies: [CommonModule, i1.NgClass, i1.NgComponentOutlet, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, i1.NgSwitch, i1.NgSwitchCase, i1.NgSwitchDefault, i1.NgPlural, i1.NgPluralCase, i1.AsyncPipe, i1.UpperCasePipe, i1.LowerCasePipe, i1.JsonPipe, i1.SlicePipe, i1.DecimalPipe, i1.PercentPipe, i1.TitleCasePipe, i1.CurrencyPipe, i1.DatePipe, i1.I18nPluralPipe, i1.I18nSelectPipe, i1.KeyValuePipe, FormsModule, i2.\u0275NgNoValidate, i2.NgSelectOption, i2.\u0275NgSelectMultipleOption, i2.DefaultValueAccessor, i2.NumberValueAccessor, i2.RangeValueAccessor, i2.CheckboxControlValueAccessor, i2.SelectControlValueAccessor, i2.SelectMultipleControlValueAccessor, i2.RadioControlValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.RequiredValidator, i2.MinLengthValidator, i2.MaxLengthValidator, i2.PatternValidator, i2.CheckboxRequiredValidator, i2.EmailValidator, i2.MinValidator, i2.MaxValidator, i2.NgModel, i2.NgModelGroup, i2.NgForm], styles: ["\n\nselect[_ngcontent-%COMP%] {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: none;\n}\n.select-container[_ngcontent-%COMP%] {\n position: relative;\n display: flex;\n align-items: center;\n border: 1px solid #83909E;\n border-radius: 8px;\n padding-left: 8px;\n}\n/*# sourceMappingURL=search.component.css.map */"] }); 124}; 125(() => { 126 (typeof ngDevMode === "undefined" || ngDevMode) && i0.\u0275setClassDebugInfo(SearchComponent, { className: "SearchComponent", filePath: "src/app/components/common/search/search.component.ts", lineNumber: 13 }); 127})(); 128(() => { 129 const id = "src%2Fapp%2Fcomponents%2Fcommon%2Fsearch%2Fsearch.component.ts%40SearchComponent"; 130 function SearchComponent_HmrLoad(t) { 131 import( 132 /* @vite-ignore */ 133 __vite__injectQuery(new URL("./@ng/component?c=" + id + "&t=" + encodeURIComponent(t), import.meta.url).href, 'import') 134 ).then((m) => m.default && i0.\u0275\u0275replaceMetadata(SearchComponent, m.default, [i0, i1, i2], [CommonModule, FormsModule], import.meta, id)); 135 } 136 (typeof ngDevMode === "undefined" || ngDevMode) && SearchComponent_HmrLoad(Date.now()); 137 (typeof ngDevMode === "undefined" || ngDevMode) && (import.meta.hot && import.meta.hot.on("angular:component-update", (d) => d.id === id && SearchComponent_HmrLoad(d.timestamp))); 138})(); 139
140// src/app/pages/products/products.component.ts 141import * as i02 from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_core.js?v=32da3b65"; 142import * as i3 from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_common.js?v=32da3b65"; 143function ProductsComponent_ng_container_5_ng_container_5_Template(rf, ctx) { 144 if (rf & 1) { 145 i02.\u0275\u0275elementContainerStart(0); 146 i02.\u0275\u0275element(1, "app-loader-box", 9); 147 i02.\u0275\u0275elementContainerEnd(); 148 } 149} 150function ProductsComponent_ng_container_5_Template(rf, ctx) { 151 if (rf & 1) { 152 i02.\u0275\u0275elementContainerStart(0); 153 i02.\u0275\u0275elementStart(1, "div", 4)(2, "div", 5); 154 i02.\u0275\u0275element(3, "app-loader-box", 6); 155 i02.\u0275\u0275elementEnd(); 156 i02.\u0275\u0275elementStart(4, "div", 7); 157 i02.\u0275\u0275template(5, ProductsComponent_ng_container_5_ng_container_5_Template, 2, 0, "ng-container", 8); 158 i02.\u0275\u0275elementEnd()(); 159 i02.\u0275\u0275elementContainerEnd(); 160 } 161 if (rf & 2) { 162 const ctx_r0 = i02.\u0275\u0275nextContext(); 163 i02.\u0275\u0275advance(5); 164 i02.\u0275\u0275property("ngForOf", ctx_r0.imagesLoad); 165 } 166} 167function ProductsComponent_ng_container_6_span_4_Template(rf, ctx) { 168 if (rf & 1) { 169 i02.\u0275\u0275elementStart(0, "span", 12); 170 i02.\u0275\u0275text(1, " There are no categories that match your search. "); 171 i02.\u0275\u0275elementEnd(); 172 } 173} 174function ProductsComponent_ng_container_6_ng_container_6_Template(rf, ctx) { 175 if (rf & 1) { 176 i02.\u0275\u0275elementContainerStart(0); 177 i02.\u0275\u0275elementStart(1, "div", 13); 178 i02.\u0275\u0275element(2, "img", 14); 179 i02.\u0275\u0275elementStart(3, "div", 15)(4, "a", 16)(5, "h3", 17); 180 i02.\u0275\u0275text(6); 181 i02.\u0275\u0275elementEnd(); 182 i02.\u0275\u0275element(7, "img", 18); 183 i02.\u0275\u0275elementEnd()()(); 184 i02.\u0275\u0275elementContainerEnd(); 185 } 186 if (rf & 2) { 187 const item_r3 = ctx.$implicit; 188 const ctx_r0 = i02.\u0275\u0275nextContext(2); 189 i02.\u0275\u0275advance(2); 190 i02.\u0275\u0275property("src", ctx_r0.envUrl + item_r3.image.url, i02.\u0275\u0275sanitizeUrl)("alt", item_r3.description); 191 i02.\u0275\u0275advance(2); 192 i02.\u0275\u0275property("href", "/contact/" + ctx_r0.cleanDescription(item_r3.description), i02.\u0275\u0275sanitizeUrl); 193 i02.\u0275\u0275advance(2); 194 i02.\u0275\u0275textInterpolate1(" ", item_r3.description, " "); 195 } 196} 197function ProductsComponent_ng_container_6_Template(rf, ctx) { 198 if (rf & 1) { 199 const _r2 = i02.\u0275\u0275getCurrentView(); 200 i02.\u0275\u0275elementContainerStart(0); 201 i02.\u0275\u0275elementStart(1, "div", 4)(2, "div", 5)(3, "app-search", 10); 202 i02.\u0275\u0275listener("valueChanged", function ProductsComponent_ng_container_6_Template_app_search_valueChanged_3_listener($event) { 203 i02.\u0275\u0275restoreView(_r2); 204 const ctx_r0 = i02.\u0275\u0275nextContext(); 205 return i02.\u0275\u0275resetView(ctx_r0.sortItems($event)); 206 })("valueChangedInput", function ProductsComponent_ng_container_6_Template_app_search_valueChangedInput_3_listener($event) { 207 i02.\u0275\u0275restoreView(_r2); 208 const ctx_r0 = i02.\u0275\u0275nextContext(); 209 return i02.\u0275\u0275resetView(ctx_r0.onSearchChanges($event)); 210 }); 211 i02.\u0275\u0275elementEnd(); 212 i02.\u0275\u0275template(4, ProductsComponent_ng_container_6_span_4_Template, 2, 0, "span", 11); 213 i02.\u0275\u0275elementEnd(); 214 i02.\u0275\u0275elementStart(5, "div", 7); 215 i02.\u0275\u0275template(6, ProductsComponent_ng_container_6_ng_container_6_Template, 8, 4, "ng-container", 8); 216 i02.\u0275\u0275elementEnd()(); 217 i02.\u0275\u0275elementContainerEnd(); 218 } 219 if (rf & 2) { 220 let tmp_1_0; 221 const ctx_r0 = i02.\u0275\u0275nextContext(); 222 i02.\u0275\u0275advance(3); 223 i02.\u0275\u0275property("textHover", (tmp_1_0 = ctx_r0.productInfo == null ? null : ctx_r0.productInfo.hoverSearch) !== null && tmp_1_0 !== void 0 ? tmp_1_0 : "")("setText", ctx_r0.inputSearch); 224 i02.\u0275\u0275advance(); 225 i02.\u0275\u0275property("ngIf", ctx_r0.filteredItems.length == 0); 226 i02.\u0275\u0275advance(2); 227 i02.\u0275\u0275property("ngForOf", ctx_r0.filteredItems); 228 } 229} 230function ProductsComponent_ng_container_8_Template(rf, ctx) { 231 if (rf & 1) { 232 i02.\u0275\u0275elementContainer(0); 233 } 234} 235function ProductsComponent_ng_container_9_Template(rf, ctx) { 236 if (rf & 1) { 237 i02.\u0275\u0275elementContainerStart(0); 238 i02.\u0275\u0275elementStart(1, "div", 19); 239 i02.\u0275\u0275element(2, "app-build-nrc", 20); 240 i02.\u0275\u0275elementEnd(); 241 i02.\u0275\u0275elementContainerEnd(); 242 } 243 if (rf & 2) { 244 const ctx_r0 = i02.\u0275\u0275nextContext(); 245 i02.\u0275\u0275advance(2); 246 i02.\u0275\u0275property("nrcBuildInfo", ctx_r0.nrcBuildInfo); 247 } 248} 249var ProductsComponent = class _ProductsComponent { 250 data; 251 seoService; 252 loading = true; 253 productInfo; 254 envUrl = environment.strapiUrl; 255 firstSection; 256 itemsIamge = []; 257 filteredItems = []; 258 nrcBuildInfo; 259 inputSearch; 260 sortOrder = ""; 261 noSearch = false;
262 seoInfo; 263 imagesLoad = new Array(6).fill({}); 264 constructor(data, seoService) { 265 this.data = data; 266 this.seoService = seoService; 267 this.loading = true; 268 this.data.getDataStrapi("api/product?pLevel=5").subscribe({ 269 next: (res) => { 270 if (res) { 271 if (res.data != null) { 272 this.productInfo = res.data; 273 this.firstSection = this.productInfo?.firstSection; 274 this.itemsIamge = this.productInfo?.productItems ?? []; 275 this.filteredItems = this.itemsIamge; 276 this.nrcBuildInfo = this.productInfo?.build_nrc; 277 this.sortItems({ sortOrder: "asc" }); 278 this.loading = false; 279 this.seoInfo = this.productInfo?.seo; 280 this.seoService.setMetaTitle(this.seoInfo?.title ?? ""); 281 this.seoService.setMetaDescription(this.seoInfo?.description ?? ""); 282 this.seoService.setMetaKeywords(this.seoInfo?.keywords ?? ""); 283 if (this.seoInfo?.image?.data?.attributes?.url) { 284 this.seoService.setMetaImage(`${environment.strapiUrl}${this.seoInfo?.image.data.attributes.url ?? ""}`); 285 } 286 } 287 } 288 }, 289 error: (error) => { 290 this.loading = false; 291 } 292 }); 293 } 294 onSearchChanges(event) { 295 this.inputSearch = event.inputText; 296 this.filterItemsSelect(); 297 } 298 filterItemsSelect() { 299 this.filteredItems = this.itemsIamge.filter((item) => { 300 const matchesSearch = this.inputSearch ? item.description.toLowerCase().includes(this.inputSearch.toLowerCase()) : true; 301 return matchesSearch; 302 }); 303 } 304 sortItems(event) { 305 this.sortOrder = event.sortOrder; 306 if (this.sortOrder === "asc") { 307 this.filteredItems.sort((a, b) => a.description.localeCompare(b.description)); 308 } else if (this.sortOrder === "desc") { 309 this.filteredItems.sort((a, b) => b.description.localeCompare(a.description)); 310 } 311 } 312 cleanDescription(description) { 313 return description.toLowerCase().replace(/\s+/g, "-"); 314 } 315 static \u0275fac = function ProductsComponent_Factory(__ngFactoryType__) { 316 return new (__ngFactoryType__ || _ProductsComponent)(i02.\u0275\u0275directiveInject(DataService), i02.\u0275\u0275directiveInject(SeoService)); 317 }; 318 static \u0275cmp = /* @__PURE__ */ i02.\u0275\u0275defineComponent({ type: _ProductsComponent, selectors: [["app-products"]], decls: 10, vars: 6, consts: [[1, "main-section"], [1, "flex", "flex-col", "w-full"], ["colorWord", "text-nrc-pink", 3, "loading", "firstSection"], [4, "ngIf"], [1, "flex", "flex-col", "w-full", "gap-10", "lg:gap-12", "padding-global", "py-10", "lg:py-12"], [1, "flex", "flex-col", "gap-2"], ["width", "w-full", "height", "h-12"], [1, "grid", "md:grid-cols-2", "lg:grid-cols-3", "gap-4"], [4, "ngFor", "ngForOf"], ["width", "w-full", "height", "h-72"], [3, "valueChanged", "valueChangedInput", "textHover", "setText"], ["class", "text-red text-xs ml-4", 4, "ngIf"], [1, "text-red", "text-xs", "ml-4"], [1, "flex", "w-full", "overflow-hidden", "rounded-xl", "relative", "group"], [1, "aspect-[396/328]", "object-cover", "w-full", "group-hover:scale-105", "transition-all", "duration-300", 3, "src", "alt"], [1, "flex", "items-end", "absolute", "inset-0", "bg-gradient-to-b", "from-transparent", "via-transparent", "to-[#040404]", "z-10"], [1, "flex", "w-full", "justify-between", "mx-8", "pb-4", "mb-6", "border-b-white", "border-b-[1px]", "cursor-pointer", 3, "href"], [1, "font-reem", "font-semibold", "text-base", "text-white", "transition-all", "duration-300"], ["src", "common/ArrowUpRight.svg", "alt", "arrow", 1, "invert", "brightness-0"], [1, "flex", "w-full", "justify-center", "items-center", "relative"], [3, "nrcBuildInfo"]], template: function ProductsComponent_Template(rf, ctx) { 319 if (rf & 1) { 320 i02.\u0275\u0275elementStart(0, "section", 0); 321 i02.\u0275\u0275elementContainerStart(1); 322 i02.\u0275\u0275elementStart(2, "div", 1); 323 i02.\u0275\u0275element(3, "app-banner-first", 2); 324 i02.\u0275\u0275elementEnd(); 325 i02.\u0275\u0275elementContainerEnd(); 326 i02.\u0275\u0275elementContainerStart(4); 327 i02.\u0275\u0275template(5, ProductsComponent_ng_container_5_Template, 6, 1, "ng-container", 3)(6, ProductsComponent_ng_container_6_Template, 7, 4, "ng-container", 3); 328 i02.\u0275\u0275elementContainerEnd(); 329 i02.\u0275\u0275elementContainerStart(7); 330 i02.\u0275\u0275template(8, ProductsComponent_ng_container_8_Template, 1, 0, "ng-container", 3)(9, ProductsComponent_ng_container_9_Template, 3, 1, "ng-container", 3); 331 i02.\u0275\u0275elementContainerEnd(); 332 i02.\u0275\u0275elementEnd(); 333 } 334 if (rf & 2) { 335 i02.\u0275\u0275advance(3); 336 i02.\u0275\u0275property("loading", ctx.loading)("firstSection", ctx.firstSection); 337 i02.\u0275\u0275advance(2); 338 i02.\u0275\u0275property("ngIf", ctx.loading); 339 i02.\u0275\u0275advance(); 340 i02.\u0275\u0275property("ngIf", !ctx.loading); 341 i02.\u0275\u0275advance(2); 342 i02.\u0275\u0275property("ngIf", ctx.loading); 343 i02.\u0275\u0275advance(); 344 i02.\u0275\u0275property("ngIf", !ctx.loading && ctx.nrcBuildInfo); 345 } 346 }
346, dependencies: [CommonModule2, i3.NgClass, i3.NgComponentOutlet, i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i3.NgStyle, i3.NgSwitch, i3.NgSwitchCase, i3.NgSwitchDefault, i3.NgPlural, i3.NgPluralCase, i3.AsyncPipe, i3.UpperCasePipe, i3.LowerCasePipe, i3.JsonPipe, i3.SlicePipe, i3.DecimalPipe, i3.PercentPipe, i3.TitleCasePipe, i3.CurrencyPipe, i3.DatePipe, i3.I18nPluralPipe, i3.I18nSelectPipe, i3.KeyValuePipe, BuildNrcComponent, LoaderBoxComponent, BannerFirstComponent, SearchComponent], encapsulation: 2 }); 347}; 348(() => { 349 (typeof ngDevMode === "undefined" || ngDevMode) && i02.\u0275setClassDebugInfo(ProductsComponent, { className: "ProductsComponent", filePath: "src/app/pages/products/products.component.ts", lineNumber: 23 }); 350})(); 351(() => { 352 const id = "src%2Fapp%2Fpages%2Fproducts%2Fproducts.component.ts%40ProductsComponent"; 353 function ProductsComponent_HmrLoad(t) { 354 import( 355 /* @vite-ignore */ 356 __vite__injectQuery(new URL("./@ng/component?c=" + id + "&t=" + encodeURIComponent(t), import.meta.url).href, 'import') 357 ).then((m) => m.default && i02.\u0275\u0275replaceMetadata(ProductsComponent, m.default, [i02, i3, data_service_exports, seo_service_exports], [CommonModule2, BuildNrcComponent, LoaderBoxComponent, BannerFirstComponent, SearchComponent], import.meta, id)); 358 } 359 (typeof ngDevMode === "undefined" || ngDevMode) && ProductsComponent_HmrLoad(Date.now()); 360 (typeof ngDevMode === "undefined" || ngDevMode) && (import.meta.hot && import.meta.hot.on("angular:component-update", (d) => d.id === id && ProductsComponent_HmrLoad(d.timestamp))); 361})(); 362export { 363 ProductsComponent 364}; 365 366 367//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvcHJvZHVjdHMvcHJvZHVjdHMuY29tcG9uZW50LnRzIiwic3JjL2FwcC9wYWdlcy9wcm9kdWN0cy9wcm9kdWN0cy5jb21wb25lbnQuaHRtbCIsInNyYy9hcHAvY29tcG9uZW50cy9jb21tb24vc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCJzcmMvYXBwL2NvbXBvbmVudHMvY29tbW9uL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjdHNJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BvcmR1Y3RzX2ludGFyZmFjZSc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBGaXJzdFNlY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ZpcnN0X3NlY3Rpb25faW50ZXJmYWNlJztcbmltcG9ydCB7IEJ1aWxkTnJjIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9idWlsZF9ucmNfaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlcnZpY2VzSW1hZ2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2hvbWVfaW50ZXJmYWNlJztcbmltcG9ydCB7IEJ1aWxkTnJjQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb21tb24vYnVpbGQtbnJjL2J1aWxkLW5yYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9hZGVyQm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb21tb24vbG9hZGVyLWJveC9sb2FkZXItYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYW5uZXJGaXJzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29tbW9uL2Jhbm5lci1maXJzdC9iYW5uZXItZmlyc3QuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IFNlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZW8uc2VydmljZSc7XG5pbXBvcnQgeyBTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbW1vbi9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZW9JbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Nlb19pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZHVjdHMnLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdWlsZE5yY0NvbXBvbmVudCwgTG9hZGVyQm94Q29tcG9uZW50LCBCYW5uZXJGaXJzdENvbXBvbmVudCwgU2VhcmNoQ29tcG9uZW50XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3RzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3RzLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RzQ29tcG9uZW50IHtcblxuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgcHJvZHVjdEluZm8/OiBQcm9kdWN0c0ludGVyZmFjZTtcbiAgZW52VXJsOiBzdHJpbmcgPSBlbnZpcm9ubWVudC5zdHJhcGlVcmw7XG4gIGZpcnN0U2VjdGlvbj86IEZpcnN0U2VjdGlvblxuICBpdGVtc0lhbWdlOiBTZXJ2aWNlc0ltYWdlW10gPSBbXTtcbiAgZmlsdGVyZWRJdGVtczogU2VydmljZXNJbWFnZVtdID0gW107XG4gIG5yY0J1aWxkSW5mbz86IEJ1aWxkTnJjXG4gIGlucHV0U2VhcmNoPzogc3RyaW5nO1xuICBzb3J0T3JkZXI6IHN0cmluZyA9ICcnO1xuICBub1NlYXJjaDogYm9vbGVhbiA9IGZhbHNlO1xuICBzZW9JbmZvPzogU2VvSW50ZXJmYWNlXG4gIGltYWdlc0xvYWQgPSBuZXcgQXJyYXkoNikuZmlsbCh7fSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkYXRhOiBEYXRhU2VydmljZSwgcHJpdmF0ZSBzZW9TZXJ2aWNlOiBTZW9TZXJ2aWNlKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmRhdGEuZ2V0RGF0YVN0cmFwaShcImFwaS9wcm9kdWN0P3BMZXZlbD01XCIpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgIGlmIChyZXMuZGF0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RJbmZvID0gcmVzLmRhdGFcbiAgICAgICAgICAgI
367HRoaXMuZmlyc3RTZWN0aW9uID0gdGhpcy5wcm9kdWN0SW5mbz8uZmlyc3RTZWN0aW9uXG4gICAgICAgICAgICB0aGlzLml0ZW1zSWFtZ2UgPSB0aGlzLnByb2R1Y3RJbmZvPy5wcm9kdWN0SXRlbXMgPz8gW11cbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaXRlbXNJYW1nZVxuICAgICAgICAgICAgdGhpcy5ucmNCdWlsZEluZm8gPSB0aGlzLnByb2R1Y3RJbmZvPy5idWlsZF9ucmNcbiAgICAgICAgICAgIHRoaXMuc29ydEl0ZW1zKHsgc29ydE9yZGVyOiAnYXNjJyB9KVxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHRoaXMuc2VvSW5mbyA9IHRoaXMucHJvZHVjdEluZm8/LnNlbztcbiAgICAgICAgICAgIHRoaXMuc2VvU2VydmljZS5zZXRNZXRhVGl0bGUodGhpcy5zZW9JbmZvPy50aXRsZSA/PyBcIlwiKTtcbiAgICAgICAgICAgIHRoaXMuc2VvU2VydmljZS5zZXRNZXRhRGVzY3JpcHRpb24odGhpcy5zZW9JbmZvPy5kZXNjcmlwdGlvbiA/PyBcIlwiKTtcbiAgICAgICAgICAgIHRoaXMuc2VvU2VydmljZS5zZXRNZXRhS2V5d29yZHModGhpcy5zZW9JbmZvPy5rZXl3b3JkcyA/PyBcIlwiKVxuICAgICAgICAgICAgaWYgKHRoaXMuc2VvSW5mbz8uaW1hZ2U/LmRhdGE/LmF0dHJpYnV0ZXM/LnVybCkge1xuICAgICAgICAgICAgICB0aGlzLnNlb1NlcnZpY2Uuc2V0TWV0YUltYWdlKGAke2Vudmlyb25tZW50LnN0cmFwaVVybH0ke3RoaXMuc2VvSW5mbz8uaW1hZ2UuZGF0YS5hdHRyaWJ1dGVzLnVybCA/PyAnJ31gKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG5cbiAgb25TZWFyY2hDaGFuZ2VzKGV2ZW50OiB7IGlucHV0VGV4dDogc3RyaW5nIH0pIHtcbiAgICB0aGlzLmlucHV0U2VhcmNoID0gKGV2ZW50LmlucHV0VGV4dClcbiAgICB0aGlzLmZpbHRlckl0ZW1zU2VsZWN0KCk7XG4gIH1cblxuICBmaWx0ZXJJdGVtc1NlbGVjdCgpIHtcbiAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLml0ZW1zSWFtZ2UuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgY29uc3QgbWF0Y2hlc1NlYXJjaCA9IHRoaXMuaW5wdXRTZWFyY2ggPyAoaXRlbS5kZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuaW5wdXRTZWFyY2gudG9Mb3dlckNhc2UoKSkpIDogdHJ1ZTtcbiAgICAgIHJldHVybiBtYXRjaGVzU2VhcmNoO1xuICAgIH0pO1xuICB9XG5cbiAgc29ydEl0ZW1zKGV2ZW50OiB7IHNvcnRPcmRlcjogc3RyaW5nIH0pIHtcbiAgICB0aGlzLnNvcnRPcmRlciA9IChldmVudC5zb3J0T3JkZXIpXG4gICAgaWYgKHRoaXMuc29ydE9yZGVyID09PSAnYXNjJykge1xuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zLnNvcnQoKGEsIGIpID0+IGEuZGVzY3JpcHRpb24ubG9jYWxlQ29tcGFyZShiLmRlc2NyaXB0aW9uKSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNvcnRPcmRlciA9PT0gJ2Rlc2MnKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXMuc29ydCgoYSwgYikgPT4gYi5kZXNjcmlwdGlvbi5sb2NhbGVDb21wYXJlKGEuZGVzY3JpcHRpb24pKTtcbiAgICB9XG4gIH1cblxuICBjbGVhbkRlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBkZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xccysvZywgJy0nKTtcbiAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtYWluLXNlY3Rpb25cIj5cbiAgICA8bmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCB3LWZ1bGxcIj5cbiAgICAgICAgICAgIDxhcHAtYmFubmVyLWZpcnN0IGNvbG9yV29yZD1cInRleHQtbnJjLXBpbmtcIiBbbG9hZGluZ109XCJ0aGlzLmxvYWRpbmdcIlxuICAgICAgICAgICAgICAgIFtmaXJzdFNlY3Rpb25dPVwidGhpcy5maXJzdFNlY3Rpb25cIj48L2FwcC1iYW5uZXItZmlyc3Q+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aGlzLmxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHctZnVsbCBnYXAtMTAgbGc6Z2FwLTEyIHBhZGRpbmctZ2xvYmFsIHB5LTEwIGxnOnB5LTEyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1sb2FkZXItYm94IHdpZHRoPVwidy1mdWxsXCIgaGVpZ2h0PVwiaC0xMlwiPjwvYXBwLWxvYWRlci1ib3g+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgbWQ6Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTMgZ2FwLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0aGlzLmltYWdlc0xvYWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtbG9hZGVyLWJveCB3aWR0aD1cInctZnVsbFwiIGhlaWdodD1cImgtNzJcIj48L2FwcC1sb2FkZXItYm94PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0aGlzLmxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHctZnVsbCBnYXAtMTAgbGc6Z2FwLTEyIHBhZGRpbmctZ2xvYmFsIHB5LTEwIGxnOnB5LTEyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1zZWFyY2ggW3RleHRIb3Zlcl09XCIgdGhpcy5wcm9kdWN0SW5mbz8uaG92ZXJTZWFyY2g/PycnXCIgW3NldFRleHRdPVwidGhpcy5pbnB1dFNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2VkKT1cInNvcnRJdGVtcygkZXZlbnQpXCIgKHZhbHVlQ2hhbmdlZElucHV0KT1cIm9uU2VhcmNoQ2hhbmdlcygkZXZlbnQpXCI+PC9hcHAtc2VhcmNoPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcmVkIHRleHQteHMgbWwtNFwiICpuZ0lmPVwidGhpcy5maWx0ZXJlZEl0ZW1zLmxlbmd0aD09MFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhlcmUgYXJlIG5vIGNhdGVnb3JpZXMgdGhhdCBtY
367XRjaCB5b3VyIHNlYXJjaC5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIG1kOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy0zIGdhcC00XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdGhpcy5maWx0ZXJlZEl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGwgcmVsYXRpdmUgZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiYXNwZWN0LVszOTYvMzI4XSBvYmplY3QtY292ZXIgdy1mdWxsIGdyb3VwLWhvdmVyOnNjYWxlLTEwNSAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJ0aGlzLmVudlVybCArIGl0ZW0uaW1hZ2UudXJsXCIgW2FsdF09XCJpdGVtLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtZW5kIGFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXRyYW5zcGFyZW50IHZpYS10cmFuc3BhcmVudCB0by1bIzA0MDQwNF0gei0xMCBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwiJy9jb250YWN0LycrY2xlYW5EZXNjcmlwdGlvbiggaXRlbS5kZXNjcmlwdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gbXgtOCBwYi00IG1iLTYgYm9yZGVyLWItd2hpdGUgYm9yZGVyLWItWzFweF0gY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoM1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9udC1yZWVtIGZvbnQtc2VtaWJvbGQgdGV4dC1iYXNlICB0ZXh0LXdoaXRlIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbS5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImludmVydCBicmlnaHRuZXNzLTBcIiBzcmM9XCJjb21tb24vQXJyb3dVcFJpZ2h0LnN2Z1wiIGFsdD1cImFycm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aGlzLmxvYWRpbmdcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0aGlzLmxvYWRpbmcgJiYgdGhpcy5ucmNCdWlsZEluZm9cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgcmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICA8YXBwLWJ1aWxkLW5yYyBbbnJjQnVpbGRJbmZvXT1cInRoaXMubnJjQnVpbGRJbmZvXCI+PC9hcHAtYnVpbGQtbnJjPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG48L3NlY3Rpb24+IiwiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFNpbXBsZUNoYW5nZXMsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zZWFyY2gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2VhcmNoLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbXBvbmVudCB7XG4gIHNvcnRPcmRlcjogc3RyaW5nID0gJyc7XG4gIGlucHV0VGV4dDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNldFRleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHRIb3Zlcjogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgc2VhcmNoU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBzb3J0T3JkZXI6IHN0cmluZyB9PigpO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkSW5wdXQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaW5wdXRUZXh0OiBzdHJpbmcgfT4oKTtcbiAgQE91dHB1dCgpIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgZW1pdENsaWNrKCkge1xuICAgIHRoaXMuaW5wdXRUZXh0ID0gXCJcIlxuICAgIHRoaXMuc2VhcmNoU3ViamVjdC5uZXh0KHRoaXMuaW5wdXRUZXh0KTtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCgpOyAvLyBFbWl0aXIgZWwgZXZlbnRvXG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBkZWJvdW5jZVRpbWVNcyA9IDM1MDtcbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWFyY2hTdWJqZWN0LnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lTXMpKS5zdWJzY3JpYmUoKHNlYXJjaFZhbHVlKSA9PiB7XG4gICAgICB0aGlzLnBlcmZvcm1TZWFyY2goc2VhcmNoVmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuXG5cbiAgICBpZiAoY2hhbmdlc1snc2V0VGV4dCddICYmIGNoYW5nZXNbJ3NldFRleHQnXS5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pbnB1dFRleHQgPSBjaGFuZ2VzWydzZXRUZX
367h0J10uY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snZGVsZXRlU29ydCddICYmIGNoYW5nZXNbJ2RlbGV0ZVNvcnQnXS5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKGNoYW5nZXNbJ2RlbGV0ZVNvcnQnXS5jdXJyZW50VmFsdWUgPT0gdHJ1ZSkge1xuICAgICAgICB0aGlzLnNvcnRPcmRlciA9ICcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGVtaXRTb3J0T3JkZXIoKSB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZWQuZW1pdCh7IHNvcnRPcmRlcjogdGhpcy5zb3J0T3JkZXIgfSk7XG4gIH1cbiAgb25TZWFyY2goKSB7XG4gICAgdGhpcy5zZWFyY2hTdWJqZWN0Lm5leHQodGhpcy5pbnB1dFRleHQpO1xuICB9XG4gIHBlcmZvcm1TZWFyY2goc2VhcmNoVmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudmFsdWVDaGFuZ2VkSW5wdXQuZW1pdCh7IGlucHV0VGV4dDogc2VhcmNoVmFsdWUgfSlcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBtdC00IGJnLXdoaXRlIHJvdW5kZWQtZnVsbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBnYXAtMiBtZDpnYXAtNCBib3JkZXItbmV1dHJvLTUwIGJvcmRlciByb3VuZGVkLWZ1bGwganVzdGlmeS1iZXR3ZWVuIHBsLTQgcHItOFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcm91bmRlZC1mdWxsIHctZnVsbFwiPlxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjVcIiB2aWV3Qm94PVwiMCAwIDI0IDI1XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOS44NDAzQzE1LjQxODMgMTkuODQwMyAxOSAxNi4yNTg2IDE5IDExLjg0MDNDMTkgNy40MjIwNSAxNS40MTgzIDMuODQwMzMgMTEgMy44NDAzM0M2LjU4MTcyIDMuODQwMzMgMyA3LjQyMjA1IDMgMTEuODQwM0MzIDE2LjI1ODYgNi41ODE3MiAxOS44NDAzIDExIDE5Ljg0MDNaXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk0QTNCOFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yMSAyMS44NDAzTDE3IDE3Ljg0MDNcIiBzdHJva2U9XCIjOTRBM0I4XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwiaW5wdXRUZXh0XCIgKGlucHV0KT1cIm9uU2VhcmNoKClcIiB0eXBlPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJ0aGlzLnRleHRIb3ZlclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb250LW51bml0by1zYW5zIG91dGxpbmUtbm9uZSBibG9jayB3LWZ1bGwgcC0yIHJvdW5kZWQtZnVsbCB0ZXh0LWJsYWNrIGgtMTAgbWQ6aC0xMiByb3VuZGVkLWZ1bGwgdGV4dC1uZXV0cm8tNjAwIHRleHQtc20gbWQ6dGV4dC1iYXNlIHBsYWNlaG9sZGVyLW5ldXRyby00MDBcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggdy0zMiBtZDp3LWZpdFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtWzc1JV0gdy1bMnB4XSBteS1hdXRvIGJnLWxpZ2h0LTMwMCBcIj4mbmJzcDs8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBiZy10cmFuc3BhcmVudCByb3VuZGVkLWZ1bGwgdy1maXQgcmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IFsobmdNb2RlbCldPVwic29ydE9yZGVyXCIgKGNoYW5nZSk9XCJlbWl0U29ydE9yZGVyKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJsb2NrIGZvbnQtbnVuaXRvLXNhbnMgei0xMCB3LWF1dG8gcHktMiBweC0yIHctZnVsbCBtZDp3LWF1dG8gbWQ6cHgtNiB0ZXh0LXNtIG1kOnRleHQtYmFzZSByb3VuZGVkLWZ1bGwgdy1maXQgdGV4dC1uZXV0cm8tMzAwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpib3JkZXItYmxhY2sgaC0xMCBtZDpoLTEyIGN1c3RvbS1zZWxlY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIGRpc2FibGVkIHNlbGVjdGVkPlNvcnQgYnk8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBjbGFzcz1cIlwiIHZhbHVlPVwiYXNjXCI+T3JkZXI6IEEtWjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIGNsYXNzPVwiXCIgdmFsdWU9XCJkZXNjXCI+T3JkZXI6IFotQTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHItNCBtZDpwci0yIG1kOnAtMiBhYnNvbHV0ZSAtcmlnaHQtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMTQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMy41IDE1LjI1TDcgMTguNzVMMTAuNSAxNS4yNVwiIHN0cm9rZT1cIiM4MzkwOUVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMuNSA4Ljc1TDcgNS4yNUwxMC41IDguNzVcIiBzdHJva2U9XCIjODM5MDlFXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVMsZ0JBQUFBLHFCQUFvQjtB
367QUM3QixTQUFTLGFBQUFDLGtCQUFpQjs7O0FFRDFCLFNBQVMsb0JBQW9CO0FBQzdCLFNBQVMsV0FBVyxRQUFRLGNBQTZCLGFBQWE7QUFDdEUsU0FBUyxtQkFBbUI7QUFDNUIsU0FBUyxlQUFlO0FBQ3hCLFNBQVMsb0JBQW9COzs7O0FBUXZCLElBQU8sa0JBQVAsTUFBTyxpQkFBZTtFQUMxQixZQUFvQjtFQUNwQixZQUFvQjtFQUNYO0VBQ0EsWUFBb0I7RUFDckIsZ0JBQWdCLElBQUksUUFBTztFQUN6QixlQUFlLElBQUksYUFBWTtFQUMvQixvQkFBb0IsSUFBSSxhQUFZO0VBQ3BDLFVBQThCLElBQUksYUFBWTtFQUN4RCxZQUFTO0FBQ1AsU0FBSyxZQUFZO0FBQ2pCLFNBQUssY0FBYyxLQUFLLEtBQUssU0FBUztBQUN0QyxTQUFLLFFBQVEsS0FBSTtFQUNuQjtFQUNpQixpQkFBaUI7RUFDbEMsV0FBUTtBQUNOLFNBQUssY0FBYyxLQUFLLGFBQWEsS0FBSyxjQUFjLENBQUMsRUFBRSxVQUFVLENBQUMsZ0JBQWU7QUFDbkYsV0FBSyxjQUFjLFdBQVc7SUFDaEMsQ0FBQztFQUNIO0VBRUEsWUFBWSxTQUFzQjtBQUdoQyxRQUFJLFFBQVEsU0FBUyxLQUFLLFFBQVEsU0FBUyxFQUFFLGlCQUFpQixRQUFXO0FBQ3ZFLFdBQUssWUFBWSxRQUFRLFNBQVMsRUFBRTtJQUN0QztBQUNBLFFBQUksUUFBUSxZQUFZLEtBQUssUUFBUSxZQUFZLEVBQUUsaUJBQWlCLFFBQVc7QUFDN0UsVUFBSSxRQUFRLFlBQVksRUFBRSxnQkFBZ0IsTUFBTTtBQUM5QyxhQUFLLFlBQVk7TUFDbkI7SUFDRjtFQUNGO0VBRUEsZ0JBQWE7QUFDWCxTQUFLLGFBQWEsS0FBSyxFQUFFLFdBQVcsS0FBSyxVQUFTLENBQUU7RUFDdEQ7RUFDQSxXQUFRO0FBQ04sU0FBSyxjQUFjLEtBQUssS0FBSyxTQUFTO0VBQ3hDO0VBQ0EsY0FBYyxhQUFtQjtBQUMvQixTQUFLLGtCQUFrQixLQUFLLEVBQUUsV0FBVyxZQUFXLENBQUU7RUFDeEQ7O3FDQTFDVyxrQkFBZTtFQUFBOzRFQUFmLGtCQUFlLFdBQUEsQ0FBQSxDQUFBLFlBQUEsQ0FBQSxHQUFBLFFBQUEsRUFBQSxTQUFBLFdBQUEsV0FBQSxZQUFBLEdBQUEsU0FBQSxFQUFBLGNBQUEsZ0JBQUEsbUJBQUEscUJBQUEsU0FBQSxVQUFBLEdBQUEsVUFBQSxDQUFBLGlDQUFBLEdBQUEsT0FBQSxJQUFBLE1BQUEsR0FBQSxRQUFBLENBQUEsQ0FBQSxHQUFBLFFBQUEsWUFBQSxRQUFBLFlBQUEsY0FBQSxHQUFBLENBQUEsR0FBQSxRQUFBLFVBQUEsU0FBQSxZQUFBLG9CQUFBLFVBQUEsZ0JBQUEsbUJBQUEsUUFBQSxNQUFBLEdBQUEsQ0FBQSxHQUFBLFFBQUEsZ0JBQUEsZ0JBQUEsUUFBQSxHQUFBLENBQUEsU0FBQSxNQUFBLFVBQUEsTUFBQSxXQUFBLGFBQUEsUUFBQSxRQUFBLFNBQUEsNEJBQUEsR0FBQSxDQUFBLEtBQUEscUtBQUEsVUFBQSxXQUFBLGdCQUFBLE9BQUEsa0JBQUEsU0FBQSxtQkFBQSxPQUFBLEdBQUEsQ0FBQSxLQUFBLDBCQUFBLFVBQUEsV0FBQSxnQkFBQSxPQUFBLGtCQUFBLFNBQUEsbUJBQUEsT0FBQSxHQUFBLENBQUEsUUFBQSxRQUFBLEdBQUEsb0JBQUEsZ0JBQUEsU0FBQSxVQUFBLE9BQUEsZ0JBQUEsY0FBQSxRQUFBLFdBQUEsZ0JBQUEsbUJBQUEsV0FBQSxnQkFBQSwwQkFBQSxHQUFBLGlCQUFBLFNBQUEsV0FBQSxhQUFBLEdBQUEsQ0FBQSxHQUFBLFFBQUEsUUFBQSxVQUFBLEdBQUEsQ0FBQSxHQUFBLFdBQUEsV0FBQSxXQUFBLGNBQUEsR0FBQSxDQUFBLEdBQUEsUUFBQSxnQkFBQSxrQkFBQSxnQkFBQSxTQUFBLFVBQUEsR0FBQSxDQUFBLEdBQUEsU0FBQSxvQkFBQSxRQUFBLFVBQUEsUUFBQSxRQUFBLFVBQUEsYUFBQSxXQUFBLFdBQUEsZ0JBQUEsZ0JBQUEsU0FBQSxtQkFBQSxzQkFBQSxzQkFBQSxRQUFBLFdBQUEsaUJBQUEsR0FBQSxpQkFBQSxVQUFBLFNBQUEsR0FBQSxDQUFBLFNBQUEsSUFBQSxZQUFBLElBQUEsWUFBQSxFQUFBLEdBQUEsQ0FBQSxTQUFBLE9BQUEsR0FBQSxFQUFBLEdBQUEsQ0FBQSxTQUFBLFFBQUEsR0FBQSxFQUFBLEdBQUEsQ0FBQSxHQUFBLFFBQUEsV0FBQSxVQUFBLFlBQUEsVUFBQSxHQUFBLENBQUEsU0FBQSxNQUFBLFVBQUEsTUFBQSxXQUFBLGFBQUEsUUFBQSxRQUFBLFNBQUEsNEJBQUEsR0FBQSxDQUFBLEtBQUEsaUNBQUEsVUFBQSxXQUFBLGdCQUFBLE9BQUEsa0JBQUEsU0FBQSxtQkFBQSxPQUFBLEdBQUEsQ0FBQSxLQUFBLDhCQUFBLFVBQUEsV0FBQSxnQkFBQSxPQUFBLGtCQUFBLFNBQUEsbUJBQUEsT0FBQSxDQUFBLEdBQUEsVUFBQSxTQUFBLHlCQUFBLElBQUEsS0FBQTtBQUFBLFFBQUEsS0FBQSxHQUFBO0FDWjVCLE1BQUEsNEJBQUEsR0FBQSxPQUFBLENBQUEsRUFBc0QsR0FBQSxPQUFBLENBQUEsRUFDcUQsR0FBQSxPQUFBLENBQUE7O0FBRS9GLE1BQUEsNEJBQUEsR0FBQSxPQUFBLENBQUE7QUFDSSxNQUFBLHVCQUFBLEdBQUEsUUFBQSxDQUFBLEVBRXlGLEdBQUEsUUFBQSxDQUFBO0FBRzdGLE1BQUEsMEJBQUE7O0FBQ0EsTUFBQSw0QkFBQSxHQUFBLFNBQUEsQ0FBQTtBQUFPLE1BQUEsOEJBQUEsaUJBQUEsU0FBQSx3REFBQSxRQUFBO0FBQUEsUUFBQSxnQ0FBQSxJQUFBLFdBQUEsTUFBQSxNQUFBLElBQUEsWUFBQTtBQUFBLGVBQUE7TUFBQSxDQUFBO0FBQXdCLE1BQUEsd0JBQUEsU0FBQSxTQUFBLGtEQUFBO0FBQUEsZUFBUyxJQUFBLFNBQUE7TUFBVSxDQUFBO0FBQWxELE1BQUEsMEJBQUEsRUFDMks7QUFFL0ssTUFBQSw0QkFBQSxHQUFBLE9BQUEsQ0FBQSxFQUFnQyxHQUFBLE9BQUEsQ0FBQTtBQUN1QixNQUFBLG9CQUFBLEdBQUEsTUFBQTtBQUFNLE1BQUEsMEJBQUE7QUFDekQsTUFBQSw0QkFBQSxJQUFBLE9BQUEsQ0FBQSxFQUEwRSxJQUFBLFVBQUEsRUFBQTtBQUM5RCxNQUFBLDhCQUFBLGlCQUFBLFNBQUEsMERBQUEsUUFBQTtBQUFBLFFBQUEsZ0NBQUEsSUFBQSxXQUFBLE1BQUEsTUFBQSxJQUFBLFlBQUE7QUFBQSxlQUFBO01BQUEsQ0FBQTtBQUF3QixNQUFBLHdCQUFBLFVBQUEsU0FBQSxxREFBQTtBQUFBLGVBQVUsSUFBQSxjQUFBO01BQWUsQ0FBQTtBQUVyRCxNQUFBLDRCQUFBLElBQUEsVUFBQSxFQUFBO0FBQW1DLE1BQUEsb0JBQUEsSUFBQSxTQUFBO0FBQU8sTUFBQSwwQkFBQTtBQUMxQyxNQUFBLDRCQUFBLElBQUEsVUFBQSxFQUFBO0FBQTZCLE1BQUEsb0JBQUEsSUFBQSxZQUFBO0FBQVUsTUFBQSwwQkFBQTtBQUN2QyxNQUFBLDRCQUFBLElBQUEsVUFBQSxFQUFBO0FBQThCLE1BQUEsb0JBQUEsSUFBQSxZQUFBO0FBQVUsTUFBQSwwQkFBQSxFQUFTO0FBRXJELE1BQUEsNEJBQUEsSUFBQSxRQUFBLEVBQUE7O0FBQ0ksTUFBQSw0QkFBQSxJQUFBLE9BQUEsRUFBQTtBQUNJLE1BQUEsdUJBQUEsSUFBQSxRQUFBLEVBQUEsRUFDcUQsSUFBQSxRQUFBLEVBQUE7QUFHekQsTUFBQSwwQkFBQSxFQUFNLEVBQ0gsRUFDTCxFQUNKLEVBQ0o7OztBQXRCUyxNQUFBLHVCQUFBLENBQUE7QUFBQSxNQUFBLDhCQUFBLFdBQUEsSUFBQSxTQUFBO0FBQXlELE1BQUEsd0JBQUEsZUFBQSxJQUFBLFNBQUE7QUFNcEQsTUF
367BQSx1QkFBQSxDQUFBO0FBQUEsTUFBQSw4QkFBQSxXQUFBLElBQUEsU0FBQTs7b0JEUlosY0FBWSxZQUFBLHNCQUFBLFlBQUEsU0FBQSxxQkFBQSxZQUFBLGFBQUEsaUJBQUEsb0JBQUEsYUFBQSxpQkFBQSxjQUFBLGtCQUFBLGtCQUFBLGFBQUEsY0FBQSxnQkFBQSxnQkFBQSxrQkFBQSxpQkFBQSxhQUFBLG1CQUFBLG1CQUFBLGlCQUFFLGFBQVcsdUJBQUEsbUJBQUEsaUNBQUEseUJBQUEsd0JBQUEsdUJBQUEsaUNBQUEsK0JBQUEsdUNBQUEsOEJBQUEsb0JBQUEseUJBQUEsc0JBQUEsdUJBQUEsdUJBQUEscUJBQUEsOEJBQUEsbUJBQUEsaUJBQUEsaUJBQUEsWUFBQSxpQkFBQSxTQUFBLEdBQUEsUUFBQSxDQUFBLDhXQUFBLEVBQUEsQ0FBQTs7O2dGQUl4QixpQkFBZSxFQUFBLFdBQUEsbUJBQUEsVUFBQSx3REFBQSxZQUFBLEdBQUEsQ0FBQTtBQUFBLEdBQUE7Ozs7Ozs7OERBQWYsaUJBQWUsRUFBQSxTQUFBLENBQUEsSUFBQSxJQUFBLEVBQUEsR0FBQSxDQUFBLGNBQUEsV0FBQSxHQUFBLGFBQUEsRUFBQSxDQUFBO0VBQUE7QUFBQSxHQUFBLE9BQUEsY0FBQSxlQUFBLGNBQUEsd0JBQUEsS0FBQSxJQUFBLENBQUE7QUFBQSxHQUFBLE9BQUEsY0FBQSxlQUFBLGVBQUEsWUFBQSxPQUFBLFlBQUEsSUFBQSxHQUFBLDRCQUFBLE9BQUEsRUFBQSxPQUFBLE1BQUEsd0JBQUEsRUFBQSxTQUFBLENBQUE7QUFBQSxHQUFBO0E7Ozs7OztBREVSLElBQUEsc0NBQUEsQ0FBQTtBQUNJLElBQUEsd0JBQUEsR0FBQSxrQkFBQSxDQUFBOzs7Ozs7QUFQaEIsSUFBQSxzQ0FBQSxDQUFBO0FBQ0ksSUFBQSw2QkFBQSxHQUFBLE9BQUEsQ0FBQSxFQUFpRixHQUFBLE9BQUEsQ0FBQTtBQUV6RSxJQUFBLHdCQUFBLEdBQUEsa0JBQUEsQ0FBQTtBQUNKLElBQUEsMkJBQUE7QUFDQSxJQUFBLDZCQUFBLEdBQUEsT0FBQSxDQUFBO0FBQ0ksSUFBQSx5QkFBQSxHQUFBLDBEQUFBLEdBQUEsR0FBQSxnQkFBQSxDQUFBO0FBR0osSUFBQSwyQkFBQSxFQUFNOzs7OztBQUg2QixJQUFBLHdCQUFBLENBQUE7QUFBQSxJQUFBLHlCQUFBLFdBQUEsT0FBQSxVQUFBOzs7OztBQVcvQixJQUFBLDZCQUFBLEdBQUEsUUFBQSxFQUFBO0FBQ0ksSUFBQSxxQkFBQSxHQUFBLG1EQUFBO0FBQ0osSUFBQSwyQkFBQTs7Ozs7QUFHQSxJQUFBLHNDQUFBLENBQUE7QUFDSSxJQUFBLDZCQUFBLEdBQUEsT0FBQSxFQUFBO0FBQ0ksSUFBQSx3QkFBQSxHQUFBLE9BQUEsRUFBQTtBQUVBLElBQUEsNkJBQUEsR0FBQSxPQUFBLEVBQUEsRUFDaUgsR0FBQSxLQUFBLEVBQUEsRUFFVCxHQUFBLE1BQUEsRUFBQTtBQUc1RixJQUFBLHFCQUFBLENBQUE7QUFDSixJQUFBLDJCQUFBO0FBQ0EsSUFBQSx3QkFBQSxHQUFBLE9BQUEsRUFBQTtBQUNKLElBQUEsMkJBQUEsRUFBSSxFQUNGOzs7Ozs7QUFYRixJQUFBLHdCQUFBLENBQUE7QUFBQSxJQUFBLHlCQUFBLE9BQUEsT0FBQSxTQUFBLFFBQUEsTUFBQSxLQUFBLDJCQUFBLEVBQW9DLE9BQUEsUUFBQSxXQUFBO0FBR2pDLElBQUEsd0JBQUEsQ0FBQTtBQUFBLElBQUEseUJBQUEsUUFBQSxjQUFBLE9BQUEsaUJBQUEsUUFBQSxXQUFBLEdBQUEsMkJBQUE7QUFJSyxJQUFBLHdCQUFBLENBQUE7QUFBQSxJQUFBLGlDQUFBLEtBQUEsUUFBQSxhQUFBLEdBQUE7Ozs7OztBQXBCaEMsSUFBQSxzQ0FBQSxDQUFBO0FBQ0ksSUFBQSw2QkFBQSxHQUFBLE9BQUEsQ0FBQSxFQUFpRixHQUFBLE9BQUEsQ0FBQSxFQUM1QyxHQUFBLGNBQUEsRUFBQTtBQUV6QixJQUFBLHlCQUFBLGdCQUFBLFNBQUEsNkVBQUEsUUFBQTtBQUFBLE1BQUEsNEJBQUEsR0FBQTtBQUFBLFlBQUEsU0FBQSw0QkFBQTtBQUFBLGFBQUEsMEJBQWdCLE9BQUEsVUFBQSxNQUFBLENBQWlCO0lBQUEsQ0FBQSxFQUFDLHFCQUFBLFNBQUEsa0ZBQUEsUUFBQTtBQUFBLE1BQUEsNEJBQUEsR0FBQTtBQUFBLFlBQUEsU0FBQSw0QkFBQTtBQUFBLGFBQUEsMEJBQXNCLE9BQUEsZ0JBQUEsTUFBQSxDQUF1QjtJQUFBLENBQUE7QUFBRSxJQUFBLDJCQUFBO0FBQ3JGLElBQUEseUJBQUEsR0FBQSxrREFBQSxHQUFBLEdBQUEsUUFBQSxFQUFBO0FBR0osSUFBQSwyQkFBQTtBQUNBLElBQUEsNkJBQUEsR0FBQSxPQUFBLENBQUE7QUFDSSxJQUFBLHlCQUFBLEdBQUEsMERBQUEsR0FBQSxHQUFBLGdCQUFBLENBQUE7QUFpQkosSUFBQSwyQkFBQSxFQUFNOzs7Ozs7QUF4QlUsSUFBQSx3QkFBQSxDQUFBO0FBQUEsSUFBQSx5QkFBQSxjQUFBLFVBQUEsT0FBQSxlQUFBLE9BQUEsT0FBQSxPQUFBLFlBQUEsaUJBQUEsUUFBQSxZQUFBLFNBQUEsVUFBQSxFQUFBLEVBQWdELFdBQUEsT0FBQSxXQUFBO0FBRXZCLElBQUEsd0JBQUE7QUFBQSxJQUFBLHlCQUFBLFFBQUEsT0FBQSxjQUFBLFVBQUEsQ0FBQTtBQUtOLElBQUEsd0JBQUEsQ0FBQTtBQUFBLElBQUEseUJBQUEsV0FBQSxPQUFBLGFBQUE7Ozs7O0FBdUIzQyxJQUFBLGlDQUFBLENBQUE7Ozs7O0FBQ0EsSUFBQSxzQ0FBQSxDQUFBO0FBQ0ksSUFBQSw2QkFBQSxHQUFBLE9BQUEsRUFBQTtBQUNJLElBQUEsd0JBQUEsR0FBQSxpQkFBQSxFQUFBO0FBQ0osSUFBQSwyQkFBQTs7Ozs7QUFEbUIsSUFBQSx3QkFBQSxDQUFBO0FBQUEsSUFBQSx5QkFBQSxnQkFBQSxPQUFBLFlBQUE7OztBRGxDekIsSUFBTyxvQkFBUCxNQUFPLG1CQUFpQjtFQWdCbEI7RUFBMkI7RUFkckMsVUFBbUI7RUFDbkI7RUFDQSxTQUFpQixZQUFZO0VBQzdCO0VBQ0EsYUFBOEIsQ0FBQTtFQUM5QixnQkFBaUMsQ0FBQTtFQUNqQztFQUNBO0VBQ0EsWUFBb0I7RUFDcEIsV0FBb0I7RUFDcEI7RUFDQSxhQUFhLElBQUksTUFBTSxDQUFDLEVBQUUsS0FBSyxDQUFBLENBQUU7RUFFakMsWUFDVSxNQUEyQixZQUFzQjtBQUFqRCxTQUFBLE9BQUE7QUFBMkIsU0FBQSxhQUFBO0FBQ25DLFNBQUssVUFBVTtBQUNmLFNBQUssS0FBSyxjQUFjLHNCQUFzQixFQUFFLFVBQVU7TUFDeEQsTUFBTSxDQUFDLFFBQVk7QUFDakIsWUFBSSxLQUFLO0FBQ1AsY0FBSSxJQUFJLFFBQVEsTUFBTTtBQUNwQixpQkFBSyxjQUFjLElBQUk7QUFDdkIsaUJBQUssZUFBZSxLQUFLLGFBQWE7QUFDdEMsaUJBQUssYUFBYSxLQUFLLGFBQWEsZ0JBQWdCLENBQUE7QUFDcEQsaUJBQUssZ0JBQWdCLEtBQUs7QUFDMUIsaUJBQUssZUFBZSxLQUFLLGFBQWE7QUFDdEMsaUJBQUssVUFBVSxFQUFFLFdBQVcsTUFBSyxDQUFFO0FBQ25DLGlCQUFLLFVBQVU7QUFFZixpQkFBSyxVQUFVLEtBQUssYUFBYTtBQUNqQyxpQkFBSyxXQUFXLGFBQWEsS0FBSyxTQUFTLFNBQVMsRUFBRTtBQUN0RCxpQkFBSyxXQUFXLG1CQUFtQixLQUFLLFNBQVMsZUFBZSxFQUFFO0FBQ2xFLGlCQUFLLFdBQVcsZ0JBQWdCLEtBQUssU0FBUyxZQUFZLEVBQUU7QUFDNUQsZ0JBQUksS0FBSyxTQUFTLE9BQU8sTUFBTSxZQUFZLEtB
367QUs7QUFDOUMsbUJBQUssV0FBVyxhQUFhLEdBQUcsWUFBWSxTQUFTLEdBQUcsS0FBSyxTQUFTLE1BQU0sS0FBSyxXQUFXLE9BQU8sRUFBRSxFQUFFO1lBQ3pHO1VBQ0Y7UUFDRjtNQUNGO01BQ0EsT0FBTyxDQUFDLFVBQWM7QUFDcEIsYUFBSyxVQUFVO01BQ2pCO0tBQ0Q7RUFDSDtFQUdBLGdCQUFnQixPQUE0QjtBQUMxQyxTQUFLLGNBQWUsTUFBTTtBQUMxQixTQUFLLGtCQUFpQjtFQUN4QjtFQUVBLG9CQUFpQjtBQUNmLFNBQUssZ0JBQWdCLEtBQUssV0FBVyxPQUFPLFVBQU87QUFDakQsWUFBTSxnQkFBZ0IsS0FBSyxjQUFlLEtBQUssWUFBWSxZQUFXLEVBQUcsU0FBUyxLQUFLLFlBQVksWUFBVyxDQUFFLElBQUs7QUFDckgsYUFBTztJQUNULENBQUM7RUFDSDtFQUVBLFVBQVUsT0FBNEI7QUFDcEMsU0FBSyxZQUFhLE1BQU07QUFDeEIsUUFBSSxLQUFLLGNBQWMsT0FBTztBQUM1QixXQUFLLGNBQWMsS0FBSyxDQUFDLEdBQUcsTUFBTSxFQUFFLFlBQVksY0FBYyxFQUFFLFdBQVcsQ0FBQztJQUM5RSxXQUFXLEtBQUssY0FBYyxRQUFRO0FBQ3BDLFdBQUssY0FBYyxLQUFLLENBQUMsR0FBRyxNQUFNLEVBQUUsWUFBWSxjQUFjLEVBQUUsV0FBVyxDQUFDO0lBQzlFO0VBQ0Y7RUFFQSxpQkFBaUIsYUFBbUI7QUFDbEMsV0FBTyxZQUFZLFlBQVcsRUFBRyxRQUFRLFFBQVEsR0FBRztFQUN0RDs7cUNBdEVXLG9CQUFpQixnQ0FBQSxXQUFBLEdBQUEsZ0NBQUEsVUFBQSxDQUFBO0VBQUE7NkVBQWpCLG9CQUFpQixXQUFBLENBQUEsQ0FBQSxjQUFBLENBQUEsR0FBQSxPQUFBLElBQUEsTUFBQSxHQUFBLFFBQUEsQ0FBQSxDQUFBLEdBQUEsY0FBQSxHQUFBLENBQUEsR0FBQSxRQUFBLFlBQUEsUUFBQSxHQUFBLENBQUEsYUFBQSxpQkFBQSxHQUFBLFdBQUEsY0FBQSxHQUFBLENBQUEsR0FBQSxNQUFBLEdBQUEsQ0FBQSxHQUFBLFFBQUEsWUFBQSxVQUFBLFVBQUEsYUFBQSxrQkFBQSxTQUFBLFVBQUEsR0FBQSxDQUFBLEdBQUEsUUFBQSxZQUFBLE9BQUEsR0FBQSxDQUFBLFNBQUEsVUFBQSxVQUFBLE1BQUEsR0FBQSxDQUFBLEdBQUEsUUFBQSxrQkFBQSxrQkFBQSxPQUFBLEdBQUEsQ0FBQSxHQUFBLFNBQUEsU0FBQSxHQUFBLENBQUEsU0FBQSxVQUFBLFVBQUEsTUFBQSxHQUFBLENBQUEsR0FBQSxnQkFBQSxxQkFBQSxhQUFBLFNBQUEsR0FBQSxDQUFBLFNBQUEseUJBQUEsR0FBQSxNQUFBLEdBQUEsQ0FBQSxHQUFBLFlBQUEsV0FBQSxNQUFBLEdBQUEsQ0FBQSxHQUFBLFFBQUEsVUFBQSxtQkFBQSxjQUFBLFlBQUEsT0FBQSxHQUFBLENBQUEsR0FBQSxvQkFBQSxnQkFBQSxVQUFBLHlCQUFBLGtCQUFBLGdCQUFBLEdBQUEsT0FBQSxLQUFBLEdBQUEsQ0FBQSxHQUFBLFFBQUEsYUFBQSxZQUFBLFdBQUEsb0JBQUEsb0JBQUEsbUJBQUEsZ0JBQUEsTUFBQSxHQUFBLENBQUEsR0FBQSxRQUFBLFVBQUEsbUJBQUEsUUFBQSxRQUFBLFFBQUEsa0JBQUEsa0JBQUEsa0JBQUEsR0FBQSxNQUFBLEdBQUEsQ0FBQSxHQUFBLGFBQUEsaUJBQUEsYUFBQSxjQUFBLGtCQUFBLGNBQUEsR0FBQSxDQUFBLE9BQUEsMkJBQUEsT0FBQSxTQUFBLEdBQUEsVUFBQSxjQUFBLEdBQUEsQ0FBQSxHQUFBLFFBQUEsVUFBQSxrQkFBQSxnQkFBQSxVQUFBLEdBQUEsQ0FBQSxHQUFBLGNBQUEsQ0FBQSxHQUFBLFVBQUEsU0FBQSwyQkFBQSxJQUFBLEtBQUE7QUFBQSxRQUFBLEtBQUEsR0FBQTtBQ3RCOUIsTUFBQSw2QkFBQSxHQUFBLFdBQUEsQ0FBQTtBQUNJLE1BQUEsc0NBQUEsQ0FBQTtBQUNJLE1BQUEsNkJBQUEsR0FBQSxPQUFBLENBQUE7QUFDSSxNQUFBLHdCQUFBLEdBQUEsb0JBQUEsQ0FBQTtBQUVKLE1BQUEsMkJBQUE7O0FBRUosTUFBQSxzQ0FBQSxDQUFBO0FBQ0ksTUFBQSx5QkFBQSxHQUFBLDJDQUFBLEdBQUEsR0FBQSxnQkFBQSxDQUFBLEVBQW1DLEdBQUEsMkNBQUEsR0FBQSxHQUFBLGdCQUFBLENBQUE7O0FBNEN2QyxNQUFBLHNDQUFBLENBQUE7QUFDSSxNQUFBLHlCQUFBLEdBQUEsMkNBQUEsR0FBQSxHQUFBLGdCQUFBLENBQUEsRUFBbUMsR0FBQSwyQ0FBQSxHQUFBLEdBQUEsZ0JBQUEsQ0FBQTs7QUFRM0MsTUFBQSwyQkFBQTs7O0FBMUR3RCxNQUFBLHdCQUFBLENBQUE7QUFBQSxNQUFBLHlCQUFBLFdBQUEsSUFBQSxPQUFBLEVBQXdCLGdCQUFBLElBQUEsWUFBQTtBQUt6RCxNQUFBLHdCQUFBLENBQUE7QUFBQSxNQUFBLHlCQUFBLFFBQUEsSUFBQSxPQUFBO0FBWUEsTUFBQSx3QkFBQTtBQUFBLE1BQUEseUJBQUEsUUFBQSxDQUFBLElBQUEsT0FBQTtBQWlDQSxNQUFBLHdCQUFBLENBQUE7QUFBQSxNQUFBLHlCQUFBLFFBQUEsSUFBQSxPQUFBO0FBQ0EsTUFBQSx3QkFBQTtBQUFBLE1BQUEseUJBQUEsUUFBQSxDQUFBLElBQUEsV0FBQSxJQUFBLFlBQUE7O29CRHJDWEMsZUFBWSxZQUFBLHNCQUFBLFlBQUEsU0FBQSxxQkFBQSxZQUFBLGFBQUEsaUJBQUEsb0JBQUEsYUFBQSxpQkFBQSxjQUFBLGtCQUFBLGtCQUFBLGFBQUEsY0FBQSxnQkFBQSxnQkFBQSxrQkFBQSxpQkFBQSxhQUFBLG1CQUFBLG1CQUFBLGlCQUFFLG1CQUFtQixvQkFBb0Isc0JBQXNCLGVBQWUsR0FBQSxlQUFBLEVBQUEsQ0FBQTs7O2lGQUt6RixtQkFBaUIsRUFBQSxXQUFBLHFCQUFBLFVBQUEsZ0RBQUEsWUFBQSxHQUFBLENBQUE7QUFBQSxHQUFBOzs7Ozs7OytEQUFqQixtQkFB
367aUIsRUFBQSxTQUFBLENBQUFDLEtBQUEsSUFBQSxzQkFBQSxtQkFBQSxHQUFBLENBQUFELGVBQUEsbUJBQUEsb0JBQUEsc0JBQUEsZUFBQSxHQUFBLGFBQUEsRUFBQSxDQUFBO0VBQUE7QUFBQSxHQUFBLE9BQUEsY0FBQSxlQUFBLGNBQUEsMEJBQUEsS0FBQSxJQUFBLENBQUE7QUFBQSxHQUFBLE9BQUEsY0FBQSxlQUFBLGVBQUEsWUFBQSxPQUFBLFlBQUEsSUFBQSxHQUFBLDRCQUFBLE9BQUEsRUFBQSxPQUFBLE1BQUEsMEJBQUEsRUFBQSxTQUFBLENBQUE7QUFBQSxHQUFBOyIsIm5hbWVzIjpbIkNvbW1vbk1vZHVsZSIsIkNvbXBvbmVudCIsIkNvbW1vbk1vZHVsZSIsImkwIl19
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.