@snabcentr/client-ui 0.17.4 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (23) hide show
  1. package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +4 -8
  2. package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +3 -8
  3. package/auth/sc-sign-in-form/sc-sign-in-form.component.d.ts +8 -4
  4. package/catalog/price-history/sc-price-history.component.d.ts +44 -43
  5. package/catalog/sc-catalog.module.d.ts +3 -3
  6. package/esm2020/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +4 -16
  7. package/esm2020/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +4 -16
  8. package/esm2020/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +24 -6
  9. package/esm2020/banner/sc-banner.component.mjs +4 -2
  10. package/esm2020/catalog/price-history/sc-price-history.component.mjs +85 -79
  11. package/esm2020/catalog/sc-catalog.module.mjs +12 -15
  12. package/fesm2015/snabcentr-client-ui.mjs +125 -321
  13. package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
  14. package/fesm2020/snabcentr-client-ui.mjs +123 -320
  15. package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
  16. package/package.json +3 -5
  17. package/styles/tailwind/tailwind.scss +0 -24
  18. package/catalog/price-history/sc-chart-option.d.ts +0 -7
  19. package/catalog/price-history/sc-i-chart-data-item.d.ts +0 -13
  20. package/catalog/price-history/sc-lang-ru.d.ts +0 -115
  21. package/esm2020/catalog/price-history/sc-chart-option.mjs +0 -79
  22. package/esm2020/catalog/price-history/sc-i-chart-data-item.mjs +0 -2
  23. package/esm2020/catalog/price-history/sc-lang-ru.mjs +0 -115
