ng-virtual-list 15.10.8 → 15.10.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@ import { CLASS_LIST_HORIZONTAL, CLASS_LIST_VERTICAL, DEFAULT_DIRECTION, DEFAULT_
5
5
  import { PrerenderTrackBox } from "../../core";
6
6
  import { PrerenderTrackBoxEvents } from "../../events";
7
7
  import { PrerenderVirtualListItemComponent } from "../../components/prerender-list-item/prerender-list-item.component";
8
- import { DisposableComponent } from "projects/ng-virtual-list/src/lib/utils/disposable-component";
8
+ import { DisposableComponent } from "../../../../utils/disposable-component";
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "../prerender-scroller/prerender-scroller.component";
11
11
  import * as i2 from "@angular/common";
@@ -277,4 +277,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
277
277
  }], itemComponentClass: [{
278
278
  type: Input
279
279
  }] } });
280
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcmVuZGVyLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9wcmVyZW5kZXItY29udGFpbmVyL2NvbXBvbmVudHMvcHJlcmVuZGVyLWxpc3QvcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9wcmVyZW5kZXItY29udGFpbmVyL2NvbXBvbmVudHMvcHJlcmVuZGVyLWxpc3QvcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBMEIsU0FBUyxFQUNoRyxnQkFBZ0IsRUFBRSxpQkFBaUIsR0FDdEMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckcsT0FBTyxFQUNILHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUN0Ryx5QkFBeUIsRUFBRSxFQUFFLEVBQUUsc0JBQXNCLEdBQ3hELE1BQU0sbUJBQW1CLENBQUM7QUFPM0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvRUFBb0Us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TSxpQkFDaEMsaUJBQWlCLENBQUMsU0FBUzswRUFJbEMsaUJBQWlCO3NCQUR4QixTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQU12RCxPQUFPO3NCQURWLEtBQUs7Z0JBV0YsU0FBUztzQkFEWixLQUFLO2dCQVdGLFVBQVU7c0JBRGIsS0FBSztnQkFXRixLQUFLO3NCQURSLEtBQUs7Z0JBV0YsZ0JBQWdCO3NCQURuQixLQUFLO2dCQVdGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBV0YsV0FBVztzQkFEZCxLQUFLO2dCQVdGLFNBQVM7c0JBRFosS0FBSztnQkFXRixNQUFNO3NCQURULEtBQUs7Z0JBV0YsT0FBTztzQkFEVixLQUFLO2dCQVdGLFFBQVE7c0JBRFgsS0FBSztnQkFXRixPQUFPO3NCQURWLEtBQUs7Z0JBV0YsWUFBWTtzQkFEZixLQUFLO2dCQVdGLGtCQUFrQjtzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmLCBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyB0b2dnbGVDbGFzc05hbWUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1xyXG4gICAgQ0xBU1NfTElTVF9IT1JJWk9OVEFMLCBDTEFTU19MSVNUX1ZFUlRJQ0FMLCBERUZBVUxUX0RJUkVDVElPTiwgREVGQVVMVF9EWU5BTUlDX1NJWkUsIERFRkFVTFRfSVRFTV9TSVpFLFxyXG4gICAgREVGQVVMVF9TQ1JPTExCQVJfRU5BQkxFRCwgUFgsIFRSQUNLX0JZX1BST1BFUlRZX05BTUUsXHJcbn0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvbnN0XCI7XHJcbmltcG9ydCB7IElTaXplIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IElWaXJ0dWFsTGlzdENvbGxlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IFNjcm9sbEJhclRoZW1lIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3R5cGVzXCI7XHJcbmltcG9ydCB7IFByZXJlbmRlckNhY2hlIH0gZnJvbSBcIi4uLy4uL3R5cGVzL2NhY2hlXCI7XHJcbmltcG9ydCB7IEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vbGlzdC1pdGVtL2Jhc2VcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50JDEgfSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWxzL2NvbXBvbmVudC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBQcmVyZW5kZXJUcmFja0JveCB9IGZyb20gXCIuLi8uLi9jb3JlXCI7XHJcbmltcG9ydCB7IFByZXJlbmRlclRyYWNrQm94RXZlbnRzIH0gZnJvbSBcIi4uLy4uL2V2ZW50c1wiO1xyXG5pbXBvcnQgeyBQcmVyZW5kZXJWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9wcmVyZW5kZXItbGlzdC1pdGVtL3ByZXJlbmRlci1saXN0LWl0ZW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtc1wiO1xyXG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSBcInByb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL3V0aWxzL2Rpc3Bvc2FibGUtY29tcG9uZW50XCI7XHJcblxyXG4vKipcclxuICogUHJlcmVuZGVyTGlzdC5cclxuICogTWF4aW11bSBwZXJmb3JtYW5jZSBmb3IgZXh0cmVtZWx5IGxhcmdlIGxpc3RzLlxyXG4gKiBJdCBpcyBiYXNlZCBvbiBhbGdvcml0aG1zIGZvciB2aXJ0dWFsaXphdGlvbiBvZiBzY3JlZW4gb2JqZWN0cy5cclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTUueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9wcmVyZW5kZXItY29udGFpbmVyL2NvbXBvbmVudHMvcHJlcmVuZGVyLWxpc3QvcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50LnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3ByZXJlbmRlci1saXN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcmVyZW5kZXItbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi4vLi4vLi4vLi4vbmctdmlydHVhbC1saXN0LmNvbXBvbmVudC5zY3NzJywgJy4vcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGhvc3Q6IHtcclxuICAgICAgICAnc3R5bGUnOiAncG9zaXRpb246IHJlbGF0aXZlOydcclxuICAgIH0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFByZXJlbmRlckxpc3QgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3JlbmRlcmVyc0NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxyXG4gICAgcHJpdmF0ZSBfbGlzdENvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRlbmFibGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgICByZWFkb25seSAkZW5hYmxlZCA9IHRoaXMuXyRlbmFibGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBlbmFibGVkKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAodGhpcy5fJGVuYWJsZWQuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kZW5hYmxlZC5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBlbmFibGVkKCkgeyByZXR1cm4gdGhpcy5fJGVuYWJsZWQuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGRpcmVjdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGlyZWN0aW9uPihERUZBVUxUX0RJUkVDVElPTik7XHJcbiAgICByZWFkb25seSAkZGlyZWN0aW9uID0gdGhpcy5fJGRpcmVjdGlvbi5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgZGlyZWN0aW9uKHY6IERpcmVjdGlvbikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kZGlyZWN0aW9uLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJGRpcmVjdGlvbi5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBkaXJlY3Rpb24oKSB7IHJldHVybiB0aGlzLl8kZGlyZWN0aW9uLmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRpc1ZlcnRpY2FsID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcclxuICAgIHJlYWRvbmx5ICRpc1ZlcnRpY2FsID0gdGhpcy5fJGlzVmVydGljYWwuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGlzVmVydGljYWwodjogYm9vbGVhbikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kaXNWZXJ0aWNhbC5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRpc1ZlcnRpY2FsLm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGlzVmVydGljYWwoKSB7IHJldHVybiB0aGlzLl8kaXNWZXJ0aWNhbC5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kaXRlbXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElWaXJ0dWFsTGlzdENvbGxlY3Rpb24+KFtdKTtcclxuICAgIHJlYWRvbmx5ICRpdGVtcyA9IHRoaXMuXyRpdGVtcy5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgaXRlbXModjogSVZpcnR1YWxMaXN0Q29sbGVjdGlvbikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kaXRlbXMuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kaXRlbXMubmV4dCh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgaXRlbXMoKSB7IHJldHVybiB0aGlzLl8kaXRlbXMuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJHNjcm9sbGJhckVuYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KERFRkFVTFRfU0NST0xMQkFSX0VOQUJMRUQpO1xyXG4gICAgcmVhZG9ubHkgJHNjcm9sbGJhckVuYWJsZWQgPSB0aGlzLl8kc2Nyb2xsYmFyRW5hYmxlZC5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgc2Nyb2xsYmFyRW5hYmxlZCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRzY3JvbGxiYXJFbmFibGVkLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJHNjcm9sbGJhckVuYWJsZWQubmV4dCh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgc2Nyb2xsYmFyRW5hYmxlZCgpIHsgcmV0dXJuIHRoaXMuXyRzY3JvbGxiYXJFbmFibGVkLmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRzY3JvbGxiYXJUaGVtZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2Nyb2xsQmFyVGhlbWUgfCBudWxsPihudWxsKTtcclxuICAgIHJlYWRvbmx5ICRzY3JvbGxiYXJUaGVtZSA9IHRoaXMuXyRzY3JvbGxiYXJUaGVtZS5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgc2Nyb2xsYmFyVGhlbWUodjogU2Nyb2xsQmFyVGhlbWUgfCBudWxsKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRzY3JvbGxiYXJUaGVtZS5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRzY3JvbGxiYXJUaGVtZS5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBzY3JvbGxiYXJUaGVtZSgpIHsgcmV0dXJuIHRoaXMuXyRzY3JvbGxiYXJUaGVtZS5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kc3RhcnRPZmZzZXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XHJcbiAgICByZWFkb25seSAkc3RhcnRPZmZzZXQgPSB0aGlzLl8kc3RhcnRPZmZzZXQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHN0YXJ0T2Zmc2V0KHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kc3RhcnRPZmZzZXQuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kc3RhcnRPZmZzZXQubmV4dCh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgc3RhcnRPZmZzZXQoKSB7IHJldHVybiB0aGlzLl8kc3RhcnRPZmZzZXQuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGVuZE9mZnNldCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcclxuICAgIHJlYWRvbmx5ICRlbmRPZmZzZXQgPSB0aGlzLl8kZW5kT2Zmc2V0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBlbmRPZmZzZXQodjogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRlbmRPZmZzZXQuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kZW5kT2Zmc2V0Lm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGVuZE9mZnNldCgpIHsgcmV0dXJuIHRoaXMuXyRlbmRPZmZzZXQuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGJvdW5kcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVNpemUgfCBudWxsPihudWxsKTtcclxuICAgIHJlYWRvbmx5ICRib3VuZHMgPSB0aGlzLl8kYm91bmRzLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBib3VuZHModjogSVNpemUgfCBudWxsKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRib3VuZHMuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kYm91bmRzLm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGJvdW5kcygpIHsgcmV0dXJuIHRoaXMuXyRib3VuZHMuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGR5bmFtaWMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KERFRkFVTFRfRFlOQU1JQ19TSVpFKTtcclxuICAgIHJlYWRvbmx5ICRkeW5hbWljID0gdGhpcy5fJGR5bmFtaWMuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGR5bmFtaWModjogYm9vbGVhbikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kZHluYW1pYy5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRkeW5hbWljLm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGR5bmFtaWMoKSB7IHJldHVybiB0aGlzLl8kZHluYW1pYy5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kaXRlbVNpemUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oREVGQVVMVF9JVEVNX1NJWkUpO1xyXG4gICAgcmVhZG9ubHkgJGl0ZW1TaXplID0gdGhpcy5fJGl0ZW1TaXplLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBpdGVtU2l6ZSh2OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodGhpcy5fJGl0ZW1TaXplLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJGl0ZW1TaXplLm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGl0ZW1TaXplKCkgeyByZXR1cm4gdGhpcy5fJGl0ZW1TaXplLmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyR0cmFja0J5ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KFRSQUNLX0JZX1BST1BFUlRZX05BTUUpO1xyXG4gICAgcmVhZG9ubHkgJHRyYWNrQnkgPSB0aGlzLl8kdHJhY2tCeS5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgdHJhY2tCeSh2OiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodGhpcy5fJHRyYWNrQnkuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kdHJhY2tCeS5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCB0cmFja0J5KCkgeyByZXR1cm4gdGhpcy5fJHRyYWNrQnkuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGl0ZW1SZW5kZXJlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+KG51bGwpO1xyXG4gICAgcmVhZG9ubHkgJGl0ZW1SZW5kZXJlciA9IHRoaXMuXyRpdGVtUmVuZGVyZXIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGl0ZW1SZW5kZXJlcih2OiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCkge1xyXG4gICAgICAgIGlmICh0aGlzLl8kaXRlbVJlbmRlcmVyLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJGl0ZW1SZW5kZXJlci5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBpdGVtUmVuZGVyZXIoKSB7IHJldHVybiB0aGlzLl8kaXRlbVJlbmRlcmVyLmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRpdGVtQ29tcG9uZW50Q2xhc3MgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENvbXBvbmVudCQxPEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQ+PihQcmVyZW5kZXJWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQpO1xyXG4gICAgcmVhZG9ubHkgJGl0ZW1Db21wb25lbnRDbGFzcyA9IHRoaXMuXyRpdGVtQ29tcG9uZW50Q2xhc3MuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGl0ZW1Db21wb25lbnRDbGFzcyh2OiBDb21wb25lbnQkMTxCYXNlVmlydHVhbExpc3RJdGVtQ29tcG9uZW50Pikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kaXRlbUNvbXBvbmVudENsYXNzLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJGl0ZW1Db21wb25lbnRDbGFzcy5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBpdGVtQ29tcG9uZW50Q2xhc3MoKSB7IHJldHVybiB0aGlzLl8kaXRlbUNvbXBvbmVudENsYXNzLmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRjbGFzc2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IFtjTmFtZTogc3RyaW5nXTogYm9vbGVhbiB9Pih7IHByZXBhcmVkOiB0cnVlIH0pO1xyXG4gICAgcmVhZG9ubHkgJGNsYXNzZXMgPSB0aGlzLl8kY2xhc3Nlcy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBwcml2YXRlIF8kcmVuZGVyID0gbmV3IFN1YmplY3Q8UHJlcmVuZGVyQ2FjaGU+KCk7XHJcbiAgICAkcmVuZGVyID0gdGhpcy5fJHJlbmRlci5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBwcml2YXRlIF8kY29tcG9uZW50UmVzaXplID0gbmV3IFN1YmplY3Q8UHJlcmVuZGVyQ2FjaGU+KCk7XHJcbiAgICBwcm90ZWN0ZWQgJGNvbXBvbmVudFJlc2l6ZSA9IHRoaXMuXyRjb21wb25lbnRSZXNpemUuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfdHJhY2tCb3g6IFByZXJlbmRlclRyYWNrQm94IHwgbnVsbCA9IG5ldyBQcmVyZW5kZXJUcmFja0JveCgpO1xyXG5cclxuICAgIHByaXZhdGUgX29uVHJhY2tCb3hSZXNpemVIYW5kbGVyID0gKGNhY2hlOiBQcmVyZW5kZXJDYWNoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuXyRjb21wb25lbnRSZXNpemUubmV4dChjYWNoZSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xyXG5cclxuICAgIGdldCBhY3RpdmUoKSB7IHJldHVybiB0aGlzLl90cmFja0JveD8uYWN0aXZlID8/IGZhbHNlOyB9XHJcblxyXG4gICAgcHJpdmF0ZSBfYWN0aXZhdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBBcnJheTxTdWJzY3JpcHRpb24+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuXHJcbiAgICAgICAgdGhpcy4kaXNWZXJ0aWNhbCA9IHRoaXMuJGlzVmVydGljYWw7XHJcbiAgICAgICAgdGhpcy4kaXRlbXMgPSB0aGlzLiRpdGVtcztcclxuICAgICAgICB0aGlzLiRib3VuZHMgPSB0aGlzLiRib3VuZHM7XHJcblxyXG4gICAgICAgIGNvbnN0ICRlbmFibGVkID0gdGhpcy4kZW5hYmxlZDtcclxuICAgICAgICAkZW5hYmxlZC5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICAgICAgdGFwKGVuYWJsZWQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2YXRlKCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVhY3RpdmF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFjdGl2YXRlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmF0ZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9hY3RpdmF0ZWQgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLl90cmFja0JveCEuYWRkRXZlbnRMaXN0ZW5lcihQcmVyZW5kZXJUcmFja0JveEV2ZW50cy5SRVNJWkUsIHRoaXMuX29uVHJhY2tCb3hSZXNpemVIYW5kbGVyKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuJGlzVmVydGljYWwucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVsID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgdG9nZ2xlQ2xhc3NOYW1lKGVsLCB2ID8gQ0xBU1NfTElTVF9WRVJUSUNBTCA6IENMQVNTX0xJU1RfSE9SSVpPTlRBTCwgdiA/IENMQVNTX0xJU1RfSE9SSVpPTlRBTCA6IENMQVNTX0xJU1RfVkVSVElDQUwpO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApLnN1YnNjcmliZSgpKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuJGJvdW5kcy5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICAgICAgZmlsdGVyKHYgPT4gISF2KSxcclxuICAgICAgICAgICAgdGFwKGJvdW5kcyA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGJvdW5kcyE7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgICAgIGVsLnN0eWxlLndpZHRoID0gYCR7d2lkdGh9JHtQWH1gO1xyXG4gICAgICAgICAgICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fSR7UFh9YDtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKSk7XHJcblxyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChjb21iaW5lTGF0ZXN0KFt0aGlzLiRib3VuZHMsIHRoaXMuJGl0ZW1zXSkucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgIGZpbHRlcigoW2IsIGldKSA9PiAhIWIgJiYgISFpKSxcclxuICAgICAgICAgICAgdGFwKChbYm91bmRzLCBpdGVtc10pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjdGl2ZSAmJiAhIXRoaXMuX3RyYWNrQm94KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJhY2tCb3gucmVzZXQodGhpcy5fJGl0ZW1Db21wb25lbnRDbGFzcy5nZXRWYWx1ZSgpLCBpdGVtcywgdGhpcy5fJGJvdW5kcy5nZXRWYWx1ZSgpISwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyZXI6IHRoaXMuXyRpdGVtUmVuZGVyZXIuZ2V0VmFsdWUoKSEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGR5bmFtaWM6IHRoaXMuXyRkeW5hbWljLmdldFZhbHVlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1TaXplOiB0aGlzLl8kaXRlbVNpemUuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWZXJ0aWNhbDogdGhpcy5fJGlzVmVydGljYWwuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdGhpcy5fJHRyYWNrQnkuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKSk7XHJcblxyXG4gICAgICAgIGNvbnN0ICRjb21wb25lbnRSZXNpemUgPSB0aGlzLiRjb21wb25lbnRSZXNpemU7XHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKCRjb21wb25lbnRSZXNpemUucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgIHRhcChjYWNoZSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl8kcmVuZGVyLm5leHQoY2FjaGUpO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApLnN1YnNjcmliZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWFjdGl2YXRlKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5fYWN0aXZhdGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fYWN0aXZhdGVkID0gZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMub2ZmKCk7XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuX3RyYWNrQm94KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYWNrQm94IS5yZW1vdmVFdmVudExpc3RlbmVyKFByZXJlbmRlclRyYWNrQm94RXZlbnRzLlJFU0laRSwgdGhpcy5fb25UcmFja0JveFJlc2l6ZUhhbmRsZXIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IHRoaXMuX3N1YnNjcmlwdGlvbnM7XHJcbiAgICAgICAgZm9yIChjb25zdCBzdWJzY3Igb2Ygc3Vic2NyaXB0aW9ucykge1xyXG4gICAgICAgICAgICBpZiAoIXN1YnNjci5jbG9zZWQpIHtcclxuICAgICAgICAgICAgICAgIHN1YnNjci51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMgPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhcigpIHtcclxuICAgICAgICBpZiAoISF0aGlzLl90cmFja0JveCkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmFja0JveC5jbGVhcigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbigpIHtcclxuICAgICAgICBpZiAoISF0aGlzLl90cmFja0JveCkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmFja0JveC5vbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvZmYoKSB7XHJcbiAgICAgICAgaWYgKCEhdGhpcy5fdHJhY2tCb3gpIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhY2tCb3gub2ZmKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLl90cmFja0JveCEuY3JlYXRlKHRoaXMuX2xpc3RDb250YWluZXJSZWYhKTtcclxuICAgIH1cclxuXHJcbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG5cclxuICAgICAgICB0aGlzLmRpc3Bvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwb3NlKCkge1xyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMgPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKCEhdGhpcy5fdHJhY2tCb3gpIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhY2tCb3guZGlzcG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLl90cmFja0JveCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPHByZXJlbmRlci1zY3JvbGxlciAjc2Nyb2xsZXIgY2xhc3M9XCJuZ3ZsX19saXN0LXNjcm9sbGVyXCIgW2NsYXNzZXNdPVwiKCRjbGFzc2VzIHwgYXN5bmMpIVwiXHJcbiAgW2RpcmVjdGlvbl09XCIoJGRpcmVjdGlvbiB8IGFzeW5jKSFcIiBbc2Nyb2xsYmFyVGhlbWVdPVwiKCRzY3JvbGxiYXJUaGVtZSB8IGFzeW5jKSFcIlxyXG4gIFtzY3JvbGxiYXJFbmFibGVkXT1cIigkc2Nyb2xsYmFyRW5hYmxlZCB8IGFzeW5jKSFcIiBbc3RhcnRPZmZzZXRdPVwiKCRzdGFydE9mZnNldCB8IGFzeW5jKSFcIlxyXG4gIFtlbmRPZmZzZXRdPVwiKCRlbmRPZmZzZXQgfCBhc3luYykhXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAjcmVuZGVyZXJzQ29udGFpbmVyPjwvbmctY29udGFpbmVyPlxyXG48L3ByZXJlbmRlci1zY3JvbGxlcj4iXX0=
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcmVuZGVyLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9wcmVyZW5kZXItY29udGFpbmVyL2NvbXBvbmVudHMvcHJlcmVuZGVyLWxpc3QvcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9wcmVyZW5kZXItY29udGFpbmVyL2NvbXBvbmVudHMvcHJlcmVuZGVyLWxpc3QvcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBMEIsU0FBUyxFQUNoRyxnQkFBZ0IsRUFBRSxpQkFBaUIsR0FDdEMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckcsT0FBTyxFQUNILHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUN0Ryx5QkFBeUIsRUFBRSxFQUFFLEVBQUUsc0JBQXNCLEdBQ3hELE1BQU0sbUJBQW1CLENBQUM7QUFPM0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvRUFBb0Us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TSxpQkFDaEMsaUJBQWlCLENBQUMsU0FBUzswRUFJbEMsaUJBQWlCO3NCQUR4QixTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQU12RCxPQUFPO3NCQURWLEtBQUs7Z0JBV0YsU0FBUztzQkFEWixLQUFLO2dCQVdGLFVBQVU7c0JBRGIsS0FBSztnQkFXRixLQUFLO3NCQURSLEtBQUs7Z0JBV0YsZ0JBQWdCO3NCQURuQixLQUFLO2dCQVdGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBV0YsV0FBVztzQkFEZCxLQUFLO2dCQVdGLFNBQVM7c0JBRFosS0FBSztnQkFXRixNQUFNO3NCQURULEtBQUs7Z0JBV0YsT0FBTztzQkFEVixLQUFLO2dCQVdGLFFBQVE7c0JBRFgsS0FBSztnQkFXRixPQUFPO3NCQURWLEtBQUs7Z0JBV0YsWUFBWTtzQkFEZixLQUFLO2dCQVdGLGtCQUFrQjtzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmLCBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyB0b2dnbGVDbGFzc05hbWUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1xyXG4gICAgQ0xBU1NfTElTVF9IT1JJWk9OVEFMLCBDTEFTU19MSVNUX1ZFUlRJQ0FMLCBERUZBVUxUX0RJUkVDVElPTiwgREVGQVVMVF9EWU5BTUlDX1NJWkUsIERFRkFVTFRfSVRFTV9TSVpFLFxyXG4gICAgREVGQVVMVF9TQ1JPTExCQVJfRU5BQkxFRCwgUFgsIFRSQUNLX0JZX1BST1BFUlRZX05BTUUsXHJcbn0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvbnN0XCI7XHJcbmltcG9ydCB7IElTaXplIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IElWaXJ0dWFsTGlzdENvbGxlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IFNjcm9sbEJhclRoZW1lIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3R5cGVzXCI7XHJcbmltcG9ydCB7IFByZXJlbmRlckNhY2hlIH0gZnJvbSBcIi4uLy4uL3R5cGVzL2NhY2hlXCI7XHJcbmltcG9ydCB7IEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vbGlzdC1pdGVtL2Jhc2VcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50JDEgfSBmcm9tIFwiLi4vLi4vLi4vLi4vbW9kZWxzL2NvbXBvbmVudC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBQcmVyZW5kZXJUcmFja0JveCB9IGZyb20gXCIuLi8uLi9jb3JlXCI7XHJcbmltcG9ydCB7IFByZXJlbmRlclRyYWNrQm94RXZlbnRzIH0gZnJvbSBcIi4uLy4uL2V2ZW50c1wiO1xyXG5pbXBvcnQgeyBQcmVyZW5kZXJWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9wcmVyZW5kZXItbGlzdC1pdGVtL3ByZXJlbmRlci1saXN0LWl0ZW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gXCIuLi8uLi8uLi8uLi9lbnVtc1wiO1xyXG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxzL2Rpc3Bvc2FibGUtY29tcG9uZW50XCI7XHJcblxyXG4vKipcclxuICogUHJlcmVuZGVyTGlzdC5cclxuICogTWF4aW11bSBwZXJmb3JtYW5jZSBmb3IgZXh0cmVtZWx5IGxhcmdlIGxpc3RzLlxyXG4gKiBJdCBpcyBiYXNlZCBvbiBhbGdvcml0aG1zIGZvciB2aXJ0dWFsaXphdGlvbiBvZiBzY3JlZW4gb2JqZWN0cy5cclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTUueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9wcmVyZW5kZXItY29udGFpbmVyL2NvbXBvbmVudHMvcHJlcmVuZGVyLWxpc3QvcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50LnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3ByZXJlbmRlci1saXN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcmVyZW5kZXItbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi4vLi4vLi4vLi4vbmctdmlydHVhbC1saXN0LmNvbXBvbmVudC5zY3NzJywgJy4vcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGhvc3Q6IHtcclxuICAgICAgICAnc3R5bGUnOiAncG9zaXRpb246IHJlbGF0aXZlOydcclxuICAgIH0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFByZXJlbmRlckxpc3QgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3JlbmRlcmVyc0NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxyXG4gICAgcHJpdmF0ZSBfbGlzdENvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRlbmFibGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgICByZWFkb25seSAkZW5hYmxlZCA9IHRoaXMuXyRlbmFibGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBlbmFibGVkKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAodGhpcy5fJGVuYWJsZWQuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kZW5hYmxlZC5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBlbmFibGVkKCkgeyByZXR1cm4gdGhpcy5fJGVuYWJsZWQuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGRpcmVjdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGlyZWN0aW9uPihERUZBVUxUX0RJUkVDVElPTik7XHJcbiAgICByZWFkb25seSAkZGlyZWN0aW9uID0gdGhpcy5fJGRpcmVjdGlvbi5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgZGlyZWN0aW9uKHY6IERpcmVjdGlvbikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kZGlyZWN0aW9uLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJGRpcmVjdGlvbi5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBkaXJlY3Rpb24oKSB7IHJldHVybiB0aGlzLl8kZGlyZWN0aW9uLmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRpc1ZlcnRpY2FsID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcclxuICAgIHJlYWRvbmx5ICRpc1ZlcnRpY2FsID0gdGhpcy5fJGlzVmVydGljYWwuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGlzVmVydGljYWwodjogYm9vbGVhbikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kaXNWZXJ0aWNhbC5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRpc1ZlcnRpY2FsLm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGlzVmVydGljYWwoKSB7IHJldHVybiB0aGlzLl8kaXNWZXJ0aWNhbC5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kaXRlbXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElWaXJ0dWFsTGlzdENvbGxlY3Rpb24+KFtdKTtcclxuICAgIHJlYWRvbmx5ICRpdGVtcyA9IHRoaXMuXyRpdGVtcy5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgaXRlbXModjogSVZpcnR1YWxMaXN0Q29sbGVjdGlvbikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kaXRlbXMuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kaXRlbXMubmV4dCh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgaXRlbXMoKSB7IHJldHVybiB0aGlzLl8kaXRlbXMuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJHNjcm9sbGJhckVuYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KERFRkFVTFRfU0NST0xMQkFSX0VOQUJMRUQpO1xyXG4gICAgcmVhZG9ubHkgJHNjcm9sbGJhckVuYWJsZWQgPSB0aGlzLl8kc2Nyb2xsYmFyRW5hYmxlZC5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgc2Nyb2xsYmFyRW5hYmxlZCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRzY3JvbGxiYXJFbmFibGVkLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJHNjcm9sbGJhckVuYWJsZWQubmV4dCh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgc2Nyb2xsYmFyRW5hYmxlZCgpIHsgcmV0dXJuIHRoaXMuXyRzY3JvbGxiYXJFbmFibGVkLmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRzY3JvbGxiYXJUaGVtZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2Nyb2xsQmFyVGhlbWUgfCBudWxsPihudWxsKTtcclxuICAgIHJlYWRvbmx5ICRzY3JvbGxiYXJUaGVtZSA9IHRoaXMuXyRzY3JvbGxiYXJUaGVtZS5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgc2Nyb2xsYmFyVGhlbWUodjogU2Nyb2xsQmFyVGhlbWUgfCBudWxsKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRzY3JvbGxiYXJUaGVtZS5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRzY3JvbGxiYXJUaGVtZS5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBzY3JvbGxiYXJUaGVtZSgpIHsgcmV0dXJuIHRoaXMuXyRzY3JvbGxiYXJUaGVtZS5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kc3RhcnRPZmZzZXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XHJcbiAgICByZWFkb25seSAkc3RhcnRPZmZzZXQgPSB0aGlzLl8kc3RhcnRPZmZzZXQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHN0YXJ0T2Zmc2V0KHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kc3RhcnRPZmZzZXQuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kc3RhcnRPZmZzZXQubmV4dCh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgc3RhcnRPZmZzZXQoKSB7IHJldHVybiB0aGlzLl8kc3RhcnRPZmZzZXQuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGVuZE9mZnNldCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcclxuICAgIHJlYWRvbmx5ICRlbmRPZmZzZXQgPSB0aGlzLl8kZW5kT2Zmc2V0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBlbmRPZmZzZXQodjogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRlbmRPZmZzZXQuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kZW5kT2Zmc2V0Lm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGVuZE9mZnNldCgpIHsgcmV0dXJuIHRoaXMuXyRlbmRPZmZzZXQuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGJvdW5kcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVNpemUgfCBudWxsPihudWxsKTtcclxuICAgIHJlYWRvbmx5ICRib3VuZHMgPSB0aGlzLl8kYm91bmRzLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBib3VuZHModjogSVNpemUgfCBudWxsKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRib3VuZHMuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kYm91bmRzLm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGJvdW5kcygpIHsgcmV0dXJuIHRoaXMuXyRib3VuZHMuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGR5bmFtaWMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KERFRkFVTFRfRFlOQU1JQ19TSVpFKTtcclxuICAgIHJlYWRvbmx5ICRkeW5hbWljID0gdGhpcy5fJGR5bmFtaWMuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGR5bmFtaWModjogYm9vbGVhbikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kZHluYW1pYy5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRkeW5hbWljLm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGR5bmFtaWMoKSB7IHJldHVybiB0aGlzLl8kZHluYW1pYy5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kaXRlbVNpemUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oREVGQVVMVF9JVEVNX1NJWkUpO1xyXG4gICAgcmVhZG9ubHkgJGl0ZW1TaXplID0gdGhpcy5fJGl0ZW1TaXplLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBpdGVtU2l6ZSh2OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodGhpcy5fJGl0ZW1TaXplLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJGl0ZW1TaXplLm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGl0ZW1TaXplKCkgeyByZXR1cm4gdGhpcy5fJGl0ZW1TaXplLmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyR0cmFja0J5ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KFRSQUNLX0JZX1BST1BFUlRZX05BTUUpO1xyXG4gICAgcmVhZG9ubHkgJHRyYWNrQnkgPSB0aGlzLl8kdHJhY2tCeS5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgdHJhY2tCeSh2OiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodGhpcy5fJHRyYWNrQnkuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kdHJhY2tCeS5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCB0cmFja0J5KCkgeyByZXR1cm4gdGhpcy5fJHRyYWNrQnkuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGl0ZW1SZW5kZXJlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+KG51bGwpO1xyXG4gICAgcmVhZG9ubHkgJGl0ZW1SZW5kZXJlciA9IHRoaXMuXyRpdGVtUmVuZGVyZXIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGl0ZW1SZW5kZXJlcih2OiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCkge1xyXG4gICAgICAgIGlmICh0aGlzLl8kaXRlbVJlbmRlcmVyLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJGl0ZW1SZW5kZXJlci5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBpdGVtUmVuZGVyZXIoKSB7IHJldHVybiB0aGlzLl8kaXRlbVJlbmRlcmVyLmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRpdGVtQ29tcG9uZW50Q2xhc3MgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENvbXBvbmVudCQxPEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQ+PihQcmVyZW5kZXJWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQpO1xyXG4gICAgcmVhZG9ubHkgJGl0ZW1Db21wb25lbnRDbGFzcyA9IHRoaXMuXyRpdGVtQ29tcG9uZW50Q2xhc3MuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGl0ZW1Db21wb25lbnRDbGFzcyh2OiBDb21wb25lbnQkMTxCYXNlVmlydHVhbExpc3RJdGVtQ29tcG9uZW50Pikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kaXRlbUNvbXBvbmVudENsYXNzLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJGl0ZW1Db21wb25lbnRDbGFzcy5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBpdGVtQ29tcG9uZW50Q2xhc3MoKSB7IHJldHVybiB0aGlzLl8kaXRlbUNvbXBvbmVudENsYXNzLmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRjbGFzc2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IFtjTmFtZTogc3RyaW5nXTogYm9vbGVhbiB9Pih7IHByZXBhcmVkOiB0cnVlIH0pO1xyXG4gICAgcmVhZG9ubHkgJGNsYXNzZXMgPSB0aGlzLl8kY2xhc3Nlcy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBwcml2YXRlIF8kcmVuZGVyID0gbmV3IFN1YmplY3Q8UHJlcmVuZGVyQ2FjaGU+KCk7XHJcbiAgICAkcmVuZGVyID0gdGhpcy5fJHJlbmRlci5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBwcml2YXRlIF8kY29tcG9uZW50UmVzaXplID0gbmV3IFN1YmplY3Q8UHJlcmVuZGVyQ2FjaGU+KCk7XHJcbiAgICBwcm90ZWN0ZWQgJGNvbXBvbmVudFJlc2l6ZSA9IHRoaXMuXyRjb21wb25lbnRSZXNpemUuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfdHJhY2tCb3g6IFByZXJlbmRlclRyYWNrQm94IHwgbnVsbCA9IG5ldyBQcmVyZW5kZXJUcmFja0JveCgpO1xyXG5cclxuICAgIHByaXZhdGUgX29uVHJhY2tCb3hSZXNpemVIYW5kbGVyID0gKGNhY2hlOiBQcmVyZW5kZXJDYWNoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuXyRjb21wb25lbnRSZXNpemUubmV4dChjYWNoZSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xyXG5cclxuICAgIGdldCBhY3RpdmUoKSB7IHJldHVybiB0aGlzLl90cmFja0JveD8uYWN0aXZlID8/IGZhbHNlOyB9XHJcblxyXG4gICAgcHJpdmF0ZSBfYWN0aXZhdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBBcnJheTxTdWJzY3JpcHRpb24+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuXHJcbiAgICAgICAgdGhpcy4kaXNWZXJ0aWNhbCA9IHRoaXMuJGlzVmVydGljYWw7XHJcbiAgICAgICAgdGhpcy4kaXRlbXMgPSB0aGlzLiRpdGVtcztcclxuICAgICAgICB0aGlzLiRib3VuZHMgPSB0aGlzLiRib3VuZHM7XHJcblxyXG4gICAgICAgIGNvbnN0ICRlbmFibGVkID0gdGhpcy4kZW5hYmxlZDtcclxuICAgICAgICAkZW5hYmxlZC5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICAgICAgdGFwKGVuYWJsZWQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2YXRlKCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVhY3RpdmF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFjdGl2YXRlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmF0ZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9hY3RpdmF0ZWQgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLl90cmFja0JveCEuYWRkRXZlbnRMaXN0ZW5lcihQcmVyZW5kZXJUcmFja0JveEV2ZW50cy5SRVNJWkUsIHRoaXMuX29uVHJhY2tCb3hSZXNpemVIYW5kbGVyKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuJGlzVmVydGljYWwucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVsID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgdG9nZ2xlQ2xhc3NOYW1lKGVsLCB2ID8gQ0xBU1NfTElTVF9WRVJUSUNBTCA6IENMQVNTX0xJU1RfSE9SSVpPTlRBTCwgdiA/IENMQVNTX0xJU1RfSE9SSVpPTlRBTCA6IENMQVNTX0xJU1RfVkVSVElDQUwpO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApLnN1YnNjcmliZSgpKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuJGJvdW5kcy5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICAgICAgZmlsdGVyKHYgPT4gISF2KSxcclxuICAgICAgICAgICAgdGFwKGJvdW5kcyA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGJvdW5kcyE7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgICAgIGVsLnN0eWxlLndpZHRoID0gYCR7d2lkdGh9JHtQWH1gO1xyXG4gICAgICAgICAgICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fSR7UFh9YDtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKSk7XHJcblxyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChjb21iaW5lTGF0ZXN0KFt0aGlzLiRib3VuZHMsIHRoaXMuJGl0ZW1zXSkucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgIGZpbHRlcigoW2IsIGldKSA9PiAhIWIgJiYgISFpKSxcclxuICAgICAgICAgICAgdGFwKChbYm91bmRzLCBpdGVtc10pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjdGl2ZSAmJiAhIXRoaXMuX3RyYWNrQm94KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJhY2tCb3gucmVzZXQodGhpcy5fJGl0ZW1Db21wb25lbnRDbGFzcy5nZXRWYWx1ZSgpLCBpdGVtcywgdGhpcy5fJGJvdW5kcy5nZXRWYWx1ZSgpISwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyZXI6IHRoaXMuXyRpdGVtUmVuZGVyZXIuZ2V0VmFsdWUoKSEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGR5bmFtaWM6IHRoaXMuXyRkeW5hbWljLmdldFZhbHVlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1TaXplOiB0aGlzLl8kaXRlbVNpemUuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWZXJ0aWNhbDogdGhpcy5fJGlzVmVydGljYWwuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdGhpcy5fJHRyYWNrQnkuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKSk7XHJcblxyXG4gICAgICAgIGNvbnN0ICRjb21wb25lbnRSZXNpemUgPSB0aGlzLiRjb21wb25lbnRSZXNpemU7XHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKCRjb21wb25lbnRSZXNpemUucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgIHRhcChjYWNoZSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl8kcmVuZGVyLm5leHQoY2FjaGUpO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApLnN1YnNjcmliZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWFjdGl2YXRlKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5fYWN0aXZhdGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fYWN0aXZhdGVkID0gZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMub2ZmKCk7XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuX3RyYWNrQm94KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYWNrQm94IS5yZW1vdmVFdmVudExpc3RlbmVyKFByZXJlbmRlclRyYWNrQm94RXZlbnRzLlJFU0laRSwgdGhpcy5fb25UcmFja0JveFJlc2l6ZUhhbmRsZXIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IHRoaXMuX3N1YnNjcmlwdGlvbnM7XHJcbiAgICAgICAgZm9yIChjb25zdCBzdWJzY3Igb2Ygc3Vic2NyaXB0aW9ucykge1xyXG4gICAgICAgICAgICBpZiAoIXN1YnNjci5jbG9zZWQpIHtcclxuICAgICAgICAgICAgICAgIHN1YnNjci51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMgPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhcigpIHtcclxuICAgICAgICBpZiAoISF0aGlzLl90cmFja0JveCkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmFja0JveC5jbGVhcigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbigpIHtcclxuICAgICAgICBpZiAoISF0aGlzLl90cmFja0JveCkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmFja0JveC5vbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvZmYoKSB7XHJcbiAgICAgICAgaWYgKCEhdGhpcy5fdHJhY2tCb3gpIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhY2tCb3gub2ZmKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLl90cmFja0JveCEuY3JlYXRlKHRoaXMuX2xpc3RDb250YWluZXJSZWYhKTtcclxuICAgIH1cclxuXHJcbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG5cclxuICAgICAgICB0aGlzLmRpc3Bvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwb3NlKCkge1xyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMgPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKCEhdGhpcy5fdHJhY2tCb3gpIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhY2tCb3guZGlzcG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLl90cmFja0JveCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPHByZXJlbmRlci1zY3JvbGxlciAjc2Nyb2xsZXIgY2xhc3M9XCJuZ3ZsX19saXN0LXNjcm9sbGVyXCIgW2NsYXNzZXNdPVwiKCRjbGFzc2VzIHwgYXN5bmMpIVwiXHJcbiAgW2RpcmVjdGlvbl09XCIoJGRpcmVjdGlvbiB8IGFzeW5jKSFcIiBbc2Nyb2xsYmFyVGhlbWVdPVwiKCRzY3JvbGxiYXJUaGVtZSB8IGFzeW5jKSFcIlxyXG4gIFtzY3JvbGxiYXJFbmFibGVkXT1cIigkc2Nyb2xsYmFyRW5hYmxlZCB8IGFzeW5jKSFcIiBbc3RhcnRPZmZzZXRdPVwiKCRzdGFydE9mZnNldCB8IGFzeW5jKSFcIlxyXG4gIFtlbmRPZmZzZXRdPVwiKCRlbmRPZmZzZXQgfCBhc3luYykhXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAjcmVuZGVyZXJzQ29udGFpbmVyPjwvbmctY29udGFpbmVyPlxyXG48L3ByZXJlbmRlci1zY3JvbGxlcj4iXX0=
@@ -7,7 +7,6 @@ import { CommonModule } from '@angular/common';
7
7
  import { takeUntil as takeUntil$1, switchMap, filter, tap as tap$1 } from 'rxjs/operators';
8
8
  import * as i4 from '@angular/cdk/scrolling';
9
9
  import { CdkScrollable, CdkScrollableModule } from '@angular/cdk/scrolling';
10
- import { DisposableComponent as DisposableComponent$1 } from 'projects/ng-virtual-list/src/lib/utils/disposable-component';
11
10
 
12
11
  /**
13
12
  * Action modes for collection elements.
@@ -5028,7 +5027,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5028
5027
  * @author Evgenii Alexandrovich Grebennikov
5029
5028
  * @email djonnyx@gmail.com
5030
5029
  */
5031
- class PrerenderList extends DisposableComponent$1 {
5030
+ class PrerenderList extends DisposableComponent {
5032
5031
  set enabled(v) {
5033
5032
  if (this._$enabled.getValue() !== v) {
5034
5033
  this._$enabled.next(v);