@magic-xpa/utils 4.800.0-dev480.22 → 4.800.0-dev480.220
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/magic-xpa-utils.umd.js +72 -1222
- package/bundles/magic-xpa-utils.umd.js.map +1 -1
- package/bundles/magic-xpa-utils.umd.min.js +1 -1
- package/bundles/magic-xpa-utils.umd.min.js.map +1 -1
- package/esm2015/index.js +1 -1
- package/esm2015/magic-xpa-utils.js +1 -4
- package/esm2015/src/Base64.js +1 -46
- package/esm2015/src/ChoiceUtils.js +1 -13
- package/esm2015/src/Constants.js +2 -14
- package/esm2015/src/DateTimeUtils.js +1 -2
- package/esm2015/src/DateUtil.js +1 -13
- package/esm2015/src/InternalInterface.js +4 -8
- package/esm2015/src/JSON_Utils.js +1 -1
- package/esm2015/src/Logger.js +2 -81
- package/esm2015/src/MagicConstants.js +1 -1
- package/esm2015/src/Misc.js +1 -60
- package/esm2015/src/MsgInterface.js +1 -1
- package/esm2015/src/PICInterface.js +20 -31
- package/esm2015/src/PlatformUtils.js +2 -2
- package/esm2015/src/Queue.js +1 -9
- package/esm2015/src/Randomizer.js +1 -1
- package/esm2015/src/RequestInfo.js +1 -4
- package/esm2015/src/Rtf.js +15 -199
- package/esm2015/src/StorageAttribute.js +1 -33
- package/esm2015/src/StrUtil.js +0 -0
- package/esm2015/src/SyncExecutionHelper.js +1 -16
- package/esm2015/src/UtilDateJpn.js +9 -89
- package/esm2015/src/UtilImeJpn.js +3 -32
- package/esm2015/src/UtilStrByteMode.js +15 -288
- package/esm2015/src/XMLConstants.js +1 -12
- package/esm2015/src/Xml/XmlParser.js +3 -100
- package/esm2015/src/enums.js +1 -1
- package/fesm2015/magic-xpa-utils.js +72 -1224
- package/fesm2015/magic-xpa-utils.js.map +1 -1
- package/magic-xpa-utils.d.ts +0 -3
- package/package.json +2 -2
- package/src/InternalInterface.d.ts +1 -1
- package/src/StrUtil.d.ts +0 -1
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import { StorageAttribute } from "./enums";
|
|
2
|
-
/// <summary>
|
|
3
|
-
/// type checking for enum 'StorageAttribute'
|
|
4
|
-
/// </summary>
|
|
5
2
|
export class StorageAttributeCheck {
|
|
6
|
-
/// <summary>
|
|
7
|
-
/// is the both types belong to the same inner data types
|
|
8
|
-
/// </summary>
|
|
9
|
-
/// <param name = "type1">data type</param>
|
|
10
|
-
/// <param name = "type2">data type</param>
|
|
11
3
|
static isTheSameType(type1, type2) {
|
|
12
4
|
return type1 === type2 || (StorageAttributeCheck.isTypeNumeric(type1) && StorageAttributeCheck.isTypeNumeric(type2)) || (StorageAttributeCheck.isTypeLogical(type1) && StorageAttributeCheck.isTypeLogical(type2)) || (StorageAttributeCheck.IsTypeAlphaOrUnicode(type1) && StorageAttributeCheck.IsTypeAlphaOrUnicode(type2)) || (StorageAttributeCheck.isTypeBlob(type1) && StorageAttributeCheck.isTypeBlob(type2)) || (StorageAttributeCheck.isTypeDotNet(type1) && StorageAttributeCheck.isTypeDotNet(type2));
|
|
13
5
|
}
|
|
@@ -17,36 +9,18 @@ export class StorageAttributeCheck {
|
|
|
17
9
|
static isTypeAlpha(type) {
|
|
18
10
|
return type === StorageAttribute.ALPHA || type === StorageAttribute.MEMO;
|
|
19
11
|
}
|
|
20
|
-
/// <summary>
|
|
21
|
-
/// is the both types belong to the NUMERIC inner type
|
|
22
|
-
/// </summary>
|
|
23
12
|
static isTypeNumeric(type) {
|
|
24
13
|
return type === StorageAttribute.DATE || type === StorageAttribute.TIME || type === StorageAttribute.NUMERIC;
|
|
25
14
|
}
|
|
26
|
-
/// <summary>
|
|
27
|
-
/// is the both types belong to the LOGICAL inner type
|
|
28
|
-
/// </summary>
|
|
29
15
|
static isTypeLogical(type) {
|
|
30
16
|
return type === StorageAttribute.BOOLEAN;
|
|
31
17
|
}
|
|
32
|
-
/// <summary>
|
|
33
|
-
/// is the type is DOTNET
|
|
34
|
-
/// </summary>
|
|
35
18
|
static isTypeDotNet(type) {
|
|
36
19
|
return type === StorageAttribute.DOTNET;
|
|
37
20
|
}
|
|
38
|
-
/// <summary>
|
|
39
|
-
/// is the type ALPHA or UNICODE
|
|
40
|
-
/// </summary>
|
|
41
|
-
/// <param name = "type">data type</param>
|
|
42
21
|
static IsTypeAlphaOrUnicode(type) {
|
|
43
22
|
return type === StorageAttribute.ALPHA || type === StorageAttribute.UNICODE;
|
|
44
23
|
}
|
|
45
|
-
/// <summary>
|
|
46
|
-
/// is the inner type ALPHA or UNICODE
|
|
47
|
-
/// </summary>
|
|
48
|
-
/// <param name = "type1">data type</param>
|
|
49
|
-
/// <param name = "type2">data type</param>
|
|
50
24
|
static StorageFldAlphaOrUnicode(type1, type2) {
|
|
51
25
|
return StorageAttributeCheck.IsTypeAlphaOrUnicode(type1) && StorageAttributeCheck.IsTypeAlphaOrUnicode(type2);
|
|
52
26
|
}
|
|
@@ -62,12 +36,6 @@ export class StorageAttributeCheck {
|
|
|
62
36
|
return ((type1AlphaOrUnicode && type2Blob) || (type2AlphaOrUnicode && type1Blob));
|
|
63
37
|
}
|
|
64
38
|
}
|
|
65
|
-
/// <summary>
|
|
66
|
-
/// Check if types are compatible or not.
|
|
67
|
-
/// </summary>
|
|
68
|
-
/// <param name="sourceAttribute"></param>
|
|
69
|
-
/// <param name="destinationAttribute"></param>
|
|
70
|
-
/// <returns></returns>
|
|
71
39
|
static IsTypeCompatibile(sourceAttribute, destinationAttribute) {
|
|
72
40
|
let isTypeCompatible = false;
|
|
73
41
|
switch (sourceAttribute) {
|
|
@@ -113,4 +81,4 @@ export class StorageAttributeCheck {
|
|
|
113
81
|
constructor() {
|
|
114
82
|
}
|
|
115
83
|
}
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZUF0dHJpYnV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3V0aWxzL3NyYy9TdG9yYWdlQXR0cmlidXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUV6QyxhQUFhO0FBQ2IsNkNBQTZDO0FBQzdDLGNBQWM7QUFDZCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLGFBQWE7SUFDYix5REFBeUQ7SUFDekQsY0FBYztJQUNkLDJDQUEyQztJQUMzQywyQ0FBMkM7SUFDM0MsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUF1QixFQUFFLEtBQXVCO1FBQ25FLE9BQU8sS0FBSyxLQUFLLEtBQUssSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUkscUJBQXFCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUkscUJBQXFCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcmYsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBc0I7UUFDdEMsT0FBTyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7SUFDakYsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBc0I7UUFDdkMsT0FBTyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxJQUFJLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7SUFDM0UsQ0FBQztJQUVELGFBQWE7SUFDYixzREFBc0Q7SUFDdEQsY0FBYztJQUNkLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBc0I7UUFDekMsT0FBTyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztJQUMvRyxDQUFDO0lBRUQsYUFBYTtJQUNiLHNEQUFzRDtJQUN0RCxjQUFjO0lBQ2QsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFzQjtRQUN6QyxPQUFPLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7SUFDM0MsQ0FBQztJQUVELGFBQWE7SUFDYix5QkFBeUI7SUFDekIsY0FBYztJQUNkLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBc0I7UUFDeEMsT0FBTyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFRCxhQUFhO0lBQ2IsZ0NBQWdDO0lBQ2hDLGNBQWM7SUFDZCwwQ0FBMEM7SUFDMUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQXNCO1FBQ2hELE9BQU8sSUFBSSxLQUFLLGdCQUFnQixDQUFDLEtBQUssSUFBSSxJQUFJLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxDQUFDO0lBQzlFLENBQUM7SUFFRCxhQUFhO0lBQ2Isc0NBQXNDO0lBQ3RDLGNBQWM7SUFDZCwyQ0FBMkM7SUFDM0MsMkNBQTJDO0lBQzNDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxLQUF1QixFQUFFLEtBQXVCO1FBQzlFLE9BQU8scUJBQXFCLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLElBQUkscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVELE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxLQUF1QixFQUFFLEtBQXVCO1FBQ2xGLElBQUksbUJBQW1CLEdBQVkscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckYsSUFBSSxtQkFBbUIsR0FBWSxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyRixJQUFJLG1CQUFtQixJQUFJLG1CQUFtQixFQUFFO1lBQzlDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFDSTtZQUNILElBQUksU0FBUyxHQUFZLEtBQUssS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDekQsSUFBSSxTQUFTLEdBQVksS0FBSyxLQUFLLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUN6RCxPQUFPLENBQUMsQ0FBQyxtQkFBbUIsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDbkY7SUFFSCxDQUFDO0lBRUQsYUFBYTtJQUNiLHlDQUF5QztJQUN6QyxjQUFjO0lBQ2QsMENBQTBDO0lBQzFDLCtDQUErQztJQUMvQyx1QkFBdUI7SUFDdkIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLGVBQWlDLEVBQUUsb0JBQXNDO1FBQ2hHLElBQUksZ0JBQWdCLEdBQVksS0FBSyxDQUFDO1FBRXRDLFFBQVEsZUFBZSxFQUFFO1lBQ3ZCLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1lBQzVCLEtBQUssZ0JBQWdCLENBQUMsT0FBTztnQkFDM0IsSUFBSSxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsT0FBTztvQkFDdEcsb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxJQUFJLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLElBQUk7b0JBQ2hHLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtvQkFDbkQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2lCQUN6QjtnQkFDRCxNQUFNO1lBRVIsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPO2dCQUMzQixJQUFJLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLE9BQU8sSUFBSSxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLO29CQUN0RyxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsT0FBTztvQkFDdEcsb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxJQUFJLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLElBQUksRUFBRTtvQkFDbEcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2lCQUN6QjtnQkFDRCxNQUFNO1lBRVIsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPO2dCQUFFO29CQUM3QixJQUFJLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLE9BQU8sSUFBSSxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLO3dCQUN0RyxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxFQUFFO3dCQUN4RyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7cUJBQ3pCO2lCQUNGO2dCQUNDLE1BQU07WUFDUixLQUFLLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUMzQixLQUFLLGdCQUFnQixDQUFDLElBQUk7Z0JBQ3hCLElBQUksb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxJQUFJLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLE9BQU87b0JBQ3RHLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLE9BQU8sSUFBSSxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPO29CQUN0RyxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxFQUFFO29CQUNsRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7aUJBQ3pCO2dCQUNELE1BQU07WUFDUixLQUFLLGdCQUFnQixDQUFDLElBQUk7Z0JBQ3hCLElBQUksb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxFQUFFO29CQUNsRCxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7aUJBQ3pCO2dCQUNELE1BQU07U0FDVDtRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVEO0lBQ0EsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTdG9yYWdlQXR0cmlidXRlfSBmcm9tIFwiLi9lbnVtc1wiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gdHlwZSBjaGVja2luZyBmb3IgZW51bSAnU3RvcmFnZUF0dHJpYnV0ZSdcclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VBdHRyaWJ1dGVDaGVjayB7XHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBpcyB0aGUgYm90aCB0eXBlcyBiZWxvbmcgdG8gdGhlIHNhbWUgaW5uZXIgZGF0YSB0eXBlc1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0eXBlMVwiPmRhdGEgdHlwZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0eXBlMlwiPmRhdGEgdHlwZTwvcGFyYW0+XHJcbiAgc3RhdGljIGlzVGhlU2FtZVR5cGUodHlwZTE6IFN0b3JhZ2VBdHRyaWJ1dGUsIHR5cGUyOiBTdG9yYWdlQXR0cmlidXRlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHlwZTEgPT09IHR5cGUyIHx8IChTdG9yYWdlQXR0cmlidXRlQ2hlY2suaXNUeXBlTnVtZXJpYyh0eXBlMSkgJiYgU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLmlzVHlwZU51bWVyaWModHlwZTIpKSB8fCAoU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLmlzVHlwZUxvZ2ljYWwodHlwZTEpICYmIFN0b3JhZ2VBdHRyaWJ1dGVDaGVjay5pc1R5cGVMb2dpY2FsKHR5cGUyKSkgfHwgKFN0b3JhZ2VBdHRyaWJ1dGVDaGVjay5Jc1R5cGVBbHBoYU9yVW5pY29kZSh0eXBlMSkgJiYgU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLklzVHlwZUFscGhhT3JVbmljb2RlKHR5cGUyKSkgfHwgKFN0b3JhZ2VBdHRyaWJ1dGVDaGVjay5pc1R5cGVCbG9iKHR5cGUxKSAmJiBTdG9yYWdlQXR0cmlidXRlQ2hlY2suaXNUeXBlQmxvYih0eXBlMikpIHx8IChTdG9yYWdlQXR0cmlidXRlQ2hlY2suaXNUeXBlRG90TmV0KHR5cGUxKSAmJiBTdG9yYWdlQXR0cmlidXRlQ2hlY2suaXNUeXBlRG90TmV0KHR5cGUyKSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNUeXBlQmxvYih0eXBlOiBTdG9yYWdlQXR0cmlidXRlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CIHx8IHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQl9WRUNUT1I7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNUeXBlQWxwaGEodHlwZTogU3RvcmFnZUF0dHJpYnV0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEEgfHwgdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5NRU1PO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBpcyB0aGUgYm90aCB0eXBlcyBiZWxvbmcgdG8gdGhlIE5VTUVSSUMgaW5uZXIgdHlwZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIGlzVHlwZU51bWVyaWModHlwZTogU3RvcmFnZUF0dHJpYnV0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuREFURSB8fCB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLlRJTUUgfHwgdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBpcyB0aGUgYm90aCB0eXBlcyBiZWxvbmcgdG8gdGhlIExPR0lDQUwgaW5uZXIgdHlwZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIGlzVHlwZUxvZ2ljYWwodHlwZTogU3RvcmFnZUF0dHJpYnV0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQk9PTEVBTjtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gaXMgdGhlIHR5cGUgaXMgRE9UTkVUXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgaXNUeXBlRG90TmV0KHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLkRPVE5FVDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gaXMgdGhlIHR5cGUgQUxQSEEgb3IgVU5JQ09ERVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0eXBlXCI+ZGF0YSB0eXBlPC9wYXJhbT5cclxuICBzdGF0aWMgSXNUeXBlQWxwaGFPclVuaWNvZGUodHlwZTogU3RvcmFnZUF0dHJpYnV0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEEgfHwgdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBpcyB0aGUgaW5uZXIgdHlwZSBBTFBIQSBvciBVTklDT0RFXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInR5cGUxXCI+ZGF0YSB0eXBlPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInR5cGUyXCI+ZGF0YSB0eXBlPC9wYXJhbT5cclxuICBzdGF0aWMgU3RvcmFnZUZsZEFscGhhT3JVbmljb2RlKHR5cGUxOiBTdG9yYWdlQXR0cmlidXRlLCB0eXBlMjogU3RvcmFnZUF0dHJpYnV0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFN0b3JhZ2VBdHRyaWJ1dGVDaGVjay5Jc1R5cGVBbHBoYU9yVW5pY29kZSh0eXBlMSkgJiYgU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLklzVHlwZUFscGhhT3JVbmljb2RlKHR5cGUyKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBTdG9yYWdlRmxkQWxwaGFVbmljb2RlT3JCbG9iKHR5cGUxOiBTdG9yYWdlQXR0cmlidXRlLCB0eXBlMjogU3RvcmFnZUF0dHJpYnV0ZSk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHR5cGUxQWxwaGFPclVuaWNvZGU6IGJvb2xlYW4gPSBTdG9yYWdlQXR0cmlidXRlQ2hlY2suSXNUeXBlQWxwaGFPclVuaWNvZGUodHlwZTEpO1xyXG4gICAgbGV0IHR5cGUyQWxwaGFPclVuaWNvZGU6IGJvb2xlYW4gPSBTdG9yYWdlQXR0cmlidXRlQ2hlY2suSXNUeXBlQWxwaGFPclVuaWNvZGUodHlwZTIpO1xyXG5cclxuICAgIGlmICh0eXBlMUFscGhhT3JVbmljb2RlICYmIHR5cGUyQWxwaGFPclVuaWNvZGUpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0IHR5cGUxQmxvYjogYm9vbGVhbiA9IHR5cGUxID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0I7XHJcbiAgICAgIGxldCB0eXBlMkJsb2I6IGJvb2xlYW4gPSB0eXBlMiA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CO1xyXG4gICAgICByZXR1cm4gKCh0eXBlMUFscGhhT3JVbmljb2RlICYmIHR5cGUyQmxvYikgfHwgKHR5cGUyQWxwaGFPclVuaWNvZGUgJiYgdHlwZTFCbG9iKSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDaGVjayBpZiB0eXBlcyBhcmUgY29tcGF0aWJsZSBvciBub3QuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJzb3VyY2VBdHRyaWJ1dGVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImRlc3RpbmF0aW9uQXR0cmlidXRlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBJc1R5cGVDb21wYXRpYmlsZShzb3VyY2VBdHRyaWJ1dGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIGRlc3RpbmF0aW9uQXR0cmlidXRlOiBTdG9yYWdlQXR0cmlidXRlKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgaXNUeXBlQ29tcGF0aWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHN3aXRjaCAoc291cmNlQXR0cmlidXRlKSB7XHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQTpcclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLlVOSUNPREU6XHJcbiAgICAgICAgaWYgKGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBIHx8IGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLlVOSUNPREUgfHxcclxuICAgICAgICAgIGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLkRBVEUgfHwgZGVzdGluYXRpb25BdHRyaWJ1dGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuVElNRSB8fFxyXG4gICAgICAgICAgZGVzdGluYXRpb25BdHRyaWJ1dGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQykge1xyXG4gICAgICAgICAgaXNUeXBlQ29tcGF0aWJsZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLk5VTUVSSUM6XHJcbiAgICAgICAgaWYgKGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLk5VTUVSSUMgfHwgZGVzdGluYXRpb25BdHRyaWJ1dGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEEgfHxcclxuICAgICAgICAgIGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLlVOSUNPREUgfHwgZGVzdGluYXRpb25BdHRyaWJ1dGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQk9PTEVBTiB8fFxyXG4gICAgICAgICAgZGVzdGluYXRpb25BdHRyaWJ1dGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuREFURSB8fCBkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5USU1FKSB7XHJcbiAgICAgICAgICBpc1R5cGVDb21wYXRpYmxlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuQk9PTEVBTjoge1xyXG4gICAgICAgIGlmIChkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CT09MRUFOIHx8IGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBIHx8XHJcbiAgICAgICAgICBkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFIHx8IGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLk5VTUVSSUMpIHtcclxuICAgICAgICAgIGlzVHlwZUNvbXBhdGlibGUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuREFURTpcclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLlRJTUU6XHJcbiAgICAgICAgaWYgKGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBIHx8IGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLlVOSUNPREUgfHxcclxuICAgICAgICAgIGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLk5VTUVSSUMgfHwgZGVzdGluYXRpb25BdHRyaWJ1dGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQk9PTEVBTiB8fFxyXG4gICAgICAgICAgZGVzdGluYXRpb25BdHRyaWJ1dGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuREFURSB8fCBkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5USU1FKSB7XHJcbiAgICAgICAgICBpc1R5cGVDb21wYXRpYmxlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5CTE9COlxyXG4gICAgICAgIGlmIChkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CKSB7XHJcbiAgICAgICAgICBpc1R5cGVDb21wYXRpYmxlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXNUeXBlQ29tcGF0aWJsZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZUF0dHJpYnV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3V0aWxzL3NyYy9TdG9yYWdlQXR0cmlidXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUt6QyxNQUFNLE9BQU8scUJBQXFCO0lBTWhDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBdUIsRUFBRSxLQUF1QjtRQUNuRSxPQUFPLEtBQUssS0FBSyxLQUFLLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUkscUJBQXFCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUkscUJBQXFCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JmLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQXNCO1FBQ3RDLE9BQU8sSUFBSSxLQUFLLGdCQUFnQixDQUFDLElBQUksSUFBSSxJQUFJLEtBQUssZ0JBQWdCLENBQUMsV0FBVyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQXNCO1FBQ3ZDLE9BQU8sSUFBSSxLQUFLLGdCQUFnQixDQUFDLEtBQUssSUFBSSxJQUFJLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxDQUFDO0lBQzNFLENBQUM7SUFLRCxNQUFNLENBQUMsYUFBYSxDQUFDLElBQXNCO1FBQ3pDLE9BQU8sSUFBSSxLQUFLLGdCQUFnQixDQUFDLElBQUksSUFBSSxJQUFJLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7SUFDL0csQ0FBQztJQUtELE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBc0I7UUFDekMsT0FBTyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxDQUFDO0lBQzNDLENBQUM7SUFLRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQXNCO1FBQ3hDLE9BQU8sSUFBSSxLQUFLLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztJQUMxQyxDQUFDO0lBTUQsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQXNCO1FBQ2hELE9BQU8sSUFBSSxLQUFLLGdCQUFnQixDQUFDLEtBQUssSUFBSSxJQUFJLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxDQUFDO0lBQzlFLENBQUM7SUFPRCxNQUFNLENBQUMsd0JBQXdCLENBQUMsS0FBdUIsRUFBRSxLQUF1QjtRQUM5RSxPQUFPLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFFRCxNQUFNLENBQUMsNEJBQTRCLENBQUMsS0FBdUIsRUFBRSxLQUF1QjtRQUNsRixJQUFJLG1CQUFtQixHQUFZLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JGLElBQUksbUJBQW1CLEdBQVkscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFckYsSUFBSSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRTtZQUM5QyxPQUFPLElBQUksQ0FBQztTQUNiO2FBQ0k7WUFDSCxJQUFJLFNBQVMsR0FBWSxLQUFLLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1lBQ3pELElBQUksU0FBUyxHQUFZLEtBQUssS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDekQsT0FBTyxDQUFDLENBQUMsbUJBQW1CLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ25GO0lBRUgsQ0FBQztJQVFELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxlQUFpQyxFQUFFLG9CQUFzQztRQUNoRyxJQUFJLGdCQUFnQixHQUFZLEtBQUssQ0FBQztRQUV0QyxRQUFRLGVBQWUsRUFBRTtZQUN2QixLQUFLLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUM1QixLQUFLLGdCQUFnQixDQUFDLE9BQU87Z0JBQzNCLElBQUksb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxJQUFJLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLE9BQU87b0JBQ3RHLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLElBQUksSUFBSSxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJO29CQUNoRyxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7b0JBQ25ELGdCQUFnQixHQUFHLElBQUksQ0FBQztpQkFDekI7Z0JBQ0QsTUFBTTtZQUVSLEtBQUssZ0JBQWdCLENBQUMsT0FBTztnQkFDM0IsSUFBSSxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsS0FBSztvQkFDdEcsb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxJQUFJLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLE9BQU87b0JBQ3RHLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLElBQUksSUFBSSxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7b0JBQ2xHLGdCQUFnQixHQUFHLElBQUksQ0FBQztpQkFDekI7Z0JBQ0QsTUFBTTtZQUVSLEtBQUssZ0JBQWdCLENBQUMsT0FBTztnQkFBRTtvQkFDN0IsSUFBSSxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsS0FBSzt3QkFDdEcsb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxJQUFJLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLE9BQU8sRUFBRTt3QkFDeEcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO3FCQUN6QjtpQkFDRjtnQkFDQyxNQUFNO1lBQ1IsS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDM0IsS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJO2dCQUN4QixJQUFJLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLEtBQUssSUFBSSxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPO29CQUN0RyxvQkFBb0IsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsT0FBTztvQkFDdEcsb0JBQW9CLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxJQUFJLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLElBQUksRUFBRTtvQkFDbEcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2lCQUN6QjtnQkFDRCxNQUFNO1lBQ1IsS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJO2dCQUN4QixJQUFJLG9CQUFvQixLQUFLLGdCQUFnQixDQUFDLElBQUksRUFBRTtvQkFDbEQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2lCQUN6QjtnQkFDRCxNQUFNO1NBQ1Q7UUFDRCxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFFRDtJQUNBLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3RvcmFnZUF0dHJpYnV0ZX0gZnJvbSBcIi4vZW51bXNcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIHR5cGUgY2hlY2tpbmcgZm9yIGVudW0gJ1N0b3JhZ2VBdHRyaWJ1dGUnXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBTdG9yYWdlQXR0cmlidXRlQ2hlY2sge1xyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gaXMgdGhlIGJvdGggdHlwZXMgYmVsb25nIHRvIHRoZSBzYW1lIGlubmVyIGRhdGEgdHlwZXNcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidHlwZTFcIj5kYXRhIHR5cGU8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidHlwZTJcIj5kYXRhIHR5cGU8L3BhcmFtPlxyXG4gIHN0YXRpYyBpc1RoZVNhbWVUeXBlKHR5cGUxOiBTdG9yYWdlQXR0cmlidXRlLCB0eXBlMjogU3RvcmFnZUF0dHJpYnV0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGUxID09PSB0eXBlMiB8fCAoU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLmlzVHlwZU51bWVyaWModHlwZTEpICYmIFN0b3JhZ2VBdHRyaWJ1dGVDaGVjay5pc1R5cGVOdW1lcmljKHR5cGUyKSkgfHwgKFN0b3JhZ2VBdHRyaWJ1dGVDaGVjay5pc1R5cGVMb2dpY2FsKHR5cGUxKSAmJiBTdG9yYWdlQXR0cmlidXRlQ2hlY2suaXNUeXBlTG9naWNhbCh0eXBlMikpIHx8IChTdG9yYWdlQXR0cmlidXRlQ2hlY2suSXNUeXBlQWxwaGFPclVuaWNvZGUodHlwZTEpICYmIFN0b3JhZ2VBdHRyaWJ1dGVDaGVjay5Jc1R5cGVBbHBoYU9yVW5pY29kZSh0eXBlMikpIHx8IChTdG9yYWdlQXR0cmlidXRlQ2hlY2suaXNUeXBlQmxvYih0eXBlMSkgJiYgU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLmlzVHlwZUJsb2IodHlwZTIpKSB8fCAoU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLmlzVHlwZURvdE5ldCh0eXBlMSkgJiYgU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLmlzVHlwZURvdE5ldCh0eXBlMikpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlzVHlwZUJsb2IodHlwZTogU3RvcmFnZUF0dHJpYnV0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQiB8fCB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0JfVkVDVE9SO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlzVHlwZUFscGhhKHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBIHx8IHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuTUVNTztcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gaXMgdGhlIGJvdGggdHlwZXMgYmVsb25nIHRvIHRoZSBOVU1FUklDIGlubmVyIHR5cGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyBpc1R5cGVOdW1lcmljKHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLkRBVEUgfHwgdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5USU1FIHx8IHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQztcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gaXMgdGhlIGJvdGggdHlwZXMgYmVsb25nIHRvIHRoZSBMT0dJQ0FMIGlubmVyIHR5cGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyBpc1R5cGVMb2dpY2FsKHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU47XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGlzIHRoZSB0eXBlIGlzIERPVE5FVFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIGlzVHlwZURvdE5ldCh0eXBlOiBTdG9yYWdlQXR0cmlidXRlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5ET1RORVQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGlzIHRoZSB0eXBlIEFMUEhBIG9yIFVOSUNPREVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidHlwZVwiPmRhdGEgdHlwZTwvcGFyYW0+XHJcbiAgc3RhdGljIElzVHlwZUFscGhhT3JVbmljb2RlKHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBIHx8IHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuVU5JQ09ERTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gaXMgdGhlIGlubmVyIHR5cGUgQUxQSEEgb3IgVU5JQ09ERVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0eXBlMVwiPmRhdGEgdHlwZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0eXBlMlwiPmRhdGEgdHlwZTwvcGFyYW0+XHJcbiAgc3RhdGljIFN0b3JhZ2VGbGRBbHBoYU9yVW5pY29kZSh0eXBlMTogU3RvcmFnZUF0dHJpYnV0ZSwgdHlwZTI6IFN0b3JhZ2VBdHRyaWJ1dGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBTdG9yYWdlQXR0cmlidXRlQ2hlY2suSXNUeXBlQWxwaGFPclVuaWNvZGUodHlwZTEpICYmIFN0b3JhZ2VBdHRyaWJ1dGVDaGVjay5Jc1R5cGVBbHBoYU9yVW5pY29kZSh0eXBlMik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgU3RvcmFnZUZsZEFscGhhVW5pY29kZU9yQmxvYih0eXBlMTogU3RvcmFnZUF0dHJpYnV0ZSwgdHlwZTI6IFN0b3JhZ2VBdHRyaWJ1dGUpOiBib29sZWFuIHtcclxuICAgIGxldCB0eXBlMUFscGhhT3JVbmljb2RlOiBib29sZWFuID0gU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLklzVHlwZUFscGhhT3JVbmljb2RlKHR5cGUxKTtcclxuICAgIGxldCB0eXBlMkFscGhhT3JVbmljb2RlOiBib29sZWFuID0gU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLklzVHlwZUFscGhhT3JVbmljb2RlKHR5cGUyKTtcclxuXHJcbiAgICBpZiAodHlwZTFBbHBoYU9yVW5pY29kZSAmJiB0eXBlMkFscGhhT3JVbmljb2RlKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGxldCB0eXBlMUJsb2I6IGJvb2xlYW4gPSB0eXBlMSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CO1xyXG4gICAgICBsZXQgdHlwZTJCbG9iOiBib29sZWFuID0gdHlwZTIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQjtcclxuICAgICAgcmV0dXJuICgodHlwZTFBbHBoYU9yVW5pY29kZSAmJiB0eXBlMkJsb2IpIHx8ICh0eXBlMkFscGhhT3JVbmljb2RlICYmIHR5cGUxQmxvYikpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ2hlY2sgaWYgdHlwZXMgYXJlIGNvbXBhdGlibGUgb3Igbm90LlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwic291cmNlQXR0cmlidXRlXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJkZXN0aW5hdGlvbkF0dHJpYnV0ZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgSXNUeXBlQ29tcGF0aWJpbGUoc291cmNlQXR0cmlidXRlOiBTdG9yYWdlQXR0cmlidXRlLCBkZXN0aW5hdGlvbkF0dHJpYnV0ZTogU3RvcmFnZUF0dHJpYnV0ZSk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGlzVHlwZUNvbXBhdGlibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBzd2l0Y2ggKHNvdXJjZUF0dHJpYnV0ZSkge1xyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEE6XHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFOlxyXG4gICAgICAgIGlmIChkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQSB8fCBkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFIHx8XHJcbiAgICAgICAgICBkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5EQVRFIHx8IGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLlRJTUUgfHxcclxuICAgICAgICAgIGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLk5VTUVSSUMpIHtcclxuICAgICAgICAgIGlzVHlwZUNvbXBhdGlibGUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDOlxyXG4gICAgICAgIGlmIChkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDIHx8IGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBIHx8XHJcbiAgICAgICAgICBkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFIHx8IGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU4gfHxcclxuICAgICAgICAgIGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLkRBVEUgfHwgZGVzdGluYXRpb25BdHRyaWJ1dGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuVElNRSkge1xyXG4gICAgICAgICAgaXNUeXBlQ29tcGF0aWJsZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU46IHtcclxuICAgICAgICBpZiAoZGVzdGluYXRpb25BdHRyaWJ1dGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQk9PTEVBTiB8fCBkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQSB8fFxyXG4gICAgICAgICAgZGVzdGluYXRpb25BdHRyaWJ1dGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuVU5JQ09ERSB8fCBkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDKSB7XHJcbiAgICAgICAgICBpc1R5cGVDb21wYXRpYmxlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLkRBVEU6XHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5USU1FOlxyXG4gICAgICAgIGlmIChkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQSB8fCBkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFIHx8XHJcbiAgICAgICAgICBkZXN0aW5hdGlvbkF0dHJpYnV0ZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDIHx8IGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU4gfHxcclxuICAgICAgICAgIGRlc3RpbmF0aW9uQXR0cmlidXRlID09PSBTdG9yYWdlQXR0cmlidXRlLkRBVEUgfHwgZGVzdGluYXRpb25BdHRyaWJ1dGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuVElNRSkge1xyXG4gICAgICAgICAgaXNUeXBlQ29tcGF0aWJsZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQjpcclxuICAgICAgICBpZiAoZGVzdGluYXRpb25BdHRyaWJ1dGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQikge1xyXG4gICAgICAgICAgaXNUeXBlQ29tcGF0aWJsZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzVHlwZUNvbXBhdGlibGU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcbn1cclxuIl19
|
package/esm2015/src/StrUtil.js
CHANGED
|
Binary file
|
|
@@ -1,34 +1,19 @@
|
|
|
1
1
|
import { Logger } from "./Logger";
|
|
2
|
-
/// <summary>
|
|
3
|
-
/// Helper class for synchronized execution.
|
|
4
|
-
/// It works by creating a promise and then waiting for the promise to be completed
|
|
5
|
-
/// </summary>
|
|
6
|
-
// @dynamic
|
|
7
2
|
export class SyncExecutionHelper {
|
|
8
3
|
constructor() {
|
|
9
|
-
// resolver is caller when promise is fullfilled
|
|
10
4
|
this.resolver = null;
|
|
11
5
|
}
|
|
12
|
-
/// <summary>
|
|
13
|
-
/// get instance of SyncExecutionHelper
|
|
14
|
-
/// </summary>
|
|
15
6
|
static get Instance() {
|
|
16
7
|
if (SyncExecutionHelper._instance === null)
|
|
17
8
|
SyncExecutionHelper._instance = new SyncExecutionHelper();
|
|
18
9
|
return SyncExecutionHelper._instance;
|
|
19
10
|
}
|
|
20
|
-
/// <summary>
|
|
21
|
-
/// To wait, create a promise and add wait for it to complete
|
|
22
|
-
/// </summary>
|
|
23
11
|
Wait() {
|
|
24
12
|
Logger.Instance.WriteDevToLog("SyncExecutionHelper.Wait()");
|
|
25
13
|
return new Promise((resolve, reject) => {
|
|
26
14
|
this.resolver = resolve;
|
|
27
15
|
}).then();
|
|
28
16
|
}
|
|
29
|
-
/// <summary>
|
|
30
|
-
/// To resume call the resolver
|
|
31
|
-
/// </summary>
|
|
32
17
|
Pulse() {
|
|
33
18
|
let resolver = this.resolver;
|
|
34
19
|
if (resolver != null) {
|
|
@@ -38,4 +23,4 @@ export class SyncExecutionHelper {
|
|
|
38
23
|
}
|
|
39
24
|
}
|
|
40
25
|
SyncExecutionHelper._instance = null;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3luY0V4ZWN1dGlvbkhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3V0aWxzL3NyYy9TeW5jRXhlY3V0aW9uSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFPaEMsTUFBTSxPQUFPLG1CQUFtQjtJQUFoQztRQWVVLGFBQVEsR0FBUSxJQUFJLENBQUM7SUFzQi9CLENBQUM7SUE5QkMsTUFBTSxLQUFLLFFBQVE7UUFDakIsSUFBSSxtQkFBbUIsQ0FBQyxTQUFTLEtBQUssSUFBSTtZQUN4QyxtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBRTVELE9BQU8sbUJBQW1CLENBQUMsU0FBUyxDQUFDO0lBQ3ZDLENBQUM7SUFRTSxJQUFJO1FBQ1QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUM1RCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUtNLEtBQUs7UUFDVixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzdCLElBQUksUUFBUSxJQUFJLElBQUksRUFBRTtZQUNwQixNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBQzdELFFBQVEsRUFBRSxDQUFDO1NBQ1o7SUFDSCxDQUFDOztBQWxDYyw2QkFBUyxHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9nZ2VyfSBmcm9tIFwiLi9Mb2dnZXJcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIEhlbHBlciBjbGFzcyBmb3Igc3luY2hyb25pemVkIGV4ZWN1dGlvbi5cclxuLy8vIEl0IHdvcmtzIGJ5IGNyZWF0aW5nIGEgcHJvbWlzZSBhbmQgdGhlbiB3YWl0aW5nIGZvciB0aGUgcHJvbWlzZSB0byBiZSBjb21wbGV0ZWRcclxuLy8vIDwvc3VtbWFyeT5cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIFN5bmNFeGVjdXRpb25IZWxwZXIge1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2UgPSBudWxsO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGdldCBpbnN0YW5jZSBvZiBTeW5jRXhlY3V0aW9uSGVscGVyXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgZ2V0IEluc3RhbmNlKCk6IFN5bmNFeGVjdXRpb25IZWxwZXIge1xyXG4gICAgaWYgKFN5bmNFeGVjdXRpb25IZWxwZXIuX2luc3RhbmNlID09PSBudWxsKVxyXG4gICAgICBTeW5jRXhlY3V0aW9uSGVscGVyLl9pbnN0YW5jZSA9IG5ldyBTeW5jRXhlY3V0aW9uSGVscGVyKCk7XHJcblxyXG4gICAgcmV0dXJuIFN5bmNFeGVjdXRpb25IZWxwZXIuX2luc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgLy8gcmVzb2x2ZXIgaXMgY2FsbGVyIHdoZW4gcHJvbWlzZSBpcyBmdWxsZmlsbGVkXHJcbiAgcHJpdmF0ZSByZXNvbHZlcjogYW55ID0gbnVsbDtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBUbyB3YWl0LCBjcmVhdGUgYSBwcm9taXNlIGFuZCBhZGQgd2FpdCBmb3IgaXQgdG8gY29tcGxldGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHB1YmxpYyBXYWl0KCk6IGFueSB7XHJcbiAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVEZXZUb0xvZyhcIlN5bmNFeGVjdXRpb25IZWxwZXIuV2FpdCgpXCIpO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5yZXNvbHZlciA9IHJlc29sdmU7XHJcbiAgICB9KS50aGVuKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFRvIHJlc3VtZSBjYWxsIHRoZSByZXNvbHZlclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHVibGljIFB1bHNlKCkge1xyXG4gICAgbGV0IHJlc29sdmVyID0gdGhpcy5yZXNvbHZlcjtcclxuICAgIGlmIChyZXNvbHZlciAhPSBudWxsKSB7XHJcbiAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZURldlRvTG9nKFwiU3luY0V4ZWN1dGlvbkhlbHBlci5QdWxzZSgpXCIpO1xyXG4gICAgICByZXNvbHZlcigpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -11,13 +11,6 @@ const IDX_DAY = 2;
|
|
|
11
11
|
const IDX_DOY = 3;
|
|
12
12
|
export class UtilDateJpn {
|
|
13
13
|
constructor() {
|
|
14
|
-
/// <summary>
|
|
15
|
-
/// JPN: Japanese date picture support
|
|
16
|
-
/// Utility Class for Japanese date
|
|
17
|
-
/// </summary>
|
|
18
|
-
/// <author> Toshiro Nakayoshi (MSJ)
|
|
19
|
-
/// </author>
|
|
20
|
-
// ---- gengo (the name of an era) ---------------------------------------
|
|
21
14
|
this.MaxGengo = MAX_GENGO;
|
|
22
15
|
}
|
|
23
16
|
static getInstance() {
|
|
@@ -43,18 +36,6 @@ export class UtilDateJpn {
|
|
|
43
36
|
}
|
|
44
37
|
return UtilDateJpn.JmonthStr[month];
|
|
45
38
|
}
|
|
46
|
-
/// <summary>
|
|
47
|
-
/// Convert a year (A.D.) into Japanese year of an era
|
|
48
|
-
/// This method is modeled after "date_jpn_year_ofs" function in
|
|
49
|
-
/// "\mglocal\jpn\jpndate_jpn.cpp".
|
|
50
|
-
/// </summary>
|
|
51
|
-
/// <param name = "intYear:">year (A.D.)
|
|
52
|
-
/// </param>
|
|
53
|
-
/// <param name = "intDoy:">DOY
|
|
54
|
-
/// </param>
|
|
55
|
-
/// <returns> year of an era.
|
|
56
|
-
/// if either param is invalid, it returns 0.
|
|
57
|
-
/// </returns>
|
|
58
39
|
date_jpn_year_ofs(intYear, intDoy) {
|
|
59
40
|
let result;
|
|
60
41
|
if (intYear < 1 || intDoy < 1) {
|
|
@@ -72,20 +53,6 @@ export class UtilDateJpn {
|
|
|
72
53
|
}
|
|
73
54
|
return result;
|
|
74
55
|
}
|
|
75
|
-
/// <summary>
|
|
76
|
-
/// Convert a year (A.D.) into a name of a Japanese era
|
|
77
|
-
/// This method is modeled after "date_jpn_yr_2_a" function in
|
|
78
|
-
/// "\mglocal\jpn\jpndate_jpn.cpp".
|
|
79
|
-
/// </summary>
|
|
80
|
-
/// <param name = "intYear:">year (A.D.)
|
|
81
|
-
/// </param>
|
|
82
|
-
/// <param name = "intDoy:">DOY
|
|
83
|
-
/// </param>
|
|
84
|
-
/// <param name = "isKanji:">return a full name (true) or the first letter (false).
|
|
85
|
-
/// </param>
|
|
86
|
-
/// <returns> name of an era
|
|
87
|
-
/// if either param is invalid, it returns "?".
|
|
88
|
-
/// </returns>
|
|
89
56
|
date_jpn_yr_2_a(intYear, intDoy, isKanji) {
|
|
90
57
|
let num;
|
|
91
58
|
if (intYear < 1 || intDoy < 1) {
|
|
@@ -109,17 +76,6 @@ export class UtilDateJpn {
|
|
|
109
76
|
}
|
|
110
77
|
return result;
|
|
111
78
|
}
|
|
112
|
-
/// <summary>
|
|
113
|
-
/// Get the first year (A.D.) of a specified Japanese era
|
|
114
|
-
/// This method is modeled after "date_jpn_yr_4_a" function in
|
|
115
|
-
/// "\mglocal\jpn\jpndate_jpn.cpp".
|
|
116
|
-
/// </summary>
|
|
117
|
-
/// <param name = "ucp_str:">name of a specified Japanese era
|
|
118
|
-
/// </param>
|
|
119
|
-
/// <param name = "s_len:">length (the number of bytes) of ucp_str
|
|
120
|
-
/// </param>
|
|
121
|
-
/// <returns> year (A.D.)
|
|
122
|
-
/// </returns>
|
|
123
79
|
date_jpn_yr_4_a(ucp_str, s_len) {
|
|
124
80
|
let i = this.MaxGengo - 1;
|
|
125
81
|
if (s_len > 0) {
|
|
@@ -158,17 +114,6 @@ export class UtilDateJpn {
|
|
|
158
114
|
}
|
|
159
115
|
return result;
|
|
160
116
|
}
|
|
161
|
-
/// <summary>
|
|
162
|
-
/// Get the name of an era in date string
|
|
163
|
-
/// </summary>
|
|
164
|
-
/// <param name = "strDate:">string of input strDate
|
|
165
|
-
/// </param>
|
|
166
|
-
/// <param name = "strPicture:">string of picture
|
|
167
|
-
/// </param>
|
|
168
|
-
/// <param name = "intStartPos:">start position to search
|
|
169
|
-
/// </param>
|
|
170
|
-
/// <returns> name of an era
|
|
171
|
-
/// </returns>
|
|
172
117
|
static getEraNameStrInDate(strDate, strPicture, intStartPos) {
|
|
173
118
|
let result = null;
|
|
174
119
|
let intPicIdxOfs = 0;
|
|
@@ -187,7 +132,6 @@ export class UtilDateJpn {
|
|
|
187
132
|
intLetters = 2;
|
|
188
133
|
}
|
|
189
134
|
else {
|
|
190
|
-
// If "strDate" contains DBCS, the position of "strPicture" has to skip next index.
|
|
191
135
|
if (i < strDate.length) {
|
|
192
136
|
if (!UtilStrByteMode.isHalfWidth(strDate[i]) && UtilStrByteMode.isHalfWidth(strPicture[i + intPicIdxOfs])) {
|
|
193
137
|
intPicIdxOfs = intPicIdxOfs + 1;
|
|
@@ -199,19 +143,10 @@ export class UtilDateJpn {
|
|
|
199
143
|
}
|
|
200
144
|
}
|
|
201
145
|
result = strDate.substr(i, intLetters);
|
|
202
|
-
break;
|
|
146
|
+
break;
|
|
203
147
|
}
|
|
204
148
|
return result;
|
|
205
149
|
}
|
|
206
|
-
/// <summary>
|
|
207
|
-
/// Get the length of the name of an era in picture
|
|
208
|
-
/// </summary>
|
|
209
|
-
/// <param name = "strPicture">string of picture
|
|
210
|
-
/// </param>
|
|
211
|
-
/// <param name = "intStartPos">start position to search
|
|
212
|
-
/// </param>
|
|
213
|
-
/// <returns> length of the name (the number of bytes)
|
|
214
|
-
/// </returns>
|
|
215
150
|
static getEraNameLenInPicture(strPicture, intStartPos) {
|
|
216
151
|
let intLetters = 0;
|
|
217
152
|
for (let i = intStartPos; i < strPicture.length; i = i + 1) {
|
|
@@ -234,15 +169,6 @@ export class UtilDateJpn {
|
|
|
234
169
|
}
|
|
235
170
|
return intLetters;
|
|
236
171
|
}
|
|
237
|
-
/// <summary>
|
|
238
|
-
/// Get the start year of an era in picture
|
|
239
|
-
/// </summary>
|
|
240
|
-
/// <param name = "strDate:">string of input strDate
|
|
241
|
-
/// </param>
|
|
242
|
-
/// <param name = "strPicture:">string of picture
|
|
243
|
-
/// </param>
|
|
244
|
-
/// <returns> start year of the era
|
|
245
|
-
/// </returns>
|
|
246
172
|
getStartYearOfEra(strDate, strPicture) {
|
|
247
173
|
let eraNameStrInDate = UtilDateJpn.getEraNameStrInDate(strDate, strPicture, 0);
|
|
248
174
|
let result;
|
|
@@ -261,13 +187,7 @@ export class UtilDateJpn {
|
|
|
261
187
|
}
|
|
262
188
|
return result;
|
|
263
189
|
}
|
|
264
|
-
/// <summary> Add extra Gengo data into the Gengo tables</summary>
|
|
265
|
-
/// <param name="strExtraGengo:">
|
|
266
|
-
/// </param>
|
|
267
|
-
/// <returns>
|
|
268
|
-
/// </returns>
|
|
269
190
|
addExtraGengo(strExtraGengo) {
|
|
270
|
-
// e.g. strExtraGengo = "2012/04/01,092,AaABCD;2013/04/01,091,WwWXYZ;"
|
|
271
191
|
let strGengoInfo = strExtraGengo.split(';');
|
|
272
192
|
for (let i = 0; i < strGengoInfo.length; i = i + 1) {
|
|
273
193
|
if (strGengoInfo[i].length > 0) {
|
|
@@ -275,13 +195,13 @@ export class UtilDateJpn {
|
|
|
275
195
|
if (strTok.length === 3 && strTok[0].length > 0 && strTok[1].length > 0 && strTok[2].length > 0) {
|
|
276
196
|
let strDate = strTok[0].split('/');
|
|
277
197
|
if (strDate.length === 3 && strDate[0].length > 0 && strDate[1].length > 0 && strDate[2].length > 0) {
|
|
278
|
-
UtilDateJpn.GengoStr[MAX_GENGO + i][0] = strTok[2].substr(0, 1);
|
|
279
|
-
UtilDateJpn.GengoStr[MAX_GENGO + i][1] = strTok[2].substr(1, 1);
|
|
280
|
-
UtilDateJpn.GengoStr[MAX_GENGO + i][2] = strTok[2].substr(2);
|
|
281
|
-
UtilDateJpn.StartDayOfGengo[MAX_GENGO + i][0] = NNumber.Parse(strDate[0]);
|
|
282
|
-
UtilDateJpn.StartDayOfGengo[MAX_GENGO + i][1] = NNumber.Parse(strDate[1]);
|
|
283
|
-
UtilDateJpn.StartDayOfGengo[MAX_GENGO + i][2] = NNumber.Parse(strDate[2]);
|
|
284
|
-
UtilDateJpn.StartDayOfGengo[MAX_GENGO + i][3] = NNumber.Parse(strTok[1]);
|
|
198
|
+
UtilDateJpn.GengoStr[MAX_GENGO + i][0] = strTok[2].substr(0, 1);
|
|
199
|
+
UtilDateJpn.GengoStr[MAX_GENGO + i][1] = strTok[2].substr(1, 1);
|
|
200
|
+
UtilDateJpn.GengoStr[MAX_GENGO + i][2] = strTok[2].substr(2);
|
|
201
|
+
UtilDateJpn.StartDayOfGengo[MAX_GENGO + i][0] = NNumber.Parse(strDate[0]);
|
|
202
|
+
UtilDateJpn.StartDayOfGengo[MAX_GENGO + i][1] = NNumber.Parse(strDate[1]);
|
|
203
|
+
UtilDateJpn.StartDayOfGengo[MAX_GENGO + i][2] = NNumber.Parse(strDate[2]);
|
|
204
|
+
UtilDateJpn.StartDayOfGengo[MAX_GENGO + i][3] = NNumber.Parse(strTok[1]);
|
|
285
205
|
this.MaxGengo++;
|
|
286
206
|
}
|
|
287
207
|
}
|
|
@@ -318,4 +238,4 @@ UtilDateJpn.StartDayOfGengo = [
|
|
|
318
238
|
[0, 0, 0, 0],
|
|
319
239
|
[0, 0, 0, 0]
|
|
320
240
|
];
|
|
321
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbERhdGVKcG4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9zcmMvVXRpbERhdGVKcG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQVUsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsTUFBTSxTQUFTLEdBQVcsQ0FBQyxDQUFDO0FBQzVCLE1BQU0sbUJBQW1CLEdBQVcsQ0FBQyxDQUFDO0FBQ3RDLE1BQU0sbUJBQW1CLEdBQVcsQ0FBQyxDQUFDO0FBQ3RDLE1BQU0sU0FBUyxHQUFXLENBQUMsQ0FBQztBQUM1QixNQUFNLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFDM0IsTUFBTSxTQUFTLEdBQVcsQ0FBQyxDQUFDO0FBQzVCLE1BQU0sT0FBTyxHQUFXLENBQUMsQ0FBQztBQUMxQixNQUFNLE9BQU8sR0FBVyxDQUFDLENBQUM7QUFHMUIsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFDRSxhQUFhO1FBQ2Isd0NBQXdDO1FBQ3hDLHFDQUFxQztRQUNyQyxjQUFjO1FBQ2QscUNBQXFDO1FBQ3JDLGFBQWE7UUFpQ2IsMkVBQTJFO1FBQ25FLGFBQVEsR0FBVyxTQUFTLENBQUM7SUF3UnZDLENBQUM7SUF0UkMsTUFBTSxDQUFDLFdBQVc7UUFDaEIsSUFBSSxXQUFXLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUNsQyxXQUFXLENBQUMsU0FBUyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7U0FDM0M7UUFDRCxPQUFPLFdBQVcsQ0FBQyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXO1FBQ2hCLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLElBQUksSUFBSSxHQUFZLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUM3QyxJQUFJLElBQUksRUFBRTtZQUNSLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDWjtRQUNELE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFhO1FBQ2xDLElBQUksSUFBSSxHQUFZLEtBQUssR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztRQUM1QyxJQUFJLElBQUksRUFBRTtZQUNSLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDWDtRQUNELE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsYUFBYTtJQUNiLHdEQUF3RDtJQUN4RCxrRUFBa0U7SUFDbEUscUNBQXFDO0lBQ3JDLGNBQWM7SUFDZCx3Q0FBd0M7SUFDeEMsWUFBWTtJQUNaLCtCQUErQjtJQUMvQixZQUFZO0lBQ1osNkJBQTZCO0lBQzdCLCtDQUErQztJQUMvQyxjQUFjO0lBQ2QsaUJBQWlCLENBQUMsT0FBZSxFQUFFLE1BQWM7UUFDL0MsSUFBSSxNQUFjLENBQUM7UUFDbkIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxJQUFJLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDN0IsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNaO2FBQ0k7WUFDSCxJQUFJLEdBQUcsR0FBVyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUNwQyxPQUFPLE9BQU8sR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNwRCxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQzthQUNmO1lBQ0QsSUFBSSxPQUFPLEtBQUssV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbkcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7YUFDZjtZQUNELE1BQU0sR0FBRyxPQUFPLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUQ7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsYUFBYTtJQUNiLHlEQUF5RDtJQUN6RCxnRUFBZ0U7SUFDaEUscUNBQXFDO0lBQ3JDLGNBQWM7SUFDZCx3Q0FBd0M7SUFDeEMsWUFBWTtJQUNaLCtCQUErQjtJQUMvQixZQUFZO0lBQ1osbUZBQW1GO0lBQ25GLFlBQVk7SUFDWiw0QkFBNEI7SUFDNUIsaURBQWlEO0lBQ2pELGNBQWM7SUFDZCxlQUFlLENBQUMsT0FBZSxFQUFFLE1BQWMsRUFBRSxPQUFnQjtRQUMvRCxJQUFJLEdBQVcsQ0FBQztRQUNoQixJQUFJLE9BQU8sR0FBRyxDQUFDLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM3QixHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQ1Q7YUFDSTtZQUNILEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUN4QixPQUFPLE9BQU8sR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNwRCxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQzthQUNmO1lBQ0QsSUFBSSxPQUFPLEtBQUssV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbkcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7YUFDZjtTQUNGO1FBQ0QsSUFBSSxNQUFjLENBQUM7UUFDbkIsSUFBSSxPQUFPLEVBQUU7WUFDWCxNQUFNLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2QzthQUNJO1lBQ0gsTUFBTSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsYUFBYTtJQUNiLDJEQUEyRDtJQUMzRCxnRUFBZ0U7SUFDaEUscUNBQXFDO0lBQ3JDLGNBQWM7SUFDZCw2REFBNkQ7SUFDN0QsWUFBWTtJQUNaLGtFQUFrRTtJQUNsRSxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLGNBQWM7SUFDTixlQUFlLENBQUMsT0FBZSxFQUFFLEtBQWE7UUFDcEQsSUFBSSxDQUFDLEdBQVcsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2IsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLE9BQU8sR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNqRDtZQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDWixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7b0JBQ2YsSUFBSSxPQUFPLEtBQUssV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLEtBQUssV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDcEYsTUFBTTtxQkFDUDtpQkFDRjtxQkFDSTtvQkFDSCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7d0JBQ2IsSUFBSSxJQUFJLEdBQVcsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO3dCQUM1RSxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7NEJBQ3BCLE1BQU07eUJBQ1A7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDWDtTQUNGO1FBQ0QsSUFBSSxNQUFjLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1QsTUFBTSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDNUM7YUFDSTtZQUNILE1BQU0sSUFBSSxHQUFXLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFDLElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFO2dCQUNoQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ1o7aUJBQ0k7Z0JBQ0gsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUNaO1NBQ0Y7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsYUFBYTtJQUNiLDJDQUEyQztJQUMzQyxjQUFjO0lBQ2Qsb0RBQW9EO0lBQ3BELFlBQVk7SUFDWixpREFBaUQ7SUFDakQsWUFBWTtJQUNaLHlEQUF5RDtJQUN6RCxZQUFZO0lBQ1osNEJBQTRCO0lBQzVCLGNBQWM7SUFDTixNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBZSxFQUFFLFVBQWtCLEVBQUUsV0FBbUI7UUFDekYsSUFBSSxNQUFNLEdBQVcsSUFBSSxDQUFDO1FBQzFCLElBQUksWUFBWSxHQUFXLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsR0FBVyxXQUFXLENBQUM7UUFDNUIsT0FBTyxDQUFDLEdBQUcsWUFBWSxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDM0MsSUFBSSxVQUFrQixDQUFDO1lBQ3ZCLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLEtBQUssWUFBWSxDQUFDLE9BQU8sRUFBRTtnQkFDcEUsVUFBVSxHQUFHLENBQUMsQ0FBQzthQUNoQjtpQkFDSTtnQkFDSCxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLFlBQVksQ0FBQyxPQUFPLEVBQUU7b0JBQ3BFLFVBQVUsR0FBRyxDQUFDLENBQUM7aUJBQ2hCO3FCQUNJO29CQUNILElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLEtBQUssWUFBWSxDQUFDLE9BQU8sRUFBRTt3QkFDcEUsVUFBVSxHQUFHLENBQUMsQ0FBQztxQkFDaEI7eUJBQU07d0JBQ0wsbUZBQW1GO3dCQUNuRixJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFOzRCQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUMsRUFBRTtnQ0FDekcsWUFBWSxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUM7NkJBQ2pDO3lCQUNGO3dCQUNELENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNWLFNBQVM7cUJBQ1Y7aUJBQ0Y7YUFDRjtZQUNELE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN2QyxNQUFNLENBQUMsWUFBWTtTQUNwQjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxhQUFhO0lBQ2IscURBQXFEO0lBQ3JELGNBQWM7SUFDZCxnREFBZ0Q7SUFDaEQsWUFBWTtJQUNaLHdEQUF3RDtJQUN4RCxZQUFZO0lBQ1osc0RBQXNEO0lBQ3RELGNBQWM7SUFDTixNQUFNLENBQUMsc0JBQXNCLENBQUMsVUFBa0IsRUFBRSxXQUFtQjtRQUMzRSxJQUFJLFVBQVUsR0FBVyxDQUFDLENBQUM7UUFDM0IsS0FBSyxJQUFJLENBQUMsR0FBVyxXQUFXLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbEUsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLFlBQVksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JELFVBQVUsR0FBRyxDQUFDLENBQUM7YUFDaEI7aUJBQ0k7Z0JBQ0gsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLFlBQVksQ0FBQyxPQUFPLEVBQUU7b0JBQ3JELFVBQVUsR0FBRyxDQUFDLENBQUM7aUJBQ2hCO3FCQUNJO29CQUNILElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxZQUFZLENBQUMsT0FBTyxFQUFFO3dCQUNyRCxVQUFVLEdBQUcsQ0FBQyxDQUFDO3FCQUNoQjtpQkFDRjthQUNGO1lBQ0QsSUFBSSxVQUFVLEdBQUcsQ0FBQyxFQUFFO2dCQUNsQixNQUFNO2FBQ1A7U0FDRjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxhQUFhO0lBQ2IsNkNBQTZDO0lBQzdDLGNBQWM7SUFDZCxvREFBb0Q7SUFDcEQsWUFBWTtJQUNaLGlEQUFpRDtJQUNqRCxZQUFZO0lBQ1osbUNBQW1DO0lBQ25DLGNBQWM7SUFDZCxpQkFBaUIsQ0FBQyxPQUFlLEVBQUUsVUFBa0I7UUFDbkQsSUFBSSxnQkFBZ0IsR0FBVyxXQUFXLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RixJQUFJLE1BQWMsQ0FBQztRQUNuQixJQUFJLGdCQUFnQixLQUFLLElBQUksRUFBRTtZQUM3QixNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ1o7YUFDSTtZQUNILElBQUksbUJBQW1CLEdBQVcsV0FBVyxDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwRixJQUFJLG1CQUFtQixLQUFLLENBQUMsRUFBRTtnQkFDN0IsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUNaO2lCQUNJO2dCQUNILElBQUksaUJBQWlCLEdBQVcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO2dCQUM1RixNQUFNLEdBQUcsaUJBQWlCLENBQUM7YUFDNUI7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxrRUFBa0U7SUFDbEUsaUNBQWlDO0lBQ2pDLFlBQVk7SUFDWixhQUFhO0lBQ2IsY0FBYztJQUNkLGFBQWEsQ0FBQyxhQUFxQjtRQUNqQyxzRUFBc0U7UUFDdEUsSUFBSSxZQUFZLEdBQWEsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxRCxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM5QixJQUFJLE1BQU0sR0FBYSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUMvRixJQUFJLE9BQU8sR0FBYSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM3QyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUNuRyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLDhCQUE4Qjt3QkFDL0YsV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyw4QkFBOEI7d0JBQy9GLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBSSxtQkFBbUI7d0JBRXBGLFdBQVcsQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBSSxtQkFBbUI7d0JBQ2pHLFdBQVcsQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBSSxpQkFBaUI7d0JBQy9GLFdBQVcsQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBSSxlQUFlO3dCQUM3RixXQUFXLENBQUMsZUFBZSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUssMkJBQTJCO3dCQUN6RyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7cUJBQ2pCO2lCQUNGO2FBQ0Y7U0FDRjtJQUNILENBQUM7O0FBdlRjLHFCQUFTLEdBQWdCLElBQUksQ0FBQztBQUU5QixvQkFBUSxHQUFhO0lBQ2xDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0NBQ3ZELENBQUM7QUFDYSxxQkFBUyxHQUFhO0lBQ25DLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7Q0FDdkYsQ0FBQztBQUNhLG9CQUFRLEdBQWU7SUFDcEMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQztJQUNsQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO0lBQ2hCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7SUFDaEIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztJQUNoQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO0lBQ2hCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7SUFDaEIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztJQUNoQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO0lBQ2hCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7Q0FDakIsQ0FBQztBQUNhLDJCQUFlLEdBQWU7SUFDM0MsQ0FBSSxDQUFDLEVBQUcsQ0FBQyxFQUFHLENBQUMsRUFBSSxDQUFDLENBQUM7SUFDbkIsQ0FBQyxJQUFJLEVBQUcsQ0FBQyxFQUFHLENBQUMsRUFBRSxHQUFHLENBQUM7SUFDbkIsQ0FBQyxJQUFJLEVBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUM7SUFDbkIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUM7SUFDbkIsQ0FBQyxJQUFJLEVBQUcsQ0FBQyxFQUFHLENBQUMsRUFBSSxDQUFDLENBQUM7SUFDbkIsQ0FBQyxJQUFJLEVBQUcsQ0FBQyxFQUFHLENBQUMsRUFBRSxHQUFHLENBQUM7SUFDbkIsQ0FBQyxDQUFDLEVBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDYixDQUFDLENBQUMsRUFBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNiLENBQUMsQ0FBQyxFQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0NBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UElDSW50ZXJmYWNlfSBmcm9tIFwiLi9QSUNJbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtVdGlsU3RyQnl0ZU1vZGV9IGZyb20gXCIuL1V0aWxTdHJCeXRlTW9kZVwiO1xyXG5pbXBvcnQge05TdHJpbmcsIE5OdW1iZXJ9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuY29uc3QgTUFYX0dFTkdPOiBudW1iZXIgPSA2O1xyXG5jb25zdCBJRFhfVVBQRVJDQVNFX0FMUEhBOiBudW1iZXIgPSAwO1xyXG5jb25zdCBJRFhfTE9XRVJDQVNFX0FMUEhBOiBudW1iZXIgPSAxO1xyXG5jb25zdCBJRFhfS0FOSkk6IG51bWJlciA9IDI7XHJcbmNvbnN0IElEWF9ZRUFSOiBudW1iZXIgPSAwO1xyXG5jb25zdCBJRFhfTU9OVEg6IG51bWJlciA9IDE7XHJcbmNvbnN0IElEWF9EQVk6IG51bWJlciA9IDI7XHJcbmNvbnN0IElEWF9ET1k6IG51bWJlciA9IDM7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFV0aWxEYXRlSnBuIHtcclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgSlBOOiBKYXBhbmVzZSBkYXRlIHBpY3R1cmUgc3VwcG9ydFxyXG4gIC8vLyAgIFV0aWxpdHkgQ2xhc3MgZm9yIEphcGFuZXNlIGRhdGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8YXV0aG9yPiAgVG9zaGlybyBOYWtheW9zaGkgKE1TSilcclxuICAvLy8gPC9hdXRob3I+XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZTogVXRpbERhdGVKcG4gPSBudWxsO1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyBKd2Vla1N0cjogc3RyaW5nW10gPSBbXHJcbiAgICBcIiAgIFwiLCBcIuaXpeabnOaXpVwiLCBcIuaciOabnOaXpVwiLCBcIueBq+abnOaXpVwiLCBcIuawtOabnOaXpVwiLCBcIuacqOabnOaXpVwiLCBcIumHkeabnOaXpVwiLCBcIuWcn+abnOaXpVwiXHJcbiAgXTtcclxuICBwcml2YXRlIHN0YXRpYyBKbW9udGhTdHI6IHN0cmluZ1tdID0gW1xyXG4gICAgXCJcIiwgXCIgMeaciFwiLCBcIiAy5pyIXCIsIFwiIDPmnIhcIiwgXCIgNOaciFwiLCBcIiA15pyIXCIsIFwiIDbmnIhcIiwgXCIgN+aciFwiLCBcIiA45pyIXCIsIFwiIDnmnIhcIiwgXCIxMOaciFwiLCBcIjEx5pyIXCIsIFwiMTLmnIhcIlxyXG4gIF07XHJcbiAgcHJpdmF0ZSBzdGF0aWMgR2VuZ29TdHI6IHN0cmluZ1tdW10gPSBbXHJcbiAgICBbXCI/XCIsIFwiP1wiLCBcIj8/Pz9cIl0sXHJcbiAgICBbXCJNXCIsIFwibVwiLCBcIuaYjuayu1wiXSxcclxuICAgIFtcIlRcIiwgXCJ0XCIsIFwi5aSn5q2jXCJdLFxyXG4gICAgW1wiU1wiLCBcInNcIiwgXCLmmK3lkoxcIl0sXHJcbiAgICBbXCJIXCIsIFwiaFwiLCBcIuW5s+aIkFwiXSxcclxuICAgIFtcIlJcIiwgXCJyXCIsIFwi5Luk5ZKMXCJdLFxyXG4gICAgW1wiP1wiLCBcIj9cIiwgXCLvvJ/vvJ9cIl0sXHJcbiAgICBbXCI/XCIsIFwiP1wiLCBcIu+8n++8n1wiXSxcclxuICAgIFtcIj9cIiwgXCI/XCIsIFwi77yf77yfXCJdXHJcbiAgXTtcclxuICBwcml2YXRlIHN0YXRpYyBTdGFydERheU9mR2VuZ286IG51bWJlcltdW10gPSBbXHJcbiAgICBbICAgMSwgIDEsICAxLCAgIDFdLFxyXG4gICAgWzE4NjgsICA5LCAgOCwgMjUyXSxcclxuICAgIFsxOTEyLCAgNiwgMzAsIDIxMl0sXHJcbiAgICBbMTkyNiwgMTIsIDI1LCAzNTldLFxyXG4gICAgWzE5ODksICAxLCAgOCwgICA4XSxcclxuICAgIFsyMDE5LCAgNSwgIDEsIDEyMV0sXHJcbiAgICBbMCwgIDAsIDAsIDBdLCAvLyByZXNlcnZlIGZvciBleHRyYSBnZW5nbyB4IDNcclxuICAgIFswLCAgMCwgMCwgMF0sXHJcbiAgICBbMCwgIDAsIDAsIDBdXHJcbiAgXTtcclxuXHJcbiAgLy8gLS0tLSBnZW5nbyAodGhlIG5hbWUgb2YgYW4gZXJhKSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgcHJpdmF0ZSBNYXhHZW5nbzogbnVtYmVyID0gTUFYX0dFTkdPO1xyXG5cclxuICBzdGF0aWMgZ2V0SW5zdGFuY2UoKTogVXRpbERhdGVKcG4ge1xyXG4gICAgaWYgKFV0aWxEYXRlSnBuLl9pbnN0YW5jZSA9PT0gbnVsbCkge1xyXG4gICAgICBVdGlsRGF0ZUpwbi5faW5zdGFuY2UgPSBuZXcgVXRpbERhdGVKcG4oKTtcclxuICAgIH1cclxuICAgIHJldHVybiBVdGlsRGF0ZUpwbi5faW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0QXJyYXlEb3coKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIFV0aWxEYXRlSnBuLkp3ZWVrU3RyO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldFN0ckRvdyhpbnRJZHg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBsZXQgZmxhZzogYm9vbGVhbiA9IGludElkeCA8IDAgfHwgNyA8IGludElkeDtcclxuICAgIGlmIChmbGFnKSB7XHJcbiAgICAgIGludElkeCA9IDA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gVXRpbERhdGVKcG4uSndlZWtTdHJbaW50SWR4XTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjb252ZXJ0U3RyTW9udGgobW9udGg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBsZXQgZmxhZzogYm9vbGVhbiA9IG1vbnRoIDwgMCB8fCAxMiA8IG1vbnRoO1xyXG4gICAgaWYgKGZsYWcpIHtcclxuICAgICAgbW9udGggPSAwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFV0aWxEYXRlSnBuLkptb250aFN0clttb250aF07XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgQ29udmVydCBhIHllYXIgKEEuRC4pIGludG8gSmFwYW5lc2UgeWVhciBvZiBhbiBlcmFcclxuICAvLy8gICBUaGlzIG1ldGhvZCBpcyBtb2RlbGVkIGFmdGVyIFwiZGF0ZV9qcG5feWVhcl9vZnNcIiBmdW5jdGlvbiBpblxyXG4gIC8vLyAgIFwiXFxtZ2xvY2FsXFxqcG5cXGpwbmRhdGVfanBuLmNwcFwiLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJpbnRZZWFyOlwiPnllYXIgKEEuRC4pXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJpbnREb3k6XCI+RE9ZXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB5ZWFyIG9mIGFuIGVyYS5cclxuICAvLy8gICBpZiBlaXRoZXIgcGFyYW0gaXMgaW52YWxpZCwgaXQgcmV0dXJucyAwLlxyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgZGF0ZV9qcG5feWVhcl9vZnMoaW50WWVhcjogbnVtYmVyLCBpbnREb3k6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBsZXQgcmVzdWx0OiBudW1iZXI7XHJcbiAgICBpZiAoaW50WWVhciA8IDEgfHwgaW50RG95IDwgMSkge1xyXG4gICAgICByZXN1bHQgPSAwO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGxldCBudW06IG51bWJlciA9IHRoaXMuTWF4R2VuZ28gLSAxO1xyXG4gICAgICB3aGlsZSAoaW50WWVhciA8IFV0aWxEYXRlSnBuLlN0YXJ0RGF5T2ZHZW5nb1tudW1dWzBdKSB7XHJcbiAgICAgICAgbnVtID0gbnVtIC0gMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoaW50WWVhciA9PT0gVXRpbERhdGVKcG4uU3RhcnREYXlPZkdlbmdvW251bV1bMF0gJiYgaW50RG95IDwgVXRpbERhdGVKcG4uU3RhcnREYXlPZkdlbmdvW251bV1bM10pIHtcclxuICAgICAgICBudW0gPSBudW0gLSAxO1xyXG4gICAgICB9XHJcbiAgICAgIHJlc3VsdCA9IGludFllYXIgLSBVdGlsRGF0ZUpwbi5TdGFydERheU9mR2VuZ29bbnVtXVswXSArIDE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIENvbnZlcnQgYSB5ZWFyIChBLkQuKSBpbnRvIGEgbmFtZSBvZiBhIEphcGFuZXNlIGVyYVxyXG4gIC8vLyAgIFRoaXMgbWV0aG9kIGlzIG1vZGVsZWQgYWZ0ZXIgXCJkYXRlX2pwbl95cl8yX2FcIiBmdW5jdGlvbiBpblxyXG4gIC8vLyAgIFwiXFxtZ2xvY2FsXFxqcG5cXGpwbmRhdGVfanBuLmNwcFwiLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJpbnRZZWFyOlwiPnllYXIgKEEuRC4pXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJpbnREb3k6XCI+RE9ZXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJpc0thbmppOlwiPnJldHVybiBhIGZ1bGwgbmFtZSAodHJ1ZSkgb3IgdGhlIGZpcnN0IGxldHRlciAoZmFsc2UpLlxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gbmFtZSBvZiBhbiBlcmFcclxuICAvLy8gICBpZiBlaXRoZXIgcGFyYW0gaXMgaW52YWxpZCwgaXQgcmV0dXJucyBcIj9cIi5cclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIGRhdGVfanBuX3lyXzJfYShpbnRZZWFyOiBudW1iZXIsIGludERveTogbnVtYmVyLCBpc0thbmppOiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIGxldCBudW06IG51bWJlcjtcclxuICAgIGlmIChpbnRZZWFyIDwgMSB8fCBpbnREb3kgPCAxKSB7XHJcbiAgICAgIG51bSA9IDA7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgbnVtID0gdGhpcy5NYXhHZW5nbyAtIDE7XHJcbiAgICAgIHdoaWxlIChpbnRZZWFyIDwgVXRpbERhdGVKcG4uU3RhcnREYXlPZkdlbmdvW251bV1bMF0pIHtcclxuICAgICAgICBudW0gPSBudW0gLSAxO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChpbnRZZWFyID09PSBVdGlsRGF0ZUpwbi5TdGFydERheU9mR2VuZ29bbnVtXVswXSAmJiBpbnREb3kgPCBVdGlsRGF0ZUpwbi5TdGFydERheU9mR2VuZ29bbnVtXVszXSkge1xyXG4gICAgICAgIG51bSA9IG51bSAtIDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCByZXN1bHQ6IHN0cmluZztcclxuICAgIGlmIChpc0thbmppKSB7XHJcbiAgICAgIHJlc3VsdCA9IFV0aWxEYXRlSnBuLkdlbmdvU3RyW251bV1bMl07XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmVzdWx0ID0gVXRpbERhdGVKcG4uR2VuZ29TdHJbbnVtXVswXTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgR2V0IHRoZSBmaXJzdCB5ZWFyIChBLkQuKSBvZiBhIHNwZWNpZmllZCBKYXBhbmVzZSBlcmFcclxuICAvLy8gICBUaGlzIG1ldGhvZCBpcyBtb2RlbGVkIGFmdGVyIFwiZGF0ZV9qcG5feXJfNF9hXCIgZnVuY3Rpb24gaW5cclxuICAvLy8gICBcIlxcbWdsb2NhbFxcanBuXFxqcG5kYXRlX2pwbi5jcHBcIi5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidWNwX3N0cjpcIj5uYW1lIG9mIGEgc3BlY2lmaWVkIEphcGFuZXNlIGVyYVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic19sZW46XCI+bGVuZ3RoICh0aGUgbnVtYmVyIG9mIGJ5dGVzKSBvZiB1Y3Bfc3RyXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB5ZWFyIChBLkQuKVxyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBkYXRlX2pwbl95cl80X2EodWNwX3N0cjogc3RyaW5nLCBzX2xlbjogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGxldCBpOiBudW1iZXIgPSB0aGlzLk1heEdlbmdvIC0gMTtcclxuICAgIGlmIChzX2xlbiA+IDApIHtcclxuICAgICAgaWYgKHNfbGVuID4gMSkge1xyXG4gICAgICAgIHVjcF9zdHIgPSBVdGlsU3RyQnl0ZU1vZGUubGVmdEIodWNwX3N0ciwgc19sZW4pO1xyXG4gICAgICB9XHJcbiAgICAgIHdoaWxlIChpID4gMCkge1xyXG4gICAgICAgIGlmIChzX2xlbiA9PT0gMSkge1xyXG4gICAgICAgICAgaWYgKHVjcF9zdHIgPT09IFV0aWxEYXRlSnBuLkdlbmdvU3RyW2ldWzBdIHx8IHVjcF9zdHIgPT09IFV0aWxEYXRlSnBuLkdlbmdvU3RyW2ldWzFdKSB7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGlmIChzX2xlbiA+IDEpIHtcclxuICAgICAgICAgICAgbGV0IHRleHQ6IHN0cmluZyA9IFV0aWxTdHJCeXRlTW9kZS5sZWZ0QihVdGlsRGF0ZUpwbi5HZW5nb1N0cltpXVsyXSwgc19sZW4pO1xyXG4gICAgICAgICAgICBpZiAodWNwX3N0ciA9PT0gdGV4dCkge1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGkgPSBpIC0gMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGV0IHJlc3VsdDogbnVtYmVyO1xyXG4gICAgaWYgKGkgPiAwKSB7XHJcbiAgICAgIHJlc3VsdCA9IFV0aWxEYXRlSnBuLlN0YXJ0RGF5T2ZHZW5nb1tpXVswXTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCB0ZXh0OiBzdHJpbmcgPSB1Y3Bfc3RyLnN1YnN0cigwLCAxKTtcclxuICAgICAgaWYgKHRleHQgPT09IFwiIFwiIHx8IHRleHQgPT09IFwiP1wiKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gMTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXN1bHQgPSAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIEdldCB0aGUgbmFtZSBvZiBhbiBlcmEgaW4gZGF0ZSBzdHJpbmdcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic3RyRGF0ZTpcIj5zdHJpbmcgb2YgaW5wdXQgc3RyRGF0ZVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic3RyUGljdHVyZTpcIj5zdHJpbmcgb2YgcGljdHVyZVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaW50U3RhcnRQb3M6XCI+c3RhcnQgcG9zaXRpb24gdG8gc2VhcmNoXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiBuYW1lIG9mIGFuIGVyYVxyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0RXJhTmFtZVN0ckluRGF0ZShzdHJEYXRlOiBzdHJpbmcsIHN0clBpY3R1cmU6IHN0cmluZywgaW50U3RhcnRQb3M6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmcgPSBudWxsO1xyXG4gICAgbGV0IGludFBpY0lkeE9mczogbnVtYmVyID0gMDtcclxuICAgIGxldCBpOiBudW1iZXIgPSBpbnRTdGFydFBvcztcclxuICAgIHdoaWxlIChpICsgaW50UGljSWR4T2ZzIDwgc3RyUGljdHVyZS5sZW5ndGgpIHtcclxuICAgICAgbGV0IGludExldHRlcnM6IG51bWJlcjtcclxuICAgICAgaWYgKHN0clBpY3R1cmUuY2hhckNvZGVBdChpICsgaW50UGljSWR4T2ZzKSA9PT0gUElDSW50ZXJmYWNlLlBJQ19KWTEpIHtcclxuICAgICAgICBpbnRMZXR0ZXJzID0gMTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAoc3RyUGljdHVyZS5jaGFyQ29kZUF0KGkgKyBpbnRQaWNJZHhPZnMpID09PSBQSUNJbnRlcmZhY2UuUElDX0pZMikge1xyXG4gICAgICAgICAgaW50TGV0dGVycyA9IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHN0clBpY3R1cmUuY2hhckNvZGVBdChpICsgaW50UGljSWR4T2ZzKSA9PT0gUElDSW50ZXJmYWNlLlBJQ19KWTQpIHtcclxuICAgICAgICAgICAgaW50TGV0dGVycyA9IDI7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBJZiBcInN0ckRhdGVcIiBjb250YWlucyBEQkNTLCB0aGUgcG9zaXRpb24gb2YgXCJzdHJQaWN0dXJlXCIgaGFzIHRvIHNraXAgbmV4dCBpbmRleC5cclxuICAgICAgICAgICAgaWYgKGkgPCBzdHJEYXRlLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIGlmICghVXRpbFN0ckJ5dGVNb2RlLmlzSGFsZldpZHRoKHN0ckRhdGVbaV0pICYmIFV0aWxTdHJCeXRlTW9kZS5pc0hhbGZXaWR0aChzdHJQaWN0dXJlW2kgKyBpbnRQaWNJZHhPZnNdKSkge1xyXG4gICAgICAgICAgICAgICAgaW50UGljSWR4T2ZzID0gaW50UGljSWR4T2ZzICsgMTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaSA9IGkgKyAxO1xyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmVzdWx0ID0gc3RyRGF0ZS5zdWJzdHIoaSwgaW50TGV0dGVycyk7XHJcbiAgICAgIGJyZWFrOyAvLyBleGl0IGxvb3BcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgR2V0IHRoZSBsZW5ndGggb2YgdGhlIG5hbWUgb2YgYW4gZXJhIGluIHBpY3R1cmVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic3RyUGljdHVyZVwiPnN0cmluZyBvZiBwaWN0dXJlXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJpbnRTdGFydFBvc1wiPnN0YXJ0IHBvc2l0aW9uIHRvIHNlYXJjaFxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gbGVuZ3RoIG9mIHRoZSBuYW1lICh0aGUgbnVtYmVyIG9mIGJ5dGVzKVxyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0RXJhTmFtZUxlbkluUGljdHVyZShzdHJQaWN0dXJlOiBzdHJpbmcsIGludFN0YXJ0UG9zOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgbGV0IGludExldHRlcnM6IG51bWJlciA9IDA7XHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSBpbnRTdGFydFBvczsgaSA8IHN0clBpY3R1cmUubGVuZ3RoOyBpID0gaSArIDEpIHtcclxuICAgICAgaWYgKHN0clBpY3R1cmUuY2hhckNvZGVBdChpKSA9PT0gUElDSW50ZXJmYWNlLlBJQ19KWTEpIHtcclxuICAgICAgICBpbnRMZXR0ZXJzID0gMTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAoc3RyUGljdHVyZS5jaGFyQ29kZUF0KGkpID09PSBQSUNJbnRlcmZhY2UuUElDX0pZMikge1xyXG4gICAgICAgICAgaW50TGV0dGVycyA9IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHN0clBpY3R1cmUuY2hhckNvZGVBdChpKSA9PT0gUElDSW50ZXJmYWNlLlBJQ19KWTQpIHtcclxuICAgICAgICAgICAgaW50TGV0dGVycyA9IDQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChpbnRMZXR0ZXJzID4gMCkge1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaW50TGV0dGVycztcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBHZXQgdGhlIHN0YXJ0IHllYXIgb2YgYW4gZXJhIGluIHBpY3R1cmVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic3RyRGF0ZTpcIj5zdHJpbmcgb2YgaW5wdXQgc3RyRGF0ZVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic3RyUGljdHVyZTpcIj5zdHJpbmcgb2YgcGljdHVyZVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gc3RhcnQgeWVhciBvZiB0aGUgZXJhXHJcbiAgLy8vIDwvcmV0dXJucz5cclxuICBnZXRTdGFydFllYXJPZkVyYShzdHJEYXRlOiBzdHJpbmcsIHN0clBpY3R1cmU6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICBsZXQgZXJhTmFtZVN0ckluRGF0ZTogc3RyaW5nID0gVXRpbERhdGVKcG4uZ2V0RXJhTmFtZVN0ckluRGF0ZShzdHJEYXRlLCBzdHJQaWN0dXJlLCAwKTtcclxuICAgIGxldCByZXN1bHQ6IG51bWJlcjtcclxuICAgIGlmIChlcmFOYW1lU3RySW5EYXRlID09PSBudWxsKSB7XHJcbiAgICAgIHJlc3VsdCA9IDA7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0IGVyYU5hbWVMZW5JblBpY3R1cmU6IG51bWJlciA9IFV0aWxEYXRlSnBuLmdldEVyYU5hbWVMZW5JblBpY3R1cmUoc3RyUGljdHVyZSwgMCk7XHJcbiAgICAgIGlmIChlcmFOYW1lTGVuSW5QaWN0dXJlID09PSAwKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gMDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBsZXQgaW50U3RhcnRZZWFyT2ZFcmE6IG51bWJlciA9IHRoaXMuZGF0ZV9qcG5feXJfNF9hKGVyYU5hbWVTdHJJbkRhdGUsIGVyYU5hbWVMZW5JblBpY3R1cmUpO1xyXG4gICAgICAgIHJlc3VsdCA9IGludFN0YXJ0WWVhck9mRXJhO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBBZGQgZXh0cmEgR2VuZ28gZGF0YSBpbnRvIHRoZSBHZW5nbyB0YWJsZXM8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwic3RyRXh0cmFHZW5nbzpcIj5cclxuICAvLy8gPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+XHJcbiAgLy8vIDwvcmV0dXJucz5cclxuICBhZGRFeHRyYUdlbmdvKHN0ckV4dHJhR2VuZ286IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gZS5nLiBzdHJFeHRyYUdlbmdvID0gXCIyMDEyLzA0LzAxLDA5MixBYUFCQ0Q7MjAxMy8wNC8wMSwwOTEsV3dXWFlaO1wiXHJcbiAgICBsZXQgc3RyR2VuZ29JbmZvOiBzdHJpbmdbXSA9IHN0ckV4dHJhR2VuZ28uc3BsaXQoJzsnKTtcclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBzdHJHZW5nb0luZm8ubGVuZ3RoOyBpID0gaSArIDEpIHtcclxuICAgICAgaWYgKHN0ckdlbmdvSW5mb1tpXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgbGV0IHN0clRvazogc3RyaW5nW10gPSBzdHJHZW5nb0luZm9baV0uc3BsaXQoJywnKTtcclxuICAgICAgICBpZiAoc3RyVG9rLmxlbmd0aCA9PT0gMyAmJiBzdHJUb2tbMF0ubGVuZ3RoID4gMCAmJiBzdHJUb2tbMV0ubGVuZ3RoID4gMCAmJiBzdHJUb2tbMl0ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgbGV0IHN0ckRhdGU6IHN0cmluZ1tdID0gc3RyVG9rWzBdLnNwbGl0KCcvJyk7XHJcbiAgICAgICAgICBpZiAoc3RyRGF0ZS5sZW5ndGggPT09IDMgJiYgc3RyRGF0ZVswXS5sZW5ndGggPiAwICYmIHN0ckRhdGVbMV0ubGVuZ3RoID4gMCAmJiBzdHJEYXRlWzJdLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgVXRpbERhdGVKcG4uR2VuZ29TdHJbTUFYX0dFTkdPICsgaV1bMF0gPSBzdHJUb2tbMl0uc3Vic3RyKDAsIDEpOyAvLyBzeW1ib2wgbmFtZSAodXBwZXIgY2FzZSk6IEFcclxuICAgICAgICAgICAgVXRpbERhdGVKcG4uR2VuZ29TdHJbTUFYX0dFTkdPICsgaV1bMV0gPSBzdHJUb2tbMl0uc3Vic3RyKDEsIDEpOyAvLyBzeW1ib2wgbmFtZSAobG93ZXIgY2FzZSk6IGFcclxuICAgICAgICAgICAgVXRpbERhdGVKcG4uR2VuZ29TdHJbTUFYX0dFTkdPICsgaV1bMl0gPSBzdHJUb2tbMl0uc3Vic3RyKDIpOyAgICAvLyBnZW5nbyBuYW1lOiBBQkNEXHJcblxyXG4gICAgICAgICAgICBVdGlsRGF0ZUpwbi5TdGFydERheU9mR2VuZ29bTUFYX0dFTkdPICsgaV1bMF0gPSBOTnVtYmVyLlBhcnNlKHN0ckRhdGVbMF0pOyAgICAvLyBzdGFydCB5ZWFyOiAyMDEyXHJcbiAgICAgICAgICAgIFV0aWxEYXRlSnBuLlN0YXJ0RGF5T2ZHZW5nb1tNQVhfR0VOR08gKyBpXVsxXSA9IE5OdW1iZXIuUGFyc2Uoc3RyRGF0ZVsxXSk7ICAgIC8vIHN0YXJ0IG1vbnRoOiA0XHJcbiAgICAgICAgICAgIFV0aWxEYXRlSnBuLlN0YXJ0RGF5T2ZHZW5nb1tNQVhfR0VOR08gKyBpXVsyXSA9IE5OdW1iZXIuUGFyc2Uoc3RyRGF0ZVsyXSk7ICAgIC8vIHN0YXJ0IGRheTogMVxyXG4gICAgICAgICAgICBVdGlsRGF0ZUpwbi5TdGFydERheU9mR2VuZ29bTUFYX0dFTkdPICsgaV1bM10gPSBOTnVtYmVyLlBhcnNlKHN0clRva1sxXSk7ICAgICAvLyBkYXlzIHNpbmNlIEphbnVhcnkgMTogOTJcclxuICAgICAgICAgICAgdGhpcy5NYXhHZW5nbysrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbERhdGVKcG4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9zcmMvVXRpbERhdGVKcG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQVUsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsTUFBTSxTQUFTLEdBQVcsQ0FBQyxDQUFDO0FBQzVCLE1BQU0sbUJBQW1CLEdBQVcsQ0FBQyxDQUFDO0FBQ3RDLE1BQU0sbUJBQW1CLEdBQVcsQ0FBQyxDQUFDO0FBQ3RDLE1BQU0sU0FBUyxHQUFXLENBQUMsQ0FBQztBQUM1QixNQUFNLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFDM0IsTUFBTSxTQUFTLEdBQVcsQ0FBQyxDQUFDO0FBQzVCLE1BQU0sT0FBTyxHQUFXLENBQUMsQ0FBQztBQUMxQixNQUFNLE9BQU8sR0FBVyxDQUFDLENBQUM7QUFHMUIsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUF3Q1UsYUFBUSxHQUFXLFNBQVMsQ0FBQztJQXdSdkMsQ0FBQztJQXRSQyxNQUFNLENBQUMsV0FBVztRQUNoQixJQUFJLFdBQVcsQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFO1lBQ2xDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztTQUMzQztRQUNELE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVc7UUFDaEIsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQWM7UUFDN0IsSUFBSSxJQUFJLEdBQVksTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQzdDLElB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QUFHLENBQUMsRUFBRyxDQUFDLEVBQUksQ0FBQyxDQUFDO0lBQ25CLENBQUMsSUFBSSxFQUFHLENBQUMsRUFBRyxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ25CLENBQUMsQ0FBQyxFQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2IsQ0FBQyxDQUFDLEVBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDYixDQUFDLENBQUMsRUFBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BJQ0ludGVyZmFjZX0gZnJvbSBcIi4vUElDSW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7VXRpbFN0ckJ5dGVNb2RlfSBmcm9tIFwiLi9VdGlsU3RyQnl0ZU1vZGVcIjtcclxuaW1wb3J0IHtOU3RyaW5nLCBOTnVtYmVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuXHJcbmNvbnN0IE1BWF9HRU5HTzogbnVtYmVyID0gNjtcclxuY29uc3QgSURYX1VQUEVSQ0FTRV9BTFBIQTogbnVtYmVyID0gMDtcclxuY29uc3QgSURYX0xPV0VSQ0FTRV9BTFBIQTogbnVtYmVyID0gMTtcclxuY29uc3QgSURYX0tBTkpJOiBudW1iZXIgPSAyO1xyXG5jb25zdCBJRFhfWUVBUjogbnVtYmVyID0gMDtcclxuY29uc3QgSURYX01PTlRIOiBudW1iZXIgPSAxO1xyXG5jb25zdCBJRFhfREFZOiBudW1iZXIgPSAyO1xyXG5jb25zdCBJRFhfRE9ZOiBudW1iZXIgPSAzO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBVdGlsRGF0ZUpwbiB7XHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIEpQTjogSmFwYW5lc2UgZGF0ZSBwaWN0dXJlIHN1cHBvcnRcclxuICAvLy8gICBVdGlsaXR5IENsYXNzIGZvciBKYXBhbmVzZSBkYXRlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPGF1dGhvcj4gIFRvc2hpcm8gTmFrYXlvc2hpIChNU0opXHJcbiAgLy8vIDwvYXV0aG9yPlxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IFV0aWxEYXRlSnBuID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgSndlZWtTdHI6IHN0cmluZ1tdID0gW1xyXG4gICAgXCIgICBcIiwgXCLml6Xmm5zml6VcIiwgXCLmnIjmm5zml6VcIiwgXCLngavmm5zml6VcIiwgXCLmsLTmm5zml6VcIiwgXCLmnKjmm5zml6VcIiwgXCLph5Hmm5zml6VcIiwgXCLlnJ/mm5zml6VcIlxyXG4gIF07XHJcbiAgcHJpdmF0ZSBzdGF0aWMgSm1vbnRoU3RyOiBzdHJpbmdbXSA9IFtcclxuICAgIFwiXCIsIFwiIDHmnIhcIiwgXCIgMuaciFwiLCBcIiAz5pyIXCIsIFwiIDTmnIhcIiwgXCIgNeaciFwiLCBcIiA25pyIXCIsIFwiIDfmnIhcIiwgXCIgOOaciFwiLCBcIiA55pyIXCIsIFwiMTDmnIhcIiwgXCIxMeaciFwiLCBcIjEy5pyIXCJcclxuICBdO1xyXG4gIHByaXZhdGUgc3RhdGljIEdlbmdvU3RyOiBzdHJpbmdbXVtdID0gW1xyXG4gICAgW1wiP1wiLCBcIj9cIiwgXCI/Pz8/XCJdLFxyXG4gICAgW1wiTVwiLCBcIm1cIiwgXCLmmI7msrtcIl0sXHJcbiAgICBbXCJUXCIsIFwidFwiLCBcIuWkp+ato1wiXSxcclxuICAgIFtcIlNcIiwgXCJzXCIsIFwi5pit5ZKMXCJdLFxyXG4gICAgW1wiSFwiLCBcImhcIiwgXCLlubPmiJBcIl0sXHJcbiAgICBbXCJSXCIsIFwiclwiLCBcIuS7pOWSjFwiXSxcclxuICAgIFtcIj9cIiwgXCI/XCIsIFwi77yf77yfXCJdLFxyXG4gICAgW1wiP1wiLCBcIj9cIiwgXCLvvJ/vvJ9cIl0sXHJcbiAgICBbXCI/XCIsIFwiP1wiLCBcIu+8n++8n1wiXVxyXG4gIF07XHJcbiAgcHJpdmF0ZSBzdGF0aWMgU3RhcnREYXlPZkdlbmdvOiBudW1iZXJbXVtdID0gW1xyXG4gICAgWyAgIDEsICAxLCAgMSwgICAxXSxcclxuICAgIFsxODY4LCAgOSwgIDgsIDI1Ml0sXHJcbiAgICBbMTkxMiwgIDYsIDMwLCAyMTJdLFxyXG4gICAgWzE5MjYsIDEyLCAyNSwgMzU5XSxcclxuICAgIFsxOTg5LCAgMSwgIDgsICAgOF0sXHJcbiAgICBbMjAxOSwgIDUsICAxLCAxMjFdLFxyXG4gICAgWzAsICAwLCAwLCAwXSwgLy8gcmVzZXJ2ZSBmb3IgZXh0cmEgZ2VuZ28geCAzXHJcbiAgICBbMCwgIDAsIDAsIDBdLFxyXG4gICAgWzAsICAwLCAwLCAwXVxyXG4gIF07XHJcblxyXG4gIC8vIC0tLS0gZ2VuZ28gKHRoZSBuYW1lIG9mIGFuIGVyYSkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIHByaXZhdGUgTWF4R2VuZ286IG51bWJlciA9IE1BWF9HRU5HTztcclxuXHJcbiAgc3RhdGljIGdldEluc3RhbmNlKCk6IFV0aWxEYXRlSnBuIHtcclxuICAgIGlmIChVdGlsRGF0ZUpwbi5faW5zdGFuY2UgPT09IG51bGwpIHtcclxuICAgICAgVXRpbERhdGVKcG4uX2luc3RhbmNlID0gbmV3IFV0aWxEYXRlSnBuKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gVXRpbERhdGVKcG4uX2luc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEFycmF5RG93KCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBVdGlsRGF0ZUpwbi5Kd2Vla1N0cjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRTdHJEb3coaW50SWR4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IGZsYWc6IGJvb2xlYW4gPSBpbnRJZHggPCAwIHx8IDcgPCBpbnRJZHg7XHJcbiAgICBpZiAoZmxhZykge1xyXG4gICAgICBpbnRJZHggPSAwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFV0aWxEYXRlSnBuLkp3ZWVrU3RyW2ludElkeF07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY29udmVydFN0ck1vbnRoKG1vbnRoOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IGZsYWc6IGJvb2xlYW4gPSBtb250aCA8IDAgfHwgMTIgPCBtb250aDtcclxuICAgIGlmIChmbGFnKSB7XHJcbiAgICAgIG1vbnRoID0gMDtcclxuICAgIH1cclxuICAgIHJldHVybiBVdGlsRGF0ZUpwbi5KbW9udGhTdHJbbW9udGhdO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIENvbnZlcnQgYSB5ZWFyIChBLkQuKSBpbnRvIEphcGFuZXNlIHllYXIgb2YgYW4gZXJhXHJcbiAgLy8vICAgVGhpcyBtZXRob2QgaXMgbW9kZWxlZCBhZnRlciBcImRhdGVfanBuX3llYXJfb2ZzXCIgZnVuY3Rpb24gaW5cclxuICAvLy8gICBcIlxcbWdsb2NhbFxcanBuXFxqcG5kYXRlX2pwbi5jcHBcIi5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaW50WWVhcjpcIj55ZWFyIChBLkQuKVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaW50RG95OlwiPkRPWVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4geWVhciBvZiBhbiBlcmEuXHJcbiAgLy8vICAgaWYgZWl0aGVyIHBhcmFtIGlzIGludmFsaWQsIGl0IHJldHVybnMgMC5cclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIGRhdGVfanBuX3llYXJfb2ZzKGludFllYXI6IG51bWJlciwgaW50RG95OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgbGV0IHJlc3VsdDogbnVtYmVyO1xyXG4gICAgaWYgKGludFllYXIgPCAxIHx8IGludERveSA8IDEpIHtcclxuICAgICAgcmVzdWx0ID0gMDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBsZXQgbnVtOiBudW1iZXIgPSB0aGlzLk1heEdlbmdvIC0gMTtcclxuICAgICAgd2hpbGUgKGludFllYXIgPCBVdGlsRGF0ZUpwbi5TdGFydERheU9mR2VuZ29bbnVtXVswXSkge1xyXG4gICAgICAgIG51bSA9IG51bSAtIDE7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGludFllYXIgPT09IFV0aWxEYXRlSnBuLlN0YXJ0RGF5T2ZHZW5nb1tudW1dWzBdICYmIGludERveSA8IFV0aWxEYXRlSnBuLlN0YXJ0RGF5T2ZHZW5nb1tudW1dWzNdKSB7XHJcbiAgICAgICAgbnVtID0gbnVtIC0gMTtcclxuICAgICAgfVxyXG4gICAgICByZXN1bHQgPSBpbnRZZWFyIC0gVXRpbERhdGVKcG4uU3RhcnREYXlPZkdlbmdvW251bV1bMF0gKyAxO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBDb252ZXJ0IGEgeWVhciAoQS5ELikgaW50byBhIG5hbWUgb2YgYSBKYXBhbmVzZSBlcmFcclxuICAvLy8gICBUaGlzIG1ldGhvZCBpcyBtb2RlbGVkIGFmdGVyIFwiZGF0ZV9qcG5feXJfMl9hXCIgZnVuY3Rpb24gaW5cclxuICAvLy8gICBcIlxcbWdsb2NhbFxcanBuXFxqcG5kYXRlX2pwbi5jcHBcIi5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaW50WWVhcjpcIj55ZWFyIChBLkQuKVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaW50RG95OlwiPkRPWVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaXNLYW5qaTpcIj5yZXR1cm4gYSBmdWxsIG5hbWUgKHRydWUpIG9yIHRoZSBmaXJzdCBsZXR0ZXIgKGZhbHNlKS5cclxuICAvLy8gPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IG5hbWUgb2YgYW4gZXJhXHJcbiAgLy8vICAgaWYgZWl0aGVyIHBhcmFtIGlzIGludmFsaWQsIGl0IHJldHVybnMgXCI/XCIuXHJcbiAgLy8vIDwvcmV0dXJucz5cclxuICBkYXRlX2pwbl95cl8yX2EoaW50WWVhcjogbnVtYmVyLCBpbnREb3k6IG51bWJlciwgaXNLYW5qaTogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICBsZXQgbnVtOiBudW1iZXI7XHJcbiAgICBpZiAoaW50WWVhciA8IDEgfHwgaW50RG95IDwgMSkge1xyXG4gICAgICBudW0gPSAwO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIG51bSA9IHRoaXMuTWF4R2VuZ28gLSAxO1xyXG4gICAgICB3aGlsZSAoaW50WWVhciA8IFV0aWxEYXRlSnBuLlN0YXJ0RGF5T2ZHZW5nb1tudW1dWzBdKSB7XHJcbiAgICAgICAgbnVtID0gbnVtIC0gMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoaW50WWVhciA9PT0gVXRpbERhdGVKcG4uU3RhcnREYXlPZkdlbmdvW251bV1bMF0gJiYgaW50RG95IDwgVXRpbERhdGVKcG4uU3RhcnREYXlPZkdlbmdvW251bV1bM10pIHtcclxuICAgICAgICBudW0gPSBudW0gLSAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmc7XHJcbiAgICBpZiAoaXNLYW5qaSkge1xyXG4gICAgICByZXN1bHQgPSBVdGlsRGF0ZUpwbi5HZW5nb1N0cltudW1dWzJdO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJlc3VsdCA9IFV0aWxEYXRlSnBuLkdlbmdvU3RyW251bV1bMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIEdldCB0aGUgZmlyc3QgeWVhciAoQS5ELikgb2YgYSBzcGVjaWZpZWQgSmFwYW5lc2UgZXJhXHJcbiAgLy8vICAgVGhpcyBtZXRob2QgaXMgbW9kZWxlZCBhZnRlciBcImRhdGVfanBuX3lyXzRfYVwiIGZ1bmN0aW9uIGluXHJcbiAgLy8vICAgXCJcXG1nbG9jYWxcXGpwblxcanBuZGF0ZV9qcG4uY3BwXCIuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInVjcF9zdHI6XCI+bmFtZSBvZiBhIHNwZWNpZmllZCBKYXBhbmVzZSBlcmFcclxuICAvLy8gPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInNfbGVuOlwiPmxlbmd0aCAodGhlIG51bWJlciBvZiBieXRlcykgb2YgdWNwX3N0clxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4geWVhciAoQS5ELilcclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgZGF0ZV9qcG5feXJfNF9hKHVjcF9zdHI6IHN0cmluZywgc19sZW46IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBsZXQgaTogbnVtYmVyID0gdGhpcy5NYXhHZW5nbyAtIDE7XHJcbiAgICBpZiAoc19sZW4gPiAwKSB7XHJcbiAgICAgIGlmIChzX2xlbiA+IDEpIHtcclxuICAgICAgICB1Y3Bfc3RyID0gVXRpbFN0ckJ5dGVNb2RlLmxlZnRCKHVjcF9zdHIsIHNfbGVuKTtcclxuICAgICAgfVxyXG4gICAgICB3aGlsZSAoaSA+IDApIHtcclxuICAgICAgICBpZiAoc19sZW4gPT09IDEpIHtcclxuICAgICAgICAgIGlmICh1Y3Bfc3RyID09PSBVdGlsRGF0ZUpwbi5HZW5nb1N0cltpXVswXSB8fCB1Y3Bfc3RyID09PSBVdGlsRGF0ZUpwbi5HZW5nb1N0cltpXVsxXSkge1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBpZiAoc19sZW4gPiAxKSB7XHJcbiAgICAgICAgICAgIGxldCB0ZXh0OiBzdHJpbmcgPSBVdGlsU3RyQnl0ZU1vZGUubGVmdEIoVXRpbERhdGVKcG4uR2VuZ29TdHJbaV1bMl0sIHNfbGVuKTtcclxuICAgICAgICAgICAgaWYgKHVjcF9zdHIgPT09IHRleHQpIHtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpID0gaSAtIDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCByZXN1bHQ6IG51bWJlcjtcclxuICAgIGlmIChpID4gMCkge1xyXG4gICAgICByZXN1bHQgPSBVdGlsRGF0ZUpwbi5TdGFydERheU9mR2VuZ29baV1bMF07XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgdGV4dDogc3RyaW5nID0gdWNwX3N0ci5zdWJzdHIoMCwgMSk7XHJcbiAgICAgIGlmICh0ZXh0ID09PSBcIiBcIiB8fCB0ZXh0ID09PSBcIj9cIikge1xyXG4gICAgICAgIHJlc3VsdCA9IDE7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmVzdWx0ID0gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBHZXQgdGhlIG5hbWUgb2YgYW4gZXJhIGluIGRhdGUgc3RyaW5nXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN0ckRhdGU6XCI+c3RyaW5nIG9mIGlucHV0IHN0ckRhdGVcclxuICAvLy8gPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN0clBpY3R1cmU6XCI+c3RyaW5nIG9mIHBpY3R1cmVcclxuICAvLy8gPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImludFN0YXJ0UG9zOlwiPnN0YXJ0IHBvc2l0aW9uIHRvIHNlYXJjaFxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gbmFtZSBvZiBhbiBlcmFcclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIGdldEVyYU5hbWVTdHJJbkRhdGUoc3RyRGF0ZTogc3RyaW5nLCBzdHJQaWN0dXJlOiBzdHJpbmcsIGludFN0YXJ0UG9zOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJlc3VsdDogc3RyaW5nID0gbnVsbDtcclxuICAgIGxldCBpbnRQaWNJZHhPZnM6IG51bWJlciA9IDA7XHJcbiAgICBsZXQgaTogbnVtYmVyID0gaW50U3RhcnRQb3M7XHJcbiAgICB3aGlsZSAoaSArIGludFBpY0lkeE9mcyA8IHN0clBpY3R1cmUubGVuZ3RoKSB7XHJcbiAgICAgIGxldCBpbnRMZXR0ZXJzOiBudW1iZXI7XHJcbiAgICAgIGlmIChzdHJQaWN0dXJlLmNoYXJDb2RlQXQoaSArIGludFBpY0lkeE9mcykgPT09IFBJQ0ludGVyZmFjZS5QSUNfSlkxKSB7XHJcbiAgICAgICAgaW50TGV0dGVycyA9IDE7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgaWYgKHN0clBpY3R1cmUuY2hhckNvZGVBdChpICsgaW50UGljSWR4T2ZzKSA9PT0gUElDSW50ZXJmYWNlLlBJQ19KWTIpIHtcclxuICAgICAgICAgIGludExldHRlcnMgPSAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGlmIChzdHJQaWN0dXJlLmNoYXJDb2RlQXQoaSArIGludFBpY0lkeE9mcykgPT09IFBJQ0ludGVyZmFjZS5QSUNfSlk0KSB7XHJcbiAgICAgICAgICAgIGludExldHRlcnMgPSAyO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gSWYgXCJzdHJEYXRlXCIgY29udGFpbnMgREJDUywgdGhlIHBvc2l0aW9uIG9mIFwic3RyUGljdHVyZVwiIGhhcyB0byBza2lwIG5leHQgaW5kZXguXHJcbiAgICAgICAgICAgIGlmIChpIDwgc3RyRGF0ZS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICBpZiAoIVV0aWxTdHJCeXRlTW9kZS5pc0hhbGZXaWR0aChzdHJEYXRlW2ldKSAmJiBVdGlsU3RyQnl0ZU1vZGUuaXNIYWxmV2lkdGgoc3RyUGljdHVyZVtpICsgaW50UGljSWR4T2ZzXSkpIHtcclxuICAgICAgICAgICAgICAgIGludFBpY0lkeE9mcyA9IGludFBpY0lkeE9mcyArIDE7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGkgPSBpICsgMTtcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJlc3VsdCA9IHN0ckRhdGUuc3Vic3RyKGksIGludExldHRlcnMpO1xyXG4gICAgICBicmVhazsgLy8gZXhpdCBsb29wXHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIEdldCB0aGUgbGVuZ3RoIG9mIHRoZSBuYW1lIG9mIGFuIGVyYSBpbiBwaWN0dXJlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN0clBpY3R1cmVcIj5zdHJpbmcgb2YgcGljdHVyZVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaW50U3RhcnRQb3NcIj5zdGFydCBwb3NpdGlvbiB0byBzZWFyY2hcclxuICAvLy8gPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IGxlbmd0aCBvZiB0aGUgbmFtZSAodGhlIG51bWJlciBvZiBieXRlcylcclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIGdldEVyYU5hbWVMZW5JblBpY3R1cmUoc3RyUGljdHVyZTogc3RyaW5nLCBpbnRTdGFydFBvczogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGxldCBpbnRMZXR0ZXJzOiBudW1iZXIgPSAwO1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gaW50U3RhcnRQb3M7IGkgPCBzdHJQaWN0dXJlLmxlbmd0aDsgaSA9IGkgKyAxKSB7XHJcbiAgICAgIGlmIChzdHJQaWN0dXJlLmNoYXJDb2RlQXQoaSkgPT09IFBJQ0ludGVyZmFjZS5QSUNfSlkxKSB7XHJcbiAgICAgICAgaW50TGV0dGVycyA9IDE7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgaWYgKHN0clBpY3R1cmUuY2hhckNvZGVBdChpKSA9PT0gUElDSW50ZXJmYWNlLlBJQ19KWTIpIHtcclxuICAgICAgICAgIGludExldHRlcnMgPSAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGlmIChzdHJQaWN0dXJlLmNoYXJDb2RlQXQoaSkgPT09IFBJQ0ludGVyZmFjZS5QSUNfSlk0KSB7XHJcbiAgICAgICAgICAgIGludExldHRlcnMgPSA0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoaW50TGV0dGVycyA+IDApIHtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGludExldHRlcnM7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgR2V0IHRoZSBzdGFydCB5ZWFyIG9mIGFuIGVyYSBpbiBwaWN0dXJlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN0ckRhdGU6XCI+c3RyaW5nIG9mIGlucHV0IHN0ckRhdGVcclxuICAvLy8gPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN0clBpY3R1cmU6XCI+c3RyaW5nIG9mIHBpY3R1cmVcclxuICAvLy8gPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHN0YXJ0IHllYXIgb2YgdGhlIGVyYVxyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgZ2V0U3RhcnRZZWFyT2ZFcmEoc3RyRGF0ZTogc3RyaW5nLCBzdHJQaWN0dXJlOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgbGV0IGVyYU5hbWVTdHJJbkRhdGU6IHN0cmluZyA9IFV0aWxEYXRlSnBuLmdldEVyYU5hbWVTdHJJbkRhdGUoc3RyRGF0ZSwgc3RyUGljdHVyZSwgMCk7XHJcbiAgICBsZXQgcmVzdWx0OiBudW1iZXI7XHJcbiAgICBpZiAoZXJhTmFtZVN0ckluRGF0ZSA9PT0gbnVsbCkge1xyXG4gICAgICByZXN1bHQgPSAwO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGxldCBlcmFOYW1lTGVuSW5QaWN0dXJlOiBudW1iZXIgPSBVdGlsRGF0ZUpwbi5nZXRFcmFOYW1lTGVuSW5QaWN0dXJlKHN0clBpY3R1cmUsIDApO1xyXG4gICAgICBpZiAoZXJhTmFtZUxlbkluUGljdHVyZSA9PT0gMCkge1xyXG4gICAgICAgIHJlc3VsdCA9IDA7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgbGV0IGludFN0YXJ0WWVhck9mRXJhOiBudW1iZXIgPSB0aGlzLmRhdGVfanBuX3lyXzRfYShlcmFOYW1lU3RySW5EYXRlLCBlcmFOYW1lTGVuSW5QaWN0dXJlKTtcclxuICAgICAgICByZXN1bHQgPSBpbnRTdGFydFllYXJPZkVyYTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gQWRkIGV4dHJhIEdlbmdvIGRhdGEgaW50byB0aGUgR2VuZ28gdGFibGVzPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInN0ckV4dHJhR2VuZ286XCI+XHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPlxyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgYWRkRXh0cmFHZW5nbyhzdHJFeHRyYUdlbmdvOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIC8vIGUuZy4gc3RyRXh0cmFHZW5nbyA9IFwiMjAxMi8wNC8wMSwwOTIsQWFBQkNEOzIwMTMvMDQvMDEsMDkxLFd3V1hZWjtcIlxyXG4gICAgbGV0IHN0ckdlbmdvSW5mbzogc3RyaW5nW10gPSBzdHJFeHRyYUdlbmdvLnNwbGl0KCc7Jyk7XHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgc3RyR2VuZ29JbmZvLmxlbmd0aDsgaSA9IGkgKyAxKSB7XHJcbiAgICAgIGlmIChzdHJHZW5nb0luZm9baV0ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGxldCBzdHJUb2s6IHN0cmluZ1tdID0gc3RyR2VuZ29JbmZvW2ldLnNwbGl0KCcsJyk7XHJcbiAgICAgICAgaWYgKHN0clRvay5sZW5ndGggPT09IDMgJiYgc3RyVG9rWzBdLmxlbmd0aCA+IDAgJiYgc3RyVG9rWzFdLmxlbmd0aCA+IDAgJiYgc3RyVG9rWzJdLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGxldCBzdHJEYXRlOiBzdHJpbmdbXSA9IHN0clRva1swXS5zcGxpdCgnLycpO1xyXG4gICAgICAgICAgaWYgKHN0ckRhdGUubGVuZ3RoID09PSAzICYmIHN0ckRhdGVbMF0ubGVuZ3RoID4gMCAmJiBzdHJEYXRlWzFdLmxlbmd0aCA+IDAgJiYgc3RyRGF0ZVsyXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIFV0aWxEYXRlSnBuLkdlbmdvU3RyW01BWF9HRU5HTyArIGldWzBdID0gc3RyVG9rWzJdLnN1YnN0cigwLCAxKTsgLy8gc3ltYm9sIG5hbWUgKHVwcGVyIGNhc2UpOiBBXHJcbiAgICAgICAgICAgIFV0aWxEYXRlSnBuLkdlbmdvU3RyW01BWF9HRU5HTyArIGldWzFdID0gc3RyVG9rWzJdLnN1YnN0cigxLCAxKTsgLy8gc3ltYm9sIG5hbWUgKGxvd2VyIGNhc2UpOiBhXHJcbiAgICAgICAgICAgIFV0aWxEYXRlSnBuLkdlbmdvU3RyW01BWF9HRU5HTyArIGldWzJdID0gc3RyVG9rWzJdLnN1YnN0cigyKTsgICAgLy8gZ2VuZ28gbmFtZTogQUJDRFxyXG5cclxuICAgICAgICAgICAgVXRpbERhdGVKcG4uU3RhcnREYXlPZkdlbmdvW01BWF9HRU5HTyArIGldWzBdID0gTk51bWJlci5QYXJzZShzdHJEYXRlWzBdKTsgICAgLy8gc3RhcnQgeWVhcjogMjAxMlxyXG4gICAgICAgICAgICBVdGlsRGF0ZUpwbi5TdGFydERheU9mR2VuZ29bTUFYX0dFTkdPICsgaV1bMV0gPSBOTnVtYmVyLlBhcnNlKHN0ckRhdGVbMV0pOyAgICAvLyBzdGFydCBtb250aDogNFxyXG4gICAgICAgICAgICBVdGlsRGF0ZUpwbi5TdGFydERheU9mR2VuZ29bTUFYX0dFTkdPICsgaV1bMl0gPSBOTnVtYmVyLlBhcnNlKHN0ckRhdGVbMl0pOyAgICAvLyBzdGFydCBkYXk6IDFcclxuICAgICAgICAgICAgVXRpbERhdGVKcG4uU3RhcnREYXlPZkdlbmdvW01BWF9HRU5HTyArIGldWzNdID0gTk51bWJlci5QYXJzZShzdHJUb2tbMV0pOyAgICAgLy8gZGF5cyBzaW5jZSBKYW51YXJ5IDE6IDkyXHJcbiAgICAgICAgICAgIHRoaXMuTWF4R2VuZ28rKztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,67 +1,39 @@
|
|
|
1
|
-
/// <summary>JPN: IME support
|
|
2
|
-
/// Utility Class for Input Method Editor
|
|
3
|
-
/// </summary>
|
|
4
|
-
/// <author> Toshiro Nakayoshi (MSJ)
|
|
5
|
-
/// </author>
|
|
6
1
|
export class UtilImeJpn {
|
|
7
2
|
constructor() {
|
|
8
3
|
this.ImeAutoOff = false;
|
|
9
4
|
this.StrImeRead = null;
|
|
10
5
|
}
|
|
11
|
-
/// <summary> check if the IME mode is within valid range
|
|
12
|
-
/// </summary>
|
|
13
|
-
/// <param name="imeMode">(IME mode in Magic)
|
|
14
|
-
/// </param>
|
|
15
|
-
/// <returns> bool
|
|
16
|
-
/// </returns>
|
|
17
6
|
isValid(imeMode) {
|
|
18
7
|
return (0 <= imeMode && imeMode <= 9) || imeMode === 15 || imeMode === 10;
|
|
19
8
|
}
|
|
20
|
-
/// <summary> convert the input method editor mode
|
|
21
|
-
/// </summary>
|
|
22
|
-
/// <param name="imeMode">(IME mode in Magic)
|
|
23
|
-
/// </param>
|
|
24
|
-
/// <returns> imeConvMode (IME conversion mode in imm32.lib)
|
|
25
|
-
/// </returns>
|
|
26
9
|
static imeMode2imeConvMode(imeMode) {
|
|
27
10
|
let result;
|
|
28
11
|
switch (imeMode) {
|
|
29
|
-
// IME_ZEN_HIRAGANA_ROMAN
|
|
30
12
|
case 1:
|
|
31
13
|
result = 25;
|
|
32
14
|
break;
|
|
33
|
-
// IME_ZEN_HIRAGANA
|
|
34
15
|
case 2:
|
|
35
16
|
result = 9;
|
|
36
17
|
break;
|
|
37
|
-
// IME_ZEN_KATAKANA_ROMAN
|
|
38
18
|
case 3:
|
|
39
19
|
result = 27;
|
|
40
20
|
break;
|
|
41
|
-
// IME_ZEN_KATAKANA
|
|
42
21
|
case 4:
|
|
43
22
|
result = 11;
|
|
44
23
|
break;
|
|
45
|
-
// IME_HAN_KATAKANA_ROMAN
|
|
46
24
|
case 5:
|
|
47
25
|
result = 19;
|
|
48
26
|
break;
|
|
49
|
-
// IME_HAN_KATAKANA
|
|
50
27
|
case 6:
|
|
51
28
|
result = 3;
|
|
52
29
|
break;
|
|
53
|
-
// IME_ZEN_ALPHANUMERIC
|
|
54
30
|
case 7:
|
|
55
31
|
result = 8;
|
|
56
32
|
break;
|
|
57
|
-
// IME_HAN_ALPHANUMERIC
|
|
58
33
|
case 8:
|
|
59
34
|
case 9:
|
|
60
35
|
result = 0;
|
|
61
36
|
break;
|
|
62
|
-
// case 0:
|
|
63
|
-
// case IME_DISABLE:
|
|
64
|
-
// case IME_FORCE_OFF:
|
|
65
37
|
default:
|
|
66
38
|
result = 256;
|
|
67
39
|
break;
|
|
@@ -77,7 +49,6 @@ UtilImeJpn.IME_CMODE_ROMAN = 16;
|
|
|
77
49
|
UtilImeJpn.IME_CMODE_NOCONVERSION = 256;
|
|
78
50
|
UtilImeJpn.IME_NOT_INITIALIZED = -1;
|
|
79
51
|
UtilImeJpn.IME_ZEN_HIRAGANA_ROMAN = 1;
|
|
80
|
-
UtilImeJpn.IME_FORCE_OFF = 15;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbEltZUpwbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3V0aWxzL3NyYy9VdGlsSW1lSnBuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QjtBQUM3Qix5Q0FBeUM7QUFDekMsY0FBYztBQUNkLHFDQUFxQztBQUNyQyxhQUFhO0FBR2IsTUFBTSxPQUFPLFVBQVU7SUFxRnJCO1FBekVBLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsZUFBVSxHQUFXLElBQUksQ0FBQztJQTBFMUIsQ0FBQztJQXhFRCx5REFBeUQ7SUFDekQsY0FBYztJQUNkLDZDQUE2QztJQUM3QyxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxPQUFPLENBQUMsT0FBZTtRQUNyQixPQUFPLENBQUMsQ0FBQyxJQUFJLE9BQU8sSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksT0FBTyxLQUFLLEVBQUUsSUFBSSxPQUFPLEtBQUssRUFBRSxDQUFDO0lBQzVFLENBQUM7SUFFRCxrREFBa0Q7SUFDbEQsY0FBYztJQUNkLDZDQUE2QztJQUM3QyxZQUFZO0lBQ1osNERBQTREO0lBQzVELGNBQWM7SUFDTixNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBZTtRQUNoRCxJQUFJLE1BQWMsQ0FBQztRQUNuQixRQUFRLE9BQU8sRUFBRTtZQUNmLHlCQUF5QjtZQUN6QixLQUFLLENBQUM7Z0JBQ0osTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDWixNQUFNO1lBRVIsbUJBQW1CO1lBQ25CLEtBQUssQ0FBQztnQkFDSixNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUNYLE1BQU07WUFFUix5QkFBeUI7WUFDekIsS0FBSyxDQUFDO2dCQUNKLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ1osTUFBTTtZQUVSLG1CQUFtQjtZQUNuQixLQUFLLENBQUM7Z0JBQ0osTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDWixNQUFNO1lBRVIseUJBQXlCO1lBQ3pCLEtBQUssQ0FBQztnQkFDSixNQUFNLEdBQUcsRUFBRSxDQUFDO2dCQUNaLE1BQU07WUFFUixtQkFBbUI7WUFDbkIsS0FBSyxDQUFDO2dCQUNKLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ1gsTUFBTTtZQUVSLHVCQUF1QjtZQUN2QixLQUFLLENBQUM7Z0JBQ0osTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDWCxNQUFNO1lBRVIsdUJBQXVCO1lBQ3ZCLEtBQUssQ0FBQyxDQUFDO1lBQ1AsS0FBSyxDQUFDO2dCQUNKLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ1gsTUFBTTtZQUVSLFVBQVU7WUFDVixvQkFBb0I7WUFDcEIsc0JBQXNCO1lBQ3RCO2dCQUNFLE1BQU0sR0FBRyxHQUFHLENBQUM7Z0JBQ2IsTUFBTTtTQUNUO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7QUFsRmMsaUNBQXNCLEdBQVcsQ0FBQyxDQUFDO0FBQ25DLDJCQUFnQixHQUFXLENBQUMsQ0FBQztBQUM3Qiw2QkFBa0IsR0FBVyxDQUFDLENBQUM7QUFDL0IsOEJBQW1CLEdBQVcsQ0FBQyxDQUFDO0FBQ2hDLDBCQUFlLEdBQVcsRUFBRSxDQUFDO0FBQzdCLGlDQUFzQixHQUFXLEdBQUcsQ0FBQztBQUNyQyw4QkFBbUIsR0FBVyxDQUFDLENBQUMsQ0FBQztBQUN6QyxpQ0FBc0IsR0FBVyxDQUFDLENBQUM7QUFDbkMsd0JBQWEsR0FBVyxFQUFFLENBQUMsQ0FBQyw4REFBOEQ7QUFDakcsa0VBQWtFO0FBQzNELHNCQUFXLEdBQVcsRUFBRSxDQUFDLENBQUcsbUVBQW1FIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxzdW1tYXJ5PkpQTjogSU1FIHN1cHBvcnRcclxuLy8vIFV0aWxpdHkgQ2xhc3MgZm9yIElucHV0IE1ldGhvZCBFZGl0b3JcclxuLy8vIDwvc3VtbWFyeT5cclxuLy8vIDxhdXRob3I+ICBUb3NoaXJvIE5ha2F5b3NoaSAoTVNKKVxyXG4vLy8gPC9hdXRob3I+XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFV0aWxJbWVKcG4ge1xyXG4gIHByaXZhdGUgc3RhdGljIElNRV9DTU9ERV9BTFBIQU5VTUVSSUM6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgSU1FX0NNT0RFX05BVElWRTogbnVtYmVyID0gMTtcclxuICBwcml2YXRlIHN0YXRpYyBJTUVfQ01PREVfS0FUQUtBTkE6IG51bWJlciA9IDI7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgSU1FX0NNT0RFX0ZVTExTSEFQRTogbnVtYmVyID0gODtcclxuICBwcml2YXRlIHN0YXRpYyBJTUVfQ01PREVfUk9NQU46IG51bWJlciA9IDE2O1xyXG4gIHByaXZhdGUgc3RhdGljIElNRV9DTU9ERV9OT0NPTlZFUlNJT046IG51bWJlciA9IDI1NjtcclxuICBwcml2YXRlIHN0YXRpYyBJTUVfTk9UX0lOSVRJQUxJWkVEOiBudW1iZXIgPSAtMTtcclxuICBzdGF0aWMgSU1FX1pFTl9ISVJBR0FOQV9ST01BTjogbnVtYmVyID0gMTtcclxuICBzdGF0aWMgSU1FX0ZPUkNFX09GRjogbnVtYmVyID0gMTU7IC8vIGlmIChJbWVNb2RlIHByb3BlcnR5ID09IDAgYW5kIChwaWN0dXJlIGhhcyBLMCBvciBQSUNfUykpIG9yXHJcbiAgLy8gKGF0dHJpYnV0ZSBpcyBub3QgYWxwaGEsIHVuaWNvZGUsIG5vciBibG9iKSwgc2V0IElNRV9GT1JDRV9PRkYuXHJcbiAgc3RhdGljIElNRV9ESVNBQkxFOiBudW1iZXIgPSAxMDsgICAvLyB0byBjb21wbGV0ZWx5IGRpc2FibGUgSU1FIChldmVuIG5vdCBhbGxvd2luZyB0byBjaGFuZ2UgdGhlIG1vZGUpXHJcbiAgSW1lQXV0b09mZjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFN0ckltZVJlYWQ6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gY2hlY2sgaWYgdGhlIElNRSBtb2RlIGlzIHdpdGhpbiB2YWxpZCByYW5nZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaW1lTW9kZVwiPihJTUUgbW9kZSBpbiBNYWdpYylcclxuICAvLy8gPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IGJvb2xcclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIGlzVmFsaWQoaW1lTW9kZTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKDAgPD0gaW1lTW9kZSAmJiBpbWVNb2RlIDw9IDkpIHx8IGltZU1vZGUgPT09IDE1IHx8IGltZU1vZGUgPT09IDEwO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBjb252ZXJ0IHRoZSBpbnB1dCBtZXRob2QgZWRpdG9yIG1vZGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImltZU1vZGVcIj4oSU1FIG1vZGUgaW4gTWFnaWMpXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiBpbWVDb252TW9kZSAoSU1FIGNvbnZlcnNpb24gbW9kZSBpbiBpbW0zMi5saWIpXHJcbiAgLy8vIDwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBpbWVNb2RlMmltZUNvbnZNb2RlKGltZU1vZGU6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBsZXQgcmVzdWx0OiBudW1iZXI7XHJcbiAgICBzd2l0Y2ggKGltZU1vZGUpIHtcclxuICAgICAgLy8gSU1FX1pFTl9ISVJBR0FOQV9ST01BTlxyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgcmVzdWx0ID0gMjU7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAvLyBJTUVfWkVOX0hJUkFHQU5BXHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICByZXN1bHQgPSA5O1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgLy8gSU1FX1pFTl9LQVRBS0FOQV9ST01BTlxyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgcmVzdWx0ID0gMjc7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAvLyBJTUVfWkVOX0tBVEFLQU5BXHJcbiAgICAgIGNhc2UgNDpcclxuICAgICAgICByZXN1bHQgPSAxMTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIC8vIElNRV9IQU5fS0FUQUtBTkFfUk9NQU5cclxuICAgICAgY2FzZSA1OlxyXG4gICAgICAgIHJlc3VsdCA9IDE5O1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgLy8gSU1FX0hBTl9LQVRBS0FOQVxyXG4gICAgICBjYXNlIDY6XHJcbiAgICAgICAgcmVzdWx0ID0gMztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIC8vIElNRV9aRU5fQUxQSEFOVU1FUklDXHJcbiAgICAgIGNhc2UgNzpcclxuICAgICAgICByZXN1bHQgPSA4O1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgLy8gSU1FX0hBTl9BTFBIQU5VTUVSSUNcclxuICAgICAgY2FzZSA4OlxyXG4gICAgICBjYXNlIDk6XHJcbiAgICAgICAgcmVzdWx0ID0gMDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIC8vIGNhc2UgMDpcclxuICAgICAgLy8gY2FzZSBJTUVfRElTQUJMRTpcclxuICAgICAgLy8gY2FzZSBJTUVfRk9SQ0VfT0ZGOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJlc3VsdCA9IDI1NjtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
52
|
+
UtilImeJpn.IME_FORCE_OFF = 15;
|
|
53
|
+
UtilImeJpn.IME_DISABLE = 10;
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbEltZUpwbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3V0aWxzL3NyYy9VdGlsSW1lSnBuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBTyxVQUFVO0lBcUZyQjtRQXpFQSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGVBQVUsR0FBVyxJQUFJLENBQUM7SUEwRTFCLENBQUM7SUFsRUQsT0FBTyxDQUFDLE9BQWU7UUFDckIsT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQyxJQUFJLE9BQU8sS0FBSyxFQUFFLElBQUksT0FBTyxLQUFLLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBUU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLE9BQWU7UUFDaEQsSUFBSSxNQUFjLENBQUM7UUFDbkIsUUFBUSxPQUFPLEVBQUU7WUFFZixLQUFLLENBQUM7Z0JBQ0osTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDWixNQUFNO1lBR1IsS0FBSyxDQUFDO2dCQUNKLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ1gsTUFBTTtZQUdSLEtBQUssQ0FBQztnQkFDSixNQUFNLEdBQUcsRUFBRSxDQUFDO2dCQUNaLE1BQU07WUFHUixLQUFLLENBQUM7Z0JBQ0osTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDWixNQUFNO1lBR1IsS0FBSyxDQUFDO2dCQUNKLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ1osTUFBTTtZQUdSLEtBQUssQ0FBQztnQkFDSixNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUNYLE1BQU07WUFHUixLQUFLLENBQUM7Z0JBQ0osTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDWCxNQUFNO1lBR1IsS0FBSyxDQUFDLENBQUM7WUFDUCxLQUFLLENBQUM7Z0JBQ0osTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDWCxNQUFNO1lBS1I7Z0JBQ0UsTUFBTSxHQUFHLEdBQUcsQ0FBQztnQkFDYixNQUFNO1NBQ1Q7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztBQWxGYyxpQ0FBc0IsR0FBVyxDQUFDLENBQUM7QUFDbkMsMkJBQWdCLEdBQVcsQ0FBQyxDQUFDO0FBQzdCLDZCQUFrQixHQUFXLENBQUMsQ0FBQztBQUMvQiw4QkFBbUIsR0FBVyxDQUFDLENBQUM7QUFDaEMsMEJBQWUsR0FBVyxFQUFFLENBQUM7QUFDN0IsaUNBQXNCLEdBQVcsR0FBRyxDQUFDO0FBQ3JDLDhCQUFtQixHQUFXLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLGlDQUFzQixHQUFXLENBQUMsQ0FBQztBQUNuQyx3QkFBYSxHQUFXLEVBQUUsQ0FBQztBQUUzQixzQkFBVyxHQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8c3VtbWFyeT5KUE46IElNRSBzdXBwb3J0XHJcbi8vLyBVdGlsaXR5IENsYXNzIGZvciBJbnB1dCBNZXRob2QgRWRpdG9yXHJcbi8vLyA8L3N1bW1hcnk+XHJcbi8vLyA8YXV0aG9yPiAgVG9zaGlybyBOYWtheW9zaGkgKE1TSilcclxuLy8vIDwvYXV0aG9yPlxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBVdGlsSW1lSnBuIHtcclxuICBwcml2YXRlIHN0YXRpYyBJTUVfQ01PREVfQUxQSEFOVU1FUklDOiBudW1iZXIgPSAwO1xyXG4gIHByaXZhdGUgc3RhdGljIElNRV9DTU9ERV9OQVRJVkU6IG51bWJlciA9IDE7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgSU1FX0NNT0RFX0tBVEFLQU5BOiBudW1iZXIgPSAyO1xyXG4gIHByaXZhdGUgc3RhdGljIElNRV9DTU9ERV9GVUxMU0hBUEU6IG51bWJlciA9IDg7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgSU1FX0NNT0RFX1JPTUFOOiBudW1iZXIgPSAxNjtcclxuICBwcml2YXRlIHN0YXRpYyBJTUVfQ01PREVfTk9DT05WRVJTSU9OOiBudW1iZXIgPSAyNTY7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgSU1FX05PVF9JTklUSUFMSVpFRDogbnVtYmVyID0gLTE7XHJcbiAgc3RhdGljIElNRV9aRU5fSElSQUdBTkFfUk9NQU46IG51bWJlciA9IDE7XHJcbiAgc3RhdGljIElNRV9GT1JDRV9PRkY6IG51bWJlciA9IDE1OyAvLyBpZiAoSW1lTW9kZSBwcm9wZXJ0eSA9PSAwIGFuZCAocGljdHVyZSBoYXMgSzAgb3IgUElDX1MpKSBvclxyXG4gIC8vIChhdHRyaWJ1dGUgaXMgbm90IGFscGhhLCB1bmljb2RlLCBub3IgYmxvYiksIHNldCBJTUVfRk9SQ0VfT0ZGLlxyXG4gIHN0YXRpYyBJTUVfRElTQUJMRTogbnVtYmVyID0gMTA7ICAgLy8gdG8gY29tcGxldGVseSBkaXNhYmxlIElNRSAoZXZlbiBub3QgYWxsb3dpbmcgdG8gY2hhbmdlIHRoZSBtb2RlKVxyXG4gIEltZUF1dG9PZmY6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBTdHJJbWVSZWFkOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IGNoZWNrIGlmIHRoZSBJTUUgbW9kZSBpcyB3aXRoaW4gdmFsaWQgcmFuZ2VcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImltZU1vZGVcIj4oSU1FIG1vZGUgaW4gTWFnaWMpXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiBib29sXHJcbiAgLy8vIDwvcmV0dXJucz5cclxuICBpc1ZhbGlkKGltZU1vZGU6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICgwIDw9IGltZU1vZGUgJiYgaW1lTW9kZSA8PSA5KSB8fCBpbWVNb2RlID09PSAxNSB8fCBpbWVNb2RlID09PSAxMDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gY29udmVydCB0aGUgaW5wdXQgbWV0aG9kIGVkaXRvciBtb2RlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpbWVNb2RlXCI+KElNRSBtb2RlIGluIE1hZ2ljKVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gaW1lQ29udk1vZGUgKElNRSBjb252ZXJzaW9uIG1vZGUgaW4gaW1tMzIubGliKVxyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgaW1lTW9kZTJpbWVDb252TW9kZShpbWVNb2RlOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgbGV0IHJlc3VsdDogbnVtYmVyO1xyXG4gICAgc3dpdGNoIChpbWVNb2RlKSB7XHJcbiAgICAgIC8vIElNRV9aRU5fSElSQUdBTkFfUk9NQU5cclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHJlc3VsdCA9IDI1O1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgLy8gSU1FX1pFTl9ISVJBR0FOQVxyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgcmVzdWx0ID0gOTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIC8vIElNRV9aRU5fS0FUQUtBTkFfUk9NQU5cclxuICAgICAgY2FzZSAzOlxyXG4gICAgICAgIHJlc3VsdCA9IDI3O1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgLy8gSU1FX1pFTl9LQVRBS0FOQVxyXG4gICAgICBjYXNlIDQ6XHJcbiAgICAgICAgcmVzdWx0ID0gMTE7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAvLyBJTUVfSEFOX0tBVEFLQU5BX1JPTUFOXHJcbiAgICAgIGNhc2UgNTpcclxuICAgICAgICByZXN1bHQgPSAxOTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIC8vIElNRV9IQU5fS0FUQUtBTkFcclxuICAgICAgY2FzZSA2OlxyXG4gICAgICAgIHJlc3VsdCA9IDM7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAvLyBJTUVfWkVOX0FMUEhBTlVNRVJJQ1xyXG4gICAgICBjYXNlIDc6XHJcbiAgICAgICAgcmVzdWx0ID0gODtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIC8vIElNRV9IQU5fQUxQSEFOVU1FUklDXHJcbiAgICAgIGNhc2UgODpcclxuICAgICAgY2FzZSA5OlxyXG4gICAgICAgIHJlc3VsdCA9IDA7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAvLyBjYXNlIDA6XHJcbiAgICAgIC8vIGNhc2UgSU1FX0RJU0FCTEU6XHJcbiAgICAgIC8vIGNhc2UgSU1FX0ZPUkNFX09GRjpcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXN1bHQgPSAyNTY7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gIH1cclxufVxyXG4iXX0=
|