stdnum 1.9.6 → 1.9.7
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/lib/cjs/be/nn.js +7 -7
- package/lib/cjs/be/personIdentifierHelpers.d.ts +1 -1
- package/lib/cjs/be/personIdentifierHelpers.js +9 -4
- package/lib/esm/be/nn.js +7 -7
- package/lib/esm/be/personIdentifierHelpers.d.ts +1 -1
- package/lib/esm/be/personIdentifierHelpers.js +9 -4
- package/package.json +1 -1
package/lib/cjs/be/nn.js
CHANGED
|
@@ -46,26 +46,26 @@ const impl = {
|
|
|
46
46
|
return value;
|
|
47
47
|
},
|
|
48
48
|
validate(input) {
|
|
49
|
-
const
|
|
50
|
-
if (!util_1.strings.isdigits(
|
|
49
|
+
const value = impl.compact(input);
|
|
50
|
+
if (!util_1.strings.isdigits(value) || parseInt(value, 10) <= 0) {
|
|
51
51
|
return { isValid: false, error: new exceptions.InvalidFormat() };
|
|
52
52
|
}
|
|
53
|
-
if (
|
|
53
|
+
if (value.length !== 11) {
|
|
54
54
|
return { isValid: false, error: new exceptions.InvalidLength() };
|
|
55
55
|
}
|
|
56
|
-
if (!(0, personIdentifierHelpers_1.validStructure)(
|
|
56
|
+
if (!(0, personIdentifierHelpers_1.validStructure)(value)) {
|
|
57
57
|
return { isValid: false, error: new exceptions.InvalidFormat() };
|
|
58
58
|
}
|
|
59
|
-
if (!(0, personIdentifierHelpers_1.validChecksum)(
|
|
59
|
+
if (!(0, personIdentifierHelpers_1.validChecksum)(value)) {
|
|
60
60
|
return { isValid: false, error: new exceptions.InvalidChecksum() };
|
|
61
61
|
}
|
|
62
62
|
return {
|
|
63
63
|
isValid: true,
|
|
64
|
-
compact:
|
|
64
|
+
compact: value,
|
|
65
65
|
isIndividual: true,
|
|
66
66
|
isCompany: false,
|
|
67
67
|
};
|
|
68
68
|
},
|
|
69
69
|
};
|
|
70
70
|
exports.name = impl.name, exports.localName = impl.localName, exports.abbreviation = impl.abbreviation, exports.validate = impl.validate, exports.format = impl.format, exports.compact = impl.compact;
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmUvbm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQkEsMERBQTRDO0FBQzVDLGtDQUFrQztBQUNsQyx1RUFBMEU7QUFHMUUsU0FBUyxLQUFLLENBQUMsS0FBYTtJQUMxQixPQUFPLGNBQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLElBQUksR0FBYztJQUN0QixJQUFJLEVBQUUseUJBQXlCO0lBQy9CLFNBQVMsRUFBRSxpQkFBaUI7SUFDNUIsWUFBWSxFQUFFLFFBQVE7SUFDdEIsT0FBTyxDQUFDLEtBQWE7UUFDbkIsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEMsSUFBSSxHQUFHLEVBQUU7WUFDUCxNQUFNLEdBQUcsQ0FBQztTQUNYO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQWE7UUFDbEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxRQUFRLENBQUMsS0FBYTtRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxDLElBQUksQ0FBQyxjQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLFVBQVUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1NBQ2xFO1FBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtZQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztTQUNsRTtRQUVELElBQUksQ0FBQyxJQUFBLHdDQUFjLEVBQUMsS0FBSyxDQUFDLEVBQUU7WUFDMUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7U0FDbEU7UUFFRCxJQUFJLENBQUMsSUFBQSx1Q0FBYSxFQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLFVBQVUsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO1NBQ3BFO1FBRUQsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLEtBQUs7WUFDZCxZQUFZLEVBQUUsSUFBSTtZQUNsQixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUM7QUFFYSxZQUFJLEdBQ2pCLElBQUksT0FEZSxpQkFBUyxHQUM1QixJQUFJLFlBRDBCLG9CQUFZLEdBQzFDLElBQUksZUFEd0MsZ0JBQVEsR0FDcEQsSUFBSSxXQURrRCxjQUFNLEdBQzVELElBQUksU0FEMEQsZUFBTyxHQUNyRSxJQUFJLFNBQUMifQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare function toDateArray(number: string):
|
|
1
|
+
export declare function toDateArray(number: string): string[];
|
|
2
2
|
declare function defaultToDob(origFirstSix: string): string;
|
|
3
3
|
export declare function validStructure(number: string, toDob?: typeof defaultToDob): boolean;
|
|
4
4
|
export declare function validChecksum(number: string, toDob?: typeof defaultToDob): boolean;
|
|
@@ -7,10 +7,11 @@ function getApproximatelyNow() {
|
|
|
7
7
|
return new Date(Date.now() + ONE_DAY);
|
|
8
8
|
}
|
|
9
9
|
function isInPast(date) {
|
|
10
|
-
return new Date(
|
|
10
|
+
return new Date(String(date)) <= getApproximatelyNow();
|
|
11
11
|
}
|
|
12
12
|
function getFullYears(yy) {
|
|
13
|
-
|
|
13
|
+
const yval = typeof yy === 'string' ? parseInt(yy, 10) : yy;
|
|
14
|
+
return [1900 + yval, 2000 + yval];
|
|
14
15
|
}
|
|
15
16
|
function getFirstSix(number) {
|
|
16
17
|
return util_1.strings.splitAt(number, 6)[0];
|
|
@@ -23,7 +24,8 @@ function getChecksum(number) {
|
|
|
23
24
|
return parseInt(checksumString, 10);
|
|
24
25
|
}
|
|
25
26
|
function toDateArray(number) {
|
|
26
|
-
|
|
27
|
+
const [yy, mm, dd] = util_1.strings.splitAt(number, 2, 4, 6);
|
|
28
|
+
return [yy, mm, dd];
|
|
27
29
|
}
|
|
28
30
|
exports.toDateArray = toDateArray;
|
|
29
31
|
function getValidPastDates(yymmdd) {
|
|
@@ -34,6 +36,9 @@ function getValidPastDates(yymmdd) {
|
|
|
34
36
|
.filter(isInPast);
|
|
35
37
|
}
|
|
36
38
|
function isUnknownDob(dob) {
|
|
39
|
+
if (['000001', '002001', '004001'].includes(dob)) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
37
42
|
const [yy, mm, dd] = toDateArray(dob);
|
|
38
43
|
return util_1.strings.isdigits(yy) && mm === '00' && util_1.strings.isdigits(dd);
|
|
39
44
|
}
|
|
@@ -87,4 +92,4 @@ function validChecksum(number, toDob = defaultToDob) {
|
|
|
87
92
|
return checksumBases.some(csb => isValidChecksumPair(csb, checksum));
|
|
88
93
|
}
|
|
89
94
|
exports.validChecksum = validChecksum;
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uSWRlbnRpZmllckhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmUvcGVyc29uSWRlbnRpZmllckhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0NBQThEO0FBRTlELFNBQVMsbUJBQW1CO0lBQzFCLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNwQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsSUFBcUI7SUFDckMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0FBQ3pELENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxFQUFtQjtJQUN2QyxNQUFNLElBQUksR0FBRyxPQUFPLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUU1RCxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksRUFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLE1BQWM7SUFDakMsT0FBTyxjQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsTUFBYztJQUNuQyxPQUFPLGNBQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxNQUFjO0lBQ2pDLE1BQU0sY0FBYyxHQUFHLGNBQU8s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
|
package/lib/esm/be/nn.js
CHANGED
|
@@ -20,26 +20,26 @@ const impl = {
|
|
|
20
20
|
return value;
|
|
21
21
|
},
|
|
22
22
|
validate(input) {
|
|
23
|
-
const
|
|
24
|
-
if (!strings.isdigits(
|
|
23
|
+
const value = impl.compact(input);
|
|
24
|
+
if (!strings.isdigits(value) || parseInt(value, 10) <= 0) {
|
|
25
25
|
return { isValid: false, error: new exceptions.InvalidFormat() };
|
|
26
26
|
}
|
|
27
|
-
if (
|
|
27
|
+
if (value.length !== 11) {
|
|
28
28
|
return { isValid: false, error: new exceptions.InvalidLength() };
|
|
29
29
|
}
|
|
30
|
-
if (!validStructure(
|
|
30
|
+
if (!validStructure(value)) {
|
|
31
31
|
return { isValid: false, error: new exceptions.InvalidFormat() };
|
|
32
32
|
}
|
|
33
|
-
if (!validChecksum(
|
|
33
|
+
if (!validChecksum(value)) {
|
|
34
34
|
return { isValid: false, error: new exceptions.InvalidChecksum() };
|
|
35
35
|
}
|
|
36
36
|
return {
|
|
37
37
|
isValid: true,
|
|
38
|
-
compact:
|
|
38
|
+
compact: value,
|
|
39
39
|
isIndividual: true,
|
|
40
40
|
isCompany: false,
|
|
41
41
|
};
|
|
42
42
|
},
|
|
43
43
|
};
|
|
44
44
|
export const { name, localName, abbreviation, validate, format, compact } = impl;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmUvbm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUJBLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUcxRSxTQUFTLEtBQUssQ0FBQyxLQUFhO0lBQzFCLE9BQU8sT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELE1BQU0sSUFBSSxHQUFjO0lBQ3RCLElBQUksRUFBRSx5QkFBeUI7SUFDL0IsU0FBUyxFQUFFLGlCQUFpQjtJQUM1QixZQUFZLEVBQUUsUUFBUTtJQUN0QixPQUFPLENBQUMsS0FBYTtRQUNuQixNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsQyxJQUFJLEdBQUcsRUFBRTtZQUNQLE1BQU0sR0FBRyxDQUFDO1NBQ1g7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBYTtRQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7U0FDbEU7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1lBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLFVBQVUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1NBQ2xFO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztTQUNsRTtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7U0FDcEU7UUFFRCxPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsS0FBSztZQUNkLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FDdkUsSUFBSSxDQUFDIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare function toDateArray(number: string):
|
|
1
|
+
export declare function toDateArray(number: string): string[];
|
|
2
2
|
declare function defaultToDob(origFirstSix: string): string;
|
|
3
3
|
export declare function validStructure(number: string, toDob?: typeof defaultToDob): boolean;
|
|
4
4
|
export declare function validChecksum(number: string, toDob?: typeof defaultToDob): boolean;
|
|
@@ -4,10 +4,11 @@ function getApproximatelyNow() {
|
|
|
4
4
|
return new Date(Date.now() + ONE_DAY);
|
|
5
5
|
}
|
|
6
6
|
function isInPast(date) {
|
|
7
|
-
return new Date(
|
|
7
|
+
return new Date(String(date)) <= getApproximatelyNow();
|
|
8
8
|
}
|
|
9
9
|
function getFullYears(yy) {
|
|
10
|
-
|
|
10
|
+
const yval = typeof yy === 'string' ? parseInt(yy, 10) : yy;
|
|
11
|
+
return [1900 + yval, 2000 + yval];
|
|
11
12
|
}
|
|
12
13
|
function getFirstSix(number) {
|
|
13
14
|
return strings.splitAt(number, 6)[0];
|
|
@@ -20,7 +21,8 @@ function getChecksum(number) {
|
|
|
20
21
|
return parseInt(checksumString, 10);
|
|
21
22
|
}
|
|
22
23
|
export function toDateArray(number) {
|
|
23
|
-
|
|
24
|
+
const [yy, mm, dd] = strings.splitAt(number, 2, 4, 6);
|
|
25
|
+
return [yy, mm, dd];
|
|
24
26
|
}
|
|
25
27
|
function getValidPastDates(yymmdd) {
|
|
26
28
|
const [yy, mm, dd] = toDateArray(yymmdd);
|
|
@@ -30,6 +32,9 @@ function getValidPastDates(yymmdd) {
|
|
|
30
32
|
.filter(isInPast);
|
|
31
33
|
}
|
|
32
34
|
function isUnknownDob(dob) {
|
|
35
|
+
if (['000001', '002001', '004001'].includes(dob)) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
33
38
|
const [yy, mm, dd] = toDateArray(dob);
|
|
34
39
|
return strings.isdigits(yy) && mm === '00' && strings.isdigits(dd);
|
|
35
40
|
}
|
|
@@ -81,4 +86,4 @@ export function validChecksum(number, toDob = defaultToDob) {
|
|
|
81
86
|
const checksum = getChecksum(number);
|
|
82
87
|
return checksumBases.some(csb => isValidChecksumPair(csb, checksum));
|
|
83
88
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uSWRlbnRpZmllckhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmUvcGVyc29uSWRlbnRpZmllckhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU5RCxTQUFTLG1CQUFtQjtJQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDcEMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLElBQXFCO0lBQ3JDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksbUJBQW1CLEVBQUUsQ0FBQztBQUN6RCxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsRUFBbUI7SUFDdkMsTUFBTSxJQUFJLEdBQUcsT0FBTyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFNUQsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLEVBQUUsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxNQUFjO0lBQ2pDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLE1BQWM7SUFDbkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsU0FBUyxXQUFX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
|