limitng 0.13.7 → 0.13.11
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/api/globalFunctions.d.ts +1 -0
- package/api/globalFunctions.d.ts.map +1 -1
- package/api/models/fourDConstants.d.ts +71 -69
- package/api/models/fourDConstants.d.ts.map +1 -1
- package/api/models/xlConfig.d.ts +8 -3
- package/api/models/xlConfig.d.ts.map +1 -1
- package/esm2020/api/globalFunctions.mjs +5 -1
- package/esm2020/api/models/fourDConstants.mjs +74 -72
- package/esm2020/api/models/xlConfig.mjs +40 -16
- package/fesm2015/limitng-api-models.mjs +112 -86
- package/fesm2015/limitng-api-models.mjs.map +1 -1
- package/fesm2015/limitng-api.mjs +4 -0
- package/fesm2015/limitng-api.mjs.map +1 -1
- package/fesm2020/limitng-api-models.mjs +112 -86
- package/fesm2020/limitng-api-models.mjs.map +1 -1
- package/fesm2020/limitng-api.mjs +4 -0
- package/fesm2020/limitng-api.mjs.map +1 -1
- package/package.json +1 -1
- package/assets/images/Download_Hover.svg +0 -71
- package/assets/images/Download_Normal.svg +0 -71
- package/assets/images/Download_Pressed.svg +0 -130
- package/assets/images/Excel_Hover.svg +0 -68
- package/assets/images/Excel_Normal.svg +0 -57
- package/assets/images/Excel_Pressed.svg +0 -86
- package/assets/images/Info_Hover.svg +0 -139
- package/assets/images/Info_Normal.svg +0 -101
- package/assets/images/Info_Pressed.svg +0 -98
- package/assets/images/Outlook_Hover.svg +0 -102
- package/assets/images/Outlook_Normal.svg +0 -56
- package/assets/images/Outlook_Pressed.svg +0 -102
- package/assets/images/PDF_Hover.svg +0 -78
- package/assets/images/PDF_Normal.svg +0 -64
- package/assets/images/PDF_Pressed.svg +0 -90
- package/assets/images/ePosta_Hover.svg +0 -1
- package/assets/images/ePosta_Normal.svg +0 -1
- package/assets/images/ePosta_Pressed.svg +0 -1
|
@@ -7,79 +7,81 @@ export var FontStyle;
|
|
|
7
7
|
})(FontStyle || (FontStyle = {}));
|
|
8
8
|
export var XLRenk;
|
|
9
9
|
(function (XLRenk) {
|
|
10
|
-
XLRenk["
|
|
11
|
-
XLRenk["
|
|
12
|
-
XLRenk["
|
|
13
|
-
XLRenk["
|
|
14
|
-
XLRenk["
|
|
15
|
-
XLRenk["
|
|
16
|
-
XLRenk["
|
|
17
|
-
XLRenk["
|
|
18
|
-
XLRenk["
|
|
19
|
-
XLRenk["
|
|
20
|
-
XLRenk["
|
|
21
|
-
XLRenk["
|
|
22
|
-
XLRenk["
|
|
23
|
-
XLRenk["
|
|
24
|
-
XLRenk["
|
|
25
|
-
XLRenk["
|
|
26
|
-
XLRenk["
|
|
27
|
-
XLRenk["
|
|
10
|
+
XLRenk["Black"] = "0";
|
|
11
|
+
XLRenk["White"] = "16777215";
|
|
12
|
+
XLRenk["Maroon"] = "128";
|
|
13
|
+
XLRenk["Green"] = "32768";
|
|
14
|
+
XLRenk["Olive"] = "32896";
|
|
15
|
+
XLRenk["Navy"] = "8388608";
|
|
16
|
+
XLRenk["Purple"] = "8388736";
|
|
17
|
+
XLRenk["Teal"] = "8421376";
|
|
18
|
+
XLRenk["Gray"] = "8421504";
|
|
19
|
+
XLRenk["Silver"] = "12632256";
|
|
20
|
+
XLRenk["Red"] = "255";
|
|
21
|
+
XLRenk["Lime"] = "65280";
|
|
22
|
+
XLRenk["Yellow"] = "65535";
|
|
23
|
+
XLRenk["Blue"] = "16711680";
|
|
24
|
+
XLRenk["Fuchsia"] = "16711935";
|
|
25
|
+
XLRenk["Aqua"] = "16776960";
|
|
26
|
+
XLRenk["LtGray"] = "12632256";
|
|
27
|
+
XLRenk["DkGray"] = "8421504";
|
|
28
28
|
})(XLRenk || (XLRenk = {}));
|
|
29
29
|
export var VariableType;
|
|
30
30
|
(function (VariableType) {
|
|
31
|
-
VariableType[VariableType["
|
|
32
|
-
VariableType[VariableType["
|
|
33
|
-
VariableType[VariableType["
|
|
34
|
-
VariableType[VariableType["
|
|
35
|
-
VariableType[VariableType["
|
|
36
|
-
VariableType[VariableType["
|
|
37
|
-
VariableType[VariableType["
|
|
38
|
-
VariableType[VariableType["
|
|
39
|
-
VariableType[VariableType["
|
|
40
|
-
VariableType[VariableType["
|
|
41
|
-
VariableType[VariableType["
|
|
31
|
+
VariableType[VariableType["Blob"] = 30] = "Blob";
|
|
32
|
+
VariableType[VariableType["Boolean"] = 6] = "Boolean";
|
|
33
|
+
VariableType[VariableType["Date"] = 4] = "Date";
|
|
34
|
+
VariableType[VariableType["Integer"] = 8] = "Integer";
|
|
35
|
+
VariableType[VariableType["LongInt"] = 9] = "LongInt";
|
|
36
|
+
VariableType[VariableType["Object"] = 38] = "Object";
|
|
37
|
+
VariableType[VariableType["Picture"] = 3] = "Picture";
|
|
38
|
+
VariableType[VariableType["Pointer"] = 23] = "Pointer";
|
|
39
|
+
VariableType[VariableType["Real"] = 1] = "Real";
|
|
40
|
+
VariableType[VariableType["Text"] = 2] = "Text";
|
|
41
|
+
VariableType[VariableType["Time"] = 11] = "Time";
|
|
42
42
|
})(VariableType || (VariableType = {}));
|
|
43
|
-
export var
|
|
44
|
-
(function (
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
43
|
+
export var NumberFormatlar;
|
|
44
|
+
(function (NumberFormatlar) {
|
|
45
|
+
NumberFormatlar[NumberFormatlar["Genel"] = -1000] = "Genel";
|
|
46
|
+
NumberFormatlar[NumberFormatlar["Metin"] = -1001] = "Metin";
|
|
47
|
+
NumberFormatlar[NumberFormatlar["Tarih"] = 101] = "Tarih";
|
|
48
|
+
NumberFormatlar[NumberFormatlar["Long"] = 1] = "Long";
|
|
49
|
+
NumberFormatlar[NumberFormatlar["Real"] = 3] = "Real";
|
|
50
|
+
NumberFormatlar[NumberFormatlar["Yuzde_BirHane"] = 102] = "Yuzde_BirHane";
|
|
51
|
+
NumberFormatlar[NumberFormatlar["Dolar_Kurussuz"] = 23] = "Dolar_Kurussuz";
|
|
52
|
+
NumberFormatlar[NumberFormatlar["Saat_Saniyesiz"] = 9] = "Saat_Saniyesiz";
|
|
53
|
+
NumberFormatlar[NumberFormatlar["Kur"] = 15] = "Kur";
|
|
54
|
+
NumberFormatlar[NumberFormatlar["Saat_Saniyeli"] = 16] = "Saat_Saniyeli";
|
|
55
|
+
NumberFormatlar[NumberFormatlar["TL_Kuruslu"] = 17] = "TL_Kuruslu";
|
|
56
|
+
NumberFormatlar[NumberFormatlar["Dolar_Kuruslu"] = 18] = "Dolar_Kuruslu";
|
|
57
|
+
NumberFormatlar[NumberFormatlar["Yuzde_SifirHane"] = 19] = "Yuzde_SifirHane";
|
|
58
|
+
NumberFormatlar[NumberFormatlar["Yuzde_IkiHane"] = 20] = "Yuzde_IkiHane";
|
|
59
|
+
NumberFormatlar[NumberFormatlar["Yuzde_BesHane"] = 21] = "Yuzde_BesHane";
|
|
60
|
+
NumberFormatlar[NumberFormatlar["TL_Kurussuz"] = 22] = "TL_Kurussuz";
|
|
61
|
+
NumberFormatlar[NumberFormatlar["Tarih_YYYYMMDD"] = 103] = "Tarih_YYYYMMDD";
|
|
62
|
+
NumberFormatlar[NumberFormatlar["Tarih_GGAAAAYYYY"] = 104] = "Tarih_GGAAAAYYYY";
|
|
63
|
+
NumberFormatlar[NumberFormatlar["Tarih_LongDate"] = 105] = "Tarih_LongDate";
|
|
64
|
+
NumberFormatlar[NumberFormatlar["imp"] = 106] = "imp";
|
|
65
|
+
NumberFormatlar[NumberFormatlar["Clicks"] = 107] = "Clicks";
|
|
66
|
+
NumberFormatlar[NumberFormatlar["Gun"] = 108] = "Gun";
|
|
67
|
+
NumberFormatlar[NumberFormatlar["Tarih_ga"] = 109] = "Tarih_ga";
|
|
68
|
+
NumberFormatlar[NumberFormatlar["Tarih_ggaa"] = 110] = "Tarih_ggaa";
|
|
69
|
+
NumberFormatlar[NumberFormatlar["Tarih_ggaaa"] = 111] = "Tarih_ggaaa";
|
|
70
|
+
NumberFormatlar[NumberFormatlar["Tarih_ggaaaa"] = 112] = "Tarih_ggaaaa";
|
|
71
|
+
NumberFormatlar[NumberFormatlar["Tarih_gaaaa"] = 113] = "Tarih_gaaaa";
|
|
72
|
+
NumberFormatlar[NumberFormatlar["View"] = 114] = "View";
|
|
73
|
+
NumberFormatlar[NumberFormatlar["Session"] = 115] = "Session";
|
|
74
|
+
NumberFormatlar[NumberFormatlar["Kisi"] = 116] = "Kisi";
|
|
75
|
+
NumberFormatlar[NumberFormatlar["Okunma"] = 117] = "Okunma";
|
|
76
|
+
NumberFormatlar[NumberFormatlar["Dinlenme"] = 118] = "Dinlenme";
|
|
77
|
+
NumberFormatlar[NumberFormatlar["Euro_Kuruslu"] = 24] = "Euro_Kuruslu";
|
|
78
|
+
NumberFormatlar[NumberFormatlar["Euro_Kurussuz"] = 25] = "Euro_Kurussuz";
|
|
79
|
+
NumberFormatlar[NumberFormatlar["Sterlin_Kuruslu"] = 26] = "Sterlin_Kuruslu";
|
|
80
|
+
NumberFormatlar[NumberFormatlar["Sterlin_Kurussuz"] = 27] = "Sterlin_Kurussuz";
|
|
81
|
+
NumberFormatlar[NumberFormatlar["Tarih_yyyymmdd_tireli"] = 120] = "Tarih_yyyymmdd_tireli";
|
|
82
|
+
NumberFormatlar[NumberFormatlar["TLSembol_Kuruslu"] = 28] = "TLSembol_Kuruslu";
|
|
83
|
+
NumberFormatlar[NumberFormatlar["TLSembol_Kurussuz"] = 29] = "TLSembol_Kurussuz";
|
|
84
|
+
NumberFormatlar[NumberFormatlar["Lead"] = 47] = "Lead";
|
|
85
|
+
NumberFormatlar[NumberFormatlar["Tarih_AAAAYYYY"] = 121] = "Tarih_AAAAYYYY";
|
|
86
|
+
})(NumberFormatlar || (NumberFormatlar = {}));
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm91ckRDb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL21vZGVscy9mb3VyRENvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLDJDQUFTLENBQUE7SUFDVCx5Q0FBUSxDQUFBO0lBQ1IsNkNBQVUsQ0FBQTtJQUNWLG1EQUFhLENBQUE7QUFDZixDQUFDLEVBTFcsU0FBUyxLQUFULFNBQVMsUUFLcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxNQW1CWDtBQW5CRCxXQUFZLE1BQU07SUFDaEIscUJBQVcsQ0FBQTtJQUNYLDRCQUFrQixDQUFBO0lBQ2xCLHdCQUFjLENBQUE7SUFDZCx5QkFBZSxDQUFBO0lBQ2YseUJBQWUsQ0FBQTtJQUNmLDBCQUFnQixDQUFBO0lBQ2hCLDRCQUFrQixDQUFBO0lBQ2xCLDBCQUFnQixDQUFBO0lBQ2hCLDBCQUFnQixDQUFBO0lBQ2hCLDZCQUFtQixDQUFBO0lBQ25CLHFCQUFXLENBQUE7SUFDWCx3QkFBYyxDQUFBO0lBQ2QsMEJBQWdCLENBQUE7SUFDaEIsMkJBQWlCLENBQUE7SUFDakIsOEJBQW9CLENBQUE7SUFDcEIsMkJBQWlCLENBQUE7SUFDakIsNkJBQW1CLENBQUE7SUFDbkIsNEJBQWtCLENBQUE7QUFDcEIsQ0FBQyxFQW5CVyxNQUFNLEtBQU4sTUFBTSxRQW1CakI7QUFHRCxNQUFNLENBQU4sSUFBWSxZQVlYO0FBWkQsV0FBWSxZQUFZO0lBQ3RCLGdEQUFTLENBQUE7SUFDVCxxREFBVyxDQUFBO0lBQ1gsK0NBQVEsQ0FBQTtJQUNSLHFEQUFXLENBQUE7SUFDWCxxREFBVyxDQUFBO0lBQ1gsb0RBQVcsQ0FBQTtJQUNYLHFEQUFXLENBQUE7SUFDWCxzREFBWSxDQUFBO0lBQ1osK0NBQVEsQ0FBQTtJQUNSLCtDQUFRLENBQUE7SUFDUixnREFBUyxDQUFBO0FBQ1gsQ0FBQyxFQVpXLFlBQVksS0FBWixZQUFZLFFBWXZCO0FBR0QsTUFBTSxDQUFOLElBQVksZUEwQ1g7QUExQ0QsV0FBWSxlQUFlO0lBQ3pCLDJEQUFhLENBQUE7SUFDYiwyREFBYSxDQUFBO0lBQ2IseURBQVcsQ0FBQTtJQUNYLHFEQUFRLENBQUE7SUFDUixxREFBUSxDQUFBO0lBQ1IseUVBQW1CLENBQUE7SUFDbkIsMEVBQW1CLENBQUE7SUFDbkIseUVBQWtCLENBQUE7SUFDbEIsb0RBQVEsQ0FBQTtJQUNSLHdFQUFrQixDQUFBO0lBQ2xCLGtFQUFlLENBQUE7SUFDZix3RUFBa0IsQ0FBQTtJQUNsQiw0RUFBb0IsQ0FBQTtJQUNwQix3RUFBa0IsQ0FBQTtJQUNsQix3RUFBa0IsQ0FBQTtJQUNsQixvRUFBZ0IsQ0FBQTtJQUNoQiwyRUFBb0IsQ0FBQTtJQUNwQiwrRUFBc0IsQ0FBQTtJQUN0QiwyRUFBb0IsQ0FBQTtJQUNwQixxREFBUyxDQUFBO0lBQ1QsMkRBQVksQ0FBQTtJQUNaLHFEQUFTLENBQUE7SUFDVCwrREFBYyxDQUFBO0lBQ2QsbUVBQWdCLENBQUE7SUFDaEIscUVBQWlCLENBQUE7SUFDakIsdUVBQWtCLENBQUE7SUFDbEIscUVBQWlCLENBQUE7SUFDakIsdURBQVUsQ0FBQTtJQUNWLDZEQUFhLENBQUE7SUFDYix1REFBVSxDQUFBO0lBQ1YsMkRBQVksQ0FBQTtJQUNaLCtEQUFjLENBQUE7SUFDZCxzRUFBaUIsQ0FBQTtJQUNqQix3RUFBa0IsQ0FBQTtJQUNsQiw0RUFBb0IsQ0FBQTtJQUNwQiw4RUFBcUIsQ0FBQTtJQUNyQix5RkFBMkIsQ0FBQTtJQUMzQiw4RUFBcUIsQ0FBQTtJQUNyQixnRkFBc0IsQ0FBQTtJQUN0QixzREFBUyxDQUFBO0lBQ1QsMkVBQW9CLENBQUE7QUFDdEIsQ0FBQyxFQTFDVyxlQUFlLEtBQWYsZUFBZSxRQTBDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBGb250U3R5bGUge1xyXG4gIFBsYWluID0gMCxcclxuICBCb2xkID0gMSxcclxuICBJdGFsaWMgPSAyLFxyXG4gIFVuZGVybGluZSA9IDRcclxufVxyXG5cclxuZXhwb3J0IGVudW0gWExSZW5rIHtcclxuICBCbGFjayA9ICcwJyxcclxuICBXaGl0ZSA9ICcxNjc3NzIxNScsXHJcbiAgTWFyb29uID0gJzEyOCcsXHJcbiAgR3JlZW4gPSAnMzI3NjgnLFxyXG4gIE9saXZlID0gJzMyODk2JyxcclxuICBOYXZ5ID0gJzgzODg2MDgnLFxyXG4gIFB1cnBsZSA9ICc4Mzg4NzM2JyxcclxuICBUZWFsID0gJzg0MjEzNzYnLFxyXG4gIEdyYXkgPSAnODQyMTUwNCcsXHJcbiAgU2lsdmVyID0gJzEyNjMyMjU2JyxcclxuICBSZWQgPSAnMjU1JyxcclxuICBMaW1lID0gJzY1MjgwJyxcclxuICBZZWxsb3cgPSAnNjU1MzUnLFxyXG4gIEJsdWUgPSAnMTY3MTE2ODAnLFxyXG4gIEZ1Y2hzaWEgPSAnMTY3MTE5MzUnLFxyXG4gIEFxdWEgPSAnMTY3NzY5NjAnLFxyXG4gIEx0R3JheSA9ICcxMjYzMjI1NicsXHJcbiAgRGtHcmF5ID0gJzg0MjE1MDQnXHJcbn1cclxuXHJcblxyXG5leHBvcnQgZW51bSBWYXJpYWJsZVR5cGUge1xyXG4gIEJsb2IgPSAzMCxcclxuICBCb29sZWFuID0gNixcclxuICBEYXRlID0gNCxcclxuICBJbnRlZ2VyID0gOCxcclxuICBMb25nSW50ID0gOSxcclxuICBPYmplY3QgPSAzOCxcclxuICBQaWN0dXJlID0gMyxcclxuICBQb2ludGVyID0gMjMsXHJcbiAgUmVhbCA9IDEsXHJcbiAgVGV4dCA9IDIsXHJcbiAgVGltZSA9IDExXHJcbn1cclxuXHJcblxyXG5leHBvcnQgZW51bSBOdW1iZXJGb3JtYXRsYXIge1xyXG4gIEdlbmVsID0gLTEwMDAsXHJcbiAgTWV0aW4gPSAtMTAwMSxcclxuICBUYXJpaCA9IDEwMSxcclxuICBMb25nID0gMSxcclxuICBSZWFsID0gMyxcclxuICBZdXpkZV9CaXJIYW5lID0gMTAyLFxyXG4gIERvbGFyX0t1cnVzc3V6ID0gMjMsXHJcbiAgU2FhdF9TYW5peWVzaXogPSA5LFxyXG4gIEt1ciA9IDE1LFxyXG4gIFNhYXRfU2FuaXllbGkgPSAxNixcclxuICBUTF9LdXJ1c2x1ID0gMTcsXHJcbiAgRG9sYXJfS3VydXNsdSA9IDE4LFxyXG4gIFl1emRlX1NpZmlySGFuZSA9IDE5LFxyXG4gIFl1emRlX0lraUhhbmUgPSAyMCxcclxuICBZdXpkZV9CZXNIYW5lID0gMjEsXHJcbiAgVExfS3VydXNzdXogPSAyMixcclxuICBUYXJpaF9ZWVlZTU1ERCA9IDEwMyxcclxuICBUYXJpaF9HR0FBQUFZWVlZID0gMTA0LFxyXG4gIFRhcmloX0xvbmdEYXRlID0gMTA1LFxyXG4gIGltcCA9IDEwNixcclxuICBDbGlja3MgPSAxMDcsXHJcbiAgR3VuID0gMTA4LFxyXG4gIFRhcmloX2dhID0gMTA5LFxyXG4gIFRhcmloX2dnYWEgPSAxMTAsXHJcbiAgVGFyaWhfZ2dhYWEgPSAxMTEsXHJcbiAgVGFyaWhfZ2dhYWFhID0gMTEyLFxyXG4gIFRhcmloX2dhYWFhID0gMTEzLFxyXG4gIFZpZXcgPSAxMTQsXHJcbiAgU2Vzc2lvbiA9IDExNSxcclxuICBLaXNpID0gMTE2LFxyXG4gIE9rdW5tYSA9IDExNyxcclxuICBEaW5sZW5tZSA9IDExOCxcclxuICBFdXJvX0t1cnVzbHUgPSAyNCxcclxuICBFdXJvX0t1cnVzc3V6ID0gMjUsXHJcbiAgU3Rlcmxpbl9LdXJ1c2x1ID0gMjYsXHJcbiAgU3Rlcmxpbl9LdXJ1c3N1eiA9IDI3LFxyXG4gIFRhcmloX3l5eXltbWRkX3RpcmVsaSA9IDEyMCxcclxuICBUTFNlbWJvbF9LdXJ1c2x1ID0gMjgsXHJcbiAgVExTZW1ib2xfS3VydXNzdXogPSAyOSxcclxuICBMZWFkID0gNDcsXHJcbiAgVGFyaWhfQUFBQVlZWVkgPSAxMjFcclxufVxyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FontStyle,
|
|
1
|
+
import { FontStyle, NumberFormatlar, VariableType, XLRenk } from './fourDConstants';
|
|
2
2
|
import { XlBorderWeigh, XLFuncs, XLHAlign, XLLineStyle, XlVAlign } from './xlConstants';
|
|
3
3
|
export class XLConfig {
|
|
4
4
|
constructor(fontName, fontSize) {
|
|
@@ -15,6 +15,7 @@ export class XLConfig {
|
|
|
15
15
|
this.ustBilgiler = [];
|
|
16
16
|
this.ustBilgi = new XLUstBilgi();
|
|
17
17
|
this.notlar = [];
|
|
18
|
+
this.scripts = [];
|
|
18
19
|
this.not = new XLNot();
|
|
19
20
|
this.tables = [];
|
|
20
21
|
this.sheets = [new XLSheet(1)];
|
|
@@ -38,11 +39,11 @@ export class XLConfig {
|
|
|
38
39
|
table.header.basilacak = true;
|
|
39
40
|
table.footer.basilacak = false;
|
|
40
41
|
table.header = new XLTableColumnHeader();
|
|
41
|
-
table.header.interior.color = XLRenk.
|
|
42
|
+
table.header.interior.color = XLRenk.White;
|
|
42
43
|
table.data = new XLTableColumnData();
|
|
43
|
-
table.data.interior.color = XLRenk.
|
|
44
|
+
table.data.interior.color = XLRenk.White;
|
|
44
45
|
table.footer = new XLTableColumnFooter();
|
|
45
|
-
table.footer.interior.color = XLRenk.
|
|
46
|
+
table.footer.interior.color = XLRenk.White;
|
|
46
47
|
table.hiddenRowsInit();
|
|
47
48
|
table.sortInit();
|
|
48
49
|
table.rowsInit();
|
|
@@ -61,6 +62,28 @@ export class XLConfig {
|
|
|
61
62
|
*/
|
|
62
63
|
return table;
|
|
63
64
|
}
|
|
65
|
+
sheetRowsRowHeightScript(rowHeight, baslangicSatiri, bitisSatiri, sheetName) {
|
|
66
|
+
let _sheetName = this.currentSheetObject;
|
|
67
|
+
let _bitisSatiri = baslangicSatiri;
|
|
68
|
+
if ((sheetName !== undefined) && (sheetName !== null)) {
|
|
69
|
+
_sheetName = sheetName;
|
|
70
|
+
}
|
|
71
|
+
if ((bitisSatiri !== undefined) && (bitisSatiri !== null)) {
|
|
72
|
+
_bitisSatiri = bitisSatiri;
|
|
73
|
+
}
|
|
74
|
+
if (baslangicSatiri === _bitisSatiri) {
|
|
75
|
+
this.scripts.push(_sheetName + '.Rows("' + baslangicSatiri.toString() + '").RowHeight = ' + this.VBSRealToText(rowHeight));
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this.scripts.push(_sheetName + '.Rows("' + baslangicSatiri.toString() + ':' + _bitisSatiri.toString() + '").RowHeight = ' + this.VBSRealToText(rowHeight));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
addScript(script) {
|
|
82
|
+
this.scripts.push(script);
|
|
83
|
+
}
|
|
84
|
+
VBSRealToText(sayi) {
|
|
85
|
+
return sayi.toString().replace(/[,]/g, '.');
|
|
86
|
+
}
|
|
64
87
|
}
|
|
65
88
|
export class XLUstBilgiSatir {
|
|
66
89
|
constructor() {
|
|
@@ -84,7 +107,7 @@ export class XLFont {
|
|
|
84
107
|
constructor(fontName, fontSize) {
|
|
85
108
|
this.name = 'Segoe UI';
|
|
86
109
|
this.size = 11;
|
|
87
|
-
this.color = XLRenk.
|
|
110
|
+
this.color = XLRenk.Black;
|
|
88
111
|
this.style = FontStyle.Plain;
|
|
89
112
|
if (typeof fontName !== 'undefined') {
|
|
90
113
|
this.name = fontName;
|
|
@@ -117,6 +140,7 @@ export class XLNot {
|
|
|
117
140
|
export class XLSheet {
|
|
118
141
|
constructor(sheetNo) {
|
|
119
142
|
this.sheetNo = 0;
|
|
143
|
+
this.sheetName = 0;
|
|
120
144
|
if (typeof sheetNo !== 'undefined') {
|
|
121
145
|
this.sheetNo = sheetNo;
|
|
122
146
|
}
|
|
@@ -124,7 +148,7 @@ export class XLSheet {
|
|
|
124
148
|
}
|
|
125
149
|
export class XLInterior {
|
|
126
150
|
constructor() {
|
|
127
|
-
this.color = XLRenk.
|
|
151
|
+
this.color = XLRenk.White;
|
|
128
152
|
}
|
|
129
153
|
}
|
|
130
154
|
export class XLBorder {
|
|
@@ -132,7 +156,7 @@ export class XLBorder {
|
|
|
132
156
|
this.type = 'Tümü';
|
|
133
157
|
this.lineStyle = XLLineStyle.xlContinuous;
|
|
134
158
|
this.weight = XlBorderWeigh.xlThin;
|
|
135
|
-
this.color = XLRenk.
|
|
159
|
+
this.color = XLRenk.Black;
|
|
136
160
|
}
|
|
137
161
|
}
|
|
138
162
|
export class XLTableColumnHeader {
|
|
@@ -224,17 +248,17 @@ export class XLTable {
|
|
|
224
248
|
column.format = 0;
|
|
225
249
|
column.width = genislik;
|
|
226
250
|
switch (type) {
|
|
227
|
-
case VariableType.
|
|
228
|
-
column.format =
|
|
251
|
+
case VariableType.Integer:
|
|
252
|
+
column.format = NumberFormatlar.Long;
|
|
229
253
|
break;
|
|
230
|
-
case VariableType.
|
|
231
|
-
column.format =
|
|
254
|
+
case VariableType.LongInt:
|
|
255
|
+
column.format = NumberFormatlar.Long;
|
|
232
256
|
break;
|
|
233
|
-
case VariableType.
|
|
234
|
-
column.format =
|
|
257
|
+
case VariableType.Real:
|
|
258
|
+
column.format = NumberFormatlar.Real;
|
|
235
259
|
break;
|
|
236
|
-
case VariableType.
|
|
237
|
-
column.format =
|
|
260
|
+
case VariableType.Date:
|
|
261
|
+
column.format = NumberFormatlar.Tarih;
|
|
238
262
|
break;
|
|
239
263
|
default:
|
|
240
264
|
break;
|
|
@@ -408,4 +432,4 @@ export class RowInteriorColor {
|
|
|
408
432
|
this.rowNo = rowNo;
|
|
409
433
|
}
|
|
410
434
|
}
|
|
411
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL21vZGVscy94bENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsTUFBTSxPQUFPLFFBQVE7SUF1Qm5CLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQXRCaEQsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBRTNCLHNCQUFpQixHQUFHLG1CQUFtQixDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLE9BQU8sQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxRQUFRLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU1QixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLFFBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRWxCLFdBQU0sR0FBYyxFQUFFLENBQUM7UUFFdkIsV0FBTSxHQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUduQyxJQUFJLENBQUMsT0FBTyxRQUFRLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFP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LHdCQUFtQixHQUFhLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDdEQsc0JBQWlCLEdBQWEsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUNwRCxXQUFNLEdBQWMsQ0FBQyxDQUFDO1FBQ3RCLFVBQUssR0FBRyxDQUFDLENBQUM7SUFhWixDQUFDO0lBWEMsaUJBQWlCLENBQUMsY0FBdUI7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBR3ZCLFlBQVksS0FBYSxFQUFFLEtBQWE7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFZLEtBQWEsRUFBRSxLQUFhO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvbnRTdHlsZSwgRm9ybWF0bGFyLCBWYXJpYWJsZVR5cGUsIFhMUmVuayB9IGZyb20gJy4vZm91ckRDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBYbEJvcmRlcldlaWdoLCBYTEZ1bmNzLCBYTEhBbGlnbiwgWExMaW5lU3R5bGUsIFhsVkFsaWduIH0gZnJvbSAnLi94bENvbnN0YW50cyc7XHJcblxyXG5leHBvcnQgY2xhc3MgWExDb25maWcge1xyXG4gIGxvZ28gPSBuZXcgWExMb2dvKCk7XHJcbiAgZGVmYXVsdEZvbnQgPSBuZXcgWExGb250KCk7XHJcblxyXG4gIGN1cnJlbnRUYWJsZVN0eWxlID0gJ1RhYmxlU3R5bGVMaWdodDEwJztcclxuICBjdXJyZW50VGFibGUgPSAxO1xyXG4gIGN1cnJlbnRBcHBsaWNhdGlvbk9iamVjdCA9ICd4bEFwcCc7XHJcbiAgY3VycmVudEJvb2tPYmplY3QgPSAneGxCb29rJztcclxuICBjdXJyZW50U2hlZXRPYmplY3QgPSAneGxTaGVldCc7XHJcbiAgYXV0aG9yID0gJ01lZFBsYW4nO1xyXG4gIHNpZmlybGFyaUJhc21hID0gZmFsc2U7XHJcbiAgc2hlZXROYW1lID0gJyc7XHJcblxyXG4gIHVzdEJpbGdpbGVyOiBYTFVzdEJpbGdpU2F0aXJbXSA9IFtdO1xyXG4gIHVzdEJpbGdpID0gbmV3IFhMVXN0QmlsZ2koKTtcclxuXHJcbiAgbm90bGFyOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG5vdCA9IG5ldyBYTE5vdCgpO1xyXG5cclxuICB0YWJsZXM6IFhMVGFibGVbXSA9IFtdO1xyXG5cclxuICBzaGVldHM6IFhMU2hlZXRbXSA9IFtuZXcgWExTaGVldCgxKV07XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZvbnROYW1lPzogc3RyaW5nLCBmb250U2l6ZT86IG51bWJlcikge1xyXG4gICAgaWYgKCh0eXBlb2YgZm9udE5hbWUgIT09ICd1bmRlZmluZWQnKSB8fCAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykpIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Rm9udCA9IG5ldyBYTEZvbnQoZm9udE5hbWUsIGZvbnRTaXplKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRhYmxlID0gdGhpcy5hZGRUYWJsZSgpO1xyXG4gICAgdGFibGUudGFibGVObyA9IHRoaXMudGFibGVzLmxlbmd0aCArIDE7XHJcblxyXG4gICAgdGhpcy50YWJsZXMucHVzaCh0YWJsZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgdXN0QmlsZ2lTYXRpckVrbGUoc2F0aXI6IHN0cmluZykge1xyXG4gICAgY29uc3QgdXN0QmlsZ2kgPSBuZXcgWExVc3RCaWxnaVNhdGlyKCk7XHJcbiAgICB1c3RCaWxnaS5yb3dObyA9IHRoaXMudXN0QmlsZ2lsZXIubGVuZ3RoICsgMTtcclxuICAgIHVzdEJpbGdpLnVzdEJpbGdpID0gc2F0aXI7XHJcblxyXG4gICAgdGhpcy51c3RCaWxnaWxlci5wdXNoKHVzdEJpbGdpKTtcclxuICB9XHJcblxyXG4gIGFkZFRhYmxlKCk6IFhMVGFibGUge1xyXG4gICAgY29uc3QgdGFibGUgPSBuZXcgWExUYWJsZSgpO1xyXG4gICAgdGFibGUuc29sID0gMTtcclxuICAgIHRhYmxlLnVzdCA9IDE7XHJcbiAgICB0YWJsZS5oZWFkZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRhYmxlLmZvb3Rlci5iYXNpbGFjYWsgPSBmYWxzZTtcclxuICAgIHRhYmxlLmhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgICB0YWJsZS5oZWFkZXIuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuICAgIHRhYmxlLmRhdGEgPSBuZXcgWExUYWJsZUNvbHVtbkRhdGEoKTtcclxuICAgIHRhYmxlLmRhdGEuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuICAgIHRhYmxlLmZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgICB0YWJsZS5mb290ZXIuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuY2xXaGl0ZTtcclxuXHJcbiAgICB0YWJsZS5oaWRkZW5Sb3dzSW5pdCgpO1xyXG4gICAgdGFibGUuc29ydEluaXQoKTtcclxuICAgIHRhYmxlLnJvd3NJbml0KCk7XHJcbiAgICB0YWJsZS5jb2x1bW5Gb3JtYXRzSW5pdCgpO1xyXG5cclxuICAgIHRhYmxlLnJvd0Zvcm1hdHNJbml0KCk7XHJcbiAgICB0YWJsZS5jZWxsRm9ybWF0c0luaXQoKTtcclxuICAgIHRhYmxlLnJhbmdlRm9ybWF0c0luaXQoKTtcclxuXHJcbiAgICAvKlxyXG4gICAgICAgIFhMX1RfSGVhZGVyQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9EYXRhQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0hlYWRlckZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0RhdGFGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9TaGVldE5hbWVTZXQoWExfU19DdXJyZW50KVxyXG4qL1xyXG5cclxuICAgIHJldHVybiB0YWJsZTtcclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExVc3RCaWxnaVNhdGlyIHtcclxuICByb3dObyA9IDA7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoJycsIDApO1xyXG4gIHVzdEJpbGdpID0gJyc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTExvZ28ge1xyXG4gIGdlbmlzbGlrID0gMDtcclxuICB5dWtzZWtsaWsgPSAwO1xyXG4gIHVzdE1hcmppbiA9IDA7XHJcbiAgc29sTWFyamluID0gMDtcclxuICBlYmF0UGl4ZWxtaSA9IGZhbHNlO1xyXG4gIGViYXQgPSAnJztcclxuICBrb251bSA9ICcnO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExGb250IHtcclxuICBuYW1lID0gJ1NlZ29lIFVJJztcclxuICBzaXplID0gMTE7XHJcbiAgY29sb3IgPSBYTFJlbmsuY2xCbGFjaztcclxuICBzdHlsZSA9IEZvbnRTdHlsZS5QbGFpbjtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLm5hbWUgPSBmb250TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLnNpemUgPSBmb250U2l6ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFVzdEJpbGdpIHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLmZvbnQubmFtZSA9IGZvbnROYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuZm9udC5zaXplID0gZm9udFNpemU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMTm90IHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMU2hlZXQge1xyXG4gIHNoZWV0Tm8gPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihzaGVldE5vOiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2Ygc2hlZXRObyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5zaGVldE5vID0gc2hlZXRObztcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExJbnRlcmlvciB7XHJcbiAgY29sb3I6IFhMUmVuayA9IFhMUmVuay5jbFdoaXRlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExCb3JkZXIge1xyXG4gIHR5cGUgPSAnVMO8bcO8JztcclxuICBsaW5lU3R5bGUgPSBYTExpbmVTdHlsZS54bENvbnRpbnVvdXM7XHJcbiAgd2VpZ2h0ID0gWGxCb3JkZXJXZWlnaC54bFRoaW47XHJcbiAgY29sb3IgPSBYTFJlbmsuY2xCbGFjaztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5IZWFkZXIge1xyXG4gIHRpdGxlID0gJyc7XHJcbiAgaG9yaXpvbnRhbEFsaWdubWVudDogWExIQWxpZ24gPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQ6IFhsVkFsaWduID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG4gIGJhc2lsYWNhayA9IHRydWU7XHJcbiAgc2F0aXJTYXlpc2kgPSAxO1xyXG4gIGlzTXVsdGlMaW5lID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoaGVhZGVyID0gJycpIHtcclxuICAgIHRoaXMudGl0bGUgPSBoZWFkZXI7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbkRhdGEge1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZSB7XHJcbiAgY29sdW1uczogWExUYWJsZUNvbHVtbltdID0gW107XHJcbiAgaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICBkYXRhID0gbmV3IFhMVGFibGVDb2x1bW5EYXRhKCk7XHJcbiAgZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICB0YWJsZU5vID0gMTtcclxuICBjb2xsZWN0aW9uOiBzdHJpbmdbXTtcclxuICBzb2wgPSAxO1xyXG4gIHVzdCA9IDE7XHJcbiAgdmVyaUtheW5hZ2kgPSAnQ29sbGVjdGlvbic7XHJcbiAgc2hlZXROYW1lID0gJ3hsU2hlZXQnO1xyXG4gIGhpZGRlblJvd3M6IG51bWJlcltdID0gW107XHJcbiAgc29ydDogbnVtYmVyW10gPSBbXTtcclxuICByb3dzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0ZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICByb3dGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgcm93Rm9udENvbG9yczogUm93Rm9udENvbG9yW10gPSBbXTtcclxuICByb3dGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIHJvd0ludGVyaW9yQ29sb3JzOiBSb3dJbnRlcmlvckNvbG9yW10gPSBbXTtcclxuICByb3dGb3JtYXRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0hvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgcm93VmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcbiAgY2VsbEZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNlbGxGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIGNlbGxJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsSG9yaXpvbnRhbEFsaWdubWVudHM6IFhMSEFsaWduW10gPSBbXTtcclxuICBjZWxsVmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcbiAgcmFuZ2VGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgcmFuZ2VGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICByYW5nZUludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUhvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgcmFuZ2VWZXJ0aWNhbEFsaWdubWVudHM6IFhsVkFsaWduW10gPSBbXTtcclxuXHJcbiAgYWRkQ29sdW1uKHByb3BlcnR5OiBzdHJpbmcsIHR5cGU6IFZhcmlhYmxlVHlwZSA9IDAsIGhlYWRlciA9ICcnLCBnZW5pc2xpayA9IDApIHtcclxuXHJcbiAgICBjb25zdCBjb2x1bW46IFhMVGFibGVDb2x1bW4gPSBuZXcgWExUYWJsZUNvbHVtbigpO1xyXG4gICAgY29uc3QgY29sdW1uSGVhZGVyID0gaGVhZGVyLnJlcGxhY2UoJzxwPicsICdcXHInKTtcclxuICAgIGNvbnN0IGNvbHVtbkNvdW50ID0gdGhpcy5jb2x1bW5zLmxlbmd0aCArIDE7XHJcblxyXG4gICAgY29sdW1uLnByb3BlcnR5ID0gcHJvcGVydHk7XHJcbiAgICBjb2x1bW4uYXJyYXlUeXBlID0gdHlwZTtcclxuICAgIGNvbHVtbi5jb2x1bW5ObyA9IGNvbHVtbkNvdW50O1xyXG4gICAgY29sdW1uLmhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKGNvbHVtbkhlYWRlcik7XHJcblxyXG4gICAgY29sdW1uLmZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgICBjb2x1bW4uaG9yaXpvbnRhbEFsaWdubWVudCA9IFhMSEFsaWduLnhsSEFsaWduTm9uZTtcclxuICAgIGNvbHVtbi52ZXJ0aWNhbEFsaWdubWVudCA9IFhsVkFsaWduLnhsVkFsaWduTm9uZTtcclxuICAgIGNvbHVtbi5mb3JtYXQgPSAwO1xyXG4gICAgY29sdW1uLndpZHRoID0gZ2VuaXNsaWs7XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzaW50ZWdlcjpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gMTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzbG9uZ2ludDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gMTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzcmVhbDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gMztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLklzZGF0ZTpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gRm9ybWF0bGFyLkZvcm1hdF9UYXJpaDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaGVhZGVyU2F0aXJBZGV0ID0gdGhpcy5oZWFkZXIuc2F0aXJTYXlpc2k7XHJcbiAgICBjb25zdCB0ZW1wU2l6ZSA9IGNvbHVtbkhlYWRlci5zcGxpdCgnXFxyJykubGVuZ3RoO1xyXG4gICAgaWYgKHRlbXBTaXplID4gaGVhZGVyU2F0aXJBZGV0KSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyLnNhdGlyU2F5aXNpID0gdGVtcFNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb2x1bW5zLnB1c2goY29sdW1uKTtcclxuICB9XHJcblxyXG4gIGNvbHVtbkZvcm1hdChmb3JtYXQ6IEZvcm1hdGxhciwgY29sdW1uTm8/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBfY29sdW1uTm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiBjb2x1bW5ObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX2NvbHVtbk5vID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IGNvbHVtbk5vO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29sdW1uc1tfY29sdW1uTm8gLSAxXS5mb3JtYXQgPSBmb3JtYXQ7XHJcbiAgfVxyXG5cclxuICByb3dGb250Q29sb3JBZGQoY29sb3I6IFhMUmVuaywgcm93Tm8/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBfcm93Tm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiByb3dObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX3Jvd05vID0gdGhpcy5yb3dzLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9yb3dObyA9IHJvd05vO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucm93Rm9udENvbG9ycy5wdXNoKG5ldyBSb3dGb250Q29sb3IoY29sb3IsIF9yb3dObykpO1xyXG4gIH1cclxuXHJcbiAgcm93SW50ZXJpb3JDb2xvckFkZChjb2xvcjogWExSZW5rLCByb3dObz86IG51bWJlcik6IHZvaWQge1xyXG4gICAgbGV0IF9yb3dObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIHJvd05vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfcm93Tm8gPSB0aGlzLnJvd3MubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3Jvd05vID0gcm93Tm87XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3dJbnRlcmlvckNvbG9ycy5wdXNoKG5ldyBSb3dJbnRlcmlvckNvbG9yKGNvbG9yLCBfcm93Tm8pKTtcclxuICB9XHJcblxyXG4gIHNldENvbHVtbkZvb3Rlcih0aXRsZTogc3RyaW5nLCBjb2x1bW5Obz86IG51bWJlcikge1xyXG4gICAgbGV0IF9jb2x1bW5ObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIGNvbHVtbk5vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfY29sdW1uTm8gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX2NvbHVtbk5vID0gY29sdW1uTm87XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbHVtbnNbX2NvbHVtbk5vIC0gMV0uc2V0Rm9vdGVyKHRpdGxlKTtcclxuXHJcbiAgfVxyXG5cclxuICBzZXRDb2x1bW5Gb290ZXJGdW5jdGlvbihmb290ZXJGdW5jdGlvbjogWExGdW5jcywgY29sdW1uTm8/OiBudW1iZXIpIHtcclxuICAgIGxldCBfY29sdW1uTm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiBjb2x1bW5ObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX2NvbHVtbk5vID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IGNvbHVtbk5vO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb2x1bW5zW19jb2x1bW5ObyAtIDFdLnNldEZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uKTtcclxuXHJcbiAgfVxyXG5cclxuICBoaWRkZW5Sb3dzSW5pdCgpIHtcclxuICAgIHRoaXMuaGlkZGVuUm93cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgc29ydEluaXQoKSB7XHJcbiAgICB0aGlzLnNvcnQgPSBbXTtcclxuICB9XHJcblxyXG4gIHJvd3NJbml0KCkge1xyXG4gICAgdGhpcy5yb3dzID0gW107XHJcbiAgfVxyXG5cclxuICBjb2x1bW5Gb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMuY29sdW1uRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkludGVyaW9yQ29sb3JzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uSGVhZGVySW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcm93Rm9ybWF0c0luaXQoKSB7XHJcbiAgICB0aGlzLnJvd0ZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMucm93Rm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5yb3dJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb3JtYXRzID0gW107XHJcblxyXG4gICAgdGhpcy5yb3dIb3Jpem9udGFsQWxpZ25tZW50cyA9IFtdO1xyXG4gICAgdGhpcy5yb3dWZXJ0aWNhbEFsaWdubWVudHMgPSBbXTtcclxuICB9XHJcblxyXG4gIGNlbGxGb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMuY2VsbEZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNlbGxGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNlbGxGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jZWxsSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxGb3JtYXRzID0gW107XHJcblxyXG4gICAgdGhpcy5jZWxsSG9yaXpvbnRhbEFsaWdubWVudHMgPSBbXTtcclxuICAgIHRoaXMuY2VsbFZlcnRpY2FsQWxpZ25tZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcmFuZ2VGb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMucmFuZ2VGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLnJhbmdlRm9udFN0eWxlcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUludGVyaW9yQ29sb3JzID0gW107XHJcbiAgICB0aGlzLnJhbmdlRm9ybWF0cyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUhvcml6b250YWxBbGlnbm1lbnRzID0gW107XHJcbiAgICB0aGlzLnJhbmdlVmVydGljYWxBbGlnbm1lbnRzID0gW107XHJcbiAgfVxyXG5cclxuICBnZXQgX3NoZWV0TmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hlZXROYW1lO1xyXG4gIH1cclxuICBzZXQgX3NoZWV0TmFtZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNoZWV0TmFtZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlQ29sdW1uRm9vdGVyIHtcclxuICB0aXRsZSA9ICcnO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG4gIGJhc2lsYWNhayA9IGZhbHNlO1xyXG4gIHNhdGlyU2F5aXNpID0gMTtcclxuICBpc0Z1bmN0aW9uID0gZmFsc2U7XHJcbiAgaG9yaXpvbnRhbEFsaWdubWVudDogWExIQWxpZ24gPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQ6IFhsVkFsaWduID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZ1bmN0aW9uOiBYTEZ1bmNzID0gWExGdW5jcy5Ob25lO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbiB7XHJcbiAgcHJvcGVydHkgPSAnJztcclxuICBhcnJheVR5cGU6IFZhcmlhYmxlVHlwZSA9IDA7XHJcbiAgY29sdW1uTm8gPSAwO1xyXG4gIGhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICBob3Jpem9udGFsQWxpZ25tZW50OiBYTEhBbGlnbiA9IFhMSEFsaWduLnhsSEFsaWduTm9uZTtcclxuICB2ZXJ0aWNhbEFsaWdubWVudDogWGxWQWxpZ24gPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgZm9ybWF0OiBGb3JtYXRsYXIgPSAwO1xyXG4gIHdpZHRoID0gMDtcclxuXHJcbiAgc2V0Rm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb246IFhMRnVuY3MpIHtcclxuICAgIHRoaXMuZm9vdGVyLmJhc2lsYWNhayA9IHRydWU7XHJcbiAgICB0aGlzLmZvb3Rlci5mdW5jdGlvbiA9IGZvb3RlckZ1bmN0aW9uO1xyXG4gICAgdGhpcy5mb290ZXIuaXNGdW5jdGlvbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb290ZXIodGl0bGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb290ZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRoaXMuZm9vdGVyLnRpdGxlID0gdGl0bGU7XHJcbiAgICB0aGlzLmZvb3Rlci5pc0Z1bmN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUm93Rm9udENvbG9yIHtcclxuICBjb2xvcjogWExSZW5rO1xyXG4gIHJvd05vOiBudW1iZXI7XHJcbiAgY29uc3RydWN0b3IoY29sb3I6IFhMUmVuaywgcm93Tm86IG51bWJlcikge1xyXG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xyXG4gICAgdGhpcy5yb3dObyA9IHJvd05vO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd0ludGVyaW9yQ29sb3Ige1xyXG4gIGNvbG9yOiBYTFJlbms7XHJcbiAgcm93Tm86IG51bWJlcjtcclxuICBjb25zdHJ1Y3Rvcihjb2xvcjogWExSZW5rLCByb3dObzogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmNvbG9yID0gY29sb3I7XHJcbiAgICB0aGlzLnJvd05vID0gcm93Tm87XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
|
|
435
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL21vZGVscy94bENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsTUFBTSxPQUFPLFFBQVE7SUF3Qm5CLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQXZCaEQsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBRTNCLHNCQUFpQixHQUFHLG1CQUFtQixDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLE9BQU8sQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxRQUFRLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU1QixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsUUFBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFFbEIsV0FBTSxHQUFjLEVBQUUsQ0FBQztRQUV2QixXQUFNLEdBQWMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBR25DLElBQUksQ0FBQyxPQUFPLFFBQVEsS0FBSyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sUUFBUSxLQUFLLFdBQVcsQ0FBQyxFQUFFO1lBQzFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ25EO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRXZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFhO1FBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDdkMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDN0MsUUFBUSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEtBQUssR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVCLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDZCxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDOUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQy9CLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzNDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRTNDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRTFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFekI7Ozs7Ozs7O01BUUY7UUFFRSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxTQUFpQixFQUFFLGVBQXVCLEVBQUUsV0FBb0IsRUFBRSxTQUFrQjtRQUMzRyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDekMsSUFBSSxZQUFZLEdBQUcsZUFBZSxDQUFDO1FBRW5DLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDckQsVUFBVSxHQUFHLFNBQVMsQ0FBQztTQUN4QjtRQUVELElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDekQsWUFBWSxHQUFHLFdBQVcsQ0FBQztTQUM1QjtRQUVELElBQUksZUFBZSxLQUFLLFlBQVksRUFBRTtZQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxHQUFHLGVBQWUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDNUg7YUFDSTtZQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQzVKO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN4QixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzdDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBQ0UsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLFNBQUksR0FBRyxJQUFJLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekIsYUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNoQixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sTUFBTTtJQUFuQjtRQUNFLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUNiLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxNQUFNO0lBTWpCLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQUxoRCxTQUFJLEdBQUcsVUFBVSxDQUFDO1FBQ2xCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixVQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNyQixVQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUd0QixJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsRUFBRTtZQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztTQUN0QjtRQUVELElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFO1lBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFLckIsWUFBWSxRQUFpQixFQUFFLFFBQWlCO1FBSmhELFNBQUksR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUNoQyxxQkFBZ0IsR0FBYSxFQUFFLENBQUM7UUFHOUIsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1NBQzNCO0lBRUgsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLEtBQUs7SUFBbEI7UUFDRSxTQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNwQixxQkFBZ0IsR0FBYSxFQUFFLENBQUM7UUFDaEMscUJBQWdCLEdBQWEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxPQUFPO0lBR2xCLFlBQVksT0FBZTtRQUYzQixZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osY0FBUyxHQUFHLENBQUMsQ0FBQztRQUVaLElBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1NBQ3hCO0lBRUgsQ0FBQztDQUVGO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFDRSxVQUFLLEdBQVcsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sUUFBUTtJQUFyQjtRQUNFLFNBQUksR0FBRyxNQUFNLENBQUM7UUFDZCxjQUFTLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQztRQUNyQyxXQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUM5QixVQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUN2QixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO0lBVTlCLFlBQVksTUFBTSxHQUFHLEVBQUU7UUFUdkIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLHdCQUFtQixHQUFhLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDdEQsc0JBQWlCLEdBQWEsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUNwRCxTQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNwQixhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM1QixXQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRWxCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDRSxTQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNwQixhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM1QixXQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sT0FBTztJQUFwQjtRQUNFLFlBQU8sR0FBb0IsRUFBRSxDQUFDO1FBQzlCLFdBQU0sR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDbkMsU0FBSSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUMvQixXQUFNLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ25DLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFFWixRQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUNSLGdCQUFXLEdBQUcsWUFBWSxDQUFDO1FBQzNCLGNBQVMsR0FBRyxTQUFTLENBQUM7UUFDdEIsZUFBVSxHQUFhLEVBQUUsQ0FBQztRQUMxQixTQUFJLEdBQWEsRUFBRSxDQUFDO1FBQ3BCLFNBQUksR0FBYSxFQUFFLENBQUM7UUFDcEIsb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFDL0Isb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFDL0IscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBQ2hDLHFCQUFnQixHQUFnQixFQUFFLENBQUM7UUFDbkMseUJBQW9CLEdBQWEsRUFBRSxDQUFDO1FBQ3BDLDBCQUFxQixHQUFhLEVBQUUsQ0FBQztRQUNyQywwQkFBcUIsR0FBYSxFQUFFLENBQUM7UUFDckMsMkJBQXNCLEdBQWEsRUFBRSxDQUFDO1FBQ3RDLDJCQUFzQixHQUFnQixFQUFFLENBQUM7UUFDekMsK0JBQTBCLEdBQWEsRUFBRSxDQUFDO1FBQzFDLDBCQUFxQixHQUFhLEVBQUUsQ0FBQztRQUNyQywwQkFBcUIsR0FBYSxFQUFFLENBQUM7UUFDckMsMkJBQXNCLEdBQWEsRUFBRSxDQUFDO1FBQ3RDLDJCQUFzQixHQUFnQixFQUFFLENBQUM7UUFDekMsK0JBQTBCLEdBQWEsRUFBRSxDQUFDO1FBQzFDLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBQzVCLGlCQUFZLEdBQWEsRUFBRSxDQUFDO1FBQzVCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUNuQyxrQkFBYSxHQUFnQixFQUFFLENBQUM7UUFDaEMsc0JBQWlCLEdBQXVCLEVBQUUsQ0FBQztRQUMzQyxlQUFVLEdBQWEsRUFBRSxDQUFDO1FBQzFCLDRCQUF1QixHQUFlLEVBQUUsQ0FBQztRQUN6QywwQkFBcUIsR0FBZSxFQUFFLENBQUM7UUFDdkMsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0Isa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0IsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFDOUIsbUJBQWMsR0FBZ0IsRUFBRSxDQUFDO1FBQ2pDLHVCQUFrQixHQUFhLEVBQUUsQ0FBQztRQUNsQyxnQkFBVyxHQUFhLEVBQUUsQ0FBQztRQUMzQiw2QkFBd0IsR0FBZSxFQUFFLENBQUM7UUFDMUMsMkJBQXNCLEdBQWUsRUFBRSxDQUFDO1FBQ3hDLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBQy9CLG9CQUFlLEdBQWdCLEVBQUUsQ0FBQztRQUNsQyx3QkFBbUIsR0FBYSxFQUFFLENBQUM7UUFDbkMsaUJBQVksR0FBYSxFQUFFLENBQUM7UUFDNUIsOEJBQXlCLEdBQWUsRUFBRSxDQUFDO1FBQzNDLDRCQUF1QixHQUFlLEVBQUUsQ0FBQztJQXdMM0MsQ0FBQztJQXRMQyxTQUFTLENBQUMsUUFBZ0IsRUFBRSxPQUFxQixDQUFDLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxRQUFRLEdBQUcsQ0FBQztRQUUzRSxNQUFNLE1BQU0sR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNsRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFFNUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDM0IsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDeEIsTUFBTSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUM7UUFDOUIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXRELE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ25ELE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBRXhCLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxZQUFZLENBQUMsT0FBTztnQkFDdkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUNyQyxNQUFNO1lBRVIsS0FBSyxZQUFZLENBQUMsT0FBTztnQkFDdkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUNyQyxNQUFNO1lBRVIsS0FBSyxZQUFZLENBQUMsSUFBSTtnQkFDcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUNyQyxNQUFNO1lBRVIsS0FBSyxZQUFZLENBQUMsSUFBSTtnQkFDcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO2dCQUN0QyxNQUFNO1lBRVI7Z0JBQ0UsTUFBTTtTQUNUO1FBRUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDaEQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDakQsSUFBSSxRQUFRLEdBQUcsZUFBZSxFQUFFO1lBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztTQUNwQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBdUIsRUFBRSxRQUFpQjtRQUNyRCxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDbkMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ2pDO2FBQU07WUFDTCxTQUFTLEdBQUcsUUFBUSxDQUFDO1NBQ3RCO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUM5QyxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWEsRUFBRSxLQUFjO1FBQzNDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQ2hDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUMzQjthQUFNO1lBQ0wsTUFBTSxHQUFHLEtBQUssQ0FBQztTQUNoQjtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhLEVBQUUsS0FBYztRQUMvQyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsRUFBRTtZQUNoQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDM0I7YUFBTTtZQUNMLE1BQU0sR0FBRyxLQUFLLENBQUM7U0FDaEI7UUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhLEVBQUUsUUFBaUI7UUFDOUMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFO1lBQ25DLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUNqQzthQUFNO1lBQ0wsU0FBUyxHQUFHLFFBQVEsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUvQyxDQUFDO0lBRUQsdUJBQXVCLENBQUMsY0FBdUIsRUFBRSxRQUFpQjtRQUNoRSxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDbkMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ2pDO2FBQU07WUFDTCxTQUFTLEdBQUcsUUFBUSxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFaEUsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO1FBRS9CLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUM7UUFFakMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDO1FBRWpDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXJCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFFdEIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7Q0FFRjtBQUVELE1BQU0sT0FBTyxtQkFBbUI7SUFBaEM7UUFDRSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsYUFBUSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDNUIsV0FBTSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDeEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHdCQUFtQixHQUFhLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDdEQsc0JBQWlCLEdBQWEsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUNwRCxhQUFRLEdBQVksT0FBTyxDQUFDLElBQUksQ0FBQztJQUNuQyxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sYUFBYTtJQUExQjtRQUNFLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxjQUFTLEdBQWlCLENBQUMsQ0FBQztRQUM1QixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsV0FBTSxHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUNuQyxXQUFNLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ25DLHdCQUFtQixHQUFhLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDdEQsc0JBQWlCLEdBQWEsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUNwRCxXQUFNLEdBQW9CLENBQUMsQ0FBQztRQUM1QixVQUFLLEdBQUcsQ0FBQyxDQUFDO0lBYVosQ0FBQztJQVhDLGlCQUFpQixDQUFDLGNBQXVCO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQUd2QixZQUFZLEtBQWEsRUFBRSxLQUFhO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFBWSxLQUFhLEVBQUUsS0FBYTtRQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb250U3R5bGUsIE51bWJlckZvcm1hdGxhciwgVmFyaWFibGVUeXBlLCBYTFJlbmsgfSBmcm9tICcuL2ZvdXJEQ29uc3RhbnRzJztcclxuaW1wb3J0IHsgWGxCb3JkZXJXZWlnaCwgWExGdW5jcywgWExIQWxpZ24sIFhMTGluZVN0eWxlLCBYbFZBbGlnbiB9IGZyb20gJy4veGxDb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFhMQ29uZmlnIHtcclxuICBsb2dvID0gbmV3IFhMTG9nbygpO1xyXG4gIGRlZmF1bHRGb250ID0gbmV3IFhMRm9udCgpO1xyXG5cclxuICBjdXJyZW50VGFibGVTdHlsZSA9ICdUYWJsZVN0eWxlTGlnaHQxMCc7XHJcbiAgY3VycmVudFRhYmxlID0gMTtcclxuICBjdXJyZW50QXBwbGljYXRpb25PYmplY3QgPSAneGxBcHAnO1xyXG4gIGN1cnJlbnRCb29rT2JqZWN0ID0gJ3hsQm9vayc7XHJcbiAgY3VycmVudFNoZWV0T2JqZWN0ID0gJ3hsU2hlZXQnO1xyXG4gIGF1dGhvciA9ICdNZWRQbGFuJztcclxuICBzaWZpcmxhcmlCYXNtYSA9IGZhbHNlO1xyXG4gIHNoZWV0TmFtZSA9ICcnO1xyXG5cclxuICB1c3RCaWxnaWxlcjogWExVc3RCaWxnaVNhdGlyW10gPSBbXTtcclxuICB1c3RCaWxnaSA9IG5ldyBYTFVzdEJpbGdpKCk7XHJcblxyXG4gIG5vdGxhcjogc3RyaW5nW10gPSBbXTtcclxuICBzY3JpcHRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG5vdCA9IG5ldyBYTE5vdCgpO1xyXG5cclxuICB0YWJsZXM6IFhMVGFibGVbXSA9IFtdO1xyXG5cclxuICBzaGVldHM6IFhMU2hlZXRbXSA9IFtuZXcgWExTaGVldCgxKV07XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZvbnROYW1lPzogc3RyaW5nLCBmb250U2l6ZT86IG51bWJlcikge1xyXG4gICAgaWYgKCh0eXBlb2YgZm9udE5hbWUgIT09ICd1bmRlZmluZWQnKSB8fCAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykpIHtcclxuICAgICAgdGhpcy5kZWZhdWx0Rm9udCA9IG5ldyBYTEZvbnQoZm9udE5hbWUsIGZvbnRTaXplKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRhYmxlID0gdGhpcy5hZGRUYWJsZSgpO1xyXG4gICAgdGFibGUudGFibGVObyA9IHRoaXMudGFibGVzLmxlbmd0aCArIDE7XHJcblxyXG4gICAgdGhpcy50YWJsZXMucHVzaCh0YWJsZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgdXN0QmlsZ2lTYXRpckVrbGUoc2F0aXI6IHN0cmluZykge1xyXG4gICAgY29uc3QgdXN0QmlsZ2kgPSBuZXcgWExVc3RCaWxnaVNhdGlyKCk7XHJcbiAgICB1c3RCaWxnaS5yb3dObyA9IHRoaXMudXN0QmlsZ2lsZXIubGVuZ3RoICsgMTtcclxuICAgIHVzdEJpbGdpLnVzdEJpbGdpID0gc2F0aXI7XHJcblxyXG4gICAgdGhpcy51c3RCaWxnaWxlci5wdXNoKHVzdEJpbGdpKTtcclxuICB9XHJcblxyXG4gIGFkZFRhYmxlKCk6IFhMVGFibGUge1xyXG4gICAgY29uc3QgdGFibGUgPSBuZXcgWExUYWJsZSgpO1xyXG4gICAgdGFibGUuc29sID0gMTtcclxuICAgIHRhYmxlLnVzdCA9IDE7XHJcbiAgICB0YWJsZS5oZWFkZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRhYmxlLmZvb3Rlci5iYXNpbGFjYWsgPSBmYWxzZTtcclxuICAgIHRhYmxlLmhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgICB0YWJsZS5oZWFkZXIuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuV2hpdGU7XHJcbiAgICB0YWJsZS5kYXRhID0gbmV3IFhMVGFibGVDb2x1bW5EYXRhKCk7XHJcbiAgICB0YWJsZS5kYXRhLmludGVyaW9yLmNvbG9yID0gWExSZW5rLldoaXRlO1xyXG4gICAgdGFibGUuZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICAgIHRhYmxlLmZvb3Rlci5pbnRlcmlvci5jb2xvciA9IFhMUmVuay5XaGl0ZTtcclxuXHJcbiAgICB0YWJsZS5oaWRkZW5Sb3dzSW5pdCgpO1xyXG4gICAgdGFibGUuc29ydEluaXQoKTtcclxuICAgIHRhYmxlLnJvd3NJbml0KCk7XHJcbiAgICB0YWJsZS5jb2x1bW5Gb3JtYXRzSW5pdCgpO1xyXG5cclxuICAgIHRhYmxlLnJvd0Zvcm1hdHNJbml0KCk7XHJcbiAgICB0YWJsZS5jZWxsRm9ybWF0c0luaXQoKTtcclxuICAgIHRhYmxlLnJhbmdlRm9ybWF0c0luaXQoKTtcclxuXHJcbiAgICAvKlxyXG4gICAgICAgIFhMX1RfSGVhZGVyQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9EYXRhQm9yZGVyQWxsU2V0KFV0aWxzQm9yZGVyVHVtdTsgeGxDb250aW51b3VzOyB4bFRoaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0hlYWRlckZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0RhdGFGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9Gb290ZXJGb250QWxsU2V0KFhMX0RlZmF1bHRGb250TmFtZSA7IFhMX0RlZmF1bHRGb250U2l6ZTsgUGxhaW47IGNsQmxhY2spXHJcbiAgICAgICAgWExfVF9TaGVldE5hbWVTZXQoWExfU19DdXJyZW50KVxyXG4qL1xyXG5cclxuICAgIHJldHVybiB0YWJsZTtcclxuICB9XHJcblxyXG4gIHNoZWV0Um93c1Jvd0hlaWdodFNjcmlwdChyb3dIZWlnaHQ6IG51bWJlciwgYmFzbGFuZ2ljU2F0aXJpOiBudW1iZXIsIGJpdGlzU2F0aXJpPzogbnVtYmVyLCBzaGVldE5hbWU/OiBzdHJpbmcpIHtcclxuICAgIGxldCBfc2hlZXROYW1lID0gdGhpcy5jdXJyZW50U2hlZXRPYmplY3Q7XHJcbiAgICBsZXQgX2JpdGlzU2F0aXJpID0gYmFzbGFuZ2ljU2F0aXJpO1xyXG5cclxuICAgIGlmICgoc2hlZXROYW1lICE9PSB1bmRlZmluZWQpICYmIChzaGVldE5hbWUgIT09IG51bGwpKSB7XHJcbiAgICAgIF9zaGVldE5hbWUgPSBzaGVldE5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKChiaXRpc1NhdGlyaSAhPT0gdW5kZWZpbmVkKSAmJiAoYml0aXNTYXRpcmkgIT09IG51bGwpKSB7XHJcbiAgICAgIF9iaXRpc1NhdGlyaSA9IGJpdGlzU2F0aXJpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChiYXNsYW5naWNTYXRpcmkgPT09IF9iaXRpc1NhdGlyaSkge1xyXG4gICAgICB0aGlzLnNjcmlwdHMucHVzaChfc2hlZXROYW1lICsgJy5Sb3dzKFwiJyArIGJhc2xhbmdpY1NhdGlyaS50b1N0cmluZygpICsgJ1wiKS5Sb3dIZWlnaHQgPSAnICsgdGhpcy5WQlNSZWFsVG9UZXh0KHJvd0hlaWdodCkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2NyaXB0cy5wdXNoKF9zaGVldE5hbWUgKyAnLlJvd3MoXCInICsgYmFzbGFuZ2ljU2F0aXJpLnRvU3RyaW5nKCkgKyAnOicgKyBfYml0aXNTYXRpcmkudG9TdHJpbmcoKSArICdcIikuUm93SGVpZ2h0ID0gJyArIHRoaXMuVkJTUmVhbFRvVGV4dChyb3dIZWlnaHQpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZFNjcmlwdChzY3JpcHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zY3JpcHRzLnB1c2goc2NyaXB0KTtcclxuICB9XHJcblxyXG4gIFZCU1JlYWxUb1RleHQoc2F5aTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzYXlpLnRvU3RyaW5nKCkucmVwbGFjZSgvWyxdL2csICcuJylcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFVzdEJpbGdpU2F0aXIge1xyXG4gIHJvd05vID0gMDtcclxuICBmb250ID0gbmV3IFhMRm9udCgnJywgMCk7XHJcbiAgdXN0QmlsZ2kgPSAnJztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMTG9nbyB7XHJcbiAgZ2VuaXNsaWsgPSAwO1xyXG4gIHl1a3Nla2xpayA9IDA7XHJcbiAgdXN0TWFyamluID0gMDtcclxuICBzb2xNYXJqaW4gPSAwO1xyXG4gIGViYXRQaXhlbG1pID0gZmFsc2U7XHJcbiAgZWJhdCA9ICcnO1xyXG4gIGtvbnVtID0gJyc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTEZvbnQge1xyXG4gIG5hbWUgPSAnU2Vnb2UgVUknO1xyXG4gIHNpemUgPSAxMTtcclxuICBjb2xvciA9IFhMUmVuay5CbGFjaztcclxuICBzdHlsZSA9IEZvbnRTdHlsZS5QbGFpbjtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLm5hbWUgPSBmb250TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLnNpemUgPSBmb250U2l6ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFVzdEJpbGdpIHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIGZvbnROYW1lICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLmZvbnQubmFtZSA9IGZvbnROYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuZm9udC5zaXplID0gZm9udFNpemU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMTm90IHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogc3RyaW5nW10gPSBbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMU2hlZXQge1xyXG4gIHNoZWV0Tm8gPSAwO1xyXG4gIHNoZWV0TmFtZSA9IDA7XHJcbiAgY29uc3RydWN0b3Ioc2hlZXRObzogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZW9mIHNoZWV0Tm8gIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuc2hlZXRObyA9IHNoZWV0Tm87XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTEludGVyaW9yIHtcclxuICBjb2xvcjogWExSZW5rID0gWExSZW5rLldoaXRlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExCb3JkZXIge1xyXG4gIHR5cGUgPSAnVMO8bcO8JztcclxuICBsaW5lU3R5bGUgPSBYTExpbmVTdHlsZS54bENvbnRpbnVvdXM7XHJcbiAgd2VpZ2h0ID0gWGxCb3JkZXJXZWlnaC54bFRoaW47XHJcbiAgY29sb3IgPSBYTFJlbmsuQmxhY2s7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlQ29sdW1uSGVhZGVyIHtcclxuICB0aXRsZSA9ICcnO1xyXG4gIGhvcml6b250YWxBbGlnbm1lbnQ6IFhMSEFsaWduID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gIHZlcnRpY2FsQWxpZ25tZW50OiBYbFZBbGlnbiA9IFhsVkFsaWduLnhsVkFsaWduTm9uZTtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGludGVyaW9yID0gbmV3IFhMSW50ZXJpb3IoKTtcclxuICBib3JkZXIgPSBuZXcgWExCb3JkZXIoKTtcclxuICBiYXNpbGFjYWsgPSB0cnVlO1xyXG4gIHNhdGlyU2F5aXNpID0gMTtcclxuICBpc011bHRpTGluZSA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKGhlYWRlciA9ICcnKSB7XHJcbiAgICB0aGlzLnRpdGxlID0gaGVhZGVyO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5EYXRhIHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGludGVyaW9yID0gbmV3IFhMSW50ZXJpb3IoKTtcclxuICBib3JkZXIgPSBuZXcgWExCb3JkZXIoKTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGUge1xyXG4gIGNvbHVtbnM6IFhMVGFibGVDb2x1bW5bXSA9IFtdO1xyXG4gIGhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgZGF0YSA9IG5ldyBYTFRhYmxlQ29sdW1uRGF0YSgpO1xyXG4gIGZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgdGFibGVObyA9IDE7XHJcbiAgY29sbGVjdGlvbjogc3RyaW5nW107XHJcbiAgc29sID0gMTtcclxuICB1c3QgPSAxO1xyXG4gIHZlcmlLYXluYWdpID0gJ0NvbGxlY3Rpb24nO1xyXG4gIHNoZWV0TmFtZSA9ICd4bFNoZWV0JztcclxuICBoaWRkZW5Sb3dzOiBudW1iZXJbXSA9IFtdO1xyXG4gIHNvcnQ6IG51bWJlcltdID0gW107XHJcbiAgcm93czogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICBjb2x1bW5JbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICByb3dGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcm93Rm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIHJvd0ZvbnRDb2xvcnM6IFJvd0ZvbnRDb2xvcltdID0gW107XHJcbiAgcm93Rm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICByb3dJbnRlcmlvckNvbG9yczogUm93SW50ZXJpb3JDb2xvcltdID0gW107XHJcbiAgcm93Rm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICByb3dIb3Jpem9udGFsQWxpZ25tZW50czogWExIQWxpZ25bXSA9IFtdO1xyXG4gIHJvd1ZlcnRpY2FsQWxpZ25tZW50czogWGxWQWxpZ25bXSA9IFtdO1xyXG4gIGNlbGxGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjZWxsRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICBjZWxsSW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEZvcm1hdHM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEhvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgY2VsbFZlcnRpY2FsQWxpZ25tZW50czogWGxWQWxpZ25bXSA9IFtdO1xyXG4gIHJhbmdlRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIHJhbmdlRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgcmFuZ2VJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUZvcm1hdHM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VIb3Jpem9udGFsQWxpZ25tZW50czogWExIQWxpZ25bXSA9IFtdO1xyXG4gIHJhbmdlVmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcblxyXG4gIGFkZENvbHVtbihwcm9wZXJ0eTogc3RyaW5nLCB0eXBlOiBWYXJpYWJsZVR5cGUgPSAwLCBoZWFkZXIgPSAnJywgZ2VuaXNsaWsgPSAwKSB7XHJcblxyXG4gICAgY29uc3QgY29sdW1uOiBYTFRhYmxlQ29sdW1uID0gbmV3IFhMVGFibGVDb2x1bW4oKTtcclxuICAgIGNvbnN0IGNvbHVtbkhlYWRlciA9IGhlYWRlci5yZXBsYWNlKCc8cD4nLCAnXFxyJyk7XHJcbiAgICBjb25zdCBjb2x1bW5Db3VudCA9IHRoaXMuY29sdW1ucy5sZW5ndGggKyAxO1xyXG5cclxuICAgIGNvbHVtbi5wcm9wZXJ0eSA9IHByb3BlcnR5O1xyXG4gICAgY29sdW1uLmFycmF5VHlwZSA9IHR5cGU7XHJcbiAgICBjb2x1bW4uY29sdW1uTm8gPSBjb2x1bW5Db3VudDtcclxuICAgIGNvbHVtbi5oZWFkZXIgPSBuZXcgWExUYWJsZUNvbHVtbkhlYWRlcihjb2x1bW5IZWFkZXIpO1xyXG5cclxuICAgIGNvbHVtbi5mb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gICAgY29sdW1uLmhvcml6b250YWxBbGlnbm1lbnQgPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgICBjb2x1bW4udmVydGljYWxBbGlnbm1lbnQgPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgICBjb2x1bW4uZm9ybWF0ID0gMDtcclxuICAgIGNvbHVtbi53aWR0aCA9IGdlbmlzbGlrO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIFZhcmlhYmxlVHlwZS5JbnRlZ2VyOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSBOdW1iZXJGb3JtYXRsYXIuTG9uZztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLkxvbmdJbnQ6XHJcbiAgICAgICAgY29sdW1uLmZvcm1hdCA9IE51bWJlckZvcm1hdGxhci5Mb25nO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBWYXJpYWJsZVR5cGUuUmVhbDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gTnVtYmVyRm9ybWF0bGFyLlJlYWw7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFZhcmlhYmxlVHlwZS5EYXRlOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSBOdW1iZXJGb3JtYXRsYXIuVGFyaWg7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhlYWRlclNhdGlyQWRldCA9IHRoaXMuaGVhZGVyLnNhdGlyU2F5aXNpO1xyXG4gICAgY29uc3QgdGVtcFNpemUgPSBjb2x1bW5IZWFkZXIuc3BsaXQoJ1xccicpLmxlbmd0aDtcclxuICAgIGlmICh0ZW1wU2l6ZSA+IGhlYWRlclNhdGlyQWRldCkge1xyXG4gICAgICB0aGlzLmhlYWRlci5zYXRpclNheWlzaSA9IHRlbXBTaXplO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29sdW1ucy5wdXNoKGNvbHVtbik7XHJcbiAgfVxyXG5cclxuICBjb2x1bW5Gb3JtYXQoZm9ybWF0OiBOdW1iZXJGb3JtYXRsYXIsIGNvbHVtbk5vPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgX2NvbHVtbk5vID0gMDtcclxuICAgIGlmICh0eXBlb2YgY29sdW1uTm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IHRoaXMuY29sdW1ucy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfY29sdW1uTm8gPSBjb2x1bW5ObztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbHVtbnNbX2NvbHVtbk5vIC0gMV0uZm9ybWF0ID0gZm9ybWF0O1xyXG4gIH1cclxuXHJcbiAgcm93Rm9udENvbG9yQWRkKGNvbG9yOiBYTFJlbmssIHJvd05vPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgX3Jvd05vID0gMDtcclxuICAgIGlmICh0eXBlb2Ygcm93Tm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9yb3dObyA9IHRoaXMucm93cy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfcm93Tm8gPSByb3dObztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0ZvbnRDb2xvcnMucHVzaChuZXcgUm93Rm9udENvbG9yKGNvbG9yLCBfcm93Tm8pKTtcclxuICB9XHJcblxyXG4gIHJvd0ludGVyaW9yQ29sb3JBZGQoY29sb3I6IFhMUmVuaywgcm93Tm8/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBfcm93Tm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiByb3dObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX3Jvd05vID0gdGhpcy5yb3dzLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9yb3dObyA9IHJvd05vO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucm93SW50ZXJpb3JDb2xvcnMucHVzaChuZXcgUm93SW50ZXJpb3JDb2xvcihjb2xvciwgX3Jvd05vKSk7XHJcbiAgfVxyXG5cclxuICBzZXRDb2x1bW5Gb290ZXIodGl0bGU6IHN0cmluZywgY29sdW1uTm8/OiBudW1iZXIpIHtcclxuICAgIGxldCBfY29sdW1uTm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiBjb2x1bW5ObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX2NvbHVtbk5vID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IGNvbHVtbk5vO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb2x1bW5zW19jb2x1bW5ObyAtIDFdLnNldEZvb3Rlcih0aXRsZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgc2V0Q29sdW1uRm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb246IFhMRnVuY3MsIGNvbHVtbk5vPzogbnVtYmVyKSB7XHJcbiAgICBsZXQgX2NvbHVtbk5vID0gMDtcclxuICAgIGlmICh0eXBlb2YgY29sdW1uTm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IHRoaXMuY29sdW1ucy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfY29sdW1uTm8gPSBjb2x1bW5ObztcclxuICAgIH1cclxuICAgIHRoaXMuY29sdW1uc1tfY29sdW1uTm8gLSAxXS5zZXRGb290ZXJGdW5jdGlvbihmb290ZXJGdW5jdGlvbik7XHJcblxyXG4gIH1cclxuXHJcbiAgaGlkZGVuUm93c0luaXQoKSB7XHJcbiAgICB0aGlzLmhpZGRlblJvd3MgPSBbXTtcclxuICB9XHJcblxyXG4gIHNvcnRJbml0KCkge1xyXG4gICAgdGhpcy5zb3J0ID0gW107XHJcbiAgfVxyXG5cclxuICByb3dzSW5pdCgpIHtcclxuICAgIHRoaXMucm93cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgY29sdW1uRm9ybWF0c0luaXQoKSB7XHJcbiAgICB0aGlzLmNvbHVtbkZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5JbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckludGVyaW9yQ29sb3JzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uRm9vdGVySW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuICB9XHJcblxyXG4gIHJvd0Zvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5yb3dGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMucm93Rm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucm93Rm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMucm93SW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucm93Rm9ybWF0cyA9IFtdO1xyXG5cclxuICAgIHRoaXMucm93SG9yaXpvbnRhbEFsaWdubWVudHMgPSBbXTtcclxuICAgIHRoaXMucm93VmVydGljYWxBbGlnbm1lbnRzID0gW107XHJcbiAgfVxyXG5cclxuICBjZWxsRm9ybWF0c0luaXQoKSB7XHJcbiAgICB0aGlzLmNlbGxGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY2VsbEludGVyaW9yQ29sb3JzID0gW107XHJcblxyXG4gICAgdGhpcy5jZWxsRm9ybWF0cyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY2VsbEhvcml6b250YWxBbGlnbm1lbnRzID0gW107XHJcbiAgICB0aGlzLmNlbGxWZXJ0aWNhbEFsaWdubWVudHMgPSBbXTtcclxuICB9XHJcblxyXG4gIHJhbmdlRm9ybWF0c0luaXQoKSB7XHJcbiAgICB0aGlzLnJhbmdlRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLnJhbmdlRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLnJhbmdlRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRTdHlsZXMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvcm1hdHMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VIb3Jpem9udGFsQWxpZ25tZW50cyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZVZlcnRpY2FsQWxpZ25tZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IF9zaGVldE5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnNoZWV0TmFtZTtcclxuICB9XHJcbiAgc2V0IF9zaGVldE5hbWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zaGVldE5hbWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbkZvb3RlciB7XHJcbiAgdGl0bGUgPSAnJztcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGludGVyaW9yID0gbmV3IFhMSW50ZXJpb3IoKTtcclxuICBib3JkZXIgPSBuZXcgWExCb3JkZXIoKTtcclxuICBiYXNpbGFjYWsgPSBmYWxzZTtcclxuICBzYXRpclNheWlzaSA9IDE7XHJcbiAgaXNGdW5jdGlvbiA9IGZhbHNlO1xyXG4gIGhvcml6b250YWxBbGlnbm1lbnQ6IFhMSEFsaWduID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gIHZlcnRpY2FsQWxpZ25tZW50OiBYbFZBbGlnbiA9IFhsVkFsaWduLnhsVkFsaWduTm9uZTtcclxuICBmdW5jdGlvbjogWExGdW5jcyA9IFhMRnVuY3MuTm9uZTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW4ge1xyXG4gIHByb3BlcnR5ID0gJyc7XHJcbiAgYXJyYXlUeXBlOiBWYXJpYWJsZVR5cGUgPSAwO1xyXG4gIGNvbHVtbk5vID0gMDtcclxuICBoZWFkZXIgPSBuZXcgWExUYWJsZUNvbHVtbkhlYWRlcigpO1xyXG4gIGZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgaG9yaXpvbnRhbEFsaWdubWVudDogWExIQWxpZ24gPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQ6IFhsVkFsaWduID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZvcm1hdDogTnVtYmVyRm9ybWF0bGFyID0gMDtcclxuICB3aWR0aCA9IDA7XHJcblxyXG4gIHNldEZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uOiBYTEZ1bmNzKSB7XHJcbiAgICB0aGlzLmZvb3Rlci5iYXNpbGFjYWsgPSB0cnVlO1xyXG4gICAgdGhpcy5mb290ZXIuZnVuY3Rpb24gPSBmb290ZXJGdW5jdGlvbjtcclxuICAgIHRoaXMuZm9vdGVyLmlzRnVuY3Rpb24gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2V0Rm9vdGVyKHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZm9vdGVyLmJhc2lsYWNhayA9IHRydWU7XHJcbiAgICB0aGlzLmZvb3Rlci50aXRsZSA9IHRpdGxlO1xyXG4gICAgdGhpcy5mb290ZXIuaXNGdW5jdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd0ZvbnRDb2xvciB7XHJcbiAgY29sb3I6IFhMUmVuaztcclxuICByb3dObzogbnVtYmVyO1xyXG4gIGNvbnN0cnVjdG9yKGNvbG9yOiBYTFJlbmssIHJvd05vOiBudW1iZXIpIHtcclxuICAgIHRoaXMuY29sb3IgPSBjb2xvcjtcclxuICAgIHRoaXMucm93Tm8gPSByb3dObztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSb3dJbnRlcmlvckNvbG9yIHtcclxuICBjb2xvcjogWExSZW5rO1xyXG4gIHJvd05vOiBudW1iZXI7XHJcbiAgY29uc3RydWN0b3IoY29sb3I6IFhMUmVuaywgcm93Tm86IG51bWJlcikge1xyXG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xyXG4gICAgdGhpcy5yb3dObyA9IHJvd05vO1xyXG4gIH1cclxufVxyXG4iXX0=
|