@@ -168,7 +168,9 @@ let ScBannerComponent = class ScBannerComponent {
168
168
  onClick(banner) {
169
169
  this.userMetrikaService.emitUserMetrikaEvent({
170
170
  target: ScUserMetrikaGoalsEnum.bannerClick,
171
- params: { banner_id: banner.id },
171
+ params: {
172
+ banner_id: banner.id,
173
+ },
172
174
  });
173
175
  if (banner.url) {
174
176
  this.clickBannerEvent.emit(banner);
@@ -229,4 +231,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
229
231
  type: HostListener,
230
232
  args: ['mouseleave']
231
233
  }] } });
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUdOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBNkIsc0JBQXNCLEVBQXdCLE1BQU0sd0JBQXdCLENBQUM7QUFDakgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFJMUc7O0dBRUc7QUFVSSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQTZJMUI7Ozs7Ozs7OztPQVNHO0lBQ0gsWUFDcUIsR0FBc0IsRUFDdEIsYUFBOEIsRUFDTyxRQUFxQyxFQUN0RCxPQUE0QixFQUN6RCxXQUEwQixFQUNqQixrQkFBd0M7UUFMeEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBQ08sYUFBUSxHQUFSLFFBQVEsQ0FBNkI7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QVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVyc2VjdGlvbk9ic2VydmVyU2VydmljZSB9IGZyb20gJ0BuZy13ZWItYXBpcy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXInO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBTY0Jhbm5lciwgU2NCYW5uZXJTZXJ2aWNlLCBTY1VzZXJNZXRyaWthR29hbHNFbnVtLCBTY1VzZXJNZXRyaWthU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgdHVpRmFkZUluIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBpbnRlcnZhbCwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY1B4Q29udmVydGVyIH0gZnJvbSAnLi4vaGVscGVycyc7XG5cbi8qKlxuICog0JHQsNC90L3QtdGAINGBINC/0YDQvtC60YDRg9GC0LrQvtC5INC/0LXRgNC10LTQsNC90L3Ri9GFIHtAbGluayBUZW1wbGF0ZVJlZn0g0Y3Qu9C10LzQtdC90YLQvtCyLCDQuCDQsdCw0L3QvdC10YDQvtCyINC70L7QutCw0YbQuNC4LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLWJhbm5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLWJhbm5lci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2MtYmFubmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbSW50ZXJzZWN0aW9uT2JzZXJ2ZXJTZXJ2aWNlXSxcbiAgICBhbmltYXRpb25zOiBbdHVpRmFkZUluXSxcbn0pXG5AVW50aWxEZXN0cm95KHsgY2hlY2tQcm9wZXJ0aWVzOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgU2NCYW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC/0L7QutCw0LfRi9Cy0LDRgtGMINC60L3QvtC/0LrQuCDQvdCw0LLQuNCz0LDRhtC40LguXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmF2aWdhdGVCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdGC0LXRgNCy0LDQuyDQv9C+0LrQsNC30LAg0YHQu9Cw0LnQtNC+0LIg0LIg0LzQuNC70LvQuNGB0LXQutGD0L3QtNCw0YUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGxheWVySW50ZXJ2YWw6IG51bWJlciA9IDUwMDA7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC/0YDQvtC60YDRg9GC0LrQsCDQstGL0LrQu9GO0YfQtdC90LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCc0LXRgdGC0L7Qv9C+0LvQvtC20LXQvdC40LUg0LHQsNC90L3QtdGA0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYmFubmVyTG9jYXRpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC60L7QvNC/0L7QvdC10L3RgiDQtNC+0LvQttC10L0g0YDQsNGB0YLRj9Cz0LjQstCw0YLRjNGB0Y8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVzaXphYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC30LDQs9GA0YPQt9C60Lgg0LHQsNC90L3QtdGA0L7QsiDRgSDQutC+0LvQuNGH0LXRgdGC0LLQvtC8INC/0L7Qu9GD0YfQtdC90L3Ri9GFINCx0LDQvdC90LXRgNC+0LIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGxvYWRCYW5uZXJzRXZlbnQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC40LfQvtCx0YDQsNC20LXQvdC40LUg0LHQsNC90L3QtdGA0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrQmFubmVyRXZlbnQ6IEV2ZW50RW1pdHRlcjxTY0Jhbm5lcj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjQmFubmVyPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGN0LvQtdC80LXQvdGCINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC5INGI0LDQsdC70L7QvdC+0LIuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbignYmFubmVyJylcbiAgICBwdWJsaWMgYmFubmVyc0xpc3RSZWY6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+PjtcblxuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwIHtAbGluayBIVE1MVmlkZW9FbGVtZW50fSDRjdC70LXQvNC10L3RgtCwINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LLQuNC00LXQvi5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCd2aWRlb1BsYXllcicpXG4gICAgcHJpdmF0ZSB2aWRlb1JlZjogRWxlbWVudFJlZjxIVE1MVmlkZW9FbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGC0LXQutGD0YnQtdCz0L4g0LHQsNC90L3QtdGA0LAuXG4gICAgICovXG4gICAgcHVibGljIGN1cnJlbnRCYW5uZXJJZDogbnVtYmVyID0gMDtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBTdWJqZWN0fSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINGC0LDQudC80LXRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSB0b2dnbGVUaW1lciQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQv9C+0LrQsNC30YvQstCw0YLRjCDQutC90L7Qv9C60Lgg0YHRgtCw0YDRgtCwINCy0LjQtNC10L4g0LHQsNC90L3QtdGA0LAuXG4gICAgICovXG4gICAgcHVibGljIHNob3dQbGF5QnRuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0L7QsdC90L7QstC70LXQvdC40Y8g0YHQv9C40YHQutCwINCx0LDQvdC90LXRgNC+0LIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGJhbm5lcnMkOiBPYnNlcnZhYmxlPFNjQmFubmVyW10+ID0gdGhpcy5iYW5uZXJTZXJ2aWNlLmJhbm5lcnMkLnBpcGUoXG4gICAgICAgIG1hcCgoYmFubmVycykgPT4gYmFubmVycy5maWx0ZXIoKGJhbm5lcikgPT4gYmFubmVyLmxvY2F0aW9uID09PSB0aGlzLmJhbm5lckxvY2F0aW9uKS5yZXZlcnNlKCkpLFxuICAgICAgICB0YXAoKGJhbm5lcnMpID0+IHtcbiAgICAgICAgICAgIGlmIChiYW5uZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yZXNpemFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53aWR0aCA9ICcxMDAlJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhlaWdodCA9IGAke3RoaXMucHhDb252ZXJ0ZXIucHhUb1JlbShiYW5uZXJzWzBdLmhlaWdodCl9cmVtYDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53aWR0aCA9IGAke3RoaXMucHhDb252ZXJ0ZXIucHhUb1JlbShiYW5uZXJzWzBdLndpZHRoKX1yZW1gO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuYXNwZWN0UmF0aW8gPSBgJHtiYW5uZXJzWzBdLndpZHRofSAvICR7YmFubmVyc1swXS5oZWlnaHR9YDtcbiAgICAgICAgICAgICAgICB0aGlzLmJhbm5lcnMgPSBiYW5uZXJzO1xuICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlVGltZXIkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubG9hZEJhbm5lcnNFdmVudC5lbWl0KGJhbm5lcnMubGVuZ3RoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDQsdCw0L3QvdC10YDQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyBiYW5uZXJzPzogU2NCYW5uZXJbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICog0KHQstC+0LnRgdGC0LLQviwg0L7RgiDQutC+0YLQvtGA0L7Qs9C+INC30LDQstC40YHQuNGCINC90LDQu9C40YfQuNC1INC60LvQsNGB0YHQsCBgIWhpZGRlbmAg0YMgYDpob3N0YCDQutC+0LzQv9C+0L3QtdC90YLQsC5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLiFoaWRkZW4nKVxuICAgIHByaXZhdGUgZ2V0IGlzSGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuYmFubmVycyB8fCB0aGlzLmJhbm5lcnNMaXN0UmVmLmxlbmd0aCArIHRoaXMuYmFubmVycy5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQstC+0LnRgdGC0LLQviwg0L7RgiDQutC+0YLQvtGA0L7Qs9C+INC30LDQstC40YHQuNGCINCy0YvRgdC+0YLQsCBgOmhvc3RgINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JylcbiAgICBwdWJsaWMgaGVpZ2h0OiBzdHJpbmcgPSAnYXV0byc7XG5cbiAgICAvKipcbiAgICAgKiDQodCy0L7QudGB0YLQstC+LCDQvtGCINC60L7RgtC+0YDQvtCz0L4g0LfQsNCy0LjRgdC40YIg0YjQuNGA0LjQvdCwIGA6aG9zdGAg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXG4gICAgcHVibGljIHdpZHRoOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqINCh0LLQvtC50YHRgtCy0L4sINC+0YIg0LrQvtGC0L7RgNC+0LPQviDQt9Cw0LLQuNGB0LjRgiDRgdC+0L7RgtC90L7RiNC10L3QuNC1IGA6aG9zdGAg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5hc3BlY3QtcmF0aW8nKVxuICAgIHB1YmxpYyBhc3BlY3RSYXRpbzogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDRgdC+0LHRi9GC0LjRjyBtb3VzZWVudGVyLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICAgIHByaXZhdGUgbW91c2VFbnRlckhhbmRsZXI6ICgpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMudG9nZ2xlVGltZXIkLm5leHQoZmFsc2UpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDRgdC+0LHRi9GC0LjRjyBtb3VzZWxlYXZlLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICAgIHByaXZhdGUgbW91c2VMZWF2ZUhhbmRsZXI6ICgpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMudG9nZ2xlVGltZXIkLm5leHQodHJ1ZSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NCYW5uZXJDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNkciDQntCx0YrQtdC60YIg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQvtCx0L3QsNGA0YPQttC10L3QuNC10Lwg0LjQt9C80LXQvdC10L3QuNC5LlxuICAgICAqIEBwYXJhbSBiYW5uZXJTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINCx0LDQvdC90LXRgNCw0LzQuC5cbiAgICAgKiBAcGFyYW0gZW50cmllcyRcbiAgICAgKiBAcGFyYW0gZWxlbWVudCDQrdC70LXQvNC10L3RgiDQsdCw0L3QvdC10YDQsC5cbiAgICAgKiBAcGFyYW0gcHhDb252ZXJ0ZXIg0K3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsC3Qv9C+0LzQvtGJ0L3QuNC60LAg0LTQu9GPINC60L7QvdCy0LXRgNGC0LDRhtC40Lgg0L/QuNC60YHQtdC70LXQuS5cbiAgICAgKiBAcGFyYW0gdXNlck1ldHJpa2FTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YHQsdC+0YDQsCDQvNC10YLRgNC40Log0L4g0LTQtdC50YHRgtCy0LjRj9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGJhbm5lclNlcnZpY2U6IFNjQmFubmVyU2VydmljZSxcbiAgICAgICAgQEluamVjdChJbnRlcnNlY3Rpb25PYnNlcnZlclNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZW50cmllcyQ6IEludGVyc2VjdGlvbk9ic2VydmVyU2VydmljZSxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IEVsZW1lbnRSZWY8RWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcHhDb252ZXJ0ZXI6IFNjUHhDb252ZXJ0ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldHJpa2FTZXJ2aWNlOiBTY1VzZXJNZXRyaWthU2VydmljZVxuICAgICkge31cblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9nZ2xlVGltZXIkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHRvZ2dsZSkgPT4gdG9nZ2xlKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gaW50ZXJ2YWwodGhpcy5wbGF5ZXJJbnRlcnZhbCkucGlwZSh0YWtlVW50aWwodGhpcy50b2dnbGVUaW1lciQpKSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLmRpc2FibGVkICYmICh0aGlzLmJhbm5lcnM/Llt0aGlzLmN1cnJlbnRCYW5uZXJJZF0/Lm1lZGlhVHlwZSA9PT0gJ2ltYWdlJyB8fCB0aGlzLnNob3dQbGF5QnRuKSksXG4gICAgICAgICAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25OZXh0QmFubmVyKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyDQntGC0YHQu9C10LbQuNCy0LDQvdC40LUg0L/QtdGA0LXRgdC10YfQtdC90LjRjyDQutC+0LzQv9C+0L3QtdC90YLQsCDRgSDRjdC60YDQsNC90L7QvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICAgIC8vINCV0YHQu9C4INCx0LDQvdC90LXRgNCwINC90LUg0L3QsNGF0L7QtNC40YLRgdGPINCyINC/0L7Qu9C1INCy0LjQtNC40LzQvtGB0YLQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8sINGC0L4g0L7QvSDQv9C10YDQtdGB0YLQsNGR0YIg0L/QtdGA0LXQutC70Y7Rh9Cw0YLRjNGB0Y8sINCwINCy0LjQtNC10L4g0L7RgdGC0LDQvdCw0LLQu9C40LLQsNC10YLRgdGPLlxuICAgICAgICB0aGlzLmVudHJpZXMkLnBpcGUobWFwKChlbnRyaWVzKSA9PiBlbnRyaWVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0udGFyZ2V0ID09PSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCkpKS5zdWJzY3JpYmUoKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZVRpbWVyJC5uZXh0KCEhZW50cnk/LmlzSW50ZXJzZWN0aW5nKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXQutC70Y7Rh9Cw0LXRgiDQvdCwINC/0YDQtdC00YvQtNGD0YnQuNC5INCx0LDQvdC90LXRgC5cbiAgICAgKi9cbiAgICBwdWJsaWMgb25QcmV2aW91c0Jhbm5lcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXM6IG51bWJlciA9IHRoaXMuY3VycmVudEJhbm5lcklkIC0gMTtcbiAgICAgICAgdGhpcy5jdXJyZW50QmFubmVySWQgPSBwcmV2aW91cyA8IDAgPyB0aGlzLmJhbm5lcnNMaXN0UmVmLmxlbmd0aCArICh0aGlzLmJhbm5lcnM/Lmxlbmd0aCA/PyAwKSAtIDEgOiBwcmV2aW91cztcblxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9C10YDQtdC60LvRjtGH0LDQtdGCINC90LAg0YHQu9C10LTRg9GO0YnQuNC5INCx0LDQvdC90LXRgC5cbiAgICAgKi9cbiAgICBwdWJsaWMgb25OZXh0QmFubmVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXh0OiBudW1iZXIgPSB0aGlzLmN1cnJlbnRCYW5uZXJJZCArIDE7XG4gICAgICAgIHRoaXMuY3VycmVudEJhbm5lcklkID0gbmV4dCA9PT0gdGhpcy5iYW5uZXJzTGlzdFJlZi5sZW5ndGggKyAodGhpcy5iYW5uZXJzPy5sZW5ndGggPz8gMCkgPyAwIDogbmV4dDtcblxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9C10YDQtdC60LvRjtGH0LDQtdGCINC90LAg0YHQu9C10LTRg9GO0YnQuNC5INCx0LDQvdC90LXRgC5cbiAgICAgKi9cbiAgICBwdWJsaWMgb25FbmRlZFZpZGVvKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTmV4dEJhbm5lcigpO1xuICAgICAgICB0aGlzLnRvZ2dsZVRpbWVyJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLnNob3dQbGF5QnRuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDQvdCw0LbQsNGC0LjRjyDQvdCwINCx0LDQvdC90LXRgCwg0LPQtdC90LXRgNC40YDRg9GO0YnQuNC5INGB0L7QsdGL0YLQuNC1IHtAbGluayBjbGlja0Jhbm5lckltZ0V2ZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBiYW5uZXIg0JHQsNC90L3QtdGALCDQv9C+INGB0YHRi9C70LrQtSDQutC+0YLQvtGA0L7Qs9C+INGB0L7QstC10YDRiNGR0L0g0L/QtdGA0LXRhdC+0LQuXG4gICAgICovXG4gICAgcHVibGljIG9uQ2xpY2soYmFubmVyOiBTY0Jhbm5lcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0uYmFubmVyQ2xpY2ssXG4gICAgICAgICAgICBwYXJhbXM6IHsgYmFubmVyX2lkOiBiYW5uZXIuaWQgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGJhbm5lci51cmwpIHtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tCYW5uZXJFdmVudC5lbWl0KGJhbm5lcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0dWlMZXQ9XCJiYW5uZXJzJCB8IGFzeW5jXCI+XG4gICAgPHR1aS1jYXJvdXNlbCBjbGFzcz1cImJnLXdoaXRlIHctZnVsbCBoLWZ1bGwgc2hhZG93LXNjLTIgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW5cIiBbKGluZGV4KV09XCJjdXJyZW50QmFubmVySWRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYmFubmVyIG9mIGJhbm5lcnM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICp0dWlJdGVtXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soYmFubmVyKVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmFzcGVjdC1yYXRpb109XCJhc3BlY3RSYXRpb1wiXG4gICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJiYW5uZXIudXJsID8gYmFubmVyLnVybCA6IG51bGxcIlxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImJhbm5lci50aXRsZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJyZWxhdGl2ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiYmFubmVyLm1lZGlhVHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndmlkZW8nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dmlkZW9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdmlkZW9QbGF5ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3VzcGVuZCk9XCJzaG93UGxheUJ0biA9IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwbGF5KT1cInNob3dQbGF5QnRuID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiYmFubmVyLm1lZGlhRmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVuZGVkKT1cIm9uRW5kZWRWaWRlbygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW91c2VvdmVyKT1cInZpZGVvUGxheWVyLnBhdXNlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZW91dCk9XCJ2aWRlb1BsYXllci5wbGF5KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwib2JqZWN0LWNvdmVyIGgtZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXV0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheVxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvdmlkZW8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93UGxheUJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtAdHVpRmFkZUluXT1cIjIwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0UmlwcGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyB2aWRlb1BsYXllci5wbGF5KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIiFhYnNvbHV0ZSBsZWZ0LTggYm90dG9tLTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbi1yZWZyZXNoIHRleHQtYmxhY2tcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlJ1wiIFtzcmNdPVwiYmFubmVyLm1lZGlhRmlsZVwiIGFsdD1cItCR0LDQvdC90LXRgFwiIGNsYXNzPVwib2JqZWN0LWNvdmVyIGgtZnVsbFwiIC8+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGJhbm5lcnNMaXN0UmVmXCI+XG4gICAgICAgICAgICA8ZGl2ICp0dWlJdGVtIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0XCIgW3N0eWxlLndpZHRoXT1cIndpZHRoXCIgW3N0eWxlLmFzcGVjdC1yYXRpb109XCJhc3BlY3RSYXRpb1wiIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90dWktY2Fyb3VzZWw+XG48L25nLWNvbnRhaW5lcj5cbjxkaXYgKm5nSWY9XCJuYXZpZ2F0ZUJ1dHRvbiAmJiAhZGlzYWJsZWQgJiYgdGhpcy5iYW5uZXJzICYmICh0aGlzLmJhbm5lcnNMaXN0UmVmLmxlbmd0aCArIHRoaXMuYmFubmVycy5sZW5ndGgpID4gMVwiIHR1aU1vZGU9XCJvbkxpZ2h0XCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgIDxidXR0b24gdHVpSWNvbkJ1dHRvbiBpY29uPVwidHVpSWNvbkNoZXZyb25MZWZ0TGFyZ2VcIiBzaXplPVwibVwiIHNoYXBlPVwicm91bmRlZFwiIGFwcGVhcmFuY2U9XCJmbGF0XCIgKGNsaWNrKT1cIm9uUHJldmlvdXNCYW5uZXIoKVwiIGNsYXNzPVwiIWFic29sdXRlIGxlZnQtMlwiPjwvYnV0dG9uPlxuICAgIDxidXR0b24gdHVpSWNvbkJ1dHRvbiBpY29uPVwidHVpSWNvbkNoZXZyb25SaWdodExhcmdlXCIgc2l6ZT1cIm1cIiBzaGFwZT1cInJvdW5kZWRcIiBhcHBlYXJhbmNlPVwiZmxhdFwiIChjbGljayk9XCJvbk5leHRCYW5uZXIoKVwiIGNsYXNzPVwiIWFic29sdXRlIHJpZ2h0LTJcIj48L2J1dHRvbj5cbjwvZGl2PlxuIl19
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9iYW5uZXIvc2MtYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUdOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBNkIsc0JBQXNCLEVBQXdCLE1BQU0sd0JBQXdCLENBQUM7QUFDakgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFJMUc7O0dBRUc7QUFVSSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQTZJMUI7Ozs7Ozs7OztPQVNHO0lBQ0gsWUFDcUIsR0FBc0IsRUFDdEIsYUFBOEIsRUFDTyxRQUFxQyxFQUN0RCxPQUE0QixFQUN6RCxXQUEwQixFQUNqQixrQkFBd0M7UUFMeEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBQ08sYUFBUSxHQUFSLFFBQVEsQ0FBNkI7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QUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnRlcnNlY3Rpb25PYnNlcnZlclNlcnZpY2UgfSBmcm9tICdAbmctd2ViLWFwaXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgU2NCYW5uZXIsIFNjQmFubmVyU2VydmljZSwgU2NVc2VyTWV0cmlrYUdvYWxzRW51bSwgU2NVc2VyTWV0cmlrYVNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUZhZGVJbiB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgaW50ZXJ2YWwsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NQeENvbnZlcnRlciB9IGZyb20gJy4uL2hlbHBlcnMnO1xuXG4vKipcbiAqINCR0LDQvdC90LXRgCDRgSDQv9GA0L7QutGA0YPRgtC60L7QuSDQv9C10YDQtdC00LDQvdC90YvRhSB7QGxpbmsgVGVtcGxhdGVSZWZ9INGN0LvQtdC80LXQvdGC0L7Qsiwg0Lgg0LHQsNC90L3QtdGA0L7QsiDQu9C+0LrQsNGG0LjQuC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1iYW5uZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1iYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NjLWJhbm5lci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW0ludGVyc2VjdGlvbk9ic2VydmVyU2VydmljZV0sXG4gICAgYW5pbWF0aW9uczogW3R1aUZhZGVJbl0sXG59KVxuQFVudGlsRGVzdHJveSh7IGNoZWNrUHJvcGVydGllczogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFNjQmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQv9C+0LrQsNC30YvQstCw0YLRjCDQutC90L7Qv9C60Lgg0L3QsNCy0LjQs9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hdmlnYXRlQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqINCY0L3RgtC10YDQstCw0Lsg0L/QvtC60LDQt9CwINGB0LvQsNC50LTQvtCyINCyINC80LjQu9C70LjRgdC10LrRg9C90LTQsNGFLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBsYXllckludGVydmFsOiBudW1iZXIgPSA1MDAwO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQv9GA0L7QutGA0YPRgtC60LAg0LLRi9C60LvRjtGH0LXQvdCwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDQnNC10YHRgtC+0L/QvtC70L7QttC10L3QuNC1INCx0LDQvdC90LXRgNCwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGJhbm5lckxvY2F0aW9uPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQutC+0LzQv9C+0L3QtdC90YIg0LTQvtC70LbQtdC9INGA0LDRgdGC0Y/Qs9C40LLQsNGC0YzRgdGPLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlc2l6YWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQt9Cw0LPRgNGD0LfQutC4INCx0LDQvdC90LXRgNC+0LIg0YEg0LrQvtC70LjRh9C10YHRgtCy0L7QvCDQv9C+0LvRg9GH0LXQvdC90YvRhSDQsdCw0L3QvdC10YDQvtCyLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBsb2FkQmFubmVyc0V2ZW50OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQuNC30L7QsdGA0LDQttC10L3QuNC1INCx0LDQvdC90LXRgNCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbGlja0Jhbm5lckV2ZW50OiBFdmVudEVtaXR0ZXI8U2NCYW5uZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0Jhbm5lcj4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L3QsCDRjdC70LXQvNC10L3RgiDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQuSDRiNCw0LHQu9C+0L3QvtCyLlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oJ2Jhbm5lcicpXG4gICAgcHVibGljIGJhbm5lcnNMaXN0UmVmOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0L3QsCB7QGxpbmsgSFRNTFZpZGVvRWxlbWVudH0g0Y3Qu9C10LzQtdC90YLQsCDQvtGC0L7QsdGA0LDQttC10L3QuNGPINCy0LjQtNC10L4uXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgndmlkZW9QbGF5ZXInKVxuICAgIHByaXZhdGUgdmlkZW9SZWY6IEVsZW1lbnRSZWY8SFRNTFZpZGVvRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC10LrRg9GJ0LXQs9C+INCx0LDQvdC90LXRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjdXJyZW50QmFubmVySWQ6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0LjQt9C80LXQvdC10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDRgtCw0LnQvNC10YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9nZ2xlVGltZXIkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L/QvtC60LDQt9GL0LLQsNGC0Ywg0LrQvdC+0L/QutC4INGB0YLQsNGA0YLQsCDQstC40LTQtdC+INCx0LDQvdC90LXRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93UGxheUJ0bjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC+0LHQvdC+0LLQu9C10L3QuNGPINGB0L/QuNGB0LrQsCDQsdCw0L3QvdC10YDQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBiYW5uZXJzJDogT2JzZXJ2YWJsZTxTY0Jhbm5lcltdPiA9IHRoaXMuYmFubmVyU2VydmljZS5iYW5uZXJzJC5waXBlKFxuICAgICAgICBtYXAoKGJhbm5lcnMpID0+IGJhbm5lcnMuZmlsdGVyKChiYW5uZXIpID0+IGJhbm5lci5sb2NhdGlvbiA9PT0gdGhpcy5iYW5uZXJMb2NhdGlvbikucmV2ZXJzZSgpKSxcbiAgICAgICAgdGFwKChiYW5uZXJzKSA9PiB7XG4gICAgICAgICAgICBpZiAoYmFubmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucmVzaXphYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2lkdGggPSAnMTAwJSc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oZWlnaHQgPSBgJHt0aGlzLnB4Q29udmVydGVyLnB4VG9SZW0oYmFubmVyc1swXS5oZWlnaHQpfXJlbWA7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2lkdGggPSBgJHt0aGlzLnB4Q29udmVydGVyLnB4VG9SZW0oYmFubmVyc1swXS53aWR0aCl9cmVtYDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmFzcGVjdFJhdGlvID0gYCR7YmFubmVyc1swXS53aWR0aH0gLyAke2Jhbm5lcnNbMF0uaGVpZ2h0fWA7XG4gICAgICAgICAgICAgICAgdGhpcy5iYW5uZXJzID0gYmFubmVycztcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZVRpbWVyJC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmxvYWRCYW5uZXJzRXZlbnQuZW1pdChiYW5uZXJzLmxlbmd0aCk7XG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0LHQsNC90L3QtdGA0L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgYmFubmVycz86IFNjQmFubmVyW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqINCh0LLQvtC50YHRgtCy0L4sINC+0YIg0LrQvtGC0L7RgNC+0LPQviDQt9Cw0LLQuNGB0LjRgiDQvdCw0LvQuNGH0LjQtSDQutC70LDRgdGB0LAgYCFoaWRkZW5gINGDIGA6aG9zdGAg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy4haGlkZGVuJylcbiAgICBwcml2YXRlIGdldCBpc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmJhbm5lcnMgfHwgdGhpcy5iYW5uZXJzTGlzdFJlZi5sZW5ndGggKyB0aGlzLmJhbm5lcnMubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0LLQvtC50YHRgtCy0L4sINC+0YIg0LrQvtGC0L7RgNC+0LPQviDQt9Cw0LLQuNGB0LjRgiDQstGL0YHQvtGC0LAgYDpob3N0YCDQutC+0LzQv9C+0L3QtdC90YLQsC5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpXG4gICAgcHVibGljIGhlaWdodDogc3RyaW5nID0gJ2F1dG8nO1xuXG4gICAgLyoqXG4gICAgICog0KHQstC+0LnRgdGC0LLQviwg0L7RgiDQutC+0YLQvtGA0L7Qs9C+INC30LDQstC40YHQuNGCINGI0LjRgNC40L3QsCBgOmhvc3RgINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKVxuICAgIHB1YmxpYyB3aWR0aDogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiDQodCy0L7QudGB0YLQstC+LCDQvtGCINC60L7RgtC+0YDQvtCz0L4g0LfQsNCy0LjRgdC40YIg0YHQvtC+0YLQvdC+0YjQtdC90LjQtSBgOmhvc3RgINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuYXNwZWN0LXJhdGlvJylcbiAgICBwdWJsaWMgYXNwZWN0UmF0aW86IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8gbW91c2VlbnRlci5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcbiAgICBwcml2YXRlIG1vdXNlRW50ZXJIYW5kbGVyOiAoKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnRvZ2dsZVRpbWVyJC5uZXh0KGZhbHNlKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0YHQvtCx0YvRgtC40Y8gbW91c2VsZWF2ZS5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgICBwcml2YXRlIG1vdXNlTGVhdmVIYW5kbGVyOiAoKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnRvZ2dsZVRpbWVyJC5uZXh0KHRydWUpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjQmFubmVyQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjZHIg0J7QsdGK0LXQutGCINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0L7QsdC90LDRgNGD0LbQtdC90LjQtdC8INC40LfQvNC10L3QtdC90LjQuS5cbiAgICAgKiBAcGFyYW0gYmFubmVyU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQsdCw0L3QvdC10YDQsNC80LguXG4gICAgICogQHBhcmFtIGVudHJpZXMkXG4gICAgICogQHBhcmFtIGVsZW1lbnQg0K3Qu9C10LzQtdC90YIg0LHQsNC90L3QtdGA0LAuXG4gICAgICogQHBhcmFtIHB4Q29udmVydGVyINCt0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAt0L/QvtC80L7RidC90LjQutCwINC00LvRjyDQutC+0L3QstC10YDRgtCw0YbQuNC4INC/0LjQutGB0LXQu9C10LkuXG4gICAgICogQHBhcmFtIHVzZXJNZXRyaWthU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBiYW5uZXJTZXJ2aWNlOiBTY0Jhbm5lclNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoSW50ZXJzZWN0aW9uT2JzZXJ2ZXJTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGVudHJpZXMkOiBJbnRlcnNlY3Rpb25PYnNlcnZlclNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmPEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHB4Q29udmVydGVyOiBTY1B4Q29udmVydGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJNZXRyaWthU2VydmljZTogU2NVc2VyTWV0cmlrYVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogQGluaGVyaXREb2MgKi9cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvZ2dsZVRpbWVyJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCh0b2dnbGUpID0+IHRvZ2dsZSksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IGludGVydmFsKHRoaXMucGxheWVySW50ZXJ2YWwpLnBpcGUodGFrZVVudGlsKHRoaXMudG9nZ2xlVGltZXIkKSkpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5kaXNhYmxlZCAmJiAodGhpcy5iYW5uZXJzPy5bdGhpcy5jdXJyZW50QmFubmVySWRdPy5tZWRpYVR5cGUgPT09ICdpbWFnZScgfHwgdGhpcy5zaG93UGxheUJ0bikpLFxuICAgICAgICAgICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTmV4dEJhbm5lcigpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8g0J7RgtGB0LvQtdC20LjQstCw0L3QuNC1INC/0LXRgNC10YHQtdGH0LXQvdC40Y8g0LrQvtC80L/QvtC90LXQvdGC0LAg0YEg0Y3QutGA0LDQvdC+0Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAgICAvLyDQldGB0LvQuCDQsdCw0L3QvdC10YDQsCDQvdC1INC90LDRhdC+0LTQuNGC0YHRjyDQsiDQv9C+0LvQtSDQstC40LTQuNC80L7RgdGC0Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLCDRgtC+INC+0L0g0L/QtdGA0LXRgdGC0LDRkdGCINC/0LXRgNC10LrQu9GO0YfQsNGC0YzRgdGPLCDQsCDQstC40LTQtdC+INC+0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGC0YHRjy5cbiAgICAgICAgdGhpcy5lbnRyaWVzJC5waXBlKG1hcCgoZW50cmllcykgPT4gZW50cmllcy5maW5kKChpdGVtKSA9PiBpdGVtLnRhcmdldCA9PT0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpKSkuc3Vic2NyaWJlKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVUaW1lciQubmV4dCghIWVudHJ5Py5pc0ludGVyc2VjdGluZyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0LXRgNC10LrQu9GO0YfQsNC10YIg0L3QsCDQv9GA0LXQtNGL0LTRg9GJ0LjQuSDQsdCw0L3QvdC10YAuXG4gICAgICovXG4gICAgcHVibGljIG9uUHJldmlvdXNCYW5uZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzOiBudW1iZXIgPSB0aGlzLmN1cnJlbnRCYW5uZXJJZCAtIDE7XG4gICAgICAgIHRoaXMuY3VycmVudEJhbm5lcklkID0gcHJldmlvdXMgPCAwID8gdGhpcy5iYW5uZXJzTGlzdFJlZi5sZW5ndGggKyAodGhpcy5iYW5uZXJzPy5sZW5ndGggPz8gMCkgLSAxIDogcHJldmlvdXM7XG5cbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXQutC70Y7Rh9Cw0LXRgiDQvdCwINGB0LvQtdC00YPRjtGJ0LjQuSDQsdCw0L3QvdC10YAuXG4gICAgICovXG4gICAgcHVibGljIG9uTmV4dEJhbm5lcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV4dDogbnVtYmVyID0gdGhpcy5jdXJyZW50QmFubmVySWQgKyAxO1xuICAgICAgICB0aGlzLmN1cnJlbnRCYW5uZXJJZCA9IG5leHQgPT09IHRoaXMuYmFubmVyc0xpc3RSZWYubGVuZ3RoICsgKHRoaXMuYmFubmVycz8ubGVuZ3RoID8/IDApID8gMCA6IG5leHQ7XG5cbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXQutC70Y7Rh9Cw0LXRgiDQvdCwINGB0LvQtdC00YPRjtGJ0LjQuSDQsdCw0L3QvdC10YAuXG4gICAgICovXG4gICAgcHVibGljIG9uRW5kZWRWaWRlbygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk5leHRCYW5uZXIoKTtcbiAgICAgICAgdGhpcy50b2dnbGVUaW1lciQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5zaG93UGxheUJ0biA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGA0LDQsdC+0YLRh9C40Log0L3QsNC20LDRgtC40Y8g0L3QsCDQsdCw0L3QvdC10YAsINCz0LXQvdC10YDQuNGA0YPRjtGJ0LjQuSDRgdC+0LHRi9GC0LjQtSB7QGxpbmsgY2xpY2tCYW5uZXJJbWdFdmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYmFubmVyINCR0LDQvdC90LXRgCwg0L/QviDRgdGB0YvQu9C60LUg0LrQvtGC0L7RgNC+0LPQviDRgdC+0LLQtdGA0YjRkdC9INC/0LXRgNC10YXQvtC0LlxuICAgICAqL1xuICAgIHB1YmxpYyBvbkNsaWNrKGJhbm5lcjogU2NCYW5uZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLmJhbm5lckNsaWNrLFxuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgYmFubmVyX2lkOiBiYW5uZXIuaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoYmFubmVyLnVybCkge1xuICAgICAgICAgICAgdGhpcy5jbGlja0Jhbm5lckV2ZW50LmVtaXQoYmFubmVyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKnR1aUxldD1cImJhbm5lcnMkIHwgYXN5bmNcIj5cbiAgICA8dHVpLWNhcm91c2VsIGNsYXNzPVwiYmctd2hpdGUgdy1mdWxsIGgtZnVsbCBzaGFkb3ctc2MtMiByb3VuZGVkLXhsIG92ZXJmbG93LWhpZGRlblwiIFsoaW5kZXgpXT1cImN1cnJlbnRCYW5uZXJJZFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBiYW5uZXIgb2YgYmFubmVyczsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhiYW5uZXIpXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYXNwZWN0LXJhdGlvXT1cImFzcGVjdFJhdGlvXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cImJhbm5lci51cmwgPyBiYW5uZXIudXJsIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiYmFubmVyLnRpdGxlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJlbGF0aXZlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJiYW5uZXIubWVkaWFUeXBlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid2aWRlbydcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx2aWRlb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN2aWRlb1BsYXllclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdXNwZW5kKT1cInNob3dQbGF5QnRuID0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBsYXkpPVwic2hvd1BsYXlCdG4gPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJiYW5uZXIubWVkaWFGaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZW5kZWQpPVwib25FbmRlZFZpZGVvKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZW92ZXIpPVwidmlkZW9QbGF5ZXIucGF1c2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlb3V0KT1cInZpZGVvUGxheWVyLnBsYXkoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvYmplY3QtY292ZXIgaC1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5XG4gICAgICAgICAgICAgICAgICAgICAgICA+PC92aWRlbz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dQbGF5QnRuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW0B0dWlGYWRlSW5dPVwiMjAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRSaXBwbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IHZpZGVvUGxheWVyLnBsYXkoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiIWFic29sdXRlIGxlZnQtOCBib3R0b20tNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uLXJlZnJlc2ggdGV4dC1ibGFja1wiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ1N3aXRjaENhc2U9XCInaW1hZ2UnXCIgW3NyY109XCJiYW5uZXIubWVkaWFGaWxlXCIgYWx0PVwi0JHQsNC90L3QtdGAXCIgY2xhc3M9XCJvYmplY3QtY292ZXIgaC1mdWxsXCIgLz5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYmFubmVyc0xpc3RSZWZcIj5cbiAgICAgICAgICAgIDxkaXYgKnR1aUl0ZW0gW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIiBbc3R5bGUud2lkdGhdPVwid2lkdGhcIiBbc3R5bGUuYXNwZWN0LXJhdGlvXT1cImFzcGVjdFJhdGlvXCIgY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3R1aS1jYXJvdXNlbD5cbjwvbmctY29udGFpbmVyPlxuPGRpdiAqbmdJZj1cIm5hdmlnYXRlQnV0dG9uICYmICFkaXNhYmxlZCAmJiB0aGlzLmJhbm5lcnMgJiYgKHRoaXMuYmFubmVyc0xpc3RSZWYubGVuZ3RoICsgdGhpcy5iYW5uZXJzLmxlbmd0aCkgPiAxXCIgdHVpTW9kZT1cIm9uTGlnaHRcIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgPGJ1dHRvbiB0dWlJY29uQnV0dG9uIGljb249XCJ0dWlJY29uQ2hldnJvbkxlZnRMYXJnZVwiIHNpemU9XCJtXCIgc2hhcGU9XCJyb3VuZGVkXCIgYXBwZWFyYW5jZT1cImZsYXRcIiAoY2xpY2spPVwib25QcmV2aW91c0Jhbm5lcigpXCIgY2xhc3M9XCIhYWJzb2x1dGUgbGVmdC0yXCI+PC9idXR0b24+XG4gICAgPGJ1dHRvbiB0dWlJY29uQnV0dG9uIGljb249XCJ0dWlJY29uQ2hldnJvblJpZ2h0TGFyZ2VcIiBzaXplPVwibVwiIHNoYXBlPVwicm91bmRlZFwiIGFwcGVhcmFuY2U9XCJmbGF0XCIgKGNsaWNrKT1cIm9uTmV4dEJhbm5lcigpXCIgY2xhc3M9XCIhYWJzb2x1dGUgcmlnaHQtMlwiPjwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,108 +1,114 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { scChartOption } from './sc-chart-option';
1
+ import { __decorate } from "tslib";
2
+ /* eslint-disable class-methods-use-this,lodash/prefer-lodash-method */
3
+ import { ChangeDetectionStrategy, Component, Inject, Input, Optional } from '@angular/core';
4
+ import { TuiDay, TuiDayRange, TuiMonth, tuiPure } from '@taiga-ui/cdk';
5
+ import { TUI_MONTHS } from '@taiga-ui/core';
6
+ import { POLYMORPHEUS_CONTEXT } from '@tinkoff/ng-polymorpheus';
7
+ import { filter, map, shareReplay } from 'rxjs';
3
8
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "ngx-echarts";
9
+ import * as i1 from "@snabcentr/client-core";
10
+ import * as i2 from "@angular/common";
11
+ import * as i3 from "@taiga-ui/addon-charts";
12
+ import * as i4 from "rxjs";
6
13
  /**
7
14
  * График истории цен товара или услуги.
8
- * TODO: TASK[#7482] Перепроверить возможность использования TuiLineDaysChart.
9
15
  */
