@simpleangularcontrols/sac-common 10.0.0-rc.12 → 10.0.0-rc.13

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.
Files changed (40) hide show
  1. package/bundles/simpleangularcontrols-sac-common.umd.js +356 -408
  2. package/bundles/simpleangularcontrols-sac-common.umd.js.map +1 -1
  3. package/bundles/simpleangularcontrols-sac-common.umd.min.js +1 -1
  4. package/bundles/simpleangularcontrols-sac-common.umd.min.js.map +1 -1
  5. package/common/basemodelcontrol.d.ts +4 -8
  6. package/controls/contextmenu/contextmenu.d.ts +26 -19
  7. package/controls/contextmenu/contextmenu.interface.d.ts +3 -0
  8. package/controls/contextmenu/contextmenuitem.d.ts +5 -0
  9. package/controls/contextmenu/contextmenuitembutton.d.ts +21 -20
  10. package/controls/treeview/treeview.d.ts +87 -121
  11. package/esm2015/common/basemodelcontrol.js +28 -24
  12. package/esm2015/controls/contextmenu/contextmenu.interface.js +1 -0
  13. package/esm2015/controls/contextmenu/contextmenu.interface.ngfactory.js +7 -0
  14. package/esm2015/controls/contextmenu/contextmenu.js +22 -23
  15. package/esm2015/controls/contextmenu/contextmenuitem.js +13 -2
  16. package/esm2015/controls/contextmenu/contextmenuitembutton.js +34 -25
  17. package/esm2015/controls/treeview/treeview.js +232 -247
  18. package/esm2015/interfaces/ISacIconService.js +1 -1
  19. package/esm2015/interfaces/treeviewaction.interface.js +1 -0
  20. package/esm2015/interfaces/treeviewaction.interface.ngfactory.js +7 -0
  21. package/esm2015/public_api.js +4 -5
  22. package/esm2015/services/sac-icon.service.js +25 -1
  23. package/fesm2015/simpleangularcontrols-sac-common.js +343 -389
  24. package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -1
  25. package/interfaces/ISacIconService.d.ts +16 -0
  26. package/interfaces/treeviewaction.interface.d.ts +4 -0
  27. package/package.json +1 -1
  28. package/public_api.d.ts +3 -4
  29. package/services/sac-icon.service.d.ts +33 -1
  30. package/simpleangularcontrols-sac-common-10.0.0-rc.13.tgz +0 -0
  31. package/simpleangularcontrols-sac-common.metadata.json +1 -1
  32. package/controls/treeview/ngtreeitemaction.d.ts +0 -40
  33. package/controls/treeview/treeviewchild.d.ts +0 -12
  34. package/esm2015/controls/treeview/ngtreeitemaction.js +0 -60
  35. package/esm2015/controls/treeview/ngtreeitemaction.ngfactory.js +0 -7
  36. package/esm2015/controls/treeview/treeviewchild.js +0 -18
  37. package/esm2015/controls/treeview/treeviewchild.ngfactory.js +0 -7
  38. package/simpleangularcontrols-sac-common-10.0.0-rc.12.tgz +0 -0
  39. /package/controls/{treeview/ngtreeitemaction.ngfactory.d.ts → contextmenu/contextmenu.interface.ngfactory.d.ts} +0 -0
  40. /package/{controls/treeview/treeviewchild.ngfactory.d.ts → interfaces/treeviewaction.interface.ngfactory.d.ts} +0 -0
@@ -1,17 +1,17 @@
1
- import { Directive, EventEmitter, Input, Output, } from '@angular/core';
2
- import { SacContextmenuCommon } from './contextmenu';
3
1
  import { SacContextmenuItemCommon } from './contextmenuitem';
2
+ import { Directive, EventEmitter, Input, Output } from '@angular/core';
4
3
  /**
5
4
  * Base Context Menu Button Item
6
5
  */
7
6
  export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
7
+ // #endregion Properties
8
+ // #region Constructors
8
9
  /**
9
10
  * Constructor
10
- * @param contextmenu Instance of Context Menü.
11
11
  */
