@tetacom/ng-components 1.0.115 → 1.0.117
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/assets/icons.svg +32 -0
- package/esm2020/common/util/position-util.mjs +3 -3
- package/esm2020/component/table/table/table.component.mjs +2 -1
- package/fesm2015/tetacom-ng-components.mjs +3 -2
- package/fesm2015/tetacom-ng-components.mjs.map +1 -1
- package/fesm2020/tetacom-ng-components.mjs +3 -2
- package/fesm2020/tetacom-ng-components.mjs.map +1 -1
- package/package.json +1 -1
package/assets/icons.svg
CHANGED
|
@@ -300,6 +300,12 @@
|
|
|
300
300
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
301
301
|
d="M10 9L15 4V2H1V4L6 9V14L10 12V9ZM9 11.382V8.58579L14 3.58579V3H2V3.58579L7 8.58579V12.382L9 11.382Z"></path>
|
|
302
302
|
</symbol>
|
|
303
|
+
<symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="filterApplied">
|
|
304
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 9L15 4V2H1V4L6 9V14L10 12V9ZM9 11.382V8.58579L14 3.58579V3H2V3.58579L7 8.58579V12.382L9 11.382Z" fill-opacity="0.87"/>
|
|
305
|
+
<path d="M15 4C15 5.65685 13.6569 7 12 7C10.3431 7 9 5.65685 9 4C9 2.34315 10.3431 1 12 1C13.6569 1 15 2.34315 15 4Z" fill="#DE2C2C"/>
|
|
306
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 4C16 6.20914 14.2091 8 12 8C9.79086 8 8 6.20914 8 4C8 1.79086 9.79086 0 12 0C14.2091 0 16 1.79086 16 4ZM12 7C13.6569 7 15 5.65685 15 4C15 2.34315 13.6569 1 12 1C10.3431 1 9 2.34315 9 4C9 5.65685 10.3431 7 12 7Z"/>
|
|
307
|
+
</symbol>
|
|
308
|
+
|
|
303
309
|
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" id="filterClear">
|
|
304
310
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
305
311
|
d="M1.58578 2H1V3V4L6 9V12.882V14L7 13.5L10 12V10.4142L9 9.41422V11.382L7 12.382V9V8.58579L6.70711 8.29289L2 3.58579V3H2.58578L1.58578 2ZM9.29289 8.29289L10 9L15 4V3V2H14H3L4 3H14V3.58579L9.29289 8.29289Z"></path>
|
|
@@ -415,6 +421,19 @@
|
|
|
415
421
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
416
422
|
d="M4 8V13H12V8H4ZM6.22222 7V4.77778C6.22222 3.79594 7.01816 3 8 3C8.98184 3 9.77778 3.79594 9.77778 4.77778V7H6.22222ZM8 2C9.53412 2 10.7778 3.24365 10.7778 4.77778V7H13V14H3V7H5.22222V4.77778C5.22222 3.24365 6.46588 2 8 2Z"></path>
|
|
417
423
|
</symbol>
|
|
424
|
+
<symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="magicWand">
|
|
425
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.0041 12.7066C1.61358 12.3161 1.61358 11.6829 2.0041 11.2924L11.2981 1.99837C11.6887 1.60785 12.3218 1.60785 12.7124 1.99837L14.005 3.29105C14.3956 3.68157 14.3956 4.31474 14.005 4.70526L4.711 13.9993C4.32047 14.3898 3.68731 14.3898 3.29678 13.9993L2.0041 12.7066ZM12.0052 2.70548L2.71121 11.9995L4.00389 13.2922L13.2979 3.99816L12.0052 2.70548Z" fill-opacity="0.87"/>
|
|
426
|
+
<path d="M9.70703 5L11.0078 6.30078L10.3007 7.00789L8.99992 5.70711L9.70703 5Z" fill-opacity="0.87"/>
|
|
427
|
+
<path d="M2.00415 3.99835C2.00415 3.72221 2.22801 3.49835 2.50415 3.49835H5.50415C5.78029 3.49835 6.00415 3.72221 6.00415 3.99835C6.00415 4.27449 5.78029 4.49835 5.50415 4.49835H2.50415C2.22801 4.49835 2.00415 4.27449 2.00415 3.99835Z" fill-opacity="0.87"/>
|
|
428
|
+
<path d="M4.00415 1.99835C4.28029 1.99835 4.50415 2.22221 4.50415 2.49835V3.49835H3.50415L3.50415 2.49835C3.50415 2.22221 3.72801 1.99835 4.00415 1.99835Z" fill-opacity="0.87"/>
|
|
429
|
+
<path d="M4.00415 5.99835C3.72801 5.99835 3.50415 5.77449 3.50415 5.49835L3.50415 4.49835H4.50415V5.49835C4.50415 5.77449 4.28029 5.99835 4.00415 5.99835Z" fill-opacity="0.87"/>
|
|
430
|
+
<path d="M11 9C11 8.72386 11.2239 8.5 11.5 8.5H14.5C14.7761 8.5 15 8.72386 15 9C15 9.27614 14.7761 9.5 14.5 9.5H11.5C11.2239 9.5 11 9.27614 11 9Z" fill-opacity="0.87"/>
|
|
431
|
+
<path d="M13 7C13.2761 7 13.5 7.22386 13.5 7.5V8.5H12.5L12.5 7.5C12.5 7.22386 12.7239 7 13 7Z" fill-opacity="0.87"/>
|
|
432
|
+
<path d="M13 11C12.7239 11 12.5 10.7761 12.5 10.5L12.5 9.5H13.5V10.5C13.5 10.7761 13.2761 11 13 11Z" fill-opacity="0.87"/>
|
|
433
|
+
<path d="M9 12.5C9 12.2239 9.22386 12 9.5 12H11.5C11.7761 12 12 12.2239 12 12.5C12 12.7761 11.7761 13 11.5 13H9.5C9.22386 13 9 12.7761 9 12.5Z" fill-opacity="0.87"/>
|
|
434
|
+
<path d="M10.5 11C10.7761 11 11 11.2239 11 11.5V12H10V11.5C10 11.2239 10.2239 11 10.5 11Z" fill-opacity="0.87"/>
|
|
435
|
+
<path d="M11 13V13.5C11 13.7761 10.7761 14 10.5 14C10.2239 14 10 13.7761 10 13.5V13H11Z" fill-opacity="0.87"/>
|
|
436
|
+
</symbol>
|
|
418
437
|
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" id="map">
|
|
419
438
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
420
439
|
d="M8.0003 5.66663C7.29847 5.66663 6.72754 6.23022 6.72754 6.92375C6.72754 7.61657 7.29847 8.17945 8.0003 8.17945C8.70214 8.17945 9.27307 7.61657 9.27307 6.92375C9.27307 6.23022 8.70214 5.66663 8.0003 5.66663ZM8.00043 9.25639C6.69711 9.25639 5.63672 8.21034 5.63672 6.92377C5.63672 5.63649 6.69711 4.58972 8.00043 4.58972C9.30374 4.58972 10.3641 5.63649 10.3641 6.92377C10.3641 8.21034 9.30374 9.25639 8.00043 9.25639Z"></path>
|
|
@@ -426,6 +445,11 @@
|
|
|
426
445
|
d="M7.99957 2.0769C5.29258 2.0769 3.09033 4.27167 3.09033 6.96829C3.09033 10.3994 7.18064 13.7421 7.99957 13.9202C8.81851 13.7414 12.9088 10.3986 12.9088 6.96829C12.9088 4.27167 10.7066 2.0769 7.99957 2.0769ZM7.99969 15C6.69493 15 1.99951 11.0139 1.99951 6.96831C1.99951 3.67723 4.69123 1 7.99969 1C11.3082 1 13.9999 3.67723 13.9999 6.96831C13.9999 11.0139 9.30446 15 7.99969 15Z"></path>
|
|
427
446
|
</g>
|
|
428
447
|
</symbol>
|
|
448
|
+
<symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="mapCard">
|
|
449
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.5 1.19104V12.3091L10 14.5591L6 12.5591L1.5 14.8091V3.69104L6 1.44104L10 3.44104L14.5 1.19104ZM9.5 4.30907L6.5 2.80907V11.691L9.5 13.191V4.30907ZM10.5 13.191L13.5 11.691V2.80907L10.5 4.30907V13.191ZM5.5 11.691V2.80907L2.5 4.30907V13.191L5.5 11.691Z"/>
|
|
450
|
+
</symbol>
|
|
451
|
+
|
|
452
|
+
|
|
429
453
|
<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" id="menu">
|
|
430
454
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 13H14V14H2V13ZM2 8H14V9H2V8ZM2 3H14V4H2V3Z"></path>
|
|
431
455
|
</symbol>
|
|
@@ -843,5 +867,13 @@
|
|
|
843
867
|
d="M10.6807 3H11.8765L8.49998 8.1493L8.5002 13H7.49997V8.15345L4.00793 3H5.21589L7.99314 7.09859L10.6807 3Z"
|
|
844
868
|
></path>
|
|
845
869
|
</symbol>
|
|
870
|
+
<symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="zoom">
|
|
871
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.3346 11.0421C9.44987 11.8345 8.28121 12.3164 7 12.3164C4.23858 12.3164 2 10.0778 2 7.31641C2 4.55498 4.23858 2.31641 7 2.31641C9.76142 2.31641 12 4.55498 12 7.31641C12 8.43617 11.6319 9.46996 11.0101 10.3034L13.9797 13.273L13.2726 13.9801L10.3346 11.0421ZM11 7.31641C11 9.52555 9.20914 11.3164 7 11.3164C4.79086 11.3164 3 9.52555 3 7.31641C3 5.10727 4.79086 3.31641 7 3.31641C9.20914 3.31641 11 5.10727 11 7.31641Z" fill-opacity="0.87"/>
|
|
872
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.50005 9.81641L6.50005 4.81641L7.50005 4.81641L7.50005 9.81641H6.50005Z" fill-opacity="0.87"/>
|
|
873
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.5 7.81646H4.46094V6.81646H6.5V7.81646Z" fill-opacity="0.87"/>
|
|
874
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.53906 7.81646H7.5V6.81646H9.53906V7.81646Z" fill-opacity="0.87"/>
|
|
875
|
+
</symbol>
|
|
876
|
+
|
|
877
|
+
|
|
846
878
|
</defs>
|
|
847
879
|
</svg>
|
|
@@ -95,10 +95,10 @@ export class PositionUtil {
|
|
|
95
95
|
if (rect.top < 0) {
|
|
96
96
|
rect.top = 0;
|
|
97
97
|
}
|
|
98
|
-
if (verticalAlign === VerticalAlign.bottom || verticalAlign === VerticalAlign.center) {
|
|
98
|
+
if (verticalAlign === VerticalAlign.bottom || verticalAlign === VerticalAlign.center || verticalAlign === VerticalAlign.innerBottom) {
|
|
99
99
|
rect.maxHeight = window.innerHeight - rect.top;
|
|
100
100
|
}
|
|
101
|
-
if (verticalAlign === VerticalAlign.top) {
|
|
101
|
+
if (verticalAlign === VerticalAlign.top || verticalAlign === VerticalAlign.innerTop) {
|
|
102
102
|
rect.maxHeight = containerPosition.top;
|
|
103
103
|
}
|
|
104
104
|
rect.left = rect.left - transformedParentRect.left;
|
|
@@ -127,4 +127,4 @@ export class PositionUtil {
|
|
|
127
127
|
return maxWidth;
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24tdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vdXRpbC9wb3NpdGlvbi11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFMUQsTUFBTSxPQUFPLFlBQVk7SUFDaEIsTUFBTSxDQUFDLFdBQVcsQ0FDdkIsaUJBQXdCLEVBQ3hCLGVBQXNCLEVBQ3RCLEtBQVksRUFDWixhQUE0QixFQUM1QixTQUFpQixDQUFDLEVBQ2xCLGlCQUF5QixDQUFDLEVBQzFCLHdCQUErQjtRQUM3QixJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxDQUFDO1FBQ1IsR0FBRyxFQUFFLENBQUM7UUFDTixNQUFNLEVBQUUsQ0FBQztLQUNWO1FBRUQsTUFBTSxJQUFJLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztRQUNsRSxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUM7UUFDbkUsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUN4RSxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDO1FBQ3pFLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDeEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDbkIsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksR0FBRyxZQUFZLEVBQUU7Z0JBQzdELEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO2FBQ3JCO1NBQ0Y7UUFDRCxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztTQUM3QztRQUNELElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsWUFBWSxHQUFHLE1BQU0sQ0FBQztTQUM3RDtRQUNELElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDMUIsSUFBSSxDQUFDLElBQUk7Z0JBQ1AsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztvQkFDdEQsWUFBWSxHQUFHLENBQUMsQ0FBQztTQUNwQjtRQUNELElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFDN0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDekIsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLEtBQUssR0FBRyxZQUFZLEVBQUU7Z0JBQzlELEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO2FBQ3pCO1NBQ0Y7UUFDRCxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxHQUFHLFlBQVksR0FBRyxNQUFNLENBQUM7U0FDNUQ7UUFDRCxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztTQUM5QztRQUVELElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1NBQ25FO1FBRUQsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7WUFDNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUM7U0FDaEM7UUFFRCxJQUFJLGFBQWEsS0FBSyxhQUFhLENBQUMsSUFBSSxFQUFFO1lBQ3hDLElBQ0UsaUJBQWlCLENBQUMsTUFBTTtnQkFDeEIsQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUM7Z0JBQzlDLE1BQU0sQ0FBQyxXQUFXLEVBQ2xCO2dCQUNBLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO2FBQ3RDO2lCQUFNO2dCQUNMLGFBQWEsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDO2FBQ25DO1NBQ0Y7UUFDRCxJQUFJLGFBQWEsS0FBSyxhQUFhLENBQUMsU0FBUyxFQUFFO1lBQzdDLElBQ0UsaUJBQWlCLENBQUMsTUFBTTtnQkFDeEIsQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUM7Z0JBQzlDLE1BQU0sQ0FBQyxXQUFXLEVBQ2xCO2dCQUNBLGFBQWEsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDO2FBQzNDO2lCQUFNO2dCQUNMLGFBQWEsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDO2FBQ3hDO1NBQ0Y7UUFDRCxJQUFJLGFBQWEsS0FBSyxhQUFhLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxHQUFHLGFBQWEsR0FBRyxjQUFjLENBQUM7U0FDbkU7UUFDRCxJQUFJLGFBQWEsS0FBSyxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQzFDLElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQztTQUN0RDtRQUNELElBQUksYUFBYSxLQUFLLGFBQWEsQ0FBQyxRQUFRLEVBQUU7WUFDNUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsYUFBYSxHQUFHLGNBQWMsQ0FBQztTQUN0RTtRQUNELElBQUksYUFBYSxLQUFLLGFBQWEsQ0FBQyxXQUFXLEVBQUU7WUFDL0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcsY0FBYyxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxhQUFhLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUMxQyxJQUFJLENBQUMsR0FBRztnQkFDTixDQUFDLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO29CQUN0RCxhQUFhLEdBQUcsQ0FBQyxDQUFDO1NBQ3JCO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztTQUNmO1FBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLGFBQWEsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztTQUNkO1FBQ0QsSUFBSSxhQUFhLEtBQUssYUFBYSxDQUFDLE1BQU0sSUFBSSxhQUFhLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUNwRixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUNoRDtRQUNELElBQUksYUFBYSxLQUFLLGFBQWEsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUM7U0FDeEM7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7UUFDckQsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFvQixFQUFFLElBQVc7UUFDaEUsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckUsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTO1lBQ3JCLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3RELE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzdFLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQWU7UUFDeEMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFlO1FBQ3ZDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztRQUNwQixRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJUmVjdH0gZnJvbSAnLi4vY29udHJhY3QvaS1yZWN0JztcbmltcG9ydCB7QWxpZ259IGZyb20gJy4uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uL2VudW0vdmVydGljYWwtYWxpZ24uZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBQb3NpdGlvblV0aWwge1xuICBwdWJsaWMgc3RhdGljIGdldFBvc2l0aW9uKFxuICAgIGNvbnRhaW5lclBvc2l0aW9uOiBJUmVjdCxcbiAgICBlbGVtZW50UG9zaXRpb246IElSZWN0LFxuICAgIGFsaWduOiBBbGlnbixcbiAgICB2ZXJ0aWNhbEFsaWduOiBWZXJ0aWNhbEFsaWduLFxuICAgIG1hcmdpbjogbnVtYmVyID0gMCxcbiAgICB2ZXJ0aWNhbE1hcmdpbjogbnVtYmVyID0gMCxcbiAgICB0cmFuc2Zvcm1lZFBhcmVudFJlY3Q6IElSZWN0ID0ge1xuICAgICAgbGVmdDogMCxcbiAgICAgIHJpZ2h0OiAwLFxuICAgICAgdG9wOiAwLFxuICAgICAgYm90dG9tOiAwXG4gICAgfVxuICApOiBJUmVjdCB7XG4gICAgY29uc3QgcmVjdDogSVJlY3QgPSB7fTtcbiAgICBjb25zdCBlbGVtZW50V2lkdGggPSBlbGVtZW50UG9zaXRpb24ucmlnaHQgLSBlbGVtZW50UG9zaXRpb24ubGVmdDtcbiAgICBjb25zdCBlbGVtZW50SGVpZ2h0ID0gZWxlbWVudFBvc2l0aW9uLmJvdHRvbSAtIGVsZW1lbnRQb3NpdGlvbi50b3A7XG4gICAgY29uc3QgY29udGFpbmVyV2lkdGggPSBjb250YWluZXJQb3NpdGlvbi5yaWdodCAtIGNvbnRhaW5lclBvc2l0aW9uLmxlZnQ7XG4gICAgY29uc3QgY29udGFpbmVySGVpZ2h0ID0gY29udGFpbmVyUG9zaXRpb24uYm90dG9tIC0gY29udGFpbmVyUG9zaXRpb24udG9wO1xuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24uYXV0bykge1xuICAgICAgYWxpZ24gPSBBbGlnbi5sZWZ0O1xuICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgY29udGFpbmVyUG9zaXRpb24ubGVmdCArIGVsZW1lbnRXaWR0aCkge1xuICAgICAgICBhbGlnbiA9IEFsaWduLnJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLmxlZnQpIHtcbiAgICAgIHJlY3QubGVmdCA9IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBtYXJnaW47XG4gICAgfVxuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24ucmlnaHQpIHtcbiAgICAgIHJlY3QubGVmdCA9IGNvbnRhaW5lclBvc2l0aW9uLnJpZ2h0IC0gZWxlbWVudFdpZHRoIC0gbWFyZ2luO1xuICAgIH1cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLmNlbnRlcikge1xuICAgICAgcmVjdC5sZWZ0ID1cbiAgICAgICAgKGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBjb250YWluZXJQb3NpdGlvbi5yaWdodCkgLyAyIC1cbiAgICAgICAgZWxlbWVudFdpZHRoIC8gMjtcbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5vdXRlckF1dG8pIHtcbiAgICAgIGFsaWduID0gQWxpZ24ub3V0ZXJSaWdodDtcbiAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IGNvbnRhaW5lclBvc2l0aW9uLnJpZ2h0ICsgZWxlbWVudFdpZHRoKSB7XG4gICAgICAgIGFsaWduID0gQWxpZ24ub3V0ZXJMZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLm91dGVyTGVmdCkge1xuICAgICAgcmVjdC5sZWZ0ID0gY29udGFpbmVyUG9zaXRpb24ubGVmdCAtIGVsZW1lbnRXaWR0aCArIG1hcmdpbjtcbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5vdXRlclJpZ2h0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5yaWdodCAtIG1hcmdpbjtcbiAgICB9XG5cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLmZpdFdpZHRoKSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgbWFyZ2luO1xuICAgICAgcmVjdC5yaWdodCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gY29udGFpbmVyUG9zaXRpb24ucmlnaHQgKyBtYXJnaW47XG4gICAgfVxuXG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5taW5XaWR0aCkge1xuICAgICAgcmVjdC5sZWZ0ID0gY29udGFpbmVyUG9zaXRpb24ubGVmdCArIG1hcmdpbjtcbiAgICAgIHJlY3QubWluV2lkdGggPSBjb250YWluZXJXaWR0aDtcbiAgICB9XG5cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5hdXRvKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSArXG4gICAgICAgIChlbGVtZW50UG9zaXRpb24uYm90dG9tIC0gZWxlbWVudFBvc2l0aW9uLnRvcCkgPD1cbiAgICAgICAgd2luZG93LmlubmVySGVpZ2h0XG4gICAgICApIHtcbiAgICAgICAgdmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24uYm90dG9tO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24udG9wO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5pbm5lckF1dG8pIHtcbiAgICAgIGlmIChcbiAgICAgICAgY29udGFpbmVyUG9zaXRpb24uYm90dG9tICtcbiAgICAgICAgKGVsZW1lbnRQb3NpdGlvbi5ib3R0b20gLSBlbGVtZW50UG9zaXRpb24udG9wKSA8PVxuICAgICAgICB3aW5kb3cuaW5uZXJIZWlnaHRcbiAgICAgICkge1xuICAgICAgICB2ZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5pbm5lckJvdHRvbTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLmlubmVyVG9wO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi50b3ApIHtcbiAgICAgIHJlY3QudG9wID0gY29udGFpbmVyUG9zaXRpb24udG9wIC0gZWxlbWVudEhlaWdodCAtIHZlcnRpY2FsTWFyZ2luO1xuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5ib3R0b20pIHtcbiAgICAgIHJlY3QudG9wID0gY29udGFpbmVyUG9zaXRpb24uYm90dG9tICsgdmVydGljYWxNYXJnaW47XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmlubmVyVG9wKSB7XG4gICAgICByZWN0LnRvcCA9IGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSAtIGVsZW1lbnRIZWlnaHQgLSB2ZXJ0aWNhbE1hcmdpbjtcbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uaW5uZXJCb3R0b20pIHtcbiAgICAgIHJlY3QudG9wID0gY29udGFpbmVyUG9zaXRpb24udG9wICsgdmVydGljYWxNYXJnaW47XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmNlbnRlcikge1xuICAgICAgcmVjdC50b3AgPVxuICAgICAgICAoY29udGFpbmVyUG9zaXRpb24udG9wICsgY29udGFpbmVyUG9zaXRpb24uYm90dG9tKSAvIDIgLVxuICAgICAgICBlbGVtZW50SGVpZ2h0IC8gMjtcbiAgICB9XG5cbiAgICBpZiAocmVjdC5sZWZ0IDwgMCkge1xuICAgICAgcmVjdC5sZWZ0ID0gMDtcbiAgICB9XG4gICAgaWYgKHJlY3QudG9wICsgZWxlbWVudEhlaWdodCA+IHdpbmRvdy5pbm5lckhlaWdodCB8fCByZWN0LmJvdHRvbSA8IDApIHtcbiAgICAgIHJlY3QuYm90dG9tID0gMDtcbiAgICB9XG4gICAgaWYgKHJlY3QudG9wIDwgMCkge1xuICAgICAgcmVjdC50b3AgPSAwO1xuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5ib3R0b20gfHwgdmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5jZW50ZXIpIHtcbiAgICAgIHJlY3QubWF4SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC50b3A7XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLnRvcCkge1xuICAgICAgcmVjdC5tYXhIZWlnaHQgPSBjb250YWluZXJQb3NpdGlvbi50b3A7XG4gICAgfVxuICAgIHJlY3QubGVmdCA9IHJlY3QubGVmdCAtIHRyYW5zZm9ybWVkUGFyZW50UmVjdC5sZWZ0O1xuICAgIHJlY3QucmlnaHQgPSByZWN0LnJpZ2h0IC0gdHJhbnNmb3JtZWRQYXJlbnRSZWN0LmxlZnQ7XG4gICAgcmVjdC50b3AgPSByZWN0LnRvcCAtIHRyYW5zZm9ybWVkUGFyZW50UmVjdC50b3A7XG4gICAgcmVjdC5ib3R0b20gPSByZWN0LmJvdHRvbSA/IHJlY3QuYm90dG9tIC0gdHJhbnNmb3JtZWRQYXJlbnRSZWN0LmJvdHRvbSA6IHJlY3QuYm90dG9tO1xuICAgIHJldHVybiByZWN0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZXRFbGVtZW50UG9zaXRpb24oZWxlbWVudDogSFRNTEVsZW1lbnQsIHJlY3Q6IElSZWN0KTogdm9pZCB7XG4gICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0gcmVjdC5sZWZ0ICE9IG51bGwgPyBgJHtyZWN0LmxlZnR9cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS5yaWdodCA9IHJlY3QucmlnaHQgIT0gbnVsbCA/IGAke3JlY3QucmlnaHR9cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS50b3AgPSByZWN0LnRvcCAhPSBudWxsID8gYCR7cmVjdC50b3B9cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS5ib3R0b20gPSByZWN0LmJvdHRvbSAhPSBudWxsID8gYCR7cmVjdC5ib3R0b219cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS5tYXhIZWlnaHQgPVxuICAgICAgcmVjdC5tYXhIZWlnaHQgIT0gbnVsbCA/IGAke3JlY3QubWF4SGVpZ2h0fXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUubWluV2lkdGggPSByZWN0Lm1pbldpZHRoICE9IG51bGwgPyBgJHtyZWN0Lm1pbldpZHRofXB4YCA6ICcnO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRNYXhIZWlnaHQocG9zaXRpb246IElSZWN0KTogbnVtYmVyIHwgbnVsbCB7XG4gICAgbGV0IG1heEhlaWdodCA9IG51bGw7XG4gICAgbWF4SGVpZ2h0ID0gMTtcbiAgICByZXR1cm4gbWF4SGVpZ2h0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRNYXhXaWR0aChwb3NpdGlvbjogSVJlY3QpOiBudW1iZXIgfCBudWxsIHtcbiAgICBsZXQgbWF4V2lkdGggPSBudWxsO1xuICAgIG1heFdpZHRoID0gMTtcbiAgICByZXR1cm4gbWF4V2lkdGg7XG4gIH1cbn1cbiJdfQ==
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24tdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vdXRpbC9wb3NpdGlvbi11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFMUQsTUFBTSxPQUFPLFlBQVk7SUFDaEIsTUFBTSxDQUFDLFdBQVcsQ0FDdkIsaUJBQXdCLEVBQ3hCLGVBQXNCLEVBQ3RCLEtBQVksRUFDWixhQUE0QixFQUM1QixTQUFpQixDQUFDLEVBQ2xCLGlCQUF5QixDQUFDLEVBQzFCLHdCQUErQjtRQUM3QixJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxDQUFDO1FBQ1IsR0FBRyxFQUFFLENBQUM7UUFDTixNQUFNLEVBQUUsQ0FBQztLQUNWO1FBRUQsTUFBTSxJQUFJLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztRQUNsRSxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUM7UUFDbkUsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUN4RSxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDO1FBQ3pFLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDeEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDbkIsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksR0FBRyxZQUFZLEVBQUU7Z0JBQzdELEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxD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QUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckUsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTO1lBQ3JCLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3RELE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzdFLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQWU7UUFDeEMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFlO1FBQ3ZDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztRQUNwQixRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJUmVjdH0gZnJvbSAnLi4vY29udHJhY3QvaS1yZWN0JztcbmltcG9ydCB7QWxpZ259IGZyb20gJy4uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uL2VudW0vdmVydGljYWwtYWxpZ24uZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBQb3NpdGlvblV0aWwge1xuICBwdWJsaWMgc3RhdGljIGdldFBvc2l0aW9uKFxuICAgIGNvbnRhaW5lclBvc2l0aW9uOiBJUmVjdCxcbiAgICBlbGVtZW50UG9zaXRpb246IElSZWN0LFxuICAgIGFsaWduOiBBbGlnbixcbiAgICB2ZXJ0aWNhbEFsaWduOiBWZXJ0aWNhbEFsaWduLFxuICAgIG1hcmdpbjogbnVtYmVyID0gMCxcbiAgICB2ZXJ0aWNhbE1hcmdpbjogbnVtYmVyID0gMCxcbiAgICB0cmFuc2Zvcm1lZFBhcmVudFJlY3Q6IElSZWN0ID0ge1xuICAgICAgbGVmdDogMCxcbiAgICAgIHJpZ2h0OiAwLFxuICAgICAgdG9wOiAwLFxuICAgICAgYm90dG9tOiAwXG4gICAgfVxuICApOiBJUmVjdCB7XG4gICAgY29uc3QgcmVjdDogSVJlY3QgPSB7fTtcbiAgICBjb25zdCBlbGVtZW50V2lkdGggPSBlbGVtZW50UG9zaXRpb24ucmlnaHQgLSBlbGVtZW50UG9zaXRpb24ubGVmdDtcbiAgICBjb25zdCBlbGVtZW50SGVpZ2h0ID0gZWxlbWVudFBvc2l0aW9uLmJvdHRvbSAtIGVsZW1lbnRQb3NpdGlvbi50b3A7XG4gICAgY29uc3QgY29udGFpbmVyV2lkdGggPSBjb250YWluZXJQb3NpdGlvbi5yaWdodCAtIGNvbnRhaW5lclBvc2l0aW9uLmxlZnQ7XG4gICAgY29uc3QgY29udGFpbmVySGVpZ2h0ID0gY29udGFpbmVyUG9zaXRpb24uYm90dG9tIC0gY29udGFpbmVyUG9zaXRpb24udG9wO1xuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24uYXV0bykge1xuICAgICAgYWxpZ24gPSBBbGlnbi5sZWZ0O1xuICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgY29udGFpbmVyUG9zaXRpb24ubGVmdCArIGVsZW1lbnRXaWR0aCkge1xuICAgICAgICBhbGlnbiA9IEFsaWduLnJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLmxlZnQpIHtcbiAgICAgIHJlY3QubGVmdCA9IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBtYXJnaW47XG4gICAgfVxuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24ucmlnaHQpIHtcbiAgICAgIHJlY3QubGVmdCA9IGNvbnRhaW5lclBvc2l0aW9uLnJpZ2h0IC0gZWxlbWVudFdpZHRoIC0gbWFyZ2luO1xuICAgIH1cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLmNlbnRlcikge1xuICAgICAgcmVjdC5sZWZ0ID1cbiAgICAgICAgKGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBjb250YWluZXJQb3NpdGlvbi5yaWdodCkgLyAyIC1cbiAgICAgICAgZWxlbWVudFdpZHRoIC8gMjtcbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5vdXRlckF1dG8pIHtcbiAgICAgIGFsaWduID0gQWxpZ24ub3V0ZXJSaWdodDtcbiAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IGNvbnRhaW5lclBvc2l0aW9uLnJpZ2h0ICsgZWxlbWVudFdpZHRoKSB7XG4gICAgICAgIGFsaWduID0gQWxpZ24ub3V0ZXJMZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLm91dGVyTGVmdCkge1xuICAgICAgcmVjdC5sZWZ0ID0gY29udGFpbmVyUG9zaXRpb24ubGVmdCAtIGVsZW1lbnRXaWR0aCArIG1hcmdpbjtcbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5vdXRlclJpZ2h0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5yaWdodCAtIG1hcmdpbjtcbiAgICB9XG5cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLmZpdFdpZHRoKSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgbWFyZ2luO1xuICAgICAgcmVjdC5yaWdodCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gY29udGFpbmVyUG9zaXRpb24ucmlnaHQgKyBtYXJnaW47XG4gICAgfVxuXG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5taW5XaWR0aCkge1xuICAgICAgcmVjdC5sZWZ0ID0gY29udGFpbmVyUG9zaXRpb24ubGVmdCArIG1hcmdpbjtcbiAgICAgIHJlY3QubWluV2lkdGggPSBjb250YWluZXJXaWR0aDtcbiAgICB9XG5cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5hdXRvKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSArXG4gICAgICAgIChlbGVtZW50UG9zaXRpb24uYm90dG9tIC0gZWxlbWVudFBvc2l0aW9uLnRvcCkgPD1cbiAgICAgICAgd2luZG93LmlubmVySGVpZ2h0XG4gICAgICApIHtcbiAgICAgICAgdmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24uYm90dG9tO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24udG9wO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5pbm5lckF1dG8pIHtcbiAgICAgIGlmIChcbiAgICAgICAgY29udGFpbmVyUG9zaXRpb24uYm90dG9tICtcbiAgICAgICAgKGVsZW1lbnRQb3NpdGlvbi5ib3R0b20gLSBlbGVtZW50UG9zaXRpb24udG9wKSA8PVxuICAgICAgICB3aW5kb3cuaW5uZXJIZWlnaHRcbiAgICAgICkge1xuICAgICAgICB2ZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5pbm5lckJvdHRvbTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLmlubmVyVG9wO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi50b3ApIHtcbiAgICAgIHJlY3QudG9wID0gY29udGFpbmVyUG9zaXRpb24udG9wIC0gZWxlbWVudEhlaWdodCAtIHZlcnRpY2FsTWFyZ2luO1xuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5ib3R0b20pIHtcbiAgICAgIHJlY3QudG9wID0gY29udGFpbmVyUG9zaXRpb24uYm90dG9tICsgdmVydGljYWxNYXJnaW47XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmlubmVyVG9wKSB7XG4gICAgICByZWN0LnRvcCA9IGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSAtIGVsZW1lbnRIZWlnaHQgLSB2ZXJ0aWNhbE1hcmdpbjtcbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uaW5uZXJCb3R0b20pIHtcbiAgICAgIHJlY3QudG9wID0gY29udGFpbmVyUG9zaXRpb24udG9wICsgdmVydGljYWxNYXJnaW47XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmNlbnRlcikge1xuICAgICAgcmVjdC50b3AgPVxuICAgICAgICAoY29udGFpbmVyUG9zaXRpb24udG9wICsgY29udGFpbmVyUG9zaXRpb24uYm90dG9tKSAvIDIgLVxuICAgICAgICBlbGVtZW50SGVpZ2h0IC8gMjtcbiAgICB9XG5cbiAgICBpZiAocmVjdC5sZWZ0IDwgMCkge1xuICAgICAgcmVjdC5sZWZ0ID0gMDtcbiAgICB9XG4gICAgaWYgKHJlY3QudG9wICsgZWxlbWVudEhlaWdodCA+IHdpbmRvdy5pbm5lckhlaWdodCB8fCByZWN0LmJvdHRvbSA8IDApIHtcbiAgICAgIHJlY3QuYm90dG9tID0gMDtcbiAgICB9XG4gICAgaWYgKHJlY3QudG9wIDwgMCkge1xuICAgICAgcmVjdC50b3AgPSAwO1xuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5ib3R0b20gfHwgdmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5jZW50ZXIgfHwgdmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5pbm5lckJvdHRvbSkge1xuICAgICAgcmVjdC5tYXhIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSByZWN0LnRvcDtcbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24udG9wIHx8IHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uaW5uZXJUb3ApIHtcbiAgICAgIHJlY3QubWF4SGVpZ2h0ID0gY29udGFpbmVyUG9zaXRpb24udG9wO1xuICAgIH1cbiAgICByZWN0LmxlZnQgPSByZWN0LmxlZnQgLSB0cmFuc2Zvcm1lZFBhcmVudFJlY3QubGVmdDtcbiAgICByZWN0LnJpZ2h0ID0gcmVjdC5yaWdodCAtIHRyYW5zZm9ybWVkUGFyZW50UmVjdC5sZWZ0O1xuICAgIHJlY3QudG9wID0gcmVjdC50b3AgLSB0cmFuc2Zvcm1lZFBhcmVudFJlY3QudG9wO1xuICAgIHJlY3QuYm90dG9tID0gcmVjdC5ib3R0b20gPyByZWN0LmJvdHRvbSAtIHRyYW5zZm9ybWVkUGFyZW50UmVjdC5ib3R0b20gOiByZWN0LmJvdHRvbTtcbiAgICByZXR1cm4gcmVjdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2V0RWxlbWVudFBvc2l0aW9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCByZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGVsZW1lbnQuc3R5bGUubGVmdCA9IHJlY3QubGVmdCAhPSBudWxsID8gYCR7cmVjdC5sZWZ0fXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUucmlnaHQgPSByZWN0LnJpZ2h0ICE9IG51bGwgPyBgJHtyZWN0LnJpZ2h0fXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUudG9wID0gcmVjdC50b3AgIT0gbnVsbCA/IGAke3JlY3QudG9wfXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUuYm90dG9tID0gcmVjdC5ib3R0b20gIT0gbnVsbCA/IGAke3JlY3QuYm90dG9tfXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0ID1cbiAgICAgIHJlY3QubWF4SGVpZ2h0ICE9IG51bGwgPyBgJHtyZWN0Lm1heEhlaWdodH1weGAgOiAnJztcbiAgICBlbGVtZW50LnN0eWxlLm1pbldpZHRoID0gcmVjdC5taW5XaWR0aCAhPSBudWxsID8gYCR7cmVjdC5taW5XaWR0aH1weGAgOiAnJztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TWF4SGVpZ2h0KHBvc2l0aW9uOiBJUmVjdCk6IG51bWJlciB8IG51bGwge1xuICAgIGxldCBtYXhIZWlnaHQgPSBudWxsO1xuICAgIG1heEhlaWdodCA9IDE7XG4gICAgcmV0dXJuIG1heEhlaWdodDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TWF4V2lkdGgocG9zaXRpb246IElSZWN0KTogbnVtYmVyIHwgbnVsbCB7XG4gICAgbGV0IG1heFdpZHRoID0gbnVsbDtcbiAgICBtYXhXaWR0aCA9IDE7XG4gICAgcmV0dXJuIG1heFdpZHRoO1xuICB9XG59XG4iXX0=
|
|
@@ -306,6 +306,7 @@ export class TableComponent {
|
|
|
306
306
|
this.contextMenuOpenChange.emit(this.contextMenuOpen);
|
|
307
307
|
}
|
|
308
308
|
setContextMenuRow(event) {
|
|
309
|
+
this.contextMenuRow = null;
|
|
309
310
|
const rowElement = this._svc.getEventRow(event);
|
|
310
311
|
if (rowElement) {
|
|
311
312
|
const rowIndex = parseInt(rowElement.getAttribute('data-row'), 10);
|
|
@@ -464,4 +465,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
464
465
|
type: HostListener,
|
|
465
466
|
args: ['mousedown', ['$event']]
|
|
466
467
|
}] } });
|
|
467
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBSU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQU10RCxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBSXBELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDdkUsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBU3RELE1BQU0sT0FBTyxjQUFjO0lBb0V6QixZQUFvQixJQUFxQixFQUFVLFdBQXVCO1FBQXRELFNBQUksR0FBSixJQUFJLENBQWlCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFsRWpFLFNBQUksR0FBUSxFQUFFLENBQUM7UUFDZixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQWM1QixlQUFVLEdBQWUsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUUxQyxhQUFRLEdBQW1D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aWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VGFibGVTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3RhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHtUYWJsZUNvbHVtbn0gZnJvbSAnLi4vY29udHJhY3QvdGFibGUtY29sdW1uJztcbmltcG9ydCB7RmlsdGVyU3RhdGV9IGZyb20gJy4uLy4uL2ZpbHRlci9jb250YXJjdC9maWx0ZXItc3RhdGUnO1xuaW1wb3J0IHtEZXRhaWxDb21wb25lbnRCYXNlfSBmcm9tICcuLi9iYXNlL2RldGFpbC1jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQge0lDZWxsRXZlbnR9IGZyb20gJy4uL2NvbnRyYWN0L2ktY2VsbC1ldmVudCc7XG5pbXBvcnQge0lDZWxsQ29vcmRpbmF0ZXN9IGZyb20gJy4uL2NvbnRyYWN0L2ktY2VsbC1jb29yZGluYXRlcyc7XG5pbXBvcnQge2ZpbHRlciwgdGFrZVdoaWxlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0VkaXRUeXBlfSBmcm9tICcuLi9lbnVtL2VkaXQtdHlwZS5lbnVtJztcbmltcG9ydCB7RWRpdEV2ZW50fSBmcm9tICcuLi9lbnVtL2VkaXQtZXZlbnQuZW51bSc7XG5pbXBvcnQge1NlbGVjdFR5cGV9IGZyb20gJy4uL2VudW0vc2VsZWN0LXR5cGUuZW51bSc7XG5pbXBvcnQge0lJZE5hbWV9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWlkLW5hbWUnO1xuaW1wb3J0IHtJRGljdGlvbmFyeX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktZGljdGlvbmFyeSc7XG5pbXBvcnQge0lDZWxsSW5zdGFuY2UsIElDZWxsSW5zdGFuY2VFdmVudH0gZnJvbSAnLi4vY29udHJhY3QvaS1jZWxsLWluc3RhbmNlJztcbmltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vZmlsdGVyLXR5cGUuZW51bSc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHtBbGlnbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbVGFibGVTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQ8VD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZGF0YTogVFtdID0gW107XG4gIEBJbnB1dCgpIGNvbHVtbnM6IFRhYmxlQ29sdW1uW10gPSBbXTtcbiAgQElucHV0KCkgZGljdDogSURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+O1xuICBASW5wdXQoKSBmaWx0ZXJPcHRpb25zOiBJRGljdGlvbmFyeTxJSWROYW1lPGFueT5bXT47XG5cbiAgQElucHV0KClcbiAgc2V0IHN0YXRlKHN0YXRlOiBGaWx0ZXJTdGF0ZSkge1xuICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG4gIH1cblxuICBASW5wdXQoKSBjb29raWVOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZpcnR1YWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRldGFpbENvbXBvbmVudDogVHlwZTxEZXRhaWxDb21wb25lbnRCYXNlPFQ+PjtcbiAgQElucHV0KCkgYWN0aXZlUm93OiBUO1xuICBASW5wdXQoKSBzZWxlY3RlZFJvd3M6IFRbXTtcbiAgQElucHV0KCkgc2VsZWN0VHlwZTogU2VsZWN0VHlwZSA9IFNlbGVjdFR5cGUubW91c2U7XG4gIEBJbnB1dCgpIGFnZ3JlZ2F0ZTogYm9vbGVhbjtcbiAgQElucHV0KCkgdHJhY2tSb3c6IChpbmRleDogbnVtYmVyLCByb3c6IFQpID0+IGFueSA9IChpbmRleDogbnVtYmVyLCByb3c6IFQpID0+IHtcbiAgICBpZiAocm93WydpZCddKSB7XG4gICAgICByZXR1cm4gcm93WydpZCddO1xuICAgIH1cbiAgICByZXR1cm4gaW5kZXg7XG4gIH07XG4gIEBJbnB1dCgpIGVkaXRUeXBlOiBFZGl0VHlwZSA9IEVkaXRUeXBlLmNlbGw7XG4gIEBJbnB1dCgpIGVkaXRFdmVudDogRWRpdEV2ZW50ID0gRWRpdEV2ZW50LmRvdWJsZUNsaWNrO1xuICBASW5wdXQoKSByb3dFZGl0YWJsZTogYm9vbGVhbiB8ICgocm93OiBUKSA9PiBib29sZWFuKTtcbiAgQElucHV0KCkgcm93Q2xhc3M6IChyb3c6IFQsIGluZGV4PzogbnVtYmVyKSA9PiBzdHJpbmc7XG5cbiAgQElucHV0KCkgc2V0IHNjcm9sbFRvSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuX3N2Yy5zY3JvbGxUb0luZGV4KGluZGV4KTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNob3dIZWFkQ2VsbE1lbnUgPSB0cnVlO1xuICBASW5wdXQoKSBjb250ZXh0TWVudTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgY29udGV4dE1lbnVPcGVuOiBib29sZWFuO1xuICBAT3V0cHV0KCkgY29udGV4dE1lbnVPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEZpbHRlclN0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyU3RhdGU+KCk7XG4gIEBPdXRwdXQoKSBib2R5TGVmdCA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcbiAgQE91dHB1dCgpIGFjdGl2ZVJvd0NoYW5nZTogRXZlbnRFbWl0dGVyPFQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRSb3dzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VFtdPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2VsbENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2VsbEluc3RhbmNlRXZlbnQ8VD4+KCk7XG4gIEBPdXRwdXQoKSBjZWxsRG91YmxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPElDZWxsSW5zdGFuY2VFdmVudDxUPj4oKTtcbiAgQE91dHB1dCgpIGNlbGxGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8SUNlbGxJbnN0YW5jZUV2ZW50PFQ+PigpO1xuICBAT3V0cHV0KCkgY2VsbEtleURvd24gPSBuZXcgRXZlbnRFbWl0dGVyPElDZWxsSW5zdGFuY2VFdmVudDxUPj4oKTtcbiAgQE91dHB1dCgpIHJvd0xlZnQgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG4gIEBPdXRwdXQoKSByb3dFZGl0U3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPElDZWxsSW5zdGFuY2U8VD4+KCk7XG4gIEBPdXRwdXQoKSByb3dFZGl0RW5kID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuICBAT3V0cHV0KCkgY2VsbEVkaXRTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8SUNlbGxJbnN0YW5jZTxUPj4oKTtcbiAgQE91dHB1dCgpIGNlbGxFZGl0RW5kID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2VsbEluc3RhbmNlPFQ+PigpO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElDZWxsSW5zdGFuY2U8VD4+KCk7XG4gIEBPdXRwdXQoKSB0YWJsZVNlcnZpY2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRhYmxlU2VydmljZTxUPj4oKTtcbiAgQFZpZXdDaGlsZCgnY29udGV4dE1lbnUnLCB7c3RhdGljOiB0cnVlfSkgbWVudTogRWxlbWVudFJlZjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50YWJsZScpIHByaXZhdGUgcmVhZG9ubHkgdGFibGVDbGFzcyA9IHRydWU7XG5cbiAgc2VsZWN0ZWRSb3dzTGlzdDogVFtdO1xuICBjb250ZXh0TWVudVJvdzogVDtcbiAgdmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ247XG4gIGFsaWduID0gQWxpZ247XG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfYm9keUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9oZWFkRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3N0YXRlOiBGaWx0ZXJTdGF0ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdmM6IFRhYmxlU2VydmljZTxUPiwgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuX3N2Yy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpLFxuICAgICAgICBmaWx0ZXIoKHN0YXRlKSA9PiBzdGF0ZSAhPT0gdGhpcy5fc3RhdGUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZTogRmlsdGVyU3RhdGUpID0+IHRoaXMuc3RhdGVDaGFuZ2UubmV4dChzdGF0ZSkpO1xuXG4gICAgdGhpcy5fc3ZjLmVkaXRDZWxsU3RhcnRcbiAgICAgIC5waXBlKHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgoaXRlbTogSUNlbGxFdmVudCkgPT4gdGhpcy5jZWxsRWRpdFN0YXJ0LmVtaXQodGhpcy5fc3ZjLmdldENlbGxJbnN0YW5jZShpdGVtKSkpO1xuXG4gICAgdGhpcy5fc3ZjLmVkaXRDZWxsU3RvcFxuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChpdGVtOiBJQ2VsbENvb3JkaW5hdGVzKSA9PiB0aGlzLmNlbGxFZGl0RW5kLmVtaXQodGhpcy5fc3ZjLmdldENlbGxJbnN0YW5jZShpdGVtKSkpO1xuXG4gICAgdGhpcy5fc3ZjLmVkaXRSb3dTdGFydFxuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChpdGVtOiBJQ2VsbEV2ZW50KSA9PlxuICAgICAgICB0aGlzLnJvd0VkaXRTdGFydC5lbWl0KHRoaXMuX3N2Yy5nZXRDZWxsSW5zdGFuY2UoaXRlbSkpXG4gICAgICApO1xuXG4gICAgdGhpcy5fc3ZjLmVkaXRSb3dTdG9wXG4gICAgICAucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IElDZWxsQ29vcmRpbmF0ZXMpID0+XG4gICAgICAgIHRoaXMucm93RWRpdEVuZC5lbWl0KHRoaXMuX3N2Yy5nZXRSb3dCeUluZGV4KGl0ZW0/LnJvdykpXG4gICAgICApO1xuXG4gICAgdGhpcy5fc3ZjLnNlbGVjdGVkUm93c1xuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChpdGVtczogVFtdKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzTGlzdCA9IGl0ZW1zO1xuICAgICAgICB0aGlzLnNlbGVjdGVkUm93c0NoYW5nZS5lbWl0KGl0ZW1zKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fc3ZjLmFjdGl2ZVJvd1xuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChpdGVtOiBUKSA9PiB0aGlzLmFjdGl2ZVJvd0NoYW5nZS5lbWl0KGl0ZW0pKTtcblxuICAgIHRoaXMuX3N2Yy52YWx1ZUNoYW5nZWRcbiAgICAgIC5waXBlKHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgoY29vcmRpbmF0ZXM6IElDZWxsQ29vcmRpbmF0ZXMpID0+IHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuX3N2Yy5nZXRDZWxsSW5zdGFuY2UoY29vcmRpbmF0ZXMpKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKSBoYW5kbGVDbGlja091dHNpZGVBbnlSb3coXG4gICAgZXZlbnQ6IE1vdXNlRXZlbnRcbiAgKSB7XG4gICAgY29uc3QgY29vcmRpbmF0ZXMgPSB0aGlzLmdldENvb3JkaW5hdGVzKGV2ZW50KTtcbiAgICBjb25zdCByb3cgPSB0aGlzLmdldFJvdyhldmVudCk7XG4gICAgY29uc3QgZXZlbnRJc09uUm93ID0gdGhpcy5ldmVudElzT25Sb3coZXZlbnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKGNvb3JkaW5hdGVzKSB7XG4gICAgICAgIHRoaXMuY2VsbENsaWNrLmVtaXQoe1xuICAgICAgICAgIC4uLnRoaXMuX3N2Yy5nZXRDZWxsSW5zdGFuY2UoY29vcmRpbmF0ZXMpLFxuICAgICAgICAgIGV2ZW50XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodGhpcy5lZGl0RXZlbnQgPT09IEVkaXRFdmVudC5jbGljaykge1xuICAgICAgICAgIHRoaXMuc3RhcnRFZGl0Um93T3JDZWxsKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5fc3ZjLmN1cnJlbnRFZGl0Q2VsbCAmJiAoY29vcmRpbmF0ZXMucm93ICE9PSB0aGlzLl9zdmMuY3VycmVudEVkaXRDZWxsLnJvdyB8fCBjb29yZGluYXRlcy5jb2x1bW4gIT09IHRoaXMuX3N2Yy5jdXJyZW50RWRpdENlbGwuY29sdW1uKSkge1xuICAgICAgICAgICAgdGhpcy5zdGFydEVkaXRSb3dPckNlbGwobnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAocm93KSB7XG4gICAgICAgIGlmIChldmVudC5jdHJsS2V5KSB7XG4gICAgICAgICAgdGhpcy5fc3ZjLnNlbGVjdE9yRGVzZWxlY3RSb3cocm93KTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgIHRoaXMuX3N2Yy5zZWxlY3RSYW5nZShyb3cpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3N2Yy5zZWxlY3RSb3dzKFtyb3ddKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFldmVudElzT25Sb3cgJiYgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdFR5cGUgPT09IEVkaXRUeXBlLnJvdykge1xuICAgICAgICAgIHRoaXMuX3N2Yy5zdGFydEVkaXRSb3cobnVsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fc3ZjLnN0YXJ0RWRpdENlbGwobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nLCBbJyRldmVudCddKSBmb2N1c0luKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBjb29yZGluYXRlcyA9IHRoaXMuZ2V0Q29vcmRpbmF0ZXMoZXZlbnQpO1xuICAgIGlmIChjb29yZGluYXRlcykge1xuICAgICAgdGhpcy5jZWxsRm9jdXMuZW1pdCh7XG4gICAgICAgIC4uLnRoaXMuX3N2Yy5nZXRDZWxsSW5zdGFuY2UoY29vcmRpbmF0ZXMpLFxuICAgICAgICBldmVudFxuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5lZGl0RXZlbnQgPT09IEVkaXRFdmVudC5mb2N1cykge1xuICAgICAgICB0aGlzLnN0YXJ0RWRpdFJvd09yQ2VsbChjb29yZGluYXRlcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZGJsY2xpY2snLCBbJyRldmVudCddKVxuICBkYmxjbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gdGhpcy5nZXRDb29yZGluYXRlcyhldmVudCk7XG4gICAgaWYgKGNvb3JkaW5hdGVzKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jZWxsRG91YmxlQ2xpY2suZW1pdCh7XG4gICAgICAgICAgLi4udGhpcy5fc3ZjLmdldENlbGxJbnN0YW5jZShjb29yZGluYXRlcyksXG4gICAgICAgICAgZXZlbnRcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0aGlzLmVkaXRFdmVudCA9PT0gRWRpdEV2ZW50LmRvdWJsZUNsaWNrKSB7XG4gICAgICAgICAgdGhpcy5zdGFydEVkaXRSb3dPckNlbGwoY29vcmRpbmF0ZXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAga2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5jdHJsS2V5KSB7XG4gICAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0tleUEnKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuX3N2Yy5zZWxlY3RBbGwoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuX3N2Yy5kZXNlbGVjdEFsbCgpO1xuICAgICAgaWYgKHRoaXMuZWRpdFR5cGUgPT09IEVkaXRUeXBlLnJvdykge1xuICAgICAgICB0aGlzLl9zdmMuc3RhcnRFZGl0Um93KG51bGwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc3ZjLnN0YXJ0RWRpdENlbGwobnVsbCk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gdGhpcy5nZXRDb29yZGluYXRlcyhldmVudCk7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgaWYgKHRoaXMuZWRpdFR5cGUgPT09IEVkaXRUeXBlLnJvdykge1xuICAgICAgICB0aGlzLl9zdmMuc3RhcnRFZGl0Um93KG51bGwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuX3N2Yy5jdXJyZW50RWRpdENlbGwpIHtcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLl9zdmMuZ2V0TmV4dFJvd0NlbGwoY29vcmRpbmF0ZXMpO1xuICAgICAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRFZGl0Um93T3JDZWxsKHtcbiAgICAgICAgICAgICAgcm93OiB0YXJnZXQucm93LFxuICAgICAgICAgICAgICBjb2x1bW46IHRhcmdldC5jb2x1bW4sXG4gICAgICAgICAgICAgIGV2ZW50OiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zdmMuc3RhcnRFZGl0Q2VsbChudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNvb3JkaW5hdGVzKSB7XG4gICAgICB0aGlzLmNlbGxLZXlEb3duLmVtaXQoe1xuICAgICAgICAuLi50aGlzLl9zdmMuZ2V0Q2VsbEluc3RhbmNlKGNvb3JkaW5hdGVzKSxcbiAgICAgICAgZXZlbnRcbiAgICAgIH0pO1xuICAgICAgaWYgKGV2ZW50LmtleSAmJiAoZXZlbnQua2V5Lmxlbmd0aCA9PT0gMSB8fCBldmVudC5rZXkgPT09ICdEZWxldGUnKSkge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLl9zdmMuZ2V0Q29sdW1uQnlOYW1lKGNvb3JkaW5hdGVzLmNvbHVtbik7XG4gICAgICAgIGlmIChjb2x1bW4uZmlsdGVyVHlwZSAhPT0gRmlsdGVyVHlwZS5udW1iZXIgfHwgaXNGaW5pdGUoZXZlbnQua2V5IGFzIGFueSkpIHtcbiAgICAgICAgICB0aGlzLnN0YXJ0RWRpdFJvd09yQ2VsbCh7XG4gICAgICAgICAgICByb3c6IGNvb3JkaW5hdGVzLnJvdyxcbiAgICAgICAgICAgIGNvbHVtbjogY29vcmRpbmF0ZXMuY29sdW1uLFxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdUYWInICYmIHRoaXMuX3N2Yy5jdXJyZW50RWRpdENlbGwpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuX3N2Yy5nZXROZXh0RWRpdGFibGVDZWxsKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgdGFyZ2V0ID0gdGhpcy5fc3ZjLmdldFByZXZpb3VzRWRpdGFibGVDZWxsKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgdGhpcy5zdGFydEVkaXRSb3dPckNlbGwoe1xuICAgICAgICAgICAgcm93OiB0YXJnZXQucm93LFxuICAgICAgICAgICAgY29sdW1uOiB0YXJnZXQuY29sdW1uLFxuICAgICAgICAgICAgZXZlbnQ6IHVuZGVmaW5lZFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMuX3N2Yy5jdXJyZW50RWRpdENlbGwpIHtcbiAgICAgICAgbGV0IHRhcmdldDtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnKSB7XG4gICAgICAgICAgdGFyZ2V0ID0gdGhpcy5fc3ZjLmdldE5leHRDZWxsKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgICAgIHRhcmdldCA9IHRoaXMuX3N2Yy5nZXRQcmV2aW91c0NlbGwoY29vcmRpbmF0ZXMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgICAgIHRhcmdldCA9IHRoaXMuX3N2Yy5nZXRQcmV2aW91c1Jvd0NlbGwoY29vcmRpbmF0ZXMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgdGFyZ2V0ID0gdGhpcy5fc3ZjLmdldE5leHRSb3dDZWxsKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5nZXRDZWxsRWxlbWVudCh0YXJnZXQpO1xuICAgICAgICAgIGVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKSBtb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuYnV0dG9uID09PSAyKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N2Yy5yZXN0b3JlU3RhdGUoKTtcbiAgICB0aGlzLl9zdmMucmVzdG9yZUhpZGRlbkNvbHVtbnMoKTtcbiAgICB0aGlzLnRhYmxlU2VydmljZS5lbWl0KHRoaXMuX3N2Yyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faGVhZEVsZW1lbnQgPVxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy50YWJsZS1oZWFkJyk7XG4gICAgdGhpcy5fYm9keUVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICcudGFibGUtYm9keS1jb250YWluZXInXG4gICAgKTtcbiAgICB0aGlzLl9ib2R5RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uU2Nyb2xsKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gICAgdGhpcy5fYm9keUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblNjcm9sbCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ2VkaXRUeXBlJykpIHtcbiAgICAgIHRoaXMuX3N2Yy5lZGl0VHlwZSA9IHRoaXMuZWRpdFR5cGU7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KCdzZWxlY3RUeXBlJykpIHtcbiAgICAgIHRoaXMuX3N2Yy5zZWxlY3RUeXBlID0gdGhpcy5zZWxlY3RUeXBlO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnc2VsZWN0ZWRSb3dzJykpIHtcbiAgICAgIHRoaXMuX3N2Yy5zZWxlY3RSb3dzKHRoaXMuc2VsZWN0ZWRSb3dzKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ3Jvd0VkaXRhYmxlJykpIHtcbiAgICAgIHRoaXMuX3N2Yy5yb3dFZGl0YWJsZSA9IHRoaXMucm93RWRpdGFibGU7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KCdjb29raWVOYW1lJykpIHtcbiAgICAgIHRoaXMuX3N2Yy5zZXRDb29raWVOYW1lKHRoaXMuY29va2llTmFtZSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KCdjb2x1bW5zJykpIHtcbiAgICAgIGlmICh0aGlzLmNvbHVtbnMgIT09IG51bGwgJiYgdGhpcy5jb2x1bW5zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fc3ZjLnNldENvbHVtbnModGhpcy5jb2x1bW5zKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ2RhdGEnKSkge1xuICAgICAgdGhpcy5fc3ZjLnNldERhdGEodGhpcy5kYXRhKTtcbiAgICAgIHRoaXMuX3N2Yy5zZWxlY3RSb3dzKHRoaXMuZGF0YT8uZmlsdGVyKChyb3cpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRSb3dzPy5zb21lKChzZWxlY3RlZFJvdykgPT5cbiAgICAgICAgICB0aGlzLnRyYWNrUm93KHRoaXMuX3N2Yy5nZXRSb3dJbmRleChzZWxlY3RlZFJvdyksIHNlbGVjdGVkUm93KSA9PT0gdGhpcy50cmFja1Jvdyh0aGlzLl9zdmMuZ2V0Um93SW5kZXgocm93KSwgcm93KSk7XG4gICAgICB9KSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KCdkaWN0JykpIHtcbiAgICAgIHRoaXMuX3N2Yy5zZXREaWN0KHRoaXMuZGljdCk7XG4gICAgICB0aGlzLl9zdmMuc2V0RmlsdGVyT3B0aW9ucyh0aGlzLmRpY3QpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnZmlsdGVyT3B0aW9ucycpKSB7XG4gICAgICB0aGlzLl9zdmMuc2V0RmlsdGVyT3B0aW9ucyh0aGlzLmZpbHRlck9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgndHJhY2tSb3cnKSkge1xuICAgICAgdGhpcy5fc3ZjLnRyYWNrUm93ID0gdGhpcy50cmFja1JvdztcbiAgICB9XG4gIH1cblxuICBzZXRDb250ZXh0TWVudU9wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNvbnRleHRNZW51T3BlbiA9IHZhbHVlO1xuICAgIHRoaXMuY29udGV4dE1lbnVPcGVuQ2hhbmdlLmVtaXQodGhpcy5jb250ZXh0TWVudU9wZW4pO1xuICB9XG5cbiAgc2V0Q29udGV4dE1lbnVSb3coZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBjb25zdCByb3dFbGVtZW50ID0gdGhpcy5fc3ZjLmdldEV2ZW50Um93KGV2ZW50KTtcbiAgICBpZiAocm93RWxlbWVudCkge1xuICAgICAgY29uc3Qgcm93SW5kZXggPSBwYXJzZUludChyb3dFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1yb3cnKSwgMTApO1xuICAgICAgaWYgKHJvd0luZGV4ID49IDApIHtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudVJvdyA9IHRoaXMuX3N2Yy5nZXRSb3dCeUluZGV4KHJvd0luZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0RWRpdFJvd09yQ2VsbChjb29yZGluYXRlczogSUNlbGxFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVkaXRUeXBlID09PSBFZGl0VHlwZS5yb3cpIHtcbiAgICAgIHRoaXMuX3N2Yy5zdGFydEVkaXRSb3coY29vcmRpbmF0ZXMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5lZGl0VHlwZSA9PT0gRWRpdFR5cGUuY2VsbCkge1xuICAgICAgdGhpcy5fc3ZjLnN0YXJ0RWRpdENlbGwoY29vcmRpbmF0ZXMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2VsbEVsZW1lbnQoY29vcmRpbmF0ZXM6IElDZWxsQ29vcmRpbmF0ZXMpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgIGB0ZXRhLWNlbGxbZGF0YS1yb3c9XCIke2Nvb3JkaW5hdGVzLnJvd31cIl1bZGF0YS1jb2x1bW49XCIke2Nvb3JkaW5hdGVzLmNvbHVtbn1cIl1gXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZXZlbnRJc09uUm93KGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJvdyA9IGV2ZW50LmNvbXBvc2VkUGF0aCgpLmZpbmQoKHRhcmdldDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgIHJldHVybiB0YXJnZXQ/LmdldEF0dHJpYnV0ZSAmJiB0YXJnZXQ/LmdldEF0dHJpYnV0ZSgnZGF0YS1yb3cnKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcm93ICYmIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhyb3cpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb29yZGluYXRlcyhldmVudDogRXZlbnQpOiBJQ2VsbEV2ZW50IHwgbnVsbCB7XG4gICAgaWYgKGV2ZW50LmNvbXBvc2VkUGF0aCgpLmluZGV4T2YodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSA8IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBjZWxsID0gdGhpcy5fc3ZjLmdldEV2ZW50Q2VsbChldmVudCk7XG4gICAgaWYgKGNlbGwpIHtcbiAgICAgIGNvbnN0IHJvd0luZGV4ID0gcGFyc2VJbnQoY2VsbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcm93JyksIDEwKTtcbiAgICAgIGNvbnN0IGNvbHVtbk5hbWUgPSBjZWxsLmdldEF0dHJpYnV0ZSgnZGF0YS1jb2x1bW4nKTtcbiAgICAgIGlmIChyb3dJbmRleCA+PSAwICYmIGNvbHVtbk5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByb3c6IHJvd0luZGV4LFxuICAgICAgICAgIGNvbHVtbjogY29sdW1uTmFtZSxcbiAgICAgICAgICBldmVudCxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldFJvdyhldmVudDogRXZlbnQpOiBUIHwgbnVsbCB7XG4gICAgaWYgKGV2ZW50LmNvbXBvc2VkUGF0aCgpLmluZGV4T2YodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSA8IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCByb3dFbGVtZW50ID0gdGhpcy5fc3ZjLmdldEV2ZW50Um93KGV2ZW50KTtcbiAgICBpZiAocm93RWxlbWVudCkge1xuICAgICAgY29uc3Qgcm93SW5kZXggPSBwYXJzZUludChyb3dFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1yb3cnKSwgMTApO1xuICAgICAgaWYgKHJvd0luZGV4ID49IDApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N2Yy5nZXRSb3dCeUluZGV4KHJvd0luZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIG9uU2Nyb2xsID0gKCkgPT4ge1xuICAgIHRoaXMuX2hlYWRFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLl9ib2R5RWxlbWVudC5zY3JvbGxMZWZ0O1xuICB9O1xuXG4gIC8vIHByaXZhdGUgZ2V0U2VsZWN0ZWRUZXh0KCkge1xuICAvLyAgIGxldCB0ZXh0ID0gJyc7XG4gIC8vICAgaWYgKHR5cGVvZiB3aW5kb3cuZ2V0U2VsZWN0aW9uICE9ICd1bmRlZmluZWQnKSB7XG4gIC8vICAgICB0ZXh0ID0gd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7XG4gIC8vICAgfVxuICAvLyAgIHJldHVybiB0ZXh0O1xuICAvLyB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sdW1uIGNvbHVtbl9hdXRvXCI+XG4gIDx0ZXRhLXRhYmxlLWhlYWRcbiAgICBzdHlsZT1cInotaW5kZXg6IDFcIlxuICAgIFtzZWxlY3RUeXBlXT1cInNlbGVjdFR5cGVcIlxuICAgIFtzaG93SGVhZENlbGxNZW51XT1cInNob3dIZWFkQ2VsbE1lbnVcIj48L3RldGEtdGFibGUtaGVhZD5cbiAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW5fYXV0byBwb3NpdGlvbi1yZWxhdGl2ZVwiXG4gICAgICAgc3R5bGU9XCJ6LWluZGV4OiAwXCJcbiAgICAgICBbdGV0YUNvbnRleHRNZW51XT1cImNvbnRleHRNZW51XCJcbiAgICAgICBbdmVydGljYWxBbGlnbl09XCJ2ZXJ0aWNhbEFsaWduLmF1dG9cIlxuICAgICAgIFthbGlnbl09XCJhbGlnbi5hdXRvXCJcbiAgICAgICBbYXBwZW5kVG9Cb2R5XT1cInRydWVcIlxuICAgICAgIFtkYXRhXT1cImNvbnRleHRNZW51Um93XCJcbiAgICAgICBbb3Blbl09XCJjb250ZXh0TWVudU9wZW5cIlxuICAgICAgIChvcGVuQ2hhbmdlKT1cInNldENvbnRleHRNZW51T3BlbigkZXZlbnQpXCI+XG4gICAgPHRldGEtdGFibGUtYm9keVxuICAgICAgKGNvbnRleHRtZW51KT1cInNldENvbnRleHRNZW51Um93KCRldmVudClcIlxuICAgICAgW2FnZ3JlZ2F0ZV09XCJhZ2dyZWdhdGVcIlxuICAgICAgW3ZpcnR1YWxdPVwidmlydHVhbFwiXG4gICAgICBbYWN0aXZlUm93XT1cImFjdGl2ZVJvd1wiXG4gICAgICBbc2VsZWN0ZWRSb3dzXT1cInNlbGVjdGVkUm93c0xpc3RcIlxuICAgICAgW2FkZGl0aW9uYWxDb21wb25lbnRdPVwiZGV0YWlsQ29tcG9uZW50XCJcbiAgICAgIFtzZWxlY3RUeXBlXT1cInNlbGVjdFR5cGVcIlxuICAgICAgW3Jvd0NsYXNzXT1cInJvd0NsYXNzXCI+PC90ZXRhLXRhYmxlLWJvZHk+XG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW5fYXV0b1wiXG4gICAgICAgICBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOjA7IGJvdHRvbTowO2xlZnQ6MDtyaWdodDowO1wiXG4gICAgICAgICAqbmdJZj1cIiFkYXRhPy5sZW5ndGhcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
468
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90YWJsZS90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBSU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQU10RCxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBSXBELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDdkUsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBU3RELE1BQU0sT0FBTyxjQUFjO0lBb0V6QixZQUFvQixJQUFxQixFQUFVLFdBQXVCO1FBQXRELFNBQUksR0FBSixJQUFJLENBQWlCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFsRWpFLFNBQUksR0FBUSxFQUFFLENBQUM7UUFDZixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQWM1QixlQUFVLEdBQWUsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUUxQyxhQUFRLEdBQW1D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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VGFibGVTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3RhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHtUYWJsZUNvbHVtbn0gZnJvbSAnLi4vY29udHJhY3QvdGFibGUtY29sdW1uJztcbmltcG9ydCB7RmlsdGVyU3RhdGV9IGZyb20gJy4uLy4uL2ZpbHRlci9jb250YXJjdC9maWx0ZXItc3RhdGUnO1xuaW1wb3J0IHtEZXRhaWxDb21wb25lbnRCYXNlfSBmcm9tICcuLi9iYXNlL2RldGFpbC1jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQge0lDZWxsRXZlbnR9IGZyb20gJy4uL2NvbnRyYWN0L2ktY2VsbC1ldmVudCc7XG5pbXBvcnQge0lDZWxsQ29vcmRpbmF0ZXN9IGZyb20gJy4uL2NvbnRyYWN0L2ktY2VsbC1jb29yZGluYXRlcyc7XG5pbXBvcnQge2ZpbHRlciwgdGFrZVdoaWxlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0VkaXRUeXBlfSBmcm9tICcuLi9lbnVtL2VkaXQtdHlwZS5lbnVtJztcbmltcG9ydCB7RWRpdEV2ZW50fSBmcm9tICcuLi9lbnVtL2VkaXQtZXZlbnQuZW51bSc7XG5pbXBvcnQge1NlbGVjdFR5cGV9IGZyb20gJy4uL2VudW0vc2VsZWN0LXR5cGUuZW51bSc7XG5pbXBvcnQge0lJZE5hbWV9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWlkLW5hbWUnO1xuaW1wb3J0IHtJRGljdGlvbmFyeX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktZGljdGlvbmFyeSc7XG5pbXBvcnQge0lDZWxsSW5zdGFuY2UsIElDZWxsSW5zdGFuY2VFdmVudH0gZnJvbSAnLi4vY29udHJhY3QvaS1jZWxsLWluc3RhbmNlJztcbmltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSAnLi4vLi4vZmlsdGVyL2VudW0vZmlsdGVyLXR5cGUuZW51bSc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHtBbGlnbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbVGFibGVTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQ8VD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZGF0YTogVFtdID0gW107XG4gIEBJbnB1dCgpIGNvbHVtbnM6IFRhYmxlQ29sdW1uW10gPSBbXTtcbiAgQElucHV0KCkgZGljdDogSURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+O1xuICBASW5wdXQoKSBmaWx0ZXJPcHRpb25zOiBJRGljdGlvbmFyeTxJSWROYW1lPGFueT5bXT47XG5cbiAgQElucHV0KClcbiAgc2V0IHN0YXRlKHN0YXRlOiBGaWx0ZXJTdGF0ZSkge1xuICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG4gIH1cblxuICBASW5wdXQoKSBjb29raWVOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZpcnR1YWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRldGFpbENvbXBvbmVudDogVHlwZTxEZXRhaWxDb21wb25lbnRCYXNlPFQ+PjtcbiAgQElucHV0KCkgYWN0aXZlUm93OiBUO1xuICBASW5wdXQoKSBzZWxlY3RlZFJvd3M6IFRbXTtcbiAgQElucHV0KCkgc2VsZWN0VHlwZTogU2VsZWN0VHlwZSA9IFNlbGVjdFR5cGUubW91c2U7XG4gIEBJbnB1dCgpIGFnZ3JlZ2F0ZTogYm9vbGVhbjtcbiAgQElucHV0KCkgdHJhY2tSb3c6IChpbmRleDogbnVtYmVyLCByb3c6IFQpID0+IGFueSA9IChpbmRleDogbnVtYmVyLCByb3c6IFQpID0+IHtcbiAgICBpZiAocm93WydpZCddKSB7XG4gICAgICByZXR1cm4gcm93WydpZCddO1xuICAgIH1cbiAgICByZXR1cm4gaW5kZXg7XG4gIH07XG4gIEBJbnB1dCgpIGVkaXRUeXBlOiBFZGl0VHlwZSA9IEVkaXRUeXBlLmNlbGw7XG4gIEBJbnB1dCgpIGVkaXRFdmVudDogRWRpdEV2ZW50ID0gRWRpdEV2ZW50LmRvdWJsZUNsaWNrO1xuICBASW5wdXQoKSByb3dFZGl0YWJsZTogYm9vbGVhbiB8ICgocm93OiBUKSA9PiBib29sZWFuKTtcbiAgQElucHV0KCkgcm93Q2xhc3M6IChyb3c6IFQsIGluZGV4PzogbnVtYmVyKSA9PiBzdHJpbmc7XG5cbiAgQElucHV0KCkgc2V0IHNjcm9sbFRvSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuX3N2Yy5zY3JvbGxUb0luZGV4KGluZGV4KTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNob3dIZWFkQ2VsbE1lbnUgPSB0cnVlO1xuICBASW5wdXQoKSBjb250ZXh0TWVudTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgY29udGV4dE1lbnVPcGVuOiBib29sZWFuO1xuICBAT3V0cHV0KCkgY29udGV4dE1lbnVPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEZpbHRlclN0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyU3RhdGU+KCk7XG4gIEBPdXRwdXQoKSBib2R5TGVmdCA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcbiAgQE91dHB1dCgpIGFjdGl2ZVJvd0NoYW5nZTogRXZlbnRFbWl0dGVyPFQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRSb3dzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VFtdPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2VsbENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2VsbEluc3RhbmNlRXZlbnQ8VD4+KCk7XG4gIEBPdXRwdXQoKSBjZWxsRG91YmxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPElDZWxsSW5zdGFuY2VFdmVudDxUPj4oKTtcbiAgQE91dHB1dCgpIGNlbGxGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8SUNlbGxJbnN0YW5jZUV2ZW50PFQ+PigpO1xuICBAT3V0cHV0KCkgY2VsbEtleURvd24gPSBuZXcgRXZlbnRFbWl0dGVyPElDZWxsSW5zdGFuY2VFdmVudDxUPj4oKTtcbiAgQE91dHB1dCgpIHJvd0xlZnQgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG4gIEBPdXRwdXQoKSByb3dFZGl0U3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPElDZWxsSW5zdGFuY2U8VD4+KCk7XG4gIEBPdXRwdXQoKSByb3dFZGl0RW5kID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuICBAT3V0cHV0KCkgY2VsbEVkaXRTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8SUNlbGxJbnN0YW5jZTxUPj4oKTtcbiAgQE91dHB1dCgpIGNlbGxFZGl0RW5kID0gbmV3IEV2ZW50RW1pdHRlcjxJQ2VsbEluc3RhbmNlPFQ+PigpO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElDZWxsSW5zdGFuY2U8VD4+KCk7XG4gIEBPdXRwdXQoKSB0YWJsZVNlcnZpY2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRhYmxlU2VydmljZTxUPj4oKTtcbiAgQFZpZXdDaGlsZCgnY29udGV4dE1lbnUnLCB7c3RhdGljOiB0cnVlfSkgbWVudTogRWxlbWVudFJlZjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50YWJsZScpIHByaXZhdGUgcmVhZG9ubHkgdGFibGVDbGFzcyA9IHRydWU7XG5cbiAgc2VsZWN0ZWRSb3dzTGlzdDogVFtdO1xuICBjb250ZXh0TWVudVJvdzogVDtcbiAgdmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ247XG4gIGFsaWduID0gQWxpZ247XG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfYm9keUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9oZWFkRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3N0YXRlOiBGaWx0ZXJTdGF0ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdmM6IFRhYmxlU2VydmljZTxUPiwgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuX3N2Yy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpLFxuICAgICAgICBmaWx0ZXIoKHN0YXRlKSA9PiBzdGF0ZSAhPT0gdGhpcy5fc3RhdGUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZTogRmlsdGVyU3RhdGUpID0+IHRoaXMuc3RhdGVDaGFuZ2UubmV4dChzdGF0ZSkpO1xuXG4gICAgdGhpcy5fc3ZjLmVkaXRDZWxsU3RhcnRcbiAgICAgIC5waXBlKHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgoaXRlbTogSUNlbGxFdmVudCkgPT4gdGhpcy5jZWxsRWRpdFN0YXJ0LmVtaXQodGhpcy5fc3ZjLmdldENlbGxJbnN0YW5jZShpdGVtKSkpO1xuXG4gICAgdGhpcy5fc3ZjLmVkaXRDZWxsU3RvcFxuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChpdGVtOiBJQ2VsbENvb3JkaW5hdGVzKSA9PiB0aGlzLmNlbGxFZGl0RW5kLmVtaXQodGhpcy5fc3ZjLmdldENlbGxJbnN0YW5jZShpdGVtKSkpO1xuXG4gICAgdGhpcy5fc3ZjLmVkaXRSb3dTdGFydFxuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChpdGVtOiBJQ2VsbEV2ZW50KSA9PlxuICAgICAgICB0aGlzLnJvd0VkaXRTdGFydC5lbWl0KHRoaXMuX3N2Yy5nZXRDZWxsSW5zdGFuY2UoaXRlbSkpXG4gICAgICApO1xuXG4gICAgdGhpcy5fc3ZjLmVkaXRSb3dTdG9wXG4gICAgICAucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IElDZWxsQ29vcmRpbmF0ZXMpID0+XG4gICAgICAgIHRoaXMucm93RWRpdEVuZC5lbWl0KHRoaXMuX3N2Yy5nZXRSb3dCeUluZGV4KGl0ZW0/LnJvdykpXG4gICAgICApO1xuXG4gICAgdGhpcy5fc3ZjLnNlbGVjdGVkUm93c1xuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChpdGVtczogVFtdKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzTGlzdCA9IGl0ZW1zO1xuICAgICAgICB0aGlzLnNlbGVjdGVkUm93c0NoYW5nZS5lbWl0KGl0ZW1zKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fc3ZjLmFjdGl2ZVJvd1xuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChpdGVtOiBUKSA9PiB0aGlzLmFjdGl2ZVJvd0NoYW5nZS5lbWl0KGl0ZW0pKTtcblxuICAgIHRoaXMuX3N2Yy52YWx1ZUNoYW5nZWRcbiAgICAgIC5waXBlKHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgoY29vcmRpbmF0ZXM6IElDZWxsQ29vcmRpbmF0ZXMpID0+IHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuX3N2Yy5nZXRDZWxsSW5zdGFuY2UoY29vcmRpbmF0ZXMpKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKSBoYW5kbGVDbGlja091dHNpZGVBbnlSb3coXG4gICAgZXZlbnQ6IE1vdXNlRXZlbnRcbiAgKSB7XG4gICAgY29uc3QgY29vcmRpbmF0ZXMgPSB0aGlzLmdldENvb3JkaW5hdGVzKGV2ZW50KTtcbiAgICBjb25zdCByb3cgPSB0aGlzLmdldFJvdyhldmVudCk7XG4gICAgY29uc3QgZXZlbnRJc09uUm93ID0gdGhpcy5ldmVudElzT25Sb3coZXZlbnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKGNvb3JkaW5hdGVzKSB7XG4gICAgICAgIHRoaXMuY2VsbENsaWNrLmVtaXQoe1xuICAgICAgICAgIC4uLnRoaXMuX3N2Yy5nZXRDZWxsSW5zdGFuY2UoY29vcmRpbmF0ZXMpLFxuICAgICAgICAgIGV2ZW50XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodGhpcy5lZGl0RXZlbnQgPT09IEVkaXRFdmVudC5jbGljaykge1xuICAgICAgICAgIHRoaXMuc3RhcnRFZGl0Um93T3JDZWxsKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5fc3ZjLmN1cnJlbnRFZGl0Q2VsbCAmJiAoY29vcmRpbmF0ZXMucm93ICE9PSB0aGlzLl9zdmMuY3VycmVudEVkaXRDZWxsLnJvdyB8fCBjb29yZGluYXRlcy5jb2x1bW4gIT09IHRoaXMuX3N2Yy5jdXJyZW50RWRpdENlbGwuY29sdW1uKSkge1xuICAgICAgICAgICAgdGhpcy5zdGFydEVkaXRSb3dPckNlbGwobnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAocm93KSB7XG4gICAgICAgIGlmIChldmVudC5jdHJsS2V5KSB7XG4gICAgICAgICAgdGhpcy5fc3ZjLnNlbGVjdE9yRGVzZWxlY3RSb3cocm93KTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgIHRoaXMuX3N2Yy5zZWxlY3RSYW5nZShyb3cpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3N2Yy5zZWxlY3RSb3dzKFtyb3ddKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFldmVudElzT25Sb3cgJiYgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdFR5cGUgPT09IEVkaXRUeXBlLnJvdykge1xuICAgICAgICAgIHRoaXMuX3N2Yy5zdGFydEVkaXRSb3cobnVsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fc3ZjLnN0YXJ0RWRpdENlbGwobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nLCBbJyRldmVudCddKSBmb2N1c0luKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBjb29yZGluYXRlcyA9IHRoaXMuZ2V0Q29vcmRpbmF0ZXMoZXZlbnQpO1xuICAgIGlmIChjb29yZGluYXRlcykge1xuICAgICAgdGhpcy5jZWxsRm9jdXMuZW1pdCh7XG4gICAgICAgIC4uLnRoaXMuX3N2Yy5nZXRDZWxsSW5zdGFuY2UoY29vcmRpbmF0ZXMpLFxuICAgICAgICBldmVudFxuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5lZGl0RXZlbnQgPT09IEVkaXRFdmVudC5mb2N1cykge1xuICAgICAgICB0aGlzLnN0YXJ0RWRpdFJvd09yQ2VsbChjb29yZGluYXRlcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZGJsY2xpY2snLCBbJyRldmVudCddKVxuICBkYmxjbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gdGhpcy5nZXRDb29yZGluYXRlcyhldmVudCk7XG4gICAgaWYgKGNvb3JkaW5hdGVzKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jZWxsRG91YmxlQ2xpY2suZW1pdCh7XG4gICAgICAgICAgLi4udGhpcy5fc3ZjLmdldENlbGxJbnN0YW5jZShjb29yZGluYXRlcyksXG4gICAgICAgICAgZXZlbnRcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0aGlzLmVkaXRFdmVudCA9PT0gRWRpdEV2ZW50LmRvdWJsZUNsaWNrKSB7XG4gICAgICAgICAgdGhpcy5zdGFydEVkaXRSb3dPckNlbGwoY29vcmRpbmF0ZXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAga2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5jdHJsS2V5KSB7XG4gICAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0tleUEnKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuX3N2Yy5zZWxlY3RBbGwoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuX3N2Yy5kZXNlbGVjdEFsbCgpO1xuICAgICAgaWYgKHRoaXMuZWRpdFR5cGUgPT09IEVkaXRUeXBlLnJvdykge1xuICAgICAgICB0aGlzLl9zdmMuc3RhcnRFZGl0Um93KG51bGwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc3ZjLnN0YXJ0RWRpdENlbGwobnVsbCk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gdGhpcy5nZXRDb29yZGluYXRlcyhldmVudCk7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgaWYgKHRoaXMuZWRpdFR5cGUgPT09IEVkaXRUeXBlLnJvdykge1xuICAgICAgICB0aGlzLl9zdmMuc3RhcnRFZGl0Um93KG51bGwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuX3N2Yy5jdXJyZW50RWRpdENlbGwpIHtcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLl9zdmMuZ2V0TmV4dFJvd0NlbGwoY29vcmRpbmF0ZXMpO1xuICAgICAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRFZGl0Um93T3JDZWxsKHtcbiAgICAgICAgICAgICAgcm93OiB0YXJnZXQucm93LFxuICAgICAgICAgICAgICBjb2x1bW46IHRhcmdldC5jb2x1bW4sXG4gICAgICAgICAgICAgIGV2ZW50OiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zdmMuc3RhcnRFZGl0Q2VsbChudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNvb3JkaW5hdGVzKSB7XG4gICAgICB0aGlzLmNlbGxLZXlEb3duLmVtaXQoe1xuICAgICAgICAuLi50aGlzLl9zdmMuZ2V0Q2VsbEluc3RhbmNlKGNvb3JkaW5hdGVzKSxcbiAgICAgICAgZXZlbnRcbiAgICAgIH0pO1xuICAgICAgaWYgKGV2ZW50LmtleSAmJiAoZXZlbnQua2V5Lmxlbmd0aCA9PT0gMSB8fCBldmVudC5rZXkgPT09ICdEZWxldGUnKSkge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLl9zdmMuZ2V0Q29sdW1uQnlOYW1lKGNvb3JkaW5hdGVzLmNvbHVtbik7XG4gICAgICAgIGlmIChjb2x1bW4uZmlsdGVyVHlwZSAhPT0gRmlsdGVyVHlwZS5udW1iZXIgfHwgaXNGaW5pdGUoZXZlbnQua2V5IGFzIGFueSkpIHtcbiAgICAgICAgICB0aGlzLnN0YXJ0RWRpdFJvd09yQ2VsbCh7XG4gICAgICAgICAgICByb3c6IGNvb3JkaW5hdGVzLnJvdyxcbiAgICAgICAgICAgIGNvbHVtbjogY29vcmRpbmF0ZXMuY29sdW1uLFxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdUYWInICYmIHRoaXMuX3N2Yy5jdXJyZW50RWRpdENlbGwpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuX3N2Yy5nZXROZXh0RWRpdGFibGVDZWxsKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgdGFyZ2V0ID0gdGhpcy5fc3ZjLmdldFByZXZpb3VzRWRpdGFibGVDZWxsKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgdGhpcy5zdGFydEVkaXRSb3dPckNlbGwoe1xuICAgICAgICAgICAgcm93OiB0YXJnZXQucm93LFxuICAgICAgICAgICAgY29sdW1uOiB0YXJnZXQuY29sdW1uLFxuICAgICAgICAgICAgZXZlbnQ6IHVuZGVmaW5lZFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMuX3N2Yy5jdXJyZW50RWRpdENlbGwpIHtcbiAgICAgICAgbGV0IHRhcmdldDtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnKSB7XG4gICAgICAgICAgdGFyZ2V0ID0gdGhpcy5fc3ZjLmdldE5leHRDZWxsKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgICAgIHRhcmdldCA9IHRoaXMuX3N2Yy5nZXRQcmV2aW91c0NlbGwoY29vcmRpbmF0ZXMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgICAgIHRhcmdldCA9IHRoaXMuX3N2Yy5nZXRQcmV2aW91c1Jvd0NlbGwoY29vcmRpbmF0ZXMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgdGFyZ2V0ID0gdGhpcy5fc3ZjLmdldE5leHRSb3dDZWxsKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5nZXRDZWxsRWxlbWVudCh0YXJnZXQpO1xuICAgICAgICAgIGVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKSBtb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuYnV0dG9uID09PSAyKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N2Yy5yZXN0b3JlU3RhdGUoKTtcbiAgICB0aGlzLl9zdmMucmVzdG9yZUhpZGRlbkNvbHVtbnMoKTtcbiAgICB0aGlzLnRhYmxlU2VydmljZS5lbWl0KHRoaXMuX3N2Yyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faGVhZEVsZW1lbnQgPVxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy50YWJsZS1oZWFkJyk7XG4gICAgdGhpcy5fYm9keUVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICcudGFibGUtYm9keS1jb250YWluZXInXG4gICAgKTtcbiAgICB0aGlzLl9ib2R5RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uU2Nyb2xsKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gICAgdGhpcy5fYm9keUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblNjcm9sbCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ2VkaXRUeXBlJykpIHtcbiAgICAgIHRoaXMuX3N2Yy5lZGl0VHlwZSA9IHRoaXMuZWRpdFR5cGU7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KCdzZWxlY3RUeXBlJykpIHtcbiAgICAgIHRoaXMuX3N2Yy5zZWxlY3RUeXBlID0gdGhpcy5zZWxlY3RUeXBlO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnc2VsZWN0ZWRSb3dzJykpIHtcbiAgICAgIHRoaXMuX3N2Yy5zZWxlY3RSb3dzKHRoaXMuc2VsZWN0ZWRSb3dzKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ3Jvd0VkaXRhYmxlJykpIHtcbiAgICAgIHRoaXMuX3N2Yy5yb3dFZGl0YWJsZSA9IHRoaXMucm93RWRpdGFibGU7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KCdjb29raWVOYW1lJykpIHtcbiAgICAgIHRoaXMuX3N2Yy5zZXRDb29raWVOYW1lKHRoaXMuY29va2llTmFtZSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KCdjb2x1bW5zJykpIHtcbiAgICAgIGlmICh0aGlzLmNvbHVtbnMgIT09IG51bGwgJiYgdGhpcy5jb2x1bW5zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fc3ZjLnNldENvbHVtbnModGhpcy5jb2x1bW5zKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ2RhdGEnKSkge1xuICAgICAgdGhpcy5fc3ZjLnNldERhdGEodGhpcy5kYXRhKTtcbiAgICAgIHRoaXMuX3N2Yy5zZWxlY3RSb3dzKHRoaXMuZGF0YT8uZmlsdGVyKChyb3cpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRSb3dzPy5zb21lKChzZWxlY3RlZFJvdykgPT5cbiAgICAgICAgICB0aGlzLnRyYWNrUm93KHRoaXMuX3N2Yy5nZXRSb3dJbmRleChzZWxlY3RlZFJvdyksIHNlbGVjdGVkUm93KSA9PT0gdGhpcy50cmFja1Jvdyh0aGlzLl9zdmMuZ2V0Um93SW5kZXgocm93KSwgcm93KSk7XG4gICAgICB9KSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KCdkaWN0JykpIHtcbiAgICAgIHRoaXMuX3N2Yy5zZXREaWN0KHRoaXMuZGljdCk7XG4gICAgICB0aGlzLl9zdmMuc2V0RmlsdGVyT3B0aW9ucyh0aGlzLmRpY3QpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnZmlsdGVyT3B0aW9ucycpKSB7XG4gICAgICB0aGlzLl9zdmMuc2V0RmlsdGVyT3B0aW9ucyh0aGlzLmZpbHRlck9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgndHJhY2tSb3cnKSkge1xuICAgICAgdGhpcy5fc3ZjLnRyYWNrUm93ID0gdGhpcy50cmFja1JvdztcbiAgICB9XG4gIH1cblxuICBzZXRDb250ZXh0TWVudU9wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNvbnRleHRNZW51T3BlbiA9IHZhbHVlO1xuICAgIHRoaXMuY29udGV4dE1lbnVPcGVuQ2hhbmdlLmVtaXQodGhpcy5jb250ZXh0TWVudU9wZW4pO1xuICB9XG5cbiAgc2V0Q29udGV4dE1lbnVSb3coZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmNvbnRleHRNZW51Um93ID0gbnVsbDtcbiAgICBjb25zdCByb3dFbGVtZW50ID0gdGhpcy5fc3ZjLmdldEV2ZW50Um93KGV2ZW50KTtcbiAgICBpZiAocm93RWxlbWVudCkge1xuICAgICAgY29uc3Qgcm93SW5kZXggPSBwYXJzZUludChyb3dFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1yb3cnKSwgMTApO1xuICAgICAgaWYgKHJvd0luZGV4ID49IDApIHtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudVJvdyA9IHRoaXMuX3N2Yy5nZXRSb3dCeUluZGV4KHJvd0luZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0RWRpdFJvd09yQ2VsbChjb29yZGluYXRlczogSUNlbGxFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVkaXRUeXBlID09PSBFZGl0VHlwZS5yb3cpIHtcbiAgICAgIHRoaXMuX3N2Yy5zdGFydEVkaXRSb3coY29vcmRpbmF0ZXMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5lZGl0VHlwZSA9PT0gRWRpdFR5cGUuY2VsbCkge1xuICAgICAgdGhpcy5fc3ZjLnN0YXJ0RWRpdENlbGwoY29vcmRpbmF0ZXMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2VsbEVsZW1lbnQoY29vcmRpbmF0ZXM6IElDZWxsQ29vcmRpbmF0ZXMpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgIGB0ZXRhLWNlbGxbZGF0YS1yb3c9XCIke2Nvb3JkaW5hdGVzLnJvd31cIl1bZGF0YS1jb2x1bW49XCIke2Nvb3JkaW5hdGVzLmNvbHVtbn1cIl1gXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZXZlbnRJc09uUm93KGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJvdyA9IGV2ZW50LmNvbXBvc2VkUGF0aCgpLmZpbmQoKHRhcmdldDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgIHJldHVybiB0YXJnZXQ/LmdldEF0dHJpYnV0ZSAmJiB0YXJnZXQ/LmdldEF0dHJpYnV0ZSgnZGF0YS1yb3cnKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcm93ICYmIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhyb3cpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb29yZGluYXRlcyhldmVudDogRXZlbnQpOiBJQ2VsbEV2ZW50IHwgbnVsbCB7XG4gICAgaWYgKGV2ZW50LmNvbXBvc2VkUGF0aCgpLmluZGV4T2YodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSA8IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBjZWxsID0gdGhpcy5fc3ZjLmdldEV2ZW50Q2VsbChldmVudCk7XG4gICAgaWYgKGNlbGwpIHtcbiAgICAgIGNvbnN0IHJvd0luZGV4ID0gcGFyc2VJbnQoY2VsbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcm93JyksIDEwKTtcbiAgICAgIGNvbnN0IGNvbHVtbk5hbWUgPSBjZWxsLmdldEF0dHJpYnV0ZSgnZGF0YS1jb2x1bW4nKTtcbiAgICAgIGlmIChyb3dJbmRleCA+PSAwICYmIGNvbHVtbk5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByb3c6IHJvd0luZGV4LFxuICAgICAgICAgIGNvbHVtbjogY29sdW1uTmFtZSxcbiAgICAgICAgICBldmVudCxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldFJvdyhldmVudDogRXZlbnQpOiBUIHwgbnVsbCB7XG4gICAgaWYgKGV2ZW50LmNvbXBvc2VkUGF0aCgpLmluZGV4T2YodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSA8IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCByb3dFbGVtZW50ID0gdGhpcy5fc3ZjLmdldEV2ZW50Um93KGV2ZW50KTtcbiAgICBpZiAocm93RWxlbWVudCkge1xuICAgICAgY29uc3Qgcm93SW5kZXggPSBwYXJzZUludChyb3dFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1yb3cnKSwgMTApO1xuICAgICAgaWYgKHJvd0luZGV4ID49IDApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N2Yy5nZXRSb3dCeUluZGV4KHJvd0luZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIG9uU2Nyb2xsID0gKCkgPT4ge1xuICAgIHRoaXMuX2hlYWRFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLl9ib2R5RWxlbWVudC5zY3JvbGxMZWZ0O1xuICB9O1xuXG4gIC8vIHByaXZhdGUgZ2V0U2VsZWN0ZWRUZXh0KCkge1xuICAvLyAgIGxldCB0ZXh0ID0gJyc7XG4gIC8vICAgaWYgKHR5cGVvZiB3aW5kb3cuZ2V0U2VsZWN0aW9uICE9ICd1bmRlZmluZWQnKSB7XG4gIC8vICAgICB0ZXh0ID0gd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7XG4gIC8vICAgfVxuICAvLyAgIHJldHVybiB0ZXh0O1xuICAvLyB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sdW1uIGNvbHVtbl9hdXRvXCI+XG4gIDx0ZXRhLXRhYmxlLWhlYWRcbiAgICBzdHlsZT1cInotaW5kZXg6IDFcIlxuICAgIFtzZWxlY3RUeXBlXT1cInNlbGVjdFR5cGVcIlxuICAgIFtzaG93SGVhZENlbGxNZW51XT1cInNob3dIZWFkQ2VsbE1lbnVcIj48L3RldGEtdGFibGUtaGVhZD5cbiAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW5fYXV0byBwb3NpdGlvbi1yZWxhdGl2ZVwiXG4gICAgICAgc3R5bGU9XCJ6LWluZGV4OiAwXCJcbiAgICAgICBbdGV0YUNvbnRleHRNZW51XT1cImNvbnRleHRNZW51XCJcbiAgICAgICBbdmVydGljYWxBbGlnbl09XCJ2ZXJ0aWNhbEFsaWduLmF1dG9cIlxuICAgICAgIFthbGlnbl09XCJhbGlnbi5hdXRvXCJcbiAgICAgICBbYXBwZW5kVG9Cb2R5XT1cInRydWVcIlxuICAgICAgIFtkYXRhXT1cImNvbnRleHRNZW51Um93XCJcbiAgICAgICBbb3Blbl09XCJjb250ZXh0TWVudU9wZW5cIlxuICAgICAgIChvcGVuQ2hhbmdlKT1cInNldENvbnRleHRNZW51T3BlbigkZXZlbnQpXCI+XG4gICAgPHRldGEtdGFibGUtYm9keVxuICAgICAgKGNvbnRleHRtZW51KT1cInNldENvbnRleHRNZW51Um93KCRldmVudClcIlxuICAgICAgW2FnZ3JlZ2F0ZV09XCJhZ2dyZWdhdGVcIlxuICAgICAgW3ZpcnR1YWxdPVwidmlydHVhbFwiXG4gICAgICBbYWN0aXZlUm93XT1cImFjdGl2ZVJvd1wiXG4gICAgICBbc2VsZWN0ZWRSb3dzXT1cInNlbGVjdGVkUm93c0xpc3RcIlxuICAgICAgW2FkZGl0aW9uYWxDb21wb25lbnRdPVwiZGV0YWlsQ29tcG9uZW50XCJcbiAgICAgIFtzZWxlY3RUeXBlXT1cInNlbGVjdFR5cGVcIlxuICAgICAgW3Jvd0NsYXNzXT1cInJvd0NsYXNzXCI+PC90ZXRhLXRhYmxlLWJvZHk+XG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW5fYXV0b1wiXG4gICAgICAgICBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOjA7IGJvdHRvbTowO2xlZnQ6MDtyaWdodDowO1wiXG4gICAgICAgICAqbmdJZj1cIiFkYXRhPy5sZW5ndGhcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1159,10 +1159,10 @@ class PositionUtil {
|
|
|
1159
1159
|
if (rect.top < 0) {
|
|
1160
1160
|
rect.top = 0;
|
|
1161
1161
|
}
|
|
1162
|
-
if (verticalAlign === VerticalAlign.bottom || verticalAlign === VerticalAlign.center) {
|
|
1162
|
+
if (verticalAlign === VerticalAlign.bottom || verticalAlign === VerticalAlign.center || verticalAlign === VerticalAlign.innerBottom) {
|
|
1163
1163
|
rect.maxHeight = window.innerHeight - rect.top;
|
|
1164
1164
|
}
|
|
1165
|
-
if (verticalAlign === VerticalAlign.top) {
|
|
1165
|
+
if (verticalAlign === VerticalAlign.top || verticalAlign === VerticalAlign.innerTop) {
|
|
1166
1166
|
rect.maxHeight = containerPosition.top;
|
|
1167
1167
|
}
|
|
1168
1168
|
rect.left = rect.left - transformedParentRect.left;
|
|
@@ -10455,6 +10455,7 @@ class TableComponent {
|
|
|
10455
10455
|
this.contextMenuOpenChange.emit(this.contextMenuOpen);
|
|
10456
10456
|
}
|
|
10457
10457
|
setContextMenuRow(event) {
|
|
10458
|
+
this.contextMenuRow = null;
|
|
10458
10459
|
const rowElement = this._svc.getEventRow(event);
|
|
10459
10460
|
if (rowElement) {
|
|
10460
10461
|
const rowIndex = parseInt(rowElement.getAttribute('data-row'), 10);
|