@mirai/ui 1.0.131 → 1.0.132
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/build/components/InputDate/InputDate.js +23 -97
- package/build/components/InputDate/InputDate.js.map +1 -1
- package/build/components/InputDate/InputDate.stories.js +9 -3
- package/build/components/InputDate/InputDate.stories.js.map +1 -1
- package/build/components/InputDate/__tests__/__snapshots__/InputDate.test.js.snap +65 -1406
- package/build/components/InputDate/helpers/formatValue.js +38 -0
- package/build/components/InputDate/helpers/formatValue.js.map +1 -0
- package/build/components/InputDate/helpers/index.js +17 -0
- package/build/components/InputDate/helpers/index.js.map +1 -0
- package/build/helpers/getInputDateErrors.js +2 -9
- package/build/helpers/getInputDateErrors.js.map +1 -1
- package/build/helpers/getInputPhoneErrors.js +2 -2
- package/build/helpers/getInputPhoneErrors.js.map +1 -1
- package/build/helpers/index.js +0 -11
- package/build/helpers/index.js.map +1 -1
- package/package.json +1 -1
- package/build/components/InputDate/InputDate.module.css +0 -37
- package/build/helpers/splitDate.js +0 -16
- package/build/helpers/splitDate.js.map +0 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.formatValue = void 0;
|
|
7
|
+
var _locale = require("@mirai/locale");
|
|
8
|
+
var DELIMITERS = ['/', '.', '-'];
|
|
9
|
+
var formatValue = function formatValue() {
|
|
10
|
+
var nextValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
11
|
+
var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _locale.DEFAULT_DATE_FORMAT;
|
|
12
|
+
var stateValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
13
|
+
var delimiter = DELIMITERS.find(function (item) {
|
|
14
|
+
return format.includes(item);
|
|
15
|
+
}) || DELIMITERS[0];
|
|
16
|
+
var increase = nextValue.length > stateValue.length;
|
|
17
|
+
var result;
|
|
18
|
+
if (increase) {
|
|
19
|
+
nextValue = nextValue.replace(/[^\d]/g, '');
|
|
20
|
+
if (nextValue === stateValue) return;
|
|
21
|
+
result = '';
|
|
22
|
+
var index = 0;
|
|
23
|
+
Array.from(format).forEach(function (char, charIndex) {
|
|
24
|
+
if (char !== delimiter) {
|
|
25
|
+
var nextChar = nextValue.substr(index, 1);
|
|
26
|
+
if (!nextChar) return;
|
|
27
|
+
result += nextChar;
|
|
28
|
+
if (format.substr(charIndex + 1, 1) === delimiter) result += delimiter;
|
|
29
|
+
index++;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
} else {
|
|
33
|
+
if (stateValue.charAt(stateValue.length - 1) === delimiter) result = nextValue.slice(0, -1);else result = nextValue;
|
|
34
|
+
}
|
|
35
|
+
return result !== undefined ? result.substr(0, format.length) : undefined;
|
|
36
|
+
};
|
|
37
|
+
exports.formatValue = formatValue;
|
|
38
|
+
//# sourceMappingURL=formatValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatValue.js","names":["DELIMITERS","formatValue","nextValue","format","DEFAULT_DATE_FORMAT","stateValue","delimiter","find","item","includes","increase","length","result","replace","index","Array","from","forEach","char","charIndex","nextChar","substr","charAt","slice","undefined"],"sources":["../../../../src/components/InputDate/helpers/formatValue.js"],"sourcesContent":["import { DEFAULT_DATE_FORMAT } from '@mirai/locale';\n\nconst DELIMITERS = ['/', '.', '-'];\n\nexport const formatValue = (nextValue = '', format = DEFAULT_DATE_FORMAT, stateValue = '') => {\n const delimiter = DELIMITERS.find((item) => format.includes(item)) || DELIMITERS[0];\n const increase = nextValue.length > stateValue.length;\n let result;\n\n if (increase) {\n nextValue = nextValue.replace(/[^\\d]/g, '');\n if (nextValue === stateValue) return;\n\n result = '';\n let index = 0;\n Array.from(format).forEach((char, charIndex) => {\n if (char !== delimiter) {\n const nextChar = nextValue.substr(index, 1);\n if (!nextChar) return;\n\n result += nextChar;\n if (format.substr(charIndex + 1, 1) === delimiter) result += delimiter;\n index++;\n }\n });\n } else {\n if (stateValue.charAt(stateValue.length - 1) === delimiter) result = nextValue.slice(0, -1);\n else result = nextValue;\n }\n\n return result !== undefined ? result.substr(0, format.length) : undefined;\n};\n"],"mappings":";;;;;;AAAA;AAEA,IAAMA,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAE3B,IAAMC,WAAW,GAAG,SAAdA,WAAW,GAAsE;EAAA,IAAlEC,SAAS,uEAAG,EAAE;EAAA,IAAEC,MAAM,uEAAGC,2BAAmB;EAAA,IAAEC,UAAU,uEAAG,EAAE;EACvF,IAAMC,SAAS,GAAGN,UAAU,CAACO,IAAI,CAAC,UAACC,IAAI;IAAA,OAAKL,MAAM,CAACM,QAAQ,CAACD,IAAI,CAAC;EAAA,EAAC,IAAIR,UAAU,CAAC,CAAC,CAAC;EACnF,IAAMU,QAAQ,GAAGR,SAAS,CAACS,MAAM,GAAGN,UAAU,CAACM,MAAM;EACrD,IAAIC,MAAM;EAEV,IAAIF,QAAQ,EAAE;IACZR,SAAS,GAAGA,SAAS,CAACW,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC3C,IAAIX,SAAS,KAAKG,UAAU,EAAE;IAE9BO,MAAM,GAAG,EAAE;IACX,IAAIE,KAAK,GAAG,CAAC;IACbC,KAAK,CAACC,IAAI,CAACb,MAAM,CAAC,CAACc,OAAO,CAAC,UAACC,IAAI,EAAEC,SAAS,EAAK;MAC9C,IAAID,IAAI,KAAKZ,SAAS,EAAE;QACtB,IAAMc,QAAQ,GAAGlB,SAAS,CAACmB,MAAM,CAACP,KAAK,EAAE,CAAC,CAAC;QAC3C,IAAI,CAACM,QAAQ,EAAE;QAEfR,MAAM,IAAIQ,QAAQ;QAClB,IAAIjB,MAAM,CAACkB,MAAM,CAACF,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC,KAAKb,SAAS,EAAEM,MAAM,IAAIN,SAAS;QACtEQ,KAAK,EAAE;MACT;IACF,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,IAAIT,UAAU,CAACiB,MAAM,CAACjB,UAAU,CAACM,MAAM,GAAG,CAAC,CAAC,KAAKL,SAAS,EAAEM,MAAM,GAAGV,SAAS,CAACqB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KACvFX,MAAM,GAAGV,SAAS;EACzB;EAEA,OAAOU,MAAM,KAAKY,SAAS,GAAGZ,MAAM,CAACS,MAAM,CAAC,CAAC,EAAElB,MAAM,CAACQ,MAAM,CAAC,GAAGa,SAAS;AAC3E,CAAC;AAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _formatValue = require("./formatValue");
|
|
7
|
+
Object.keys(_formatValue).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _formatValue[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _formatValue[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/InputDate/helpers/index.js"],"sourcesContent":["export * from './formatValue';\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getInputDateErrors = void 0;
|
|
7
7
|
var _locale = require("@mirai/locale");
|
|
8
|
-
var _splitDate = require("./splitDate");
|
|
9
8
|
var getInputDateErrors = function getInputDateErrors() {
|
|
10
9
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
11
10
|
_ref$format = _ref.format,
|
|
@@ -14,14 +13,8 @@ var getInputDateErrors = function getInputDateErrors() {
|
|
|
14
13
|
min = _ref.min,
|
|
15
14
|
value = _ref.value;
|
|
16
15
|
var errors = {};
|
|
17
|
-
var
|
|
18
|
-
|
|
19
|
-
(0, _splitDate.splitDate)(format).forEach(function (part, index) {
|
|
20
|
-
var _values$index;
|
|
21
|
-
if (!((_values$index = values[index]) !== null && _values$index !== void 0 && _values$index.length) || parseInt(values[index]) === 0) filled = false;
|
|
22
|
-
});
|
|
23
|
-
var date = filled ? (0, _locale.parseDate)(value, format) : undefined;
|
|
24
|
-
if (!date) errors.format = true;
|
|
16
|
+
var date = format.length === (value === null || value === void 0 ? void 0 : value.length) ? (0, _locale.parseDate)(value, format) : undefined;
|
|
17
|
+
if (!date && value !== null && value !== void 0 && value.length) errors.format = true;
|
|
25
18
|
if (date && max && (0, _locale.dateDiff)(date, (0, _locale.parseDate)(max, format)).days < 0) errors.max = true;
|
|
26
19
|
if (date && min && (0, _locale.dateDiff)(date, (0, _locale.parseDate)(min, format)).days > 0) errors.min = true;
|
|
27
20
|
return Object.keys(errors).length > 0 ? errors : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInputDateErrors.js","names":["getInputDateErrors","format","DEFAULT_DATE_FORMAT","max","min","value","errors","
|
|
1
|
+
{"version":3,"file":"getInputDateErrors.js","names":["getInputDateErrors","format","DEFAULT_DATE_FORMAT","max","min","value","errors","date","length","parseDate","undefined","dateDiff","days","Object","keys"],"sources":["../../src/helpers/getInputDateErrors.js"],"sourcesContent":["import { DEFAULT_DATE_FORMAT, dateDiff, parseDate } from '@mirai/locale';\n\nexport const getInputDateErrors = ({ format = DEFAULT_DATE_FORMAT, max, min, value } = {}) => {\n const errors = {};\n const date = format.length === value?.length ? parseDate(value, format) : undefined;\n\n if (!date && value?.length) errors.format = true;\n if (date && max && dateDiff(date, parseDate(max, format)).days < 0) errors.max = true;\n if (date && min && dateDiff(date, parseDate(min, format)).days > 0) errors.min = true;\n\n return Object.keys(errors).length > 0 ? errors : undefined;\n};\n"],"mappings":";;;;;;AAAA;AAEO,IAAMA,kBAAkB,GAAG,SAArBA,kBAAkB,GAA+D;EAAA,+EAAP,CAAC,CAAC;IAAA,mBAApDC,MAAM;IAANA,MAAM,4BAAGC,2BAAmB;IAAEC,GAAG,QAAHA,GAAG;IAAEC,GAAG,QAAHA,GAAG;IAAEC,KAAK,QAALA,KAAK;EAChF,IAAMC,MAAM,GAAG,CAAC,CAAC;EACjB,IAAMC,IAAI,GAAGN,MAAM,CAACO,MAAM,MAAKH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG,MAAM,IAAG,IAAAC,iBAAS,EAACJ,KAAK,EAAEJ,MAAM,CAAC,GAAGS,SAAS;EAEnF,IAAI,CAACH,IAAI,IAAIF,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEG,MAAM,EAAEF,MAAM,CAACL,MAAM,GAAG,IAAI;EAChD,IAAIM,IAAI,IAAIJ,GAAG,IAAI,IAAAQ,gBAAQ,EAACJ,IAAI,EAAE,IAAAE,iBAAS,EAACN,GAAG,EAAEF,MAAM,CAAC,CAAC,CAACW,IAAI,GAAG,CAAC,EAAEN,MAAM,CAACH,GAAG,GAAG,IAAI;EACrF,IAAII,IAAI,IAAIH,GAAG,IAAI,IAAAO,gBAAQ,EAACJ,IAAI,EAAE,IAAAE,iBAAS,EAACL,GAAG,EAAEH,MAAM,CAAC,CAAC,CAACW,IAAI,GAAG,CAAC,EAAEN,MAAM,CAACF,GAAG,GAAG,IAAI;EAErF,OAAOS,MAAM,CAACC,IAAI,CAACR,MAAM,CAAC,CAACE,MAAM,GAAG,CAAC,GAAGF,MAAM,GAAGI,SAAS;AAC5D,CAAC;AAAC"}
|
|
@@ -13,11 +13,11 @@ var getInputPhoneErrors = function getInputPhoneErrors() {
|
|
|
13
13
|
var errors = {};
|
|
14
14
|
var hasPrefixes = (prefixes === null || prefixes === void 0 ? void 0 : prefixes.length) && (prefixes === null || prefixes === void 0 ? void 0 : prefixes.length) > 0;
|
|
15
15
|
var minLength = hasPrefixes ? 10 : 8;
|
|
16
|
-
var _value$replace = value.replace(/\D/g, ''),
|
|
17
|
-
length = _value$replace.length;
|
|
18
16
|
var validPrefix = !hasPrefixes || prefixes.some(function (prefix) {
|
|
19
17
|
return value.includes(prefix);
|
|
20
18
|
});
|
|
19
|
+
var _value$replace = value.replace(/\D/g, ''),
|
|
20
|
+
length = _value$replace.length;
|
|
21
21
|
if (!(validPrefix && length >= minLength && length <= 15)) errors.format = true;
|
|
22
22
|
return errors;
|
|
23
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInputPhoneErrors.js","names":["getInputPhoneErrors","prefixes","value","errors","hasPrefixes","length","minLength","
|
|
1
|
+
{"version":3,"file":"getInputPhoneErrors.js","names":["getInputPhoneErrors","prefixes","value","errors","hasPrefixes","length","minLength","validPrefix","some","prefix","includes","replace","format"],"sources":["../../src/helpers/getInputPhoneErrors.js"],"sourcesContent":["export const getInputPhoneErrors = ({ prefixes, value = '' } = {}) => {\n if (value === '') return;\n\n const errors = {};\n const hasPrefixes = prefixes?.length && prefixes?.length > 0;\n const minLength = hasPrefixes ? 10 : 8;\n const validPrefix = !hasPrefixes || prefixes.some((prefix) => value.includes(prefix));\n const { length } = value.replace(/\\D/g, '');\n\n if (!(validPrefix && length >= minLength && length <= 15)) errors.format = true;\n\n return errors;\n};\n"],"mappings":";;;;;;AAAO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmB,GAAsC;EAAA,+EAAP,CAAC,CAAC;IAA3BC,QAAQ,QAARA,QAAQ;IAAA,kBAAEC,KAAK;IAALA,KAAK,2BAAG,EAAE;EACxD,IAAIA,KAAK,KAAK,EAAE,EAAE;EAElB,IAAMC,MAAM,GAAG,CAAC,CAAC;EACjB,IAAMC,WAAW,GAAG,CAAAH,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEI,MAAM,KAAI,CAAAJ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEI,MAAM,IAAG,CAAC;EAC5D,IAAMC,SAAS,GAAGF,WAAW,GAAG,EAAE,GAAG,CAAC;EACtC,IAAMG,WAAW,GAAG,CAACH,WAAW,IAAIH,QAAQ,CAACO,IAAI,CAAC,UAACC,MAAM;IAAA,OAAKP,KAAK,CAACQ,QAAQ,CAACD,MAAM,CAAC;EAAA,EAAC;EACrF,qBAAmBP,KAAK,CAACS,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAAnCN,MAAM,kBAANA,MAAM;EAEd,IAAI,EAAEE,WAAW,IAAIF,MAAM,IAAIC,SAAS,IAAID,MAAM,IAAI,EAAE,CAAC,EAAEF,MAAM,CAACS,MAAM,GAAG,IAAI;EAE/E,OAAOT,MAAM;AACf,CAAC;AAAC"}
|
package/build/helpers/index.js
CHANGED
|
@@ -3,17 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var _splitDate = require("./splitDate");
|
|
7
|
-
Object.keys(_splitDate).forEach(function (key) {
|
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] === _splitDate[key]) return;
|
|
10
|
-
Object.defineProperty(exports, key, {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function get() {
|
|
13
|
-
return _splitDate[key];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
6
|
var _getIconState = require("./getIconState");
|
|
18
7
|
Object.keys(_getIconState).forEach(function (key) {
|
|
19
8
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/helpers/index.js"],"sourcesContent":["export * from './
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/helpers/index.js"],"sourcesContent":["export * from './getIconState';\nexport * from './getInputDateErrors';\nexport * from './getInputPhoneErrors';\nexport * from './getInputErrors';\nexport * from './isJest';\nexport * from './styles';\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
package/package.json
CHANGED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
.fieldset {
|
|
2
|
-
padding: 0;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.inputField:not(:last-child) {
|
|
6
|
-
flex: 0;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.inputField:last-child {
|
|
10
|
-
flex: 1;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.input {
|
|
14
|
-
margin-bottom: 0;
|
|
15
|
-
margin-top: 0;
|
|
16
|
-
min-width: calc(calc(var(--mirai-ui-font-size-paragraph) * 2.75) + var(--mirai-ui-input-text-padding-x));
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.input > * {
|
|
20
|
-
border: none;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.input.Y {
|
|
24
|
-
min-width: calc(calc(var(--mirai-ui-font-size-paragraph) * 3.5) + var(--mirai-ui-input-text-padding-x));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.label {
|
|
28
|
-
font-size: var(--mirai-ui-font-size-small);
|
|
29
|
-
line-height: var(--mirai-ui-line-height-small);
|
|
30
|
-
margin: calc(var(--mirai-ui-input-text-padding-y) / 4) var(--mirai-ui-input-text-padding-x);
|
|
31
|
-
width: fit-content;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.separator {
|
|
35
|
-
border-right: var(--mirai-ui-input-text-border);
|
|
36
|
-
padding: var(--mirai-ui-space-M) 0;
|
|
37
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.splitDate = void 0;
|
|
7
|
-
var DELIMITERS = ['/', '.', '-'];
|
|
8
|
-
var splitDate = function splitDate() {
|
|
9
|
-
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
10
|
-
if (typeof value !== 'string') return;
|
|
11
|
-
return value.split(DELIMITERS.find(function (item) {
|
|
12
|
-
return value.includes(item);
|
|
13
|
-
}) || DELIMITERS[0]);
|
|
14
|
-
};
|
|
15
|
-
exports.splitDate = splitDate;
|
|
16
|
-
//# sourceMappingURL=splitDate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"splitDate.js","names":["DELIMITERS","splitDate","value","split","find","item","includes"],"sources":["../../src/helpers/splitDate.js"],"sourcesContent":["const DELIMITERS = ['/', '.', '-'];\n\nexport const splitDate = (value = '') => {\n if (typeof value !== 'string') return;\n\n return value.split(DELIMITERS.find((item) => value.includes(item)) || DELIMITERS[0]);\n};\n"],"mappings":";;;;;;AAAA,IAAMA,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAE3B,IAAMC,SAAS,GAAG,SAAZA,SAAS,GAAmB;EAAA,IAAfC,KAAK,uEAAG,EAAE;EAClC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;EAE/B,OAAOA,KAAK,CAACC,KAAK,CAACH,UAAU,CAACI,IAAI,CAAC,UAACC,IAAI;IAAA,OAAKH,KAAK,CAACI,QAAQ,CAACD,IAAI,CAAC;EAAA,EAAC,IAAIL,UAAU,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AAAC"}
|