12
- constructor(contextmenu) {
12
+ constructor() {
13
13
  super();
14
- this.contextmenu = contextmenu;
14
+ // #region Properties
15
15
  /**
16
16
  * Menu Item ist deaktiviert
17
17
  */
@@ -20,6 +20,10 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
20
20
  * Icon Column in Menü ist deaktiviert
21
21
  */
22
22
  this._isicondisabled = false;
23
+ /**
24
+ * Event wenn auf den Button geklickt wird
25
+ */
26
+ this.clicked = new EventEmitter();
23
27
  /**
24
28
  * css class for button styling
25
29
  */
@@ -29,9 +33,17 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
29
33
  */
30
34
  this.iconstyle = '';
31
35
  /**
32
- * Event wenn auf den Button geklickt wird
36
+ * name of button. used for generate id and name
33
37
  */
34
- this.clicked = new EventEmitter();
38
+ this.name = '';
39
+ }
40
+ // #endregion Constructors
41
+ // #region Public Getters And Setters
42
+ /**
43
+ * Menu Item ist deaktiviert
44
+ */
45
+ get isdisabled() {
46
+ return this._isdisabled;
35
47
  }
36
48
  /**
37
49
  * Menu Item ist deaktiviert
@@ -45,10 +57,10 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
45
57
  }
46
58
  }
47
59
  /**
48
- * Menu Item ist deaktiviert
60
+ * Icon Column in Menü ist deaktiviert
49
61
  */
50
- get isdisabled() {
51
- return this._isdisabled;
62
+ get isicondisabled() {
63
+ return this._isicondisabled;
52
64
  }
53
65
  /**
54
66
  * Icon Column in Menü ist deaktiviert
@@ -61,19 +73,17 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
61
73
  this._isicondisabled = v === 'true';
62
74
  }
63
75
  }
64
- /**
65
- * Icon Column in Menü ist deaktiviert
66
- */
67
- get isicondisabled() {
68
- return this._isicondisabled;
69
- }
76
+ // #endregion Public Getters And Setters
77
+ // #region Public Methods
70
78
  /**
71
79
  * Die Methode wird das cklickaction Emitter aktivieren
72
80
  */
73
81
  callaction(event) {
74
82
  if (!this._isdisabled) {
75
83
  this.clicked.emit();
76
- this.contextmenu.close();
84
+ if (this.contextmenu !== null) {
85
+ this.contextmenu.close();
86
+ }
77
87
  }
78
88
  event.stopPropagation();
79
89
  }
@@ -81,17 +91,16 @@ export class SacContextmenuItemButtonCommon extends SacContextmenuItemCommon {
81
91
  SacContextmenuItemButtonCommon.decorators = [
82
92
  { type: Directive }
83
93
  ];
84
- SacContextmenuItemButtonCommon.ctorParameters = () => [
85
- { type: SacContextmenuCommon }
86
- ];
94
+ SacContextmenuItemButtonCommon.ctorParameters = () => [];
87
95
  SacContextmenuItemButtonCommon.propDecorators = {
88
- icon: [{ type: Input }],
96
+ clicked: [{ type: Output }],
89
97
  cssclass: [{ type: Input }],
98
+ icon: [{ type: Input }],
90
99
  iconstyle: [{ type: Input }],
91
100
  image: [{ type: Input }],
92
- isdisabled: [{ type: Input }],
93
- isicondisabled: [{ type: Input }],
101
+ name: [{ type: Input }],
94
102
  text: [{ type: Input }],
95
- clicked: [{ type: Output }]
103
+ isdisabled: [{ type: Input }],
104
+ isicondisabled: [{ type: Input }]
96
105
  };
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVpdGVtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2NvbnRleHRtZW51L2NvbnRleHRtZW51aXRlbWJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFFWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3RDs7R0FFRztBQUVILE1BQU0sT0FBTyw4QkFBK0IsU0FBUSx3QkFBd0I7SUFDMUU7OztPQUdHO0lBQ0gsWUFBc0IsV0FBaUM7UUFDckQsS0FBSyxFQUFFLENBQUM7UUFEWSxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7UUFJdkQ7O1dBRUc7UUFDTyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUV2Qzs7V0FFRztRQUNPLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBUTNDOztXQUVHO1FBRUksYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUU3Qjs7V0FFRztRQUVJLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFrRDlCOztXQUVHO1FBRUgsWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBbEZ2RCxDQUFDO0lBb0NEOztPQUVHO0lBQ0gsSUFDVyxVQUFVLENBQUMsQ0FBbUI7UUFDdkMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQzNELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBWSxDQUFDO1NBQ2pDO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBSyxNQUFNLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csY0FBYyxDQUFDLENBQW1CO1FBQzNDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUMzRCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQVksQ0FBQztTQUNyQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEtBQUssTUFBTSxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUNEOztPQUVHO0lBQ0gsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBY0Q7O09BRUc7SUFDSSxVQUFVLENBQUMsS0FBaUI7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzFCO1FBQ0QsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7OztZQXJHRixTQUFTOzs7WUFORCxvQkFBb0I7OzttQkE2QjFCLEtBQUs7dUJBTUwsS0FBSzt3QkFNTCxLQUFLO29CQU1MLEtBQUs7eUJBTUwsS0FBSzs2QkFrQkwsS0FBSzttQkFrQkwsS0FBSztzQkFNTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51Q29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudSc7XHJcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbiB9IGZyb20gJy4vY29udGV4dG1lbnVpdGVtJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIENvbnRleHQgTWVudSBCdXR0b24gSXRlbVxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNDb250ZXh0bWVudUl0ZW1CdXR0b25Db21tb24gZXh0ZW5kcyBTYWNDb250ZXh0bWVudUl0ZW1Db21tb24ge1xyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGNvbnRleHRtZW51IEluc3RhbmNlIG9mIENvbnRleHQgTWVuw7wuXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbnRleHRtZW51OiBTYWNDb250ZXh0bWVudUNvbW1vbikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1lbnUgSXRlbSBpc3QgZGVha3RpdmllcnRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgX2lzZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSWNvbiBDb2x1bW4gaW4gTWVuw7wgaXN0IGRlYWt0aXZpZXJ0XHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIF9pc2ljb25kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBJY29uIGbDvHIgTWVuw7xcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpY29uOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIGNzcyBjbGFzcyBmb3IgYnV0dG9uIHN0eWxpbmdcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjc3NjbGFzczogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIElucHV0IFByb3BlcnR5IGbDvHIgU3R5bGluZyBkZXMgQnV0dG9ucy4gRGVmaW5pZXJ0IGRpZSBDc3MgS2xhc3NlbiBkZXMgQnV0dG9uc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGljb25zdHlsZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEltYWdlIGbDvHIgTWVuw7wuIFdpcmQgYmVuw7Z0aWd0IHdlbm4gZGFzIEljb24gZsO8ciBkZW4gQnV0dG9uIGVpbiBGaWxlIHVuZCBuaWNodCBlaW4gSWNvbiBGb250IGlzdC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBNZW51IEl0ZW0gaXN0IGRlYWt0aXZpZXJ0XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGlzZGlzYWJsZWQodjogYm9vbGVhbiB8IHN0cmluZykge1xyXG4gICAgaWYgKHYgPT09IG51bGwgfHwgdiA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB2ID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgdGhpcy5faXNkaXNhYmxlZCA9IHYgYXMgYm9vbGVhbjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2lzZGlzYWJsZWQgPSB2ID09PSAndHJ1ZSc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIE1lbnUgSXRlbSBpc3QgZGVha3RpdmllcnRcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGlzZGlzYWJsZWQoKTogYm9vbGVhbiB8IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNkaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEljb24gQ29sdW1uIGluIE1lbsO8IGlzdCBkZWFrdGl2aWVydFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBpc2ljb25kaXNhYmxlZCh2OiBib29sZWFuIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodiA9PT0gbnVsbCB8fCB2ID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHYgPT09ICdib29sZWFuJykge1xyXG4gICAgICB0aGlzLl9pc2ljb25kaXNhYmxlZCA9IHYgYXMgYm9vbGVhbjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2lzaWNvbmRpc2FibGVkID0gdiA9PT0gJ3RydWUnO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBJY29uIENvbHVtbiBpbiBNZW7DvCBpc3QgZGVha3RpdmllcnRcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGlzaWNvbmRpc2FibGVkKCk6IGJvb2xlYW4gfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzaWNvbmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGV4dCBmw7xyIE1lbsO8IEl0ZW0uXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGV4dDogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCB3ZW5uIGF1ZiBkZW4gQnV0dG9uIGdla2xpY2t0IHdpcmRcclxuICAgKi9cclxuICBAT3V0cHV0KClcclxuICBjbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIHdpcmQgZGFzIGNrbGlja2FjdGlvbiBFbWl0dGVyIGFrdGl2aWVyZW5cclxuICAgKi9cclxuICBwdWJsaWMgY2FsbGFjdGlvbihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYgKCF0aGlzLl9pc2Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuY2xpY2tlZC5lbWl0KCk7XHJcbiAgICAgIHRoaXMuY29udGV4dG1lbnUuY2xvc2UoKTtcclxuICAgIH1cclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxufVxyXG4iXX0=
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVpdGVtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2NvbnRleHRtZW51L2NvbnRleHRtZW51aXRlbWJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFOztHQUVHO0FBRUgsTUFBTSxPQUFPLDhCQUErQixTQUFRLHdCQUF3QjtJQXVEeEUsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7T0FFRztJQUNIO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUE5RFoscUJBQXFCO1FBRXJCOztXQUVHO1FBQ08sZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFdkM7O1dBRUc7UUFDTyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUUzQzs7V0FFRztRQUVJLFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU5RDs7V0FFRztRQUVJLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFRN0I7O1dBRUc7UUFFSSxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBUTlCOztXQUVHO1FBRUksU0FBSSxHQUFXLEVBQUUsQ0FBQztJQWlCekIsQ0FBQztJQUVELDBCQUEwQjtJQUUxQixxQ0FBcUM7SUFFckM7O09BRUc7SUFDSCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csVUFBVSxDQUFDLENBQW1CO1FBQ3JDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUN6RCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQVksQ0FBQztTQUNuQzthQUFNO1lBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQUssTUFBTSxDQUFDO1NBQ25DO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLGNBQWMsQ0FBQyxDQUFtQjtRQUN6QyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDekQsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFZLENBQUM7U0FDdkM7YUFBTTtZQUNILElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxLQUFLLE1BQU0sQ0FBQztTQUN2QztJQUNMLENBQUM7SUFFRCx3Q0FBd0M7SUFFeEMseUJBQXlCO0lBRXpCOztPQUVHO0lBQ0ksVUFBVSxDQUFDLEtBQWlCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFcEIsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUM1QjtTQUNKO1FBQ0QsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7OztZQTdISixTQUFTOzs7O3NCQWlCTCxNQUFNO3VCQU1OLEtBQUs7bUJBTUwsS0FBSzt3QkFNTCxLQUFLO29CQU1MLEtBQUs7bUJBTUwsS0FBSzttQkFNTCxLQUFLO3lCQTRCTCxLQUFLOzZCQW1CTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uIH0gZnJvbSAnLi9jb250ZXh0bWVudWl0ZW0nO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgQ29udGV4dCBNZW51IEJ1dHRvbiBJdGVtXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbW1vbiBleHRlbmRzIFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbiB7XHJcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1lbnUgSXRlbSBpc3QgZGVha3RpdmllcnRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9pc2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJY29uIENvbHVtbiBpbiBNZW7DvCBpc3QgZGVha3RpdmllcnRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIF9pc2ljb25kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnQgd2VubiBhdWYgZGVuIEJ1dHRvbiBnZWtsaWNrdCB3aXJkXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGNsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIGNzcyBjbGFzcyBmb3IgYnV0dG9uIHN0eWxpbmdcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjc3NjbGFzczogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJY29uIGbDvHIgTWVuw7xcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpY29uOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbnB1dCBQcm9wZXJ0eSBmw7xyIFN0eWxpbmcgZGVzIEJ1dHRvbnMuIERlZmluaWVydCBkaWUgQ3NzIEtsYXNzZW4gZGVzIEJ1dHRvbnNcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpY29uc3R5bGU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1hZ2UgZsO8ciBNZW7DvC4gV2lyZCBiZW7DtnRpZ3Qgd2VubiBkYXMgSWNvbiBmw7xyIGRlbiBCdXR0b24gZWluIEZpbGUgdW5kIG5pY2h0IGVpbiBJY29uIEZvbnQgaXN0LlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGltYWdlOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBuYW1lIG9mIGJ1dHRvbi4gdXNlZCBmb3IgZ2VuZXJhdGUgaWQgYW5kIG5hbWVcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRleHQgZsO8ciBNZW7DvCBJdGVtLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHRleHQ6IHN0cmluZztcclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1lbnUgSXRlbSBpc3QgZGVha3RpdmllcnRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBpc2Rpc2FibGVkKCk6IGJvb2xlYW4gfCBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc2Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWVudSBJdGVtIGlzdCBkZWFrdGl2aWVydFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBpc2Rpc2FibGVkKHY6IGJvb2xlYW4gfCBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodiA9PT0gbnVsbCB8fCB2ID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHYgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgICAgICB0aGlzLl9pc2Rpc2FibGVkID0gdiBhcyBib29sZWFuO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzZGlzYWJsZWQgPSB2ID09PSAndHJ1ZSc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSWNvbiBDb2x1bW4gaW4gTWVuw7wgaXN0IGRlYWt0aXZpZXJ0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgaXNpY29uZGlzYWJsZWQoKTogYm9vbGVhbiB8IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzaWNvbmRpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSWNvbiBDb2x1bW4gaW4gTWVuw7wgaXN0IGRlYWt0aXZpZXJ0XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGlzaWNvbmRpc2FibGVkKHY6IGJvb2xlYW4gfCBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodiA9PT0gbnVsbCB8fCB2ID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHYgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgICAgICB0aGlzLl9pc2ljb25kaXNhYmxlZCA9IHYgYXMgYm9vbGVhbjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9pc2ljb25kaXNhYmxlZCA9IHYgPT09ICd0cnVlJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgICAvKipcclxuICAgICAqIERpZSBNZXRob2RlIHdpcmQgZGFzIGNrbGlja2FjdGlvbiBFbWl0dGVyIGFrdGl2aWVyZW5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNhbGxhY3Rpb24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2lzZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5jbGlja2VkLmVtaXQoKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRleHRtZW51ICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHRtZW51LmNsb3NlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG59XHJcbiJdfQ==