@eqproject/eqp-dynamic-module 2.3.20 → 2.3.21
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/esm2020/lib/components/exported/eqp-dynamic-module/eqp-dynamic-module.component.mjs +4 -4
- package/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +4 -4
- package/esm2020/lib/components/private/add-form-field/add-form-field.component.mjs +4 -4
- package/esm2020/lib/components/private/add-formula-field/add-formula-field.component.mjs +7 -7
- package/esm2020/lib/components/private/dynamic-module-field/dynamic-module-field.component.mjs +4 -4
- package/esm2020/lib/components/private/dynamic-module-field-fix/dynamic-module-field.component.mjs +4 -4
- package/esm2020/lib/components/private/field-templates/attachment-field-template/attachment-field-template.component.mjs +4 -4
- package/esm2020/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.mjs +4 -4
- package/esm2020/lib/components/private/field-templates/date-field-template/date-field-template.component.mjs +4 -4
- package/esm2020/lib/components/private/field-templates/image-field-template/image-field-template.component.mjs +4 -4
- package/esm2020/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +4 -4
- package/esm2020/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.mjs +4 -4
- package/esm2020/lib/components/private/field-templates/text-field-template/text-field-template.component.mjs +4 -4
- package/esm2020/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.mjs +4 -4
- package/esm2020/lib/components/private/form-records/add-form-record/add-form-record.component.mjs +4 -4
- package/esm2020/lib/components/private/form-records/list-form-record/list-form-record.component.mjs +4 -4
- package/esm2020/lib/components/private/form-records/list-view-form-record/list-view-form-record.component.mjs +4 -4
- package/esm2020/lib/components/private/form-records/list-view-form-record/single-record/single-record.component.mjs +4 -4
- package/esm2020/lib/components/private/form-records/repair-form-fields/repair-form-fields.component.mjs +4 -4
- package/esm2020/lib/components/private/form-records/view-form-record/view-form-record.component.mjs +4 -4
- package/esm2020/lib/components/private/form-statistics/dynamic-module-filter-fix/dynamic-module-filter-fix.component.mjs +4 -4
- package/esm2020/lib/components/private/form-statistics/filter-form-statistic/filter-form-statistic.component.mjs +4 -4
- package/esm2020/lib/components/private/form-statistics/filter-templates/attachment-filter-template/attachment-filter-template.component.mjs +4 -4
- package/esm2020/lib/components/private/form-statistics/filter-templates/boolean-filter-template/boolean-filter-template.component.mjs +4 -4
- package/esm2020/lib/components/private/form-statistics/filter-templates/date-filter-template/date-filter-template.component.mjs +4 -4
- package/esm2020/lib/components/private/form-statistics/filter-templates/image-filter-template/image-filter-template.component.mjs +4 -4
- package/esm2020/lib/components/private/form-statistics/filter-templates/list-form-record-filter-template/list-form-record-filter-template.component.mjs +4 -4
- package/esm2020/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.mjs +36 -4
- package/esm2020/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.mjs +4 -4
- package/esm2020/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.mjs +4 -4
- package/esm2020/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.mjs +4 -4
- package/esm2020/lib/components/private/graphs/graph/graph.component.mjs +4 -4
- package/esm2020/lib/components/private/graphs/graphs.component.mjs +4 -4
- package/esm2020/lib/components/private/spinner/spinner.component.mjs +4 -4
- package/esm2020/lib/eqp-dynamic-module.module.mjs +12 -8
- package/esm2020/lib/models/dynamicModuleListFormRecordActionsDefault.mjs +1 -1
- package/esm2020/lib/modules/material.module.mjs +5 -5
- package/esm2020/lib/services/eqp-dynamic-module-dialog.service.mjs +4 -4
- package/esm2020/lib/services/spinner.service.mjs +4 -4
- package/esm2020/lib/services/utilityHelper.services.mjs +4 -4
- package/esm2020/lib/services/voice-recognition.service.mjs +4 -4
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/eqproject-eqp-dynamic-module.mjs +165 -129
- package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +1 -1
- package/fesm2020/eqproject-eqp-dynamic-module.mjs +165 -129
- package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +1 -1
- package/lib/components/private/form-statistics/filter-templates/list-value-filter-template/list-value-filter-template.component.d.ts +2 -0
- package/lib/eqp-dynamic-module.module.d.ts +1 -1
- package/package.json +6 -4
- package/public-api.d.ts +1 -0
|
@@ -181,9 +181,9 @@ export class AddFormulaComponent {
|
|
|
181
181
|
event.preventDefault();
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
-
AddFormulaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
185
|
-
AddFormulaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: AddFormulaComponent, selector: "eqp-dynamic-module-add-formula-component", viewQueries: [{ propertyName: "formulaTextArea", first: true, predicate: ["formula"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-9\">\r\n <div class=\"row\">\r\n <div class=\"col-12 pt-2\">\r\n <div class=\"p-1\">\r\n <textarea\r\n name=\"formula\"\r\n #formula\r\n type=\"textarea\"\r\n id=\"formula\"\r\n rows=\"10\"\r\n style=\"width: 100%\"\r\n class=\"droptarget\"\r\n (click)=\"lostFocus(formula)\"\r\n (keyup)=\"lostFocus(formula)\"\r\n (blur)=\"lostFocus(formula)\"\r\n [(ngModel)]=\"stringaFormula\"\r\n ></textarea>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"p-1 form-group\">\r\n <form method=\"POST\" class=\"alert alert-secondary\">\r\n <div class=\"w-100\">\r\n <div class=\"row pt-2\">\r\n <div class=\"col\"></div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addListStringrReader()\"\r\n >\r\n Leggi Elenco Txt\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addListNumberReader()\"\r\n >\r\n Leggi Elenco Num\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addArrayList()\"\r\n >\r\n ArrayList\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"\r\n addNumber(\r\n 'if( Condizione ) { se vera } else { se falsa }'\r\n )\r\n \"\r\n >\r\n IF\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addNumber('/100')\"\r\n >\r\n %\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-danger\"\r\n (click)=\"clear()\"\r\n >\r\n C\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-xl btn-info\"\r\n (click)=\"addNumber('/')\"\r\n >\r\n ÷\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row pt-2\">\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.pow( valore ,2)')\"\r\n >\r\n x<sup>2</sup>\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.pow( valore ,3)')\"\r\n >\r\n x<sup>3</sup>\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.pow( valore , potenza )')\"\r\n >\r\n x<sup>y</sup>\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addNumber(' * 3.14 ')\"\r\n >\r\n ℼ\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('7')\"\r\n >\r\n 7\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('8')\"\r\n >\r\n 8\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('9')\"\r\n >\r\n 9\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-xl btn-info\"\r\n (click)=\"addNumber('*')\"\r\n >\r\n ×\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row pt-2\">\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.sqrt( valore )')\"\r\n >\r\n <sup>2</sup>√x\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.pow( radice , 1/ valore )')\"\r\n >\r\n <sup>y</sup>√x\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.log( valore )')\"\r\n >\r\n ln\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.log10( valore )')\"\r\n >\r\n log\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('4')\"\r\n >\r\n 4\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('5')\"\r\n >\r\n 5\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('6')\"\r\n >\r\n 6\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-xl btn-info\"\r\n (click)=\"addNumber('-')\"\r\n >\r\n −\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row pt-2\">\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.sin( valore )')\"\r\n >\r\n sin\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.cos( valore )')\"\r\n >\r\n cos\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.tan( valore )')\"\r\n >\r\n tan\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addNumber('* 2.718281828459045')\"\r\n >\r\n e\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('1')\"\r\n >\r\n 1\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('2')\"\r\n >\r\n 2\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('3')\"\r\n >\r\n 3\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-xl btn-info\"\r\n (click)=\"addNumber('+')\"\r\n >\r\n +\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row pt-2\">\r\n <div class=\"col d-lt-flex\"></div>\r\n <div class=\"col\"></div>\r\n <div class=\"col\"></div>\r\n <div class=\"col\"></div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('0')\"\r\n >\r\n 0\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('.')\"\r\n >\r\n .\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-primary\"\r\n (click)=\"back()\"\r\n >\r\n Annulla\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-primary\"\r\n (click)=\"save()\"\r\n >\r\n Salva\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-3 p-2 overflow-auto\" style=\"max-height: 80vh;\">\r\n <div\r\n [hidden]=\"fieldNull\"\r\n cdkDropList\r\n cdkDropListOrientation=\"vertical\"\r\n class=\"example-list\"\r\n >\r\n <div\r\n class=\"example-box\"\r\n draggable=\"true\"\r\n (drag)=\"drag_handler($event)\"\r\n (dragend)=\"dragend_handler($event)\"\r\n (dragenter)=\"dragenter_handler($event)\"\r\n (dragleave)=\"dragleave_handler($event)\"\r\n (dragover)=\"dragover_handler($event)\"\r\n (dragstart)=\"dragstart_handler($event)\"\r\n (drop)=\"drop_handler($event)\"\r\n [attr.data-drag-data]=\"field.Label\"\r\n *ngFor=\"let field of Fields\"\r\n cdkDrag\r\n >\r\n {{ field.Label }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".col,.col-2,.col-12{padding-left:5px;padding-right:5px}.btn-xl{font-size:1.5rem;line-height:.9}.btn-sm{border-radius:0}@media (min-width: 420px){.d-lt-none{display:none!important}.d-lt-inline{display:inline!important}.d-lt-inline-block{display:inline-block!important}.d-lt-block{display:block!important}.d-lt-table{display:table!important}.d-lt-table-row{display:table-row!important}.d-lt-table-cell{display:table-cell!important}.d-lt-flex{display:flex!important}.d-lt-inline-flex{display:inline-flex!important}.mycol-2{flex:0 0 20%;max-width:20%}}.preview{padding:20px 10px;border-right:solid 1px #ccc;color:#ff0000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;text-align:center;cursor:move;background-color:#0ff;font-size:14px;flex-grow:1;flex-basis:0}.example-box{padding:20px 10px;border-right:solid 1px #ccc;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;text-align:center;cursor:move;background:white;font-size:14px;flex-grow:1;flex-basis:0}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list{min-width:100%;max-width:100%;border:solid 1px #ccc;min-height:60px;background:white;border-radius:4px;overflow:hidden}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-custom-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder{opacity:0}.droptarget{float:left;margin:15px 100px 15px 15px;padding:10px;border:1px solid #aaaaaa}.blink{animation:blink-animation .4s steps(5,start) infinite;-webkit-animation:blink-animation .4s steps(5,start) infinite}@keyframes blink-animation{to{visibility:hidden}}.categories-item-drag{color:red!important;text-align:center;position:relative;line-height:2rem;padding:-.5rem}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
186
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
184
|
+
AddFormulaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AddFormulaComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
185
|
+
AddFormulaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AddFormulaComponent, selector: "eqp-dynamic-module-add-formula-component", viewQueries: [{ propertyName: "formulaTextArea", first: true, predicate: ["formula"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-9\">\r\n <div class=\"row\">\r\n <div class=\"col-12 pt-2\">\r\n <div class=\"p-1\">\r\n <textarea\r\n name=\"formula\"\r\n #formula\r\n type=\"textarea\"\r\n id=\"formula\"\r\n rows=\"10\"\r\n style=\"width: 100%\"\r\n class=\"droptarget\"\r\n (click)=\"lostFocus(formula)\"\r\n (keyup)=\"lostFocus(formula)\"\r\n (blur)=\"lostFocus(formula)\"\r\n [(ngModel)]=\"stringaFormula\"\r\n ></textarea>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"p-1 form-group\">\r\n <form method=\"POST\" class=\"alert alert-secondary\">\r\n <div class=\"w-100\">\r\n <div class=\"row pt-2\">\r\n <div class=\"col\"></div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addListStringrReader()\"\r\n >\r\n Leggi Elenco Txt\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addListNumberReader()\"\r\n >\r\n Leggi Elenco Num\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addArrayList()\"\r\n >\r\n ArrayList\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"\r\n addNumber(\r\n 'if( Condizione ) { se vera } else { se falsa }'\r\n )\r\n \"\r\n >\r\n IF\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addNumber('/100')\"\r\n >\r\n %\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-danger\"\r\n (click)=\"clear()\"\r\n >\r\n C\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-xl btn-info\"\r\n (click)=\"addNumber('/')\"\r\n >\r\n ÷\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row pt-2\">\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.pow( valore ,2)')\"\r\n >\r\n x<sup>2</sup>\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.pow( valore ,3)')\"\r\n >\r\n x<sup>3</sup>\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.pow( valore , potenza )')\"\r\n >\r\n x<sup>y</sup>\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addNumber(' * 3.14 ')\"\r\n >\r\n ℼ\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('7')\"\r\n >\r\n 7\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('8')\"\r\n >\r\n 8\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('9')\"\r\n >\r\n 9\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-xl btn-info\"\r\n (click)=\"addNumber('*')\"\r\n >\r\n ×\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row pt-2\">\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.sqrt( valore )')\"\r\n >\r\n <sup>2</sup>√x\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.pow( radice , 1/ valore )')\"\r\n >\r\n <sup>y</sup>√x\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.log( valore )')\"\r\n >\r\n ln\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.log10( valore )')\"\r\n >\r\n log\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('4')\"\r\n >\r\n 4\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('5')\"\r\n >\r\n 5\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('6')\"\r\n >\r\n 6\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-xl btn-info\"\r\n (click)=\"addNumber('-')\"\r\n >\r\n −\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row pt-2\">\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.sin( valore )')\"\r\n >\r\n sin\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.cos( valore )')\"\r\n >\r\n cos\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.tan( valore )')\"\r\n >\r\n tan\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addNumber('* 2.718281828459045')\"\r\n >\r\n e\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('1')\"\r\n >\r\n 1\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('2')\"\r\n >\r\n 2\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('3')\"\r\n >\r\n 3\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-xl btn-info\"\r\n (click)=\"addNumber('+')\"\r\n >\r\n +\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row pt-2\">\r\n <div class=\"col d-lt-flex\"></div>\r\n <div class=\"col\"></div>\r\n <div class=\"col\"></div>\r\n <div class=\"col\"></div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('0')\"\r\n >\r\n 0\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('.')\"\r\n >\r\n .\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-primary\"\r\n (click)=\"back()\"\r\n >\r\n Annulla\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-primary\"\r\n (click)=\"save()\"\r\n >\r\n Salva\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-3 p-2 overflow-auto\" style=\"max-height: 80vh;\">\r\n <div\r\n [hidden]=\"fieldNull\"\r\n cdkDropList\r\n cdkDropListOrientation=\"vertical\"\r\n class=\"example-list\"\r\n >\r\n <div\r\n class=\"example-box\"\r\n draggable=\"true\"\r\n (drag)=\"drag_handler($event)\"\r\n (dragend)=\"dragend_handler($event)\"\r\n (dragenter)=\"dragenter_handler($event)\"\r\n (dragleave)=\"dragleave_handler($event)\"\r\n (dragover)=\"dragover_handler($event)\"\r\n (dragstart)=\"dragstart_handler($event)\"\r\n (drop)=\"drop_handler($event)\"\r\n [attr.data-drag-data]=\"field.Label\"\r\n *ngFor=\"let field of Fields\"\r\n cdkDrag\r\n >\r\n {{ field.Label }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".col,.col-2,.col-12{padding-left:5px;padding-right:5px}.btn-xl{font-size:1.5rem;line-height:.9}.btn-sm{border-radius:0}@media (min-width: 420px){.d-lt-none{display:none!important}.d-lt-inline{display:inline!important}.d-lt-inline-block{display:inline-block!important}.d-lt-block{display:block!important}.d-lt-table{display:table!important}.d-lt-table-row{display:table-row!important}.d-lt-table-cell{display:table-cell!important}.d-lt-flex{display:flex!important}.d-lt-inline-flex{display:inline-flex!important}.mycol-2{flex:0 0 20%;max-width:20%}}.preview{padding:20px 10px;border-right:solid 1px #ccc;color:#ff0000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;text-align:center;cursor:move;background-color:#0ff;font-size:14px;flex-grow:1;flex-basis:0}.example-box{padding:20px 10px;border-right:solid 1px #ccc;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;text-align:center;cursor:move;background:white;font-size:14px;flex-grow:1;flex-basis:0}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list{min-width:100%;max-width:100%;border:solid 1px #ccc;min-height:60px;background:white;border-radius:4px;overflow:hidden}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-custom-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder{opacity:0}.droptarget{float:left;margin:15px 100px 15px 15px;padding:10px;border:1px solid #aaaaaa}.blink{animation:blink-animation .4s steps(5,start) infinite;-webkit-animation:blink-animation .4s steps(5,start) infinite}@keyframes blink-animation{to{visibility:hidden}}.categories-item-drag{color:red!important;text-align:center;position:relative;line-height:2rem;padding:-.5rem}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
186
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AddFormulaComponent, decorators: [{
|
|
187
187
|
type: Component,
|
|
188
188
|
args: [{ selector: 'eqp-dynamic-module-add-formula-component', template: "<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-9\">\r\n <div class=\"row\">\r\n <div class=\"col-12 pt-2\">\r\n <div class=\"p-1\">\r\n <textarea\r\n name=\"formula\"\r\n #formula\r\n type=\"textarea\"\r\n id=\"formula\"\r\n rows=\"10\"\r\n style=\"width: 100%\"\r\n class=\"droptarget\"\r\n (click)=\"lostFocus(formula)\"\r\n (keyup)=\"lostFocus(formula)\"\r\n (blur)=\"lostFocus(formula)\"\r\n [(ngModel)]=\"stringaFormula\"\r\n ></textarea>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"p-1 form-group\">\r\n <form method=\"POST\" class=\"alert alert-secondary\">\r\n <div class=\"w-100\">\r\n <div class=\"row pt-2\">\r\n <div class=\"col\"></div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addListStringrReader()\"\r\n >\r\n Leggi Elenco Txt\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addListNumberReader()\"\r\n >\r\n Leggi Elenco Num\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addArrayList()\"\r\n >\r\n ArrayList\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"\r\n addNumber(\r\n 'if( Condizione ) { se vera } else { se falsa }'\r\n )\r\n \"\r\n >\r\n IF\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addNumber('/100')\"\r\n >\r\n %\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-danger\"\r\n (click)=\"clear()\"\r\n >\r\n C\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-xl btn-info\"\r\n (click)=\"addNumber('/')\"\r\n >\r\n ÷\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row pt-2\">\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.pow( valore ,2)')\"\r\n >\r\n x<sup>2</sup>\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.pow( valore ,3)')\"\r\n >\r\n x<sup>3</sup>\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.pow( valore , potenza )')\"\r\n >\r\n x<sup>y</sup>\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addNumber(' * 3.14 ')\"\r\n >\r\n ℼ\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('7')\"\r\n >\r\n 7\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('8')\"\r\n >\r\n 8\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('9')\"\r\n >\r\n 9\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-xl btn-info\"\r\n (click)=\"addNumber('*')\"\r\n >\r\n ×\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row pt-2\">\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.sqrt( valore )')\"\r\n >\r\n <sup>2</sup>√x\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.pow( radice , 1/ valore )')\"\r\n >\r\n <sup>y</sup>√x\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.log( valore )')\"\r\n >\r\n ln\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.log10( valore )')\"\r\n >\r\n log\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('4')\"\r\n >\r\n 4\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('5')\"\r\n >\r\n 5\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('6')\"\r\n >\r\n 6\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-xl btn-info\"\r\n (click)=\"addNumber('-')\"\r\n >\r\n −\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row pt-2\">\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.sin( valore )')\"\r\n >\r\n sin\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.cos( valore )')\"\r\n >\r\n cos\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addSymbol('Math.tan( valore )')\"\r\n >\r\n tan\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-secondary\"\r\n (click)=\"addNumber('* 2.718281828459045')\"\r\n >\r\n e\r\n </button>\r\n </div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('1')\"\r\n >\r\n 1\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('2')\"\r\n >\r\n 2\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('3')\"\r\n >\r\n 3\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-xl btn-info\"\r\n (click)=\"addNumber('+')\"\r\n >\r\n +\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"row pt-2\">\r\n <div class=\"col d-lt-flex\"></div>\r\n <div class=\"col\"></div>\r\n <div class=\"col\"></div>\r\n <div class=\"col\"></div>\r\n\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('0')\"\r\n >\r\n 0\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-success\"\r\n (click)=\"addNumber('.')\"\r\n >\r\n .\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-primary\"\r\n (click)=\"back()\"\r\n >\r\n Annulla\r\n </button>\r\n </div>\r\n <div class=\"col d-lt-flex\">\r\n <button\r\n class=\"form-control btn btn-sm btn-primary\"\r\n (click)=\"save()\"\r\n >\r\n Salva\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-3 p-2 overflow-auto\" style=\"max-height: 80vh;\">\r\n <div\r\n [hidden]=\"fieldNull\"\r\n cdkDropList\r\n cdkDropListOrientation=\"vertical\"\r\n class=\"example-list\"\r\n >\r\n <div\r\n class=\"example-box\"\r\n draggable=\"true\"\r\n (drag)=\"drag_handler($event)\"\r\n (dragend)=\"dragend_handler($event)\"\r\n (dragenter)=\"dragenter_handler($event)\"\r\n (dragleave)=\"dragleave_handler($event)\"\r\n (dragover)=\"dragover_handler($event)\"\r\n (dragstart)=\"dragstart_handler($event)\"\r\n (drop)=\"drop_handler($event)\"\r\n [attr.data-drag-data]=\"field.Label\"\r\n *ngFor=\"let field of Fields\"\r\n cdkDrag\r\n >\r\n {{ field.Label }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".col,.col-2,.col-12{padding-left:5px;padding-right:5px}.btn-xl{font-size:1.5rem;line-height:.9}.btn-sm{border-radius:0}@media (min-width: 420px){.d-lt-none{display:none!important}.d-lt-inline{display:inline!important}.d-lt-inline-block{display:inline-block!important}.d-lt-block{display:block!important}.d-lt-table{display:table!important}.d-lt-table-row{display:table-row!important}.d-lt-table-cell{display:table-cell!important}.d-lt-flex{display:flex!important}.d-lt-inline-flex{display:inline-flex!important}.mycol-2{flex:0 0 20%;max-width:20%}}.preview{padding:20px 10px;border-right:solid 1px #ccc;color:#ff0000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;text-align:center;cursor:move;background-color:#0ff;font-size:14px;flex-grow:1;flex-basis:0}.example-box{padding:20px 10px;border-right:solid 1px #ccc;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;text-align:center;cursor:move;background:white;font-size:14px;flex-grow:1;flex-basis:0}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list{min-width:100%;max-width:100%;border:solid 1px #ccc;min-height:60px;background:white;border-radius:4px;overflow:hidden}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-custom-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder{opacity:0}.droptarget{float:left;margin:15px 100px 15px 15px;padding:10px;border:1px solid #aaaaaa}.blink{animation:blink-animation .4s steps(5,start) infinite;-webkit-animation:blink-animation .4s steps(5,start) infinite}@keyframes blink-animation{to{visibility:hidden}}.categories-item-drag{color:red!important;text-align:center;position:relative;line-height:2rem;padding:-.5rem}\n"] }]
|
|
189
189
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -196,10 +196,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
196
196
|
export class DialogDataExampleDialog {
|
|
197
197
|
constructor() { }
|
|
198
198
|
}
|
|
199
|
-
DialogDataExampleDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
200
|
-
DialogDataExampleDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
199
|
+
DialogDataExampleDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DialogDataExampleDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
200
|
+
DialogDataExampleDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DialogDataExampleDialog, selector: "dialog-data-example", ngImport: i0, template: "<h1 mat-dialog-title>Errore!</h1>\r\n<div mat-dialog-content>\r\n La funzione inserita contiene parentesi non chiuse! prima di salvare controlla la funzione.\r\n \r\n</div>", dependencies: [{ kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
|
|
201
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DialogDataExampleDialog, decorators: [{
|
|
202
202
|
type: Component,
|
|
203
203
|
args: [{ selector: 'dialog-data-example', template: "<h1 mat-dialog-title>Errore!</h1>\r\n<div mat-dialog-content>\r\n La funzione inserita contiene parentesi non chiuse! prima di salvare controlla la funzione.\r\n \r\n</div>" }]
|
|
204
204
|
}], ctorParameters: function () { return []; } });
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZvcm11bGEtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2FkZC1mb3JtdWxhLWZpZWxkL2FkZC1mb3JtdWxhLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9hZGQtZm9ybXVsYS1maWVsZC9hZGQtZm9ybXVsYS1maWVsZC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9hZGQtZm9ybXVsYS1maWVsZC9kaWFsb2ctZGF0YS1leGFtcGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUE0QixTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7QUFTaEYsTUFBTSxPQUFPLG1CQUFtQjtJQVM5QixZQUE0QyxJQUFTLEVBQzVDLFNBQTRDLEVBQzVDLE1BQWlCO1FBRmtCLFNBQUksR0FBSixJQUFJLENBQUs7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBbUM7UUFDNUMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVIxQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLFlBQU8sR0FBRyxJ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QUUsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBVTtRQUM1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUNqRCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBVTtRQUNoQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO1FBQ3JELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDOztnSEEvTFUsbUJBQW1CLGtCQVNWLGVBQWU7b0dBVHhCLG1CQUFtQixpTkNiaEMsMDliQThXQTsyRkRqV2EsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLDBDQUEwQzs7MEJBY3ZDLE1BQU07MkJBQUMsZUFBZTsrRkFQTSxlQUFlO3NCQUF2RCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7O0FBcU16QyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLGdCQUFnQixDQUFDOztvSEFETix1QkFBdUI7d0dBQXZCLHVCQUF1QiwyREVwTnBDLGdMQUlNOzJGRmdOTyx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnXHJcbmltcG9ydCB7IEZvcm11bGEgfSBmcm9tICcuLi8uLi8uLi9tb2R1bGVzL2Zvcm11bGEubW9kZWwnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBCYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvYmFzZUZpZWxkLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZXFwLWR5bmFtaWMtbW9kdWxlLWFkZC1mb3JtdWxhLWNvbXBvbmVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1mb3JtdWxhLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtZm9ybXVsYS1maWVsZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQWRkRm9ybXVsYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZm9ybXVsYScsIHsgc3RhdGljOiBmYWxzZSB9KSBmb3JtdWxhVGV4dEFyZWE6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD47XHJcbiAgY2FyZXRQb3NpdGlvbjogbnVtYmVyID0gMDtcclxuICBmaWVsZE51bGw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGZvcm11bGEgPSBuZXcgRm9ybXVsYSgnMCcpO1xyXG4gIHN0cmluZ2FGb3JtdWxhOiBzdHJpbmcgPSBcIlwiO1xyXG4gIGNvdW50ZXI6IG51bWJlciA9IDA7XHJcbiAgRmllbGRzOiBBcnJheTxCYXNlRmllbGQ+ID0gW107XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QWRkRm9ybXVsYUNvbXBvbmVudD4sXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5GaWVsZHMgPSB0aGlzLmRhdGEuZmllbGRzO1xyXG4gICAgaWYgKHRoaXMuRmllbGRzICE9IHVuZGVmaW5lZClcclxuICAgICAgaWYgKHRoaXMuRmllbGRzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5maWVsZE51bGwgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZmllbGROdWxsID0gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kYXRhLmZvcm11bGEgIT0gdW5kZWZpbmVkICYmIHRoaXMuZGF0YS5mb3JtdWxhICE9IG51bGwgJiYgdGhpcy5kYXRhLmZvcm11bGEgIT0gXCJcIiAmJiB0aGlzLmRhdGEuZm9ybXVsYSAhPSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgIHRoaXMuc3RyaW5nYUZvcm11bGEgPSB0aGlzLmRhdGEuZm9ybXVsYTtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJmb3JtdWxhXCIsIHRoaXMuZGF0YS5mb3JtdWxhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiZm9ybXVsYVwiLCBcIlwiKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyKCk6IGFueSB7XHJcbiAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gXCJcIjtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5jYXJldFBvc2l0aW9uID0gdGhpcy5mb3JtdWxhVGV4dEFyZWEubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydDtcclxuICB9XHJcbiAgbG9zdEZvY3VzKHRleHRBcmVhKSB7XHJcbiAgICB0aGlzLmNhcmV0UG9zaXRpb24gPSB0ZXh0QXJlYS5zZWxlY3Rpb25TdGFydDtcclxuXHJcbiAgfVxyXG4gIGJhY2soKSB7XHJcblxyXG4gICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdmb3JtdWxhJykgIT0gdW5kZWZpbmVkIHx8IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdmb3JtdWxhJykgIT0gbnVsbCB8fCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZm9ybXVsYScpICE9IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBmb3JtdWxhOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZm9ybXVsYScpLnRvU3RyaW5nKCkgfSk7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdmb3JtdWxhJyk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgZm9ybXVsYTogXCIgXCIgfSk7XHJcbiAgfVxyXG4gIGFkZFN5bWJvbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gdGhpcy5zdHJpbmdhRm9ybXVsYS50cmltKClcclxuICAgIGxldCBsYXN0Q2hhciA9IHRoaXMuc3RyaW5nYUZvcm11bGEuY2hhckF0KHRoaXMuc3RyaW5nYUZvcm11bGEubGVuZ3RoIC0gMSk7XHJcbiAgICBpZiAobGFzdENoYXIgPT0gJysnIHx8IGxhc3RDaGFyID09ICctJyB8fCBsYXN0Q2hhciA9PSAnKicgfHwgbGFzdENoYXIgPT0gJy8nKSB7XHJcbiAgICAgIGlmICh0aGlzLmNhcmV0UG9zaXRpb24gIT0gMCkge1xyXG4gICAgICAgIHZhciBzdWJzdHJpbmdhID0gdGhpcy5zdHJpbmdhRm9ybXVsYS5zdWJzdHJpbmcoMCwgdGhpcy5jYXJldFBvc2l0aW9uKTtcclxuICAgICAgICBzdWJzdHJpbmdhID0gc3Vic3RyaW5nYS50cmltKCk7XHJcbiAgICAgICAgc3Vic3RyaW5nYSA9IHN1YnN0cmluZ2EgKyBcIiBcIiArIHZhbHVlICsgdGhpcy5zdHJpbmdhRm9ybXVsYS5zdWJzdHJpbmcodGhpcy5jYXJldFBvc2l0aW9uKTtcclxuICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gc3Vic3RyaW5nYTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gdGhpcy5zdHJpbmdhRm9ybXVsYSArIFwiIFwiICsgdmFsdWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuY2FyZXRQb3NpdGlvbiAhPSAwKSB7XHJcbiAgICAgICAgdmFyIHN1YnN0cmluZ2EgPSB0aGlzLnN0cmluZ2FGb3JtdWxhLnN1YnN0cmluZygwLCB0aGlzLmNhcmV0UG9zaXRpb24pO1xyXG4gICAgICAgIHN1YnN0cmluZ2EgPSBzdWJzdHJpbmdhLnRyaW0oKTtcclxuICAgICAgICBzdWJzdHJpbmdhID0gc3Vic3RyaW5nYSArIFwiICogXCIgKyB2YWx1ZSArIHRoaXMuc3RyaW5nYUZvcm11bGEuc3Vic3RyaW5nKHRoaXMuY2FyZXRQb3NpdGlvbik7XHJcbiAgICAgICAgdGhpcy5zdHJpbmdhRm9ybXVsYSA9IHN1YnN0cmluZ2E7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zdHJpbmdhRm9ybXVsYSA9IHRoaXMuc3RyaW5nYUZvcm11bGEgKyBcIiAqIFwiICsgdmFsdWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRMaXN0TnVtYmVyUmVhZGVyKCkge1xyXG4gICAgdGhpcy5jb3VudGVyKys7XHJcbiAgICBjb25zdCB2YWx1ZSA9IFwibGV0IHZhbHVlXCIgKyB0aGlzLmNvdW50ZXIgKyBcIiA9IDA7IGxldCBlbGVuY29cIiArIHRoaXMuY291bnRlciArIFwiID0gSU5TRVJJU0NJX0lMX1RVT19FTEVOQ087IGlmIChlbGVuY29cIiArIHRoaXMuY291bnRlciArIFwiICE9IG51bGwgJiYgZWxlbmNvXCIgKyB0aGlzLmNvdW50ZXIgKyBcIi5jb25zdHJ1Y3RvciA9PSBBcnJheSl7IGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbmNvXCIgKyB0aGlzLmNvdW50ZXIgKyBcIi5sZW5ndGg7IGkrKykgeyB2YWx1ZVwiICsgdGhpcy5jb3VudGVyICsgXCIgKz0gZWxlbmNvXCIgKyB0aGlzLmNvdW50ZXIgKyBcIltpXTsgfSB9IGVsc2UgeyB2YWx1ZVwiICsgdGhpcy5jb3VudGVyICsgXCIgPSBlbGVuY29cIiArIHRoaXMuY291bnRlciArIFwiIH1cIjtcclxuICAgIHRoaXMuYWRkTnVtYmVyKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGFkZExpc3RTdHJpbmdyUmVhZGVyKCkge1xyXG4gICAgdGhpcy5jb3VudGVyKys7XHJcbiAgICBjb25zdCB2YWx1ZSA9IFwibGV0IHZhbHVlXCIgKyB0aGlzLmNvdW50ZXIgKyBcIiA9IFxcXCJcXFwiOyBsZXQgZWxlbmNvXCIgKyB0aGlzLmNvdW50ZXIgKyBcIiA9IElOU0VSSVNDSV9JTF9UVU9fRUxFTkNPOyBpZiAoZWxlbmNvXCIgKyB0aGlzLmNvdW50ZXIgKyBcIiAhPSBudWxsICYmIGVsZW5jb1wiICsgdGhpcy5jb3VudGVyICsgXCIuY29uc3RydWN0b3IgPT0gQXJyYXkpeyBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW5jb1wiICsgdGhpcy5jb3VudGVyICsgXCIubGVuZ3RoOyBpKyspIHsgdmFsdWVcIiArIHRoaXMuY291bnRlciArIFwiICs9IGVsZW5jb1wiICsgdGhpcy5jb3VudGVyICsgXCJbaV07IH0gfSBlbHNlIHsgdmFsdWVcIiArIHRoaXMuY291bnRlciArIFwiID0gZWxlbmNvXCIgKyB0aGlzLmNvdW50ZXIgKyBcIiB9XCI7XHJcbiAgICB0aGlzLmFkZE51bWJlcih2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBhZGRBcnJheUxpc3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvdW50ZXIrKztcclxuICAgIGNvbnN0IHZhbHVlID0gXCJ2YXIgb3V0cHV0TGlzdFwiICsgdGhpcy5jb3VudGVyICsgXCIgPSB7IFxcXCJrZXlcXFwiIDogdmFsdWUgLCBcXFwia2V5MlxcXCIgOiB2YWx1ZTIgfTsgb3V0cHV0TGlzdFwiICsgdGhpcy5jb3VudGVyICsgXCI7XCI7XHJcbiAgICB0aGlzLmFkZE51bWJlcih2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBhZGROdW1iZXIodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zdHJpbmdhRm9ybXVsYSA9IHRoaXMuc3RyaW5nYUZvcm11bGEudHJpbSgpO1xyXG4gICAgaWYgKFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmlzTnVtZXJpYyh2YWx1ZSkpIHtcclxuICAgICAgaWYgKHRoaXMuY2FyZXRQb3NpdGlvbiAhPSAwKSB7XHJcbiAgICAgICAgbGV0IHN1YnN0cmluZ2EgPSB0aGlzLnN0cmluZ2FGb3JtdWxhLnN1YnN0cmluZygwLCB0aGlzLmNhcmV0UG9zaXRpb24pO1xyXG4gICAgICAgIHN1YnN0cmluZ2EgPSBzdWJzdHJpbmdhLnRyaW0oKTtcclxuICAgICAgICBzdWJzdHJpbmdhID0gc3Vic3RyaW5nYSArIHZhbHVlICsgdGhpcy5zdHJpbmdhRm9ybXVsYS5zdWJzdHJpbmcodGhpcy5jYXJldFBvc2l0aW9uKTtcclxuICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gc3Vic3RyaW5nYTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gdGhpcy5zdHJpbmdhRm9ybXVsYSArIHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2FyZXRQb3NpdGlvbiArPSAxO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGlmICh2YWx1ZSA9PSBcIi5cIikge1xyXG4gICAgICAgIGlmICh0aGlzLmNhcmV0UG9zaXRpb24gIT0gMCkge1xyXG4gICAgICAgICAgbGV0IHN1YnN0cmluZ2EgPSB0aGlzLnN0cmluZ2FGb3JtdWxhLnN1YnN0cmluZygwLCB0aGlzLmNhcmV0UG9zaXRpb24pO1xyXG4gICAgICAgICAgc3Vic3RyaW5nYSA9IHN1YnN0cmluZ2EudHJpbSgpO1xyXG4gICAgICAgICAgc3Vic3RyaW5nYSA9IHN1YnN0cmluZ2EgKyB2YWx1ZSArIHRoaXMuc3RyaW5nYUZvcm11bGEuc3Vic3RyaW5nKHRoaXMuY2FyZXRQb3NpdGlvbik7XHJcbiAgICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gc3Vic3RyaW5nYTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gdGhpcy5zdHJpbmdhRm9ybXVsYSArIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5jYXJldFBvc2l0aW9uICE9IDApIHtcclxuICAgICAgICAgIGxldCBzdWJzdHJpbmdhID0gdGhpcy5zdHJpbmdhRm9ybXVsYS5zdWJzdHJpbmcoMCwgdGhpcy5jYXJldFBvc2l0aW9uKTtcclxuICAgICAgICAgIHN1YnN0cmluZ2EgPSBzdWJzdHJpbmdhLnRyaW0oKTtcclxuICAgICAgICAgIHN1YnN0cmluZ2EgPSBzdWJzdHJpbmdhICsgXCIgXCIgKyB2YWx1ZSArIHRoaXMuc3RyaW5nYUZvcm11bGEuc3Vic3RyaW5nKHRoaXMuY2FyZXRQb3NpdGlvbik7XHJcbiAgICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gc3Vic3RyaW5nYTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gdGhpcy5zdHJpbmdhRm9ybXVsYSArIFwiIFwiICsgdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2FyZXRQb3NpdGlvbiArPSAyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuc3RyaW5nYUZvcm11bGEgPSB0aGlzLnN0cmluZ2FGb3JtdWxhLnRyaW0oKTtcclxuICAgIGlmIChVdGlsaXR5SGVscGVyU2VydmljZS5zdHJpbmdDaGVja1BhcmVudGVzaXModGhpcy5zdHJpbmdhRm9ybXVsYSkpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2Zvcm11bGEnKTtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBmb3JtdWxhOiB0aGlzLnN0cmluZ2FGb3JtdWxhIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nRGF0YUV4YW1wbGVEaWFsb2csIHtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZHJhZ19oYW5kbGVyKGV2ZW50OiBhbnkpIHtcclxuICAgIHZhciBkYXRhID0gZXZlbnQuZGF0YVRyYW5zZmVyLmdldERhdGEoXCJUZXh0XCIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyYWdlbmRfaGFuZGxlcihldmVudDogYW55KSB7XHJcbiAgICBldmVudC50YXJnZXQucHJldmlldy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGV2ZW50LnRhcmdldC5wcmV2aWV3KTtcclxuICAgIHZhciBkYXRhID0gZXZlbnQuZGF0YVRyYW5zZmVyLmdldERhdGEoXCJUZXh0XCIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyYWdlbnRlcl9oYW5kbGVyKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50YXJnZXQuY2xhc3NOYW1lID09IFwiZHJvcHRhcmdldFwiKSB7XHJcbiAgICAgIGV2ZW50LnRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSBcImxpZ2h0Ymx1ZVwiO1xyXG4gICAgICBldmVudC50YXJnZXQuc3R5bGUuYm9yZGVyID0gXCIzcHggZG90dGVkIHJlZFwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyYWdsZWF2ZV9oYW5kbGVyKGV2ZW50OiBhbnkpIHtcclxuICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZCA9IFwid2hpdGVcIjtcclxuICAgIGlmIChldmVudC50YXJnZXQuY2xhc3NOYW1lID09IFwiZHJvcHRhcmdldFwiKSB7XHJcbiAgICAgIGV2ZW50LnRhcmdldC5zdHlsZS5ib3JkZXIgPSBcIlwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyYWdzdGFydF9oYW5kbGVyKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHByZXZpZXcgPSBldmVudC50YXJnZXQuY2xvbmVOb2RlKHRydWUpO1xyXG4gICAgZXZlbnQudGFyZ2V0LnByZXZpZXcgPSBwcmV2aWV3O1xyXG4gICAgcHJldmlldy5jbGFzc05hbWUgPSAncHJldmlldyc7XHJcbiAgICBwcmV2aWV3LnN0eWxlLmNzc1RleHQgPSBgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMDAlOyBsZWZ0OiAtMTAwJTsgd2lkdGg6ICR7ZXZlbnQudGFyZ2V0Lm9mZnNldFdpZHRofXB4OyBgO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwcmV2aWV3KTtcclxuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREcmFnSW1hZ2UocHJldmlldywgMCwgMCk7XHJcbiAgICBldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgndGV4dC9wbGFpbicsIFwicmVjLlwiICsgZXZlbnQudGFyZ2V0LmRhdGFzZXQuZHJhZ0RhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyb3BfaGFuZGxlcihldmVudDogYW55KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdmFyIGRhdGEgPSBldmVudC5kYXRhVHJhbnNmZXIuZ2V0RGF0YShcIlRleHRcIik7XHJcbiAgICBldmVudC5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQgPSBcIndoaXRlXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZHJhZ292ZXJfaGFuZGxlcihldmVudDogYW55KSB7XHJcbiAgICBldmVudC5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQgPSBcImxpZ2h0eWVsbG93XCI7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGlhbG9nLWRhdGEtZXhhbXBsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICdkaWFsb2ctZGF0YS1leGFtcGxlLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nRGF0YUV4YW1wbGVEaWFsb2cge1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC05XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHB0LTJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTFcIj5cclxuICAgICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgICAgbmFtZT1cImZvcm11bGFcIlxyXG4gICAgICAgICAgICAgICNmb3JtdWxhXHJcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRhcmVhXCJcclxuICAgICAgICAgICAgICBpZD1cImZvcm11bGFcIlxyXG4gICAgICAgICAgICAgIHJvd3M9XCIxMFwiXHJcbiAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJkcm9wdGFyZ2V0XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwibG9zdEZvY3VzKGZvcm11bGEpXCJcclxuICAgICAgICAgICAgICAoa2V5dXApPVwibG9zdEZvY3VzKGZvcm11bGEpXCJcclxuICAgICAgICAgICAgICAoYmx1cik9XCJsb3N0Rm9jdXMoZm9ybXVsYSlcIlxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic3RyaW5nYUZvcm11bGFcIlxyXG4gICAgICAgICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTEgZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICA8Zm9ybSBtZXRob2Q9XCJQT1NUXCIgY2xhc3M9XCJhbGVydCBhbGVydC1zZWNvbmRhcnlcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRMaXN0U3RyaW5nclJlYWRlcigpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICBMZWdnaSBFbGVuY28gVHh0XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTGlzdE51bWJlclJlYWRlcigpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICBMZWdnaSBFbGVuY28gTnVtXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkQXJyYXlMaXN0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIEFycmF5TGlzdFxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWx0LWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhZGROdW1iZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lmKCBDb25kaXppb25lICkgeyBzZSB2ZXJhIH0gZWxzZSB7IHNlIGZhbHNhIH0nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgSUZcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROdW1iZXIoJy8xMDAnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgJVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tZGFuZ2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICBDXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXhsIGJ0bi1pbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROdW1iZXIoJy8nKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgJmRpdmlkZTtcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU3ltYm9sKCdNYXRoLnBvdyggdmFsb3JlICwyKScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB4PHN1cD4yPC9zdXA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU3ltYm9sKCdNYXRoLnBvdyggdmFsb3JlICwzKScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB4PHN1cD4zPC9zdXA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU3ltYm9sKCdNYXRoLnBvdyggdmFsb3JlICwgcG90ZW56YSApJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHg8c3VwPnk8L3N1cD5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROdW1iZXIoJyAqIDMuMTQgJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICYjeDIxM0M7XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignNycpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA3XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignOCcpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA4XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignOScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA5XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXhsIGJ0bi1pbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROdW1iZXIoJyonKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgJnRpbWVzO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRTeW1ib2woJ01hdGguc3FydCggdmFsb3JlICknKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHN1cD4yPC9zdXA+JnJhZGljO3hcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRTeW1ib2woJ01hdGgucG93KCByYWRpY2UgLCAxLyB2YWxvcmUgKScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3VwPnk8L3N1cD4mcmFkaWM7eFxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWx0LWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZFN5bWJvbCgnTWF0aC5sb2coIHZhbG9yZSApJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIGxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU3ltYm9sKCdNYXRoLmxvZzEwKCB2YWxvcmUgKScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICBsb2dcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignNCcpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA0XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignNScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA1XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignNicpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA2XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXhsIGJ0bi1pbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROdW1iZXIoJy0nKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgJm1pbnVzO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRTeW1ib2woJ01hdGguc2luKCB2YWxvcmUgKScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICBzaW5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU3ltYm9sKCdNYXRoLmNvcyggdmFsb3JlICknKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgY29zXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWx0LWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZFN5bWJvbCgnTWF0aC50YW4oIHZhbG9yZSApJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHRhblxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROdW1iZXIoJyogMi43MTgyODE4Mjg0NTkwNDUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgZVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc3VjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTnVtYmVyKCcxJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIDFcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc3VjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTnVtYmVyKCcyJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIDJcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc3VjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTnVtYmVyKCczJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIDNcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4teGwgYnRuLWluZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignKycpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAmIzQzO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignMCcpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAwXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignLicpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImJhY2soKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgQW5udWxsYVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWx0LWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBidG4gYnRuLXNtIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzYXZlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIFNhbHZhXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0zIHAtMiBvdmVyZmxvdy1hdXRvXCIgc3R5bGU9XCJtYXgtaGVpZ2h0OiA4MHZoO1wiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgW2hpZGRlbl09XCJmaWVsZE51bGxcIlxyXG4gICAgICAgIGNka0Ryb3BMaXN0XHJcbiAgICAgICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcclxuICAgICAgICBjbGFzcz1cImV4YW1wbGUtbGlzdFwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImV4YW1wbGUtYm94XCJcclxuICAgICAgICAgIGRyYWdnYWJsZT1cInRydWVcIlxyXG4gICAgICAgICAgKGRyYWcpPVwiZHJhZ19oYW5kbGVyKCRldmVudClcIlxyXG4gICAgICAgICAgKGRyYWdlbmQpPVwiZHJhZ2VuZF9oYW5kbGVyKCRldmVudClcIlxyXG4gICAgICAgICAgKGRyYWdlbnRlcik9XCJkcmFnZW50ZXJfaGFuZGxlcigkZXZlbnQpXCJcclxuICAgICAgICAgIChkcmFnbGVhdmUpPVwiZHJhZ2xlYXZlX2hhbmRsZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZHJhZ292ZXIpPVwiZHJhZ292ZXJfaGFuZGxlcigkZXZlbnQpXCJcclxuICAgICAgICAgIChkcmFnc3RhcnQpPVwiZHJhZ3N0YXJ0X2hhbmRsZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZHJvcCk9XCJkcm9wX2hhbmRsZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbYXR0ci5kYXRhLWRyYWctZGF0YV09XCJmaWVsZC5MYWJlbFwiXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgRmllbGRzXCJcclxuICAgICAgICAgIGNka0RyYWdcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBmaWVsZC5MYWJlbCB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+RXJyb3JlITwvaDE+XHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIExhIGZ1bnppb25lIGluc2VyaXRhIGNvbnRpZW5lIHBhcmVudGVzaSBub24gY2hpdXNlISBwcmltYSBkaSBzYWx2YXJlIGNvbnRyb2xsYSBsYSBmdW56aW9uZS5cclxuICBcclxuPC9kaXY+Il19
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZvcm11bGEtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2FkZC1mb3JtdWxhLWZpZWxkL2FkZC1mb3JtdWxhLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9hZGQtZm9ybXVsYS1maWVsZC9hZGQtZm9ybXVsYS1maWVsZC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9hZGQtZm9ybXVsYS1maWVsZC9kaWFsb2ctZGF0YS1leGFtcGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUE0QixTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7QUFTaEYsTUFBTSxPQUFPLG1CQUFtQjtJQVM5QixZQUE0QyxJQUFTLEVBQzVDLFNBQTRDLEVBQzVDLE1BQWlCO1FBRmtCLFNBQUksR0FBSixJQUFJLENBQUs7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBbUM7UUFDNUMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVIxQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLFlBQU8sR0FBRyxJ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QUUsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBVTtRQUM1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUNqRCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBVTtRQUNoQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO1FBQ3JELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDOztpSEEvTFUsbUJBQW1CLGtCQVNWLGVBQWU7cUdBVHhCLG1CQUFtQixpTkNiaEMsMDliQThXQTs0RkRqV2EsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLDBDQUEwQzs7MEJBY3ZDLE1BQU07MkJBQUMsZUFBZTsrRkFQTSxlQUFlO3NCQUF2RCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7O0FBcU16QyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLGdCQUFnQixDQUFDOztxSEFETix1QkFBdUI7eUdBQXZCLHVCQUF1QiwyREVwTnBDLGdMQUlNOzRGRmdOTyx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnXHJcbmltcG9ydCB7IEZvcm11bGEgfSBmcm9tICcuLi8uLi8uLi9tb2R1bGVzL2Zvcm11bGEubW9kZWwnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBCYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvYmFzZUZpZWxkLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZXFwLWR5bmFtaWMtbW9kdWxlLWFkZC1mb3JtdWxhLWNvbXBvbmVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1mb3JtdWxhLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtZm9ybXVsYS1maWVsZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQWRkRm9ybXVsYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZm9ybXVsYScsIHsgc3RhdGljOiBmYWxzZSB9KSBmb3JtdWxhVGV4dEFyZWE6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD47XHJcbiAgY2FyZXRQb3NpdGlvbjogbnVtYmVyID0gMDtcclxuICBmaWVsZE51bGw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGZvcm11bGEgPSBuZXcgRm9ybXVsYSgnMCcpO1xyXG4gIHN0cmluZ2FGb3JtdWxhOiBzdHJpbmcgPSBcIlwiO1xyXG4gIGNvdW50ZXI6IG51bWJlciA9IDA7XHJcbiAgRmllbGRzOiBBcnJheTxCYXNlRmllbGQ+ID0gW107XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QWRkRm9ybXVsYUNvbXBvbmVudD4sXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5GaWVsZHMgPSB0aGlzLmRhdGEuZmllbGRzO1xyXG4gICAgaWYgKHRoaXMuRmllbGRzICE9IHVuZGVmaW5lZClcclxuICAgICAgaWYgKHRoaXMuRmllbGRzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5maWVsZE51bGwgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZmllbGROdWxsID0gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kYXRhLmZvcm11bGEgIT0gdW5kZWZpbmVkICYmIHRoaXMuZGF0YS5mb3JtdWxhICE9IG51bGwgJiYgdGhpcy5kYXRhLmZvcm11bGEgIT0gXCJcIiAmJiB0aGlzLmRhdGEuZm9ybXVsYSAhPSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgIHRoaXMuc3RyaW5nYUZvcm11bGEgPSB0aGlzLmRhdGEuZm9ybXVsYTtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJmb3JtdWxhXCIsIHRoaXMuZGF0YS5mb3JtdWxhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiZm9ybXVsYVwiLCBcIlwiKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyKCk6IGFueSB7XHJcbiAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gXCJcIjtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5jYXJldFBvc2l0aW9uID0gdGhpcy5mb3JtdWxhVGV4dEFyZWEubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydDtcclxuICB9XHJcbiAgbG9zdEZvY3VzKHRleHRBcmVhKSB7XHJcbiAgICB0aGlzLmNhcmV0UG9zaXRpb24gPSB0ZXh0QXJlYS5zZWxlY3Rpb25TdGFydDtcclxuXHJcbiAgfVxyXG4gIGJhY2soKSB7XHJcblxyXG4gICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdmb3JtdWxhJykgIT0gdW5kZWZpbmVkIHx8IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdmb3JtdWxhJykgIT0gbnVsbCB8fCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZm9ybXVsYScpICE9IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBmb3JtdWxhOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZm9ybXVsYScpLnRvU3RyaW5nKCkgfSk7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdmb3JtdWxhJyk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgZm9ybXVsYTogXCIgXCIgfSk7XHJcbiAgfVxyXG4gIGFkZFN5bWJvbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gdGhpcy5zdHJpbmdhRm9ybXVsYS50cmltKClcclxuICAgIGxldCBsYXN0Q2hhciA9IHRoaXMuc3RyaW5nYUZvcm11bGEuY2hhckF0KHRoaXMuc3RyaW5nYUZvcm11bGEubGVuZ3RoIC0gMSk7XHJcbiAgICBpZiAobGFzdENoYXIgPT0gJysnIHx8IGxhc3RDaGFyID09ICctJyB8fCBsYXN0Q2hhciA9PSAnKicgfHwgbGFzdENoYXIgPT0gJy8nKSB7XHJcbiAgICAgIGlmICh0aGlzLmNhcmV0UG9zaXRpb24gIT0gMCkge1xyXG4gICAgICAgIHZhciBzdWJzdHJpbmdhID0gdGhpcy5zdHJpbmdhRm9ybXVsYS5zdWJzdHJpbmcoMCwgdGhpcy5jYXJldFBvc2l0aW9uKTtcclxuICAgICAgICBzdWJzdHJpbmdhID0gc3Vic3RyaW5nYS50cmltKCk7XHJcbiAgICAgICAgc3Vic3RyaW5nYSA9IHN1YnN0cmluZ2EgKyBcIiBcIiArIHZhbHVlICsgdGhpcy5zdHJpbmdhRm9ybXVsYS5zdWJzdHJpbmcodGhpcy5jYXJldFBvc2l0aW9uKTtcclxuICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gc3Vic3RyaW5nYTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gdGhpcy5zdHJpbmdhRm9ybXVsYSArIFwiIFwiICsgdmFsdWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuY2FyZXRQb3NpdGlvbiAhPSAwKSB7XHJcbiAgICAgICAgdmFyIHN1YnN0cmluZ2EgPSB0aGlzLnN0cmluZ2FGb3JtdWxhLnN1YnN0cmluZygwLCB0aGlzLmNhcmV0UG9zaXRpb24pO1xyXG4gICAgICAgIHN1YnN0cmluZ2EgPSBzdWJzdHJpbmdhLnRyaW0oKTtcclxuICAgICAgICBzdWJzdHJpbmdhID0gc3Vic3RyaW5nYSArIFwiICogXCIgKyB2YWx1ZSArIHRoaXMuc3RyaW5nYUZvcm11bGEuc3Vic3RyaW5nKHRoaXMuY2FyZXRQb3NpdGlvbik7XHJcbiAgICAgICAgdGhpcy5zdHJpbmdhRm9ybXVsYSA9IHN1YnN0cmluZ2E7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zdHJpbmdhRm9ybXVsYSA9IHRoaXMuc3RyaW5nYUZvcm11bGEgKyBcIiAqIFwiICsgdmFsdWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRMaXN0TnVtYmVyUmVhZGVyKCkge1xyXG4gICAgdGhpcy5jb3VudGVyKys7XHJcbiAgICBjb25zdCB2YWx1ZSA9IFwibGV0IHZhbHVlXCIgKyB0aGlzLmNvdW50ZXIgKyBcIiA9IDA7IGxldCBlbGVuY29cIiArIHRoaXMuY291bnRlciArIFwiID0gSU5TRVJJU0NJX0lMX1RVT19FTEVOQ087IGlmIChlbGVuY29cIiArIHRoaXMuY291bnRlciArIFwiICE9IG51bGwgJiYgZWxlbmNvXCIgKyB0aGlzLmNvdW50ZXIgKyBcIi5jb25zdHJ1Y3RvciA9PSBBcnJheSl7IGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbmNvXCIgKyB0aGlzLmNvdW50ZXIgKyBcIi5sZW5ndGg7IGkrKykgeyB2YWx1ZVwiICsgdGhpcy5jb3VudGVyICsgXCIgKz0gZWxlbmNvXCIgKyB0aGlzLmNvdW50ZXIgKyBcIltpXTsgfSB9IGVsc2UgeyB2YWx1ZVwiICsgdGhpcy5jb3VudGVyICsgXCIgPSBlbGVuY29cIiArIHRoaXMuY291bnRlciArIFwiIH1cIjtcclxuICAgIHRoaXMuYWRkTnVtYmVyKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGFkZExpc3RTdHJpbmdyUmVhZGVyKCkge1xyXG4gICAgdGhpcy5jb3VudGVyKys7XHJcbiAgICBjb25zdCB2YWx1ZSA9IFwibGV0IHZhbHVlXCIgKyB0aGlzLmNvdW50ZXIgKyBcIiA9IFxcXCJcXFwiOyBsZXQgZWxlbmNvXCIgKyB0aGlzLmNvdW50ZXIgKyBcIiA9IElOU0VSSVNDSV9JTF9UVU9fRUxFTkNPOyBpZiAoZWxlbmNvXCIgKyB0aGlzLmNvdW50ZXIgKyBcIiAhPSBudWxsICYmIGVsZW5jb1wiICsgdGhpcy5jb3VudGVyICsgXCIuY29uc3RydWN0b3IgPT0gQXJyYXkpeyBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW5jb1wiICsgdGhpcy5jb3VudGVyICsgXCIubGVuZ3RoOyBpKyspIHsgdmFsdWVcIiArIHRoaXMuY291bnRlciArIFwiICs9IGVsZW5jb1wiICsgdGhpcy5jb3VudGVyICsgXCJbaV07IH0gfSBlbHNlIHsgdmFsdWVcIiArIHRoaXMuY291bnRlciArIFwiID0gZWxlbmNvXCIgKyB0aGlzLmNvdW50ZXIgKyBcIiB9XCI7XHJcbiAgICB0aGlzLmFkZE51bWJlcih2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBhZGRBcnJheUxpc3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvdW50ZXIrKztcclxuICAgIGNvbnN0IHZhbHVlID0gXCJ2YXIgb3V0cHV0TGlzdFwiICsgdGhpcy5jb3VudGVyICsgXCIgPSB7IFxcXCJrZXlcXFwiIDogdmFsdWUgLCBcXFwia2V5MlxcXCIgOiB2YWx1ZTIgfTsgb3V0cHV0TGlzdFwiICsgdGhpcy5jb3VudGVyICsgXCI7XCI7XHJcbiAgICB0aGlzLmFkZE51bWJlcih2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBhZGROdW1iZXIodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zdHJpbmdhRm9ybXVsYSA9IHRoaXMuc3RyaW5nYUZvcm11bGEudHJpbSgpO1xyXG4gICAgaWYgKFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmlzTnVtZXJpYyh2YWx1ZSkpIHtcclxuICAgICAgaWYgKHRoaXMuY2FyZXRQb3NpdGlvbiAhPSAwKSB7XHJcbiAgICAgICAgbGV0IHN1YnN0cmluZ2EgPSB0aGlzLnN0cmluZ2FGb3JtdWxhLnN1YnN0cmluZygwLCB0aGlzLmNhcmV0UG9zaXRpb24pO1xyXG4gICAgICAgIHN1YnN0cmluZ2EgPSBzdWJzdHJpbmdhLnRyaW0oKTtcclxuICAgICAgICBzdWJzdHJpbmdhID0gc3Vic3RyaW5nYSArIHZhbHVlICsgdGhpcy5zdHJpbmdhRm9ybXVsYS5zdWJzdHJpbmcodGhpcy5jYXJldFBvc2l0aW9uKTtcclxuICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gc3Vic3RyaW5nYTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gdGhpcy5zdHJpbmdhRm9ybXVsYSArIHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2FyZXRQb3NpdGlvbiArPSAxO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGlmICh2YWx1ZSA9PSBcIi5cIikge1xyXG4gICAgICAgIGlmICh0aGlzLmNhcmV0UG9zaXRpb24gIT0gMCkge1xyXG4gICAgICAgICAgbGV0IHN1YnN0cmluZ2EgPSB0aGlzLnN0cmluZ2FGb3JtdWxhLnN1YnN0cmluZygwLCB0aGlzLmNhcmV0UG9zaXRpb24pO1xyXG4gICAgICAgICAgc3Vic3RyaW5nYSA9IHN1YnN0cmluZ2EudHJpbSgpO1xyXG4gICAgICAgICAgc3Vic3RyaW5nYSA9IHN1YnN0cmluZ2EgKyB2YWx1ZSArIHRoaXMuc3RyaW5nYUZvcm11bGEuc3Vic3RyaW5nKHRoaXMuY2FyZXRQb3NpdGlvbik7XHJcbiAgICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gc3Vic3RyaW5nYTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gdGhpcy5zdHJpbmdhRm9ybXVsYSArIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5jYXJldFBvc2l0aW9uICE9IDApIHtcclxuICAgICAgICAgIGxldCBzdWJzdHJpbmdhID0gdGhpcy5zdHJpbmdhRm9ybXVsYS5zdWJzdHJpbmcoMCwgdGhpcy5jYXJldFBvc2l0aW9uKTtcclxuICAgICAgICAgIHN1YnN0cmluZ2EgPSBzdWJzdHJpbmdhLnRyaW0oKTtcclxuICAgICAgICAgIHN1YnN0cmluZ2EgPSBzdWJzdHJpbmdhICsgXCIgXCIgKyB2YWx1ZSArIHRoaXMuc3RyaW5nYUZvcm11bGEuc3Vic3RyaW5nKHRoaXMuY2FyZXRQb3NpdGlvbik7XHJcbiAgICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gc3Vic3RyaW5nYTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN0cmluZ2FGb3JtdWxhID0gdGhpcy5zdHJpbmdhRm9ybXVsYSArIFwiIFwiICsgdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2FyZXRQb3NpdGlvbiArPSAyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuc3RyaW5nYUZvcm11bGEgPSB0aGlzLnN0cmluZ2FGb3JtdWxhLnRyaW0oKTtcclxuICAgIGlmIChVdGlsaXR5SGVscGVyU2VydmljZS5zdHJpbmdDaGVja1BhcmVudGVzaXModGhpcy5zdHJpbmdhRm9ybXVsYSkpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2Zvcm11bGEnKTtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBmb3JtdWxhOiB0aGlzLnN0cmluZ2FGb3JtdWxhIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nRGF0YUV4YW1wbGVEaWFsb2csIHtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZHJhZ19oYW5kbGVyKGV2ZW50OiBhbnkpIHtcclxuICAgIHZhciBkYXRhID0gZXZlbnQuZGF0YVRyYW5zZmVyLmdldERhdGEoXCJUZXh0XCIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyYWdlbmRfaGFuZGxlcihldmVudDogYW55KSB7XHJcbiAgICBldmVudC50YXJnZXQucHJldmlldy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGV2ZW50LnRhcmdldC5wcmV2aWV3KTtcclxuICAgIHZhciBkYXRhID0gZXZlbnQuZGF0YVRyYW5zZmVyLmdldERhdGEoXCJUZXh0XCIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyYWdlbnRlcl9oYW5kbGVyKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50YXJnZXQuY2xhc3NOYW1lID09IFwiZHJvcHRhcmdldFwiKSB7XHJcbiAgICAgIGV2ZW50LnRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSBcImxpZ2h0Ymx1ZVwiO1xyXG4gICAgICBldmVudC50YXJnZXQuc3R5bGUuYm9yZGVyID0gXCIzcHggZG90dGVkIHJlZFwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyYWdsZWF2ZV9oYW5kbGVyKGV2ZW50OiBhbnkpIHtcclxuICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZCA9IFwid2hpdGVcIjtcclxuICAgIGlmIChldmVudC50YXJnZXQuY2xhc3NOYW1lID09IFwiZHJvcHRhcmdldFwiKSB7XHJcbiAgICAgIGV2ZW50LnRhcmdldC5zdHlsZS5ib3JkZXIgPSBcIlwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyYWdzdGFydF9oYW5kbGVyKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHByZXZpZXcgPSBldmVudC50YXJnZXQuY2xvbmVOb2RlKHRydWUpO1xyXG4gICAgZXZlbnQudGFyZ2V0LnByZXZpZXcgPSBwcmV2aWV3O1xyXG4gICAgcHJldmlldy5jbGFzc05hbWUgPSAncHJldmlldyc7XHJcbiAgICBwcmV2aWV3LnN0eWxlLmNzc1RleHQgPSBgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMDAlOyBsZWZ0OiAtMTAwJTsgd2lkdGg6ICR7ZXZlbnQudGFyZ2V0Lm9mZnNldFdpZHRofXB4OyBgO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwcmV2aWV3KTtcclxuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREcmFnSW1hZ2UocHJldmlldywgMCwgMCk7XHJcbiAgICBldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgndGV4dC9wbGFpbicsIFwicmVjLlwiICsgZXZlbnQudGFyZ2V0LmRhdGFzZXQuZHJhZ0RhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyb3BfaGFuZGxlcihldmVudDogYW55KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdmFyIGRhdGEgPSBldmVudC5kYXRhVHJhbnNmZXIuZ2V0RGF0YShcIlRleHRcIik7XHJcbiAgICBldmVudC5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQgPSBcIndoaXRlXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZHJhZ292ZXJfaGFuZGxlcihldmVudDogYW55KSB7XHJcbiAgICBldmVudC5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQgPSBcImxpZ2h0eWVsbG93XCI7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGlhbG9nLWRhdGEtZXhhbXBsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICdkaWFsb2ctZGF0YS1leGFtcGxlLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nRGF0YUV4YW1wbGVEaWFsb2cge1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC05XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHB0LTJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTFcIj5cclxuICAgICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgICAgbmFtZT1cImZvcm11bGFcIlxyXG4gICAgICAgICAgICAgICNmb3JtdWxhXHJcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRhcmVhXCJcclxuICAgICAgICAgICAgICBpZD1cImZvcm11bGFcIlxyXG4gICAgICAgICAgICAgIHJvd3M9XCIxMFwiXHJcbiAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJkcm9wdGFyZ2V0XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwibG9zdEZvY3VzKGZvcm11bGEpXCJcclxuICAgICAgICAgICAgICAoa2V5dXApPVwibG9zdEZvY3VzKGZvcm11bGEpXCJcclxuICAgICAgICAgICAgICAoYmx1cik9XCJsb3N0Rm9jdXMoZm9ybXVsYSlcIlxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic3RyaW5nYUZvcm11bGFcIlxyXG4gICAgICAgICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTEgZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICA8Zm9ybSBtZXRob2Q9XCJQT1NUXCIgY2xhc3M9XCJhbGVydCBhbGVydC1zZWNvbmRhcnlcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRMaXN0U3RyaW5nclJlYWRlcigpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICBMZWdnaSBFbGVuY28gVHh0XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTGlzdE51bWJlclJlYWRlcigpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICBMZWdnaSBFbGVuY28gTnVtXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkQXJyYXlMaXN0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIEFycmF5TGlzdFxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWx0LWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhZGROdW1iZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lmKCBDb25kaXppb25lICkgeyBzZSB2ZXJhIH0gZWxzZSB7IHNlIGZhbHNhIH0nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgSUZcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROdW1iZXIoJy8xMDAnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgJVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tZGFuZ2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICBDXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXhsIGJ0bi1pbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROdW1iZXIoJy8nKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgJmRpdmlkZTtcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU3ltYm9sKCdNYXRoLnBvdyggdmFsb3JlICwyKScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB4PHN1cD4yPC9zdXA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU3ltYm9sKCdNYXRoLnBvdyggdmFsb3JlICwzKScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB4PHN1cD4zPC9zdXA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU3ltYm9sKCdNYXRoLnBvdyggdmFsb3JlICwgcG90ZW56YSApJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHg8c3VwPnk8L3N1cD5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROdW1iZXIoJyAqIDMuMTQgJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICYjeDIxM0M7XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignNycpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA3XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignOCcpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA4XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignOScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA5XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXhsIGJ0bi1pbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROdW1iZXIoJyonKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgJnRpbWVzO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRTeW1ib2woJ01hdGguc3FydCggdmFsb3JlICknKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHN1cD4yPC9zdXA+JnJhZGljO3hcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRTeW1ib2woJ01hdGgucG93KCByYWRpY2UgLCAxLyB2YWxvcmUgKScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3VwPnk8L3N1cD4mcmFkaWM7eFxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWx0LWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZFN5bWJvbCgnTWF0aC5sb2coIHZhbG9yZSApJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIGxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU3ltYm9sKCdNYXRoLmxvZzEwKCB2YWxvcmUgKScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICBsb2dcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignNCcpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA0XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignNScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA1XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignNicpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA2XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXhsIGJ0bi1pbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROdW1iZXIoJy0nKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgJm1pbnVzO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRTeW1ib2woJ01hdGguc2luKCB2YWxvcmUgKScpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICBzaW5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU3ltYm9sKCdNYXRoLmNvcyggdmFsb3JlICknKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgY29zXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWx0LWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBidG4gYnRuLXNtIGJ0bi1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZFN5bWJvbCgnTWF0aC50YW4oIHZhbG9yZSApJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHRhblxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROdW1iZXIoJyogMi43MTgyODE4Mjg0NTkwNDUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgZVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc3VjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTnVtYmVyKCcxJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIDFcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc3VjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTnVtYmVyKCcyJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIDJcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4tc3VjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTnVtYmVyKCczJylcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIDNcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYnRuIGJ0bi1zbSBidG4teGwgYnRuLWluZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignKycpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAmIzQzO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1sdC1mbGV4XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignMCcpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAwXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE51bWJlcignLicpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtbHQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGJ0biBidG4tc20gYnRuLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImJhY2soKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgQW5udWxsYVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWx0LWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBidG4gYnRuLXNtIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzYXZlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIFNhbHZhXHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0zIHAtMiBvdmVyZmxvdy1hdXRvXCIgc3R5bGU9XCJtYXgtaGVpZ2h0OiA4MHZoO1wiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgW2hpZGRlbl09XCJmaWVsZE51bGxcIlxyXG4gICAgICAgIGNka0Ryb3BMaXN0XHJcbiAgICAgICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcclxuICAgICAgICBjbGFzcz1cImV4YW1wbGUtbGlzdFwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImV4YW1wbGUtYm94XCJcclxuICAgICAgICAgIGRyYWdnYWJsZT1cInRydWVcIlxyXG4gICAgICAgICAgKGRyYWcpPVwiZHJhZ19oYW5kbGVyKCRldmVudClcIlxyXG4gICAgICAgICAgKGRyYWdlbmQpPVwiZHJhZ2VuZF9oYW5kbGVyKCRldmVudClcIlxyXG4gICAgICAgICAgKGRyYWdlbnRlcik9XCJkcmFnZW50ZXJfaGFuZGxlcigkZXZlbnQpXCJcclxuICAgICAgICAgIChkcmFnbGVhdmUpPVwiZHJhZ2xlYXZlX2hhbmRsZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZHJhZ292ZXIpPVwiZHJhZ292ZXJfaGFuZGxlcigkZXZlbnQpXCJcclxuICAgICAgICAgIChkcmFnc3RhcnQpPVwiZHJhZ3N0YXJ0X2hhbmRsZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZHJvcCk9XCJkcm9wX2hhbmRsZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbYXR0ci5kYXRhLWRyYWctZGF0YV09XCJmaWVsZC5MYWJlbFwiXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgRmllbGRzXCJcclxuICAgICAgICAgIGNka0RyYWdcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBmaWVsZC5MYWJlbCB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+RXJyb3JlITwvaDE+XHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIExhIGZ1bnppb25lIGluc2VyaXRhIGNvbnRpZW5lIHBhcmVudGVzaSBub24gY2hpdXNlISBwcmltYSBkaSBzYWx2YXJlIGNvbnRyb2xsYSBsYSBmdW56aW9uZS5cclxuICBcclxuPC9kaXY+Il19
|
package/esm2020/lib/components/private/dynamic-module-field/dynamic-module-field.component.mjs
CHANGED
|
@@ -110,9 +110,9 @@ export class DynamicModuleFieldComponent {
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
-
DynamicModuleFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
114
|
-
DynamicModuleFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
113
|
+
DynamicModuleFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DynamicModuleFieldComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
114
|
+
DynamicModuleFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DynamicModuleFieldComponent, selector: "dynamic-module-field", inputs: { field: "field", form: "form", record: "record" }, outputs: { recordChange: "recordChange" }, viewQueries: [{ propertyName: "dialogInnerFormRecord", first: true, predicate: ["dialogInnerFormRecord"], descendants: true, static: true }, { propertyName: "fieldTemplate", predicate: ["fieldTemplate"], descendants: true }, { propertyName: "listInnerFormRecords", predicate: ["listInnerFormRecords"], descendants: true }], ngImport: i0, template: "<text-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Campo di testo']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</text-field-template>\r\n\r\n<textarea-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Area di testo']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</textarea-field-template>\r\n\r\n<boolean-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Booleano']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</boolean-field-template>\r\n\r\n<date-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Data e/o ora']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</date-field-template>\r\n\r\n<numeric-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Campo numerico']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</numeric-field-template>\r\n\r\n<list-value-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Elenco generico']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</list-value-field-template>\r\n\r\n<attachment-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Allegato']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</attachment-field-template>\r\n\r\n<image-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Immagine']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</image-field-template>\r\n\r\n<list-form-record #listInnerFormRecords *ngIf=\"field.FieldType == FieldTypeEnum['Form di dettaglio']\"\r\n [form]=\"getInnerFormFromField(field)\" [configurations]=\"configList\"\r\n (onAddViewEditRecord)=\"onAddViewEditInnerFormRecord($event, field)\">\r\n</list-form-record>\r\n\r\n<!-- DIALOG PER AGGIUNGERE/MODIFICARE/VISUALIZZARE UN RECORD IN UNA FORM DI DETTAGLIO -->\r\n<ng-template #dialogInnerFormRecord>\r\n <add-form-record [form]=\"selectedInnerForm\" [record]=\"selectedInnerFormRecord\" [onlyView]=\"onlyViewInnerFormRecord\"\r\n (saveRecordEvent)=\"onSaveInnerFormRecord($event)\"></add-form-record>\r\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.TextFieldTemplateComponent, selector: "text-field-template", inputs: ["field", "record"], outputs: ["recordChange"] }, { kind: "component", type: i5.BooleanFieldTemplateComponent, selector: "boolean-field-template", inputs: ["field", "record"], outputs: ["recordChange"] }, { kind: "component", type: i6.DateFieldTemplateComponent, selector: "date-field-template", inputs: ["field", "record"], outputs: ["recordChange"] }, { kind: "component", type: i7.TextareaFieldTemplateComponent, selector: "textarea-field-template", inputs: ["field", "record"], outputs: ["recordChange"] }, { kind: "component", type: i8.NumericFieldTemplateComponent, selector: "numeric-field-template", inputs: ["field", "record"], outputs: ["recordChange"] }, { kind: "component", type: i9.ListValueFieldTemplateComponent, selector: "list-value-field-template", inputs: ["debugMode", "field", "record"], outputs: ["recordChange"] }, { kind: "component", type: i10.AttachmentFieldTemplateComponent, selector: "attachment-field-template", inputs: ["onlyImages", "field", "record"], outputs: ["recordChange", "onAttachmentsChange"] }, { kind: "component", type: i11.ImageFieldTemplateComponent, selector: "image-field-template", inputs: ["record", "field"], outputs: ["recordChange"] }, { kind: "component", type: i12.ListFormRecordComponent, selector: "list-form-record", inputs: ["debugMode", "configurations", "endPointConfiguration", "formID", "form", "externalButtons"], outputs: ["onViewRecord", "onAddViewEditRecord", "onDeleteRecord", "onAfterDeleteRecord"] }, { kind: "component", type: i13.AddFormRecordComponent, selector: "add-form-record", inputs: ["debugMode", "configurations", "endPointConfiguration", "userID", "formID", "form", "record", "onlyView", "isDuplicate", "additionalParams"], outputs: ["saveRecordEvent", "afterSaveRecordEvent"] }] });
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DynamicModuleFieldComponent, decorators: [{
|
|
116
116
|
type: Component,
|
|
117
117
|
args: [{ selector: 'dynamic-module-field', template: "<text-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Campo di testo']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</text-field-template>\r\n\r\n<textarea-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Area di testo']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</textarea-field-template>\r\n\r\n<boolean-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Booleano']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</boolean-field-template>\r\n\r\n<date-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Data e/o ora']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</date-field-template>\r\n\r\n<numeric-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Campo numerico']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</numeric-field-template>\r\n\r\n<list-value-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Elenco generico']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</list-value-field-template>\r\n\r\n<attachment-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Allegato']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</attachment-field-template>\r\n\r\n<image-field-template #fieldTemplate *ngIf=\"field.FieldType == FieldTypeEnum['Immagine']\"\r\n [matTooltip]=\"field.Description\" [(record)]=\"record\" [field]=\"field\" (recordChange)=\"onRecordChange()\">\r\n</image-field-template>\r\n\r\n<list-form-record #listInnerFormRecords *ngIf=\"field.FieldType == FieldTypeEnum['Form di dettaglio']\"\r\n [form]=\"getInnerFormFromField(field)\" [configurations]=\"configList\"\r\n (onAddViewEditRecord)=\"onAddViewEditInnerFormRecord($event, field)\">\r\n</list-form-record>\r\n\r\n<!-- DIALOG PER AGGIUNGERE/MODIFICARE/VISUALIZZARE UN RECORD IN UNA FORM DI DETTAGLIO -->\r\n<ng-template #dialogInnerFormRecord>\r\n <add-form-record [form]=\"selectedInnerForm\" [record]=\"selectedInnerFormRecord\" [onlyView]=\"onlyViewInnerFormRecord\"\r\n (saveRecordEvent)=\"onSaveInnerFormRecord($event)\"></add-form-record>\r\n</ng-template>" }]
|
|
118
118
|
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { field: [{
|
|
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
133
133
|
type: ViewChildren,
|
|
134
134
|
args: ['listInnerFormRecords']
|
|
135
135
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tb2R1bGUtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2R5bmFtaWMtbW9kdWxlLWZpZWxkL2R5bmFtaWMtbW9kdWxlLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9keW5hbWljLW1vZHVsZS1maWVsZC9keW5hbWljLW1vZHVsZS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUEwQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2hJLE9BQU8sRUFBYSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUV4RixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN0SCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVF0RCxNQUFNLE9BQU8sMkJBQTJCO0lBc0J0QyxZQUNVLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFsQmpCLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFMUUsZUFBVSxHQUE0QixJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDcEUsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFNOUIsNEJBQXVCLEdBQVksS0FBSyxDQUFDO0lBVXJDLENBQUM7SUFHTCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsYUFB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SW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IElCYXNlRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2lCYXNlRmllbGRDb21wb25lbnQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmFzZUZpZWxkLCBGaWVsZFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2Jhc2VGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IER5bmFtaWNNb2R1bGVMaXN0Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2R5bmFtaWNNb2R1bGVMaXN0Q29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgRHluYW1pY01vZHVsZUxpc3RGb3JtUmVjb3JkQWN0aW9uc0RlZmF1bHQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZHluYW1pY01vZHVsZUxpc3RGb3JtUmVjb3JkQWN0aW9uc0RlZmF1bHQnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgTGlzdEZvcm1SZWNvcmRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXJlY29yZHMvbGlzdC1mb3JtLXJlY29yZC9saXN0LWZvcm0tcmVjb3JkLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2R5bmFtaWMtbW9kdWxlLWZpZWxkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1tb2R1bGUtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtbW9kdWxlLWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNNb2R1bGVGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgSUJhc2VGaWVsZENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGZpZWxkOiBCYXNlRmllbGQ7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybTtcclxuICBASW5wdXQoKSByZWNvcmQ6IFJlY29yZDtcclxuICBAT3V0cHV0KCkgcmVjb3JkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVjb3JkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPigpO1xyXG5cclxuICBjb25maWdMaXN0OiBEeW5hbWljTW9kdWxlTGlzdENvbmZpZyA9IG5ldyBEeW5hbWljTW9kdWxlTGlzdENvbmZpZygpO1xyXG4gIEZpZWxkVHlwZUVudW0gPSBGaWVsZFR5cGVFbnVtO1xyXG5cclxuICAvLyNyZWdpb24gUHJvcHJpZXTDoCBwZXIgYWdnaXVuZ2VyZS9tb2RpZmljYXJlIGkgcmVjb3JkIGRpIHVuYSBmb3JtIGRpIGRldHRhZ2xpb1xyXG4gIHNlbGVjdGVkSW5uZXJGb3JtOiBGb3JtO1xyXG4gIHNlbGVjdGVkSW5uZXJGb3JtUmVjb3JkOiBSZWNvcmQ7XHJcbiAgaW5kZXhJbm5lckZvcm1SZWNvcmQ6IG51bWJlcjtcclxuICBvbmx5Vmlld0lubmVyRm9ybVJlY29yZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpYWxvZ0lubmVyRm9ybVJlY29yZFJlZjogTWF0RGlhbG9nUmVmPFRlbXBsYXRlUmVmPGFueT4+O1xyXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZ0lubmVyRm9ybVJlY29yZCcsIHsgc3RhdGljOiB0cnVlIH0pIGRpYWxvZ0lubmVyRm9ybVJlY29yZDogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgQFZpZXdDaGlsZHJlbihcImZpZWxkVGVtcGxhdGVcIikgZmllbGRUZW1wbGF0ZTogUXVlcnlMaXN0PER5bmFtaWNNb2R1bGVGaWVsZENvbXBvbmVudD47XHJcbiAgQFZpZXdDaGlsZHJlbignbGlzdElubmVyRm9ybVJlY29yZHMnKSBsaXN0SW5uZXJGb3JtUmVjb3JkczogUXVlcnlMaXN0PExpc3RGb3JtUmVjb3JkQ29tcG9uZW50PjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nXHJcbiAgKSB7IH1cclxuXHJcblxyXG4gIHVwZGF0ZUZpZWxkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmllbGRUZW1wbGF0ZSAmJiB0aGlzLmZpZWxkVGVtcGxhdGUubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZpZWxkVGVtcGxhdGUuZm9yRWFjaChmID0+IGYudXBkYXRlRmllbGQoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlnTGlzdC52YWx1ZXMgPSB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdXHJcbiAgICB0aGlzLmNvbmZpZ0xpc3Quc2hvd1RpdGxlID0gdHJ1ZTtcclxuICAgIHRoaXMuY29uZmlnTGlzdC5kZWZhdWx0TGlzdEFjdGlvbnMgPSBuZXcgRHluYW1pY01vZHVsZUxpc3RGb3JtUmVjb3JkQWN0aW9uc0RlZmF1bHQoKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGFsIGNhbWJpbyBkZWwgdmFsb3JlIGRpIG9nbmkgcHJvcHJpZXTDoCBkZWxsJ29nZ2V0dG8gcmVjb3JkLlxyXG4gICAqIFNlcnZlIGFkIGFnZ2lvcm5hcmUgaWwgdmFsb3JlIGRpIHR1dHRpIGkgY2FtcGkgY2hlIGhhbm5vIHVuYSBmb3JtdWxhLlxyXG4gICAqL1xyXG4gIG9uUmVjb3JkQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5yZWNvcmRDaGFuZ2UuZW1pdCh0aGlzLnJlY29yZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIHJlY3VwZXJhcmUgdW5hIElubmVyRm9ybSBhIHBhcnRpcmUgZGFsIEZpZWxkIGNoZSBsYSByYXBwcmVzZW50YS5cclxuICAgKiBAcGFyYW0gZmllbGQgQ2FtcG8gYSBwYXJ0aXJlIGRhbCBxdWFsZSBzaSB2dW9sZSByZWN1cGVyYXJlIGxhIElubmVyRm9ybS5cclxuICAgKiBAcmV0dXJucyBSZXN0aXR1aXNjZSB1biBvZ2dldHRvIGRpIHRpcG8gRm9ybS5cclxuICAgKi9cclxuICBnZXRJbm5lckZvcm1Gcm9tRmllbGQoZmllbGQ6IEJhc2VGaWVsZCk6IEZvcm0ge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5Jbm5lckZvcm1zICYmIHRoaXMuZm9ybS5Jbm5lckZvcm1zLmZpbmQoZiA9PiBmLk5hbWUgPT0gZmllbGQuTGFiZWwpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZvcm0uSW5uZXJGb3Jtcy5maW5kKGYgPT4gZi5OYW1lID09IGZpZWxkLkxhYmVsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIE1ldG9kbyBwZXIgYXByaXJlIHVuIGRpYWxvZyBpbiBjdWkgYWdnaXVuZ2VyZS9tb2RpZmljYXJlL3Zpc3VhbGl6emFyZSB1biByZWNvcmQgYXBwYXJ0ZW5lbnRlXHJcbiAqIGEgdW5hIGZvcm0gZGkgZGV0dGFnbGlvLlxyXG4gKiBAcGFyYW0gcmVjb3JkIEV2ZW50byBkaSBvdXRwdXQgZGVsIGNvbXBvbmVudGUgbGlzdC1mb3JtLXJlY29yZCwgY29udGllbmUgaWwgcmVjb3JkIHNlbGV6aW9uYXRvIGUgdW4gYm9vbGVubyBjaGUgaW5kaWNhIFxyXG4gKiBzZSBsJ3V0ZW50ZSB2dW9sZSBtb2RpZmljYXJlIG8gdmlzdWFsaXp6YXJlIGwnZWxlbWVudG8gc2VsZXppb25hdG8uXHJcbiAqIEBwYXJhbSBpbm5lckZvcm0gQ29udGllbmUgbGEgRm9ybSBkaSBkZXR0YWdsaW8gZGFsbGEgcXVhbGUgw6ggc3RhdG8gcmljaGllc3RvIGlsIHJlY29yZC5cclxuICovXHJcbiAgb25BZGRWaWV3RWRpdElubmVyRm9ybVJlY29yZChyZWNvcmQ6IHsgcmVjb3JkOiBSZWNvcmQsIG9ubHlWaWV3OiBib29sZWFuIH0sIGZpZWxkOiBCYXNlRmllbGQpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJbm5lckZvcm0gPSB0aGlzLmdldElubmVyRm9ybUZyb21GaWVsZChmaWVsZCk7XHJcbiAgICBpZiAocmVjb3JkID09IG51bGwpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElubmVyRm9ybVJlY29yZCA9IG5ldyBSZWNvcmQoKTtcclxuICAgICAgdGhpcy5pbmRleElubmVyRm9ybVJlY29yZCA9IG51bGw7XHJcbiAgICAgIHRoaXMub25seVZpZXdJbm5lckZvcm1SZWNvcmQgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbm5lckZvcm1SZWNvcmQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlY29yZC5yZWNvcmQpKTtcclxuICAgICAgdGhpcy5pbmRleElubmVyRm9ybVJlY29yZCA9IHRoaXMucmVjb3JkW2ZpZWxkLk5hbWVdLmluZGV4T2YocmVjb3JkKTtcclxuICAgICAgdGhpcy5vbmx5Vmlld0lubmVyRm9ybVJlY29yZCA9IHJlY29yZC5vbmx5VmlldztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRpYWxvZ0lubmVyRm9ybVJlY29yZFJlZiA9IHRoaXMuZGlhbG9nLm9wZW4odGhpcy5kaWFsb2dJbm5lckZvcm1SZWNvcmQsIHtcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgd2lkdGg6ICc3NSUnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBpbnZvY2F0byBhbCBzYWx2YXRhZ2dpbyBvIGFsbGEgY2hpdXN1cmEgZGVsIGRpYWxvZyBkaSBhZ2dpdW50YS9tb2RpZmljYS92aXN1YWxpenphemlvbmVcclxuICAgKiBkaSB1biByZWNvcmQgZGkgdW5hIGZvcm0gZGkgZGV0dGFnbGlvLlxyXG4gICAqIEBwYXJhbSByZWNvcmQgT2dnZXR0byByZXN0aXR1aXRvIGRhbCBjb21wb25lbnRlIGFkZC1mb3JtLWZpZWxkIChxdWVzdG8gcXVpKSBjb250ZW5lbnRlIGlsIFJlY29yZCBcclxuICAgKiBhZ2dpb3JuYXRvIGRhbGwndXRlbnRlLiBTZSBudWxsIGFsbG9yYSBsJ3V0ZW50ZSBub24gaGEgbW9kaWZpY2F0byBudWxsYSBlIGhhIGNoaXVzbyBpbCBkaWFsb2cuXHJcbiAgICovXHJcbiAgb25TYXZlSW5uZXJGb3JtUmVjb3JkKHJlY29yZDogUmVjb3JkKSB7XHJcbiAgICBpZiAocmVjb3JkICE9IG51bGwpIHtcclxuICAgICAgY29uc3QgYXJyYXlOYW1lOiBzdHJpbmcgPSB0aGlzLnNlbGVjdGVkSW5uZXJGb3JtLk5hbWUuc3BsaXQoJyAnKS5qb2luKCdfJyk7XHJcbiAgICAgIGlmICh0aGlzLmluZGV4SW5uZXJGb3JtUmVjb3JkICE9IG51bGwgJiYgdGhpcy5pbmRleElubmVyRm9ybVJlY29yZCA+PSAwKSB7XHJcbiAgICAgICAgdGhpcy5yZWNvcmRbYXJyYXlOYW1lXVt0aGlzLmluZGV4SW5uZXJGb3JtUmVjb3JkXSA9IHJlY29yZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoIXRoaXMucmVjb3JkW2FycmF5TmFtZV0pIHtcclxuICAgICAgICAgIHRoaXMucmVjb3JkW2FycmF5TmFtZV0gPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZWNvcmRbYXJyYXlOYW1lXS5wdXNoKHJlY29yZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZGlhbG9nSW5uZXJGb3JtUmVjb3JkUmVmLmNsb3NlKCk7XHJcblxyXG4gICAgLy8gUmljYXJpY28gbGEgdGFiZWxsYSBkZWkgcmVjb3JkIHBlciB2aXN1YWxpenphcmUgbGUgbW9kaWZpY2hlIGZhdHRlIGRhbGwndXRlbnRlLlxyXG4gICAgaWYgKHRoaXMubGlzdElubmVyRm9ybVJlY29yZHMgJiYgdGhpcy5saXN0SW5uZXJGb3JtUmVjb3Jkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMubGlzdElubmVyRm9ybVJlY29yZHMuZm9yRWFjaChsaXN0ID0+IHtcclxuICAgICAgICBpZiAobGlzdCAmJiBsaXN0LnRhYmxlUmVjb3Jkcykge1xyXG4gICAgICAgICAgbGlzdC50YWJsZVJlY29yZHMucmVsb2FkRGF0YXRhYmxlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHRleHQtZmllbGQtdGVtcGxhdGUgI2ZpZWxkVGVtcGxhdGUgKm5nSWY9XCJmaWVsZC5GaWVsZFR5cGUgPT0gRmllbGRUeXBlRW51bVsnQ2FtcG8gZGkgdGVzdG8nXVwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCJmaWVsZC5EZXNjcmlwdGlvblwiIFsocmVjb3JkKV09XCJyZWNvcmRcIiBbZmllbGRdPVwiZmllbGRcIiAocmVjb3JkQ2hhbmdlKT1cIm9uUmVjb3JkQ2hhbmdlKClcIj5cclxuPC90ZXh0LWZpZWxkLXRlbXBsYXRlPlxyXG5cclxuPHRleHRhcmVhLWZpZWxkLXRlbXBsYXRlICNmaWVsZFRlbXBsYXRlICpuZ0lmPVwiZmllbGQuRmllbGRUeXBlID09IEZpZWxkVHlwZUVudW1bJ0FyZWEgZGkgdGVzdG8nXVwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCJmaWVsZC5EZXNjcmlwdGlvblwiIFsocmVjb3JkKV09XCJyZWNvcmRcIiBbZmllbGRdPVwiZmllbGRcIiAocmVjb3JkQ2hhbmdlKT1cIm9uUmVjb3JkQ2hhbmdlKClcIj5cclxuPC90ZXh0YXJlYS1maWVsZC10ZW1wbGF0ZT5cclxuXHJcbjxib29sZWFuLWZpZWxkLXRlbXBsYXRlICNmaWVsZFRlbXBsYXRlICpuZ0lmPVwiZmllbGQuRmllbGRUeXBlID09IEZpZWxkVHlwZUVudW1bJ0Jvb2xlYW5vJ11cIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiZmllbGQuRGVzY3JpcHRpb25cIiBbKHJlY29yZCldPVwicmVjb3JkXCIgW2ZpZWxkXT1cImZpZWxkXCIgKHJlY29yZENoYW5nZSk9XCJvblJlY29yZENoYW5nZSgpXCI+XHJcbjwvYm9vbGVhbi1maWVsZC10ZW1wbGF0ZT5cclxuXHJcbjxkYXRlLWZpZWxkLXRlbXBsYXRlICNmaWVsZFRlbXBsYXRlICpuZ0lmPVwiZmllbGQuRmllbGRUeXBlID09IEZpZWxkVHlwZUVudW1bJ0RhdGEgZS9vIG9yYSddXCJcclxuICAgIFttYXRUb29sdGlwXT1cImZpZWxkLkRlc2NyaXB0aW9uXCIgWyhyZWNvcmQpXT1cInJlY29yZFwiIFtmaWVsZF09XCJmaWVsZFwiIChyZWNvcmRDaGFuZ2UpPVwib25SZWNvcmRDaGFuZ2UoKVwiPlxyXG48L2RhdGUtZmllbGQtdGVtcGxhdGU+XHJcblxyXG48bnVtZXJpYy1maWVsZC10ZW1wbGF0ZSAjZmllbGRUZW1wbGF0ZSAqbmdJZj1cImZpZWxkLkZpZWxkVHlwZSA9PSBGaWVsZFR5cGVFbnVtWydDYW1wbyBudW1lcmljbyddXCJcclxuICAgIFttYXRUb29sdGlwXT1cImZpZWxkLkRlc2NyaXB0aW9uXCIgWyhyZWNvcmQpXT1cInJlY29yZFwiIFtmaWVsZF09XCJmaWVsZFwiIChyZWNvcmRDaGFuZ2UpPVwib25SZWNvcmRDaGFuZ2UoKVwiPlxyXG48L251bWVyaWMtZmllbGQtdGVtcGxhdGU+XHJcblxyXG48bGlzdC12YWx1ZS1maWVsZC10ZW1wbGF0ZSAjZmllbGRUZW1wbGF0ZSAqbmdJZj1cImZpZWxkLkZpZWxkVHlwZSA9PSBGaWVsZFR5cGVFbnVtWydFbGVuY28gZ2VuZXJpY28nXVwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCJmaWVsZC5EZXNjcmlwdGlvblwiIFsocmVjb3JkKV09XCJyZWNvcmRcIiBbZmllbGRdPVwiZmllbGRcIiAocmVjb3JkQ2hhbmdlKT1cIm9uUmVjb3JkQ2hhbmdlKClcIj5cclxuPC9saXN0LXZhbHVlLWZpZWxkLXRlbXBsYXRlPlxyXG5cclxuPGF0dGFjaG1lbnQtZmllbGQtdGVtcGxhdGUgI2ZpZWxkVGVtcGxhdGUgKm5nSWY9XCJmaWVsZC5GaWVsZFR5cGUgPT0gRmllbGRUeXBlRW51bVsnQWxsZWdhdG8nXVwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCJmaWVsZC5EZXNjcmlwdGlvblwiIFsocmVjb3JkKV09XCJyZWNvcmRcIiBbZmllbGRdPVwiZmllbGRcIiAocmVjb3JkQ2hhbmdlKT1cIm9uUmVjb3JkQ2hhbmdlKClcIj5cclxuPC9hdHRhY2htZW50LWZpZWxkLXRlbXBsYXRlPlxyXG5cclxuPGltYWdlLWZpZWxkLXRlbXBsYXRlICNmaWVsZFRlbXBsYXRlICpuZ0lmPVwiZmllbGQuRmllbGRUeXBlID09IEZpZWxkVHlwZUVudW1bJ0ltbWFnaW5lJ11cIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiZmllbGQuRGVzY3JpcHRpb25cIiBbKHJlY29yZCldPVwicmVjb3JkXCIgW2ZpZWxkXT1cImZpZWxkXCIgKHJlY29yZENoYW5nZSk9XCJvblJlY29yZENoYW5nZSgpXCI+XHJcbjwvaW1hZ2UtZmllbGQtdGVtcGxhdGU+XHJcblxyXG48bGlzdC1mb3JtLXJlY29yZCAjbGlzdElubmVyRm9ybVJlY29yZHMgKm5nSWY9XCJmaWVsZC5GaWVsZFR5cGUgPT0gRmllbGRUeXBlRW51bVsnRm9ybSBkaSBkZXR0YWdsaW8nXVwiXHJcbiAgICBbZm9ybV09XCJnZXRJbm5lckZvcm1Gcm9tRmllbGQoZmllbGQpXCIgW2NvbmZpZ3VyYXRpb25zXT1cImNvbmZpZ0xpc3RcIlxyXG4gICAgKG9uQWRkVmlld0VkaXRSZWNvcmQpPVwib25BZGRWaWV3RWRpdElubmVyRm9ybVJlY29yZCgkZXZlbnQsIGZpZWxkKVwiPlxyXG48L2xpc3QtZm9ybS1yZWNvcmQ+XHJcblxyXG48IS0tIERJQUxPRyBQRVIgQUdHSVVOR0VSRS9NT0RJRklDQVJFL1ZJU1VBTElaWkFSRSBVTiBSRUNPUkQgSU4gVU5BIEZPUk0gREkgREVUVEFHTElPIC0tPlxyXG48bmctdGVtcGxhdGUgI2RpYWxvZ0lubmVyRm9ybVJlY29yZD5cclxuICAgIDxhZGQtZm9ybS1yZWNvcmQgW2Zvcm1dPVwic2VsZWN0ZWRJbm5lckZvcm1cIiBbcmVjb3JkXT1cInNlbGVjdGVkSW5uZXJGb3JtUmVjb3JkXCIgW29ubHlWaWV3XT1cIm9ubHlWaWV3SW5uZXJGb3JtUmVjb3JkXCJcclxuICAgICAgICAoc2F2ZVJlY29yZEV2ZW50KT1cIm9uU2F2ZUlubmVyRm9ybVJlY29yZCgkZXZlbnQpXCI+PC9hZGQtZm9ybS1yZWNvcmQ+XHJcbjwvbmctdGVtcGxhdGU+Il19
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tb2R1bGUtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2R5bmFtaWMtbW9kdWxlLWZpZWxkL2R5bmFtaWMtbW9kdWxlLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9keW5hbWljLW1vZHVsZS1maWVsZC9keW5hbWljLW1vZHVsZS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUEwQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2hJLE9BQU8sRUFBYSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUV4RixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN0SCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVF0RCxNQUFNLE9BQU8sMkJBQTJCO0lBc0J0QyxZQUNVLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFsQmpCLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFMUUsZUFBVSxHQUE0QixJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDcEUsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFNOUIsNEJBQXVCLEdBQVksS0FBSyxDQUFDO0lBVXJDLENBQUM7SUFHTCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsYUFB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SW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IElCYXNlRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2lCYXNlRmllbGRDb21wb25lbnQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmFzZUZpZWxkLCBGaWVsZFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2Jhc2VGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IER5bmFtaWNNb2R1bGVMaXN0Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2R5bmFtaWNNb2R1bGVMaXN0Q29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgRHluYW1pY01vZHVsZUxpc3RGb3JtUmVjb3JkQWN0aW9uc0RlZmF1bHQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZHluYW1pY01vZHVsZUxpc3RGb3JtUmVjb3JkQWN0aW9uc0RlZmF1bHQnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgTGlzdEZvcm1SZWNvcmRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXJlY29yZHMvbGlzdC1mb3JtLXJlY29yZC9saXN0LWZvcm0tcmVjb3JkLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2R5bmFtaWMtbW9kdWxlLWZpZWxkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1tb2R1bGUtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtbW9kdWxlLWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNNb2R1bGVGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgSUJhc2VGaWVsZENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGZpZWxkOiBCYXNlRmllbGQ7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybTtcclxuICBASW5wdXQoKSByZWNvcmQ6IFJlY29yZDtcclxuICBAT3V0cHV0KCkgcmVjb3JkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVjb3JkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPigpO1xyXG5cclxuICBjb25maWdMaXN0OiBEeW5hbWljTW9kdWxlTGlzdENvbmZpZyA9IG5ldyBEeW5hbWljTW9kdWxlTGlzdENvbmZpZygpO1xyXG4gIEZpZWxkVHlwZUVudW0gPSBGaWVsZFR5cGVFbnVtO1xyXG5cclxuICAvLyNyZWdpb24gUHJvcHJpZXTDoCBwZXIgYWdnaXVuZ2VyZS9tb2RpZmljYXJlIGkgcmVjb3JkIGRpIHVuYSBmb3JtIGRpIGRldHRhZ2xpb1xyXG4gIHNlbGVjdGVkSW5uZXJGb3JtOiBGb3JtO1xyXG4gIHNlbGVjdGVkSW5uZXJGb3JtUmVjb3JkOiBSZWNvcmQ7XHJcbiAgaW5kZXhJbm5lckZvcm1SZWNvcmQ6IG51bWJlcjtcclxuICBvbmx5Vmlld0lubmVyRm9ybVJlY29yZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpYWxvZ0lubmVyRm9ybVJlY29yZFJlZjogTWF0RGlhbG9nUmVmPFRlbXBsYXRlUmVmPGFueT4+O1xyXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZ0lubmVyRm9ybVJlY29yZCcsIHsgc3RhdGljOiB0cnVlIH0pIGRpYWxvZ0lubmVyRm9ybVJlY29yZDogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgQFZpZXdDaGlsZHJlbihcImZpZWxkVGVtcGxhdGVcIikgZmllbGRUZW1wbGF0ZTogUXVlcnlMaXN0PER5bmFtaWNNb2R1bGVGaWVsZENvbXBvbmVudD47XHJcbiAgQFZpZXdDaGlsZHJlbignbGlzdElubmVyRm9ybVJlY29yZHMnKSBsaXN0SW5uZXJGb3JtUmVjb3JkczogUXVlcnlMaXN0PExpc3RGb3JtUmVjb3JkQ29tcG9uZW50PjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nXHJcbiAgKSB7IH1cclxuXHJcblxyXG4gIHVwZGF0ZUZpZWxkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmllbGRUZW1wbGF0ZSAmJiB0aGlzLmZpZWxkVGVtcGxhdGUubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZpZWxkVGVtcGxhdGUuZm9yRWFjaChmID0+IGYudXBkYXRlRmllbGQoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlnTGlzdC52YWx1ZXMgPSB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdXHJcbiAgICB0aGlzLmNvbmZpZ0xpc3Quc2hvd1RpdGxlID0gdHJ1ZTtcclxuICAgIHRoaXMuY29uZmlnTGlzdC5kZWZhdWx0TGlzdEFjdGlvbnMgPSBuZXcgRHluYW1pY01vZHVsZUxpc3RGb3JtUmVjb3JkQWN0aW9uc0RlZmF1bHQoKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGludm9jYXRvIGFsIGNhbWJpbyBkZWwgdmFsb3JlIGRpIG9nbmkgcHJvcHJpZXTDoCBkZWxsJ29nZ2V0dG8gcmVjb3JkLlxyXG4gICAqIFNlcnZlIGFkIGFnZ2lvcm5hcmUgaWwgdmFsb3JlIGRpIHR1dHRpIGkgY2FtcGkgY2hlIGhhbm5vIHVuYSBmb3JtdWxhLlxyXG4gICAqL1xyXG4gIG9uUmVjb3JkQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5yZWNvcmRDaGFuZ2UuZW1pdCh0aGlzLnJlY29yZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIHJlY3VwZXJhcmUgdW5hIElubmVyRm9ybSBhIHBhcnRpcmUgZGFsIEZpZWxkIGNoZSBsYSByYXBwcmVzZW50YS5cclxuICAgKiBAcGFyYW0gZmllbGQgQ2FtcG8gYSBwYXJ0aXJlIGRhbCBxdWFsZSBzaSB2dW9sZSByZWN1cGVyYXJlIGxhIElubmVyRm9ybS5cclxuICAgKiBAcmV0dXJucyBSZXN0aXR1aXNjZSB1biBvZ2dldHRvIGRpIHRpcG8gRm9ybS5cclxuICAgKi9cclxuICBnZXRJbm5lckZvcm1Gcm9tRmllbGQoZmllbGQ6IEJhc2VGaWVsZCk6IEZvcm0ge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5Jbm5lckZvcm1zICYmIHRoaXMuZm9ybS5Jbm5lckZvcm1zLmZpbmQoZiA9PiBmLk5hbWUgPT0gZmllbGQuTGFiZWwpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZvcm0uSW5uZXJGb3Jtcy5maW5kKGYgPT4gZi5OYW1lID09IGZpZWxkLkxhYmVsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIE1ldG9kbyBwZXIgYXByaXJlIHVuIGRpYWxvZyBpbiBjdWkgYWdnaXVuZ2VyZS9tb2RpZmljYXJlL3Zpc3VhbGl6emFyZSB1biByZWNvcmQgYXBwYXJ0ZW5lbnRlXHJcbiAqIGEgdW5hIGZvcm0gZGkgZGV0dGFnbGlvLlxyXG4gKiBAcGFyYW0gcmVjb3JkIEV2ZW50byBkaSBvdXRwdXQgZGVsIGNvbXBvbmVudGUgbGlzdC1mb3JtLXJlY29yZCwgY29udGllbmUgaWwgcmVjb3JkIHNlbGV6aW9uYXRvIGUgdW4gYm9vbGVubyBjaGUgaW5kaWNhIFxyXG4gKiBzZSBsJ3V0ZW50ZSB2dW9sZSBtb2RpZmljYXJlIG8gdmlzdWFsaXp6YXJlIGwnZWxlbWVudG8gc2VsZXppb25hdG8uXHJcbiAqIEBwYXJhbSBpbm5lckZvcm0gQ29udGllbmUgbGEgRm9ybSBkaSBkZXR0YWdsaW8gZGFsbGEgcXVhbGUgw6ggc3RhdG8gcmljaGllc3RvIGlsIHJlY29yZC5cclxuICovXHJcbiAgb25BZGRWaWV3RWRpdElubmVyRm9ybVJlY29yZChyZWNvcmQ6IHsgcmVjb3JkOiBSZWNvcmQsIG9ubHlWaWV3OiBib29sZWFuIH0sIGZpZWxkOiBCYXNlRmllbGQpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJbm5lckZvcm0gPSB0aGlzLmdldElubmVyRm9ybUZyb21GaWVsZChmaWVsZCk7XHJcbiAgICBpZiAocmVjb3JkID09IG51bGwpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElubmVyRm9ybVJlY29yZCA9IG5ldyBSZWNvcmQoKTtcclxuICAgICAgdGhpcy5pbmRleElubmVyRm9ybVJlY29yZCA9IG51bGw7XHJcbiAgICAgIHRoaXMub25seVZpZXdJbm5lckZvcm1SZWNvcmQgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbm5lckZvcm1SZWNvcmQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlY29yZC5yZWNvcmQpKTtcclxuICAgICAgdGhpcy5pbmRleElubmVyRm9ybVJlY29yZCA9IHRoaXMucmVjb3JkW2ZpZWxkLk5hbWVdLmluZGV4T2YocmVjb3JkKTtcclxuICAgICAgdGhpcy5vbmx5Vmlld0lubmVyRm9ybVJlY29yZCA9IHJlY29yZC5vbmx5VmlldztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRpYWxvZ0lubmVyRm9ybVJlY29yZFJlZiA9IHRoaXMuZGlhbG9nLm9wZW4odGhpcy5kaWFsb2dJbm5lckZvcm1SZWNvcmQsIHtcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgd2lkdGg6ICc3NSUnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBpbnZvY2F0byBhbCBzYWx2YXRhZ2dpbyBvIGFsbGEgY2hpdXN1cmEgZGVsIGRpYWxvZyBkaSBhZ2dpdW50YS9tb2RpZmljYS92aXN1YWxpenphemlvbmVcclxuICAgKiBkaSB1biByZWNvcmQgZGkgdW5hIGZvcm0gZGkgZGV0dGFnbGlvLlxyXG4gICAqIEBwYXJhbSByZWNvcmQgT2dnZXR0byByZXN0aXR1aXRvIGRhbCBjb21wb25lbnRlIGFkZC1mb3JtLWZpZWxkIChxdWVzdG8gcXVpKSBjb250ZW5lbnRlIGlsIFJlY29yZCBcclxuICAgKiBhZ2dpb3JuYXRvIGRhbGwndXRlbnRlLiBTZSBudWxsIGFsbG9yYSBsJ3V0ZW50ZSBub24gaGEgbW9kaWZpY2F0byBudWxsYSBlIGhhIGNoaXVzbyBpbCBkaWFsb2cuXHJcbiAgICovXHJcbiAgb25TYXZlSW5uZXJGb3JtUmVjb3JkKHJlY29yZDogUmVjb3JkKSB7XHJcbiAgICBpZiAocmVjb3JkICE9IG51bGwpIHtcclxuICAgICAgY29uc3QgYXJyYXlOYW1lOiBzdHJpbmcgPSB0aGlzLnNlbGVjdGVkSW5uZXJGb3JtLk5hbWUuc3BsaXQoJyAnKS5qb2luKCdfJyk7XHJcbiAgICAgIGlmICh0aGlzLmluZGV4SW5uZXJGb3JtUmVjb3JkICE9IG51bGwgJiYgdGhpcy5pbmRleElubmVyRm9ybVJlY29yZCA+PSAwKSB7XHJcbiAgICAgICAgdGhpcy5yZWNvcmRbYXJyYXlOYW1lXVt0aGlzLmluZGV4SW5uZXJGb3JtUmVjb3JkXSA9IHJlY29yZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoIXRoaXMucmVjb3JkW2FycmF5TmFtZV0pIHtcclxuICAgICAgICAgIHRoaXMucmVjb3JkW2FycmF5TmFtZV0gPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZWNvcmRbYXJyYXlOYW1lXS5wdXNoKHJlY29yZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZGlhbG9nSW5uZXJGb3JtUmVjb3JkUmVmLmNsb3NlKCk7XHJcblxyXG4gICAgLy8gUmljYXJpY28gbGEgdGFiZWxsYSBkZWkgcmVjb3JkIHBlciB2aXN1YWxpenphcmUgbGUgbW9kaWZpY2hlIGZhdHRlIGRhbGwndXRlbnRlLlxyXG4gICAgaWYgKHRoaXMubGlzdElubmVyRm9ybVJlY29yZHMgJiYgdGhpcy5saXN0SW5uZXJGb3JtUmVjb3Jkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMubGlzdElubmVyRm9ybVJlY29yZHMuZm9yRWFjaChsaXN0ID0+IHtcclxuICAgICAgICBpZiAobGlzdCAmJiBsaXN0LnRhYmxlUmVjb3Jkcykge1xyXG4gICAgICAgICAgbGlzdC50YWJsZVJlY29yZHMucmVsb2FkRGF0YXRhYmxlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHRleHQtZmllbGQtdGVtcGxhdGUgI2ZpZWxkVGVtcGxhdGUgKm5nSWY9XCJmaWVsZC5GaWVsZFR5cGUgPT0gRmllbGRUeXBlRW51bVsnQ2FtcG8gZGkgdGVzdG8nXVwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCJmaWVsZC5EZXNjcmlwdGlvblwiIFsocmVjb3JkKV09XCJyZWNvcmRcIiBbZmllbGRdPVwiZmllbGRcIiAocmVjb3JkQ2hhbmdlKT1cIm9uUmVjb3JkQ2hhbmdlKClcIj5cclxuPC90ZXh0LWZpZWxkLXRlbXBsYXRlPlxyXG5cclxuPHRleHRhcmVhLWZpZWxkLXRlbXBsYXRlICNmaWVsZFRlbXBsYXRlICpuZ0lmPVwiZmllbGQuRmllbGRUeXBlID09IEZpZWxkVHlwZUVudW1bJ0FyZWEgZGkgdGVzdG8nXVwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCJmaWVsZC5EZXNjcmlwdGlvblwiIFsocmVjb3JkKV09XCJyZWNvcmRcIiBbZmllbGRdPVwiZmllbGRcIiAocmVjb3JkQ2hhbmdlKT1cIm9uUmVjb3JkQ2hhbmdlKClcIj5cclxuPC90ZXh0YXJlYS1maWVsZC10ZW1wbGF0ZT5cclxuXHJcbjxib29sZWFuLWZpZWxkLXRlbXBsYXRlICNmaWVsZFRlbXBsYXRlICpuZ0lmPVwiZmllbGQuRmllbGRUeXBlID09IEZpZWxkVHlwZUVudW1bJ0Jvb2xlYW5vJ11cIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiZmllbGQuRGVzY3JpcHRpb25cIiBbKHJlY29yZCldPVwicmVjb3JkXCIgW2ZpZWxkXT1cImZpZWxkXCIgKHJlY29yZENoYW5nZSk9XCJvblJlY29yZENoYW5nZSgpXCI+XHJcbjwvYm9vbGVhbi1maWVsZC10ZW1wbGF0ZT5cclxuXHJcbjxkYXRlLWZpZWxkLXRlbXBsYXRlICNmaWVsZFRlbXBsYXRlICpuZ0lmPVwiZmllbGQuRmllbGRUeXBlID09IEZpZWxkVHlwZUVudW1bJ0RhdGEgZS9vIG9yYSddXCJcclxuICAgIFttYXRUb29sdGlwXT1cImZpZWxkLkRlc2NyaXB0aW9uXCIgWyhyZWNvcmQpXT1cInJlY29yZFwiIFtmaWVsZF09XCJmaWVsZFwiIChyZWNvcmRDaGFuZ2UpPVwib25SZWNvcmRDaGFuZ2UoKVwiPlxyXG48L2RhdGUtZmllbGQtdGVtcGxhdGU+XHJcblxyXG48bnVtZXJpYy1maWVsZC10ZW1wbGF0ZSAjZmllbGRUZW1wbGF0ZSAqbmdJZj1cImZpZWxkLkZpZWxkVHlwZSA9PSBGaWVsZFR5cGVFbnVtWydDYW1wbyBudW1lcmljbyddXCJcclxuICAgIFttYXRUb29sdGlwXT1cImZpZWxkLkRlc2NyaXB0aW9uXCIgWyhyZWNvcmQpXT1cInJlY29yZFwiIFtmaWVsZF09XCJmaWVsZFwiIChyZWNvcmRDaGFuZ2UpPVwib25SZWNvcmRDaGFuZ2UoKVwiPlxyXG48L251bWVyaWMtZmllbGQtdGVtcGxhdGU+XHJcblxyXG48bGlzdC12YWx1ZS1maWVsZC10ZW1wbGF0ZSAjZmllbGRUZW1wbGF0ZSAqbmdJZj1cImZpZWxkLkZpZWxkVHlwZSA9PSBGaWVsZFR5cGVFbnVtWydFbGVuY28gZ2VuZXJpY28nXVwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCJmaWVsZC5EZXNjcmlwdGlvblwiIFsocmVjb3JkKV09XCJyZWNvcmRcIiBbZmllbGRdPVwiZmllbGRcIiAocmVjb3JkQ2hhbmdlKT1cIm9uUmVjb3JkQ2hhbmdlKClcIj5cclxuPC9saXN0LXZhbHVlLWZpZWxkLXRlbXBsYXRlPlxyXG5cclxuPGF0dGFjaG1lbnQtZmllbGQtdGVtcGxhdGUgI2ZpZWxkVGVtcGxhdGUgKm5nSWY9XCJmaWVsZC5GaWVsZFR5cGUgPT0gRmllbGRUeXBlRW51bVsnQWxsZWdhdG8nXVwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCJmaWVsZC5EZXNjcmlwdGlvblwiIFsocmVjb3JkKV09XCJyZWNvcmRcIiBbZmllbGRdPVwiZmllbGRcIiAocmVjb3JkQ2hhbmdlKT1cIm9uUmVjb3JkQ2hhbmdlKClcIj5cclxuPC9hdHRhY2htZW50LWZpZWxkLXRlbXBsYXRlPlxyXG5cclxuPGltYWdlLWZpZWxkLXRlbXBsYXRlICNmaWVsZFRlbXBsYXRlICpuZ0lmPVwiZmllbGQuRmllbGRUeXBlID09IEZpZWxkVHlwZUVudW1bJ0ltbWFnaW5lJ11cIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiZmllbGQuRGVzY3JpcHRpb25cIiBbKHJlY29yZCldPVwicmVjb3JkXCIgW2ZpZWxkXT1cImZpZWxkXCIgKHJlY29yZENoYW5nZSk9XCJvblJlY29yZENoYW5nZSgpXCI+XHJcbjwvaW1hZ2UtZmllbGQtdGVtcGxhdGU+XHJcblxyXG48bGlzdC1mb3JtLXJlY29yZCAjbGlzdElubmVyRm9ybVJlY29yZHMgKm5nSWY9XCJmaWVsZC5GaWVsZFR5cGUgPT0gRmllbGRUeXBlRW51bVsnRm9ybSBkaSBkZXR0YWdsaW8nXVwiXHJcbiAgICBbZm9ybV09XCJnZXRJbm5lckZvcm1Gcm9tRmllbGQoZmllbGQpXCIgW2NvbmZpZ3VyYXRpb25zXT1cImNvbmZpZ0xpc3RcIlxyXG4gICAgKG9uQWRkVmlld0VkaXRSZWNvcmQpPVwib25BZGRWaWV3RWRpdElubmVyRm9ybVJlY29yZCgkZXZlbnQsIGZpZWxkKVwiPlxyXG48L2xpc3QtZm9ybS1yZWNvcmQ+XHJcblxyXG48IS0tIERJQUxPRyBQRVIgQUdHSVVOR0VSRS9NT0RJRklDQVJFL1ZJU1VBTElaWkFSRSBVTiBSRUNPUkQgSU4gVU5BIEZPUk0gREkgREVUVEFHTElPIC0tPlxyXG48bmctdGVtcGxhdGUgI2RpYWxvZ0lubmVyRm9ybVJlY29yZD5cclxuICAgIDxhZGQtZm9ybS1yZWNvcmQgW2Zvcm1dPVwic2VsZWN0ZWRJbm5lckZvcm1cIiBbcmVjb3JkXT1cInNlbGVjdGVkSW5uZXJGb3JtUmVjb3JkXCIgW29ubHlWaWV3XT1cIm9ubHlWaWV3SW5uZXJGb3JtUmVjb3JkXCJcclxuICAgICAgICAoc2F2ZVJlY29yZEV2ZW50KT1cIm9uU2F2ZUlubmVyRm9ybVJlY29yZCgkZXZlbnQpXCI+PC9hZGQtZm9ybS1yZWNvcmQ+XHJcbjwvbmctdGVtcGxhdGU+Il19
|