@simpleangularcontrols/sac-bootstrap4 10.0.0-rc.11 → 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.
- package/bundles/simpleangularcontrols-sac-bootstrap4.umd.js +203 -125
- package/bundles/simpleangularcontrols-sac-bootstrap4.umd.js.map +1 -1
- package/bundles/simpleangularcontrols-sac-bootstrap4.umd.min.js +1 -1
- package/bundles/simpleangularcontrols-sac-bootstrap4.umd.min.js.map +1 -1
- package/controls/checkbox/checkbox.d.ts +1 -1
- package/controls/checkbox/radiobutton.d.ts +6 -2
- package/controls/contextmenu/contextmenuitembutton.d.ts +3 -4
- package/controls/datetime/date.d.ts +4 -3
- package/controls/datetime/datetime.d.ts +4 -3
- package/controls/datetime/time.d.ts +4 -3
- package/controls/multilanguage/multilanguagemenuitembutton.d.ts +3 -3
- package/controls/static/formcontainer.d.ts +1 -1
- package/controls/tinymce/tinymce.d.ts +1 -1
- package/controls/treeview/treeview.d.ts +14 -0
- package/controls/treeview/treeview.module.d.ts +2 -0
- package/controls/treeview/treeview.module.ngfactory.d.ts +3 -0
- package/controls/treeview/treeview.ngfactory.d.ts +1 -0
- package/controls/upload/dropzonemultiple.d.ts +1 -1
- package/controls/upload/dropzonesingle.d.ts +1 -1
- package/controls/upload/uploadmultiple.d.ts +1 -1
- package/esm2015/controls/checkbox/checkbox.js +4 -5
- package/esm2015/controls/checkbox/checkbox.module.ngfactory.js +1 -1
- package/esm2015/controls/checkbox/radiobutton.js +13 -7
- package/esm2015/controls/checkbox/radiobuttons.js +2 -2
- package/esm2015/controls/confirm/confirm.module.ngfactory.js +1 -1
- package/esm2015/controls/contextmenu/contextmenu.js +3 -9
- package/esm2015/controls/contextmenu/contextmenu.module.ngfactory.js +1 -1
- package/esm2015/controls/contextmenu/contextmenuanchor.js +1 -1
- package/esm2015/controls/contextmenu/contextmenucontainer.js +1 -1
- package/esm2015/controls/contextmenu/contextmenuitembutton.js +15 -11
- package/esm2015/controls/contextmenu/contextmenuitemsplitter.js +9 -3
- package/esm2015/controls/datetime/date.js +17 -12
- package/esm2015/controls/datetime/datetime.js +9 -7
- package/esm2015/controls/datetime/datetime.module.ngfactory.js +1 -1
- package/esm2015/controls/datetime/time.js +9 -7
- package/esm2015/controls/dialog/dialog.js +2 -2
- package/esm2015/controls/dialog/dialog.module.ngfactory.js +1 -1
- package/esm2015/controls/grid/grid.module.ngfactory.js +1 -1
- package/esm2015/controls/grid/gridcolumn.js +2 -2
- package/esm2015/controls/input/input.js +2 -2
- package/esm2015/controls/input/input.module.ngfactory.js +1 -1
- package/esm2015/controls/input/inputarea.js +2 -2
- package/esm2015/controls/input/inputcurrency.js +2 -2
- package/esm2015/controls/input/inputdecimal.js +2 -2
- package/esm2015/controls/input/inputemail.js +2 -2
- package/esm2015/controls/input/inputinteger.js +2 -2
- package/esm2015/controls/input/inputpassword.js +2 -2
- package/esm2015/controls/input/inputsearch.js +2 -2
- package/esm2015/controls/list/dropdown.js +2 -2
- package/esm2015/controls/list/dropdown.module.ngfactory.js +1 -1
- package/esm2015/controls/list/list.module.ngfactory.js +1 -1
- package/esm2015/controls/list/listbox.js +2 -2
- package/esm2015/controls/multilanguage/multilanguage.module.ngfactory.js +1 -1
- package/esm2015/controls/multilanguage/multilanguageinput.js +2 -2
- package/esm2015/controls/multilanguage/multilanguageinputarea.js +2 -2
- package/esm2015/controls/multilanguage/multilanguagemenuitembutton.js +15 -10
- package/esm2015/controls/static/formcontainer.js +3 -3
- package/esm2015/controls/static/staticlabel.js +2 -2
- package/esm2015/controls/static/staticlabel.module.ngfactory.js +1 -1
- package/esm2015/controls/tinymce/tinymce.js +4 -4
- package/esm2015/controls/tinymce/tinymce.module.ngfactory.js +1 -1
- package/esm2015/controls/treeview/treeview.js +41 -0
- package/esm2015/controls/treeview/treeview.module.js +16 -0
- package/esm2015/controls/treeview/treeview.module.ngfactory.js +7 -0
- package/esm2015/controls/treeview/treeview.ngfactory.js +7 -0
- package/esm2015/controls/upload/dropzonemultiple.js +4 -4
- package/esm2015/controls/upload/dropzonesingle.js +4 -4
- package/esm2015/controls/upload/upload.js +2 -2
- package/esm2015/controls/upload/upload.module.ngfactory.js +1 -1
- package/esm2015/controls/upload/uploadmultiple.js +4 -4
- package/esm2015/public_api.js +59 -4
- package/esm2015/simpleangularcontrols-sac-bootstrap4.js +6 -57
- package/fesm2015/simpleangularcontrols-sac-bootstrap4.js +141 -70
- package/fesm2015/simpleangularcontrols-sac-bootstrap4.js.map +1 -1
- package/package.json +2 -2
- package/public_api.d.ts +56 -3
- package/simpleangularcontrols-sac-bootstrap4-10.0.0-rc.13.tgz +0 -0
- package/simpleangularcontrols-sac-bootstrap4.d.ts +5 -56
- package/simpleangularcontrols-sac-bootstrap4.metadata.json +1 -1
- package/simpleangularcontrols-sac-bootstrap4-10.0.0-rc.11.tgz +0 -0
|
@@ -1,24 +1,28 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import {
|
|
1
|
+
import { Component, forwardRef } from '@angular/core';
|
|
2
|
+
import { SacContextmenuItemButtonCommon, SacContextmenuItemCommon } from '@simpleangularcontrols/sac-common';
|
|
3
3
|
/**
|
|
4
|
-
* Component
|
|
4
|
+
* Component for menu entry in context menu
|
|
5
5
|
*/
|
|
6
6
|
export class SacContextmenuItemButtonComponent extends SacContextmenuItemButtonCommon {
|
|
7
|
+
// #region Constructors
|
|
7
8
|
/**
|
|
8
9
|
* Constructor
|
|
9
|
-
* @param contextmenu Instance von Context Menü
|
|
10
10
|
*/
|
|
11
|
-
constructor(
|
|
12
|
-
super(
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
SacContextmenuItemButtonComponent.decorators = [
|
|
16
16
|
{ type: Component, args: [{
|
|
17
17
|
selector: 'sac-contextmenubutton',
|
|
18
|
-
template: "<button\r\n
|
|
18
|
+
template: "<button\r\n [id]=\"name\"\r\n type=\"button\"\r\n class=\"dropdown-item\"\r\n (click)=\"callaction($event)\"\r\n [class.disabled]=\"isdisabled\"\r\n [ngClass]=\"cssclass\"\r\n [attr.disabled]=\"isdisabled ? 'disabled' : null\">\r\n <div class=\"d-flex\">\r\n <div\r\n *ngIf=\"!isicondisabled\"\r\n style=\"min-width: 1.5rem\">\r\n <img\r\n *ngIf=\"image\"\r\n [src]=\"image\"\r\n class=\"align-baseline\" />\r\n <i\r\n *ngIf=\"icon\"\r\n [class]=\"iconstyle + ' ' + icon\"></i>\r\n </div>\r\n <div class=\"flex-grow-1\">{{ text }}</div>\r\n </div>\r\n</button>\r\n",
|
|
19
|
+
providers: [
|
|
20
|
+
{
|
|
21
|
+
provide: SacContextmenuItemCommon,
|
|
22
|
+
useExisting: forwardRef(() => SacContextmenuItemButtonComponent),
|
|
23
|
+
},
|
|
24
|
+
]
|
|
19
25
|
},] }
|
|
20
26
|
];
|
|
21
|
-
SacContextmenuItemButtonComponent.ctorParameters = () => [
|
|
22
|
-
|
|
23
|
-
];
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVpdGVtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWl0ZW1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLDhCQUE4QixHQUMvQixNQUFNLG1DQUFtQyxDQUFDO0FBRTNDOztHQUVHO0FBS0gsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLDhCQUE4QjtJQUNuRjs7O09BR0c7SUFDSCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDOzs7WUFYRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsaWpCQUEyQzthQUM1Qzs7O1lBVkMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgU2FjQ29udGV4dG1lbnVDb21tb24sXHJcbiAgU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tbW9uLFxyXG59IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IGbDvHIgTWVuw7wgRWludHJhZyBpbiBDb250ZXh0IE1lbsO8XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1jb250ZXh0bWVudWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHRtZW51aXRlbWJ1dHRvbi5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbW1vbiB7XHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0b3JcclxuICAgKiBAcGFyYW0gY29udGV4dG1lbnUgSW5zdGFuY2Ugdm9uIENvbnRleHQgTWVuw7xcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihjb250ZXh0bWVudTogU2FjQ29udGV4dG1lbnVDb21tb24pIHtcclxuICAgIHN1cGVyKGNvbnRleHRtZW51KTtcclxuICB9XHJcbn1cclxuIl19
|
|
27
|
+
SacContextmenuItemButtonComponent.ctorParameters = () => [];
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVpdGVtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWl0ZW1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFN0c7O0dBRUc7QUFXSCxNQUFNLE9BQU8saUNBQWtDLFNBQVEsOEJBQThCO0lBQ2pGLHVCQUF1QjtJQUV2Qjs7T0FFRztJQUNIO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDOzs7WUFsQkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLHV1QkFBMkM7Z0JBQzNDLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsd0JBQXdCO3dCQUNqQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO3FCQUNuRTtpQkFDSjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbW1vbiwgU2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnQgZm9yIG1lbnUgZW50cnkgaW4gY29udGV4dCBtZW51XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2FjLWNvbnRleHRtZW51YnV0dG9uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0bWVudWl0ZW1idXR0b24uaHRtbCcsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50KSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbW1vbiB7XHJcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
1
|
+
import { Component, forwardRef } from '@angular/core';
|
|
2
2
|
import { SacContextmenuItemCommon } from '@simpleangularcontrols/sac-common';
|
|
3
3
|
/**
|
|
4
4
|
* Splitter Komponente in Context Menü
|
|
@@ -8,7 +8,13 @@ export class SacContextmenuItemSplitterComponent extends SacContextmenuItemCommo
|
|
|
8
8
|
SacContextmenuItemSplitterComponent.decorators = [
|
|
9
9
|
{ type: Component, args: [{
|
|
10
10
|
selector: 'sac-contextmenusplitter',
|
|
11
|
-
template: "<div class=\"dropdown-divider\"></div>"
|
|
11
|
+
template: "<div class=\"dropdown-divider\"></div>",
|
|
12
|
+
providers: [
|
|
13
|
+
{
|
|
14
|
+
provide: SacContextmenuItemCommon,
|
|
15
|
+
useExisting: forwardRef(() => SacContextmenuItemSplitterComponent),
|
|
16
|
+
},
|
|
17
|
+
]
|
|
12
18
|
},] }
|
|
13
19
|
];
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVpdGVtc3BsaXR0ZXIuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2NvbnRleHRtZW51L2NvbnRleHRtZW51aXRlbXNwbGl0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTdFOztHQUVHO0FBV0gsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLHdCQUF3Qjs7O1lBVmhGLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyxrREFBNkM7Z0JBQzdDLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsd0JBQXdCO3dCQUNqQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO3FCQUNyRTtpQkFDSjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbUNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcblxyXG4vKipcclxuICogU3BsaXR0ZXIgS29tcG9uZW50ZSBpbiBDb250ZXh0IE1lbsO8XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2FjLWNvbnRleHRtZW51c3BsaXR0ZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHRtZW51aXRlbXNwbGl0dGVyLmh0bWwnLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBTYWNDb250ZXh0bWVudUl0ZW1Db21tb24sXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0NvbnRleHRtZW51SXRlbVNwbGl0dGVyQ29tcG9uZW50KSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0NvbnRleHRtZW51SXRlbVNwbGl0dGVyQ29tcG9uZW50IGV4dGVuZHMgU2FjQ29udGV4dG1lbnVJdGVtQ29tbW9uIHt9XHJcbiJdfQ==
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SacFormLayoutDirective } from '../layout/formlayout.directive';
|
|
2
|
+
import { ChangeDetectorRef, Component, ElementRef, Host, Injector, Optional, forwardRef } from '@angular/core';
|
|
2
3
|
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
4
|
import { SacDateCommon } from '@simpleangularcontrols/sac-common';
|
|
4
|
-
// Import Moment.JS
|
|
5
5
|
import * as moment_ from 'moment';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Referenz auf Moment.JS
|
|
9
|
-
*/
|
|
10
|
-
const moment = moment_['default'];
|
|
6
|
+
// #region Classes
|
|
11
7
|
/**
|
|
12
8
|
* Komponente für Datumauswahl
|
|
13
9
|
*/
|
|
@@ -18,15 +14,16 @@ export class SacDateComponent extends SacDateCommon {
|
|
|
18
14
|
* @param formLayout SacFormLayout to define scoped layout settings
|
|
19
15
|
* @param injector Injector for injecting services
|
|
20
16
|
* @param elementRef Reference to html dom element
|
|
17
|
+
* @param cdRef Change Dectection Servie
|
|
21
18
|
*/
|
|
22
|
-
constructor(formLayout, injector, elementRef) {
|
|
23
|
-
super(formLayout, injector, elementRef);
|
|
19
|
+
constructor(formLayout, injector, elementRef, cdRef) {
|
|
20
|
+
super(formLayout, injector, elementRef, cdRef);
|
|
24
21
|
}
|
|
25
22
|
}
|
|
26
23
|
SacDateComponent.decorators = [
|
|
27
24
|
{ type: Component, args: [{
|
|
28
25
|
selector: 'sac-date',
|
|
29
|
-
template: "<div
|
|
26
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\" />\r\n <div class=\"input-group-append\">\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\">\r\n <div\r\n class=\"popover fade show position-absolute m-0\"\r\n role=\"tooltip\"\r\n *ngIf=\"_showselector\"\r\n [class.bs-popover-bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\r\n [class.bs-popover-top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n class=\"arrow position-absolute m-0\"\r\n style=\"left: unset\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
30
27
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
31
28
|
providers: [
|
|
32
29
|
{
|
|
@@ -45,6 +42,14 @@ SacDateComponent.decorators = [
|
|
|
45
42
|
SacDateComponent.ctorParameters = () => [
|
|
46
43
|
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
47
44
|
{ type: Injector },
|
|
48
|
-
{ type: ElementRef }
|
|
45
|
+
{ type: ElementRef },
|
|
46
|
+
{ type: ChangeDetectorRef }
|
|
49
47
|
];
|
|
50
|
-
|
|
48
|
+
// #endregion Classes
|
|
49
|
+
// #region Variables
|
|
50
|
+
/**
|
|
51
|
+
* Referenz auf Moment.JS
|
|
52
|
+
*/
|
|
53
|
+
const moment = moment_['default'];
|
|
54
|
+
// #endregion Variables
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZGF0ZXRpbWUvZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUVsQyxrQkFBa0I7QUFFbEI7O0dBRUc7QUFrQkgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGFBQWE7SUFDL0MsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ3dCLFVBQWtDLEVBQ3RELFFBQWtCLEVBQ2xCLFVBQXNCLEVBQ3RCLEtBQXdCO1FBRXhCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7WUFsQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixxOUpBQTBCO2dCQUMxQiwrRkFBK0Y7Z0JBQy9GLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO3FCQUNsRDtvQkFDRDt3QkFDSSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztxQkFDbEQ7aUJBQ0o7YUFDSjs7O1lBM0JRLHNCQUFzQix1QkF1Q3RCLElBQUksWUFBSSxRQUFRO1lBdENnQyxRQUFRO1lBQTFCLFVBQVU7WUFBeEMsaUJBQWlCOztBQWlEMUIscUJBQXFCO0FBRXJCLG9CQUFvQjtBQUVwQjs7R0FFRztBQUNILE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUVsQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNEYXRlQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xyXG5cclxuLy8gI3JlZ2lvbiBDbGFzc2VzXHJcblxyXG4vKipcclxuICogS29tcG9uZW50ZSBmw7xyIERhdHVtYXVzd2FobFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NhYy1kYXRlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLmh0bWwnLFxyXG4gICAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNEYXRlQ29tcG9uZW50KSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0RhdGVDb21wb25lbnQpLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjRGF0ZUNvbXBvbmVudCBleHRlbmRzIFNhY0RhdGVDb21tb24ge1xyXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnN0cnVjdG9yXHJcbiAgICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXHJcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgUmVmZXJlbmNlIHRvIGh0bWwgZG9tIGVsZW1lbnRcclxuICAgICAqIEBwYXJhbSBjZFJlZiAgQ2hhbmdlIERlY3RlY3Rpb24gU2VydmllXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSxcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yLCBlbGVtZW50UmVmLCBjZFJlZik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxufVxyXG5cclxuLy8gI2VuZHJlZ2lvbiBDbGFzc2VzXHJcblxyXG4vLyAjcmVnaW9uIFZhcmlhYmxlc1xyXG5cclxuLyoqXHJcbiAqIFJlZmVyZW56IGF1ZiBNb21lbnQuSlNcclxuICovXHJcbmNvbnN0IG1vbWVudCA9IG1vbWVudF9bJ2RlZmF1bHQnXTtcclxuXHJcbi8vICNlbmRyZWdpb24gVmFyaWFibGVzXHJcbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SacFormLayoutDirective } from '../layout/formlayout.directive';
|
|
2
|
+
import { ChangeDetectorRef, Component, ElementRef, Host, Injector, Optional, forwardRef } from '@angular/core';
|
|
2
3
|
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
4
|
import { SacDateTimeCommon } from '@simpleangularcontrols/sac-common';
|
|
4
|
-
import { SacFormLayoutDirective } from '../layout/formlayout.directive';
|
|
5
5
|
/**
|
|
6
6
|
* Date und Time Komponente
|
|
7
7
|
*/
|
|
@@ -12,15 +12,16 @@ export class SacDateTimeComponent extends SacDateTimeCommon {
|
|
|
12
12
|
* @param formLayout SacFormLayout to define scoped layout settings
|
|
13
13
|
* @param injector Injector for injecting services
|
|
14
14
|
* @param elementRef Reference to html dom element
|
|
15
|
+
* @param cdRef Change Dectection Servie
|
|
15
16
|
*/
|
|
16
|
-
constructor(formLayout, injector, elementRef) {
|
|
17
|
-
super(formLayout, injector, elementRef);
|
|
17
|
+
constructor(formLayout, injector, elementRef, cdRef) {
|
|
18
|
+
super(formLayout, injector, elementRef, cdRef);
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
SacDateTimeComponent.decorators = [
|
|
21
22
|
{ type: Component, args: [{
|
|
22
23
|
selector: 'sac-datetime',
|
|
23
|
-
template: "<div
|
|
24
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\"\r\n ><span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\" />\r\n <div class=\"input-group-append\">\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\"\r\n ><div\r\n class=\"popover fade show position-absolute m-0\"\r\n role=\"tooltip\"\r\n [class.bs-popover-bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\r\n [class.bs-popover-top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n class=\"arrow position-absolute m-0\"\r\n style=\"left: unset\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n timeselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
24
25
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
25
26
|
providers: [
|
|
26
27
|
{
|
|
@@ -39,6 +40,7 @@ SacDateTimeComponent.decorators = [
|
|
|
39
40
|
SacDateTimeComponent.ctorParameters = () => [
|
|
40
41
|
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
41
42
|
{ type: Injector },
|
|
42
|
-
{ type: ElementRef }
|
|
43
|
+
{ type: ElementRef },
|
|
44
|
+
{ type: ChangeDetectorRef }
|
|
43
45
|
];
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RhdGV0aW1lL2RhdGV0aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdEU7O0dBRUc7QUFrQkgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFpQjtJQUN2RCx1QkFBdUI7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsWUFDd0IsVUFBa0MsRUFDdEQsUUFBa0IsRUFDbEIsVUFBc0IsRUFDdEIsS0FBd0I7UUFFeEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7OztZQWxDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLDQ5SkFBOEI7Z0JBQzlCLCtGQUErRjtnQkFDL0YsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7cUJBQ3REO29CQUNEO3dCQUNJLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO3FCQUN0RDtpQkFDSjthQUNKOzs7WUF4QlEsc0JBQXNCLHVCQW9DdEIsSUFBSSxZQUFJLFFBQVE7WUFuQ2dDLFFBQVE7WUFBMUIsVUFBVTtZQUF4QyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNEYXRlVGltZUNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcblxyXG4vKipcclxuICogRGF0ZSB1bmQgVGltZSBLb21wb25lbnRlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2FjLWRhdGV0aW1lJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRldGltZS5odG1sJyxcclxuICAgIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjRGF0ZVRpbWVDb21wb25lbnQpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjRGF0ZVRpbWVDb21wb25lbnQpLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjRGF0ZVRpbWVDb21wb25lbnQgZXh0ZW5kcyBTYWNEYXRlVGltZUNvbW1vbiB7XHJcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXHJcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiBSZWZlcmVuY2UgdG8gaHRtbCBkb20gZWxlbWVudFxyXG4gICAgICogQHBhcmFtIGNkUmVmICBDaGFuZ2UgRGVjdGVjdGlvbiBTZXJ2aWVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IsIGVsZW1lbnRSZWYsIGNkUmVmKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiJdfQ==
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
5
|
* tslint:disable
|
|
6
6
|
*/
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUubW9kdWxlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZGF0ZXRpbWUvZGF0ZXRpbWUubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL2RhdGV0aW1lLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMiBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0ICogYXMgaTMgZnJvbSAnYW5ndWxhci1pbWFzayc7XG5pbXBvcnQgKiBhcyBpNCBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTUgZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwJztcbmltcG9ydCAqIGFzIGk2IGZyb20gJy4vZGF0ZSc7XG5pbXBvcnQgKiBhcyBpNyBmcm9tICcuL2RhdGV0aW1lJztcbmltcG9ydCAqIGFzIGk4IGZyb20gJy4vdGltZSc7XG5pbXBvcnQgKiBhcyBpOSBmcm9tICcuL2RhdGVzZWxlY3Rvcic7XG5pbXBvcnQgKiBhcyBpMTAgZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbGhlaWdodC5waXBlJztcbmltcG9ydCAqIGFzIGkxMSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTIgZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWxoZWlnaHQucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTMgZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWx3aWR0aGNzcy5waXBlJztcbmltcG9ydCAqIGFzIGkxNCBmcm9tICcuLi9sYXlvdXQvbGF5b3V0Lm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMTUgZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5leHBvcnQgY29uc3QgU0FDQm9vdHN0cmFwNERhdGVUaW1lTW9kdWxlTmdGYWN0b3J5OmkwLk5nTW9kdWxlRmFjdG9yeTxpMS5TQUNCb290c3RyYXA0RGF0ZVRpbWVNb2R1bGU+ID0gKG51bGwgYXMgYW55KTtcbnZhciBfZGVjbDBfMDppMi5OZ0NsYXNzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE6aTIuTmdDb21wb25lbnRPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjppMi5OZ0Zvck9mPGFueSxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM6aTIuTmdJZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ6aTIuTmdUZW1wbGF0ZU91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OmkyLk5nU3R5bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjppMi5OZ1N3aXRjaCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83OmkyLk5nU3dpdGNoQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84OmkyLk5nU3dpdGNoRGVmYXVsdCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85OmkyLk5nUGx1cmFsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwOmkyLk5nUGx1cmFsQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTppMy5JTWFza0RpcmVjdGl2ZTxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmk0LlNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM6aTUuU2FjVG9vbHRpcENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDppNi5TYWNEYXRlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1Omk3LlNhY0RhdGVUaW1lQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE2Omk4LlNhY1RpbWVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTc6aTkuU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE4OmkyLkFzeW5jUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOTppMi5VcHBlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIwOmkyLkxvd2VyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjE6aTIuSnNvblBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjI6aTIuU2xpY2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIzOmkyLkRlY2ltYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI0OmkyLlBlcmNlbnRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI1OmkyLlRpdGxlQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjY6aTIuQ3VycmVuY3lQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI3OmkyLkRhdGVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI4OmkyLkkxOG5QbHVyYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI5OmkyLkkxOG5TZWxlY3RQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMwOmkyLktleVZhbHVlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMTppMy5JTWFza1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzI6aTEwLlNhY1RvQ29udHJvbEhlaWdodFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzM6aTExLlNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNDppMTIuU2FjVG9MYWJlbEhlaWdodFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzU6aTEzLlNhY1RvTGFiZWxXaWR0aENzc1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzY6aTIuQ29tbW9uTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM3OmkzLklNYXNrTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM4OmkxNC5TQUNCb290c3RyYXA0TGF5b3V0TW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM5OmkxNS5TQUNCb290c3RyYXA0VG9vbHRpcE1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MDppMC5UZW1wbGF0ZVJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQxOmkwLkVsZW1lbnRSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZUNvbXBvbmVudF9Ib3N0XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBwZF8wOmFueSA9ICgoPGFueT5fZGVjbDBfMTQub25DbGljayhfYW55LnRhcmdldCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlQ29tcG9uZW50XzFfMSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTQuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gJ21sLTEnO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzE0LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8zO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlQ29tcG9uZW50XzFfMigpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTQuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE0LmludmFsaWQpICYmIChfZGVjbDBfMTQuZGlydHkgfHwgX2RlY2wwXzE0LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xOC50cmFuc2Zvcm0oX2RlY2wwXzE0LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVDb21wb25lbnRfMV8zKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNC5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVDb21wb25lbnRfMV80KCk6dm9pZCB7XG4gIGlmIChfZGVjbDBfMTQuX3Nob3dzZWxlY3Rvcikge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICgoX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE0LkNvbnRyb2xIZWlnaHQuU21hbGwpPyAxLjE6ICgoX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE0LkNvbnRyb2xIZWlnaHQuTGFyZ2UpPyAxLjg6IDEuNCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gJ3RydWUnO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE0LnZhbHVlO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBwZF8zOmFueSA9ICgoPGFueT5fZGVjbDBfMTQuZGF0ZXNlbGVjdChfYW55KSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZUNvbXBvbmVudF8xXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNC5kaXNhYmxlbGFiZWw7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9ICdjb2wtMTIgY29sLWZvcm0tbGFiZWwnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBbKChfZGVjbDBfMTQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzE0LmxhYmVsU2l6ZXMpOiAnc3Itb25seScpLFxuICAgICAgX2RlY2wwXzM0LnRyYW5zZm9ybShfZGVjbDBfMTQuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTQubmFtZSwnJyk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xNC5sYWJlbDtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9ICdjb2wtMTInO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSBbKChfZGVjbDBfMTQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zMy50cmFuc2Zvcm0oX2RlY2wwXzE0LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAoX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE0LkNvbnRyb2xIZWlnaHQuU21hbGwpO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSAoX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE0LkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gKChfZGVjbDBfMTQuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE0LmludmFsaWQpICYmIChfZGVjbDBfMTQuZGlydHkgfHwgX2RlY2wwXzE0LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSAnZm9ybS1jb250cm9sJztcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSBbX2RlY2wwXzMyLnRyYW5zZm9ybShfZGVjbDBfMTQuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gX2RlY2wwXzE0LmltYXNrRGF0ZTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE0Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTQubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gX2RlY2wwXzE0LnBsYWNlaG9sZGVyO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IF9kZWNsMF8xNC52YWx1ZXN0cmluZztcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSAoX2RlY2wwXzE0LmludmFsaWQgJiYgKF9kZWNsMF8xNC5kaXJ0eSB8fCBfZGVjbDBfMTQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8xNC5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8xNC5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzIwO1xuICBjb25zdCBjdXJyVmFsXzIxOmFueSA9IF9kZWNsMF8xNC5JY29uU2VsZWN0b3I7XG4gIGN1cnJWYWxfMjE7XG4gIGNvbnN0IGN1cnJWYWxfMjI6YW55ID0gKChfZGVjbDBfMTQuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE0LmludmFsaWQpICYmIChfZGVjbDBfMTQuZGlydHkgfHwgX2RlY2wwXzE0LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yMjtcbiAgY29uc3QgY3VyclZhbF8yMzphbnkgPSAoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KTtcbiAgY3VyclZhbF8yMztcbiAgY29uc3QgY3VyclZhbF8yNDphbnkgPSBfZGVjbDBfMTQuX3Nob3dzZWxlY3RvcjtcbiAgY3VyclZhbF8yNDtcbiAgY29uc3QgcGRfMjU6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5faGFuZGxlSW5wdXQoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yNjphbnkgPSAoKDxhbnk+X2RlY2wwXzExLm9uVG91Y2hlZCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yNzphbnkgPSAoKDxhbnk+X2RlY2wwXzExLl9jb21wb3NpdGlvblN0YXJ0KCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI4OmFueSA9ICgoPGFueT5fZGVjbDBfMTEuX2NvbXBvc2l0aW9uRW5kKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjk6YW55ID0gKCg8YW55Pl9kZWNsMF8xNC5vblRvdWNoKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMwOmFueSA9ICgoPGFueT5fZGVjbDBfMTQuc2V0VmFsdWVTdHJpbmcoX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMxOmFueSA9ICgoPGFueT5fZGVjbDBfMTQuc2hvd0RhdGVTZWxlY3RvcigpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVRpbWVDb21wb25lbnRfSG9zdF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgcGRfMDphbnkgPSAoKDxhbnk+X2RlY2wwXzE1Lm9uQ2xpY2soX2FueS50YXJnZXQpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVRpbWVDb21wb25lbnRfMl8xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNS5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAnbWwtMSc7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTUuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzM7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVUaW1lQ29tcG9uZW50XzJfMigpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTUuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE1LmludmFsaWQpICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xOC50cmFuc2Zvcm0oX2RlY2wwXzE1LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVUaW1lQ29tcG9uZW50XzJfMygpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTUuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlVGltZUNvbXBvbmVudF8yXzQoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8xNS5fc2hvd3NlbGVjdG9yKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKChfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTUuQ29udHJvbEhlaWdodC5TbWFsbCk/IDEuMTogKChfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTUuQ29udHJvbEhlaWdodC5MYXJnZSk/IDEuODogMS40KSk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAndHJ1ZSc7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAndHJ1ZSc7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTUudmFsdWU7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IHBkXzQ6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS5kYXRlc2VsZWN0KF9hbnkpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlVGltZUNvbXBvbmVudF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNS5kaXNhYmxlbGFiZWw7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9ICdjb2wtMTIgY29sLWZvcm0tbGFiZWwnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBbKChfZGVjbDBfMTUuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzE1LmxhYmVsU2l6ZXMpOiAnc3Itb25seScpLFxuICAgICAgX2RlY2wwXzM0LnRyYW5zZm9ybShfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTUubmFtZSwnJyk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xNS5sYWJlbDtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9ICdjb2wtMTInO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSBbKChfZGVjbDBfMTUuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zMy50cmFuc2Zvcm0oX2RlY2wwXzE1LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAoX2RlY2wwXzE1LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE1LkNvbnRyb2xIZWlnaHQuU21hbGwpO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSAoX2RlY2wwXzE1LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE1LkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gKChfZGVjbDBfMTUuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE1LmludmFsaWQpICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSAnZm9ybS1jb250cm9sJztcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSBbX2RlY2wwXzMyLnRyYW5zZm9ybShfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gX2RlY2wwXzE1LmltYXNrRGF0ZTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE1Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTUubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gX2RlY2wwXzE1LnBsYWNlaG9sZGVyO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IF9kZWNsMF8xNS52YWx1ZXN0cmluZztcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSAoX2RlY2wwXzE1LmludmFsaWQgJiYgKF9kZWNsMF8xNS5kaXJ0eSB8fCBfZGVjbDBfMTUudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8xNS5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8xNS5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzIwO1xuICBjb25zdCBjdXJyVmFsXzIxOmFueSA9IF9kZWNsMF8xNS5JY29uU2VsZWN0b3I7XG4gIGN1cnJWYWxfMjE7XG4gIGNvbnN0IGN1cnJWYWxfMjI6YW55ID0gKChfZGVjbDBfMTUuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE1LmludmFsaWQpICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yMjtcbiAgY29uc3QgY3VyclZhbF8yMzphbnkgPSAoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KTtcbiAgY3VyclZhbF8yMztcbiAgY29uc3QgY3VyclZhbF8yNDphbnkgPSBfZGVjbDBfMTUuX3Nob3dzZWxlY3RvcjtcbiAgY3VyclZhbF8yNDtcbiAgY29uc3QgcGRfMjU6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5faGFuZGxlSW5wdXQoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yNjphbnkgPSAoKDxhbnk+X2RlY2wwXzExLm9uVG91Y2hlZCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yNzphbnkgPSAoKDxhbnk+X2RlY2wwXzExLl9jb21wb3NpdGlvblN0YXJ0KCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI4OmFueSA9ICgoPGFueT5fZGVjbDBfMTEuX2NvbXBvc2l0aW9uRW5kKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjk6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS5vblRvdWNoKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMwOmFueSA9ICgoPGFueT5fZGVjbDBfMTUuc2V0VmFsdWVTdHJpbmcoX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMxOmFueSA9ICgoPGFueT5fZGVjbDBfMTUuc2hvd0RhdGVTZWxlY3RvcigpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVGltZUNvbXBvbmVudF9Ib3N0XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBwZF8wOmFueSA9ICgoPGFueT5fZGVjbDBfMTYub25DbGljayhfYW55LnRhcmdldCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfMSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNi5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTYuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gJ21sLTEnO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzE2LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8zO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfMigpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTYuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE2LmludmFsaWQpICYmIChfZGVjbDBfMTYuZGlydHkgfHwgX2RlY2wwXzE2LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xOC50cmFuc2Zvcm0oX2RlY2wwXzE2LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1RpbWVDb21wb25lbnRfM18zKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNi5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1RpbWVDb21wb25lbnRfM180KCk6dm9pZCB7XG4gIGlmIChfZGVjbDBfMTYuX3Nob3dzZWxlY3Rvcikge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICgoX2RlY2wwXzE2LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE2LkNvbnRyb2xIZWlnaHQuU21hbGwpPyAxLjE6ICgoX2RlY2wwXzE2LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE2LkNvbnRyb2xIZWlnaHQuTGFyZ2UpPyAxLjg6IDEuNCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gJ3RydWUnO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE2LnZhbHVlO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBwZF8zOmFueSA9ICgoPGFueT5fZGVjbDBfMTYudGltZXNlbGVjdChfYW55KSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVGltZUNvbXBvbmVudF8zXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNi5kaXNhYmxlbGFiZWw7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9ICdjb2wtMTIgY29sLWZvcm0tbGFiZWwnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBbKChfZGVjbDBfMTYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzE2LmxhYmVsU2l6ZXMpOiAnc3Itb25seScpLFxuICAgICAgX2RlY2wwXzM0LnRyYW5zZm9ybShfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTYubmFtZSwnJyk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xNi5sYWJlbDtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gKChfZGVjbDBfMTYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNi5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9ICdjb2wtMTInO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSBbKChfZGVjbDBfMTYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zMy50cmFuc2Zvcm0oX2RlY2wwXzE2LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAoX2RlY2wwXzE2LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE2LkNvbnRyb2xIZWlnaHQuU21hbGwpO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSAoX2RlY2wwXzE2LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE2LkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gKChfZGVjbDBfMTYuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE2LmludmFsaWQpICYmIChfZGVjbDBfMTYuZGlydHkgfHwgX2RlY2wwXzE2LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSAnZm9ybS1jb250cm9sJztcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSBbX2RlY2wwXzMyLnRyYW5zZm9ybShfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gX2RlY2wwXzE2LmltYXNrRGF0ZTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE2Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTYubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gX2RlY2wwXzE2LnBsYWNlaG9sZGVyO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IF9kZWNsMF8xNi52YWx1ZXN0cmluZztcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSAoX2RlY2wwXzE2LmludmFsaWQgJiYgKF9kZWNsMF8xNi5kaXJ0eSB8fCBfZGVjbDBfMTYudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8xNi5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8xNi5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzIwO1xuICBjb25zdCBjdXJyVmFsXzIxOmFueSA9IF9kZWNsMF8xNi5JY29uU2VsZWN0b3I7XG4gIGN1cnJWYWxfMjE7XG4gIGNvbnN0IGN1cnJWYWxfMjI6YW55ID0gKChfZGVjbDBfMTYuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE2LmludmFsaWQpICYmIChfZGVjbDBfMTYuZGlydHkgfHwgX2RlY2wwXzE2LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yMjtcbiAgY29uc3QgY3VyclZhbF8yMzphbnkgPSAoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KTtcbiAgY3VyclZhbF8yMztcbiAgY29uc3QgY3VyclZhbF8yNDphbnkgPSBfZGVjbDBfMTYuX3Nob3dzZWxlY3RvcjtcbiAgY3VyclZhbF8yNDtcbiAgY29uc3QgcGRfMjU6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5faGFuZGxlSW5wdXQoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yNjphbnkgPSAoKDxhbnk+X2RlY2wwXzExLm9uVG91Y2hlZCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yNzphbnkgPSAoKDxhbnk+X2RlY2wwXzExLl9jb21wb3NpdGlvblN0YXJ0KCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI4OmFueSA9ICgoPGFueT5fZGVjbDBfMTEuX2NvbXBvc2l0aW9uRW5kKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjk6YW55ID0gKCg8YW55Pl9kZWNsMF8xNi5vblRvdWNoKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMwOmFueSA9ICgoPGFueT5fZGVjbDBfMTYuc2V0VmFsdWVTdHJpbmcoX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMxOmFueSA9ICgoPGFueT5fZGVjbDBfMTYuc2hvd1RpbWVTZWxlY3RvcigpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50X0hvc3RfNF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlU2VsZWN0b3JDb21wb25lbnRfNF8zKCk6dm9pZCB7XG4gIGlmIChfZGVjbDBfMTcuZGF0ZXNlbGVjdGlvbikge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdwLTIgY29sIHRleHQtY2VudGVyJztcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHsnZGF5LWN1cnJlbnQnOl9hbnkuaXNjdXJyZW50LCdkYXktc2VsZWN0ZWQnOl9hbnkuaXNzZWxlY3RlZCxcbiAgICAgICAgJ2RheS1uZXcnOl9hbnkuaXNuZXcsJ2RheS1kaXNhYmxlZCc6IV9hbnkuaXNlbmFibGVkfTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IHsnY3Vyc29yJzooX2FueS5pc2VuYWJsZWQ/ICdwb2ludGVyJzogbnVsbCl9O1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2FueS5kaXNwbGF5dGV4dDtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgcGRfNDphbnkgPSAoKDxhbnk+X2RlY2wwXzE3LnNlbGVjdERhdGUoX2FueSkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVTZWxlY3RvckNvbXBvbmVudF80XzIoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8xNy5kYXRlc2VsZWN0aW9uKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2FueTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVTZWxlY3RvckNvbXBvbmVudF80XzEoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8xNy5kYXRlc2VsZWN0aW9uKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE3Lmljb25Nb250aFByZXY7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoX2RlY2wwXzE3Lm1vbnRoICsgMSk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTcueWVhcjtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8xNy5pY29uTW9udGhOZXh0O1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE3LmRhdGVzO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBwZF81OmFueSA9ICgoPGFueT5fZGVjbDBfMTcubW9udGhCYWNrKCkpICE9PSBmYWxzZSk7XG4gICAgY29uc3QgcGRfNjphbnkgPSAoKDxhbnk+X2RlY2wwXzE3Lm1vbnRoTmV4dCgpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlU2VsZWN0b3JDb21wb25lbnRfNF80KCk6dm9pZCB7XG4gIGlmIChfZGVjbDBfMTcudGltZXNlbGVjdGlvbikge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNy5nZXRIb3VycygpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzE3LmdldE1pbnV0ZXMoKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgcGRfMjphbnkgPSAoKDxhbnk+X2RlY2wwXzE3LnNldEhvdXJzKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgICBjb25zdCBwZF8zOmFueSA9ICgoPGFueT5fZGVjbDBfMTcuc2V0TWludXRlcyhfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVTZWxlY3RvckNvbXBvbmVudF80XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNy5kYXRlc2VsZWN0aW9uO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMTcudGltZXNlbGVjdGlvbjtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBwZF8yOmFueSA9ICgoPGFueT5fZGVjbDBfMTcuc2V0VG9kYXkoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzphbnkgPSAoKDxhbnk+X2RlY2wwXzE3LnJlc2V0U2VsZWN0aW9uKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzQ6YW55ID0gKCg8YW55Pl9kZWNsMF8xNy5hcHBseVNlbGVjdGlvbigpKSAhPT0gZmFsc2UpO1xufVxuIl19
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUubW9kdWxlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZGF0ZXRpbWUvZGF0ZXRpbWUubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL2RhdGV0aW1lLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMiBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0ICogYXMgaTMgZnJvbSAnYW5ndWxhci1pbWFzayc7XG5pbXBvcnQgKiBhcyBpNCBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTUgZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwJztcbmltcG9ydCAqIGFzIGk2IGZyb20gJy4vZGF0ZSc7XG5pbXBvcnQgKiBhcyBpNyBmcm9tICcuL2RhdGV0aW1lJztcbmltcG9ydCAqIGFzIGk4IGZyb20gJy4vdGltZSc7XG5pbXBvcnQgKiBhcyBpOSBmcm9tICcuL2RhdGVzZWxlY3Rvcic7XG5pbXBvcnQgKiBhcyBpMTAgZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbGhlaWdodC5waXBlJztcbmltcG9ydCAqIGFzIGkxMSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTIgZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWxoZWlnaHQucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTMgZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWx3aWR0aGNzcy5waXBlJztcbmltcG9ydCAqIGFzIGkxNCBmcm9tICcuLi9sYXlvdXQvbGF5b3V0Lm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMTUgZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5leHBvcnQgY29uc3QgU0FDQm9vdHN0cmFwNERhdGVUaW1lTW9kdWxlTmdGYWN0b3J5OmkwLk5nTW9kdWxlRmFjdG9yeTxpMS5TQUNCb290c3RyYXA0RGF0ZVRpbWVNb2R1bGU+ID0gKG51bGwgYXMgYW55KTtcbnZhciBfZGVjbDBfMDppMi5OZ0NsYXNzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE6aTIuTmdDb21wb25lbnRPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjppMi5OZ0Zvck9mPGFueSxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM6aTIuTmdJZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ6aTIuTmdUZW1wbGF0ZU91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OmkyLk5nU3R5bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjppMi5OZ1N3aXRjaCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83OmkyLk5nU3dpdGNoQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84OmkyLk5nU3dpdGNoRGVmYXVsdCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85OmkyLk5nUGx1cmFsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwOmkyLk5nUGx1cmFsQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTppMy5JTWFza0RpcmVjdGl2ZTxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmk0LlNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM6aTUuU2FjVG9vbHRpcENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDppNi5TYWNEYXRlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1Omk3LlNhY0RhdGVUaW1lQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE2Omk4LlNhY1RpbWVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTc6aTkuU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE4OmkyLkFzeW5jUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOTppMi5VcHBlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIwOmkyLkxvd2VyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjE6aTIuSnNvblBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjI6aTIuU2xpY2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIzOmkyLkRlY2ltYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI0OmkyLlBlcmNlbnRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI1OmkyLlRpdGxlQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjY6aTIuQ3VycmVuY3lQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI3OmkyLkRhdGVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI4OmkyLkkxOG5QbHVyYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI5OmkyLkkxOG5TZWxlY3RQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMwOmkyLktleVZhbHVlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMTppMy5JTWFza1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzI6aTEwLlNhY1RvQ29udHJvbEhlaWdodFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzM6aTExLlNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNDppMTIuU2FjVG9MYWJlbEhlaWdodFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzU6aTEzLlNhY1RvTGFiZWxXaWR0aENzc1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzY6aTIuQ29tbW9uTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM3OmkzLklNYXNrTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM4OmkxNC5TQUNCb290c3RyYXA0TGF5b3V0TW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM5OmkxNS5TQUNCb290c3RyYXA0VG9vbHRpcE1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MDppMC5UZW1wbGF0ZVJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQxOmkwLkVsZW1lbnRSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZUNvbXBvbmVudF9Ib3N0XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBwZF8wOmFueSA9ICgoPGFueT5fZGVjbDBfMTQub25DbGljayhfYW55LnRhcmdldCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlQ29tcG9uZW50XzFfMSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTQuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gJ21sLTEnO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzE0LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8zO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlQ29tcG9uZW50XzFfMigpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTQuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE0LmludmFsaWQpICYmIChfZGVjbDBfMTQuZGlydHkgfHwgX2RlY2wwXzE0LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xOC50cmFuc2Zvcm0oX2RlY2wwXzE0LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVDb21wb25lbnRfMV8zKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNC5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVDb21wb25lbnRfMV81KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzE0Ll9zaG93c2VsZWN0b3IgJiYgX2RlY2wwXzE0Ll9zaG93c2VsZWN0b3IpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKChfZGVjbDBfMTQuR2V0UGlja2VyUG9zaXRpb24oKSA9PSBfZGVjbDBfMTQuVG9vbHRpcFBvc2l0aW9uLmJvdHRvbSkgfHwgKF9kZWNsMF8xNC5HZXRQaWNrZXJQb3NpdGlvbigpID09IF9kZWNsMF8xNC5Ub29sdGlwUG9zaXRpb24uYm90dG9tZW5kKSk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoKF9kZWNsMF8xNC5HZXRQaWNrZXJQb3NpdGlvbigpID09IF9kZWNsMF8xNC5Ub29sdGlwUG9zaXRpb24udG9wKSB8fCAoX2RlY2wwXzE0LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE0LlRvb2x0aXBQb3NpdGlvbi50b3BlbmQpKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xNC5wb3NQb3B1cExlZnQ7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTQucG9zUG9wdXBUb3A7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTQucG9zQXJyb3dUb3A7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTQucG9zQXJyb3dMZWZ0O1xuICAgIGN1cnJWYWxfNTtcbiAgICBjb25zdCBjdXJyVmFsXzY6YW55ID0gJ3RydWUnO1xuICAgIGN1cnJWYWxfNjtcbiAgICBjb25zdCBjdXJyVmFsXzc6YW55ID0gX2RlY2wwXzE0LnZhbHVlO1xuICAgIGN1cnJWYWxfNztcbiAgICBjb25zdCBwZF84OmFueSA9ICgoPGFueT5fZGVjbDBfMTQuZGF0ZXNlbGVjdChfYW55KSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZUNvbXBvbmVudF8xXzQoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8xNC5fc2hvd3NlbGVjdG9yKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE0Ll9zaG93c2VsZWN0b3I7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlQ29tcG9uZW50XzFfNigpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpICYmIF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2Zvcm0tY29udHJvbC1wbGFpbnRleHQgYWxpZ24tc2VsZi10b3AgbWwtMiBtci0xIHctYXV0byc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBbX2RlY2wwXzMyLnRyYW5zZm9ybShfZGVjbDBfMTQuY29tcG9uZW50SGVpZ2h0KV07XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTQuaGVscHRleHQ7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gJ21sLTEnO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzE0LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF81O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlQ29tcG9uZW50XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE0LmRpc2FibGVsYWJlbDtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gJ2NvbC0xMiBjb2wtZm9ybS1sYWJlbCBkLWZsZXgnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBbKChfZGVjbDBfMTQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzE0LmxhYmVsU2l6ZXMpOiAnc3Itb25seScpLFxuICAgICAgX2RlY2wwXzM0LnRyYW5zZm9ybShfZGVjbDBfMTQuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTQubmFtZSwnJyk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xNC5pc3JlcXVpcmVkO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTQuc3BsaXRsYWJlbGFuZGhlbHB0ZXh0O1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBfZGVjbDBfMTQubGFiZWw7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9ICgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAnY29sLTEyJztcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gWygoX2RlY2wwXzE0LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzMudHJhbnNmb3JtKF9kZWNsMF8xNC5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9ICgoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTQuZGlzYWJsZWxhYmVsKTtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSAoKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCkgJiYgX2RlY2wwXzE0LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xNC5Db250cm9sSGVpZ2h0LlNtYWxsKTtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSAoX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE0LkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICBjdXJyVmFsXzEzO1xuICBjb25zdCBjdXJyVmFsXzE0OmFueSA9ICgoX2RlY2wwXzE0LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNC5pbnZhbGlkKSAmJiAoX2RlY2wwXzE0LmRpcnR5IHx8IF9kZWNsMF8xNC50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gJ2Zvcm0tY29udHJvbCc7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gW19kZWNsMF8zMi50cmFuc2Zvcm0oX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IF9kZWNsMF8xNC5pbWFza0RhdGU7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IGN1cnJWYWxfMTg6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNC5uYW1lLCcnKTtcbiAgY3VyclZhbF8xODtcbiAgY29uc3QgY3VyclZhbF8xOTphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE0Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8xNC5wbGFjZWhvbGRlcjtcbiAgY3VyclZhbF8yMDtcbiAgY29uc3QgY3VyclZhbF8yMTphbnkgPSBfZGVjbDBfMTQudmFsdWVzdHJpbmc7XG4gIGN1cnJWYWxfMjE7XG4gIGNvbnN0IGN1cnJWYWxfMjI6YW55ID0gKF9kZWNsMF8xNC5pbnZhbGlkICYmIChfZGVjbDBfMTQuZGlydHkgfHwgX2RlY2wwXzE0LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yMjtcbiAgY29uc3QgY3VyclZhbF8yMzphbnkgPSBfZGVjbDBfMTQuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8yMztcbiAgY29uc3QgY3VyclZhbF8yNDphbnkgPSBfZGVjbDBfMTQuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8yNDtcbiAgY29uc3QgY3VyclZhbF8yNTphbnkgPSBfZGVjbDBfMTQuSWNvblNlbGVjdG9yO1xuICBjdXJyVmFsXzI1O1xuICBjb25zdCBjdXJyVmFsXzI2OmFueSA9ICgoX2RlY2wwXzE0LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNC5pbnZhbGlkKSAmJiAoX2RlY2wwXzE0LmRpcnR5IHx8IF9kZWNsMF8xNC50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjY7XG4gIGNvbnN0IGN1cnJWYWxfMjc6YW55ID0gKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMjc7XG4gIGNvbnN0IGN1cnJWYWxfMjg6YW55ID0gX2RlY2wwXzE0Ll9zaG93c2VsZWN0b3I7XG4gIGN1cnJWYWxfMjg7XG4gIGNvbnN0IGN1cnJWYWxfMjk6YW55ID0gKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpICYmIF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzI5O1xuICBjb25zdCBwZF8zMDphbnkgPSAoKDxhbnk+X2RlY2wwXzExLl9oYW5kbGVJbnB1dChfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMxOmFueSA9ICgoPGFueT5fZGVjbDBfMTEub25Ub3VjaGVkKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMyOmFueSA9ICgoPGFueT5fZGVjbDBfMTEuX2NvbXBvc2l0aW9uU3RhcnQoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzM6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5fY29tcG9zaXRpb25FbmQoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zNDphbnkgPSAoKDxhbnk+X2RlY2wwXzE0Lm9uVG91Y2goKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzU6YW55ID0gKCg8YW55Pl9kZWNsMF8xNC5zZXRWYWx1ZVN0cmluZyhfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzY6YW55ID0gKCg8YW55Pl9kZWNsMF8xNC5zaG93RGF0ZVNlbGVjdG9yKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlVGltZUNvbXBvbmVudF9Ib3N0XzJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBwZF8wOmFueSA9ICgoPGFueT5fZGVjbDBfMTUub25DbGljayhfYW55LnRhcmdldCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlVGltZUNvbXBvbmVudF8yXzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE1LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTUuaGVscHRleHQpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE1LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9ICdtbC0xJztcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8xNS5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMztcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVRpbWVDb21wb25lbnRfMl8yKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNS5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTUuaW52YWxpZCkgJiYgKF9kZWNsMF8xNS5kaXJ0eSB8fCBfZGVjbDBfMTUudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE4LnRyYW5zZm9ybShfZGVjbDBfMTUuR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVRpbWVDb21wb25lbnRfMl8zKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNS5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVUaW1lQ29tcG9uZW50XzJfNCgpOnZvaWQge1xuICBpZiAoX2RlY2wwXzE1Ll9zaG93c2VsZWN0b3IpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8xNS5HZXRQaWNrZXJQb3NpdGlvbigpID09IF9kZWNsMF8xNS5Ub29sdGlwUG9zaXRpb24uYm90dG9tKSB8fCAoX2RlY2wwXzE1LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE1LlRvb2x0aXBQb3NpdGlvbi5ib3R0b21lbmQpKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9ICgoX2RlY2wwXzE1LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE1LlRvb2x0aXBQb3NpdGlvbi50b3ApIHx8IChfZGVjbDBfMTUuR2V0UGlja2VyUG9zaXRpb24oKSA9PSBfZGVjbDBfMTUuVG9vbHRpcFBvc2l0aW9uLnRvcGVuZCkpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE1LnBvc1BvcHVwTGVmdDtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8xNS5wb3NQb3B1cFRvcDtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xNS5wb3NBcnJvd1RvcDtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNS5wb3NBcnJvd0xlZnQ7XG4gICAgY3VyclZhbF81O1xuICAgIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAndHJ1ZSc7XG4gICAgY3VyclZhbF82O1xuICAgIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAndHJ1ZSc7XG4gICAgY3VyclZhbF83O1xuICAgIGNvbnN0IGN1cnJWYWxfODphbnkgPSBfZGVjbDBfMTUudmFsdWU7XG4gICAgY3VyclZhbF84O1xuICAgIGNvbnN0IHBkXzk6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS5kYXRlc2VsZWN0KF9hbnkpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlVGltZUNvbXBvbmVudF8yXzUoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTUuZGlzYWJsZWxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdmb3JtLWNvbnRyb2wtcGxhaW50ZXh0IGFsaWduLXNlbGYtdG9wIG1sLTIgbXItMSB3LWF1dG8nO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gW19kZWNsMF8zMi50cmFuc2Zvcm0oX2RlY2wwXzE1LmNvbXBvbmVudEhlaWdodCldO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE1LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9ICdtbC0xJztcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNS5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfNTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVRpbWVDb21wb25lbnRfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTUuZGlzYWJsZWxhYmVsO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAnY29sLTEyIGNvbC1mb3JtLWxhYmVsIGQtZmxleCc7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IFsoKF9kZWNsMF8xNS5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMTUubGFiZWxTaXplcyk6ICdzci1vbmx5JyksXG4gICAgICBfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xNS5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNS5uYW1lLCcnKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE1LmlzcmVxdWlyZWQ7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNS5zcGxpdGxhYmVsYW5kaGVscHRleHQ7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF8xNS5sYWJlbDtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9ICdjb2wtMTInO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSBbKChfZGVjbDBfMTUuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zMy50cmFuc2Zvcm0oX2RlY2wwXzE1LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gKCgoX2RlY2wwXzE1LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTUuaGVscHRleHQpICYmIF9kZWNsMF8xNS5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9ICgoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTUuZGlzYWJsZWxhYmVsKTtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSAoX2RlY2wwXzE1LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE1LkNvbnRyb2xIZWlnaHQuU21hbGwpO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IChfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTUuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gKChfZGVjbDBfMTUuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE1LmludmFsaWQpICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSAnZm9ybS1jb250cm9sJztcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgY3VyclZhbF8xNjphbnkgPSBbX2RlY2wwXzMyLnRyYW5zZm9ybShfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gX2RlY2wwXzE1LmltYXNrRGF0ZTtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE1Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTUubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTk7XG4gIGNvbnN0IGN1cnJWYWxfMjA6YW55ID0gX2RlY2wwXzE1LnBsYWNlaG9sZGVyO1xuICBjdXJyVmFsXzIwO1xuICBjb25zdCBjdXJyVmFsXzIxOmFueSA9IF9kZWNsMF8xNS52YWx1ZXN0cmluZztcbiAgY3VyclZhbF8yMTtcbiAgY29uc3QgY3VyclZhbF8yMjphbnkgPSAoX2RlY2wwXzE1LmludmFsaWQgJiYgKF9kZWNsMF8xNS5kaXJ0eSB8fCBfZGVjbDBfMTUudG91Y2hlZCkpO1xuICBjdXJyVmFsXzIyO1xuICBjb25zdCBjdXJyVmFsXzIzOmFueSA9IF9kZWNsMF8xNS5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzIzO1xuICBjb25zdCBjdXJyVmFsXzI0OmFueSA9IF9kZWNsMF8xNS5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzI0O1xuICBjb25zdCBjdXJyVmFsXzI1OmFueSA9IF9kZWNsMF8xNS5JY29uU2VsZWN0b3I7XG4gIGN1cnJWYWxfMjU7XG4gIGNvbnN0IGN1cnJWYWxfMjY6YW55ID0gKChfZGVjbDBfMTUuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE1LmludmFsaWQpICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yNjtcbiAgY29uc3QgY3VyclZhbF8yNzphbnkgPSAoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KTtcbiAgY3VyclZhbF8yNztcbiAgY29uc3QgY3VyclZhbF8yODphbnkgPSBfZGVjbDBfMTUuX3Nob3dzZWxlY3RvcjtcbiAgY3VyclZhbF8yODtcbiAgY29uc3QgY3VyclZhbF8yOTphbnkgPSAoKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCkgJiYgX2RlY2wwXzE1LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMjk7XG4gIGNvbnN0IHBkXzMwOmFueSA9ICgoPGFueT5fZGVjbDBfMTEuX2hhbmRsZUlucHV0KF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzE6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5vblRvdWNoZWQoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzI6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5fY29tcG9zaXRpb25TdGFydCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zMzphbnkgPSAoKDxhbnk+X2RlY2wwXzExLl9jb21wb3NpdGlvbkVuZChfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzM0OmFueSA9ICgoPGFueT5fZGVjbDBfMTUub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zNTphbnkgPSAoKDxhbnk+X2RlY2wwXzE1LnNldFZhbHVlU3RyaW5nKF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zNjphbnkgPSAoKDxhbnk+X2RlY2wwXzE1LnNob3dEYXRlU2VsZWN0b3IoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1RpbWVDb21wb25lbnRfSG9zdF8zXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgcGRfMDphbnkgPSAoKDxhbnk+X2RlY2wwXzE2Lm9uQ2xpY2soX2FueS50YXJnZXQpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVGltZUNvbXBvbmVudF8zXzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTYuaGVscHRleHQpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE2LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9ICdtbC0xJztcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8xNi5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMztcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVGltZUNvbXBvbmVudF8zXzIoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE2LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNi5pbnZhbGlkKSAmJiAoX2RlY2wwXzE2LmRpcnR5IHx8IF9kZWNsMF8xNi50b3VjaGVkKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTgudHJhbnNmb3JtKF9kZWNsMF8xNi5HZXRFcnJvck1lc3NhZ2UoKSk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfMygpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTYuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xNi5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTYuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfNCgpOnZvaWQge1xuICBpZiAoX2RlY2wwXzE2Ll9zaG93c2VsZWN0b3IpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8xNi5HZXRQaWNrZXJQb3NpdGlvbigpID09IF9kZWNsMF8xNi5Ub29sdGlwUG9zaXRpb24uYm90dG9tKSB8fCAoX2RlY2wwXzE2LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE2LlRvb2x0aXBQb3NpdGlvbi5ib3R0b21lbmQpKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9ICgoX2RlY2wwXzE2LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE2LlRvb2x0aXBQb3NpdGlvbi50b3ApIHx8IChfZGVjbDBfMTYuR2V0UGlja2VyUG9zaXRpb24oKSA9PSBfZGVjbDBfMTYuVG9vbHRpcFBvc2l0aW9uLnRvcGVuZCkpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE2LnBvc1BvcHVwTGVmdDtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8xNi5wb3NQb3B1cFRvcDtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xNi5wb3NBcnJvd1RvcDtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNi5wb3NBcnJvd0xlZnQ7XG4gICAgY3VyclZhbF81O1xuICAgIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAndHJ1ZSc7XG4gICAgY3VyclZhbF82O1xuICAgIGNvbnN0IGN1cnJWYWxfNzphbnkgPSBfZGVjbDBfMTYudmFsdWU7XG4gICAgY3VyclZhbF83O1xuICAgIGNvbnN0IHBkXzg6YW55ID0gKCg8YW55Pl9kZWNsMF8xNi50aW1lc2VsZWN0KF9hbnkpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfNSgpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzE2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTYuaGVscHRleHQpICYmIF9kZWNsMF8xNi5kaXNhYmxlbGFiZWwpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2Zvcm0tY29udHJvbC1wbGFpbnRleHQgYWxpZ24tc2VsZi10b3AgbWwtMiBtci0xIHctYXV0byc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBbX2RlY2wwXzMyLnRyYW5zZm9ybShfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0KV07XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTYuaGVscHRleHQ7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gJ21sLTEnO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzE2LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF81O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE2LmRpc2FibGVsYWJlbDtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gJ2NvbC0xMiBjb2wtZm9ybS1sYWJlbCBkLWZsZXgnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBbKChfZGVjbDBfMTYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzE2LmxhYmVsU2l6ZXMpOiAnc3Itb25seScpLFxuICAgICAgX2RlY2wwXzM0LnRyYW5zZm9ybShfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTYubmFtZSwnJyk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xNi5pc3JlcXVpcmVkO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTYuc3BsaXRsYWJlbGFuZGhlbHB0ZXh0O1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBfZGVjbDBfMTYubGFiZWw7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9ICgoX2RlY2wwXzE2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTYuaGVscHRleHQpO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAnY29sLTEyJztcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gWygoX2RlY2wwXzE2LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzMudHJhbnNmb3JtKF9kZWNsMF8xNi5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9ICgoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTYuZGlzYWJsZWxhYmVsKTtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSAoKChfZGVjbDBfMTYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNi5oZWxwdGV4dCkgJiYgX2RlY2wwXzE2LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gKF9kZWNsMF8xNi5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xNi5Db250cm9sSGVpZ2h0LlNtYWxsKTtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSAoX2RlY2wwXzE2LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE2LkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICBjdXJyVmFsXzEzO1xuICBjb25zdCBjdXJyVmFsXzE0OmFueSA9ICgoX2RlY2wwXzE2LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNi5pbnZhbGlkKSAmJiAoX2RlY2wwXzE2LmRpcnR5IHx8IF9kZWNsMF8xNi50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gJ2Zvcm0tY29udHJvbCc7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gW19kZWNsMF8zMi50cmFuc2Zvcm0oX2RlY2wwXzE2LmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IF9kZWNsMF8xNi5pbWFza0RhdGU7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IGN1cnJWYWxfMTg6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNi5uYW1lLCcnKTtcbiAgY3VyclZhbF8xODtcbiAgY29uc3QgY3VyclZhbF8xOTphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE2Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8xNi5wbGFjZWhvbGRlcjtcbiAgY3VyclZhbF8yMDtcbiAgY29uc3QgY3VyclZhbF8yMTphbnkgPSBfZGVjbDBfMTYudmFsdWVzdHJpbmc7XG4gIGN1cnJWYWxfMjE7XG4gIGNvbnN0IGN1cnJWYWxfMjI6YW55ID0gKF9kZWNsMF8xNi5pbnZhbGlkICYmIChfZGVjbDBfMTYuZGlydHkgfHwgX2RlY2wwXzE2LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yMjtcbiAgY29uc3QgY3VyclZhbF8yMzphbnkgPSBfZGVjbDBfMTYuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8yMztcbiAgY29uc3QgY3VyclZhbF8yNDphbnkgPSBfZGVjbDBfMTYuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8yNDtcbiAgY29uc3QgY3VyclZhbF8yNTphbnkgPSBfZGVjbDBfMTYuSWNvblNlbGVjdG9yO1xuICBjdXJyVmFsXzI1O1xuICBjb25zdCBjdXJyVmFsXzI2OmFueSA9ICgoX2RlY2wwXzE2LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNi5pbnZhbGlkKSAmJiAoX2RlY2wwXzE2LmRpcnR5IHx8IF9kZWNsMF8xNi50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjY7XG4gIGNvbnN0IGN1cnJWYWxfMjc6YW55ID0gKChfZGVjbDBfMTYuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xNi5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMjc7XG4gIGNvbnN0IGN1cnJWYWxfMjg6YW55ID0gX2RlY2wwXzE2Ll9zaG93c2VsZWN0b3I7XG4gIGN1cnJWYWxfMjg7XG4gIGNvbnN0IGN1cnJWYWxfMjk6YW55ID0gKCgoX2RlY2wwXzE2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTYuaGVscHRleHQpICYmIF9kZWNsMF8xNi5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzI5O1xuICBjb25zdCBwZF8zMDphbnkgPSAoKDxhbnk+X2RlY2wwXzExLl9oYW5kbGVJbnB1dChfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMxOmFueSA9ICgoPGFueT5fZGVjbDBfMTEub25Ub3VjaGVkKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMyOmFueSA9ICgoPGFueT5fZGVjbDBfMTEuX2NvbXBvc2l0aW9uU3RhcnQoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzM6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5fY29tcG9zaXRpb25FbmQoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zNDphbnkgPSAoKDxhbnk+X2RlY2wwXzE2Lm9uVG91Y2goKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzU6YW55ID0gKCg8YW55Pl9kZWNsMF8xNi5zZXRWYWx1ZVN0cmluZyhfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzY6YW55ID0gKCg8YW55Pl9kZWNsMF8xNi5zaG93VGltZVNlbGVjdG9yKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlU2VsZWN0b3JDb21wb25lbnRfSG9zdF80XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVTZWxlY3RvckNvbXBvbmVudF80XzMoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8xNy5kYXRlc2VsZWN0aW9uKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ3AtMiBjb2wgdGV4dC1jZW50ZXInO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0geydkYXktY3VycmVudCc6X2FueS5pc2N1cnJlbnQsJ2RheS1zZWxlY3RlZCc6X2FueS5pc3NlbGVjdGVkLFxuICAgICAgICAnZGF5LW5ldyc6X2FueS5pc25ldywnZGF5LWRpc2FibGVkJzohX2FueS5pc2VuYWJsZWR9O1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0geydjdXJzb3InOihfYW55LmlzZW5hYmxlZD8gJ3BvaW50ZXInOiBudWxsKX07XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfYW55LmRpc3BsYXl0ZXh0O1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBwZF80OmFueSA9ICgoPGFueT5fZGVjbDBfMTcuc2VsZWN0RGF0ZShfYW55KSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50XzRfMigpOnZvaWQge1xuICBpZiAoX2RlY2wwXzE3LmRhdGVzZWxlY3Rpb24pIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfYW55O1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50XzRfMSgpOnZvaWQge1xuICBpZiAoX2RlY2wwXzE3LmRhdGVzZWxlY3Rpb24pIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTcuaWNvbk1vbnRoUHJldjtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMTcubW9udGggKyAxKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xNy55ZWFyO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzE3Lmljb25Nb250aE5leHQ7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTcuZGF0ZXM7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IHBkXzU6YW55ID0gKCg8YW55Pl9kZWNsMF8xNy5tb250aEJhY2soKSkgIT09IGZhbHNlKTtcbiAgICBjb25zdCBwZF82OmFueSA9ICgoPGFueT5fZGVjbDBfMTcubW9udGhOZXh0KCkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVTZWxlY3RvckNvbXBvbmVudF80XzQoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8xNy50aW1lc2VsZWN0aW9uKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE3LmdldEhvdXJzKCk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMTcuZ2V0TWludXRlcygpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBwZF8yOmFueSA9ICgoPGFueT5fZGVjbDBfMTcuc2V0SG91cnMoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICAgIGNvbnN0IHBkXzM6YW55ID0gKCg8YW55Pl9kZWNsMF8xNy5zZXRNaW51dGVzKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50XzRfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE3LmRhdGVzZWxlY3Rpb247XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xNy50aW1lc2VsZWN0aW9uO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IHBkXzI6YW55ID0gKCg8YW55Pl9kZWNsMF8xNy5zZXRUb2RheSgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zOmFueSA9ICgoPGFueT5fZGVjbDBfMTcucmVzZXRTZWxlY3Rpb24oKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfNDphbnkgPSAoKDxhbnk+X2RlY2wwXzE3LmFwcGx5U2VsZWN0aW9uKCkpICE9PSBmYWxzZSk7XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SacFormLayoutDirective } from '../layout/formlayout.directive';
|
|
2
|
+
import { ChangeDetectorRef, Component, ElementRef, Host, Injector, Optional, forwardRef } from '@angular/core';
|
|
2
3
|
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
4
|
import { SacTimeCommon } from '@simpleangularcontrols/sac-common';
|
|
4
|
-
import { SacFormLayoutDirective } from '../layout/formlayout.directive';
|
|
5
5
|
/**
|
|
6
6
|
* Time Auswahl Komponente
|
|
7
7
|
*/
|
|
@@ -12,15 +12,16 @@ export class SacTimeComponent extends SacTimeCommon {
|
|
|
12
12
|
* @param formLayout SacFormLayout to define scoped layout settings
|
|
13
13
|
* @param injector Injector for injecting services
|
|
14
14
|
* @param elementRef Reference to html dom element
|
|
15
|
+
* @param cdRef Change Dectection Servie
|
|
15
16
|
*/
|
|
16
|
-
constructor(formLayout, injector, elementRef) {
|
|
17
|
-
super(formLayout, injector, elementRef);
|
|
17
|
+
constructor(formLayout, injector, elementRef, cdRef) {
|
|
18
|
+
super(formLayout, injector, elementRef, cdRef);
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
SacTimeComponent.decorators = [
|
|
21
22
|
{ type: Component, args: [{
|
|
22
23
|
selector: 'sac-time',
|
|
23
|
-
template: "<div
|
|
24
|
+
template: "<div\r\n class=\"row form-group\"\r\n [class.no-gutters]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\"\r\n ><span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\" />\r\n <div class=\"input-group-append\">\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showTimeSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <small\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text text-muted\">\r\n {{ helptext }}\r\n </small>\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\">\r\n <div\r\n class=\"popover fade show position-absolute m-0\"\r\n role=\"tooltip\"\r\n [class.bs-popover-bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\r\n [class.bs-popover-top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n class=\"arrow position-absolute m-0\"\r\n style=\"left: unset\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"timeselect($event)\"\r\n timeselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
24
25
|
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
25
26
|
providers: [
|
|
26
27
|
{
|
|
@@ -39,6 +40,7 @@ SacTimeComponent.decorators = [
|
|
|
39
40
|
SacTimeComponent.ctorParameters = () => [
|
|
40
41
|
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
41
42
|
{ type: Injector },
|
|
42
|
-
{ type: ElementRef }
|
|
43
|
+
{ type: ElementRef },
|
|
44
|
+
{ type: ChangeDetectorRef }
|
|
43
45
|
];
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZGF0ZXRpbWUvdGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVsRTs7R0FFRztBQWtCSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsYUFBYTtJQUMvQyx1QkFBdUI7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsWUFDd0IsVUFBa0MsRUFDdEQsUUFBa0IsRUFDbEIsVUFBc0IsRUFDdEIsS0FBd0I7UUFFeEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7OztZQWxDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLHM2SkFBMEI7Z0JBQzFCLCtGQUErRjtnQkFDL0YsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7cUJBQ2xEO29CQUNEO3dCQUNJLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO3FCQUNsRDtpQkFDSjthQUNKOzs7WUF4QlEsc0JBQXNCLHVCQW9DdEIsSUFBSSxZQUFJLFFBQVE7WUFuQ2dDLFFBQVE7WUFBMUIsVUFBVTtZQUF4QyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNUaW1lQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuXHJcbi8qKlxyXG4gKiBUaW1lIEF1c3dhaGwgS29tcG9uZW50ZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NhYy10aW1lJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90aW1lLmh0bWwnLFxyXG4gICAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNUaW1lQ29tcG9uZW50KSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY1RpbWVDb21wb25lbnQpLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjVGltZUNvbXBvbmVudCBleHRlbmRzIFNhY1RpbWVDb21tb24ge1xyXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnN0cnVjdG9yXHJcbiAgICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXHJcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgUmVmZXJlbmNlIHRvIGh0bWwgZG9tIGVsZW1lbnRcclxuICAgICAqIEBwYXJhbSBjZFJlZiAgQ2hhbmdlIERlY3RlY3Rpb24gU2VydmllXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSxcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yLCBlbGVtZW50UmVmLCBjZFJlZik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxufVxyXG4iXX0=
|
|
@@ -34,11 +34,11 @@ export class SacDialogComponent extends SacDialogCommon {
|
|
|
34
34
|
SacDialogComponent.decorators = [
|
|
35
35
|
{ type: Component, args: [{
|
|
36
36
|
selector: 'sac-dialog',
|
|
37
|
-
template: "<div
|
|
37
|
+
template: "<div\r\n #dialog\r\n class=\"modal show\"\r\n style=\"display: block\"\r\n tabindex=\"-1\"\r\n role=\"dialog\"\r\n *ngIf=\"_show\"\r\n>\r\n <div\r\n class=\"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable\"\r\n role=\"document\"\r\n [class.modal-xl]=\"_size === 'extralarge'\"\r\n [class.modal-lg]=\"_size === 'large'\"\r\n [class.modal-sm]=\"_size === 'small'\"\r\n >\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\">{{title}}</h5>\r\n <button\r\n type=\"button\"\r\n class=\"close\"\r\n data-dismiss=\"modal\"\r\n aria-label=\"Close\"\r\n (click)=\"hide()\"\r\n *ngIf=\"closebutton\"\r\n >\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content select=\"[dialogbody]\"></ng-content>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-content select=\"[dialogfooter]\"></ng-content>\r\n </div>\r\n </div>\r\n <!-- /.modal-content -->\r\n </div>\r\n <!-- /.modal-dialog -->\r\n</div>\r\n<!-- /.modal -->\r\n<div class=\"modal-backdrop show\" *ngIf=\"_show && backdrop\" #backdrop></div>\r\n"
|
|
38
38
|
},] }
|
|
39
39
|
];
|
|
40
40
|
SacDialogComponent.ctorParameters = () => [
|
|
41
41
|
{ type: ElementRef },
|
|
42
42
|
{ type: ChangeDetectorRef }
|
|
43
43
|
];
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9kaWFsb2cvZGlhbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsR0FHWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sa0JBQ1gsU0FBUSxlQUFlO0lBUXZCOzs7O09BSUc7SUFDSCxZQUFZLEVBQWMsRUFBRSxLQUF3QjtRQUNsRCxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLHNFQUFzRTtRQUN0RSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN6QztRQUNELEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7WUF6Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0Qix1eENBQTRCO2FBQzdCOzs7WUFaQyxVQUFVO1lBRlYsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYWNEaWFsb2dDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIERpYWxvZyBLb21wb25lbnRlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2cuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNEaWFsb2dDb21wb25lbnRcclxuICBleHRlbmRzIFNhY0RpYWxvZ0NvbW1vblxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcclxue1xyXG4gIC8qKlxyXG4gICAqIFJlZmVyZW56IGF1ZiBET00gRWxlbWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZWxlbWVudDogYW55O1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBlbCBET00gRWxlbWVudCBSZWZlcmVuelxyXG4gICAqIEBwYXJhbSBjZFJlZiBDaGFuZ2UgRGV0ZWN0aW9uIFNlcnZpY2VcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihjZFJlZik7XHJcblxyXG4gICAgdGhpcy5lbGVtZW50ID0gZWwubmF0aXZlRWxlbWVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IHdlbm4gS29tcG9uZW50ZSBpbml0aWFsaXNpZXJ0IHdpcmRcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIC8vIEVsZW1lbnQgYW4gQm9keSBmw7xyIGtvcnJla3RlcyBTdHlsaW5nIHVudGVyIEJvb3RzdHJhcCAzIHZlcnNjaGllYmVuXHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFdmVudCB3ZW5uIEVsZW1lbnQgZW50ZmVybnQgd2lyZFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5oaWRlKCk7XHJcbiAgICBpZiAoZG9jdW1lbnQuYm9keS5jb250YWlucyh0aGlzLmVsZW1lbnQpKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50KTtcclxuICAgIH1cclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
5
|
* tslint:disable
|
|
6
6
|
*/
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RpYWxvZy9kaWFsb2cubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL2RpYWxvZy5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCAqIGFzIGkzIGZyb20gJy4vZGlhbG9nJztcbmV4cG9ydCBjb25zdCBTQUNCb290c3RyYXA0RGlhbG9nTW9kdWxlTmdGYWN0b3J5OmkwLk5nTW9kdWxlRmFjdG9yeTxpMS5TQUNCb290c3RyYXA0RGlhbG9nTW9kdWxlPiA9IChudWxsIGFzIGFueSk7XG52YXIgX2RlY2wwXzA6aTIuTmdDbGFzcyA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOmkyLk5nQ29tcG9uZW50T3V0bGV0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI6aTIuTmdGb3JPZjxhbnksYW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zOmkyLk5nSWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80OmkyLk5nVGVtcGxhdGVPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTppMi5OZ1N0eWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY6aTIuTmdTd2l0Y2ggPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNzppMi5OZ1N3aXRjaENhc2UgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODppMi5OZ1N3aXRjaERlZmF1bHQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTppMi5OZ1BsdXJhbCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMDppMi5OZ1BsdXJhbENhc2UgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTE6aTMuU2FjRGlhbG9nQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmkyLkFzeW5jUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMzppMi5VcHBlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE0OmkyLkxvd2VyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU6aTIuSnNvblBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY6aTIuU2xpY2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE3OmkyLkRlY2ltYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE4OmkyLlBlcmNlbnRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE5OmkyLlRpdGxlQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjA6aTIuQ3VycmVuY3lQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIxOmkyLkRhdGVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIyOmkyLkkxOG5QbHVyYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIzOmkyLkkxOG5TZWxlY3RQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI0OmkyLktleVZhbHVlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNTppMi5Db21tb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjY6aTAuVGVtcGxhdGVSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNzppMC5FbGVtZW50UmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbmZ1bmN0aW9uIF9WaWV3X1NhY0RpYWxvZ0NvbXBvbmVudF9Ib3N0XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBwZF8wOmFueSA9ICgoPGFueT5fZGVjbDBfMTEub25DbGljayhfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTphbnkgPSAoKDxhbnk+
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RpYWxvZy9kaWFsb2cubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL2RpYWxvZy5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCAqIGFzIGkzIGZyb20gJy4vZGlhbG9nJztcbmV4cG9ydCBjb25zdCBTQUNCb290c3RyYXA0RGlhbG9nTW9kdWxlTmdGYWN0b3J5OmkwLk5nTW9kdWxlRmFjdG9yeTxpMS5TQUNCb290c3RyYXA0RGlhbG9nTW9kdWxlPiA9IChudWxsIGFzIGFueSk7XG52YXIgX2RlY2wwXzA6aTIuTmdDbGFzcyA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOmkyLk5nQ29tcG9uZW50T3V0bGV0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI6aTIuTmdGb3JPZjxhbnksYW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zOmkyLk5nSWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80OmkyLk5nVGVtcGxhdGVPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTppMi5OZ1N0eWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY6aTIuTmdTd2l0Y2ggPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNzppMi5OZ1N3aXRjaENhc2UgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODppMi5OZ1N3aXRjaERlZmF1bHQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTppMi5OZ1BsdXJhbCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMDppMi5OZ1BsdXJhbENhc2UgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTE6aTMuU2FjRGlhbG9nQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmkyLkFzeW5jUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMzppMi5VcHBlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE0OmkyLkxvd2VyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU6aTIuSnNvblBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY6aTIuU2xpY2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE3OmkyLkRlY2ltYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE4OmkyLlBlcmNlbnRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE5OmkyLlRpdGxlQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjA6aTIuQ3VycmVuY3lQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIxOmkyLkRhdGVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIyOmkyLkkxOG5QbHVyYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIzOmkyLkkxOG5TZWxlY3RQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI0OmkyLktleVZhbHVlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNTppMi5Db21tb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjY6aTAuVGVtcGxhdGVSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNzppMC5FbGVtZW50UmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbmZ1bmN0aW9uIF9WaWV3X1NhY0RpYWxvZ0NvbXBvbmVudF9Ib3N0XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBwZF8wOmFueSA9ICgoPGFueT5fZGVjbDBfMTEub25DbGljayhfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTphbnkgPSAoKDxhbnk+X2RlY2wwXzExLm9uS2V5ZG93bkhhbmRsZXIoX2FueSkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNEaWFsb2dDb21wb25lbnRfMV8yKCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzExLl9zaG93ICYmIF9kZWNsMF8xMS5jbG9zZWJ1dHRvbikpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IHBkXzA6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5oaWRlKCkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RpYWxvZ0NvbXBvbmVudF8xXzEoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8xMS5fc2hvdykge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMTEuX3NpemUgPT09ICdleHRyYWxhcmdlJyk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoX2RlY2wwXzExLl9zaXplID09PSAnbGFyZ2UnKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMTEuX3NpemUgPT09ICdzbWFsbCcpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzExLnRpdGxlO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzExLmNsb3NlYnV0dG9uO1xuICAgIGN1cnJWYWxfNDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGlhbG9nQ29tcG9uZW50XzFfMygpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8xMS5fc2hvdyAmJiBfYW55KSkgeyB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpOyB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEaWFsb2dDb21wb25lbnRfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTEuX3Nob3c7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMTEuX3Nob3cgJiYgX2RlY2wwXzExLmJhY2tkcm9wKTtcbiAgY3VyclZhbF8xO1xufVxuIl19
|