haya-select 1.0.120 → 1.0.122
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/select/body-scroll-lock.d.ts +5 -0
- package/build/select/body-scroll-lock.d.ts.map +1 -0
- package/build/select/body-scroll-lock.js +43 -0
- package/build/select/coordination.d.ts +23 -0
- package/build/select/coordination.d.ts.map +1 -0
- package/build/select/coordination.js +53 -0
- package/build/select/index.d.ts.map +1 -1
- package/build/select/index.js +62 -18
- package/build/select/option-group.d.ts.map +1 -1
- package/build/select/option-group.js +21 -10
- package/package.json +6 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body-scroll-lock.d.ts","sourceRoot":"","sources":["../../src/select/body-scroll-lock.js"],"names":[],"mappings":"AAkBA,sBAAsB;AACtB,yCADc,IAAI,CAajB;AAED,sBAAsB;AACtB,yCADc,IAAI,CAcjB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Platform } from "react-native";
|
|
2
|
+
/**
|
|
3
|
+
* Reference-counted body-scroll lock shared by every HayaSelect in the bundle.
|
|
4
|
+
* Body scroll is a single global browser resource, so overlapping mobile sheets
|
|
5
|
+
* must not each save/restore the overflow independently: the first lock records
|
|
6
|
+
* the previous overflow and the last unlock restores it.
|
|
7
|
+
*/
|
|
8
|
+
let lockCount = 0;
|
|
9
|
+
let previousBodyOverflow = undefined;
|
|
10
|
+
let previousDocumentOverflow = undefined;
|
|
11
|
+
/** @returns {boolean} */
|
|
12
|
+
function canManageBodyScroll() {
|
|
13
|
+
return Platform.OS === "web" && typeof document !== "undefined" && Boolean(document.body);
|
|
14
|
+
}
|
|
15
|
+
/** @returns {void} */
|
|
16
|
+
export function acquireBodyScrollLock() {
|
|
17
|
+
if (!canManageBodyScroll())
|
|
18
|
+
return;
|
|
19
|
+
if (lockCount === 0) {
|
|
20
|
+
previousBodyOverflow = document.body.style.overflow;
|
|
21
|
+
previousDocumentOverflow = document.documentElement?.style.overflow;
|
|
22
|
+
document.body.style.overflow = "hidden";
|
|
23
|
+
if (document.documentElement)
|
|
24
|
+
document.documentElement.style.overflow = "hidden";
|
|
25
|
+
}
|
|
26
|
+
lockCount += 1;
|
|
27
|
+
}
|
|
28
|
+
/** @returns {void} */
|
|
29
|
+
export function releaseBodyScrollLock() {
|
|
30
|
+
if (!canManageBodyScroll())
|
|
31
|
+
return;
|
|
32
|
+
if (lockCount === 0)
|
|
33
|
+
return;
|
|
34
|
+
lockCount -= 1;
|
|
35
|
+
if (lockCount > 0)
|
|
36
|
+
return;
|
|
37
|
+
document.body.style.overflow = previousBodyOverflow || "";
|
|
38
|
+
if (document.documentElement)
|
|
39
|
+
document.documentElement.style.overflow = previousDocumentOverflow || "";
|
|
40
|
+
previousBodyOverflow = undefined;
|
|
41
|
+
previousDocumentOverflow = undefined;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9keS1zY3JvbGwtbG9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZWxlY3QvYm9keS1zY3JvbGwtbG9jay5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBRXJDOzs7OztHQUtHO0FBRUgsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFBO0FBQ2pCLElBQUksb0JBQW9CLEdBQUcsU0FBUyxDQUFBO0FBQ3BDLElBQUksd0JBQXdCLEdBQUcsU0FBUyxDQUFBO0FBRXhDLHlCQUF5QjtBQUN6QixTQUFTLG1CQUFtQjtJQUMxQixPQUFPLFFBQVEsQ0FBQyxFQUFFLEtBQUssS0FBSyxJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQzNGLENBQUM7QUFFRCxzQkFBc0I7QUFDdEIsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7UUFBRSxPQUFNO0lBRWxDLElBQUksU0FBUyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3BCLG9CQUFvQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQTtRQUNuRCx3QkFBd0IsR0FBRyxRQUFRLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUE7UUFFbkUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUN2QyxJQUFJLFFBQVEsQ0FBQyxlQUFlO1lBQUUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtJQUNsRixDQUFDO0lBRUQsU0FBUyxJQUFJLENBQUMsQ0FBQTtBQUNoQixDQUFDO0FBRUQsc0JBQXNCO0FBQ3RCLE1BQU0sVUFBVSxxQkFBcUI7SUFDbkMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1FBQUUsT0FBTTtJQUNsQyxJQUFJLFNBQVMsS0FBSyxDQUFDO1FBQUUsT0FBTTtJQUUzQixTQUFTLElBQUksQ0FBQyxDQUFBO0lBRWQsSUFBSSxTQUFTLEdBQUcsQ0FBQztRQUFFLE9BQU07SUFFekIsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLG9CQUFvQixJQUFJLEVBQUUsQ0FBQTtJQUN6RCxJQUFJLFFBQVEsQ0FBQyxlQUFlO1FBQUUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLHdCQUF3QixJQUFJLEVBQUUsQ0FBQTtJQUV0RyxvQkFBb0IsR0FBRyxTQUFTLENBQUE7SUFDaEMsd0JBQXdCLEdBQUcsU0FBUyxDQUFBO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsYXRmb3JtfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcblxuLyoqXG4gKiBSZWZlcmVuY2UtY291bnRlZCBib2R5LXNjcm9sbCBsb2NrIHNoYXJlZCBieSBldmVyeSBIYXlhU2VsZWN0IGluIHRoZSBidW5kbGUuXG4gKiBCb2R5IHNjcm9sbCBpcyBhIHNpbmdsZSBnbG9iYWwgYnJvd3NlciByZXNvdXJjZSwgc28gb3ZlcmxhcHBpbmcgbW9iaWxlIHNoZWV0c1xuICogbXVzdCBub3QgZWFjaCBzYXZlL3Jlc3RvcmUgdGhlIG92ZXJmbG93IGluZGVwZW5kZW50bHk6IHRoZSBmaXJzdCBsb2NrIHJlY29yZHNcbiAqIHRoZSBwcmV2aW91cyBvdmVyZmxvdyBhbmQgdGhlIGxhc3QgdW5sb2NrIHJlc3RvcmVzIGl0LlxuICovXG5cbmxldCBsb2NrQ291bnQgPSAwXG5sZXQgcHJldmlvdXNCb2R5T3ZlcmZsb3cgPSB1bmRlZmluZWRcbmxldCBwcmV2aW91c0RvY3VtZW50T3ZlcmZsb3cgPSB1bmRlZmluZWRcblxuLyoqIEByZXR1cm5zIHtib29sZWFufSAqL1xuZnVuY3Rpb24gY2FuTWFuYWdlQm9keVNjcm9sbCgpIHtcbiAgcmV0dXJuIFBsYXRmb3JtLk9TID09PSBcIndlYlwiICYmIHR5cGVvZiBkb2N1bWVudCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBCb29sZWFuKGRvY3VtZW50LmJvZHkpXG59XG5cbi8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBhY3F1aXJlQm9keVNjcm9sbExvY2soKSB7XG4gIGlmICghY2FuTWFuYWdlQm9keVNjcm9sbCgpKSByZXR1cm5cblxuICBpZiAobG9ja0NvdW50ID09PSAwKSB7XG4gICAgcHJldmlvdXNCb2R5T3ZlcmZsb3cgPSBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93XG4gICAgcHJldmlvdXNEb2N1bWVudE92ZXJmbG93ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Py5zdHlsZS5vdmVyZmxvd1xuXG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IFwiaGlkZGVuXCJcbiAgICBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSBcImhpZGRlblwiXG4gIH1cblxuICBsb2NrQ291bnQgKz0gMVxufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gcmVsZWFzZUJvZHlTY3JvbGxMb2NrKCkge1xuICBpZiAoIWNhbk1hbmFnZUJvZHlTY3JvbGwoKSkgcmV0dXJuXG4gIGlmIChsb2NrQ291bnQgPT09IDApIHJldHVyblxuXG4gIGxvY2tDb3VudCAtPSAxXG5cbiAgaWYgKGxvY2tDb3VudCA+IDApIHJldHVyblxuXG4gIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSBwcmV2aW91c0JvZHlPdmVyZmxvdyB8fCBcIlwiXG4gIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9IHByZXZpb3VzRG9jdW1lbnRPdmVyZmxvdyB8fCBcIlwiXG5cbiAgcHJldmlvdXNCb2R5T3ZlcmZsb3cgPSB1bmRlZmluZWRcbiAgcHJldmlvdXNEb2N1bWVudE92ZXJmbG93ID0gdW5kZWZpbmVkXG59XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export namespace selectCoordination {
|
|
2
|
+
/** @returns {string|null} */
|
|
3
|
+
function getOpenSelectId(): string | null;
|
|
4
|
+
/**
|
|
5
|
+
* Marks a select as the open one, notifying any other open select to close.
|
|
6
|
+
* @param {string} selectId
|
|
7
|
+
* @returns {void}
|
|
8
|
+
*/
|
|
9
|
+
function openSelect(selectId: string): void;
|
|
10
|
+
/**
|
|
11
|
+
* Clears the open select when the given select is the one currently open.
|
|
12
|
+
* @param {string} selectId
|
|
13
|
+
* @returns {void}
|
|
14
|
+
*/
|
|
15
|
+
function closeSelect(selectId: string): void;
|
|
16
|
+
/**
|
|
17
|
+
* Subscribe to open-select changes.
|
|
18
|
+
* @param {function(string|null): void} listener
|
|
19
|
+
* @returns {function(): void} Unsubscribe.
|
|
20
|
+
*/
|
|
21
|
+
function subscribe(listener: (arg0: string | null) => void): () => void;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=coordination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordination.d.ts","sourceRoot":"","sources":["../../src/select/coordination.js"],"names":[],"mappings":";IAiBE,6BAA6B;IAC7B,4BADc,MAAM,GAAC,IAAI,CAGxB;IAED;;;;OAIG;IACH,8BAHW,MAAM,GACJ,IAAI,CAOhB;IAED;;;;OAIG;IACH,+BAHW,MAAM,GACJ,IAAI,CAOhB;IAED;;;;OAIG;IACH,6BAHW,CAAS,IAAW,EAAX,MAAM,GAAC,IAAI,KAAG,IAAI,GACzB,MAAY,IAAI,CAQ5B"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module-level coordination so only one HayaSelect options container is open
|
|
3
|
+
* at a time across all instances in the bundle. No provider is required, which
|
|
4
|
+
* means published consumers get the behavior from the default select import.
|
|
5
|
+
*/
|
|
6
|
+
let openSelectId = null;
|
|
7
|
+
const listeners = new Set();
|
|
8
|
+
/** @returns {void} */
|
|
9
|
+
function emitOpenSelectChange() {
|
|
10
|
+
for (const listener of [...listeners]) {
|
|
11
|
+
listener(openSelectId);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export const selectCoordination = {
|
|
15
|
+
/** @returns {string|null} */
|
|
16
|
+
getOpenSelectId() {
|
|
17
|
+
return openSelectId;
|
|
18
|
+
},
|
|
19
|
+
/**
|
|
20
|
+
* Marks a select as the open one, notifying any other open select to close.
|
|
21
|
+
* @param {string} selectId
|
|
22
|
+
* @returns {void}
|
|
23
|
+
*/
|
|
24
|
+
openSelect(selectId) {
|
|
25
|
+
if (openSelectId === selectId)
|
|
26
|
+
return;
|
|
27
|
+
openSelectId = selectId;
|
|
28
|
+
emitOpenSelectChange();
|
|
29
|
+
},
|
|
30
|
+
/**
|
|
31
|
+
* Clears the open select when the given select is the one currently open.
|
|
32
|
+
* @param {string} selectId
|
|
33
|
+
* @returns {void}
|
|
34
|
+
*/
|
|
35
|
+
closeSelect(selectId) {
|
|
36
|
+
if (openSelectId !== selectId)
|
|
37
|
+
return;
|
|
38
|
+
openSelectId = null;
|
|
39
|
+
emitOpenSelectChange();
|
|
40
|
+
},
|
|
41
|
+
/**
|
|
42
|
+
* Subscribe to open-select changes.
|
|
43
|
+
* @param {function(string|null): void} listener
|
|
44
|
+
* @returns {function(): void} Unsubscribe.
|
|
45
|
+
*/
|
|
46
|
+
subscribe(listener) {
|
|
47
|
+
listeners.add(listener);
|
|
48
|
+
return () => {
|
|
49
|
+
listeners.delete(listener);
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlbGVjdC9jb29yZGluYXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILElBQUksWUFBWSxHQUFHLElBQUksQ0FBQTtBQUN2QixNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO0FBRTNCLHNCQUFzQjtBQUN0QixTQUFTLG9CQUFvQjtJQUMzQixLQUFLLE1BQU0sUUFBUSxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3RDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUN4QixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2hDLDZCQUE2QjtJQUM3QixlQUFlO1FBQ2IsT0FBTyxZQUFZLENBQUE7SUFDckIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsUUFBUTtRQUNqQixJQUFJLFlBQVksS0FBSyxRQUFRO1lBQUUsT0FBTTtRQUVyQyxZQUFZLEdBQUcsUUFBUSxDQUFBO1FBQ3ZCLG9CQUFvQixFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsUUFBUTtRQUNsQixJQUFJLFlBQVksS0FBSyxRQUFRO1lBQUUsT0FBTTtRQUVyQyxZQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ25CLG9CQUFvQixFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsUUFBUTtRQUNoQixTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRXZCLE9BQU8sR0FBRyxFQUFFO1lBQ1YsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUM1QixDQUFDLENBQUE7SUFDSCxDQUFDO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTW9kdWxlLWxldmVsIGNvb3JkaW5hdGlvbiBzbyBvbmx5IG9uZSBIYXlhU2VsZWN0IG9wdGlvbnMgY29udGFpbmVyIGlzIG9wZW5cbiAqIGF0IGEgdGltZSBhY3Jvc3MgYWxsIGluc3RhbmNlcyBpbiB0aGUgYnVuZGxlLiBObyBwcm92aWRlciBpcyByZXF1aXJlZCwgd2hpY2hcbiAqIG1lYW5zIHB1Ymxpc2hlZCBjb25zdW1lcnMgZ2V0IHRoZSBiZWhhdmlvciBmcm9tIHRoZSBkZWZhdWx0IHNlbGVjdCBpbXBvcnQuXG4gKi9cblxubGV0IG9wZW5TZWxlY3RJZCA9IG51bGxcbmNvbnN0IGxpc3RlbmVycyA9IG5ldyBTZXQoKVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5mdW5jdGlvbiBlbWl0T3BlblNlbGVjdENoYW5nZSgpIHtcbiAgZm9yIChjb25zdCBsaXN0ZW5lciBvZiBbLi4ubGlzdGVuZXJzXSkge1xuICAgIGxpc3RlbmVyKG9wZW5TZWxlY3RJZClcbiAgfVxufVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0Q29vcmRpbmF0aW9uID0ge1xuICAvKiogQHJldHVybnMge3N0cmluZ3xudWxsfSAqL1xuICBnZXRPcGVuU2VsZWN0SWQoKSB7XG4gICAgcmV0dXJuIG9wZW5TZWxlY3RJZFxuICB9LFxuXG4gIC8qKlxuICAgKiBNYXJrcyBhIHNlbGVjdCBhcyB0aGUgb3BlbiBvbmUsIG5vdGlmeWluZyBhbnkgb3RoZXIgb3BlbiBzZWxlY3QgdG8gY2xvc2UuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RJZFxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIG9wZW5TZWxlY3Qoc2VsZWN0SWQpIHtcbiAgICBpZiAob3BlblNlbGVjdElkID09PSBzZWxlY3RJZCkgcmV0dXJuXG5cbiAgICBvcGVuU2VsZWN0SWQgPSBzZWxlY3RJZFxuICAgIGVtaXRPcGVuU2VsZWN0Q2hhbmdlKClcbiAgfSxcblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBvcGVuIHNlbGVjdCB3aGVuIHRoZSBnaXZlbiBzZWxlY3QgaXMgdGhlIG9uZSBjdXJyZW50bHkgb3Blbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdElkXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgY2xvc2VTZWxlY3Qoc2VsZWN0SWQpIHtcbiAgICBpZiAob3BlblNlbGVjdElkICE9PSBzZWxlY3RJZCkgcmV0dXJuXG5cbiAgICBvcGVuU2VsZWN0SWQgPSBudWxsXG4gICAgZW1pdE9wZW5TZWxlY3RDaGFuZ2UoKVxuICB9LFxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gb3Blbi1zZWxlY3QgY2hhbmdlcy5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihzdHJpbmd8bnVsbCk6IHZvaWR9IGxpc3RlbmVyXG4gICAqIEByZXR1cm5zIHtmdW5jdGlvbigpOiB2b2lkfSBVbnN1YnNjcmliZS5cbiAgICovXG4gIHN1YnNjcmliZShsaXN0ZW5lcikge1xuICAgIGxpc3RlbmVycy5hZGQobGlzdGVuZXIpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgbGlzdGVuZXJzLmRlbGV0ZShsaXN0ZW5lcilcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/select/index.jsx"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/select/index.jsx"],"names":[],"mappings":";;;UA4Bc,MAAM;WACN,MAAM;WACN,MAAM;;;WAKN,MAAM,GAAC,MAAM;WACb,OAAO,OAAO,EAAE,SAAS;qBACb,OAAO,OAAO,EAAE,SAAS;4BACzB,OAAO,OAAO,EAAE,SAAS;;;;;;YAGrC,OAAO,OAAO,EAAE,SAAS;;;aAOzB,KAAK,CAAC,gBAAgB,CAAC;;;;;;;;;qBAWvB,MAAM;;;;;SAKN,OAAO,OAAO,EAAE,SAAS;YACzB,MAAM;;;;2BAIM,OAAO,OAAO,EAAE,SAAS;sBAC5B,OAAO,OAAO,EAAE,cAAc,YAAC,KAAG,IAAI;wBACtC,OAAO,OAAO,EAAE,cAAc,YAAC,KAAG,IAAI;6BACtC,KAAK,CAAC,MAAM,GAAC,MAAM,CAAC,YAAC,KAAG,IAAI;uBAC5B,OAAO,OAAO,EAAE,cAAc,YAAC,KAAG,IAAI;8BACtC;QAAC,OAAO,QAAO;KAAC,KAAG,IAAI;8BACvB;QAAC,OAAO,QAAO;KAAC,KAAG,IAAI;4BACvB,MAAM,KAAG,OAAO,OAAO,EAAE,SAAS;aAC3C,KAAK,CAAC,gBAAgB,CAAC,IAAC,MAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAC,uBAAuB,CAAC,CAAA;;;;kBAIrF,OAAO,OAAO,EAAE,SAAS;;;;;aAKzB,MAAM;cACN,MAAM;;;;;;oBAQN,KAAK,CAAC,gBAAgB,CAAC;2BACvB,gBAAgB,GAAC,IAAI;uBACrB,gBAAgB,GAAC,IAAI;YACrB,MAAM,GAAC,IAAI;mBACX,KAAK,CAAC,gBAAgB,CAAC,GAAC,SAAS;iCACjC,MAAM;0BACN,MAAM;UACN,MAAM;sBACN,OAAO;oBACP,MAAM;cACN,MAAM,GAAC,IAAI;YACX,OAAO;4BACP,gBAAgB,GAAC,IAAI;sBACrB,OAAO,GAAC,OAAO,GAAC,OAAO,GAAC,SAAS;gBACjC,MAAM,GAAC,SAAS;uBAChB,QAAQ,GAAC,SAAS,GAAC,SAAS;kBAC5B,MAAM,GAAC,SAAS,GAAC,IAAI;gBACrB,MAAM,GAAC,IAAI;eACX,MAAM,GAAC,IAAI;gBACX,MAAM,GAAC,IAAI;aACX,MAAM,CAAC,MAAM,GAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;UAwD7B,MAAM,GAAC,SAAS;UAChB,SAAS,GAAC,QAAQ;YAClB,gBAAgB;cAChB,OAAO;kBACP,sBAAsB,GAAC,SAAS;iBAChC,MAAM,GAAC,SAAS;aAChB,MAAM,CAAC,MAAM,GAAC,MAAM,EAAE,MAAM,CAAC;;;WAK7B,OAAO,OAAO,EAAE,cAAc;aAC9B,KAAK,CAAC,gBAAgB,CAAC;aACvB,MAAM,CAAC,MAAM,GAAC,MAAM,EAAE,MAAM,CAAC;;;YAK7B,OAAO;sBACP,OAAO,GAAC,OAAO,GAAC,OAAO,GAAC,SAAS;WACjC,eAAe;WACf,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;kBA5Le,OAAO"}
|