Update npm registry domain from privatenpm.hanson.xyz to npm.internal.hanson.xyz 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 line
23 KiB
Plaintext
Executable File
1 line
23 KiB
Plaintext
Executable File
{"version":3,"file":"index.cjs","sources":["../src/constants.ts","../src/utils/check.ts","../src/utils/array.ts","../src/utils/clone.ts","../src/utils/object.ts","../src/utils/options.ts","../src/module.ts","../src/presets.ts"],"sourcesContent":["export enum PriorityName {\n LEFT = 'left',\n RIGHT = 'right',\n}\n","export function isObject(item: unknown) : item is Record<string, any> {\n return (\n !!item &&\n typeof item === 'object' &&\n !Array.isArray(item)\n );\n}\n\nexport function isSafeKey(key: string) : boolean {\n return key !== '__proto__' &&\n key !== 'prototype' &&\n key !== 'constructor';\n}\n\nexport function isEqual(x: any, y: any): boolean {\n if (Object.is(x, y)) return true;\n\n if (x instanceof Date && y instanceof Date) {\n return x.getTime() === y.getTime();\n }\n\n if (x instanceof RegExp && y instanceof RegExp) {\n return x.toString() === y.toString();\n }\n\n if (\n isObject(x) &&\n isObject(y)\n ) {\n const keysX = Reflect.ownKeys(x) as string[];\n const keysY = Reflect.ownKeys(y) as string[];\n if (keysX.length !== keysY.length) {\n return false;\n }\n\n for (let i = 0; i < keysX.length; i++) {\n const key = keysX[i];\n if (!Reflect.has(y, key) || !isEqual(x[key], y[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n if (\n Array.isArray(x) &&\n Array.isArray(y)\n ) {\n if (x.length !== y.length) {\n return false;\n }\n\n for (let i = 0; i < x.length; i++) {\n if (!isEqual(x[i], y[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n","import { isEqual } from './check';\n\nexport function distinctArray<T = any>(arr: T[]) : T[] {\n for (let i = 0; i < arr.length; i++) {\n for (let j = arr.length - 1; j > i; j--) {\n if (isEqual(arr[i], arr[j])) {\n arr.splice(j, 1);\n }\n }\n }\n\n return arr;\n}\n","import { isObject } from './check';\n\n/* istanbul ignore next */\nconst gT = (() => {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof self !== 'undefined') {\n // eslint-disable-next-line no-restricted-globals\n return self;\n }\n\n if (typeof window !== 'undefined') {\n return window;\n }\n\n if (typeof global !== 'undefined') {\n return global;\n }\n\n throw new Error('unable to locate global object');\n})();\n\nexport function polyfillClone<T>(input: T) {\n const map = new WeakMap();\n\n const fn = <A>(value: A) : A => {\n if (Array.isArray(value)) {\n if (map.has(value)) {\n return map.get(value);\n }\n\n const cloned = [] as A;\n map.set(value, cloned);\n\n value.map((el) => (cloned as any[]).push(fn(el)));\n\n return cloned;\n }\n\n if (isObject(value)) {\n if (map.has(value)) {\n return map.get(value);\n }\n\n const output = {} as A;\n const keys = Object.keys(value);\n\n map.set(value, output);\n for (let i = 0; i < keys.length; i++) {\n output[keys[i] as keyof A] = fn(value[keys[i]]);\n }\n\n return output;\n }\n\n return value;\n };\n\n return fn(input);\n}\n\n/* istanbul ignore next */\nexport function clone<T>(value: T) : T {\n if (gT.structuredClone) {\n return gT.structuredClone(value);\n }\n\n /* istanbul ignore next */\n return polyfillClone(value);\n}\n","// eslint-disable-next-line @typescript-eslint/ban-types\nexport function hasOwnProperty<X extends {}, Y extends PropertyKey>(obj: X, prop: Y): obj is X & Record<Y, unknown> {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n","import { PriorityName } from '../constants';\nimport type { Options, OptionsInput } from '../type';\n\nexport function buildOptions(options: OptionsInput = {}) : Options {\n options.array = options.array ?? true;\n options.arrayDistinct = options.arrayDistinct ?? false;\n options.clone = options.clone ?? false;\n options.inPlace = options.inPlace ?? false;\n options.priority = options.priority || PriorityName.LEFT;\n options.arrayPriority = options.arrayPriority || options.priority;\n\n return options as Options;\n}\n\nexport function togglePriority(priority: `${PriorityName}`) {\n return priority === PriorityName.LEFT ?\n `${PriorityName.RIGHT}` :\n `${PriorityName.LEFT}`;\n}\n","import { PriorityName } from './constants';\nimport type {\n Merger, MergerContext,\n MergerResult,\n MergerSource,\n MergerSourceUnwrap,\n OptionsInput,\n} from './type';\n\nimport {\n buildOptions,\n clone,\n distinctArray,\n hasOwnProperty,\n isObject,\n isSafeKey, togglePriority,\n} from './utils';\n\nfunction baseMerger<B extends MergerSource[]>(\n context: MergerContext,\n ...sources: B\n) : MergerResult<B> {\n let target : MergerSourceUnwrap<B>;\n let source : MergerSourceUnwrap<B> | undefined;\n\n let { priority } = context.options;\n if (sources.length >= 2) {\n if (\n Array.isArray(sources.at(0)) &&\n Array.isArray(sources.at(-1))\n ) {\n priority = context.options.arrayPriority;\n }\n }\n\n if (priority === PriorityName.RIGHT) {\n target = sources.pop() as MergerSourceUnwrap<B>;\n source = sources.pop() as MergerSourceUnwrap<B>;\n } else {\n target = sources.shift() as MergerSourceUnwrap<B>;\n source = sources.shift() as MergerSourceUnwrap<B>;\n }\n\n if (!source) {\n if (\n Array.isArray(target) &&\n context.options.arrayDistinct\n ) {\n return distinctArray(target) as MergerResult<B>;\n }\n\n return target as MergerResult<B>;\n }\n\n if (\n Array.isArray(target) &&\n Array.isArray(source)\n ) {\n target.push(...source as MergerSource[]);\n\n if (context.options.arrayPriority === PriorityName.RIGHT) {\n return baseMerger(\n context,\n ...sources,\n target,\n ) as MergerResult<B>;\n }\n\n return baseMerger(\n context,\n target,\n ...sources,\n ) as MergerResult<B>;\n }\n\n context.map.set(source, true);\n\n if (\n isObject(target) &&\n isObject(source)\n ) {\n const keys = Object.keys(source);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i] as (keyof MergerSourceUnwrap<B>);\n\n if (hasOwnProperty(target, key)) {\n if (!isSafeKey(key as string)) {\n continue;\n }\n\n if (context.options.strategy) {\n const applied = context.options.strategy(target, key as string, source[key]);\n if (typeof applied !== 'undefined') {\n continue;\n }\n }\n\n if (\n isObject(target[key]) &&\n isObject(source[key])\n ) {\n if (context.map.has(source[key])) {\n const sourceKeys = Object.keys(source[key] as Record<string, any>);\n for (let j = 0; j < sourceKeys.length; j++) {\n if (\n isSafeKey(sourceKeys[j]) &&\n !hasOwnProperty(target[key] as Record<string, any>, sourceKeys[j])\n ) {\n (target[key] as Record<string, any>)[sourceKeys[j]] = (source[key] as Record<string, any>)[sourceKeys[j]];\n }\n }\n\n continue;\n }\n\n if (context.options.priority === PriorityName.RIGHT) {\n target[key] = baseMerger(\n context,\n source[key] as MergerSource,\n target[key] as MergerSource,\n ) as MergerSourceUnwrap<B>[keyof MergerSourceUnwrap<B>];\n } else {\n target[key] = baseMerger(\n context,\n target[key] as MergerSource,\n source[key] as MergerSource,\n ) as MergerSourceUnwrap<B>[keyof MergerSourceUnwrap<B>];\n }\n\n continue;\n }\n\n if (\n context.options.array &&\n Array.isArray(target[key]) &&\n Array.isArray(source[key])\n ) {\n const arrayPriority = context.options.priority !== context.options.arrayPriority ?\n togglePriority(context.options.arrayPriority) :\n context.options.arrayPriority;\n\n switch (arrayPriority) {\n case PriorityName.LEFT:\n Object.assign(target, {\n [key]: baseMerger(context, target[key] as MergerSource, source[key] as MergerSource),\n });\n break;\n case PriorityName.RIGHT:\n Object.assign(target, {\n [key]: baseMerger(context, source[key] as MergerSource, target[key] as MergerSource),\n });\n break;\n }\n }\n } else {\n Object.assign(target, {\n [key]: source[key],\n });\n }\n }\n }\n\n context.map = new WeakMap();\n\n if (context.options.priority === PriorityName.RIGHT) {\n return baseMerger(context, ...sources, target) as MergerResult<B>;\n }\n\n return baseMerger(context, target, ...sources) as MergerResult<B>;\n}\n\nexport function createMerger(input?: OptionsInput) : Merger {\n const options = buildOptions(input);\n\n return <B extends MergerSource[]>(\n ...sources: B\n ) : MergerResult<B> => {\n if (!sources.length) {\n throw new SyntaxError('At least one input element is required.');\n }\n\n const ctx : MergerContext = {\n options,\n map: new WeakMap<any, any>(),\n };\n\n if (options.clone) {\n return baseMerger(ctx, ...clone(sources));\n }\n\n if (!options.inPlace) {\n if (\n Array.isArray(sources.at(0)) &&\n options.arrayPriority === PriorityName.LEFT\n ) {\n sources.unshift([]);\n return baseMerger(ctx, ...sources);\n }\n\n if (\n Array.isArray(sources.at(-1)) &&\n options.arrayPriority === PriorityName.RIGHT\n ) {\n sources.push([]);\n return baseMerger(ctx, ...sources);\n }\n\n if (options.priority === PriorityName.LEFT) {\n sources.unshift({});\n } else {\n sources.push({});\n }\n }\n\n return baseMerger(ctx, ...sources);\n };\n}\n\nexport const merge = createMerger();\n","import { createMerger } from './module';\nimport type { MergerResult } from './type';\n\n/**\n * Assign source attributes to a target object.\n *\n * @param target\n * @param sources\n */\nexport function assign<A extends Record<string, any>, B extends Record<string, any>[]>(\n target: A,\n ...sources: B\n) : A & MergerResult<B> {\n return createMerger({\n inPlace: true,\n priority: 'left',\n array: false,\n })(target, ...sources) as A & MergerResult<B>;\n}\n"],"names":["PriorityName","isObject","item","Array","isArray","isSafeKey","key","isEqual","x","y","Object","is","Date","getTime","RegExp","toString","keysX","Reflect","ownKeys","keysY","length","i","has","distinctArray","arr","j","splice","gT","globalThis","self","window","global","Error","polyfillClone","input","map","WeakMap","fn","value","get","cloned","set","el","push","output","keys","clone","structuredClone","hasOwnProperty","obj","prop","prototype","call","buildOptions","options","array","arrayDistinct","inPlace","priority","LEFT","arrayPriority","togglePriority","RIGHT","baseMerger","context","sources","target","source","at","pop","shift","strategy","applied","sourceKeys","assign","createMerger","SyntaxError","ctx","unshift","merge"],"mappings":";;AAAO,IAAA,YAAKA,iBAAAA,SAAAA,YAAAA,EAAAA;;;AAAAA,IAAAA,OAAAA,YAAAA;AAGX,CAAA,CAAA,EAAA;;ACHM,SAASC,SAASC,IAAa,EAAA;IAClC,OACI,CAAC,CAACA,IAAAA,IACF,OAAOA,SAAS,QAAA,IAChB,CAACC,KAAAA,CAAMC,OAAO,CAACF,IAAAA,CAAAA;AAEvB;AAEO,SAASG,UAAUC,GAAW,EAAA;AACjC,IAAA,OAAOA,GAAAA,KAAQ,WAAA,IACXA,GAAAA,KAAQ,WAAA,IACRA,GAAAA,KAAQ,aAAA;AAChB;AAEO,SAASC,OAAAA,CAAQC,CAAM,EAAEC,CAAM,EAAA;AAClC,IAAA,IAAIC,MAAAA,CAAOC,EAAE,CAACH,CAAAA,EAAGC,IAAI,OAAO,IAAA;IAE5B,IAAID,CAAAA,YAAaI,IAAAA,IAAQH,CAAAA,YAAaG,IAAAA,EAAM;AACxC,QAAA,OAAOJ,CAAAA,CAAEK,OAAO,EAAA,KAAOJ,CAAAA,CAAEI,OAAO,EAAA;AACpC,IAAA;IAEA,IAAIL,CAAAA,YAAaM,MAAAA,IAAUL,CAAAA,YAAaK,MAAAA,EAAQ;AAC5C,QAAA,OAAON,CAAAA,CAAEO,QAAQ,EAAA,KAAON,CAAAA,CAAEM,QAAQ,EAAA;AACtC,IAAA;IAEA,IACId,QAAAA,CAASO,CAAAA,CAAAA,IACTP,QAAAA,CAASQ,CAAAA,CAAAA,EACX;QACE,MAAMO,KAAAA,GAAQC,OAAAA,CAAQC,OAAO,CAACV,CAAAA,CAAAA;QAC9B,MAAMW,KAAAA,GAAQF,OAAAA,CAAQC,OAAO,CAACT,CAAAA,CAAAA;AAC9B,QAAA,IAAIO,KAAAA,CAAMI,MAAM,KAAKD,KAAAA,CAAMC,MAAM,EAAE;YAC/B,OAAO,KAAA;AACX,QAAA;AAEA,QAAA,IAAK,IAAIC,CAAAA,GAAI,CAAA,EAAGA,IAAIL,KAAAA,CAAMI,MAAM,EAAEC,CAAAA,EAAAA,CAAK;YACnC,MAAMf,GAAAA,GAAMU,KAAK,CAACK,CAAAA,CAAE;AACpB,YAAA,IAAI,CAACJ,OAAAA,CAAQK,GAAG,CAACb,GAAGH,GAAAA,CAAAA,IAAQ,CAACC,OAAAA,CAAQC,CAAC,CAACF,GAAAA,CAAI,EAAEG,CAAC,CAACH,IAAI,CAAA,EAAG;gBAClD,OAAO,KAAA;AACX,YAAA;AACJ,QAAA;QAEA,OAAO,IAAA;AACX,IAAA;AAEA,IAAA,IACIH,MAAMC,OAAO,CAACI,MACdL,KAAAA,CAAMC,OAAO,CAACK,CAAAA,CAAAA,EAChB;AACE,QAAA,IAAID,CAAAA,CAAEY,MAAM,KAAKX,CAAAA,CAAEW,MAAM,EAAE;YACvB,OAAO,KAAA;AACX,QAAA;AAEA,QAAA,IAAK,IAAIC,CAAAA,GAAI,CAAA,EAAGA,IAAIb,CAAAA,CAAEY,MAAM,EAAEC,CAAAA,EAAAA,CAAK;YAC/B,IAAI,CAACd,QAAQC,CAAC,CAACa,EAAE,EAAEZ,CAAC,CAACY,CAAAA,CAAE,CAAA,EAAG;gBACtB,OAAO,KAAA;AACX,YAAA;AACJ,QAAA;QAEA,OAAO,IAAA;AACX,IAAA;IAEA,OAAO,KAAA;AACX;;AC7DO,SAASE,cAAuBC,GAAQ,EAAA;AAC3C,IAAA,IAAK,IAAIH,CAAAA,GAAI,CAAA,EAAGA,IAAIG,GAAAA,CAAIJ,MAAM,EAAEC,CAAAA,EAAAA,CAAK;QACjC,IAAK,IAAII,IAAID,GAAAA,CAAIJ,MAAM,GAAG,CAAA,EAAGK,CAAAA,GAAIJ,GAAGI,CAAAA,EAAAA,CAAK;YACrC,IAAIlB,OAAAA,CAAQiB,GAAG,CAACH,CAAAA,CAAE,EAAEG,GAAG,CAACC,EAAE,CAAA,EAAG;gBACzBD,GAAAA,CAAIE,MAAM,CAACD,CAAAA,EAAG,CAAA,CAAA;AAClB,YAAA;AACJ,QAAA;AACJ,IAAA;IAEA,OAAOD,GAAAA;AACX;;ACVA,2BACA,MAAMG,EAAAA,GAAM,CAAA,IAAA;IACR,IAAI,OAAOC,eAAe,WAAA,EAAa;QACnC,OAAOA,UAAAA;AACX,IAAA;;IAGA,IAAI,OAAOC,SAAS,WAAA,EAAa;;QAE7B,OAAOA,IAAAA;AACX,IAAA;IAEA,IAAI,OAAOC,WAAW,WAAA,EAAa;QAC/B,OAAOA,MAAAA;AACX,IAAA;IAEA,IAAI,OAAOC,WAAW,WAAA,EAAa;QAC/B,OAAOA,MAAAA;AACX,IAAA;AAEA,IAAA,MAAM,IAAIC,KAAAA,CAAM,gCAAA,CAAA;AACpB,CAAA,GAAA;AAEO,SAASC,cAAiBC,KAAQ,EAAA;AACrC,IAAA,MAAMC,MAAM,IAAIC,OAAAA,EAAAA;AAEhB,IAAA,MAAMC,KAAK,CAAIC,KAAAA,GAAAA;QACX,IAAInC,KAAAA,CAAMC,OAAO,CAACkC,KAAAA,CAAAA,EAAQ;YACtB,IAAIH,GAAAA,CAAIb,GAAG,CAACgB,KAAAA,CAAAA,EAAQ;gBAChB,OAAOH,GAAAA,CAAII,GAAG,CAACD,KAAAA,CAAAA;AACnB,YAAA;AAEA,YAAA,MAAME,SAAS,EAAE;YACjBL,GAAAA,CAAIM,GAAG,CAACH,KAAAA,EAAOE,MAAAA,CAAAA;YAEfF,KAAAA,CAAMH,GAAG,CAAC,CAACO,EAAAA,GAAO,MAACF,CAAiBG,IAAI,CAACN,EAAAA,CAAGK,EAAAA,CAAAA,CAAAA,CAAAA;YAE5C,OAAOF,MAAAA;AACX,QAAA;AAEA,QAAA,IAAIvC,SAASqC,KAAAA,CAAAA,EAAQ;YACjB,IAAIH,GAAAA,CAAIb,GAAG,CAACgB,KAAAA,CAAAA,EAAQ;gBAChB,OAAOH,GAAAA,CAAII,GAAG,CAACD,KAAAA,CAAAA;AACnB,YAAA;AAEA,YAAA,MAAMM,SAAS,EAAC;YAChB,MAAMC,IAAAA,GAAOnC,MAAAA,CAAOmC,IAAI,CAACP,KAAAA,CAAAA;YAEzBH,GAAAA,CAAIM,GAAG,CAACH,KAAAA,EAAOM,MAAAA,CAAAA;AACf,YAAA,IAAK,IAAIvB,CAAAA,GAAI,CAAA,EAAGA,IAAIwB,IAAAA,CAAKzB,MAAM,EAAEC,CAAAA,EAAAA,CAAK;AAClCuB,gBAAAA,MAAM,CAACC,IAAI,CAACxB,CAAAA,CAAE,CAAY,GAAGgB,EAAAA,CAAGC,KAAK,CAACO,IAAI,CAACxB,CAAAA,CAAE,CAAC,CAAA;AAClD,YAAA;YAEA,OAAOuB,MAAAA;AACX,QAAA;QAEA,OAAON,KAAAA;AACX,IAAA,CAAA;AAEA,IAAA,OAAOD,EAAAA,CAAGH,KAAAA,CAAAA;AACd;AAEA,2BACO,SAASY,KAAAA,CAASR,KAAQ,EAAA;IAC7B,IAAIX,EAAAA,CAAGoB,eAAe,EAAE;QACpB,OAAOpB,EAAAA,CAAGoB,eAAe,CAACT,KAAAA,CAAAA;AAC9B,IAAA;+BAGA,OAAOL,aAAAA,CAAcK,KAAAA,CAAAA;AACzB;;ACxEA;AACO,SAASU,cAAAA,CAAoDC,GAAM,EAAEC,IAAO,EAAA;AAC/E,IAAA,OAAOxC,OAAOyC,SAAS,CAACH,cAAc,CAACI,IAAI,CAACH,GAAAA,EAAKC,IAAAA,CAAAA;AACrD;;ACAO,SAASG,YAAAA,CAAaC,OAAAA,GAAwB,EAAE,EAAA;AACnDA,IAAAA,OAAAA,CAAQC,KAAK,GAAGD,OAAAA,CAAQC,KAAK,IAAI,IAAA;AACjCD,IAAAA,OAAAA,CAAQE,aAAa,GAAGF,OAAAA,CAAQE,aAAa,IAAI,KAAA;AACjDF,IAAAA,OAAAA,CAAQR,KAAK,GAAGQ,OAAAA,CAAQR,KAAK,IAAI,KAAA;AACjCQ,IAAAA,OAAAA,CAAQG,OAAO,GAAGH,OAAAA,CAAQG,OAAO,IAAI,KAAA;AACrCH,IAAAA,OAAAA,CAAQI,QAAQ,GAAGJ,OAAAA,CAAQI,QAAQ,IAAI1D,aAAa2D,IAAI;AACxDL,IAAAA,OAAAA,CAAQM,aAAa,GAAGN,OAAAA,CAAQM,aAAa,IAAIN,QAAQI,QAAQ;IAEjE,OAAOJ,OAAAA;AACX;AAEO,SAASO,eAAeH,QAA2B,EAAA;AACtD,IAAA,OAAOA,QAAAA,KAAa1D,YAAAA,CAAa2D,IAAI,GACjC,CAAA,EAAG3D,YAAAA,CAAa8D,KAAK,CAAA,CAAE,GACvB,CAAA,EAAG9D,YAAAA,CAAa2D,IAAI,CAAA,CAAE;AAC9B;;ACAA,SAASI,UAAAA,CACLC,OAAsB,EACtB,GAAGC,OAAU,EAAA;IAEb,IAAIC,MAAAA;IACJ,IAAIC,MAAAA;AAEJ,IAAA,IAAI,EAAET,QAAQ,EAAE,GAAGM,QAAQV,OAAO;IAClC,IAAIW,OAAAA,CAAQ7C,MAAM,IAAI,CAAA,EAAG;AACrB,QAAA,IACIjB,KAAAA,CAAMC,OAAO,CAAC6D,OAAAA,CAAQG,EAAE,CAAC,CAAA,CAAA,CAAA,IACzBjE,KAAAA,CAAMC,OAAO,CAAC6D,OAAAA,CAAQG,EAAE,CAAC,EAAC,CAAA,CAAA,EAC5B;YACEV,QAAAA,GAAWM,OAAAA,CAAQV,OAAO,CAACM,aAAa;AAC5C,QAAA;AACJ,IAAA;IAEA,IAAIF,QAAAA,KAAa1D,YAAAA,CAAa8D,KAAK,EAAE;AACjCI,QAAAA,MAAAA,GAASD,QAAQI,GAAG,EAAA;AACpBF,QAAAA,MAAAA,GAASF,QAAQI,GAAG,EAAA;IACxB,CAAA,MAAO;AACHH,QAAAA,MAAAA,GAASD,QAAQK,KAAK,EAAA;AACtBH,QAAAA,MAAAA,GAASF,QAAQK,KAAK,EAAA;AAC1B,IAAA;AAEA,IAAA,IAAI,CAACH,MAAAA,EAAQ;QACT,IACIhE,KAAAA,CAAMC,OAAO,CAAC8D,MAAAA,CAAAA,IACdF,QAAQV,OAAO,CAACE,aAAa,EAC/B;AACE,YAAA,OAAOjC,aAAAA,CAAc2C,MAAAA,CAAAA;AACzB,QAAA;QAEA,OAAOA,MAAAA;AACX,IAAA;AAEA,IAAA,IACI/D,MAAMC,OAAO,CAAC8D,WACd/D,KAAAA,CAAMC,OAAO,CAAC+D,MAAAA,CAAAA,EAChB;AACED,QAAAA,MAAAA,CAAOvB,IAAI,CAAA,GAAIwB,MAAAA,CAAAA;AAEf,QAAA,IAAIH,QAAQV,OAAO,CAACM,aAAa,KAAK5D,YAAAA,CAAa8D,KAAK,EAAE;YACtD,OAAOC,UAAAA,CACHC,YACGC,OAAAA,EACHC,MAAAA,CAAAA;AAER,QAAA;QAEA,OAAOH,UAAAA,CACHC,SACAE,MAAAA,EAAAA,GACGD,OAAAA,CAAAA;AAEX,IAAA;AAEAD,IAAAA,OAAAA,CAAQ7B,GAAG,CAACM,GAAG,CAAC0B,MAAAA,EAAQ,IAAA,CAAA;IAExB,IACIlE,QAAAA,CAASiE,MAAAA,CAAAA,IACTjE,QAAAA,CAASkE,MAAAA,CAAAA,EACX;QACE,MAAMtB,IAAAA,GAAOnC,MAAAA,CAAOmC,IAAI,CAACsB,MAAAA,CAAAA;AACzB,QAAA,IAAK,IAAI9C,CAAAA,GAAI,CAAA,EAAGA,IAAIwB,IAAAA,CAAKzB,MAAM,EAAEC,CAAAA,EAAAA,CAAK;YAClC,MAAMf,GAAAA,GAAMuC,IAAI,CAACxB,CAAAA,CAAE;YAEnB,IAAI2B,cAAAA,CAAekB,QAAQ5D,GAAAA,CAAAA,EAAM;gBAC7B,IAAI,CAACD,UAAUC,GAAAA,CAAAA,EAAgB;AAC3B,oBAAA;AACJ,gBAAA;AAEA,gBAAA,IAAI0D,OAAAA,CAAQV,OAAO,CAACiB,QAAQ,EAAE;oBAC1B,MAAMC,OAAAA,GAAUR,OAAAA,CAAQV,OAAO,CAACiB,QAAQ,CAACL,MAAAA,EAAQ5D,GAAAA,EAAe6D,MAAM,CAAC7D,GAAAA,CAAI,CAAA;oBAC3E,IAAI,OAAOkE,YAAY,WAAA,EAAa;AAChC,wBAAA;AACJ,oBAAA;AACJ,gBAAA;gBAEA,IACIvE,QAAAA,CAASiE,MAAM,CAAC5D,GAAAA,CAAI,KACpBL,QAAAA,CAASkE,MAAM,CAAC7D,GAAAA,CAAI,CAAA,EACtB;oBACE,IAAI0D,OAAAA,CAAQ7B,GAAG,CAACb,GAAG,CAAC6C,MAAM,CAAC7D,IAAI,CAAA,EAAG;AAC9B,wBAAA,MAAMmE,aAAa/D,MAAAA,CAAOmC,IAAI,CAACsB,MAAM,CAAC7D,GAAAA,CAAI,CAAA;AAC1C,wBAAA,IAAK,IAAImB,CAAAA,GAAI,CAAA,EAAGA,IAAIgD,UAAAA,CAAWrD,MAAM,EAAEK,CAAAA,EAAAA,CAAK;AACxC,4BAAA,IACIpB,SAAAA,CAAUoE,UAAU,CAAChD,CAAAA,CAAE,KACvB,CAACuB,cAAAA,CAAekB,MAAM,CAAC5D,GAAAA,CAAI,EAAyBmE,UAAU,CAAChD,EAAE,CAAA,EACnE;AACGyC,gCAAAA,MAAM,CAAC5D,GAAAA,CAA4B,CAACmE,UAAU,CAAChD,EAAE,CAAC,GAAG,MAAO,CAACnB,GAAAA,CAA4B,CAACmE,UAAU,CAAChD,EAAE,CAAC;AAC7G,4BAAA;AACJ,wBAAA;AAEA,wBAAA;AACJ,oBAAA;AAEA,oBAAA,IAAIuC,QAAQV,OAAO,CAACI,QAAQ,KAAK1D,YAAAA,CAAa8D,KAAK,EAAE;wBACjDI,MAAM,CAAC5D,GAAAA,CAAI,GAAGyD,UAAAA,CACVC,OAAAA,EACAG,MAAM,CAAC7D,GAAAA,CAAI,EACX4D,MAAM,CAAC5D,GAAAA,CAAI,CAAA;oBAEnB,CAAA,MAAO;wBACH4D,MAAM,CAAC5D,GAAAA,CAAI,GAAGyD,UAAAA,CACVC,OAAAA,EACAE,MAAM,CAAC5D,GAAAA,CAAI,EACX6D,MAAM,CAAC7D,GAAAA,CAAI,CAAA;AAEnB,oBAAA;AAEA,oBAAA;AACJ,gBAAA;AAEA,gBAAA,IACI0D,QAAQV,OAAO,CAACC,KAAK,IACrBpD,KAAAA,CAAMC,OAAO,CAAC8D,MAAM,CAAC5D,GAAAA,CAAI,KACzBH,KAAAA,CAAMC,OAAO,CAAC+D,MAAM,CAAC7D,IAAI,CAAA,EAC3B;oBACE,MAAMsD,aAAAA,GAAgBI,QAAQV,OAAO,CAACI,QAAQ,KAAKM,OAAAA,CAAQV,OAAO,CAACM,aAAa,GAC5EC,cAAAA,CAAeG,OAAAA,CAAQV,OAAO,CAACM,aAAa,IAC5CI,OAAAA,CAAQV,OAAO,CAACM,aAAa;oBAEjC,OAAQA,aAAAA;AACJ,wBAAA,KAAK5D,aAAa2D,IAAI;4BAClBjD,MAAAA,CAAOgE,MAAM,CAACR,MAAAA,EAAQ;gCAClB,CAAC5D,GAAAA,GAAMyD,UAAAA,CAAWC,OAAAA,EAASE,MAAM,CAAC5D,GAAAA,CAAI,EAAkB6D,MAAM,CAAC7D,GAAAA,CAAI;AACvE,6BAAA,CAAA;AACA,4BAAA;AACJ,wBAAA,KAAKN,aAAa8D,KAAK;4BACnBpD,MAAAA,CAAOgE,MAAM,CAACR,MAAAA,EAAQ;gCAClB,CAAC5D,GAAAA,GAAMyD,UAAAA,CAAWC,OAAAA,EAASG,MAAM,CAAC7D,GAAAA,CAAI,EAAkB4D,MAAM,CAAC5D,GAAAA,CAAI;AACvE,6BAAA,CAAA;AACA,4BAAA;AACR;AACJ,gBAAA;YACJ,CAAA,MAAO;gBACHI,MAAAA,CAAOgE,MAAM,CAACR,MAAAA,EAAQ;AAClB,oBAAA,CAAC5D,GAAAA,GAAM6D,MAAM,CAAC7D,GAAAA;AAClB,iBAAA,CAAA;AACJ,YAAA;AACJ,QAAA;AACJ,IAAA;IAEA0D,OAAAA,CAAQ7B,GAAG,GAAG,IAAIC,OAAAA,EAAAA;AAElB,IAAA,IAAI4B,QAAQV,OAAO,CAACI,QAAQ,KAAK1D,YAAAA,CAAa8D,KAAK,EAAE;QACjD,OAAOC,UAAAA,CAAWC,YAAYC,OAAAA,EAASC,MAAAA,CAAAA;AAC3C,IAAA;IAEA,OAAOH,UAAAA,CAAWC,SAASE,MAAAA,EAAAA,GAAWD,OAAAA,CAAAA;AAC1C;AAEO,SAASU,aAAazC,KAAoB,EAAA;AAC7C,IAAA,MAAMoB,UAAUD,YAAAA,CAAanB,KAAAA,CAAAA;AAE7B,IAAA,OAAO,CACH,GAAG+B,OAAAA,GAAAA;QAEH,IAAI,CAACA,OAAAA,CAAQ7C,MAAM,EAAE;AACjB,YAAA,MAAM,IAAIwD,WAAAA,CAAY,yCAAA,CAAA;AAC1B,QAAA;AAEA,QAAA,MAAMC,GAAAA,GAAsB;AACxBvB,YAAAA,OAAAA;AACAnB,YAAAA,GAAAA,EAAK,IAAIC,OAAAA;AACb,SAAA;QAEA,IAAIkB,OAAAA,CAAQR,KAAK,EAAE;YACf,OAAOiB,UAAAA,CAAWc,QAAQ/B,KAAAA,CAAMmB,OAAAA,CAAAA,CAAAA;AACpC,QAAA;QAEA,IAAI,CAACX,OAAAA,CAAQG,OAAO,EAAE;AAClB,YAAA,IACItD,KAAAA,CAAMC,OAAO,CAAC6D,OAAAA,CAAQG,EAAE,CAAC,CAAA,CAAA,CAAA,IACzBd,OAAAA,CAAQM,aAAa,KAAK5D,YAAAA,CAAa2D,IAAI,EAC7C;gBACEM,OAAAA,CAAQa,OAAO,CAAC,EAAE,CAAA;AAClB,gBAAA,OAAOf,WAAWc,GAAAA,EAAAA,GAAQZ,OAAAA,CAAAA;AAC9B,YAAA;AAEA,YAAA,IACI9D,KAAAA,CAAMC,OAAO,CAAC6D,OAAAA,CAAQG,EAAE,CAAC,EAAC,CAAA,CAAA,IAC1Bd,OAAAA,CAAQM,aAAa,KAAK5D,YAAAA,CAAa8D,KAAK,EAC9C;gBACEG,OAAAA,CAAQtB,IAAI,CAAC,EAAE,CAAA;AACf,gBAAA,OAAOoB,WAAWc,GAAAA,EAAAA,GAAQZ,OAAAA,CAAAA;AAC9B,YAAA;AAEA,YAAA,IAAIX,OAAAA,CAAQI,QAAQ,KAAK1D,YAAAA,CAAa2D,IAAI,EAAE;gBACxCM,OAAAA,CAAQa,OAAO,CAAC,EAAC,CAAA;YACrB,CAAA,MAAO;gBACHb,OAAAA,CAAQtB,IAAI,CAAC,EAAC,CAAA;AAClB,YAAA;AACJ,QAAA;AAEA,QAAA,OAAOoB,WAAWc,GAAAA,EAAAA,GAAQZ,OAAAA,CAAAA;AAC9B,IAAA,CAAA;AACJ;AAEO,MAAMc,QAAQJ,YAAAA;;ACvNrB;;;;;AAKC,IACM,SAASD,MAAAA,CACZR,MAAS,EACT,GAAGD,OAAU,EAAA;AAEb,IAAA,OAAOU,YAAAA,CAAa;QAChBlB,OAAAA,EAAS,IAAA;QACTC,QAAAA,EAAU,MAAA;QACVH,KAAAA,EAAO;AACX,KAAA,CAAA,CAAGW,MAAAA,EAAAA,GAAWD,OAAAA,CAAAA;AAClB;;;;;;;;;;;;;;;;"} |