@arbetsformedlingen/yrkesvaljaren 2.0.5

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.
Files changed (146) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +369 -0
  3. package/dist/cjs/af-validation-message-BzY5H0xU.js +16 -0
  4. package/dist/cjs/core-selector.cjs.entry.js +476 -0
  5. package/dist/cjs/digi-service-job-selector.cjs.entry.js +1619 -0
  6. package/dist/cjs/fuse-BTLNKxuL.js +1631 -0
  7. package/dist/cjs/geo-valjaren.cjs.entry.js +14910 -0
  8. package/dist/cjs/index-BOuTGlEp.js +1817 -0
  9. package/dist/cjs/index.cjs.js +14 -0
  10. package/dist/cjs/job-selector-demo.cjs.entry.js +692 -0
  11. package/dist/cjs/loader.cjs.js +12 -0
  12. package/dist/cjs/neobrutal-search.cjs.entry.js +171 -0
  13. package/dist/cjs/search.engine-D0cMelRi.js +489 -0
  14. package/dist/cjs/taxonomy-registry-DVmuDUpM.js +435 -0
  15. package/dist/cjs/types-CtHBl6Ra.js +14 -0
  16. package/dist/cjs/yrkesvaljaren.cjs.js +24 -0
  17. package/dist/collection/collection-manifest.json +15 -0
  18. package/dist/collection/components/core-selector/core-selector.css +803 -0
  19. package/dist/collection/components/core-selector/core-selector.js +761 -0
  20. package/dist/collection/components/core-selector/types.js +1 -0
  21. package/dist/collection/components/design-compat/af-icon.js +13 -0
  22. package/dist/collection/components/design-compat/af-label.js +2 -0
  23. package/dist/collection/components/design-compat/af-tag.js +6 -0
  24. package/dist/collection/components/design-compat/af-validation-message.js +11 -0
  25. package/dist/collection/components/design-compat/index.js +4 -0
  26. package/dist/collection/components/geovaljaren/geovaljaren.css +21 -0
  27. package/dist/collection/components/geovaljaren/geovaljaren.js +304 -0
  28. package/dist/collection/components/geovaljaren/logic/adapter.utils.js +20 -0
  29. package/dist/collection/components/geovaljaren/logic/data.utils.js +12 -0
  30. package/dist/collection/components/geovaljaren/logic/history-service.js +25 -0
  31. package/dist/collection/components/geovaljaren/logic/search.engine.js +28 -0
  32. package/dist/collection/components/job-selector/constants.js +26 -0
  33. package/dist/collection/components/job-selector/history-service.js +41 -0
  34. package/dist/collection/components/job-selector/job-selector-controller.js +835 -0
  35. package/dist/collection/components/job-selector/job-selector.css +318 -0
  36. package/dist/collection/components/job-selector/job-selector.js +1378 -0
  37. package/dist/collection/components/job-selector/keyboard-handlers.js +84 -0
  38. package/dist/collection/components/job-selector/logic/adapter.utils.js +75 -0
  39. package/dist/collection/components/job-selector/logic/label-formatter.js +118 -0
  40. package/dist/collection/components/job-selector/logic/search.engine.js +50 -0
  41. package/dist/collection/components/job-selector/search-logic.js +35 -0
  42. package/dist/collection/components/job-selector/search.utils.js +224 -0
  43. package/dist/collection/components/job-selector/suggestions-list.js +31 -0
  44. package/dist/collection/components/job-selector/taxonomy-registry.js +60 -0
  45. package/dist/collection/components/job-selector/test-data.mock.js +33 -0
  46. package/dist/collection/components/job-selector/types.js +10 -0
  47. package/dist/collection/components/job-selector/validation-message.js +24 -0
  48. package/dist/collection/demo-data.js +20 -0
  49. package/dist/collection/index.js +7 -0
  50. package/dist/collection/verkstad/verkstad.js +407 -0
  51. package/dist/components/core-selector.d.ts +11 -0
  52. package/dist/components/core-selector.js +1 -0
  53. package/dist/components/core-selector2.js +1 -0
  54. package/dist/components/digi-service-job-selector.d.ts +11 -0
  55. package/dist/components/digi-service-job-selector.js +1 -0
  56. package/dist/components/fuse.js +1 -0
  57. package/dist/components/geo-valjaren.d.ts +11 -0
  58. package/dist/components/geo-valjaren.js +1 -0
  59. package/dist/components/index.d.ts +35 -0
  60. package/dist/components/index.js +1 -0
  61. package/dist/components/job-selector-demo.d.ts +11 -0
  62. package/dist/components/job-selector-demo.js +1 -0
  63. package/dist/components/job-selector.js +1 -0
  64. package/dist/components/neobrutal-search.d.ts +11 -0
  65. package/dist/components/neobrutal-search.js +1 -0
  66. package/dist/components/search.engine.js +1 -0
  67. package/dist/components/types.js +1 -0
  68. package/dist/esm/af-validation-message-F8NIH2rC.js +14 -0
  69. package/dist/esm/core-selector.entry.js +474 -0
  70. package/dist/esm/digi-service-job-selector.entry.js +1617 -0
  71. package/dist/esm/fuse-BPnhMTul.js +1629 -0
  72. package/dist/esm/geo-valjaren.entry.js +14908 -0
  73. package/dist/esm/index-CGXZllj2.js +1806 -0
  74. package/dist/esm/index.js +10 -0
  75. package/dist/esm/job-selector-demo.entry.js +690 -0
  76. package/dist/esm/loader.js +10 -0
  77. package/dist/esm/neobrutal-search.entry.js +169 -0
  78. package/dist/esm/search.engine-nZ7AcXba.js +479 -0
  79. package/dist/esm/taxonomy-registry-Dw0VR9Aw.js +430 -0
  80. package/dist/esm/types-DHUftoZJ.js +12 -0
  81. package/dist/esm/yrkesvaljaren.js +20 -0
  82. package/dist/index.cjs.js +1 -0
  83. package/dist/index.js +1 -0
  84. package/dist/types/components/core-selector/core-selector.d.ts +46 -0
  85. package/dist/types/components/core-selector/types.d.ts +1 -0
  86. package/dist/types/components/design-compat/af-icon.d.ts +7 -0
  87. package/dist/types/components/design-compat/af-label.d.ts +8 -0
  88. package/dist/types/components/design-compat/af-tag.d.ts +8 -0
  89. package/dist/types/components/design-compat/af-validation-message.d.ts +9 -0
  90. package/dist/types/components/design-compat/index.d.ts +5 -0
  91. package/dist/types/components/geovaljaren/geovaljaren.d.ts +24 -0
  92. package/dist/types/components/geovaljaren/logic/adapter.utils.d.ts +7 -0
  93. package/dist/types/components/geovaljaren/logic/data.utils.d.ts +7 -0
  94. package/dist/types/components/geovaljaren/logic/history-service.d.ts +6 -0
  95. package/dist/types/components/geovaljaren/logic/search.engine.d.ts +7 -0
  96. package/dist/types/components/job-selector/ambient.d.ts +4 -0
  97. package/dist/types/components/job-selector/constants.d.ts +13 -0
  98. package/dist/types/components/job-selector/history-service.d.ts +6 -0
  99. package/dist/types/components/job-selector/job-selector-controller.d.ts +82 -0
  100. package/dist/types/components/job-selector/job-selector.d.ts +140 -0
  101. package/dist/types/components/job-selector/keyboard-handlers.d.ts +13 -0
  102. package/dist/types/components/job-selector/logic/adapter.utils.d.ts +12 -0
  103. package/dist/types/components/job-selector/logic/label-formatter.d.ts +4 -0
  104. package/dist/types/components/job-selector/logic/search.engine.d.ts +21 -0
  105. package/dist/types/components/job-selector/search-logic.d.ts +17 -0
  106. package/dist/types/components/job-selector/search.utils.d.ts +10 -0
  107. package/dist/types/components/job-selector/suggestions-list.d.ts +13 -0
  108. package/dist/types/components/job-selector/taxonomy-registry.d.ts +20 -0
  109. package/dist/types/components/job-selector/test-data.mock.d.ts +7 -0
  110. package/dist/types/components/job-selector/types.d.ts +107 -0
  111. package/dist/types/components/job-selector/validation-message.d.ts +8 -0
  112. package/dist/types/components/job-selector-demo/job-selector-demo.d.ts +55 -0
  113. package/dist/types/components/neobrutal-search/neobrutal-search.d.ts +18 -0
  114. package/dist/types/components.d.ts +425 -0
  115. package/dist/types/demo-data.d.ts +16 -0
  116. package/dist/types/index.d.ts +5 -0
  117. package/dist/types/stencil-public-runtime.d.ts +1873 -0
  118. package/dist/types/verkstad/verkstad.d.ts +1 -0
  119. package/dist/yrkesvaljaren/fuse-B0eHOxow.js.map +1 -0
  120. package/dist/yrkesvaljaren/index-Cy4BCo5s.js.map +1 -0
  121. package/dist/yrkesvaljaren/index-DfJXTQqL.js.map +1 -0
  122. package/dist/yrkesvaljaren/index.esm.js +1 -0
  123. package/dist/yrkesvaljaren/index.esm.js.map +1 -0
  124. package/dist/yrkesvaljaren/p-16636162.entry.js +1 -0
  125. package/dist/yrkesvaljaren/p-273cf6df.entry.js +1 -0
  126. package/dist/yrkesvaljaren/p-9e48afa4.entry.js +1 -0
  127. package/dist/yrkesvaljaren/p-BPnhMTul.js +1 -0
  128. package/dist/yrkesvaljaren/p-CGXZllj2.js +3 -0
  129. package/dist/yrkesvaljaren/p-DHUftoZJ.js +1 -0
  130. package/dist/yrkesvaljaren/p-DYFAzvqX.js +1 -0
  131. package/dist/yrkesvaljaren/p-Dw0VR9Aw.js +1 -0
  132. package/dist/yrkesvaljaren/p-aef7b5ae.entry.js +1 -0
  133. package/dist/yrkesvaljaren/p-b0f16abd.entry.js +1 -0
  134. package/dist/yrkesvaljaren/p-uBrs3sSs.js +1 -0
  135. package/dist/yrkesvaljaren/search.engine-DPT6roRm.js.map +1 -0
  136. package/dist/yrkesvaljaren/taxonomy-registry-s5khf6s4.js.map +1 -0
  137. package/dist/yrkesvaljaren/types-DHUftoZJ.js.map +1 -0
  138. package/dist/yrkesvaljaren/yrkesvaljaren.css +1 -0
  139. package/dist/yrkesvaljaren/yrkesvaljaren.esm.js +1 -0
  140. package/dist/yrkesvaljaren/yrkesvaljaren.esm.js.map +1 -0
  141. package/loader/cdn.js +1 -0
  142. package/loader/index.cjs.js +1 -0
  143. package/loader/index.d.ts +24 -0
  144. package/loader/index.es2017.js +1 -0
  145. package/loader/index.js +2 -0
  146. package/package.json +126 -0
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fuse-B0eHOxow.js","sources":["node_modules/fuse.js/dist/fuse.mjs"],"sourcesContent":["/**\n * Fuse.js v7.5.0 - Lightweight fuzzy-search (http://fusejs.io)\n *\n * Copyright (c) 2026 Kiro Risk (http://kiro.me)\n * All Rights Reserved. Apache Software License 2.0\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n//#region src/helpers/typeGuards.ts\nfunction isArray(value) {\n\treturn !Array.isArray ? getTag(value) === \"[object Array]\" : Array.isArray(value);\n}\nfunction baseToString(value) {\n\tif (typeof value == \"string\") return value;\n\tif (typeof value === \"bigint\") return value.toString();\n\tconst result = value + \"\";\n\treturn result == \"0\" && 1 / value == -Infinity ? \"-0\" : result;\n}\nfunction toString(value) {\n\treturn value == null ? \"\" : baseToString(value);\n}\nfunction isString(value) {\n\treturn typeof value === \"string\";\n}\nfunction isNumber(value) {\n\treturn typeof value === \"number\";\n}\nfunction isBoolean(value) {\n\treturn value === true || value === false || isObjectLike(value) && getTag(value) == \"[object Boolean]\";\n}\nfunction isObject(value) {\n\treturn typeof value === \"object\";\n}\nfunction isObjectLike(value) {\n\treturn isObject(value) && value !== null;\n}\nfunction isDefined(value) {\n\treturn value !== void 0 && value !== null;\n}\nfunction isBlank(value) {\n\treturn !value.trim().length;\n}\nfunction getTag(value) {\n\treturn value == null ? value === void 0 ? \"[object Undefined]\" : \"[object Null]\" : Object.prototype.toString.call(value);\n}\n\n//#endregion\n//#region src/core/errorMessages.ts\nconst INCORRECT_INDEX_TYPE = \"Incorrect 'index' type\";\nconst INVALID_DOC_INDEX = \"Invalid doc index: must be a non-negative integer within the bounds of the docs array\";\nconst LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = (key) => `Invalid value for key ${key}`;\nconst PATTERN_LENGTH_TOO_LARGE = (max) => `Pattern length exceeds max of ${max}.`;\nconst MISSING_KEY_PROPERTY = (name) => `Missing ${name} property in key`;\nconst INVALID_KEY_WEIGHT_VALUE = (key) => `Property 'weight' in key '${key}' must be a positive integer`;\nconst FUSE_MATCH_TOKEN_SEARCH_UNSUPPORTED = \"Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.\";\n\n//#endregion\n//#region src/tools/KeyStore.ts\nconst hasOwn = Object.prototype.hasOwnProperty;\nvar KeyStore = class {\n\tconstructor(keys) {\n\t\tthis._keys = [];\n\t\tthis._keyMap = {};\n\t\tlet totalWeight = 0;\n\t\tkeys.forEach((key) => {\n\t\t\tconst obj = createKey(key);\n\t\t\tthis._keys.push(obj);\n\t\t\tthis._keyMap[obj.id] = obj;\n\t\t\ttotalWeight += obj.weight;\n\t\t});\n\t\tthis._keys.forEach((key) => {\n\t\t\tkey.weight /= totalWeight;\n\t\t});\n\t}\n\tget(keyId) {\n\t\treturn this._keyMap[keyId];\n\t}\n\tkeys() {\n\t\treturn this._keys;\n\t}\n\ttoJSON() {\n\t\treturn JSON.stringify(this._keys);\n\t}\n};\nfunction createKey(key) {\n\tlet path = null;\n\tlet id = null;\n\tlet src = null;\n\tlet weight = 1;\n\tlet getFn = null;\n\tif (isString(key) || isArray(key)) {\n\t\tsrc = key;\n\t\tpath = createKeyPath(key);\n\t\tid = createKeyId(key);\n\t} else {\n\t\tif (!hasOwn.call(key, \"name\")) throw new Error(MISSING_KEY_PROPERTY(\"name\"));\n\t\tconst name = key.name;\n\t\tsrc = name;\n\t\tif (hasOwn.call(key, \"weight\") && key.weight !== void 0) {\n\t\t\tweight = key.weight;\n\t\t\tif (weight <= 0) throw new Error(INVALID_KEY_WEIGHT_VALUE(createKeyId(name)));\n\t\t}\n\t\tpath = createKeyPath(name);\n\t\tid = createKeyId(name);\n\t\tgetFn = key.getFn ?? null;\n\t}\n\treturn {\n\t\tpath,\n\t\tid,\n\t\tweight,\n\t\tsrc,\n\t\tgetFn\n\t};\n}\nfunction createKeyPath(key) {\n\treturn isArray(key) ? key : key.split(\".\");\n}\nfunction createKeyId(key) {\n\treturn isArray(key) ? key.join(\".\") : key;\n}\n\n//#endregion\n//#region src/helpers/get.ts\nfunction get(obj, path) {\n\tconst list = [];\n\tlet arr = false;\n\tconst deepGet = (obj, path, index, arrayIndex) => {\n\t\tif (!isDefined(obj)) return;\n\t\tif (!path[index]) list.push(arrayIndex !== void 0 ? {\n\t\t\tv: obj,\n\t\t\ti: arrayIndex\n\t\t} : obj);\n\t\telse {\n\t\t\tconst value = obj[path[index]];\n\t\t\tif (!isDefined(value)) return;\n\t\t\tif (index === path.length - 1 && (isString(value) || isNumber(value) || isBoolean(value) || typeof value === \"bigint\")) list.push(arrayIndex !== void 0 ? {\n\t\t\t\tv: toString(value),\n\t\t\t\ti: arrayIndex\n\t\t\t} : toString(value));\n\t\t\telse if (isArray(value)) {\n\t\t\t\tarr = true;\n\t\t\t\tfor (let i = 0, len = value.length; i < len; i += 1) deepGet(value[i], path, index + 1, i);\n\t\t\t} else if (path.length) deepGet(value, path, index + 1, arrayIndex);\n\t\t}\n\t};\n\tdeepGet(obj, isString(path) ? path.split(\".\") : path, 0);\n\treturn arr ? list : list[0];\n}\n\n//#endregion\n//#region src/core/config.ts\nconst MatchOptions = {\n\tincludeMatches: false,\n\tfindAllMatches: false,\n\tminMatchCharLength: 1\n};\nconst BasicOptions = {\n\tisCaseSensitive: false,\n\tignoreDiacritics: false,\n\tincludeScore: false,\n\tkeys: [],\n\tshouldSort: true,\n\tsortFn: (a, b) => a.score === b.score ? a.idx < b.idx ? -1 : 1 : a.score < b.score ? -1 : 1\n};\nconst FuzzyOptions = {\n\tlocation: 0,\n\tthreshold: .6,\n\tdistance: 100\n};\nconst AdvancedOptions = {\n\tuseExtendedSearch: false,\n\tuseTokenSearch: false,\n\ttokenize: void 0,\n\ttokenMatch: \"any\",\n\tgetFn: get,\n\tignoreLocation: false,\n\tignoreFieldNorm: false,\n\tfieldNormWeight: 1\n};\nconst Config = Object.freeze({\n\t...BasicOptions,\n\t...MatchOptions,\n\t...FuzzyOptions,\n\t...AdvancedOptions\n});\n\n//#endregion\n//#region src/tools/fieldNorm.ts\nfunction isWordSeparator(code) {\n\treturn code >= 9 && code <= 13 || code === 32 || code === 160;\n}\nfunction norm(weight = 1, mantissa = 3) {\n\tconst cache = /* @__PURE__ */ new Map();\n\tconst m = Math.pow(10, mantissa);\n\treturn {\n\t\tget(value) {\n\t\t\tlet numTokens = 0;\n\t\t\tlet inWord = false;\n\t\t\tfor (let i = 0; i < value.length; i++) if (!isWordSeparator(value.charCodeAt(i))) {\n\t\t\t\tif (!inWord) {\n\t\t\t\t\tnumTokens++;\n\t\t\t\t\tinWord = true;\n\t\t\t\t}\n\t\t\t} else inWord = false;\n\t\t\tif (numTokens === 0) numTokens = 1;\n\t\t\tif (cache.has(numTokens)) return cache.get(numTokens);\n\t\t\tconst n = Math.round(m / Math.pow(numTokens, .5 * weight)) / m;\n\t\t\tcache.set(numTokens, n);\n\t\t\treturn n;\n\t\t},\n\t\tclear() {\n\t\t\tcache.clear();\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/tools/FuseIndex.ts\nvar FuseIndex = class {\n\tconstructor({ getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}) {\n\t\tthis.norm = norm(fieldNormWeight, 3);\n\t\tthis.getFn = getFn;\n\t\tthis.isCreated = false;\n\t\tthis.docs = [];\n\t\tthis.keys = [];\n\t\tthis._keysMap = {};\n\t\tthis.setIndexRecords();\n\t}\n\tsetSources(docs = []) {\n\t\tthis.docs = docs;\n\t}\n\tsetIndexRecords(records = []) {\n\t\tthis.records = records;\n\t}\n\tsetKeys(keys = []) {\n\t\tthis.keys = keys;\n\t\tthis._keysMap = {};\n\t\tkeys.forEach((key, idx) => {\n\t\t\tthis._keysMap[key.id] = idx;\n\t\t});\n\t}\n\tcreate() {\n\t\tif (this.isCreated || !this.docs.length) return;\n\t\tthis.isCreated = true;\n\t\tconst len = this.docs.length;\n\t\tthis.records = new Array(len);\n\t\tlet recordCount = 0;\n\t\tif (isString(this.docs[0])) for (let i = 0; i < len; i++) {\n\t\t\tconst record = this._createStringRecord(this.docs[i], i);\n\t\t\tif (record) this.records[recordCount++] = record;\n\t\t}\n\t\telse for (let i = 0; i < len; i++) this.records[recordCount++] = this._createObjectRecord(this.docs[i], i);\n\t\tthis.records.length = recordCount;\n\t\tthis.norm.clear();\n\t}\n\tadd(doc, docIndex) {\n\t\tif (!Number.isInteger(docIndex) || docIndex < 0) throw new Error(INVALID_DOC_INDEX);\n\t\tif (isString(doc)) {\n\t\t\tconst record = this._createStringRecord(doc, docIndex);\n\t\t\tif (record) this.records.push(record);\n\t\t\treturn record;\n\t\t}\n\t\tconst record = this._createObjectRecord(doc, docIndex);\n\t\tthis.records.push(record);\n\t\treturn record;\n\t}\n\tremoveAt(idx) {\n\t\tif (!Number.isInteger(idx) || idx < 0) throw new Error(INVALID_DOC_INDEX);\n\t\tfor (let i = 0, len = this.records.length; i < len; i += 1) if (this.records[i].i === idx) {\n\t\t\tthis.records.splice(i, 1);\n\t\t\tbreak;\n\t\t}\n\t\tfor (let i = 0, len = this.records.length; i < len; i += 1) if (this.records[i].i > idx) this.records[i].i -= 1;\n\t}\n\tremoveAll(indices) {\n\t\tconst toRemove = /* @__PURE__ */ new Set();\n\t\tfor (const v of indices) if (Number.isInteger(v) && v >= 0) toRemove.add(v);\n\t\tif (toRemove.size === 0) return;\n\t\tthis.records = this.records.filter((r) => !toRemove.has(r.i));\n\t\tconst sorted = Array.from(toRemove).sort((a, b) => a - b);\n\t\tfor (const record of this.records) {\n\t\t\tlet lo = 0;\n\t\t\tlet hi = sorted.length;\n\t\t\twhile (lo < hi) {\n\t\t\t\tconst mid = lo + hi >>> 1;\n\t\t\t\tif (sorted[mid] < record.i) lo = mid + 1;\n\t\t\t\telse hi = mid;\n\t\t\t}\n\t\t\trecord.i -= lo;\n\t\t}\n\t}\n\tgetValueForItemAtKeyId(item, keyId) {\n\t\treturn item[this._keysMap[keyId]];\n\t}\n\tsize() {\n\t\treturn this.records.length;\n\t}\n\t_createStringRecord(doc, docIndex) {\n\t\tif (!isDefined(doc) || isBlank(doc)) return null;\n\t\treturn {\n\t\t\tv: doc,\n\t\t\ti: docIndex,\n\t\t\tn: this.norm.get(doc)\n\t\t};\n\t}\n\t_createObjectRecord(doc, docIndex) {\n\t\tconst record = {\n\t\t\ti: docIndex,\n\t\t\t$: {}\n\t\t};\n\t\tfor (let keyIndex = 0, keyLen = this.keys.length; keyIndex < keyLen; keyIndex++) {\n\t\t\tconst key = this.keys[keyIndex];\n\t\t\tconst value = key.getFn ? key.getFn(doc) : this.getFn(doc, key.path);\n\t\t\tif (!isDefined(value)) continue;\n\t\t\tif (isArray(value)) {\n\t\t\t\tconst subRecords = [];\n\t\t\t\tfor (let i = 0, len = value.length; i < len; i += 1) {\n\t\t\t\t\tconst item = value[i];\n\t\t\t\t\tif (!isDefined(item)) continue;\n\t\t\t\t\tif (isString(item)) {\n\t\t\t\t\t\tif (!isBlank(item)) {\n\t\t\t\t\t\t\tconst subRecord = {\n\t\t\t\t\t\t\t\tv: item,\n\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t\tn: this.norm.get(item)\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tsubRecords.push(subRecord);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (isDefined(item.v)) {\n\t\t\t\t\t\tconst text = isString(item.v) ? item.v : toString(item.v);\n\t\t\t\t\t\tif (!isBlank(text)) {\n\t\t\t\t\t\t\tconst subRecord = {\n\t\t\t\t\t\t\t\tv: text,\n\t\t\t\t\t\t\t\ti: item.i,\n\t\t\t\t\t\t\t\tn: this.norm.get(text)\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tsubRecords.push(subRecord);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trecord.$[keyIndex] = subRecords;\n\t\t\t} else if (isString(value) && !isBlank(value)) {\n\t\t\t\tconst subRecord = {\n\t\t\t\t\tv: value,\n\t\t\t\t\tn: this.norm.get(value)\n\t\t\t\t};\n\t\t\t\trecord.$[keyIndex] = subRecord;\n\t\t\t}\n\t\t}\n\t\treturn record;\n\t}\n\ttoJSON() {\n\t\treturn {\n\t\t\tkeys: this.keys.map(({ getFn, ...key }) => key),\n\t\t\trecords: this.records\n\t\t};\n\t}\n};\nfunction createIndex(keys, docs, { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}) {\n\tconst myIndex = new FuseIndex({\n\t\tgetFn,\n\t\tfieldNormWeight\n\t});\n\tmyIndex.setKeys(keys.map(createKey));\n\tmyIndex.setSources(docs);\n\tmyIndex.create();\n\treturn myIndex;\n}\nfunction parseIndex(data, { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}) {\n\tconst { keys, records } = data;\n\tconst myIndex = new FuseIndex({\n\t\tgetFn,\n\t\tfieldNormWeight\n\t});\n\tmyIndex.setKeys(keys);\n\tmyIndex.setIndexRecords(records);\n\treturn myIndex;\n}\n\n//#endregion\n//#region src/search/bitap/convertMaskToIndices.ts\nfunction convertMaskToIndices(matchmask = [], minMatchCharLength = Config.minMatchCharLength) {\n\tconst indices = [];\n\tlet start = -1;\n\tlet end = -1;\n\tlet i = 0;\n\tfor (let len = matchmask.length; i < len; i += 1) {\n\t\tconst match = matchmask[i];\n\t\tif (match && start === -1) start = i;\n\t\telse if (!match && start !== -1) {\n\t\t\tend = i - 1;\n\t\t\tif (end - start + 1 >= minMatchCharLength) indices.push([start, end]);\n\t\t\tstart = -1;\n\t\t}\n\t}\n\tif (matchmask[i - 1] && i - start >= minMatchCharLength) indices.push([start, i - 1]);\n\treturn indices;\n}\n\n//#endregion\n//#region src/search/bitap/search.ts\nfunction search(text, pattern, patternAlphabet, { location = Config.location, distance = Config.distance, threshold = Config.threshold, findAllMatches = Config.findAllMatches, minMatchCharLength = Config.minMatchCharLength, includeMatches = Config.includeMatches, ignoreLocation = Config.ignoreLocation } = {}) {\n\tif (pattern.length > 32) throw new Error(PATTERN_LENGTH_TOO_LARGE(32));\n\tconst patternLen = pattern.length;\n\tconst textLen = text.length;\n\tconst expectedLocation = Math.max(0, Math.min(location, textLen));\n\tlet currentThreshold = threshold;\n\tlet bestLocation = expectedLocation;\n\tconst calcScore = (errors, currentLocation) => {\n\t\tconst accuracy = errors / patternLen;\n\t\tif (ignoreLocation) return accuracy;\n\t\tconst proximity = Math.abs(expectedLocation - currentLocation);\n\t\tif (!distance) return proximity ? 1 : accuracy;\n\t\treturn accuracy + proximity / distance;\n\t};\n\tconst computeMatches = minMatchCharLength > 1 || includeMatches;\n\tconst matchMask = computeMatches ? Array(textLen) : [];\n\tlet index;\n\twhile ((index = text.indexOf(pattern, bestLocation)) > -1) {\n\t\tconst score = calcScore(0, index);\n\t\tcurrentThreshold = Math.min(score, currentThreshold);\n\t\tbestLocation = index + patternLen;\n\t\tif (computeMatches) {\n\t\t\tlet i = 0;\n\t\t\twhile (i < patternLen) {\n\t\t\t\tmatchMask[index + i] = 1;\n\t\t\t\ti += 1;\n\t\t\t}\n\t\t}\n\t}\n\tbestLocation = -1;\n\tlet lastBitArr = [];\n\tlet finalScore = 1;\n\tlet bestErrors = 0;\n\tlet binMax = patternLen + textLen;\n\tconst mask = 1 << patternLen - 1;\n\tfor (let i = 0; i < patternLen; i += 1) {\n\t\tlet binMin = 0;\n\t\tlet binMid = binMax;\n\t\twhile (binMin < binMid) {\n\t\t\tif (calcScore(i, expectedLocation + binMid) <= currentThreshold) binMin = binMid;\n\t\t\telse binMax = binMid;\n\t\t\tbinMid = Math.floor((binMax - binMin) / 2 + binMin);\n\t\t}\n\t\tbinMax = binMid;\n\t\tlet start = Math.max(1, expectedLocation - binMid + 1);\n\t\tconst finish = findAllMatches ? textLen : Math.min(expectedLocation + binMid, textLen) + patternLen;\n\t\tconst bitArr = Array(finish + 2);\n\t\tbitArr[finish + 1] = (1 << i) - 1;\n\t\tfor (let j = finish; j >= start; j -= 1) {\n\t\t\tconst currentLocation = j - 1;\n\t\t\tconst charMatch = patternAlphabet[text[currentLocation]];\n\t\t\tbitArr[j] = (bitArr[j + 1] << 1 | 1) & charMatch;\n\t\t\tif (i) bitArr[j] |= (lastBitArr[j + 1] | lastBitArr[j]) << 1 | 1 | lastBitArr[j + 1];\n\t\t\tif (bitArr[j] & mask) {\n\t\t\t\tfinalScore = calcScore(i, currentLocation);\n\t\t\t\tif (finalScore <= currentThreshold) {\n\t\t\t\t\tcurrentThreshold = finalScore;\n\t\t\t\t\tbestLocation = currentLocation;\n\t\t\t\t\tbestErrors = i;\n\t\t\t\t\tif (bestLocation <= expectedLocation) break;\n\t\t\t\t\tstart = Math.max(1, 2 * expectedLocation - bestLocation);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (calcScore(i + 1, expectedLocation) > currentThreshold) break;\n\t\tlastBitArr = bitArr;\n\t}\n\tif (computeMatches && bestLocation >= 0) {\n\t\tconst matchEnd = Math.min(textLen - 1, bestLocation + patternLen - 1 + bestErrors);\n\t\tfor (let k = bestLocation; k <= matchEnd; k += 1) if (patternAlphabet[text[k]]) matchMask[k] = 1;\n\t}\n\tconst result = {\n\t\tisMatch: bestLocation >= 0,\n\t\tscore: Math.max(.001, finalScore)\n\t};\n\tif (computeMatches) {\n\t\tconst indices = convertMaskToIndices(matchMask, minMatchCharLength);\n\t\tif (!indices.length) result.isMatch = false;\n\t\telse if (includeMatches) result.indices = indices;\n\t}\n\treturn result;\n}\n\n//#endregion\n//#region src/search/bitap/createPatternAlphabet.ts\nfunction createPatternAlphabet(pattern) {\n\tconst mask = {};\n\tfor (let i = 0, len = pattern.length; i < len; i += 1) {\n\t\tconst char = pattern.charAt(i);\n\t\tmask[char] = (mask[char] || 0) | 1 << len - i - 1;\n\t}\n\treturn mask;\n}\n\n//#endregion\n//#region src/helpers/mergeIndices.ts\nfunction mergeIndices(indices) {\n\tif (indices.length <= 1) return indices;\n\tindices.sort((a, b) => a[0] - b[0] || a[1] - b[1]);\n\tconst merged = [indices[0]];\n\tfor (let i = 1, len = indices.length; i < len; i += 1) {\n\t\tconst last = merged[merged.length - 1];\n\t\tconst curr = indices[i];\n\t\tif (curr[0] <= last[1] + 1) last[1] = Math.max(last[1], curr[1]);\n\t\telse merged.push(curr);\n\t}\n\treturn merged;\n}\n\n//#endregion\n//#region src/helpers/diacritics.ts\nconst NON_DECOMPOSABLE_MAP = {\n\t\"ł\": \"l\",\n\t\"Ł\": \"L\",\n\t\"đ\": \"d\",\n\t\"Đ\": \"D\",\n\t\"ø\": \"o\",\n\t\"Ø\": \"O\",\n\t\"ħ\": \"h\",\n\t\"Ħ\": \"H\",\n\t\"ŧ\": \"t\",\n\t\"Ŧ\": \"T\",\n\t\"ı\": \"i\",\n\t\"ß\": \"ss\"\n};\nconst NON_DECOMPOSABLE_RE = new RegExp(\"[\" + Object.keys(NON_DECOMPOSABLE_MAP).join(\"\") + \"]\", \"g\");\nconst stripDiacritics = typeof String.prototype.normalize === \"function\" ? (str) => str.normalize(\"NFD\").replace(/[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C04\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F]/g, \"\").replace(NON_DECOMPOSABLE_RE, (ch) => NON_DECOMPOSABLE_MAP[ch]) : (str) => str;\n\n//#endregion\n//#region src/search/bitap/index.ts\nvar BitapSearch = class {\n\tconstructor(pattern, { location = Config.location, threshold = Config.threshold, distance = Config.distance, includeMatches = Config.includeMatches, findAllMatches = Config.findAllMatches, minMatchCharLength = Config.minMatchCharLength, isCaseSensitive = Config.isCaseSensitive, ignoreDiacritics = Config.ignoreDiacritics, ignoreLocation = Config.ignoreLocation } = {}) {\n\t\tthis.options = {\n\t\t\tlocation,\n\t\t\tthreshold,\n\t\t\tdistance,\n\t\t\tincludeMatches,\n\t\t\tfindAllMatches,\n\t\t\tminMatchCharLength,\n\t\t\tisCaseSensitive,\n\t\t\tignoreDiacritics,\n\t\t\tignoreLocation\n\t\t};\n\t\tpattern = isCaseSensitive ? pattern : pattern.toLowerCase();\n\t\tpattern = ignoreDiacritics ? stripDiacritics(pattern) : pattern;\n\t\tthis.pattern = pattern;\n\t\tthis.chunks = [];\n\t\tif (!this.pattern.length) return;\n\t\tconst addChunk = (pattern, startIndex) => {\n\t\t\tthis.chunks.push({\n\t\t\t\tpattern,\n\t\t\t\talphabet: createPatternAlphabet(pattern),\n\t\t\t\tstartIndex\n\t\t\t});\n\t\t};\n\t\tconst len = this.pattern.length;\n\t\tif (len > 32) {\n\t\t\tlet i = 0;\n\t\t\tconst remainder = len % 32;\n\t\t\tconst end = len - remainder;\n\t\t\twhile (i < end) {\n\t\t\t\taddChunk(this.pattern.substr(i, 32), i);\n\t\t\t\ti += 32;\n\t\t\t}\n\t\t\tif (remainder) {\n\t\t\t\tconst startIndex = len - 32;\n\t\t\t\taddChunk(this.pattern.substr(startIndex), startIndex);\n\t\t\t}\n\t\t} else addChunk(this.pattern, 0);\n\t}\n\tsearchIn(text) {\n\t\tconst { isCaseSensitive, ignoreDiacritics, includeMatches } = this.options;\n\t\ttext = isCaseSensitive ? text : text.toLowerCase();\n\t\ttext = ignoreDiacritics ? stripDiacritics(text) : text;\n\t\tif (this.pattern === text) {\n\t\t\tif (text.length < this.options.minMatchCharLength) return {\n\t\t\t\tisMatch: false,\n\t\t\t\tscore: 1\n\t\t\t};\n\t\t\tconst result = {\n\t\t\t\tisMatch: true,\n\t\t\t\tscore: 0\n\t\t\t};\n\t\t\tif (includeMatches) result.indices = [[0, text.length - 1]];\n\t\t\treturn result;\n\t\t}\n\t\tconst { location, distance, threshold, findAllMatches, minMatchCharLength, ignoreLocation } = this.options;\n\t\tconst allIndices = [];\n\t\tlet totalScore = 0;\n\t\tlet hasMatches = false;\n\t\tthis.chunks.forEach(({ pattern, alphabet, startIndex }) => {\n\t\t\tconst { isMatch, score, indices } = search(text, pattern, alphabet, {\n\t\t\t\tlocation: location + startIndex,\n\t\t\t\tdistance,\n\t\t\t\tthreshold,\n\t\t\t\tfindAllMatches,\n\t\t\t\tminMatchCharLength,\n\t\t\t\tincludeMatches,\n\t\t\t\tignoreLocation\n\t\t\t});\n\t\t\tif (isMatch) hasMatches = true;\n\t\t\ttotalScore += score;\n\t\t\tif (isMatch && indices) allIndices.push(...indices);\n\t\t});\n\t\tconst result = {\n\t\t\tisMatch: hasMatches,\n\t\t\tscore: hasMatches ? totalScore / this.chunks.length : 1\n\t\t};\n\t\tif (hasMatches && includeMatches) result.indices = mergeIndices(allIndices);\n\t\treturn result;\n\t}\n};\n\n//#endregion\n//#region src/search/extended/matchers.ts\nconst MULTI_MATCH_TYPES = new Set([\"fuzzy\", \"include\"]);\nfunction isInverse(type) {\n\treturn type.startsWith(\"inverse\");\n}\nconst matchers = [\n\t{\n\t\ttype: \"exact\",\n\t\tmultiRegex: /^=\"(.*)\"$/,\n\t\tsingleRegex: /^=(.*)$/,\n\t\tcreate: (pattern) => ({\n\t\t\ttype: \"exact\",\n\t\t\tsearch(text) {\n\t\t\t\tconst isMatch = text === pattern;\n\t\t\t\treturn {\n\t\t\t\t\tisMatch,\n\t\t\t\t\tscore: isMatch ? 0 : 1,\n\t\t\t\t\tindices: [0, pattern.length - 1]\n\t\t\t\t};\n\t\t\t}\n\t\t})\n\t},\n\t{\n\t\ttype: \"include\",\n\t\tmultiRegex: /^'\"(.*)\"$/,\n\t\tsingleRegex: /^'(.*)$/,\n\t\tcreate: (pattern) => ({\n\t\t\ttype: \"include\",\n\t\t\tsearch(text) {\n\t\t\t\tlet location = 0;\n\t\t\t\tlet index;\n\t\t\t\tconst indices = [];\n\t\t\t\tconst patternLen = pattern.length;\n\t\t\t\twhile ((index = text.indexOf(pattern, location)) > -1) {\n\t\t\t\t\tlocation = index + patternLen;\n\t\t\t\t\tindices.push([index, location - 1]);\n\t\t\t\t}\n\t\t\t\tconst isMatch = !!indices.length;\n\t\t\t\treturn {\n\t\t\t\t\tisMatch,\n\t\t\t\t\tscore: isMatch ? 0 : 1,\n\t\t\t\t\tindices\n\t\t\t\t};\n\t\t\t}\n\t\t})\n\t},\n\t{\n\t\ttype: \"prefix-exact\",\n\t\tmultiRegex: /^\\^\"(.*)\"$/,\n\t\tsingleRegex: /^\\^(.*)$/,\n\t\tcreate: (pattern) => ({\n\t\t\ttype: \"prefix-exact\",\n\t\t\tsearch(text) {\n\t\t\t\tconst isMatch = text.startsWith(pattern);\n\t\t\t\treturn {\n\t\t\t\t\tisMatch,\n\t\t\t\t\tscore: isMatch ? 0 : 1,\n\t\t\t\t\tindices: [0, pattern.length - 1]\n\t\t\t\t};\n\t\t\t}\n\t\t})\n\t},\n\t{\n\t\ttype: \"inverse-prefix-exact\",\n\t\tmultiRegex: /^!\\^\"(.*)\"$/,\n\t\tsingleRegex: /^!\\^(.*)$/,\n\t\tcreate: (pattern) => ({\n\t\t\ttype: \"inverse-prefix-exact\",\n\t\t\tsearch(text) {\n\t\t\t\tconst isMatch = !text.startsWith(pattern);\n\t\t\t\treturn {\n\t\t\t\t\tisMatch,\n\t\t\t\t\tscore: isMatch ? 0 : 1,\n\t\t\t\t\tindices: [0, text.length - 1]\n\t\t\t\t};\n\t\t\t}\n\t\t})\n\t},\n\t{\n\t\ttype: \"inverse-suffix-exact\",\n\t\tmultiRegex: /^!\"(.*)\"\\$$/,\n\t\tsingleRegex: /^!(.*)\\$$/,\n\t\tcreate: (pattern) => ({\n\t\t\ttype: \"inverse-suffix-exact\",\n\t\t\tsearch(text) {\n\t\t\t\tconst isMatch = !text.endsWith(pattern);\n\t\t\t\treturn {\n\t\t\t\t\tisMatch,\n\t\t\t\t\tscore: isMatch ? 0 : 1,\n\t\t\t\t\tindices: [0, text.length - 1]\n\t\t\t\t};\n\t\t\t}\n\t\t})\n\t},\n\t{\n\t\ttype: \"suffix-exact\",\n\t\tmultiRegex: /^\"(.*)\"\\$$/,\n\t\tsingleRegex: /^(.*)\\$$/,\n\t\tcreate: (pattern) => ({\n\t\t\ttype: \"suffix-exact\",\n\t\t\tsearch(text) {\n\t\t\t\tconst isMatch = text.endsWith(pattern);\n\t\t\t\treturn {\n\t\t\t\t\tisMatch,\n\t\t\t\t\tscore: isMatch ? 0 : 1,\n\t\t\t\t\tindices: [text.length - pattern.length, text.length - 1]\n\t\t\t\t};\n\t\t\t}\n\t\t})\n\t},\n\t{\n\t\ttype: \"inverse-exact\",\n\t\tmultiRegex: /^!\"(.*)\"$/,\n\t\tsingleRegex: /^!(.*)$/,\n\t\tcreate: (pattern) => ({\n\t\t\ttype: \"inverse-exact\",\n\t\t\tsearch(text) {\n\t\t\t\tconst isMatch = text.indexOf(pattern) === -1;\n\t\t\t\treturn {\n\t\t\t\t\tisMatch,\n\t\t\t\t\tscore: isMatch ? 0 : 1,\n\t\t\t\t\tindices: [0, text.length - 1]\n\t\t\t\t};\n\t\t\t}\n\t\t})\n\t},\n\t{\n\t\ttype: \"fuzzy\",\n\t\tmultiRegex: /^\"(.*)\"$/,\n\t\tsingleRegex: /^(.*)$/,\n\t\tcreate: (pattern, options = {}) => {\n\t\t\tconst bitap = new BitapSearch(pattern, {\n\t\t\t\tlocation: options.location ?? Config.location,\n\t\t\t\tthreshold: options.threshold ?? Config.threshold,\n\t\t\t\tdistance: options.distance ?? Config.distance,\n\t\t\t\tincludeMatches: options.includeMatches ?? Config.includeMatches,\n\t\t\t\tfindAllMatches: options.findAllMatches ?? Config.findAllMatches,\n\t\t\t\tminMatchCharLength: options.minMatchCharLength ?? Config.minMatchCharLength,\n\t\t\t\tisCaseSensitive: options.isCaseSensitive ?? Config.isCaseSensitive,\n\t\t\t\tignoreDiacritics: options.ignoreDiacritics ?? Config.ignoreDiacritics,\n\t\t\t\tignoreLocation: options.ignoreLocation ?? Config.ignoreLocation\n\t\t\t});\n\t\t\treturn {\n\t\t\t\ttype: \"fuzzy\",\n\t\t\t\tsearch(text) {\n\t\t\t\t\treturn bitap.searchIn(text);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}\n];\n\n//#endregion\n//#region src/search/extended/parseQuery.ts\nconst matchersLen = matchers.length;\nconst ESCAPED_PIPE = \"\\0\";\nconst OR_TOKEN = \"|\";\nfunction tokenize(pattern) {\n\tconst tokens = [];\n\tconst len = pattern.length;\n\tlet i = 0;\n\twhile (i < len) {\n\t\twhile (i < len && pattern[i] === \" \") i++;\n\t\tif (i >= len) break;\n\t\tlet j = i;\n\t\twhile (j < len && pattern[j] !== \" \" && pattern[j] !== \"\\\"\") j++;\n\t\tif (j < len && pattern[j] === \"\\\"\") {\n\t\t\tj++;\n\t\t\twhile (j < len) {\n\t\t\t\tif (pattern[j] === \"\\\"\") {\n\t\t\t\t\tconst next = j + 1;\n\t\t\t\t\tif (next >= len || pattern[next] === \" \") {\n\t\t\t\t\t\tj++;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif (pattern[next] === \"$\" && (next + 1 >= len || pattern[next + 1] === \" \")) {\n\t\t\t\t\t\tj += 2;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tj++;\n\t\t\t}\n\t\t\ttokens.push(pattern.substring(i, j));\n\t\t\ti = j;\n\t\t} else {\n\t\t\twhile (j < len && pattern[j] !== \" \") j++;\n\t\t\ttokens.push(pattern.substring(i, j));\n\t\t\ti = j;\n\t\t}\n\t}\n\treturn tokens;\n}\nfunction getMatch(pattern, exp) {\n\tconst matches = pattern.match(exp);\n\treturn matches ? matches[1] : null;\n}\nfunction parseQuery(pattern, options = {}) {\n\treturn pattern.replace(/\\\\\\|/g, ESCAPED_PIPE).split(OR_TOKEN).map((item) => {\n\t\tconst query = tokenize(item.replace(/\\u0000/g, \"|\").trim()).filter((item) => item && !!item.trim());\n\t\tconst results = [];\n\t\tfor (let i = 0, len = query.length; i < len; i += 1) {\n\t\t\tconst queryItem = query[i];\n\t\t\tlet found = false;\n\t\t\tlet idx = -1;\n\t\t\twhile (!found && ++idx < matchersLen) {\n\t\t\t\tconst def = matchers[idx];\n\t\t\t\tconst token = getMatch(queryItem, def.multiRegex);\n\t\t\t\tif (token) {\n\t\t\t\t\tresults.push(def.create(token, options));\n\t\t\t\t\tfound = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (found) continue;\n\t\t\tidx = -1;\n\t\t\twhile (++idx < matchersLen) {\n\t\t\t\tconst def = matchers[idx];\n\t\t\t\tconst token = getMatch(queryItem, def.singleRegex);\n\t\t\t\tif (token) {\n\t\t\t\t\tresults.push(def.create(token, options));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn results;\n\t});\n}\n\n//#endregion\n//#region src/search/extended/index.ts\nvar ExtendedSearch = class {\n\tconstructor(pattern, { isCaseSensitive = Config.isCaseSensitive, ignoreDiacritics = Config.ignoreDiacritics, includeMatches = Config.includeMatches, minMatchCharLength = Config.minMatchCharLength, ignoreLocation = Config.ignoreLocation, findAllMatches = Config.findAllMatches, location = Config.location, threshold = Config.threshold, distance = Config.distance } = {}) {\n\t\tthis.query = null;\n\t\tthis.options = {\n\t\t\tisCaseSensitive,\n\t\t\tignoreDiacritics,\n\t\t\tincludeMatches,\n\t\t\tminMatchCharLength,\n\t\t\tfindAllMatches,\n\t\t\tignoreLocation,\n\t\t\tlocation,\n\t\t\tthreshold,\n\t\t\tdistance\n\t\t};\n\t\tpattern = isCaseSensitive ? pattern : pattern.toLowerCase();\n\t\tpattern = ignoreDiacritics ? stripDiacritics(pattern) : pattern;\n\t\tthis.pattern = pattern;\n\t\tthis.query = parseQuery(this.pattern, this.options);\n\t}\n\tstatic condition(_, options) {\n\t\treturn options.useExtendedSearch;\n\t}\n\tsearchIn(text) {\n\t\tconst query = this.query;\n\t\tif (!query) return {\n\t\t\tisMatch: false,\n\t\t\tscore: 1\n\t\t};\n\t\tconst { includeMatches, isCaseSensitive, ignoreDiacritics } = this.options;\n\t\ttext = isCaseSensitive ? text : text.toLowerCase();\n\t\ttext = ignoreDiacritics ? stripDiacritics(text) : text;\n\t\tlet numMatches = 0;\n\t\tconst allIndices = [];\n\t\tlet totalScore = 0;\n\t\tlet hasInverse = false;\n\t\tfor (let i = 0, qLen = query.length; i < qLen; i += 1) {\n\t\t\tconst searchers = query[i];\n\t\t\tallIndices.length = 0;\n\t\t\tnumMatches = 0;\n\t\t\thasInverse = false;\n\t\t\tfor (let j = 0, pLen = searchers.length; j < pLen; j += 1) {\n\t\t\t\tconst matcher = searchers[j];\n\t\t\t\tconst { isMatch, indices, score } = matcher.search(text);\n\t\t\t\tif (isMatch) {\n\t\t\t\t\tnumMatches += 1;\n\t\t\t\t\ttotalScore += score;\n\t\t\t\t\tif (isInverse(matcher.type)) hasInverse = true;\n\t\t\t\t\tif (includeMatches) if (MULTI_MATCH_TYPES.has(matcher.type)) allIndices.push(...indices);\n\t\t\t\t\telse allIndices.push(indices);\n\t\t\t\t} else {\n\t\t\t\t\ttotalScore = 0;\n\t\t\t\t\tnumMatches = 0;\n\t\t\t\t\tallIndices.length = 0;\n\t\t\t\t\thasInverse = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (numMatches) {\n\t\t\t\tconst result = {\n\t\t\t\t\tisMatch: true,\n\t\t\t\t\tscore: totalScore / numMatches\n\t\t\t\t};\n\t\t\t\tif (hasInverse) result.hasInverse = true;\n\t\t\t\tif (includeMatches) result.indices = mergeIndices(allIndices);\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tisMatch: false,\n\t\t\tscore: 1\n\t\t};\n\t}\n};\n\n//#endregion\n//#region src/core/register.ts\nconst registeredSearchers = [];\nfunction register(...args) {\n\tregisteredSearchers.push(...args);\n}\nfunction createSearcher(pattern, options) {\n\tfor (let i = 0, len = registeredSearchers.length; i < len; i += 1) {\n\t\tconst searcherClass = registeredSearchers[i];\n\t\tif (searcherClass.condition(pattern, options)) return new searcherClass(pattern, options);\n\t}\n\treturn new BitapSearch(pattern, options);\n}\n\n//#endregion\n//#region src/core/queryParser.ts\nconst LogicalOperator = {\n\tAND: \"$and\",\n\tOR: \"$or\"\n};\nconst KeyType = {\n\tPATH: \"$path\",\n\tPATTERN: \"$val\"\n};\nconst isExpression = (query) => !!(query[LogicalOperator.AND] || query[LogicalOperator.OR]);\nconst isPath = (query) => !!query[KeyType.PATH];\nconst isLeaf = (query) => !isArray(query) && isObject(query) && !isExpression(query);\nconst convertToExplicit = (query) => ({ [LogicalOperator.AND]: Object.keys(query).map((key) => ({ [key]: query[key] })) });\nfunction parse(query, options, { auto = true } = {}) {\n\tconst next = (query) => {\n\t\tif (isString(query)) {\n\t\t\tconst obj = {\n\t\t\t\tkeyId: null,\n\t\t\t\tpattern: query\n\t\t\t};\n\t\t\tif (auto) obj.searcher = createSearcher(query, options);\n\t\t\treturn obj;\n\t\t}\n\t\tconst keys = Object.keys(query);\n\t\tconst isQueryPath = isPath(query);\n\t\tif (!isQueryPath && keys.length > 1 && !isExpression(query)) return next(convertToExplicit(query));\n\t\tif (isLeaf(query)) {\n\t\t\tconst key = isQueryPath ? query[KeyType.PATH] : keys[0];\n\t\t\tconst pattern = isQueryPath ? query[KeyType.PATTERN] : query[key];\n\t\t\tif (!isString(pattern)) throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key));\n\t\t\tconst obj = {\n\t\t\t\tkeyId: createKeyId(key),\n\t\t\t\tpattern\n\t\t\t};\n\t\t\tif (auto) obj.searcher = createSearcher(pattern, options);\n\t\t\treturn obj;\n\t\t}\n\t\tconst node = {\n\t\t\tchildren: [],\n\t\t\toperator: keys[0]\n\t\t};\n\t\tkeys.forEach((key) => {\n\t\t\tconst value = query[key];\n\t\t\tif (isArray(value)) value.forEach((item) => {\n\t\t\t\tnode.children.push(next(item));\n\t\t\t});\n\t\t});\n\t\treturn node;\n\t};\n\tif (!isExpression(query)) query = convertToExplicit(query);\n\treturn next(query);\n}\n\n//#endregion\n//#region src/core/computeScore.ts\nfunction computeScoreSingle(matches, { ignoreFieldNorm = Config.ignoreFieldNorm }) {\n\tlet totalScore = 1;\n\tmatches.forEach(({ key, norm, score }) => {\n\t\tconst weight = key ? key.weight : null;\n\t\ttotalScore *= Math.pow(score === 0 && weight ? Number.EPSILON : score, (weight || 1) * (ignoreFieldNorm ? 1 : norm));\n\t});\n\treturn totalScore;\n}\nfunction computeScore(results, { ignoreFieldNorm = Config.ignoreFieldNorm }) {\n\tresults.forEach((result) => {\n\t\tresult.score = computeScoreSingle(result.matches, { ignoreFieldNorm });\n\t});\n}\n\n//#endregion\n//#region src/tools/MaxHeap.ts\nvar MaxHeap = class {\n\tconstructor(limit, comparator) {\n\t\tthis.limit = limit;\n\t\tthis.heap = [];\n\t\tthis.comparator = comparator;\n\t}\n\tget size() {\n\t\treturn this.heap.length;\n\t}\n\tinsert(item) {\n\t\tif (this.size < this.limit) {\n\t\t\tthis.heap.push(item);\n\t\t\tthis._bubbleUp(this.size - 1);\n\t\t} else if (this.comparator(item, this.heap[0]) < 0) {\n\t\t\tthis.heap[0] = item;\n\t\t\tthis._sinkDown(0);\n\t\t}\n\t}\n\textractSorted() {\n\t\treturn this.heap.sort(this.comparator);\n\t}\n\t_bubbleUp(i) {\n\t\tconst heap = this.heap;\n\t\twhile (i > 0) {\n\t\t\tconst parent = i - 1 >> 1;\n\t\t\tif (this.comparator(heap[i], heap[parent]) <= 0) break;\n\t\t\tconst tmp = heap[i];\n\t\t\theap[i] = heap[parent];\n\t\t\theap[parent] = tmp;\n\t\t\ti = parent;\n\t\t}\n\t}\n\t_sinkDown(i) {\n\t\tconst heap = this.heap;\n\t\tconst len = heap.length;\n\t\tlet largest = i;\n\t\tdo {\n\t\t\ti = largest;\n\t\t\tconst left = 2 * i + 1;\n\t\t\tconst right = 2 * i + 2;\n\t\t\tif (left < len && this.comparator(heap[left], heap[largest]) > 0) largest = left;\n\t\t\tif (right < len && this.comparator(heap[right], heap[largest]) > 0) largest = right;\n\t\t\tif (largest !== i) {\n\t\t\t\tconst tmp = heap[i];\n\t\t\t\theap[i] = heap[largest];\n\t\t\t\theap[largest] = tmp;\n\t\t\t}\n\t\t} while (largest !== i);\n\t}\n};\n\n//#endregion\n//#region src/core/formatMatches.ts\nfunction formatMatches(result) {\n\tconst matches = [];\n\tresult.matches.forEach((match) => {\n\t\tif (!isDefined(match.indices) || !match.indices.length) return;\n\t\tconst obj = {\n\t\t\tindices: match.indices,\n\t\t\tvalue: match.value\n\t\t};\n\t\tif (match.key) obj.key = match.key.id;\n\t\tif (match.idx > -1) obj.refIndex = match.idx;\n\t\tmatches.push(obj);\n\t});\n\treturn matches;\n}\n\n//#endregion\n//#region src/core/format.ts\nfunction format(results, docs, { includeMatches = Config.includeMatches, includeScore = Config.includeScore } = {}) {\n\treturn results.map((result) => {\n\t\tconst { idx } = result;\n\t\tconst data = {\n\t\t\titem: docs[idx],\n\t\t\trefIndex: idx\n\t\t};\n\t\tif (includeMatches) data.matches = formatMatches(result);\n\t\tif (includeScore) data.score = result.score;\n\t\treturn data;\n\t});\n}\n\n//#endregion\n//#region src/search/token/analyzer.ts\nconst DEFAULT_TOKEN = /[\\p{L}\\p{M}\\p{N}_]+/gu;\nconst warned = /* @__PURE__ */ new WeakSet();\nfunction warnNonGlobal(regex) {\n\tif (!warned.has(regex)) {\n\t\twarned.add(regex);\n\t\tconsole.warn(`[Fuse] tokenize regex ${regex} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`);\n\t}\n}\nfunction resolveTokenize(tokenize) {\n\tif (typeof tokenize === \"function\") {\n\t\tlet validated = false;\n\t\treturn (text) => {\n\t\t\tconst result = tokenize(text);\n\t\t\tif (!validated) {\n\t\t\t\tvalidated = true;\n\t\t\t\tif (!Array.isArray(result) || result.some((t) => typeof t !== \"string\")) throw new Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(result) ? \"array containing non-strings\" : typeof result}.`);\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\t}\n\tif (tokenize instanceof RegExp) {\n\t\tif (!tokenize.global) warnNonGlobal(tokenize);\n\t\treturn (text) => text.match(tokenize) || [];\n\t}\n\treturn (text) => text.match(DEFAULT_TOKEN) || [];\n}\nfunction createAnalyzer({ isCaseSensitive = false, ignoreDiacritics = false, tokenize } = {}) {\n\tconst tokenizeFn = resolveTokenize(tokenize);\n\treturn { tokenize(text) {\n\t\tif (!isCaseSensitive) text = text.toLowerCase();\n\t\tif (ignoreDiacritics) text = stripDiacritics(text);\n\t\treturn tokenizeFn(text);\n\t} };\n}\n\n//#endregion\n//#region src/search/token/index.ts\nconst MAX_MASK_TERMS = 31;\nvar TokenSearch = class {\n\tstatic condition(_, options) {\n\t\treturn options.useTokenSearch;\n\t}\n\tconstructor(pattern, options) {\n\t\tthis.options = options;\n\t\tthis.analyzer = createAnalyzer({\n\t\t\tisCaseSensitive: options.isCaseSensitive,\n\t\t\tignoreDiacritics: options.ignoreDiacritics,\n\t\t\ttokenize: options.tokenize\n\t\t});\n\t\tconst queryTerms = this.analyzer.tokenize(pattern);\n\t\tconst { df, fieldCount } = options._invertedIndex;\n\t\tthis.termSearchers = [];\n\t\tthis.idfWeights = [];\n\t\tfor (const term of queryTerms) {\n\t\t\tthis.termSearchers.push(new BitapSearch(term, {\n\t\t\t\tlocation: options.location,\n\t\t\t\tthreshold: options.threshold,\n\t\t\t\tdistance: options.distance,\n\t\t\t\tincludeMatches: options.includeMatches,\n\t\t\t\tfindAllMatches: options.findAllMatches,\n\t\t\t\tminMatchCharLength: options.minMatchCharLength,\n\t\t\t\tisCaseSensitive: options.isCaseSensitive,\n\t\t\t\tignoreDiacritics: options.ignoreDiacritics,\n\t\t\t\tignoreLocation: true\n\t\t\t}));\n\t\t\tconst docFreq = df.get(term) || 0;\n\t\t\tconst idf = Math.log(1 + (fieldCount - docFreq + .5) / (docFreq + .5));\n\t\t\tthis.idfWeights.push(idf);\n\t\t}\n\t\tthis.combineAll = options.tokenMatch === \"all\";\n\t\tthis.numTerms = this.termSearchers.length;\n\t\tthis.useMask = this.numTerms <= 31;\n\t}\n\tsearchIn(text) {\n\t\tif (!this.termSearchers.length) return {\n\t\t\tisMatch: false,\n\t\t\tscore: 1\n\t\t};\n\t\tconst allIndices = [];\n\t\tlet weightedScore = 0;\n\t\tlet maxPossibleScore = 0;\n\t\tlet matchedCount = 0;\n\t\tlet matchedMask = 0;\n\t\tconst matchedTerms = this.combineAll && !this.useMask ? /* @__PURE__ */ new Set() : null;\n\t\tfor (let i = 0; i < this.termSearchers.length; i++) {\n\t\t\tconst result = this.termSearchers[i].searchIn(text);\n\t\t\tconst idf = this.idfWeights[i];\n\t\t\tmaxPossibleScore += idf;\n\t\t\tif (result.isMatch) {\n\t\t\t\tmatchedCount++;\n\t\t\t\tweightedScore += idf * (1 - result.score);\n\t\t\t\tif (result.indices) allIndices.push(...result.indices);\n\t\t\t\tif (this.combineAll) if (this.useMask) matchedMask |= 1 << i;\n\t\t\t\telse matchedTerms.add(i);\n\t\t\t}\n\t\t}\n\t\tif (matchedCount === 0) return {\n\t\t\tisMatch: false,\n\t\t\tscore: 1\n\t\t};\n\t\tconst normalized = maxPossibleScore > 0 ? 1 - weightedScore / maxPossibleScore : 0;\n\t\tconst searchResult = {\n\t\t\tisMatch: true,\n\t\t\tscore: Math.max(.001, normalized)\n\t\t};\n\t\tif (this.options.includeMatches && allIndices.length) searchResult.indices = mergeIndices(allIndices);\n\t\tif (this.combineAll) {\n\t\t\tif (this.useMask) searchResult.matchedMask = matchedMask;\n\t\t\telse searchResult.matchedTerms = matchedTerms;\n\t\t\tsearchResult.termCount = this.numTerms;\n\t\t}\n\t\treturn searchResult;\n\t}\n};\n\n//#endregion\n//#region src/search/token/InvertedIndex.ts\nfunction addField(index, text, docIdx, analyzer) {\n\tconst tokens = analyzer.tokenize(text);\n\tif (!tokens.length) return;\n\tindex.fieldCount++;\n\tindex.docFieldCount.set(docIdx, (index.docFieldCount.get(docIdx) || 0) + 1);\n\tconst distinctTerms = new Set(tokens);\n\tlet perDocTerms = index.docTermFieldHits.get(docIdx);\n\tif (!perDocTerms) {\n\t\tperDocTerms = /* @__PURE__ */ new Map();\n\t\tindex.docTermFieldHits.set(docIdx, perDocTerms);\n\t}\n\tfor (const term of distinctTerms) {\n\t\tperDocTerms.set(term, (perDocTerms.get(term) || 0) + 1);\n\t\tindex.df.set(term, (index.df.get(term) || 0) + 1);\n\t}\n}\nfunction ingestRecord(index, record, keyCount, analyzer) {\n\tconst { i: docIdx, v, $: fields } = record;\n\tif (v !== void 0) {\n\t\taddField(index, v, docIdx, analyzer);\n\t\treturn;\n\t}\n\tif (!fields) return;\n\tfor (let keyIdx = 0; keyIdx < keyCount; keyIdx++) {\n\t\tconst value = fields[keyIdx];\n\t\tif (!value) continue;\n\t\tif (Array.isArray(value)) for (const sub of value) addField(index, sub.v, docIdx, analyzer);\n\t\telse addField(index, value.v, docIdx, analyzer);\n\t}\n}\nfunction buildInvertedIndex(records, keyCount, analyzer) {\n\tconst index = {\n\t\tfieldCount: 0,\n\t\tdf: /* @__PURE__ */ new Map(),\n\t\tdocFieldCount: /* @__PURE__ */ new Map(),\n\t\tdocTermFieldHits: /* @__PURE__ */ new Map()\n\t};\n\tfor (const record of records) ingestRecord(index, record, keyCount, analyzer);\n\treturn index;\n}\nfunction addToInvertedIndex(index, record, keyCount, analyzer) {\n\tingestRecord(index, record, keyCount, analyzer);\n}\nfunction removeFromInvertedIndex(index, docIdx) {\n\tconst fieldCount = index.docFieldCount.get(docIdx);\n\tif (fieldCount === void 0) return;\n\tindex.fieldCount -= fieldCount;\n\tindex.docFieldCount.delete(docIdx);\n\tconst perDocTerms = index.docTermFieldHits.get(docIdx);\n\tif (!perDocTerms) return;\n\tfor (const [term, hits] of perDocTerms) {\n\t\tconst next = (index.df.get(term) || 0) - hits;\n\t\tif (next <= 0) index.df.delete(term);\n\t\telse index.df.set(term, next);\n\t}\n\tindex.docTermFieldHits.delete(docIdx);\n}\nfunction removeAndShiftInvertedIndex(index, removedIndices) {\n\tif (removedIndices.length === 0) return;\n\tconst sorted = Array.from(new Set(removedIndices)).sort((a, b) => a - b);\n\tfor (const idx of sorted) removeFromInvertedIndex(index, idx);\n\tconst shift = (oldIdx) => {\n\t\tlet lo = 0;\n\t\tlet hi = sorted.length;\n\t\twhile (lo < hi) {\n\t\t\tconst mid = lo + hi >>> 1;\n\t\t\tif (sorted[mid] < oldIdx) lo = mid + 1;\n\t\t\telse hi = mid;\n\t\t}\n\t\treturn oldIdx - lo;\n\t};\n\tconst firstRemoved = sorted[0];\n\tconst shiftedDocFieldCount = /* @__PURE__ */ new Map();\n\tfor (const [oldKey, count] of index.docFieldCount) shiftedDocFieldCount.set(oldKey > firstRemoved ? shift(oldKey) : oldKey, count);\n\tindex.docFieldCount = shiftedDocFieldCount;\n\tconst shiftedDocTermFieldHits = /* @__PURE__ */ new Map();\n\tfor (const [oldKey, terms] of index.docTermFieldHits) shiftedDocTermFieldHits.set(oldKey > firstRemoved ? shift(oldKey) : oldKey, terms);\n\tindex.docTermFieldHits = shiftedDocTermFieldHits;\n}\n\n//#endregion\n//#region src/core/index.ts\nvar Fuse = class {\n\tconstructor(docs, options, index) {\n\t\tthis.options = {\n\t\t\t...Config,\n\t\t\t...options\n\t\t};\n\t\tif (this.options.useExtendedSearch && false);\n\t\tif (this.options.useTokenSearch && false);\n\t\tthis._keyStore = new KeyStore(this.options.keys);\n\t\tthis._docs = docs;\n\t\tthis._myIndex = null;\n\t\tthis._invertedIndex = null;\n\t\tthis.setCollection(docs, index);\n\t\tthis._lastQuery = null;\n\t\tthis._lastSearcher = null;\n\t}\n\t_getSearcher(query) {\n\t\tif (this._lastQuery === query) return this._lastSearcher;\n\t\tconst searcher = createSearcher(query, this._invertedIndex ? {\n\t\t\t...this.options,\n\t\t\t_invertedIndex: this._invertedIndex\n\t\t} : this.options);\n\t\tthis._lastQuery = query;\n\t\tthis._lastSearcher = searcher;\n\t\treturn searcher;\n\t}\n\tsetCollection(docs, index) {\n\t\tthis._docs = docs;\n\t\tif (index && !(index instanceof FuseIndex)) throw new Error(INCORRECT_INDEX_TYPE);\n\t\tthis._myIndex = index || createIndex(this.options.keys, this._docs, {\n\t\t\tgetFn: this.options.getFn,\n\t\t\tfieldNormWeight: this.options.fieldNormWeight\n\t\t});\n\t\tif (this.options.useTokenSearch) {\n\t\t\tconst analyzer = createAnalyzer({\n\t\t\t\tisCaseSensitive: this.options.isCaseSensitive,\n\t\t\t\tignoreDiacritics: this.options.ignoreDiacritics,\n\t\t\t\ttokenize: this.options.tokenize\n\t\t\t});\n\t\t\tthis._invertedIndex = buildInvertedIndex(this._myIndex.records, this._myIndex.keys.length, analyzer);\n\t\t}\n\t\tthis._invalidateSearcherCache();\n\t}\n\tadd(doc) {\n\t\tif (!isDefined(doc)) return;\n\t\tthis._docs.push(doc);\n\t\tconst record = this._myIndex.add(doc, this._docs.length - 1);\n\t\tif (this._invertedIndex && record) {\n\t\t\tconst analyzer = createAnalyzer({\n\t\t\t\tisCaseSensitive: this.options.isCaseSensitive,\n\t\t\t\tignoreDiacritics: this.options.ignoreDiacritics,\n\t\t\t\ttokenize: this.options.tokenize\n\t\t\t});\n\t\t\taddToInvertedIndex(this._invertedIndex, record, this._myIndex.keys.length, analyzer);\n\t\t}\n\t\tthis._invalidateSearcherCache();\n\t}\n\tremove(predicate = () => false) {\n\t\tconst results = [];\n\t\tconst indicesToRemove = [];\n\t\tfor (let i = 0, len = this._docs.length; i < len; i += 1) if (predicate(this._docs[i], i)) {\n\t\t\tresults.push(this._docs[i]);\n\t\t\tindicesToRemove.push(i);\n\t\t}\n\t\tif (indicesToRemove.length) {\n\t\t\tif (this._invertedIndex) removeAndShiftInvertedIndex(this._invertedIndex, indicesToRemove);\n\t\t\tconst toRemove = new Set(indicesToRemove);\n\t\t\tthis._docs = this._docs.filter((_, i) => !toRemove.has(i));\n\t\t\tthis._myIndex.removeAll(indicesToRemove);\n\t\t\tthis._invalidateSearcherCache();\n\t\t}\n\t\treturn results;\n\t}\n\tremoveAt(idx) {\n\t\tif (!Number.isInteger(idx) || idx < 0 || idx >= this._docs.length) throw new Error(INVALID_DOC_INDEX);\n\t\tif (this._invertedIndex) removeAndShiftInvertedIndex(this._invertedIndex, [idx]);\n\t\tconst doc = this._docs.splice(idx, 1)[0];\n\t\tthis._myIndex.removeAt(idx);\n\t\tthis._invalidateSearcherCache();\n\t\treturn doc;\n\t}\n\t_invalidateSearcherCache() {\n\t\tthis._lastQuery = null;\n\t\tthis._lastSearcher = null;\n\t}\n\tgetIndex() {\n\t\treturn this._myIndex;\n\t}\n\t_normalizedKeys() {\n\t\treturn this._myIndex.keys.map((key) => this._keyStore.get(key.id) || key);\n\t}\n\tsearch(query, options) {\n\t\tconst { limit = -1 } = options || {};\n\t\tconst { includeMatches, includeScore, shouldSort, sortFn, ignoreFieldNorm } = this.options;\n\t\tif (isString(query) && !query.trim()) {\n\t\t\tlet docs = this._docs.map((item, idx) => ({\n\t\t\t\titem,\n\t\t\t\trefIndex: idx\n\t\t\t}));\n\t\t\tif (isNumber(limit) && limit > -1) docs = docs.slice(0, limit);\n\t\t\treturn docs;\n\t\t}\n\t\tconst useHeap = shouldSort && isNumber(limit) && limit > 0 && isString(query);\n\t\tconst comparator = sortFn;\n\t\tconst stable = (a, b) => comparator(a, b) || a.idx - b.idx;\n\t\tlet results;\n\t\tif (useHeap) {\n\t\t\tconst heap = new MaxHeap(limit, stable);\n\t\t\tif (isString(this._docs[0])) this._searchStringList(query, {\n\t\t\t\theap,\n\t\t\t\tignoreFieldNorm\n\t\t\t});\n\t\t\telse this._searchObjectList(query, {\n\t\t\t\theap,\n\t\t\t\tignoreFieldNorm\n\t\t\t});\n\t\t\tresults = heap.extractSorted();\n\t\t} else {\n\t\t\tresults = isString(query) ? isString(this._docs[0]) ? this._searchStringList(query) : this._searchObjectList(query) : this._searchLogical(query);\n\t\t\tcomputeScore(results, { ignoreFieldNorm });\n\t\t\tif (shouldSort) results.sort(isString(query) ? stable : comparator);\n\t\t\tif (isNumber(limit) && limit > -1) results = results.slice(0, limit);\n\t\t}\n\t\treturn format(results, this._docs, {\n\t\t\tincludeMatches,\n\t\t\tincludeScore\n\t\t});\n\t}\n\t_searchStringList(query, { heap, ignoreFieldNorm } = {}) {\n\t\tconst searcher = this._getSearcher(query);\n\t\tconst requireAllTokens = this.options.useTokenSearch && this.options.tokenMatch === \"all\";\n\t\tconst { records } = this._myIndex;\n\t\tconst results = heap ? null : [];\n\t\trecords.forEach(({ v: text, i: idx, n: norm }) => {\n\t\t\tif (!isDefined(text)) return;\n\t\t\tconst searchResult = searcher.searchIn(text);\n\t\t\tif (searchResult.isMatch) {\n\t\t\t\tconst match = {\n\t\t\t\t\tscore: searchResult.score,\n\t\t\t\t\tvalue: text,\n\t\t\t\t\tnorm,\n\t\t\t\t\tindices: searchResult.indices\n\t\t\t\t};\n\t\t\t\tif (requireAllTokens) {\n\t\t\t\t\tmatch.matchedMask = searchResult.matchedMask;\n\t\t\t\t\tmatch.matchedTerms = searchResult.matchedTerms;\n\t\t\t\t\tmatch.termCount = searchResult.termCount;\n\t\t\t\t}\n\t\t\t\tconst matches = [match];\n\t\t\t\tif (!requireAllTokens || this._coversAllTokens(matches)) {\n\t\t\t\t\tconst result = {\n\t\t\t\t\t\titem: text,\n\t\t\t\t\t\tidx,\n\t\t\t\t\t\tmatches\n\t\t\t\t\t};\n\t\t\t\t\tif (heap) {\n\t\t\t\t\t\tresult.score = computeScoreSingle(result.matches, { ignoreFieldNorm });\n\t\t\t\t\t\theap.insert(result);\n\t\t\t\t\t} else results.push(result);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t}\n\t_searchLogical(query) {\n\t\tconst expression = parse(query, this.options);\n\t\tconst keys = this._normalizedKeys();\n\t\tconst evaluate = (node, item, idx) => {\n\t\t\tif (!(\"children\" in node)) {\n\t\t\t\tconst { keyId, searcher } = node;\n\t\t\t\tlet matches;\n\t\t\t\tif (keyId === null) {\n\t\t\t\t\tmatches = [];\n\t\t\t\t\tkeys.forEach((key, keyIndex) => {\n\t\t\t\t\t\tmatches.push(...this._findMatches({\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue: item[keyIndex],\n\t\t\t\t\t\t\tsearcher\n\t\t\t\t\t\t}));\n\t\t\t\t\t});\n\t\t\t\t} else matches = this._findMatches({\n\t\t\t\t\tkey: this._keyStore.get(keyId),\n\t\t\t\t\tvalue: this._myIndex.getValueForItemAtKeyId(item, keyId),\n\t\t\t\t\tsearcher\n\t\t\t\t});\n\t\t\t\tif (matches && matches.length) return [{\n\t\t\t\t\tidx,\n\t\t\t\t\titem,\n\t\t\t\t\tmatches\n\t\t\t\t}];\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tconst { children, operator } = node;\n\t\t\tconst res = [];\n\t\t\tfor (let i = 0, len = children.length; i < len; i += 1) {\n\t\t\t\tconst child = children[i];\n\t\t\t\tconst result = evaluate(child, item, idx);\n\t\t\t\tif (result.length) res.push(...result);\n\t\t\t\telse if (operator === LogicalOperator.AND) return [];\n\t\t\t}\n\t\t\treturn res;\n\t\t};\n\t\tconst records = this._myIndex.records;\n\t\tconst resultMap = /* @__PURE__ */ new Map();\n\t\tconst results = [];\n\t\trecords.forEach(({ $: item, i: idx }) => {\n\t\t\tif (isDefined(item)) {\n\t\t\t\tconst expResults = evaluate(expression, item, idx);\n\t\t\t\tif (expResults.length) {\n\t\t\t\t\tif (!resultMap.has(idx)) {\n\t\t\t\t\t\tresultMap.set(idx, {\n\t\t\t\t\t\t\tidx,\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\tmatches: []\n\t\t\t\t\t\t});\n\t\t\t\t\t\tresults.push(resultMap.get(idx));\n\t\t\t\t\t}\n\t\t\t\t\texpResults.forEach(({ matches }) => {\n\t\t\t\t\t\tresultMap.get(idx).matches.push(...matches);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t}\n\t_searchObjectList(query, { heap, ignoreFieldNorm } = {}) {\n\t\tconst searcher = this._getSearcher(query);\n\t\tconst requireAllTokens = this.options.useTokenSearch && this.options.tokenMatch === \"all\";\n\t\tconst { records } = this._myIndex;\n\t\tconst keys = this._normalizedKeys();\n\t\tconst results = heap ? null : [];\n\t\trecords.forEach(({ $: item, i: idx }) => {\n\t\t\tif (!isDefined(item)) return;\n\t\t\tconst matches = [];\n\t\t\tlet anyKeyFailed = false;\n\t\t\tlet hasInverse = false;\n\t\t\tkeys.forEach((key, keyIndex) => {\n\t\t\t\tconst keyMatches = this._findMatches({\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue: item[keyIndex],\n\t\t\t\t\tsearcher\n\t\t\t\t});\n\t\t\t\tif (keyMatches.length) {\n\t\t\t\t\tmatches.push(...keyMatches);\n\t\t\t\t\tif (keyMatches[0].hasInverse) hasInverse = true;\n\t\t\t\t} else anyKeyFailed = true;\n\t\t\t});\n\t\t\tif (hasInverse && anyKeyFailed) return;\n\t\t\tif (matches.length && (!requireAllTokens || this._coversAllTokens(matches))) {\n\t\t\t\tconst result = {\n\t\t\t\t\tidx,\n\t\t\t\t\titem,\n\t\t\t\t\tmatches\n\t\t\t\t};\n\t\t\t\tif (heap) {\n\t\t\t\t\tresult.score = computeScoreSingle(result.matches, { ignoreFieldNorm });\n\t\t\t\t\theap.insert(result);\n\t\t\t\t} else results.push(result);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t}\n\t_findMatches({ key, value, searcher }) {\n\t\tif (!isDefined(value)) return [];\n\t\tconst matches = [];\n\t\tif (isArray(value)) value.forEach(({ v: text, i: idx, n: norm }) => {\n\t\t\tif (!isDefined(text)) return;\n\t\t\tconst searchResult = searcher.searchIn(text);\n\t\t\tif (searchResult.isMatch) {\n\t\t\t\tconst match = {\n\t\t\t\t\tscore: searchResult.score,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue: text,\n\t\t\t\t\tidx,\n\t\t\t\t\tnorm,\n\t\t\t\t\tindices: searchResult.indices,\n\t\t\t\t\thasInverse: searchResult.hasInverse\n\t\t\t\t};\n\t\t\t\tif (searchResult.termCount !== void 0) {\n\t\t\t\t\tmatch.matchedMask = searchResult.matchedMask;\n\t\t\t\t\tmatch.matchedTerms = searchResult.matchedTerms;\n\t\t\t\t\tmatch.termCount = searchResult.termCount;\n\t\t\t\t}\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t});\n\t\telse {\n\t\t\tconst { v: text, n: norm } = value;\n\t\t\tconst searchResult = searcher.searchIn(text);\n\t\t\tif (searchResult.isMatch) {\n\t\t\t\tconst match = {\n\t\t\t\t\tscore: searchResult.score,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue: text,\n\t\t\t\t\tnorm,\n\t\t\t\t\tindices: searchResult.indices,\n\t\t\t\t\thasInverse: searchResult.hasInverse\n\t\t\t\t};\n\t\t\t\tif (searchResult.termCount !== void 0) {\n\t\t\t\t\tmatch.matchedMask = searchResult.matchedMask;\n\t\t\t\t\tmatch.matchedTerms = searchResult.matchedTerms;\n\t\t\t\t\tmatch.termCount = searchResult.termCount;\n\t\t\t\t}\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t}\n\t\treturn matches;\n\t}\n\t_coversAllTokens(matches) {\n\t\tconst termCount = matches.length ? matches[0].termCount : void 0;\n\t\tif (termCount === void 0) return true;\n\t\tif (termCount <= 31) {\n\t\t\tlet coverage = 0;\n\t\t\tfor (let i = 0; i < matches.length; i++) coverage |= matches[i].matchedMask || 0;\n\t\t\treturn coverage === 2 ** termCount - 1;\n\t\t}\n\t\tconst coverage = /* @__PURE__ */ new Set();\n\t\tfor (let i = 0; i < matches.length; i++) {\n\t\t\tconst terms = matches[i].matchedTerms;\n\t\t\tif (terms) for (const t of terms) coverage.add(t);\n\t\t}\n\t\treturn coverage.size === termCount;\n\t}\n};\n\n//#endregion\n//#region src/entry.ts\nFuse.version = \"7.5.0\";\nFuse.createIndex = createIndex;\nFuse.parseIndex = parseIndex;\nFuse.config = Config;\nFuse.match = function(pattern, text, options) {\n\tif (options && options.useTokenSearch) throw new Error(FUSE_MATCH_TOKEN_SEARCH_UNSUPPORTED);\n\treturn createSearcher(pattern, {\n\t\t...Config,\n\t\t...options\n\t}).searchIn(text);\n};\nFuse.parseQuery = parse;\nregister(ExtendedSearch);\nregister(TokenSearch);\nFuse.use = function(...plugins) {\n\tplugins.forEach((plugin) => register(plugin));\n};\nvar entry_default = Fuse;\n\n//#endregion\nexport { entry_default as default };"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Cy4BCo5s.js","sources":["src/components/design-compat/af-icon.tsx","src/components/design-compat/af-label.tsx","src/components/design-compat/af-tag.tsx","src/components/design-compat/af-validation-message.tsx"],"sourcesContent":["import { h } from '@stencil/core';\n\nexport type AfIconName = 'check' | 'search' | 'x';\n\ninterface AfIconProps {\n name: AfIconName;\n class?: string | Record<string, boolean>;\n}\n\nconst svgMarkup: Record<AfIconName, string> = {\n search: '<svg width=\"26\" height=\"26\" viewBox=\"0 0 26 26\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" style=\"width:100%;height:100%\"><path d=\"M25.645 22.437l-5.063-5.053a1.22 1.22 0 00-.864-.355h-.827a10.477 10.477 0 002.234-6.487C21.125 4.719 16.397 0 10.562 0 4.729 0 0 4.719 0 10.542c0 5.823 4.728 10.542 10.563 10.542 2.452 0 4.707-.831 6.5-2.23v.826c0 .324.126.633.355.862l5.063 5.053c.477.476 1.25.476 1.721 0l1.437-1.435a1.22 1.22 0 00.006-1.723zm-15.082-5.408c-3.59 0-6.5-2.899-6.5-6.487a6.49 6.49 0 016.5-6.487c3.59 0 6.5 2.899 6.5 6.487a6.49 6.49 0 01-6.5 6.487z\" fill=\"currentColor\" fill-rule=\"nonzero\"/></svg>',\n check: '<svg width=\"23\" height=\"18\" viewBox=\"0 0 23 18\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" style=\"width:100%;height:100%\"><path d=\"M20.547.18L7.315 13.627 2.453 8.686a.597.597 0 00-.853 0L.177 10.132a.62.62 0 000 .868l6.711 6.82c.236.24.618.24.854 0L22.823 2.493a.62.62 0 000-.867L21.4.18a.597.597 0 00-.853 0z\" fill=\"currentColor\"/></svg>',\n x: '<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" style=\"width:100%;height:100%\"><g stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"square\"><path d=\"M2 2l7.986 7.986M9.986 2L2 9.986\"/></g></svg>',\n};\n\nexport const AfIcon = ({ name, class: className }: AfIconProps) => (\n <span\n class={className}\n aria-hidden=\"true\"\n innerHTML={svgMarkup[name]}\n style={{\n display: 'flex',\n width: className ? undefined : '12px',\n height: className ? undefined : '12px',\n minHeight: '1.4em',\n alignItems: 'center',\n }}\n >\n </span>\n);\n","import { h } from '@stencil/core';\n\ninterface AfLabelProps {\n label: string;\n forId: string;\n description?: string;\n required?: boolean;\n}\n\nexport const AfLabel = ({ label, forId, description, required = false }: AfLabelProps) => (\n <div class=\"af-form-label\">\n <label class=\"af-form-label__label\" htmlFor={forId}>\n {label}\n {required ? ' *' : ''}\n </label>\n {description && <span class=\"af-form-label__description\">{description}</span>}\n </div>\n);\n","import { h } from '@stencil/core';\nimport { AfIcon } from './af-icon';\n\ninterface AfTagProps {\n key?: string;\n text: string;\n breakWords?: boolean;\n onRemove: () => void;\n}\n\nexport const AfTag = ({ text, breakWords = false, onRemove }: AfTagProps) => (\n <span class=\"af-tag\">\n <button\n type=\"button\"\n class=\"af-tag__button\"\n aria-label={`Ta bort ${text}`}\n onClick={(event) => {\n event.preventDefault();\n onRemove();\n }}\n >\n <span class={{ 'af-tag__text': true, 'af-tag__text--break': breakWords }}>{text}</span>\n <AfIcon name=\"x\" class=\"af-tag__remove-icon\" />\n </button>\n </span>\n);\n","import { h } from '@stencil/core';\n\nexport type AfValidationVariant = 'error' | 'success' | 'warning';\n\ninterface AfValidationMessageProps {\n variant: AfValidationVariant;\n class?: string;\n id?: string;\n role?: string;\n}\n\nexport const AfValidationMessage = (props: AfValidationMessageProps, children: any[]) => {\n const extraClass = props.class || '';\n\n return (\n <div\n id={props.id}\n role={props.role}\n class={{ [extraClass]: !!extraClass }}\n >\n <div\n class={{\n 'af-validation-message': true,\n [`af-validation-message--${props.variant}`]: true,\n }}\n >\n <span\n class={{\n 'af-validation-message__icon': true,\n [`af-validation-message__icon--${props.variant}`]: true,\n }}\n aria-hidden=\"true\"\n />\n <span class=\"af-validation-message__text\">{children}</span>\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":";;AASA,MAAM,SAAS,GAA+B;AAC5C,IAAA,MAAM,EAAE,+mBAA+mB;AACvnB,IAAA,KAAK,EAAE,gWAAgW;AACvW,IAAA,CAAC,EAAE,+RAA+R;CACnS;AAEM,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAe,MAC5D,CAAA,CAAA,MAAA,EAAA,EACE,KAAK,EAAE,SAAS,EAAA,aAAA,EACJ,MAAM,EAClB,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,EAC1B,KAAK,EAAE;AACL,QAAA,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM;QACrC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM;AACtC,QAAA,SAAS,EAAE,OAAO;AAClB,QAAA,UAAU,EAAE,QAAQ;KACrB,EAAA,CAEI;;ACnBF,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,GAAG,KAAK,EAAgB,MACnF,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,eAAe,EAAA,EACxB,CAAA,CAAA,OAAA,EAAA,EAAO,KAAK,EAAC,sBAAsB,EAAC,OAAO,EAAE,KAAK,EAAA,EAC/C,KAAK,EACL,QAAQ,GAAG,IAAI,GAAG,EAAE,CACf,EACP,WAAW,IAAI,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,4BAA4B,IAAE,WAAW,CAAQ,CACzE;;ACND,MAAM,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,KAAK,EAAE,QAAQ,EAAc,MACtE,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,QAAQ,EAAA,EAClB,CAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,gBAAgB,EAAA,YAAA,EACV,CAAA,QAAA,EAAW,IAAI,CAAA,CAAE,EAC7B,OAAO,EAAE,CAAC,KAAK,KAAI;QACjB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,QAAQ,EAAE;AACZ,KAAC,EAAA,EAED,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE,EAAA,EAAG,IAAI,CAAQ,EACvF,CAAA,CAAC,MAAM,EAAA,EAAC,IAAI,EAAC,GAAG,EAAC,KAAK,EAAC,qBAAqB,EAAA,CAAG,CACxC,CACJ;;MCbI,mBAAmB,GAAG,CAAC,KAA+B,EAAE,QAAe,KAAI;AACtF,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE;AAEpC,IAAA,QACE,CAAA,CAAA,KAAA,EAAA,EACE,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,EAAE,EAAA,EAErC,CAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,YAAA,uBAAuB,EAAE,IAAI;AAC7B,YAAA,CAAC,0BAA0B,KAAK,CAAC,OAAO,CAAA,CAAE,GAAG,IAAI;AAClD,SAAA,EAAA,EAED,CAAA,CAAA,MAAA,EAAA,EACE,KAAK,EAAE;AACL,YAAA,6BAA6B,EAAE,IAAI;AACnC,YAAA,CAAC,gCAAgC,KAAK,CAAC,OAAO,CAAA,CAAE,GAAG,IAAI;SACxD,EAAA,aAAA,EACW,MAAM,EAAA,CAClB,EACF,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,6BAA6B,EAAA,EAAE,QAAQ,CAAQ,CACvD,CACF;AAEV;;;;"}