10
16
  export class ScPriceHistoryComponent {
11
17
  /**
12
18
  * Инициализирует экземпляр класса {@link ScPriceHistoryComponent}.
13
19
  *
14
- * @param cdr Объект для работы с обнаружением изменений.
20
+ * @param catalogService Сервис для работы с каталогом.
21
+ * @param months$ Перечисление месяцев.
22
+ * @param context Контекст диалогового окна, в котором открыт компонент.
15
23
  */
16
- constructor(cdr) {
17
- this.cdr = cdr;
24
+ constructor(catalogService, months$, context) {
25
+ this.catalogService = catalogService;
26
+ this.months$ = months$;
27
+ this.context = context;
18
28
  /**
19
- * Настройки графика.
29
+ * {@link Observable} функция для преобразования значения number в строку в подсказке по оси X.
20
30
  */
21
- this.initOption = { locale: 'RU' };
31
+ this.xStringify$ = this.months$.pipe(map((months) => ({ month, day }) =>
32
+ // eslint-disable-next-line security/detect-object-injection
33
+ `${months[month]}, ${day}`));
22
34
  /**
23
- * Параметры отрисовки графика истории цены.
35
+ * Функция для преобразования значения number в строку в подсказке по оси Y.
36
+ *
37
+ * @param value Значение оси Y.
24
38
  */
25
- this.chartOption = scChartOption;
26
- /**
27
- * Данные об истории цены на товар или услугу.
28
- */
29
- this.data = [];
39
+ this.yStringify = (value) => `${value.toLocaleString('ru-RU')} ₽`;
40
+ if (context) {
41
+ this.product = context.data.product;
42
+ }
30
43
  }
31
44
  /** @inheritDoc */
32
45
  ngOnInit() {
33
- if (this.chartOption.series && !Array.isArray(this.chartOption.series)) {
34
- this.chartOption.series.data = [];
35
- }
36
- Object.keys(this.history)
37
- .map((key) => {
38
- // ? Можно избежать переведя даты в api в формат ECMAScript® 2023: https://tc39.es/ecma262/#sec-date-time-string-format
39
- const dataString = key.split('.').reverse();
40
- const data = new Date(+dataString[0], +dataString[1] - 1, +dataString[2]);
41
- return { data: data, cost: this.history[String(key)].cost };
42
- })
43
- .sort((a, b) => +a.data - +b.data)
44
- .forEach((item, index, array) => {
45
- let nextDate;
46
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
47
- if (array[index + 1]?.data) {
48
- nextDate = new Date(array[index + 1]?.data);
49
- nextDate.setDate(nextDate.getDate() - 1);
50
- }
51
- else {
52
- nextDate = new Date();
53
- }
54
- this.pushDataItem(item.cost, item.data, nextDate);
55
- });
56
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
57
- if (this.eChartsInstance) {
58
- this.setChartData();
59
- }
46
+ this.history$ = this.catalogService.getPriceHistory$(this.product).pipe(map((history) => Object.keys(history)
47
+ .map((item) => [TuiDay.normalizeParse(item, 'DMY'), history[String(item)].cost])
48
+ .sort((a, b) => (a[0] > b[0] ? 1 : -1))), shareReplay({ bufferSize: 1, refCount: true }), filter((history) => history.length > 1));
49
+ this.priceInfo$ = this.history$.pipe(map((history) => history.map((item) => item[1])), map((values) => ({
50
+ min: Math.min(...values),
51
+ max: Math.max(...values),
52
+ })));
53
+ this.range$ = this.history$.pipe(map((value) => ({ from: value.at(0)?.[0], to: value.at(-1)?.[0] })), filter((range) => !!range.from && !!range.to), map((range) => {
54
+ return new TuiDayRange(range.from, range.to);
55
+ }));
60
56
  }
61
57
  /**
62
- * Перехватчик жизненного цикла {@link ECharts}, который вызывается при его инициализации.
58
+ * Вычисляет подписи даты к оси X.
63
59
  *
64
- * @param eChartsInstance Экземпляр {@link ECharts}.
60
+ * @param param0 {@link TuiDayRange} Временной промежуток истории цен.
61
+ * @param param0.from {@link TuiDay} Дата начала истории цен.
62
+ * @param param0.to {@link TuiDay} Дата конца истории цен.
65
63
  */
66
- // eslint-disable-next-line unicorn/prevent-abbreviations
67
- onChartInit(eChartsInstance) {
68
- this.eChartsInstance = eChartsInstance;
69
- if (this.data.length > 0) {
70
- this.setChartData();
71
- }
72
- }
73
- /**
74
- * Устанавливает новые данные {@link ScPriceHistoryComponent.eChartsInstance}.
75
- */
76
- setChartData() {
77
- if (this.chartOption.series && !Array.isArray(this.chartOption.series)) {
78
- this.maxPrice = Math.max(...this.data.map((item) => item.value[1]));
79
- this.minPrice = Math.min(...this.data.map((item) => item.value[1]));
80
- this.chartOption.series.data = this.data;
81
- this.eChartsInstance.clear();
82
- this.eChartsInstance.setOption(this.chartOption, true, true);
83
- this.cdr.markForCheck();
84
- }
64
+ computeLabels$({ from, to }) {
65
+ return this.months$.pipe(map((months) => Array.from({ length: TuiMonth.lengthBetween(from, to) + 1 }, (_, index) => months[from.append({ month: index }).month])));
85
66
  }
86
67
  /**
87
- * Добавляет значение цены товара в массив истории цен.
68
+ * Вычисляет данные для отображения на графике.
88
69
  *
89
- * @param value Цена товара или услуги.
90
- * @param date Дата установки цены.
91
- * @param nextDate Следующая дата установки цены.
70
+ * @param param0 {@link TuiDayRange} Временной промежуток истории цен.
71
+ * @param param0.from {@link TuiDay} Дата начала истории цен.
72
+ * @param param0.to {@link TuiDay} Дата конца истории цен.
73
+ * @param history История цен.
92
74
  */
93
- pushDataItem(value, date, nextDate) {
94
- this.data.push({
95
- name: date.toString(),
96
- value: [date, value, nextDate],
97
- });
75
+ computeValue({ from, to }, history) {
76
+ return (Array.from({ length: TuiDay.lengthBetween(from, to) + 1 })
77
+ .fill(0)
78
+ // eslint-disable-next-line unicorn/no-array-reduce
79
+ .reduce((array, _, index) => {
80
+ const data = from.append({ day: index });
81
+ return [
82
+ ...array,
83
+ [
84
+ data,
85
+ (history.find((valueHistory, indexHistory, arrayHistory) => data.daySame(valueHistory[0]) || data.dayBefore(arrayHistory[indexHistory + 1][0])) ??
86
+ history[0])[1],
87
+ ],
88
+ ];
89
+ }, []));
98
90
  }
99
91
  }
100
- ScPriceHistoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceHistoryComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
101
- ScPriceHistoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceHistoryComponent, selector: "sc-price-history", inputs: { history: "history" }, ngImport: i0, template: "<div class=\"flex flex-col items-center\">\n <div *ngIf=\"maxPrice && minPrice\" class=\"w-full font-bold text-end text-lg mb-1\">\u043E\u0442 {{ minPrice.toLocaleString() }} \u20BD \u0434\u043E {{ maxPrice.toLocaleString() }} \u20BD</div>\n <div class=\"relative w-full h-56\">\n <div class=\"h-48 bg-tui-base-02 mt-2 absolute rounded right-0 left-16\"></div>\n <div echarts [initOpts]=\"initOption\" (chartInit)=\"onChartInit($event)\" [options]=\"chartOption\" class=\"w-full !h-full touch-none\"></div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgxEchartsDirective, selector: "echarts, [echarts]", inputs: ["options", "theme", "loading", "initOpts", "merge", "autoResize", "loadingType", "loadingOpts"], outputs: ["chartInit", "optionsError", "chartClick", "chartDblClick", "chartMouseDown", "chartMouseMove", "chartMouseUp", "chartMouseOver", "chartMouseOut", "chartGlobalOut", "chartContextMenu", "chartLegendSelectChanged", "chartLegendSelected", "chartLegendUnselected", "chartLegendScroll", "chartDataZoom", "chartDataRangeSelected", "chartTimelineChanged", "chartTimelinePlayChanged", "chartRestore", "chartDataViewChanged", "chartMagicTypeChanged", "chartPieSelectChanged", "chartPieSelected", "chartPieUnselected", "chartMapSelectChanged", "chartMapSelected", "chartMapUnselected", "chartAxisAreaSelected", "chartFocusNodeAdjacency", "chartUnfocusNodeAdjacency", "chartBrush", "chartBrushEnd", "chartBrushSelected", "chartRendered", "chartFinished"], exportAs: ["echarts"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
+ ScPriceHistoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceHistoryComponent, deps: [{ token: i1.ScCatalogService }, { token: TUI_MONTHS }, { token: POLYMORPHEUS_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
93
+ ScPriceHistoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceHistoryComponent, selector: "sc-price-history", inputs: { product: "product" }, ngImport: i0, template: "<div class=\"flex flex-col items-center\">\n <ng-container *ngIf=\"priceInfo$ | async as priceInfo; else isNotExist\">\n <div class=\"w-174 mb-1 text-end text-lg font-bold\">\u043E\u0442 {{ priceInfo.min.toLocaleString() }} \u20BD \u0434\u043E {{ priceInfo.max.toLocaleString() }} \u20BD</div>\n\n <ng-container *ngIf=\"history$ | async as history\">\n <div\n *ngIf=\"range$ | async as range\"\n class=\"relative h-56 w-full p-5 text-tui-primary\"\n >\n <tui-axes\n *ngIf=\"computeLabels$(range) | async as labels\"\n class=\"h-full\"\n [axisXLabels]=\"labels\"\n [horizontalLines]=\"4\"\n [verticalLines]=\"labels.length\"\n >\n <tui-line-days-chart\n class=\"chart\"\n [height]=\"priceInfo.max\"\n [smoothingFactor]=\"10\"\n [y]=\"priceInfo.min - (priceInfo.min * 1) / 4\"\n [value]=\"computeValue(range, history)\"\n [xStringify]=\"xStringify$ | async\"\n [yStringify]=\"yStringify\"\n [hintContent]=\"hint\"\n ></tui-line-days-chart>\n </tui-axes>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #isNotExist>\n <p class=\"text-base font-bold\">\u0426\u0435\u043D\u0430 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440 \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u044F\u043B\u0430\u0441\u044C</p>\n </ng-template>\n <ng-template\n #hint\n let-data\n >\n <div class=\"font-bold\">{{ data[1].toLocaleString() }} \u20BD</div>\n <div>{{ data[0] }}</div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TuiLineDaysChartComponent, selector: "tui-line-days-chart", inputs: ["value", "y", "height", "smoothingFactor", "hintContent", "xStringify", "yStringify", "dots"] }, { kind: "component", type: i3.TuiAxesComponent, selector: "tui-axes", inputs: ["axisX", "axisXLabels", "axisY", "axisYInset", "axisYLabels", "axisYName", "axisYSecondaryInset", "axisYSecondaryLabels", "axisYSecondaryName", "horizontalLines", "horizontalLinesHandler", "verticalLines", "verticalLinesHandler"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
94
+ __decorate([
95
+ tuiPure
96
+ ], ScPriceHistoryComponent.prototype, "computeLabels$", null);
97
+ __decorate([
98
+ tuiPure
99
+ ], ScPriceHistoryComponent.prototype, "computeValue", null);
102
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceHistoryComponent, decorators: [{
103
101
  type: Component,
104
- args: [{ selector: 'sc-price-history', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col items-center\">\n <div *ngIf=\"maxPrice && minPrice\" class=\"w-full font-bold text-end text-lg mb-1\">\u043E\u0442 {{ minPrice.toLocaleString() }} \u20BD \u0434\u043E {{ maxPrice.toLocaleString() }} \u20BD</div>\n <div class=\"relative w-full h-56\">\n <div class=\"h-48 bg-tui-base-02 mt-2 absolute rounded right-0 left-16\"></div>\n <div echarts [initOpts]=\"initOption\" (chartInit)=\"onChartInit($event)\" [options]=\"chartOption\" class=\"w-full !h-full touch-none\"></div>\n </div>\n</div>\n" }]
105
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { history: [{
102
+ args: [{ selector: 'sc-price-history', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col items-center\">\n <ng-container *ngIf=\"priceInfo$ | async as priceInfo; else isNotExist\">\n <div class=\"w-174 mb-1 text-end text-lg font-bold\">\u043E\u0442 {{ priceInfo.min.toLocaleString() }} \u20BD \u0434\u043E {{ priceInfo.max.toLocaleString() }} \u20BD</div>\n\n <ng-container *ngIf=\"history$ | async as history\">\n <div\n *ngIf=\"range$ | async as range\"\n class=\"relative h-56 w-full p-5 text-tui-primary\"\n >\n <tui-axes\n *ngIf=\"computeLabels$(range) | async as labels\"\n class=\"h-full\"\n [axisXLabels]=\"labels\"\n [horizontalLines]=\"4\"\n [verticalLines]=\"labels.length\"\n >\n <tui-line-days-chart\n class=\"chart\"\n [height]=\"priceInfo.max\"\n [smoothingFactor]=\"10\"\n [y]=\"priceInfo.min - (priceInfo.min * 1) / 4\"\n [value]=\"computeValue(range, history)\"\n [xStringify]=\"xStringify$ | async\"\n [yStringify]=\"yStringify\"\n [hintContent]=\"hint\"\n ></tui-line-days-chart>\n </tui-axes>\n </div>\n </ng-container>\n </ng-container>\n <ng-template #isNotExist>\n <p class=\"text-base font-bold\">\u0426\u0435\u043D\u0430 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440 \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u044F\u043B\u0430\u0441\u044C</p>\n </ng-template>\n <ng-template\n #hint\n let-data\n >\n <div class=\"font-bold\">{{ data[1].toLocaleString() }} \u20BD</div>\n <div>{{ data[0] }}</div>\n </ng-template>\n</div>\n" }]
103
+ }], ctorParameters: function () { return [{ type: i1.ScCatalogService }, { type: i4.Observable, decorators: [{
104
+ type: Inject,
105
+ args: [TUI_MONTHS]
106
+ }] }, { type: undefined, decorators: [{
107
+ type: Optional
108
+ }, {
109
+ type: Inject,
110
+ args: [POLYMORPHEUS_CONTEXT]
111
+ }] }]; }, propDecorators: { product: [{
106
112
  type: Input
107
- }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtaGlzdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9wcmljZS1oaXN0b3J5L3NjLXByaWNlLWhpc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtaGlzdG9yeS9zYy1wcmljZS1oaXN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUlyRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFHbEQ7OztHQUdHO0FBTUgsTUFBTSxPQUFPLHVCQUF1QjtJQTBDaEM7Ozs7T0FJRztJQUNILFlBQW9DLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBL0IxRDs7V0FFRztRQUNJLGVBQVUsR0FNYixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUVyQjs7V0FFRztRQUNJLGdCQUFXLEdBQWtCLGFBQWEsQ0FBQztRQUVsRDs7V0FFRztRQUNLLFNBQUksR0FBdUIsRUFBRSxDQUFDO0lBWXVCLENBQUM7SUFFOUQsa0JBQWtCO0lBQ1gsUUFBUTtRQUNYLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDcEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUNyQztRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNwQixHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNU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LENBQUMsWUFBWSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssWUFBWSxDQUFDLEtBQWEsRUFBRSxJQUFVLEVBQUUsUUFBYztRQUMxRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JCLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDO1NBQ2pDLENBQUMsQ0FBQztJQUNQLENBQUM7O29IQTVIUSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix3RkNoQnBDLHNpQkFPQTsyRkRTYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU07d0dBTS9CLE9BQU87c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NQcmljZUhpc3RvcnkgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IEVDaGFydHMsIEVDaGFydHNPcHRpb24gfSBmcm9tICdlY2hhcnRzJztcblxuaW1wb3J0IHsgc2NDaGFydE9wdGlvbiB9IGZyb20gJy4vc2MtY2hhcnQtb3B0aW9uJztcbmltcG9ydCB7IFNjSUNoYXJ0RGF0YUl0ZW0gfSBmcm9tICcuL3NjLWktY2hhcnQtZGF0YS1pdGVtJztcblxuLyoqXG4gKiDQk9GA0LDRhNC40Log0LjRgdGC0L7RgNC40Lgg0YbQtdC9INGC0L7QstCw0YDQsCDQuNC70Lgg0YPRgdC70YPQs9C4LlxuICogVE9ETzogVEFTS1sjNzQ4Ml0g0J/QtdGA0LXQv9GA0L7QstC10YDQuNGC0Ywg0LLQvtC30LzQvtC20L3QvtGB0YLRjCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyBUdWlMaW5lRGF5c0NoYXJ0LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWhpc3RvcnknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmljZS1oaXN0b3J5LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcmljZUhpc3RvcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqINCY0YHRgtC+0YDQuNGPINGG0LXQvSDQvdCwINGC0L7QstCw0YAv0YPRgdC70YPQs9GDLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBoaXN0b3J5OiBTY1ByaWNlSGlzdG9yeTtcblxuICAgIC8qKlxuICAgICAqINCc0LDQutGB0LjQvNCw0LvRjNC90LDRjyDRhtC10L3QsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIG1heFByaWNlPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0JzQuNC90LjQvNCw0LvRjNC90LDRjyDRhtC10L3QsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIG1pblByaWNlPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0J3QsNGB0YLRgNC+0LnQutC4INCz0YDQsNGE0LjQutCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBpbml0T3B0aW9uOiB7XG4gICAgICAgIGRldmljZVBpeGVsUmF0aW8/OiBudW1iZXI7XG4gICAgICAgIHJlbmRlcmVyPzogc3RyaW5nO1xuICAgICAgICB3aWR0aD86IG51bWJlciB8IHN0cmluZztcbiAgICAgICAgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuICAgICAgICBsb2NhbGU/OiBzdHJpbmc7XG4gICAgfSA9IHsgbG9jYWxlOiAnUlUnIH07XG5cbiAgICAvKipcbiAgICAgKiDQn9Cw0YDQsNC80LXRgtGA0Ysg0L7RgtGA0LjRgdC+0LLQutC4INCz0YDQsNGE0LjQutCwINC40YHRgtC+0YDQuNC4INGG0LXQvdGLLlxuICAgICAqL1xuICAgIHB1YmxpYyBjaGFydE9wdGlvbjogRUNoYXJ0c09wdGlvbiA9IHNjQ2hhcnRPcHRpb247XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0L3QvdGL0LUg0L7QsSDQuNGB0YLQvtGA0LjQuCDRhtC10L3RiyDQvdCwINGC0L7QstCw0YAg0LjQu9C4INGD0YHQu9GD0LPRgy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGRhdGE6IFNjSUNoYXJ0RGF0YUl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICog0K3QutC30LXQvNC/0LvRj9GAIHtAbGluayBFQ2hhcnRzfSDQsiDRiNCw0LHQu9C+0L3QtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGVDaGFydHNJbnN0YW5jZTogRUNoYXJ0cztcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NQcmljZUhpc3RvcnlDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNkciDQntCx0YrQtdC60YIg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQvtCx0L3QsNGA0YPQttC10L3QuNC10Lwg0LjQt9C80LXQvdC10L3QuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICAvKiogQGluaGVyaXREb2MgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNoYXJ0T3B0aW9uLnNlcmllcyAmJiAhQXJyYXkuaXNBcnJheSh0aGlzLmNoYXJ0T3B0aW9uLnNlcmllcykpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnRPcHRpb24uc2VyaWVzLmRhdGEgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuaGlzdG9yeSlcbiAgICAgICAgICAgIC5tYXAoKGtleSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vID8g0JzQvtC20L3QviDQuNC30LHQtdC20LDRgtGMINC/0LXRgNC10LLQtdC00Y8g0LTQsNGC0Ysg0LIgYXBpINCyINGE0L7RgNC80LDRgiBFQ01BU2NyaXB0wq4gMjAyMzogaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1kYXRlLXRpbWUtc3RyaW5nLWZvcm1hdFxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFTdHJpbmcgPSBrZXkuc3BsaXQoJy4nKS5yZXZlcnNlKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IG5ldyBEYXRlKCtkYXRhU3RyaW5nWzBdLCArZGF0YVN0cmluZ1sxXSAtIDEsICtkYXRhU3RyaW5nWzJdKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7IGRhdGE6IGRhdGEsIGNvc3Q6IHRoaXMuaGlzdG9yeVtTdHJpbmcoa2V5KV0uY29zdCB9O1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiArYS5kYXRhIC0gK2IuZGF0YSlcbiAgICAgICAgICAgIC5mb3JFYWNoKChpdGVtLCBpbmRleCwgYXJyYXkpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgbmV4dERhdGU6IERhdGU7XG5cbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxuICAgICAgICAgICAgICAgIGlmIChhcnJheVtpbmRleCArIDFdPy5kYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIG5leHREYXRlID0gbmV3IERhdGUoYXJyYXlbaW5kZXggKyAxXT8uZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIG5leHREYXRlLnNldERhdGUobmV4dERhdGUuZ2V0RGF0ZSgpIC0gMSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbmV4dERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMucHVzaERhdGFJdGVtKGl0ZW0uY29zdCwgaXRlbS5kYXRhLCBuZXh0RGF0ZSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxuICAgICAgICBpZiAodGhpcy5lQ2hhcnRzSW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q2hhcnREYXRhKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9C10YDQtdGF0LLQsNGC0YfQuNC6INC20LjQt9C90LXQvdC90L7Qs9C+INGG0LjQutC70LAge0BsaW5rIEVDaGFydHN9LCDQutC+0YLQvtGA0YvQuSDQstGL0LfRi9Cy0LDQtdGC0YHRjyDQv9GA0Lgg0LXQs9C+INC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGVDaGFydHNJbnN0YW5jZSDQrdC60LfQtdC80L/Qu9GP0YAge0BsaW5rIEVDaGFydHN9LlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZXZlbnQtYWJicmV2aWF0aW9uc1xuICAgIHB1YmxpYyBvbkNoYXJ0SW5pdChlQ2hhcnRzSW5zdGFuY2U6IEVDaGFydHMpIHtcbiAgICAgICAgdGhpcy5lQ2hhcnRzSW5zdGFuY2UgPSBlQ2hhcnRzSW5zdGFuY2U7XG5cbiAgICAgICAgaWYgKHRoaXMuZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnNldENoYXJ0RGF0YSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0L3QvtCy0YvQtSDQtNCw0L3QvdGL0LUge0BsaW5rIFNjUHJpY2VIaXN0b3J5Q29tcG9uZW50LmVDaGFydHNJbnN0YW5jZX0uXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXRDaGFydERhdGEoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNoYXJ0T3B0aW9uLnNlcmllcyAmJiAhQXJyYXkuaXNBcnJheSh0aGlzLmNoYXJ0T3B0aW9uLnNlcmllcykpIHtcbiAgICAgICAgICAgIHRoaXMubWF4UHJpY2UgPSBNYXRoLm1heCguLi50aGlzLmRhdGEubWFwKChpdGVtKSA9PiBpdGVtLnZhbHVlWzFdKSk7XG4gICAgICAgICAgICB0aGlzLm1pblByaWNlID0gTWF0aC5taW4oLi4udGhpcy5kYXRhLm1hcCgoaXRlbSkgPT4gaXRlbS52YWx1ZVsxXSkpO1xuICAgICAgICAgICAgdGhpcy5jaGFydE9wdGlvbi5zZXJpZXMuZGF0YSA9IHRoaXMuZGF0YTtcbiAgICAgICAgICAgIHRoaXMuZUNoYXJ0c0luc3RhbmNlLmNsZWFyKCk7XG4gICAgICAgICAgICB0aGlzLmVDaGFydHNJbnN0YW5jZS5zZXRPcHRpb24odGhpcy5jaGFydE9wdGlvbiwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCU0L7QsdCw0LLQu9GP0LXRgiDQt9C90LDRh9C10L3QuNC1INGG0LXQvdGLINGC0L7QstCw0YDQsCDQsiDQvNCw0YHRgdC40LIg0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlINCm0LXQvdCwINGC0L7QstCw0YDQsCDQuNC70Lgg0YPRgdC70YPQs9C4LlxuICAgICAqIEBwYXJhbSBkYXRlINCU0LDRgtCwINGD0YHRgtCw0L3QvtCy0LrQuCDRhtC10L3Riy5cbiAgICAgKiBAcGFyYW0gbmV4dERhdGUg0KHQu9C10LTRg9GO0YnQsNGPINC00LDRgtCwINGD0YHRgtCw0L3QvtCy0LrQuCDRhtC10L3Riy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHB1c2hEYXRhSXRlbSh2YWx1ZTogbnVtYmVyLCBkYXRlOiBEYXRlLCBuZXh0RGF0ZTogRGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGEucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiBkYXRlLnRvU3RyaW5nKCksXG4gICAgICAgICAgICB2YWx1ZTogW2RhdGUsIHZhbHVlLCBuZXh0RGF0ZV0sXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlclwiPlxuICAgIDxkaXYgKm5nSWY9XCJtYXhQcmljZSAmJiBtaW5QcmljZVwiIGNsYXNzPVwidy1mdWxsIGZvbnQtYm9sZCB0ZXh0LWVuZCB0ZXh0LWxnIG1iLTFcIj7QvtGCIHt7IG1pblByaWNlLnRvTG9jYWxlU3RyaW5nKCkgfX0g4oK9INC00L4ge3sgbWF4UHJpY2UudG9Mb2NhbGVTdHJpbmcoKSB9fSDigr08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgdy1mdWxsIGgtNTZcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImgtNDggYmctdHVpLWJhc2UtMDIgbXQtMiBhYnNvbHV0ZSByb3VuZGVkIHJpZ2h0LTAgbGVmdC0xNlwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGVjaGFydHMgW2luaXRPcHRzXT1cImluaXRPcHRpb25cIiAoY2hhcnRJbml0KT1cIm9uQ2hhcnRJbml0KCRldmVudClcIiBbb3B0aW9uc109XCJjaGFydE9wdGlvblwiIGNsYXNzPVwidy1mdWxsICFoLWZ1bGwgdG91Y2gtbm9uZVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
113
+ }], computeLabels$: [], computeValue: [] } });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtaGlzdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9wcmljZS1oaXN0b3J5L3NjLXByaWNlLWhpc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtaGlzdG9yeS9zYy1wcmljZS1oaXN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1RUFBdUU7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBRTVEOztHQUVHO0FBTUgsTUFBTSxPQUFPLHVCQUF1QjtJQTJDaEM7Ozs7OztPQU1HO0lBQ0gsWUFDcUIsY0FBZ0MsRUFDWixPQUFzQyxFQUcxRCxPQUF3RDtRQUp4RCxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFDWixZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUcxRCxZQUFPLEdBQVAsT0FBTyxDQUFpRDtRQS9CN0U7O1dBRUc7UUFDYSxnQkFBVyxHQUF5QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDakYsR0FBRyxDQUNDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDUCxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFB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QUFDO3dCQUMzSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3JCO2FBQ0osQ0FBQztRQUNOLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDYixDQUFDO0lBQ04sQ0FBQzs7b0hBaklRLHVCQUF1QixrREFvRHBCLFVBQVUsYUFFVixvQkFBb0I7d0dBdER2Qix1QkFBdUIsd0ZDaEJwQyxrMkRBeUNBO0FEMEVJO0lBREMsT0FBTzs2REFHUDtBQVdEO0lBREMsT0FBTzsyREFrQlA7MkZBaklRLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBRVgsdUJBQXVCLENBQUMsTUFBTTs7MEJBc0QxQyxNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixRQUFROzswQkFDUixNQUFNOzJCQUFDLG9CQUFvQjs0Q0E3Q2hCLE9BQU87c0JBQXRCLEtBQUs7Z0JBMEZDLGNBQWMsTUFhZCxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgY2xhc3MtbWV0aG9kcy11c2UtdGhpcyxsb2Rhc2gvcHJlZmVyLWxvZGFzaC1tZXRob2QgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjQ2F0YWxvZ1NlcnZpY2UsIFNjUHJvZHVjdCB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVHVpRGF5LCBUdWlEYXlSYW5nZSwgVHVpTW9udGgsIHR1aVB1cmUsIFR1aVN0cmluZ0hhbmRsZXIgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFRVSV9NT05USFMsIFR1aURpYWxvZ0NvbnRleHQgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBQT0xZTU9SUEhFVVNfQ09OVEVYVCB9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQk9GA0LDRhNC40Log0LjRgdGC0L7RgNC40Lgg0YbQtdC9INGC0L7QstCw0YDQsCDQuNC70Lgg0YPRgdC70YPQs9C4LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWhpc3RvcnknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmljZS1oaXN0b3J5LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcmljZUhpc3RvcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQstGA0LXQvNC10L3QvdC+0LPQviDQv9GA0L7QvNC10LbRg9GC0LrQsCDQuNGB0YLQvtGA0LjQuCDRhtC10L0uXG4gICAgICovXG4gICAgcHVibGljIHJhbmdlJDogT2JzZXJ2YWJsZTxUdWlEYXlSYW5nZT47XG5cbiAgICAvKipcbiAgICAgKiDQotC+0LLQsNGAINC40LvQuCDRg9GB0LvRg9Cz0LAsINC00LvRjyDQutC+0YLQvtGA0L7Qs9C+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINC40YHRgtC+0YDQuNGOINGG0LXQvS5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcHJvZHVjdDogU2NQcm9kdWN0O1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40YHRgtC+0YDQuNC4INGG0LXQvS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGlzdG9yeSQ/OiBPYnNlcnZhYmxlPFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4+O1xuXG4gICAgLyoqXG4gICAgICog0JzQsNC60YHQuNC80LDQu9GM0L3QsNGPINGG0LXQvdCwINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcHJpY2VJbmZvJD86IE9ic2VydmFibGU8e1xuICAgICAgICBtaW46IG51bWJlcjtcbiAgICAgICAgbWF4OiBudW1iZXI7XG4gICAgfT47XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YTRg9C90LrRhtC40Y8g0LTQu9GPINC/0YDQtdC+0LHRgNCw0LfQvtCy0LDQvdC40Y8g0LfQvdCw0YfQtdC90LjRjyBudW1iZXIg0LIg0YHRgtGA0L7QutGDINCyINC/0L7QtNGB0LrQsNC30LrQtSDQv9C+INC+0YHQuCBYLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSB4U3RyaW5naWZ5JDogT2JzZXJ2YWJsZTxUdWlTdHJpbmdIYW5kbGVyPFR1aURheT4+ID0gdGhpcy5tb250aHMkLnBpcGUoXG4gICAgICAgIG1hcChcbiAgICAgICAgICAgIChtb250aHMpID0+XG4gICAgICAgICAgICAgICAgKHsgbW9udGgsIGRheSB9KSA9PlxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VjdXJpdHkvZGV0ZWN0LW9iamVjdC1pbmplY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgYCR7bW9udGhzW21vbnRoXX0sICR7ZGF5fWBcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQpNGD0L3QutGG0LjRjyDQtNC70Y8g0L/RgNC10L7QsdGA0LDQt9C+0LLQsNC90LjRjyDQt9C90LDRh9C10L3QuNGPIG51bWJlciDQsiDRgdGC0YDQvtC60YMg0LIg0L/QvtC00YHQutCw0LfQutC1INC/0L4g0L7RgdC4IFkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUg0JfQvdCw0YfQtdC90LjQtSDQvtGB0LggWS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgeVN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxudW1iZXI+ID0gKHZhbHVlKSA9PiBgJHt2YWx1ZS50b0xvY2FsZVN0cmluZygncnUtUlUnKX0g4oK9YDtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NQcmljZUhpc3RvcnlDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGFsb2dTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC60LDRgtCw0LvQvtCz0L7QvC5cbiAgICAgKiBAcGFyYW0gbW9udGhzJCDQn9C10YDQtdGH0LjRgdC70LXQvdC40LUg0LzQtdGB0Y/RhtC10LIuXG4gICAgICogQHBhcmFtIGNvbnRleHQg0JrQvtC90YLQtdC60YHRgiDQtNC40LDQu9C+0LPQvtCy0L7Qs9C+INC+0LrQvdCwLCDQsiDQutC+0YLQvtGA0L7QvCDQvtGC0LrRgNGL0YIg0LrQvtC80L/QvtC90LXQvdGCLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjYXRhbG9nU2VydmljZTogU2NDYXRhbG9nU2VydmljZSxcbiAgICAgICAgQEluamVjdChUVUlfTU9OVEhTKSBwcml2YXRlIHJlYWRvbmx5IG1vbnRocyQ6IE9ic2VydmFibGU8cmVhZG9ubHkgc3RyaW5nW10+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFBPTFlNT1JQSEVVU19DT05URVhUKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRleHQ/OiBUdWlEaWFsb2dDb250ZXh0PHZvaWQsIHsgcHJvZHVjdDogU2NQcm9kdWN0IH0+XG4gICAgKSB7XG4gICAgICAgIGlmIChjb250ZXh0KSB7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3QgPSBjb250ZXh0LmRhdGEucHJvZHVjdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oaXN0b3J5JCA9IHRoaXMuY2F0YWxvZ1NlcnZpY2UuZ2V0UHJpY2VIaXN0b3J5JCh0aGlzLnByb2R1Y3QpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGhpc3RvcnkpID0+XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoaGlzdG9yeSlcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoaXRlbSk6IFtUdWlEYXksIG51bWJlcl0gPT4gW1R1aURheS5ub3JtYWxpemVQYXJzZShpdGVtLCAnRE1ZJyksIGhpc3RvcnlbU3RyaW5nKGl0ZW0pXS5jb3N0XSlcbiAgICAgICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IChhWzBdID4gYlswXSA/IDEgOiAtMSkpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgICAgICAgICAgIGZpbHRlcigoaGlzdG9yeSkgPT4gaGlzdG9yeS5sZW5ndGggPiAxKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMucHJpY2VJbmZvJCA9IHRoaXMuaGlzdG9yeSQucGlwZShcbiAgICAgICAgICAgIG1hcCgoaGlzdG9yeSkgPT4gaGlzdG9yeS5tYXAoKGl0ZW0pID0+IGl0ZW1bMV0pKSxcbiAgICAgICAgICAgIG1hcCgodmFsdWVzKSA9PiAoe1xuICAgICAgICAgICAgICAgIG1pbjogTWF0aC5taW4oLi4udmFsdWVzKSxcbiAgICAgICAgICAgICAgICBtYXg6IE1hdGgubWF4KC4uLnZhbHVlcyksXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnJhbmdlJCA9IHRoaXMuaGlzdG9yeSQucGlwZShcbiAgICAgICAgICAgIG1hcCgodmFsdWU6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4pID0+ICh7IGZyb206IHZhbHVlLmF0KDApPy5bMF0sIHRvOiB2YWx1ZS5hdCgtMSk/LlswXSB9KSksXG4gICAgICAgICAgICBmaWx0ZXIoKHJhbmdlKTogcmFuZ2UgaXMgeyBmcm9tOiBUdWlEYXk7IHRvOiBUdWlEYXkgfSA9PiAhIXJhbmdlLmZyb20gJiYgISFyYW5nZS50byksXG4gICAgICAgICAgICBtYXAoKHJhbmdlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBUdWlEYXlSYW5nZShyYW5nZS5mcm9tLCByYW5nZS50byk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvRh9C40YHQu9GP0LXRgiDQv9C+0LTQv9C40YHQuCDQtNCw0YLRiyDQuiDQvtGB0LggWC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbTAge0BsaW5rIFR1aURheVJhbmdlfSDQktGA0LXQvNC10L3QvdC+0Lkg0L/RgNC+0LzQtdC20YPRgtC+0Log0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqIEBwYXJhbSBwYXJhbTAuZnJvbSB7QGxpbmsgVHVpRGF5fSDQlNCw0YLQsCDQvdCw0YfQsNC70LAg0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqIEBwYXJhbSBwYXJhbTAudG8ge0BsaW5rIFR1aURheX0g0JTQsNGC0LAg0LrQvtC90YbQsCDQuNGB0YLQvtGA0LjQuCDRhtC10L0uXG4gICAgICovXG4gICAgQHR1aVB1cmVcbiAgICBwdWJsaWMgY29tcHV0ZUxhYmVscyQoeyBmcm9tLCB0byB9OiBUdWlEYXlSYW5nZSk6IE9ic2VydmFibGU8cmVhZG9ubHkgc3RyaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9udGhzJC5waXBlKG1hcCgobW9udGhzKSA9PiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBUdWlNb250aC5sZW5ndGhCZXR3ZWVuKGZyb20sIHRvKSArIDEgfSwgKF8sIGluZGV4KSA9PiBtb250aHNbZnJvbS5hcHBlbmQoeyBtb250aDogaW5kZXggfSkubW9udGhdKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvRh9C40YHQu9GP0LXRgiDQtNCw0L3QvdGL0LUg0LTQu9GPINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0L3QsCDQs9GA0LDRhNC40LrQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbTAge0BsaW5rIFR1aURheVJhbmdlfSDQktGA0LXQvNC10L3QvdC+0Lkg0L/RgNC+0LzQtdC20YPRgtC+0Log0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqIEBwYXJhbSBwYXJhbTAuZnJvbSB7QGxpbmsgVHVpRGF5fSDQlNCw0YLQsCDQvdCw0YfQsNC70LAg0LjRgdGC0L7RgNC40Lgg0YbQtdC9LlxuICAgICAqIEBwYXJhbSBwYXJhbTAudG8ge0BsaW5rIFR1aURheX0g0JTQsNGC0LAg0LrQvtC90YbQsCDQuNGB0YLQvtGA0LjQuCDRhtC10L0uXG4gICAgICogQHBhcmFtIGhpc3Rvcnkg0JjRgdGC0L7RgNC40Y8g0YbQtdC9LlxuICAgICAqL1xuICAgIEB0dWlQdXJlXG4gICAgcHVibGljIGNvbXB1dGVWYWx1ZSh7IGZyb20sIHRvIH06IFR1aURheVJhbmdlLCBoaXN0b3J5OiBSZWFkb25seUFycmF5PFtUdWlEYXksIG51bWJlcl0+KTogUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBBcnJheS5mcm9tKHsgbGVuZ3RoOiBUdWlEYXkubGVuZ3RoQmV0d2Vlbihmcm9tLCB0bykgKyAxIH0pXG4gICAgICAgICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby1hcnJheS1yZWR1Y2VcbiAgICAgICAgICAgICAgICAucmVkdWNlPFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4+KChhcnJheSwgXywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGZyb20uYXBwZW5kKHsgZGF5OiBpbmRleCB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmFycmF5LFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhpc3RvcnkuZmluZCgodmFsdWVIaXN0b3J5LCBpbmRleEhpc3RvcnksIGFycmF5SGlzdG9yeSkgPT4gZGF0YS5kYXlTYW1lKHZhbHVlSGlzdG9yeVswXSkgfHwgZGF0YS5kYXlCZWZvcmUoYXJyYXlIaXN0b3J5W2luZGV4SGlzdG9yeSArIDFdWzBdKSkgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlzdG9yeVswXSlbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH0sIFtdKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcmljZUluZm8kIHwgYXN5bmMgYXMgcHJpY2VJbmZvOyBlbHNlIGlzTm90RXhpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInctMTc0IG1iLTEgdGV4dC1lbmQgdGV4dC1sZyBmb250LWJvbGRcIj7QvtGCIHt7IHByaWNlSW5mby5taW4udG9Mb2NhbGVTdHJpbmcoKSB9fSDigr0g0LTQviB7eyBwcmljZUluZm8ubWF4LnRvTG9jYWxlU3RyaW5nKCkgfX0g4oK9PC9kaXY+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpc3RvcnkkIHwgYXN5bmMgYXMgaGlzdG9yeVwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwicmFuZ2UkIHwgYXN5bmMgYXMgcmFuZ2VcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicmVsYXRpdmUgaC01NiB3LWZ1bGwgcC01IHRleHQtdHVpLXByaW1hcnlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0dWktYXhlc1xuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbXB1dGVMYWJlbHMkKHJhbmdlKSB8IGFzeW5jIGFzIGxhYmVsc1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaC1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F4aXNYTGFiZWxzXT1cImxhYmVsc1wiXG4gICAgICAgICAgICAgICAgICAgIFtob3Jpem9udGFsTGluZXNdPVwiNFwiXG4gICAgICAgICAgICAgICAgICAgIFt2ZXJ0aWNhbExpbmVzXT1cImxhYmVscy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1saW5lLWRheXMtY2hhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hhcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hlaWdodF09XCJwcmljZUluZm8ubWF4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzbW9vdGhpbmdGYWN0b3JdPVwiMTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ldPVwicHJpY2VJbmZvLm1pbiAtIChwcmljZUluZm8ubWluICogMSkgLyA0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb21wdXRlVmFsdWUocmFuZ2UsIGhpc3RvcnkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt4U3RyaW5naWZ5XT1cInhTdHJpbmdpZnkkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3lTdHJpbmdpZnldPVwieVN0cmluZ2lmeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaGludENvbnRlbnRdPVwiaGludFwiXG4gICAgICAgICAgICAgICAgICAgID48L3R1aS1saW5lLWRheXMtY2hhcnQ+XG4gICAgICAgICAgICAgICAgPC90dWktYXhlcz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2lzTm90RXhpc3Q+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1iYXNlIGZvbnQtYm9sZFwiPtCm0LXQvdCwINC90LAg0YLQvtCy0LDRgCDQvdC1INC40LfQvNC10L3Rj9C70LDRgdGMPC9wPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICNoaW50XG4gICAgICAgIGxldC1kYXRhXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9udC1ib2xkXCI+e3sgZGF0YVsxXS50b0xvY2FsZVN0cmluZygpIH19IOKCvTwvZGl2PlxuICAgICAgICA8ZGl2Pnt7IGRhdGFbMF0gfX08L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
@@ -2,27 +2,19 @@ import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { RouterModule } from '@angular/router';
5
+ import { TuiAxesModule, TuiLineDaysChartModule } from '@taiga-ui/addon-charts';
5
6
  import { TuiLetModule, TuiRepeatTimesModule } from '@taiga-ui/cdk';
6
7
  import { TuiButtonModule, TuiHintModule, TuiLabelModule, TuiLinkModule, TuiLoaderModule, TuiModeModule, TuiSvgModule, TuiTextfieldControllerModule } from '@taiga-ui/core';
7
8
  import { TuiElasticContainerModule, TuiFieldErrorPipeModule, TuiHighlightModule, TuiInputNumberModule, TuiIslandModule } from '@taiga-ui/kit';
8
- import { LineChart } from 'echarts/charts';
9
- import { GridComponent, TitleComponent, TooltipComponent } from 'echarts/components';
10
- import * as echarts from 'echarts/core';
11
- import { SVGRenderer } from 'echarts/renderers';
12
- import { NgxEchartsModule } from 'ngx-echarts';
13
9
  import { ScCategoriesListComponent } from './categories-list/sc-categories-list.component';
14
10
  import { ScCategoryCardComponent } from './category-card/sc-category-card.component';
15
11
  import { ScInputQuantityComponent } from './input-quantity/sc-input-quantity.component';
16
12
  import { ScPriceCardComponent } from './price-card/sc-price-card.component';
17
- import scLangRU from './price-history/sc-lang-ru';
18
13
  import { ScPriceHistoryComponent } from './price-history/sc-price-history.component';
19
14
  import { ScPriceListPaginationComponent } from './price-list-pagination/sc-price-list-pagination.component';
20
15
  import { ScPriceWarehouseStockComponent } from './price-warehouse-stock/sc-price-warehouse-stock.component';
21
16
  import { ScFavoriteBtnComponent as ScFavoriteButtonComponent } from './sc-favorite-btn/sc-favorite-btn.component';
22
17
  import * as i0 from "@angular/core";
23
- import * as i1 from "ngx-echarts";
24
- echarts.registerLocale('RU', scLangRU);
25
- echarts.use([TitleComponent, TooltipComponent, GridComponent, LineChart, SVGRenderer]);
26
18
  /**
27
19
  * Модуль каталога.
28
20
  */
@@ -51,9 +43,12 @@ ScCatalogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
51
43
  TuiFieldErrorPipeModule,
52
44
  TuiLoaderModule,
53
45
  TuiLinkModule,
54
- TuiElasticContainerModule, i1.NgxEchartsModule, TuiLetModule,
46
+ TuiElasticContainerModule,
47
+ TuiLetModule,
55
48
  TuiRepeatTimesModule,
56
- TuiHighlightModule], exports: [ScPriceListPaginationComponent,
49
+ TuiHighlightModule,
50
+ TuiLineDaysChartModule,
51
+ TuiAxesModule], exports: [ScPriceListPaginationComponent,
57
52
  ScCategoryCardComponent,
58
53
  ScFavoriteButtonComponent,
59
54
  ScInputQuantityComponent,
@@ -77,10 +72,11 @@ ScCatalogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
77
72
  TuiLoaderModule,
78
73
  TuiLinkModule,
79
74
  TuiElasticContainerModule,
80
- NgxEchartsModule.forRoot({ echarts }),
81
75
  TuiLetModule,
82
76
  TuiRepeatTimesModule,
83
- TuiHighlightModule] });
77
+ TuiHighlightModule,
78
+ TuiLineDaysChartModule,
79
+ TuiAxesModule] });
84
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScCatalogModule, decorators: [{
85
81
  type: NgModule,
86
82
  args: [{
@@ -121,11 +117,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
121
117
  TuiLoaderModule,
122
118
  TuiLinkModule,
123
119
  TuiElasticContainerModule,
124
- NgxEchartsModule.forRoot({ echarts }),
125
120
  TuiLetModule,
126
121
  TuiRepeatTimesModule,
127
122
  TuiHighlightModule,
123
+ TuiLineDaysChartModule,
124
+ TuiAxesModule,
128
125
  ],
129
126
  }]
130
127
  }] });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9zYy1jYXRhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNLLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckYsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUvQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFB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QUFvQjt3QkFDcEIsa0JBQWtCO3FCQUNyQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHVpTGV0TW9kdWxlLCBUdWlSZXBlYXRUaW1lc01vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpQnV0dG9uTW9kdWxlLCBUdWlIaW50TW9kdWxlLCBUdWlMYWJlbE1vZHVsZSwgVHVpTGlua01vZHVsZSwgVHVpTG9hZGVyTW9kdWxlLCBUdWlNb2RlTW9kdWxlLCBUdWlTdmdNb2R1bGUsIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBUdWlFbGFzdGljQ29udGFpbmVyTW9kdWxlLCBUdWlGaWVsZEVycm9yUGlwZU1vZHVsZSwgVHVpSGlnaGxpZ2h0TW9kdWxlLCBUdWlJbnB1dE51bWJlck1vZHVsZSwgVHVpSXNsYW5kTW9kdWxlIH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQgeyBMaW5lQ2hhcnQgfSBmcm9tICdlY2hhcnRzL2NoYXJ0cyc7XG5pbXBvcnQgeyBHcmlkQ29tcG9uZW50LCBUaXRsZUNvbXBvbmVudCwgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJ2VjaGFydHMvY29tcG9uZW50cyc7XG5pbXBvcnQgKiBhcyBlY2hhcnRzIGZyb20gJ2VjaGFydHMvY29yZSc7XG5pbXBvcnQgeyBTVkdSZW5kZXJlciB9IGZyb20gJ2VjaGFydHMvcmVuZGVyZXJzJztcbmltcG9ydCB7IE5neEVjaGFydHNNb2R1bGUgfSBmcm9tICduZ3gtZWNoYXJ0cyc7XG5cbmltcG9ydCB7IFNjQ2F0ZWdvcmllc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2NhdGVnb3JpZXMtbGlzdC9zYy1jYXRlZ29yaWVzLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNjQ2F0ZWdvcnlDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXRlZ29yeS1jYXJkL3NjLWNhdGVnb3J5LWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtcXVhbnRpdHkvc2MtaW5wdXQtcXVhbnRpdHkuY29tcG9uZW50JztcbmltcG9ydCB7IFNjUHJpY2VDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9wcmljZS1jYXJkL3NjLXByaWNlLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCBzY0xhbmdSVSBmcm9tICcuL3ByaWNlLWhpc3Rvcnkvc2MtbGFuZy1ydSc7XG5pbXBvcnQgeyBTY1ByaWNlSGlzdG9yeUNvbXBvbmVudCB9IGZyb20gJy4vcHJpY2UtaGlzdG9yeS9zYy1wcmljZS1oaXN0b3J5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1ByaWNlTGlzdFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3ByaWNlLWxpc3QtcGFnaW5hdGlvbi9zYy1wcmljZS1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNjUHJpY2VXYXJlaG91c2VTdG9ja0NvbXBvbmVudCB9IGZyb20gJy4vcHJpY2Utd2FyZWhvdXNlLXN0b2NrL3NjLXByaWNlLXdhcmVob3VzZS1zdG9jay5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NGYXZvcml0ZUJ0bkNvbXBvbmVudCBhcyBTY0Zhdm9yaXRlQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9zYy1mYXZvcml0ZS1idG4vc2MtZmF2b3JpdGUtYnRuLmNvbXBvbmVudCc7XG5cbmVjaGFydHMucmVnaXN0ZXJMb2NhbGUoJ1JVJywgc2NMYW5nUlUpO1xuZWNoYXJ0cy51c2UoW1RpdGxlQ29tcG9uZW50LCBUb29sdGlwQ29tcG9uZW50LCBHcmlkQ29tcG9uZW50LCBMaW5lQ2hhcnQsIFNWR1JlbmRlcmVyXSk7XG5cbi8qKlxuICog0JzQvtC00YPQu9GMINC60LDRgtCw0LvQvtCz0LAuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFNjUHJpY2VMaXN0UGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICAgICAgU2NDYXRlZ29yeUNhcmRDb21wb25lbnQsXG4gICAgICAgIFNjRmF2b3JpdGVCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCxcbiAgICAgICAgU2NQcmljZUNhcmRDb21wb25lbnQsXG4gICAgICAgIFNjUHJpY2VXYXJlaG91c2VTdG9ja0NvbXBvbmVudCxcbiAgICAgICAgU2NQcmljZUhpc3RvcnlDb21wb25lbnQsXG4gICAgICAgIFNjQ2F0ZWdvcmllc0xpc3RDb21wb25lbnQsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFNjUHJpY2VMaXN0UGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICAgICAgU2NDYXRlZ29yeUNhcmRDb21wb25lbnQsXG4gICAgICAgIFNjRmF2b3JpdGVCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCxcbiAgICAgICAgU2NQcmljZUNhcmRDb21wb25lbnQsXG4gICAgICAgIFNjUHJpY2VXYXJlaG91c2VTdG9ja0NvbXBvbmVudCxcbiAgICAgICAgU2NQcmljZUhpc3RvcnlDb21wb25lbnQsXG4gICAgICAgIFNjQ2F0ZWdvcmllc0xpc3RDb21wb25lbnQsXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIFR1aVN2Z01vZHVsZSxcbiAgICAgICAgVHVpSXNsYW5kTW9kdWxlLFxuICAgICAgICBUdWlJbnB1dE51bWJlck1vZHVsZSxcbiAgICAgICAgVHVpTGFiZWxNb2R1bGUsXG4gICAgICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUdWlIaW50TW9kdWxlLFxuICAgICAgICBUdWlNb2RlTW9kdWxlLFxuICAgICAgICBUdWlGaWVsZEVycm9yUGlwZU1vZHVsZSxcbiAgICAgICAgVHVpTG9hZGVyTW9kdWxlLFxuICAgICAgICBUdWlMaW5rTW9kdWxlLFxuICAgICAgICBUdWlFbGFzdGljQ29udGFpbmVyTW9kdWxlLFxuICAgICAgICBOZ3hFY2hhcnRzTW9kdWxlLmZvclJvb3QoeyBlY2hhcnRzIH0pLFxuICAgICAgICBUdWlMZXRNb2R1bGUsXG4gICAgICAgIFR1aVJlcGVhdFRpbWVzTW9kdWxlLFxuICAgICAgICBUdWlIaWdobGlnaHRNb2R1bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2NDYXRhbG9nTW9kdWxlIHt9XG4iXX0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9zYy1jYXRhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzSyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlJLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzVHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzVHLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQUVsSDs7R0FFRztBQThDSCxNQUFNLE9BQU8sZUFBZTs7NEdBQWYsZUFBZTs2R0FBZixlQUFlLGlCQTNDcEIsOEJBQThCO1FBQzlCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsd0JBQXdCO1FBQ3hCLG9CQUFvQjtRQUNwQiw4QkFBOEI7UUFDOUIsdUJBQXVCO1FBQ3ZCLHlCQUF5QixhQWF6QixZQUFZO1FBQ1osWUFBWTtRQUNaLGVBQWU7UUFDZixZQUFZO1FBQ1osZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixjQUFjO1FBQ2QsNEJBQTRCO1FBQzVCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLGFBQWE7UUFDYix1QkFBdUI7UUFDdkIsZUFBZTtRQUNmLGFBQWE7UUFDYix5QkFBeUI7UUFDekIsWUFBWTtRQUNaLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLGFBQWEsYUE5QmIsOEJBQThCO1FBQzlCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsd0JBQXdCO1FBQ3hCLG9CQUFvQjtRQUNwQiw4QkFBOEI7UUFDOUIsdUJBQXVCO1FBQ3ZCLHlCQUF5Qjs2R0EwQnBCLGVBQWUsWUF2QnBCLFlBQVk7UUFDWixZQUFZO1FBQ1osZUFBZTtRQUNmLFlBQVk7UUFDWixlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLGNBQWM7UUFDZCw0QkFBNEI7UUFDNUIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsYUFBYTtRQUNiLHVCQUF1QjtRQUN2QixlQUFlO1FBQ2YsYUFBYTtRQUNiLHlCQUF5QjtRQUN6QixZQUFZO1FBQ1osb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIsYUFBYTsyRkFHUixlQUFlO2tCQTdDM0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsOEJBQThCO3dCQUM5Qix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLDhCQUE4Qjt3QkFDOUIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDTCw4QkFBOEI7d0JBQzlCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsOEJBQThCO3dCQUM5Qix1QkFBdUI7d0JBQ3ZCLHlCQUF5QjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsNEJBQTRCO3dCQUM1QixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLHlCQUF5Qjt3QkFDekIsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QixhQUFhO3FCQUNoQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHVpQXhlc01vZHVsZSwgVHVpTGluZURheXNDaGFydE1vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMnO1xuaW1wb3J0IHsgVHVpTGV0TW9kdWxlLCBUdWlSZXBlYXRUaW1lc01vZHVsZSB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgVHVpQnV0dG9uTW9kdWxlLCBUdWlIaW50TW9kdWxlLCBUdWlMYWJlbE1vZHVsZSwgVHVpTGlua01vZHVsZSwgVHVpTG9hZGVyTW9kdWxlLCBUdWlNb2RlTW9kdWxlLCBUdWlTdmdNb2R1bGUsIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBUdWlFbGFzdGljQ29udGFpbmVyTW9kdWxlLCBUdWlGaWVsZEVycm9yUGlwZU1vZHVsZSwgVHVpSGlnaGxpZ2h0TW9kdWxlLCBUdWlJbnB1dE51bWJlck1vZHVsZSwgVHVpSXNsYW5kTW9kdWxlIH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5cbmltcG9ydCB7IFNjQ2F0ZWdvcmllc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2NhdGVnb3JpZXMtbGlzdC9zYy1jYXRlZ29yaWVzLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNjQ2F0ZWdvcnlDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXRlZ29yeS1jYXJkL3NjLWNhdGVnb3J5LWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFNjSW5wdXRRdWFudGl0eUNvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtcXVhbnRpdHkvc2MtaW5wdXQtcXVhbnRpdHkuY29tcG9uZW50JztcbmltcG9ydCB7IFNjUHJpY2VDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9wcmljZS1jYXJkL3NjLXByaWNlLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFNjUHJpY2VIaXN0b3J5Q29tcG9uZW50IH0gZnJvbSAnLi9wcmljZS1oaXN0b3J5L3NjLXByaWNlLWhpc3RvcnkuY29tcG9uZW50JztcbmltcG9ydCB7IFNjUHJpY2VMaXN0UGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcHJpY2UtbGlzdC1wYWdpbmF0aW9uL3NjLXByaWNlLWxpc3QtcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NQcmljZVdhcmVob3VzZVN0b2NrQ29tcG9uZW50IH0gZnJvbSAnLi9wcmljZS13YXJlaG91c2Utc3RvY2svc2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY0Zhdm9yaXRlQnRuQ29tcG9uZW50IGFzIFNjRmF2b3JpdGVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3NjLWZhdm9yaXRlLWJ0bi9zYy1mYXZvcml0ZS1idG4uY29tcG9uZW50JztcblxuLyoqXG4gKiDQnNC+0LTRg9C70Ywg0LrQsNGC0LDQu9C+0LPQsC5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgU2NQcmljZUxpc3RQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgICAgICBTY0NhdGVnb3J5Q2FyZENvbXBvbmVudCxcbiAgICAgICAgU2NGYXZvcml0ZUJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgU2NJbnB1dFF1YW50aXR5Q29tcG9uZW50LFxuICAgICAgICBTY1ByaWNlQ2FyZENvbXBvbmVudCxcbiAgICAgICAgU2NQcmljZVdhcmVob3VzZVN0b2NrQ29tcG9uZW50LFxuICAgICAgICBTY1ByaWNlSGlzdG9yeUNvbXBvbmVudCxcbiAgICAgICAgU2NDYXRlZ29yaWVzTGlzdENvbXBvbmVudCxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgU2NQcmljZUxpc3RQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgICAgICBTY0NhdGVnb3J5Q2FyZENvbXBvbmVudCxcbiAgICAgICAgU2NGYXZvcml0ZUJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgU2NJbnB1dFF1YW50aXR5Q29tcG9uZW50LFxuICAgICAgICBTY1ByaWNlQ2FyZENvbXBvbmVudCxcbiAgICAgICAgU2NQcmljZVdhcmVob3VzZVN0b2NrQ29tcG9uZW50LFxuICAgICAgICBTY1ByaWNlSGlzdG9yeUNvbXBvbmVudCxcbiAgICAgICAgU2NDYXRlZ29yaWVzTGlzdENvbXBvbmVudCxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgVHVpU3ZnTW9kdWxlLFxuICAgICAgICBUdWlJc2xhbmRNb2R1bGUsXG4gICAgICAgIFR1aUlucHV0TnVtYmVyTW9kdWxlLFxuICAgICAgICBUdWlMYWJlbE1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFR1aUhpbnRNb2R1bGUsXG4gICAgICAgIFR1aU1vZGVNb2R1bGUsXG4gICAgICAgIFR1aUZpZWxkRXJyb3JQaXBlTW9kdWxlLFxuICAgICAgICBUdWlMb2FkZXJNb2R1bGUsXG4gICAgICAgIFR1aUxpbmtNb2R1bGUsXG4gICAgICAgIFR1aUVsYXN0aWNDb250YWluZXJNb2R1bGUsXG4gICAgICAgIFR1aUxldE1vZHVsZSxcbiAgICAgICAgVHVpUmVwZWF0VGltZXNNb2R1bGUsXG4gICAgICAgIFR1aUhpZ2hsaWdodE1vZHVsZSxcbiAgICAgICAgVHVpTGluZURheXNDaGFydE1vZHVsZSxcbiAgICAgICAgVHVpQXhlc01vZHVsZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTY0NhdGFsb2dNb2R1bGUge31cbiJdfQ==